import js from '@eslint/js' import globals from 'globals' import reactHooks from 'eslint-plugin-react-hooks' import reactRefresh from 'eslint-plugin-react-refresh' import tseslint from 'typescript-eslint' import { globalIgnores } from 'eslint/config' export default tseslint.config([ globalIgnores(['dist']), { files: ['**/*.{ts,tsx}'], extends: [ js.configs.recommended, tseslint.configs.recommended, reactHooks.configs['recommended-latest'], reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, rules: { '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], 'react-hooks/rules-of-hooks': 'off', 'react-hooks/exhaustive-deps': 'warn', 'no-useless-escape': 'off', 'no-case-declarations': 'off', 'prefer-const': 'off', 'no-control-regex': 'off', 'no-useless-catch': 'off', 'react-refresh/only-export-components': 'off', 'no-empty': 'off', 'no-debugger': 'off', '@typescript-eslint/no-unused-expressions': 'off', '@typescript-eslint/ban-ts-comment': 'off', }, }, { files: ['**/*.d.ts'], rules: { '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-unused-vars': 'off', }, }, ])