文章目录
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唯一账号!关注我,带你了解更多前端知识!
版权归原作者 励志前端 所有, 如有侵权,请联系我们删除。