/** @type {import('eslint').Linter.Config} */ module.exports = { root: true, parser: '@typescript-eslint/parser', parserOptions: { project: true, tsconfigRootDir: __dirname, ecmaVersion: 2024, sourceType: 'module', }, extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended-type-checked', 'plugin:@typescript-eslint/stylistic-type-checked', 'plugin:react/recommended', 'plugin:react-hooks/recommended', 'plugin:jsx-a11y/recommended', 'next/core-web-vitals', 'prettier', ], plugins: ['@typescript-eslint', 'react', 'jsx-a11y', 'import'], rules: { 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', '@typescript-eslint/no-unused-vars': [ 'warn', {argsIgnorePattern: '^_', varsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_'}, ], '@typescript-eslint/consistent-type-imports': ['warn', {prefer: 'type-imports'}], 'import/order': [ 'warn', { 'groups': ['builtin', 'external', 'internal', 'parent', 'sibling'], 'newlines-between': 'always', 'alphabetize': {order: 'asc'}, }, ], }, settings: { react: { version: 'detect', }, }, ignorePatterns: ['node_modules/', 'dist/', '.next/', '*.config.js', '*.config.ts'], };