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 { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ globalIgnores(['dist', 'coverage']), // Main source files - full React rules { files: ['src/**/*.{ts,tsx}'], extends: [ js.configs.recommended, tseslint.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, }, // E2E tests - Playwright, not React (disable react-hooks rules) { files: ['e2e/**/*.{ts,tsx}'], extends: [js.configs.recommended, tseslint.configs.recommended], languageOptions: { ecmaVersion: 2020, globals: { ...globals.browser, ...globals.node }, }, }, ])