import { defineConfig, globalIgnores } from 'eslint/config'; import nextVitals from 'eslint-config-next/core-web-vitals'; import nextTs from 'eslint-config-next/typescript'; const eslintConfig = defineConfig([ ...nextVitals, ...nextTs, { files: ['**/*.{ts,tsx}'], rules: { '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/ban-ts-comment': 'warn', 'react-hooks/set-state-in-effect': 'off', 'react-hooks/purity': 'off', 'react-hooks/refs': 'off', 'prefer-const': 'warn', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], }, }, { files: ['**/*.test.{ts,tsx}'], rules: { '@typescript-eslint/no-explicit-any': 'off', }, }, { files: ['scripts/**/*.js'], rules: { '@typescript-eslint/no-require-imports': 'off', }, }, { files: ['**/*.cjs', 'vitest.config.js'], rules: { '@typescript-eslint/no-require-imports': 'off', }, }, // Override default ignores of eslint-config-next. globalIgnores([ // Default ignores of eslint-config-next: '.next/**', 'out/**', 'build/**', 'next-env.d.ts', 'coverage/**', 'eslint-report.json', ]), ]); export default eslintConfig;