import js from "@eslint/js"; import globals from "globals"; import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import { defineConfig, globalIgnores } from "eslint/config"; export default defineConfig([ globalIgnores(["dist"]), { files: ["**/*.{js,jsx}"], extends: [ js.configs.recommended, reactHooks.configs["recommended-latest"], reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, parserOptions: { ecmaVersion: "latest", ecmaFeatures: { jsx: true }, sourceType: "module", }, }, rules: { "no-unused-vars": [ "warn", { varsIgnorePattern: "^[A-Z_]", argsIgnorePattern: "^_", }, ], "react-hooks/exhaustive-deps": 0, // 关闭hooks依赖检测 "no-console": 1, "react-hooks/rules-of-hooks": "error", "no-nested-ternary": 0, // 允许嵌套三元表达式 "no-script-url": 0, // 允许javascript:; "prefer-destructuring": 0, // 关闭强制使用解构 "no-plusplus": 0, // 允许使用++和--的操作 "array-callback-return": 0, // 允许数组map不返回值 "consistent-return": 0, "no-param-reassign": 0, // 允许修改函数形参 "no-unused-expressions": 0, "no-restricted-syntax": 0, "react/prop-types": 0, "no-prototype-builtins": 0, "react/no-deprecated": 0, // 关闭react弃用检测 "react/no-string-refs": 0, "no-useless-escape": 0, "react-refresh/only-export-components": 0, // 允许匿名导出 }, }, ]);