代码提交规范 husky + commitlint + lint
2021-06-27 本文已影响0人
飞天御剑流co
本文章前置条件 , 初始化的 Git 项目,项目已经引入过 Eslint
依赖版本
"husky": "^6.0.0",
"lint-staged": "^7.3.0",
@commitlint/cli": "^12.1.4
安装依赖
安装 husky
依次在项目根目录执行如下两条命令
npx husky-init
npm install
此时 husky
安装完成 ,根目录下生成了 .husky
文件夹
安装 lint-staged
npm install lint-staged
安装 commitlint
npm install -g @commitlint/cli @commitlint/config-conventional
至此,依赖安装完成
编辑配置
- 在
package.json
中添加
"lint-staged": {
"*.js": "eslint"
}
- 在
.husky
文件夹下找到刚刚安装依赖生成好的pre-commit
文件,添加npx lint-staged
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
- 在
.husky
文件夹下新建commit-msg
文件,填入如下信息
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx commitlint --edit $1
在项目根目录下新建 commitlint.config.js
文件 ,写入如下内容
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [
2,
'always',
['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'chore', 'revert'],
],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never'],
},
};
至此,所有配置完成
测试
新建一个不符合 Eslint 规则的文件,在进行 commit
提交时,会拒绝本次 commit
执行 npm run lint --fix
修复文件后 ,执行一条不符合规范的提交 git commit -m '114514'
,同样会被拒绝提交,终端会显示错误信息
其他配置可根据个人需要自己配置