import js from '@eslint/js'; import tseslint from 'typescript-eslint'; import reactPlugin from 'eslint-plugin-react'; import reactHooks from 'eslint-plugin-react-hooks'; import security from 'eslint-plugin-security'; export default tseslint.config( { ignores: ['dist/**', 'node_modules/**'] }, js.configs.recommended, ...tseslint.configs.recommended, security.configs.recommended, { files: ['src/**/*.{ts,tsx}'], plugins: { react: reactPlugin, 'react-hooks': reactHooks, }, rules: { // React rules ...reactPlugin.configs.recommended.rules, ...reactHooks.configs.recommended.rules, 'react/react-in-jsx-scope': 'off', // Not needed with React 17+ JSX transform 'react/prop-types': 'off', // TypeScript handles this // TypeScript rules '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], }, settings: { react: { version: 'detect' }, }, } );