54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
|
|
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, // 允许匿名导出
|
||
|
|
},
|
||
|
|
},
|
||
|
|
]);
|