data: 自定义规则导入验证(3 场景 23 轮)+ 团队风格规则演示(5 规则全检出)

This commit is contained in:
范智鹏
2026-09-08 19:51:34 +08:00
parent 4efe8ea512
commit ad576e807f
41 changed files with 2946 additions and 0 deletions
@@ -0,0 +1,68 @@
# [DUPLICATE: exact] 重复自定义规则 no-console-log(检测目标完全一致)
# 如需启用,删除以下每行开头的 # 即可
# - id: no-console-log
# severity: warning
# description: 生产代码中不要使用 console.log / console.error 打日志,统一走封装的 logger
# message: 请使用 src/utils/logger.ts 封装的 logger,不要直接用 console.log / console.error
# languages: [javascript, typescript]
# duplicateOf: custom/no-console-log
# duplicateLevel: exact
- id: require-request-timeout
severity: warning
description: 发请求必须显式配置 timeout
message: 请求必须显式配置 timeout:常规接口 5s,支付类接口 10s
languages: [javascript, typescript]
# [DUPLICATE: exact] 重复自定义规则 no-hardcoded-secret(检测目标完全一致)
# 如需启用,删除以下每行开头的 # 即可
# - id: no-hardcoded-secrets
# severity: error
# description: 密钥、账号密码、内网地址等敏感配置不能写死在代码里
# message: 请将敏感配置放入 .env 或配置中心,不要硬编码在代码中
# duplicateOf: custom/no-hardcoded-secret
# duplicateLevel: exact
- id: no-empty-catch
severity: warning
description: catch 块不能什么都不干
message: catch 块至少应 logger.error 记录,或转换为业务异常向上抛出
languages: [java, javascript, typescript]
- id: max-function-length
severity: info
description: 单个函数不应超过 80 行(注释和空行不计),过长的函数需要拆分
message: 函数超过 80 行,建议拆分为更小、可复用、易测试的函数
# [DUPLICATE: exact] 重复 eslint/eqeqeq(检测目标完全一致)
# 如需启用,删除以下每行开头的 # 即可
# - id: strict-equality-required
# severity: error
# description: JS/TS 禁止使用 == 和 !=,一律使用 === 和 !==
# message: 请使用 === / !== 代替 == / !=,避免隐式类型转换问题
# languages: [javascript, typescript]
# duplicateOf: eslint/eqeqeq
# duplicateLevel: exact
- id: require-promise-catch
severity: error
description: Promise 必须挂 catchasync/await 必须用 try/catch 包裹
message: Promise 需要 catchasync/await 需要 try/catch,避免 unhandled rejection
languages: [javascript, typescript]
# [DUPLICATE: exact] 重复 eslint/no-var(检测目标完全一致)
# 如需启用,删除以下每行开头的 # 即可
# - id: no-var
# severity: warning
# description: 禁止使用 var 声明变量,应使用 const/let
# message: 请使用 const(需要重新赋值时用 let)替代 var
# languages: [javascript, typescript]
# duplicateOf: eslint/no-var
# duplicateLevel: exact
- id: service-entry-logging
severity: info
description: Java Service 层公开方法入口需要记录日志
message: Service 公开方法入口请记录一条包含订单号、用户 ID 等关键字段的日志
languages: [java]
# [DUPLICATE: exact] 重复自定义规则 no-sql-injection(检测目标完全一致)
# 如需启用,删除以下每行开头的 # 即可
# - id: no-sql-injection
# severity: error
# description: SQL 禁止使用字符串拼接,必须参数化查询或使用 ORM
# message: 请使用参数化查询或 ORM 参数绑定,不要字符串拼接 SQL
# languages: [java]
# duplicateOf: custom/no-sql-injection
# duplicateLevel: exact