【问题标题】:Why is lint-staged running on unstaged files with my configuration?为什么 lint-staged 使用我的配置在未暂存的文件上运行?
【发布时间】:2020-05-18 19:19:05
【问题描述】:
我在我的 package.json 文件中设置了 husky 和 lint-staged 并且它运行,但在所有文件上运行,而我希望它只在暂存文件上运行。
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"./**/*.js": [
"eslint . --fix --quiet"
]
},
【问题讨论】:
标签:
git-husky
lint-staged
【解决方案1】:
删除“。”在你的 eslint 命令中应该可以解决这个问题。
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"./**/*.js": [
"eslint --fix --quiet"
]
},
命令 eslint . --fix --quiet 对当前目录中的所有文件运行 eslint。
因此,当为暂存文件触发预提交挂钩时,由于您的 eslint 命令正在当前目录中的所有文件上运行,它也会影响您的未暂存文件。
每当 lint-staged 在文件上运行时,它都会自动将文件名传递给所有指定的命令。
例如,如果正在处理暂存的 index.js 文件,
eslint --fix --quiet
变成了
eslint --fix --quiet index.js