如何防止在 TypeScript 类型和接口中使用 "any"
How to prevent "any" from being used in TypeScript types and interfaces
我在 tsconfig.json 中有 "noImplicitAny": true,
标志,并且 "@typescript-eslint/no-explicit-any": 2,
用于 eslint,但它们没有捕捉到诸如
之类的东西
type BadInterface {
property: any
}
是否有任何配置选项可以通过 tsconfig 或 eslint 来标记?我们团队的承包商将 any
用于接口中的许多属性,我似乎无法找到一种方法来防止它在 CI 中传递 tsc
或 eslint
命令工作流程。
为了完全清楚,当有人使用类型 any
作为接口或类型上的键时,我想要一些东西让我知道。当 TS 从 any
推断类型时似乎没问题,但我希望它在有人试图在任何地方使用 any
作为类型时爆炸。
我相信您可以使用 ban-types
规则来防止显式使用 any
。
例如:
"@typescript-eslint/ban-types": [
2,
{
"types": {
"any": "Don't use 'any' because it is unsafe",
},
"extendDefaults": true,
}
}
我在 tsconfig.json 中有 "noImplicitAny": true,
标志,并且 "@typescript-eslint/no-explicit-any": 2,
用于 eslint,但它们没有捕捉到诸如
type BadInterface {
property: any
}
是否有任何配置选项可以通过 tsconfig 或 eslint 来标记?我们团队的承包商将 any
用于接口中的许多属性,我似乎无法找到一种方法来防止它在 CI 中传递 tsc
或 eslint
命令工作流程。
为了完全清楚,当有人使用类型 any
作为接口或类型上的键时,我想要一些东西让我知道。当 TS 从 any
推断类型时似乎没问题,但我希望它在有人试图在任何地方使用 any
作为类型时爆炸。
我相信您可以使用 ban-types
规则来防止显式使用 any
。
例如:
"@typescript-eslint/ban-types": [
2,
{
"types": {
"any": "Don't use 'any' because it is unsafe",
},
"extendDefaults": true,
}
}