From b0464e48fa76df3c0ab8d25a64631dc4f3572c53 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Thu, 26 Feb 2026 16:08:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0eslint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eslint.config.js | 49 ++++++++++ package.json | 9 +- src/components/Cascader/Basic/index.js | 10 +- src/components/HiddenInfo/gwj/index.js | 2 +- .../LeftTree/Department/Gwj/index.d.ts | 2 +- src/components/Map/CesiumMap.js | 2 +- src/components/Page/index.js | 2 +- src/components/Select/Personnel/Gwj/index.js | 6 +- src/components/SelectTree/Basic/index.js | 10 +- src/components/Signature/index.js | 4 +- src/components/Video/AliPlayer.js | 2 +- src/hooks/useImportFile/index.js | 1 - src/hooks/useTable/index.js | 2 +- src/utils/index.js | 96 ++++++------------- 14 files changed, 108 insertions(+), 89 deletions(-) create mode 100644 eslint.config.js diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..62711d3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,49 @@ +import antfu from "@antfu/eslint-config"; + +export default antfu({ + formatters: { + html: false, + css: true, + }, + test: false, + typescript: true, + react: true, + vue: false, + markdown: false, + stylistic: { + semi: true, + quotes: "double", + }, + overrides: { + react: { + "react/no-comment-textnodes": "off", + "react/no-implicit-key": "off", + "react-hooks-extra/no-unnecessary-use-prefix": "off", + "react-hooks-extra/prefer-use-state-lazy-initialization": "off", + "react-hooks/exhaustive-deps": "off", + }, + javascript: { + "no-console": ["warn", { allow: ["warn", "error"] }], + "no-debugger": "error", + "no-alert": "error", + "no-restricted-syntax": [ + "error", + { + selector: "VariableDeclarator[id.name='pd']", + message: "不允许使用 pd,请改用有语义化的变量名", + }, + { + selector: "ObjectExpression > Property[key.name='pd']", + message: "不允许使用 pd,请改用有语义化的变量名", + }, + ], + "no-unused-vars": ["error", { varsIgnorePattern: "^React$" }], + }, + }, + rules: { + "antfu/top-level-function": "off", + "node/prefer-global/process": "off", + "dot-notation": "off", + "linebreak-style": ["off", "windows"], + }, +}); diff --git a/package.json b/package.json index 2218b3f..bdd4e2f 100644 --- a/package.json +++ b/package.json @@ -46,15 +46,22 @@ "use-antd-resizable-header": "^3.2.2" }, "devDependencies": { + "@antfu/eslint-config": "^5.4.1", "@babel/core": "^7.28.5", "@babel/preset-react": "^7.28.5", + "@eslint-react/eslint-plugin": "^2.2.2", "@rollup/plugin-babel": "^6.1.0", "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-image": "^3.0.3", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-terser": "^0.4.4", + "eslint": "^9.37.0", + "eslint-plugin-format": "^1.0.2", + "eslint-plugin-react-hooks": "^7.0.0", + "eslint-plugin-react-refresh": "^0.4.23", "glob": "^13.0.0", - "rollup": "^4.54.0" + "rollup": "^4.54.0", + "typescript": "^5.9.3" } } diff --git a/src/components/Cascader/Basic/index.js b/src/components/Cascader/Basic/index.js index 2a5dc88..30a90f0 100644 --- a/src/components/Cascader/Basic/index.js +++ b/src/components/Cascader/Basic/index.js @@ -33,11 +33,11 @@ function BasicCascader(props) { const processedData = useMemo(() => { return level ? processTreeDataByLevel({ - data, - level, - childrenKey, - currentLevel: 1, - }) + data, + level, + childrenKey, + currentLevel: 1, + }) : data; }, [data, level, childrenKey]); diff --git a/src/components/HiddenInfo/gwj/index.js b/src/components/HiddenInfo/gwj/index.js index 4818754..ab499d7 100644 --- a/src/components/HiddenInfo/gwj/index.js +++ b/src/components/HiddenInfo/gwj/index.js @@ -342,7 +342,7 @@ function HiddenInfo(props) { ? [ ...(item.disposalPlan ? [{ label: "处置方案", children: item.disposalPlan }] : []), ...( - item.disposalFile + item.disposalFile ? [{ label: "处置方案附件", children: ( diff --git a/src/components/LeftTree/Department/Gwj/index.d.ts b/src/components/LeftTree/Department/Gwj/index.d.ts index 04c7fe8..73b2375 100644 --- a/src/components/LeftTree/Department/Gwj/index.d.ts +++ b/src/components/LeftTree/Department/Gwj/index.d.ts @@ -1,6 +1,6 @@ import type { FC } from "react"; -import type { BasicLeftTreeProps } from "../../Basic"; import type { DepartmentSelectTreeProps } from "../../../SelectTree/Department/Gwj"; +import type { BasicLeftTreeProps } from "../../Basic"; /** * 组件属性 diff --git a/src/components/Map/CesiumMap.js b/src/components/Map/CesiumMap.js index 3931c5c..214d938 100644 --- a/src/components/Map/CesiumMap.js +++ b/src/components/Map/CesiumMap.js @@ -1,4 +1,4 @@ -import billboardImage from './h.png'; +import billboardImage from "./h.png"; export default class CesiumMap { viewer; diff --git a/src/components/Page/index.js b/src/components/Page/index.js index 5bf1127..ca75dca 100644 --- a/src/components/Page/index.js +++ b/src/components/Page/index.js @@ -18,7 +18,7 @@ function Page(props) { contentPadding = "20px", customActionButtons, extraActionButtons, - children + children, } = props; const [pageWidth, setPageWidth] = useState(window.innerWidth); diff --git a/src/components/Select/Personnel/Gwj/index.js b/src/components/Select/Personnel/Gwj/index.js index e07b44d..93bcde7 100644 --- a/src/components/Select/Personnel/Gwj/index.js +++ b/src/components/Select/Personnel/Gwj/index.js @@ -35,11 +35,11 @@ function PersonnelSelect(props) { } // 根据参数决定是否发送请求 - if (isNeedCorpInfoId && (!params.corpinfoId || typeof params.corpinfoId !== 'string')) + if (isNeedCorpInfoId && (!params.corpinfoId || typeof params.corpinfoId !== "string")) return; - if (isNeedDepartmentId && (!params.departmentId || typeof params.departmentId !== 'string')) + if (isNeedDepartmentId && (!params.departmentId || typeof params.departmentId !== "string")) return; - if (isNeedPostId && (!params.postId || typeof params.postId !== 'string')) + if (isNeedPostId && (!params.postId || typeof params.postId !== "string")) return; const actualExtraParams = { ...defaultExtraParams, ...extraParams }; diff --git a/src/components/SelectTree/Basic/index.js b/src/components/SelectTree/Basic/index.js index 0972eca..7346e45 100644 --- a/src/components/SelectTree/Basic/index.js +++ b/src/components/SelectTree/Basic/index.js @@ -35,11 +35,11 @@ function BasicSelectTree(props) { // 根据 level 处理树数据 let result = level ? processTreeDataByLevel({ - data: treeData, - level, - childrenKey, - currentLevel: 1, - }) + data: treeData, + level, + childrenKey, + currentLevel: 1, + }) : treeData; // 根据 onlyLastLevel 处理树数据 diff --git a/src/components/Signature/index.js b/src/components/Signature/index.js index c2bd005..da16f29 100644 --- a/src/components/Signature/index.js +++ b/src/components/Signature/index.js @@ -52,8 +52,8 @@ function Signature(props) { {base64 && ( -