[英]husky pre-commit hook not triggering
我有husky
的问题。 我希望eslint
在即将完成 git commit 时运行eslint
和eslint
,以便它可以强制执行干净的编码检查。 我已经设置eslint
, prettier
和综合两者。 手动使用时它们工作正常。 但是,如果违反了eslint
规则之一,则eslint
允许提交。
我还将本地项目的.git/hooks
目录中的pre-commit.sample
文件重命名为pre-commit
。
这是我的package.json
文件:
"scripts": {
"prettier-format": "prettier --config .prettierrc 'src/**/*.ts' 'test/**/*.ts' --write",
"lint": "eslint . --ext .ts"
},
"husky": {
"hooks": {
"pre-commit": "npm run prettier-format && npm run lint"
}
},
"devDependencies": {
"husky": "^7.0.1"
}
请问这里可能是什么问题? 非常感谢你。
我认为要使其与husky
v7 一起使用,您需要将要运行的 pre-commit 移动到名为.husky/pre-commit
的文件中。 husky
v7 不会使用您的package.json
的配置。 有关从 v4 升级到 v7 的信息,请参见此处。
我找到了一种更简单的方法来做到这一点,而无需自己启动 husky 的安装。
我通过运行以下命令安装了 lint-staged 并测试了由它设置的 husky pre-commit 钩子:
npx mrm@2 lint-staged
yarn install
第一行安装 lint-staged 和 husky,并在目标 package.json 文件中添加带有示例脚本的正确部分供您使用或修改。
将目标 package.json 暂存并提交到 git(本地 git 就足够了)。 进行应该导致 eslint find 错误和提交失败的更改。 再次尝试提交以测试 lint-staged 设置。 Lint-staged 应该防止这次提交文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.