/** @type {import('eslint').Linter.Config} */ module.exports = { root: true, env: { node: true, es2022: true, }, extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', ], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 'latest', sourceType: 'module', }, plugins: ['@typescript-eslint'], rules: { '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }], 'no-console': ['warn', { allow: ['warn', 'error'] }], }, ignorePatterns: ['dist', 'node_modules', '.turbo', 'coverage'], overrides: [ { files: ['*.tsx'], extends: ['plugin:react/recommended', 'plugin:react-hooks/recommended'], plugins: ['react', 'react-hooks'], settings: { react: { version: 'detect', }, }, rules: { 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', }, }, { files: ['*.test.ts', '*.test.tsx', '*.spec.ts', '*.spec.tsx'], rules: { '@typescript-eslint/no-explicit-any': 'off', }, }, ], };