我使用@typescript-eslint插件使用eslint将规则添加到我的TypeScript代码中。
我启用的规则之一是camelcase:
"@typescript-eslint/camelcase": ["error", { "properties": "always" }]
它允许我规范变量和接口名称。
问题是标准JSON格式使用snake_case约定来命名其标识符。因此,我所有的API请求响应都使用snake_case。
在这种情况下,我必须使用snake_case声明接口,
interface UserResponse {
id: number
dark_mode: boolean
status_code: string
}
所以我的问题是:有没有办法针对在接口结尾宽度Response
中定义的标识符禁用此规则?因此,我的UserResponse
界面中没有棉绒错误。
@ typescript-eslint提供了一个有趣的参数allow,该参数禁用了与正则表达式匹配的特定名称的规则:
/* @typescript-eslint/camelcase: ["error", {allow: ["Response$"]}] */
interface Foo_Bar_Response {
...
}
在这里,短绒棉将不会触发Foo_Bar_Response
中的snake_case格式,因为它以单词Response
结尾。
但是在这里,它仅适用于接口本身的名称,不适用于这些子标识符的名称。
有什么主意我们如何使这项工作可行吗?
答案 0 :(得分:0)
它在github https://github.com/typescript-eslint/typescript-eslint/issues/2077上是一个已解决的问题,您可以尝试在不建议的代码库上进行修复。 您还可以尝试使用以下选项禁用:基于驼峰式var的用例或项目https://eslint.org/docs/rules/camelcase
的接口props