文章目录
commitlint.config.js配置文件中文文档(附使用示例)
commitlint.config.js
是
@commitlint/cli
包的配置文件,通过配置这个文件,我们可以规范我们Git的提交记录。
它可以对我们提交日志进行校验,必须符合一定格式的
Git commit message
才能提交入库。
通过这种规范,再配合
conventional-changelog
等工具,可以自动生成
ChangeLog
。
每发布一个版本,都能把修改内容自动整理出来,自动形成版本发布日志,非常方便!
使用示例
使用示例可以参考我之前的一篇文章:新版husky8.0配合commitlint,规范我们的git的提交记录
本篇文章主要是整理其配置项的英文文档,需要改配置的时候,就来看看!
配置项的格式
commitlint
的规则由名称和
数组
组成,格式为:
"rule-name": [Level,Applicable,Value]
- Level可取值有
0,1,2:0-禁用 1-警告 2-错误 - Applicable可取值有
always和never:always- 应用never- 应用其反面,类似"取反" - Value:用于此规则的值,可以为
number/string/array等类型
可用的
rule-name
包括:
body-full-stop
- condition: 提交的
body以value结尾 - rule:
never默认为never,提交信息不以value值结尾 - value: 默认值
.
以这个配置项举例,后续的默认配置以此类推,翻译过来就是,其默认配置如下:
// 校验条件:提交的`body`以`value`结尾"body-full-stop":[0,'never','.']
此默认配置表示,提交的
commit message
不能以字符
.
结尾
body-leading-blank
- condition:
body以空行开始 - rule:
always
body-empty
- condition:
body是否可为空 - rule:
never
body-max-length
- condition:
body的最大长度 - rule:
always - value:
Infinity默认无穷大
body-max-line-length
- condition:
body最大行数 - rule:
always - value:
Infinity默认无穷大
body-min-length
- condition:
body最小长度 - rule:
always - value:
0默认为0
body-case
- condition:
body的格式 - rule:
always - value:
lower-case默认是小写格式可用的格式列表:
[
'lower-case', // default
'upper-case', // UPPERCASE
'camel-case', // camelCase
'kebab-case', // kebab-case
'pascal-case', // PascalCase
'sentence-case', // Sentence case
'snake-case', // snake_case
'start-case' // Start Case
]
footer-leading-blank
- condition:
footer是否以空行开始 - rule:
always
footer-empty
- condition:
footer是否可为空 - rule:
never
footer-max-length
- condition:
footer最大长度 - rule:
always - value:
Infinity默认无穷大
footer-max-line-length
- condition:
footer最大行数 - rule:
always - value:
Infinity默认无穷大
footer-min-length
- condition:
footer最小长度 - rule:
always - value:
0默认为0
header-case
- condition:
header的格式 - rule:
always - value:
lower-case默认小写格式,可用列表同上
header-full-stop
- condition: 提交的
header以value结尾 - rule:
never默认为never,提交信息不以.结尾 - value: 默认值
.
header-max-length
- condition:
header最大长度 - rule:
always - value:
72默认72个字符
header-min-length
- condition:
header最小长度 - rule:
always - value:
0默认为0
references-empty
- condition:
references是否必须有至少一个入口 - rule:
never
scope-enum
- condition: 影响范围
scope的枚举,提交信息时只能从中选择 - rule:
always - value:
[]
scope-case
- condition:
scope的格式 - rule:
always - value:
lower-case默认小写格式,可用列表同上
scope-empty
- condition:
scope是否为空 - rule:
never
scope-max-length
- condition:
scope最大长度 - rule:
always - value:
Infinity默认无穷大
scope-min-length
- condition:
scope最小长度 - rule:
always - value:
0默认为0
subject-case
- condition:
subject的格式,默认其中之一:['sentence-case', 'start-case', 'pascal-case', 'upper-case'] - rule:
always - value: 默认[‘sentence-case’, ‘start-case’, ‘pascal-case’, ‘upper-case’],可用列表同上
subject-empty
- condition:
subject是否为空 - rule:
never
subject-full-stop
- condition:
subject结尾符 - rule:
never - value:
.
subject-max-length
- condition:
subject最大长度 - rule:
always - value:
Infinity默认无穷大
subject-min-length
- condition:
subject最小长度 - rule:
always - value:
0
subject-exclamation-mark
- condition:
subject在:之前是否需要一个感叹号 - rule:
never
type-enum
- condition:
type的类型列表 - rule:
always - value: 默认值
['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'revert']
type-case
- description:
type的输入格式 - rule:
always - value:
'lower-case',默认为小写,可选列表同上
type-empty
- condition:
type是否可为空 - rule:
never
type-max-length
- condition:
type最大长度 - rule:
always - value:
Infinity默认无穷大
type-min-length
- condition:
type最小长度 - rule:
always - value:
0默认为0
signed-off-by
- condition:
message是否包含value - rule:
always - value: 默认值
'Signed-off-by:'
trailer-exists
- condition:
message是否有附加信息 - rule:
always - value:
never
最后附一个原文链接:
commitlint配置文件原文(英文的):https://github.com/conventional-changelog/commitlint/blob/master/docs/reference-rules.md
觉得有用,还请点赞收藏!
励志前端,CSDN唯一账号!关注我,带你了解更多前端知识!
版权归原作者 励志前端 所有, 如有侵权,请联系我们删除。