import globals from 'globals'; import tseslint from 'typescript-eslint'; import pluginReact from 'eslint-plugin-react'; import pluginReactHooks from 'eslint-plugin-react-hooks'; import pluginPrettier from 'eslint-plugin-prettier'; import eslintConfigPrettier from 'eslint-config-prettier'; export default [ { ignores: ['dist', 'node_modules'], }, { files: ['**/*.{js,jsx,ts,tsx}'], plugins: { react: pluginReact, 'react-hooks': pluginReactHooks, prettier: pluginPrettier, }, languageOptions: { globals: { ...globals.browser, ...globals.es2021, }, parser: tseslint.parser, parserOptions: { ecmaFeatures: { jsx: true, }, }, }, rules: { ...pluginReact.configs.recommended.rules, ...pluginReactHooks.configs.recommended.rules, ...eslintConfigPrettier.rules, 'prettier/prettier': 'error', 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', // Disable prop-types validation since we use TypeScript interfaces }, settings: { react: { version: 'detect', }, }, }, ...tseslint.configs.recommended, ];