我正在开发一个 MonoRepo,我试图自动化的最后一件事是我对代码提交的所有 linting/formatting。
目前我的大部分配置都在根文件夹中,我正在将它们扩展到包中。如果我npm run precommit
在根目录中运行,我可以看到我的包被成功检查。
当我暂存并提交代码时出现问题,哈士奇钩子不运行并且提交通过而没有成功进行检查
文件夹结构
- packages
- bar/
- dist
- src
package.json
tsconfig.json
- foo/
- dist
- src
package.json
tsconfig.json
.eslintrc
.prettierrc
package.json
tsconfig.json
根包.json
{
"scripts": {
"precommit:bar": "cd packages/bar && npm run precommit",
"precommit:foo": "cd packages/foo && npm run precommit",
"precommit": "npm-run-all precommit:*"
},
"husky": {
"hooks": {
"pre-commit": "npm run precommit"
}
},
"lint-staged": {
"**/*.{ts,tsx}": [
"eslint --fix",
"prettier --write"
]
}
}
每个包里面都有这个脚本
"script": {
"precommit": "lint-staged"
}