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"; export default tseslint.config( { ignores: ["dist"] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, plugins: { "react-hooks": reactHooks, "react-refresh": reactRefresh, }, rules: { ...reactHooks.configs.recommended.rules, "react-refresh/only-export-components": [ "warn", { allowConstantExport: true }, ], // 允许使用 any 类型 "@typescript-eslint/no-explicit-any": "off", // 允许声明但未使用的变量 "@typescript-eslint/no-unused-vars": [ "warn", { vars: "all", // 检查所有变量 args: "none", // 不检查函数参数 ignoreRestSiblings: true, }, ], // 禁止使用未声明的变量 "no-undef": "error", }, } );