跳到主要内容

11. 规范检测 eslint 插件

eslint-plugin-hand-apaas,用于检测汉得中台 aPaaS 项目的 TypeScript 代码的违规、错误和样式问题的最佳实践。请参阅配置,了解如何使用配置启用推荐的规则。

支持的规则

规则名说明配置项提示级别修复工具函数
hand-apaas/enum-declaration-uppercase枚举值的命名必须以大写字母开头
hand-apaas/no-ds-name-stringDataSet 定义中不应使用字面量 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不允许对泛型类型进行不必要的约束
此篇维护者:黄振敏