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 react from "eslint-plugin-react" export default tseslint.config( { ignores: ["dist"] }, { extends: [js.configs.recommended, ...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked], files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser, parserOptions: { project: ["./tsconfig.node.json", "./tsconfig.app.json"], tsconfigRootDir: import.meta.dirname, }, }, settings: { react: { version: "18.3" } }, plugins: { "react-hooks": reactHooks, "react-refresh": reactRefresh, react, }, rules: { ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": [ "warn", { allowConstantExport: true }, ], ...react.configs.recommended.rules, ...react.configs["jsx-runtime"].rules, "@typescript-eslint/no-empty-object-type": ["error", { allowInterfaces: "with-single-extends", }], "semi": ["error", "always"], "quotes": ["error", "double"], "@typescript-eslint/no-unused-vars": [ "error", { "caughtErrors": "none" }, ], }, }, )