From a4555ac862063bf8b8e604c467904265ef83b927 Mon Sep 17 00:00:00 2001 From: zhaoyingbo Date: Wed, 24 Jul 2024 10:56:26 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=85=A5eslint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/devcontainer.json | 7 +++++-- bun.lockb | Bin 6801 -> 51675 bytes controllers/managePipeLine/index.ts | 5 +++-- db/index.ts | 2 +- db/pipeline/index.ts | 4 ++-- db/project/index.ts | 2 +- db/user/index.ts | 2 +- db/view/index.ts | 2 +- eslint.config.js | 22 ++++++++++++++++++++++ package.json | 16 +++++++++++----- schedule/index.ts | 1 + service/gitlab/tools.ts | 2 +- service/netTool.ts | 4 +++- utils/pbTools.ts | 4 +++- 14 files changed, 55 insertions(+), 18 deletions(-) create mode 100644 eslint.config.js diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7eae02c..d305056 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,13 +1,16 @@ { "name": "ci_monitor", - "image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04", + "image": "mcr.microsoft.com/devcontainers/typescript-node:20", "customizations": { "vscode": { "settings": { "files.autoSave": "afterDelay", "editor.guides.bracketPairs": true, "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "always" + } }, "extensions": [ "eamodio.gitlens", diff --git a/bun.lockb b/bun.lockb index db55d51e8324fb4dea42c8807ef0240296b54ab7..1e242db13f1533fd96c7356c844f65cdef372bd4 100755 GIT binary patch literal 51675 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 W6@K(;;b0^Swna=}@2UV#-|1hR(GvCm diff --git a/controllers/managePipeLine/index.ts b/controllers/managePipeLine/index.ts index 8f65b05..b15af43 100644 --- a/controllers/managePipeLine/index.ts +++ b/controllers/managePipeLine/index.ts @@ -1,8 +1,9 @@ +import moment from "moment"; + import db from "../../db"; import service from "../../service"; -import moment from "moment"; -import { Gitlab } from "../../types/gitlab"; import { DB } from "../../types/db"; +import { Gitlab } from "../../types/gitlab"; /** * 获取全部的pipeline列表 diff --git a/db/index.ts b/db/index.ts index 164175f..c3d876b 100644 --- a/db/index.ts +++ b/db/index.ts @@ -1,5 +1,5 @@ -import project from "./project"; import pipeline from "./pipeline"; +import project from "./project"; import user from "./user"; import view from "./view"; diff --git a/db/pipeline/index.ts b/db/pipeline/index.ts index 32bbc1c..3f42a0f 100644 --- a/db/pipeline/index.ts +++ b/db/pipeline/index.ts @@ -1,6 +1,6 @@ -import pbClient from "../pbClient"; -import { managePb404 } from "../../utils/pbTools"; import { DB } from "../../types/db"; +import { managePb404 } from "../../utils/pbTools"; +import pbClient from "../pbClient"; /** * 通过其 ID 检索一个管道。 diff --git a/db/project/index.ts b/db/project/index.ts index cd008d6..71d318a 100644 --- a/db/project/index.ts +++ b/db/project/index.ts @@ -1,6 +1,6 @@ +import { DB } from "../../types/db"; import { managePb404 } from "../../utils/pbTools"; import pbClient from "../pbClient"; -import { DB } from "../../types/db"; /** * 通过其 ID 检索单个项目。 diff --git a/db/user/index.ts b/db/user/index.ts index b003673..685b2c3 100644 --- a/db/user/index.ts +++ b/db/user/index.ts @@ -1,6 +1,6 @@ +import { DB } from "../../types/db"; import { managePb404 } from "../../utils/pbTools"; import pbClient from "../pbClient"; -import { DB } from "../../types/db"; /** * 根据提供的ID从数据库检索单个用户。 diff --git a/db/view/index.ts b/db/view/index.ts index 4c0fb9f..4f74c04 100644 --- a/db/view/index.ts +++ b/db/view/index.ts @@ -1,6 +1,6 @@ +import { DB } from "../../types/db"; import { managePb404 } from "../../utils/pbTools"; import pbClient from "../pbClient"; -import { DB } from "../../types/db"; /** * 根据给定的周来检索完整的统计信息。 diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..4343203 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,22 @@ +import pluginJs from "@eslint/js"; +import simpleImportSort from "eslint-plugin-simple-import-sort"; +import globals from "globals"; +import tseslint from "typescript-eslint"; + +export default [ + { files: ["**/*.{js,mjs,cjs,ts}"] }, + { languageOptions: { globals: globals.browser } }, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, + { + plugins: { + "simple-import-sort": simpleImportSort, + }, + rules: { + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-namespace": "off", + "simple-import-sort/imports": "error", + "simple-import-sort/exports": "error", + }, + }, +]; diff --git a/package.json b/package.json index a2bf4d6..dd3952c 100644 --- a/package.json +++ b/package.json @@ -3,20 +3,26 @@ "module": "index.ts", "type": "module", "scripts": { - "start": "bun run index.ts" + "start": "bun run index.ts", + "lint": "eslint --fix ." }, "devDependencies": { - "bun-types": "latest" + "@eslint/js": "^9.7.0", + "@types/lodash": "^4.14.202", + "@types/node-schedule": "^2.1.6", + "bun-types": "latest", + "eslint": "9.x", + "eslint-plugin-simple-import-sort": "^12.1.1", + "globals": "^15.8.0", + "typescript-eslint": "^7.17.0" }, "peerDependencies": { "typescript": "^5.0.0" }, "dependencies": { - "@types/node-schedule": "^2.1.6", - "@types/lodash": "^4.14.202", "lodash": "^4.17.21", "moment": "^2.30.1", "node-schedule": "^2.1.1", "pocketbase": "^0.21.1" } -} +} \ No newline at end of file diff --git a/schedule/index.ts b/schedule/index.ts index 79bb937..9e83cd0 100644 --- a/schedule/index.ts +++ b/schedule/index.ts @@ -1,4 +1,5 @@ import { scheduleJob } from "node-schedule"; + import manageRobot from "../controllers/manageRobot"; import syncPipLine from "./syncPipLine"; diff --git a/service/gitlab/tools.ts b/service/gitlab/tools.ts index 622706b..48ec540 100644 --- a/service/gitlab/tools.ts +++ b/service/gitlab/tools.ts @@ -1,7 +1,7 @@ import { Gitlab } from "../../types/gitlab"; export const gitlabReqWarp = async ( - func: Function, + func: () => Promise, default_value: any ): Promise => { try { diff --git a/service/netTool.ts b/service/netTool.ts index cdd2d46..190dcce 100644 --- a/service/netTool.ts +++ b/service/netTool.ts @@ -84,7 +84,9 @@ const netTool = async ({ try { resText = await res.text(); resData = JSON.parse(resText); - } catch {} + } catch { + /* empty */ + } // 记录响应 logResponse(res, method, headers, payload, resData || resText); diff --git a/utils/pbTools.ts b/utils/pbTools.ts index 3d8a903..f7e8026 100644 --- a/utils/pbTools.ts +++ b/utils/pbTools.ts @@ -1,4 +1,6 @@ -export const managePb404 = async (dbFunc: Function): Promise => { +export const managePb404 = async ( + dbFunc: () => Promise +): Promise => { try { return await dbFunc(); } catch (err: any) {