Husky 是一款管理 git hooks 的工具,有助于我们在项目开发中的git规范和团队协作。
安装husky及相关依赖
npm install husky -D
npm install @commitlint/cli -D
npm install @commitlint/config-conventional -D
在 package.json新增husky配置
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
在 package.json 文件的 scripts 中配置自动安装脚本:
"prepare": "husky install",
"scriptname": "cmd"
接着执行 npm install 命令,会自动执行 npm run prepare 命令,即会执行 husky install 命令,并在项目的根目录下生成 .husky 目录
npm install
在 .husky 目录下新建文件pre-commit,内容如下
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx eslint ./
在 .husky 目录下新建文件commit-msg,内容如下
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx --no -- commitlint --edit
项目根目录新建文件commitlint.config.js
- 内容如下,更多配置查询官网介绍。
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-empty': [2, 'always'], // never: type不能为空; always: type必须为空
'subject-empty': [2, 'always'], // subject: never不能为空
'header-max-length': [0, 'always', 72]
}
};
验证git提交
git commit -m '测试一下'
有校验不符合的提示,即配置成功。