import eslint from '@eslint/js'; import nextPlugin from '@next/eslint-plugin-next'; import tsPlugin from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; import prettierPlugin from 'eslint-plugin-prettier'; import prettierConfig from 'eslint-config-prettier'; export default [ { files: ['**/*.{ts,tsx}'], ignores: ['node_modules/', '.next/', 'out/'], languageOptions: { parser: tsParser, parserOptions: { project: './tsconfig.json', }, }, plugins: { '@typescript-eslint': tsPlugin, '@next/next': nextPlugin, prettier: prettierPlugin, }, rules: { ...eslint.configs.recommended.rules, ...tsPlugin.configs.recommended.rules, ...nextPlugin.configs.recommended.rules, ...nextPlugin.configs['core-web-vitals'].rules, ...prettierConfig.rules, 'prettier/prettier': 'error', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-explicit-any': 'error', 'no-console': 'warn', 'react/prop-types': 'off', '@typescript-eslint/no-unused-vars': [ 'warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_', }, ], }, }, ];