【发布时间】:2017-11-22 10:09:20
【问题描述】:
我正在使用 husky 来处理 pre-commit 的事情。
所以这里我希望新写的程序不应该包含单词列表,比如dangerouslySetInnerHTML等。
我知道 eslint-plugin-react 中有一条规则 no-danger,但它只阻止了那个词。如何在文件中编写单词列表并将其用作过滤器?
【问题讨论】:
标签: javascript git eslint husky
我正在使用 husky 来处理 pre-commit 的事情。
所以这里我希望新写的程序不应该包含单词列表,比如dangerouslySetInnerHTML等。
我知道 eslint-plugin-react 中有一条规则 no-danger,但它只阻止了那个词。如何在文件中编写单词列表并将其用作过滤器?
【问题讨论】:
标签: javascript git eslint husky
所以我终于自己解决了这个问题。
解决方案在于利用git hook 和precommit,这是其中之一。
这里有一个很好的资源:
Pre-commit Git Hook that Prevents Commits with Undesired Words
使用 Husky,即“Git Hooks Made Easy”,我们首先编写一个脚本,这与上面博客中展示的完全一样。然后我们可以在package.json的script中添加钩子本身,就是这样:
"script": {
"precommit": "./pre-commit.sh"
}
这意味着每次提交时,pre-commit 脚本将首先运行。因此您可以过滤掉不需要的单词。
【讨论】:
这是可能的,您应该能够编写一个新的 Eslint 规则,该规则接收一组禁止的单词,然后在预提交脚本中运行 Eslint。我已经使用 git pre-commit 脚本完成了此操作(不确定哈士奇,抱歉)。 作为一个起点,我会看看 eslint-plugin-jasmine。无重点测试规则设置禁止词列表(ddescribe、iit、fdescribe 和 fit)并检查这些词的代码。您可以做同样的事情,但更改禁止的数组以包含您要禁止的单词。
【讨论】: