Spaces:
Sleeping
Sleeping
| import antfu from '@antfu/eslint-config'; | |
| import nextPlugin from '@next/eslint-plugin-next'; | |
| import jestDom from 'eslint-plugin-jest-dom'; | |
| import jsxA11y from 'eslint-plugin-jsx-a11y'; | |
| import playwright from 'eslint-plugin-playwright'; | |
| import tailwind from 'eslint-plugin-tailwindcss'; | |
| import testingLibrary from 'eslint-plugin-testing-library'; | |
| export default antfu({ | |
| react: true, | |
| typescript: true, | |
| lessOpinionated: true, | |
| isInEditor: false, | |
| stylistic: { | |
| semi: true, | |
| }, | |
| formatters: { | |
| css: true, | |
| }, | |
| ignores: [ | |
| 'migrations/**/*', | |
| 'next-env.d.ts', | |
| ], | |
| }, ...tailwind.configs['flat/recommended'], jsxA11y.flatConfigs.recommended, { | |
| plugins: { | |
| '@next/next': nextPlugin, | |
| }, | |
| rules: { | |
| ...nextPlugin.configs.recommended.rules, | |
| ...nextPlugin.configs['core-web-vitals'].rules, | |
| }, | |
| }, { | |
| files: [ | |
| '**/*.test.ts?(x)', | |
| ], | |
| ...testingLibrary.configs['flat/react'], | |
| ...jestDom.configs['flat/recommended'], | |
| }, { | |
| files: [ | |
| '**/*.spec.ts', | |
| '**/*.e2e.ts', | |
| ], | |
| ...playwright.configs['flat/recommended'], | |
| }, { | |
| rules: { | |
| 'antfu/no-top-level-await': 'off', // Allow top-level await | |
| 'style/brace-style': ['error', '1tbs'], // Use the default brace style | |
| 'ts/consistent-type-definitions': ['error', 'type'], // Use `type` instead of `interface` | |
| 'react/prefer-destructuring-assignment': 'off', // Vscode doesn't support automatically destructuring, it's a pain to add a new variable | |
| 'node/prefer-global/process': 'off', // Allow using `process.env` | |
| 'test/padding-around-all': 'error', // Add padding in test files | |
| 'test/prefer-lowercase-title': 'off', // Allow using uppercase titles in test titles | |
| }, | |
| }); | |