关于 commitlint, husky, eslint 的详细信息能够见官网。
一、设置 commitlint
commitlint 搭配 husky 的 commit message 钩子后,每次提交 git 版本信息的时刻,会依据设置的划定规矩举行校验,若不相符划定规矩会 commit 失利,并提醒响应信息。
1. 装置 commitlint
husky
依靠
npm install --save-dev @commitlint/{cli,config-conventional}
npm install --save-dev husky@next # 装置最新版,就不必设置 scripts 剧本了
2. 新建 commitlint.config.js
文件
module.exports = {
extends: ['@commitlint/config-conventional']
};
commitlint.config.js 设置文件能够增加本身的划定规矩,这里 @commitlint/config-conventional
供应了官方的划定规矩扩大:
build:重要目标是修正项目构建体系(比方 glup,webpack,rollup 的设置等)的提交
ci:重要目标是修正项目继承集成流程(比方 Travis,Jenkins,GitLab CI,Circle等)的提交
docs:文档更新
feat:新增功用
merge:分支兼并 Merge branch ? of ?
fix:bug 修复
perf:机能, 体验优化
refactor:重构代码(既没有新增功用,也没有修复 bug)
style:不影响程序逻辑的代码修正(修正空缺字符,花样缩进,补全缺失的分号等,没有转变代码逻辑)
test:新增测试用例或是更新现有测试
revert:回滚某个更早之前的提交
chore:不属于以上范例的其他范例
3. 设置 package.json 文件
增加 husky 字段
"husky": {
"hooks": {
"commit-msg": "commitlint -e $HUSKY_GIT_PARAMS"
}
},
4. 测试
git add .
git commit -m "foo: this will fail"
设置 eslint 钩子
增加 husky 的 pre-commit 的钩子,husky 会在你每次提交 commit 之前运用 eslint 校验代码范例,不相符划定规矩会提交失利会打印出校验信息。
增加 husky
字段的设置
"husky": {
"hooks": {
"commit-msg": "commitlint -e $HUSKY_GIT_PARAMS",
"pre-commit": "eslint \"src/**/*.{js,ts,vue}\""
}
},
– 跳过校验
运用 --no-verify
指令能够跳过磨练划定规矩
git add . && git commit --no-verify -m "代码范例强迫提交测试"