import js from "@eslint/js"; import globals from "globals"; import react from "eslint-plugin-react"; import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import tseslint from "typescript-eslint"; import prettier from "eslint-plugin-prettier"; export default tseslint.config( { ignores: ["node_modules", "dist", "build", "**/public", "runtimeSetup.js"] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ["**/*.{js,jsx,ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser }, settings: { react: { version: "detect" } }, plugins: { react, "react-hooks": reactHooks, "react-refresh": reactRefresh, prettier }, rules: { ...js.configs.recommended.rules, ...react.configs.recommended.rules, ...react.configs["jsx-runtime"].rules, ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": ["warn", { allowConstantExport: true }], "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": [ "warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", ignoreRestSiblings: true } ], "@typescript-eslint/no-explicit-any": "off", "no-debugger": "warn", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "prefer-const": "warn", "react/react-in-jsx-scope": "off", "react/prop-types": "off", "@typescript-eslint/no-unused-expressions": "off" } }, { files: ["**/*.{ts,tsx}"], rules: { "no-undef": "off" } }, { files: ["**/*.{js,jsx}"], rules: { "no-undef": "warn", "no-unused-expressions": "off" } } );