就我而言,我想在所有Git阶段文件上运行Eslint。
git diff --diff-filter=d --cached --name-only | grep -E '\.jsx?$
输出:
changedFile1.js
changedFile2.js
我想将它们传递给Eslint以生成命令:
node_modules/.bin/eslint changedFile1.js changedFile2.js
我该怎么做?
到目前为止,我发现的唯一解决方案是遍历已更改的文件,然后为每个更改的文件调用Eslint。但是,这比使用所有更改的文件调用Eslint要慢得多。
我正在使用Ubuntu 16.04。
答案 0 :(得分:0)
命令的输出可以像$(...)
那样分配给变量或其他程序作为参数:
node_modules/.bin/eslint $(git diff --diff-filter=d --cached --name-only | grep -E '\.jsx?$)
grep命令在我看来,好像它缺少一个关闭的撇号,所以如果这是你在问题中的错误,你也必须在答案中修复它。