为了提交更有意义,记录一下简单的提交规范。
commitlint
commitlint和eslint类似,commitlint是用来规范提交规范的。 一般的提交规范类似:
type(scope?): subject
type 代表提交的类型;scope是可选的,代表提交的范围模块;subject代表这次提交的具体内容。
常见的type
- build:代码已构建
- ci:持续集成
- chore:构建或工具变动
- docs:文档
- feat:新功能
- fix:修复bug
- perf:性能
- refactor:重构代码
- revert:回退
- style:格式,不影响代码功能
- test:测试
安装
安装cli工具,然后安装@commitlint/config-conventional规范。
npm install --save-dev @commitlint/{config-conventional,cli}
提交commit检查
安装husky,监听提交
npm install husky --save-dev
然后在package.json中写入如下:
// package.json
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
}
}
至此最简单的提交lint就好了。
自定义commilint
在根目录新建配置文件commitlint.config.js
大致结构如下:
// commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'], // 这个就是我们上面安装的开源的规范
rules: {
'type-enum': [
// 配置的具体规则(这里是提交的type)
// 报错级别 0为disable,1为warning,2为error 就是检查的级别
2,
// 可选always|never 是否应用
'always',
// 枚举的type值,不在下面的都报错,你随便写个helloworld都行
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test'
]
]
}
}
上面只是举了一个配置,配置差不多,只是含义不一样,详细配置看: 详细配置