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编辑器中使用的代码以及一般tslint
有关的行为),我将不胜感激。
extends
是否仅 提供默认配置(如果由软件包提供)?
,因此这与rulesDirectory
不同吗?
rulesDirectory
是否仅为您提供专门选择加入的规则(如果在根tslint.json中指定规则,则必须提供)?
我仍然应该在tslint
和 extends
中同时指定rulesDirectory
软件包吗?
假设extends
提供了另一个tslint
配置文件的默认设置,我是否可以指定rulesDirectory
并添加一条规则来覆盖特定标志?
之所以担心,是因为只有部分规则会出现在IntelliSense自动完成功能中,而仅有的一些行为我会更加清楚。
答案 0 :(得分:4)
TSLint中的
extends
和rulesDirectory
有什么区别
它们非常不同。
extends
允许您应用现有的tslint配置,然后对其进行扩展rulesDirectory
仅允许您添加自定义规则的目录。 答案 1 :(得分:2)
?答案来自tslint configuration docs as of 6 April 2018:
extends?: string | string[]
:内置配置预设的名称(请参阅下面的内置预设),或指向的路径或路径数组 此配置扩展的其他配置文件。 使用节点模块解析语义来处理此值。对于 例如,值"tslint-config"
会告诉TSLint尝试 将名为“ tslint-config”的模块的主文件加载为 配置文件。节点模块内的特定文件也可以是 指定,例如。"tslint-config/path/to/submodule"
。相对路径 还支持JSON文件或JS模块,例如"./tslint-config"
。rulesDirectory?: string | string[]
:[自定义规则] [2]的目录路径或目录的路径数组。这些值是 如果index.js
是使用节点模块解析语义来处理的 放在您的rules目录中。我们回退以使用相对或 绝对路径(如果无法解析模块)。如果你想避免 您可以直接使用相对或绝对路径的模块分辨率 (例如,使用./
)。
此rules
块中指定的任何规则都将覆盖正在扩展的任何基本配置中配置的规则。
答案 2 :(得分:0)