【发布时间】:2018-07-08 22:40:59
【问题描述】:
TSLint.json 配置文件 (https://github.com/palantir/tslint) 支持 extends 和 rulesDirectory 数组,就像这样
{
"extends": [
"tslint-microsoft-contrib",
"tslint-config-security"
],
"rulesDirectory": [
"node_modules/tslint-eslint-rules/dist/rules",
"node_modules/tslint-microsoft-contrib",
"node_modules/tslint-config-security"
]
}
对于不熟悉该工具的新用户,文档似乎略微开放。
如果有人能澄清 extends 和 rulesDirectory 在 VS Code 编辑器中的使用以及 tslinting 的一般行为,我将不胜感激。
extendsonly 是否提供默认配置(如果包提供)?-
因此这与
rulesDirectory不同吗?rulesDirectory是否只为您提供专门选择加入的规则(如果在根 tslint.json 中指定规则,则需要)?我是否仍应在
extends和rulesDirectory中指定tslint包?
假设
extends提供来自另一个tslint配置文件的默认值,我能否指定rulesDirectory并添加规则来覆盖特定标志?
担心,因为只有部分规则显示在 IntelliSense 自动完成中,而我希望能更清楚地了解一些行为。
【问题讨论】:
-
^V 请评论为什么您投了反对票,以便我可以根据您的喜好改进问题。
-
extends配置选项扩展了指定包中的tslint.json配置并且使指定包中的规则可用。包的tslint.json是否将其任何规则设为默认是包作者的决定。我有几个 TSLint 包,它们提供没有启用规则的默认配置,因此使用extend只是使包的规则以比指定包规则目录的路径更简洁的方式可用。 -
感谢@cartant 的全面回答!所以我可以安全地删除
rulesDirectory?另外,在添加包时,您的 IDE 自动完成功能是否适用于包的规则?我在TSLintingRxJS上看到了你的作品。我希望我早些时候在学习时尝试整理不同的RxJS版本时注意到了这一点! 我很乐意接受你对这个问题的回答 -
没有。我使用 VS Code 和 AFAICT,它只自动完成内置规则。这不是我研究过的东西,也不是我曾经依赖过的东西。我的包中的规则包括所需的元数据 - 它在规则的代码中 - 但自动完成背后的内容以及它是否需要元数据之外的其他内容,我不知道。
-
好的。感谢你的协助。对此,我真的非常感激。我现在只坚持指定规则????。
标签: typescript eslint lint tslint