import js from '@eslint/js' import eslintConfigPrettier from 'eslint-config-prettier' import importPlugin from 'eslint-plugin-import' import jsxA11y from 'eslint-plugin-jsx-a11y' import react from 'eslint-plugin-react' import reactHooks from 'eslint-plugin-react-hooks' import globals from 'globals' import tseslint from 'typescript-eslint' export default tseslint.config( { ignores: ['dist'] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ['**/*.{ts,tsx}'], languageOptions: { ecmaVersion: 2020, globals: globals.browser, parserOptions: { ecmaFeatures: { jsx: true, }, }, }, plugins: { react: react, 'react-hooks': reactHooks, }, rules: { ...reactHooks.configs.recommended.rules, "@typescript-eslint/no-explicit-any": "warn", }, }, eslintConfigPrettier, { files: ['**/*.{ts,tsx}'], extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript], rules: { 'import/order': [ 'error', { alphabetize: { order: 'asc', caseInsensitive: true, }, 'newlines-between': 'always', }, ], }, settings: { 'import/resolver': { typescript: true, node: true, }, }, }, jsxA11y.flatConfigs.recommended, )