仅对编辑的文件启用eslint

时间:2019-02-04 06:35:30

标签: javascript eslint eslintrc

最近,我配置了一个项目eslint。一旦我配置了eslint,该项目便包含了数百个文件,并且开始显示所有文件中的错误。

IMO,eslint遍历所有js文件,当前不需要。有什么方法可以限制仅对已编辑文件保留eslint吗?

6 个答案:

答案 0 :(得分:3)

我正在使用它,它的作用就像一个魅力

LIST=`git diff-index --name-only --diff-filter=d HEAD | grep .*\\.js | grep -v json`; if [ \"$LIST\" ]; then eslint --fix $LIST; fi

我已将其作为脚本添加到package.json中,名称为lint:git,现在我用yarn lint:git

执行它

取自https://gist.github.com/oroce/11282380#gistcomment-2741146

答案 1 :(得分:1)

答案 2 :(得分:0)

您可以拥有多个eslintrc,并将每个eslintrc配置为按照您想要的方式运行。

请参考官方文档中的级联和层次结构。 https://eslint.org/docs/2.0.0/user-guide/configuring#configuration-cascading-and-hierarchy

基本上,您可以对不同的文件夹使用不同的规则,并进行相应的配置。

假设edited files是指src中项目专用代码,而不是其他文件夹中的其他库代码

答案 3 :(得分:0)

类似于@ELCAPITANBETO的反馈

我们可以做到

eslint -c eslintrc.js $(git diff --name-only --diff-filter=ACMRTUXB master | grep -E \"(.js$|.ts$|.tsx$)\")

https://gist.github.com/seeliang/0f0de424d1cdc4541c338f4ee93b7e6a

答案 4 :(得分:0)

eslint --fix $(git diff --name-only HEAD | xargs)

答案 5 :(得分:0)

对于无法执行包含数千行更改的拉取请求的较大文件,您可以使用 lint-diff

这个工具只是对改变的行进行 lint:

https://github.com/grvcoelho/lint-diff