# [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 必须挂 catch;async/await 必须用 try/catch 包裹 message: Promise 需要 catch,async/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