依赖版本
"husky": "^6.0.0",
"lint-staged": "^8.1.1",
@commitlint/cli": "^12.1.1
- “node”:”^12”
安装依赖
依次在项目根目录执行如下两条命令
1 | npm install husky --save-dev |
1 | npx husky install |
1 | npm set-script prepare "husky install" |
1 | 一定要检查有这个命令,否则团队合作,其他电脑上husky是失效的。目标在于在npm install 之后激活从近程拉取来的git钩子。 |
此时 husky
安装完成 ,根目录下生成了 .husky
文件夹
安装 lint-staged
1 | npm install lint-staged |
安装 commitlint
npm install -g @commitlint/cli @commitlint/config-conventional
至此,依赖安装完成
编辑配置
- 在
package.json
中添加
1 | "lint-staged": { |
2在 .husky
文件夹下找到刚刚安装依赖生成好的 pre-commit
文件,添加 npx lint-staged
1 |
|
如果没有pre-commit 文件可以执行
1 | npx husky add .husky/pre-commit "npx lint-staged" |
3.在 .husky
文件夹下新建 commit-msg
文件,填入如下信息
1 | #!/bin/sh. "$(dirname "$0")/_/husky.sh"npx commitlint --edit $1 |
如果没有commit-msg 文件可以执行
1 | npx husky add .husky/commit-msg "npx commitlint --edit $1" git add .husky/commit-msg |
4.在项目根目录下新建 commitlint.config.js
文件 ,写入如下内容
1 | module.exports = { extends: ['@commitlint/config-conventional'] }; |
至此,所有配置完成
测试
新建一个不符合 Eslint 规则的文件,在进行 commit
提交时,会拒绝本次 commit
执行 npm run lint --fix
修复文件后 ,执行一条不符合规范的提交 git commit -m 'cesssss'
,同样会被拒绝提交,终端会显示错误信息