41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
import nextVitals from 'eslint-config-next/core-web-vitals';
|
|
import nextTypeScript from 'eslint-config-next/typescript';
|
|
import prettier from 'eslint-config-prettier';
|
|
|
|
export default defineConfig([
|
|
...nextVitals,
|
|
...nextTypeScript,
|
|
prettier,
|
|
{
|
|
rules: {
|
|
'no-console': ['error', { allow: ['log', 'warn', 'error'] }],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.{ts,tsx}'],
|
|
languageOptions: {
|
|
parserOptions: {
|
|
projectService: true,
|
|
tsconfigRootDir: import.meta.dirname,
|
|
},
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/consistent-type-imports': [
|
|
'error',
|
|
{ prefer: 'type-imports', fixStyle: 'inline-type-imports' },
|
|
],
|
|
'@typescript-eslint/no-floating-promises': 'error',
|
|
'@typescript-eslint/switch-exhaustiveness-check': 'error',
|
|
},
|
|
},
|
|
globalIgnores([
|
|
'.next/**',
|
|
'coverage/**',
|
|
'playwright-report/**',
|
|
'test-results/**',
|
|
'contracts/**',
|
|
'next-env.d.ts',
|
|
]),
|
|
]);
|