我想介紹一個可以跨多個項目共享的打字稿編碼指南。我不想複製粘貼tslint.json
多次,它已經發生了,我們有它的分歧版本。如何創建我的自定義tslint規則集?
我想根據我的指南tslint:recommended
。我看到tslint語法允許使用extend
,但我不清楚它的用法以及如何構建這樣的包。
這樣的項目本身可能只包含一個tslint.json
本身,還是我需要導出一個模塊?
我想要包然後託管在npm/sinopia實例上,但我不確定如何繼續。
我想介紹一個可以跨多個項目共享的打字稿編碼指南。我不想複製粘貼tslint.json
多次,它已經發生了,我們有它的分歧版本。如何創建我的自定義tslint規則集?
我想根據我的指南tslint:recommended
。我看到tslint語法允許使用extend
,但我不清楚它的用法以及如何構建這樣的包。
這樣的項目本身可能只包含一個tslint.json
本身,還是我需要導出一個模塊?
我想要包然後託管在npm/sinopia實例上,但我不確定如何繼續。
是的。您可以創建一個包含規則集的NPM模塊,並可以通過tslint.json
文件的extends
設置來引用該模塊。
例如,您可以創建一個名爲my-rule-set
的NPM模塊與此package.json
:
{
"name": "my-rule-set",
"version": "0.0.0",
"main": "my-rule-set.json"
}
這my-rule-set.json
(注意在package.json
引用main
的my-rule-set.json
文件):
{
"extends": "tslint:recommended",
"rules":
{
...
}
}
然後,在node_modules
中安裝my-rule-set
,您可以使用自己的規則集擴展tslint.json
文件:
{
"extends": "my-rule-set"
}
在this TSLint blog post有關於可共享配置的更多信息。
如果您的規則集僅包含現有規則的配置,那就是您所需要做的。但是,如果您打算實施一些自定義規則,請在my-rule-set.json
中您需要鏈接到您的自定義規則所在的目錄。例如,它也應該有這樣的:"rulesDirectory": "./rules"
。然後./rules
目錄應包含編輯的.js
版本的規則。
很好的答案,只需注意一點:在'my-rule-set.json'中,您需要鏈接到自定義規則所在的目錄。例如,它也應該有這樣的:'「rulesDirectory」:「./rules」'。那麼'。/ rules'目錄應該包含規則的_compiled_'.js'版本。 (如果您想要@cartant,請隨意將其編輯爲您的答案) – JKillian
@JKillian您可以將其作爲自己的答案發布,或者如果您認爲更改足夠小,請自行編輯此答案。 – k0pernikus
更新了包含'rulesDirectory'評論的答案。 (感謝您在TSLint上的工作,@JKillian,這是一個有用的工具。) – cartant