如何通过ESLint强制TypeScript接口中每行仅声明一个属性?
解决TypeScript接口属性换行校验问题
你用的@stylistic/object-curly-newline和@stylistic/object-property-newline规则只针对原生JavaScript对象生效,对TypeScript接口这类TS专属语法结构不支持。要实现你要的校验效果,得用@typescript-eslint插件提供的@typescript-eslint/object-property-newline规则。
配置方式
在你的ESLint配置文件(比如.eslintrc.json)里添加如下规则:
{ "rules": { "@typescript-eslint/object-property-newline": [ "error", { "allowAllPropertiesOnSameLine": false } ] } }
规则效果
- 当接口里多个属性写在同一行时(比如你给出的第一个示例),会直接抛出错误
- 每个属性单独占一行时(第二个示例),符合规则要求,不会报错
这个规则专门适配TypeScript语法,能识别接口、类型别名等TS特有的花括号结构,刚好满足你的需求。
内容的提问来源于stack exchange,提问作者Gustavo Lopes
相关产品推荐
相关产品推荐

