一、git钩子
可以在git的整个生命周期,勾入事件,就比如检验代码,检验提交信息,husky和yorkie就是使我们使用git钩子更简单
在配置git钩子校验前,项目里需要有已经配置好的eslint或者prettier文件
二、Husky
1. 安装
npm install husky lint-staged --save-dev
2. 启用钩子,在根目录下新增.husky文件夹
npx husky install
3. 另一个启用方法
npm set-script prepare "husky install"
此脚本命令需要npm7.x以上,如果不是,老老实实手动编辑package.json,等同如下的效果
"scripts": {
"prepare": "husky install"
},
再执行下面的命令启用
npm run prepare
4. 增加钩子
npx husky add .husky/pre-commit "npx --no-install lint-staged"
5. 增加配置文件【.lintstagedrc.json】
{
"*.{js,jsx,ts,tsx}": ["eslint --fix"]
// 如果用的prettier
"*.*":["prettier --write ."]
}
后面在commit的时候,就可以对暂存区的代码进行校验并lint了
三、commitlint
1. 安装
npm install --save-dev @commitlint/config-conventional @commitlint/cli
2. 新建文件【commitlint.config.js】
module.exports = {
extends: ["@commitlint/config-conventional"],
};·
3. 在husky配置
# 新增钩子
npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"
五、参考文章
我重新配置了一遍yorkie,不生效了,husky的配置还在生效