import js from "@eslint/js"; import pluginRouter from "@tanstack/eslint-plugin-router"; import react from "eslint-plugin-react"; import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import { defineConfig, globalIgnores } from "eslint/config"; import globals from "globals"; import tseslint from "typescript-eslint"; export default defineConfig([ globalIgnores(['dist']), { files: ['**/*.{ts,tsx}'], extends: [ js.configs.recommended, react.configs.flat.recommended, tseslint.configs.recommendedTypeChecked, reactHooks.configs.flat["recommended-latest"], reactRefresh.configs.vite, pluginRouter.configs["flat/recommended"] ], languageOptions: { ecmaVersion: 2022, globals: globals.browser, parserOptions: { project: ["./tsconfig.json", "./tsconfig.app.json", "./tsconfig.lib.json", "./tsconfig.node.json"], tsconfigRootDir: import.meta.dirname } }, rules: { ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": [ "warn", { allowConstantExport: true } ], "react/react-in-jsx-scope": "off" }, settings: { react: { version: "detect" } } } ]);