import js from "@eslint/js"; import tseslint from "@typescript-eslint/eslint-plugin"; import tsParser from "@typescript-eslint/parser"; import react from "eslint-plugin-react"; import reactHooks from "eslint-plugin-react-hooks"; import a11y from "eslint-plugin-jsx-a11y"; import importPlugin from "eslint-plugin-import"; import unusedImports from "eslint-plugin-unused-imports"; export default [ /* Core ESLint recommended rules */ js.configs.recommended, /* TypeScript recommended */ { files: ["**/*.ts", "**/*.tsx"], languageOptions: { parser: tsParser, parserOptions: { project: true } }, plugins: { "@typescript-eslint": tseslint }, ...tseslint.configs["recommended-type-checked"] }, /* React recommended */ react.configs.flat.recommended, /* React Hooks recommended */ { plugins: { "react-hooks": reactHooks }, rules: { ...reactHooks.configs.recommended.rules } }, /* JSX Accessibility recommended */ a11y.flatConfigs.recommended, /* Import validation rules */ importPlugin.flatConfigs.recommended, /* Unused imports */ { plugins: { "unused-imports": unusedImports }, rules: { "unused-imports/no-unused-imports": "error", "unused-imports/no-unused-vars": [ "warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" } ] } } ];