赫斯基:在预提交中运行eslint,不会在警告时停止

Pab*_*blo 3 javascript eslint husky

我在项目中添加了一些预提交和预推送脚本。我取消Husky的名称是因为它会在git上跟踪任何更改。

在我的json包中,我有: "precommit": "npm run lint && npm run test",

当发现任何测试或棉绒错误时,最初似乎运行良好,但我无法进行提交。

现在,我发现如果发出警告,则无论如何都会发生提交。

当出现警告时,我该如何配置沙哑的,或者也许是eslint的,以停止提交。

我知道我可以覆盖所有eslint配置,使其始终为错误[2],但我期望有更好的选择

Ole*_*sev 7

您需要指定--max-warnings参数。

像这样:

"scripts": {
  ...
  "lint": "eslint \"**/*.js\" --fix --max-warnings=0",
  ...
},
Run Code Online (Sandbox Code Playgroud)

  • 我建议 **不要** 在预提交场景中运行 `--fix` ,因为如果它修复了某些内容,linting 将通过,但这些修复将被取消暂存(因此不会包含在提交中)。 (8认同)
  • @jonrsharpe 如果你使用 lint-staged 则不会 (2认同)