typescript/prefer-ts-expect-error 严格
它的作用
强制使用 @ts-expect-error 而非 @ts-ignore。
为什么这是不好的?
TypeScript 允许通过在出错行之前添加以 @ts-ignore 或 @ts-expect-error 开头的注释来抑制该行的所有错误。 这两个指令的行为相同,但 @ts-expect-error 在放置于本无错误的行之前时会引发类型错误。
这意味着 @ts-ignore 很容易被遗忘,即使原本要抑制的错误已经被修复,它们仍可能保留在代码中。 这很危险,因为如果该行之后出现新的错误,将会被这些被遗忘的 @ts-ignore 所抑制,从而被忽略。
示例
此规则的 错误 代码示例:
ts
// @ts-ignore
const str: string = 1;
/**
* 解释性注释
*
* @ts-ignore */
const multiLine: number = "value";此规则的 正确 代码示例:
ts
/**
* 解释性注释
*
* @ts-expect-error */
const multiLine: number = "value";如何使用
通过配置文件或 CLI 启用此规则,可以使用以下方式:
json
{
"rules": {
"typescript/prefer-ts-expect-error": "error"
}
}bash
oxlint --deny typescript/prefer-ts-expect-error