我想介绍一个可以在多个项目中共享的打字稿编码指南。我不想多次复制粘贴tslint.json
,目前已经发生了这种情况,而且我们已经发布了不同的版本。
我希望将我的指南建立在tslint:recommended
上。我看到tslint语法允许extend
,但我不清楚它的用法以及如何构造这样的包。
这样的项目本身只能包含tslint.json
,还是我需要导出模块?
我希望然后将包托管在npm / sinopia实例上,但我不确定如何继续。
答案 0 :(得分:7)
是。您可以创建包含规则集的NPM模块,并在tslint.json
文件的extends
设置中引用该模块。
例如,您可以使用此my-rule-set
创建名为package.json
的NPM模块:
{
"name": "my-rule-set",
"version": "0.0.0",
"main": "my-rule-set.json"
}
以及此my-rule-set.json
(请注意main
中的package.json
引用了my-rule-set.json
文件:
{
"extends": "tslint:recommended",
"rules":
{
...
}
}
然后,在my-rule-set
中安装node_modules
后,您可以使用自己的规则集扩展tslint.json
文件:
{
"extends": "my-rule-set"
}
this TSLint blog post中有关于可共享配置的更多信息。
如果您的规则集仅包含现有规则的配置,那么您需要做的就是这些。但是,如果您打算实施某些自定义规则,则在my-rule-set.json
中,您需要链接到自定义规则所在的目录。例如,它应该具有类似:"rulesDirectory": "./rules"
的内容。然后./rules
目录应包含规则的已编译.js
版本。