11. 规范检测 eslint 插件
eslint-plugin-hand-apaas
,用于检测汉得中台 aPaaS 项目的 TypeScript 代码的违规、错误和样式问题的最佳实践。请参阅配置,了解如何使用配置启用推荐的规则。
支持的规则
规则名 | 说明 | 配置项 | 提示级别 | 修复工具函数 |
---|---|---|---|---|
hand-apaas/enum-declaration-uppercase | 枚举值的命名必须以大写字母开头 | 无 | ❌ | |
hand-apaas/no-ds-name-string | DataSet 定义中不应使用字面量 string 类型作为 field 的 name 值 | 无 | ||
hand-apaas/import-c7n-record | 使用 C7NRecord 替换 Record 作为 dataSet 记录类型 | 无 | ❌ | ✅ |
hand-apaas/ds-event-listen | 在对 DataSet 的数据监听中推荐使用 useDataSetEvents 替代 addEventListener | 无 | ||
hand-apaas/max-lines | 限制 React 组件代码行数 | { warnLine: number, errorLine: number } |
其他规则
规则名 | 说明 | 配置项 | 提示级别 | 修复工具函数 |
---|---|---|---|---|
@typescript-eslint/adjacent-overload-signatures | 要求函数重载签名是连续的 | 无 | ❌ | |
@typescript-eslint/array-type | 对简单类型(即只是原始类型或类型引用的类型)使用 T[] 或 readonly T[] 。将 Array<T> 或 ReadonlyArray<T> 用于所有其他类型(联合类型、交集类型、对象类型、函数类型等) | {"default": "array-simple","readonly": "array-simple"} | ❌ | ✅ |
@typescript-eslint/consistent-type-definitions | 类型定义一致地使用 interface 或 type | 无 | ✅ | |
@typescript-eslint/no-confusing-non-null-assertion | 禁止在可能造成混淆的位置使用非空断言 | 无 | ❌ | ✅ |
@typescript-eslint/no-duplicate-enum-values | 不允许重复的枚举成员值 | 无 | ❌ | ✅ |
@typescript-eslint/no-extra-non-null-assertion | 不允许额外的非空断言 | 无 | ❌ | ✅ |
@typescript-eslint/no-non-null-asserted-optional-chain | 不允许在可选链表达式之后使用非空断言 | 无 | ❌ | |
@typescript-eslint/no-redundant-type-constituents | 禁止不执行任何操作或覆盖类型信息的联合和交叉点的成员 | 无 | ❌ | |
@typescript-eslint/no-unnecessary-boolean-literal-compare | 不允许对布尔文本进行不必要的相等比较 | 无 | ❌ | |
@typescript-eslint/no-unnecessary-type-constraint | 不允许对泛型类型进行不必要的约束 | 无 | ❌ |
此篇维护者: