-
Notifications
You must be signed in to change notification settings - Fork 537
Expand file tree
/
Copy pathcommitlint.config.js
More file actions
57 lines (54 loc) · 1.69 KB
/
commitlint.config.js
File metadata and controls
57 lines (54 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [
2,
'always',
[
'feat', // 新功能
'fix', // 修复bug
'docs', // 文档更新
'style', // 代码格式(不影响功能)
'refactor', // 代码重构
'perf', // 性能优化
'test', // 添加或修改测试
'chore', // 构建过程或辅助工具的变动(用于描述不直接影响源代码或测试的维护性任务)
'ci', // 持续集成相关
'build', // 构建相关(专门用于与构建系统和构建过程相关的更改)
'revert', // 回退某个提交
'release', // 发布版本
'WIP', // 工作进行中(暂未完成,不应该合并)
// 待补充
],
],
// 'scope-enum': [
// 2,
// 'always',
// [
// 'core', // cherry-markdown 项目
// 'client', // 客户端部分
// 'vscodePlugin', // VSCode 插件
// 'global', // Monorepo 结构(可省略)
// 'scripts', // 脚本
// // 待补充
// ],
// ],
// 自定义规则:确保冒号后面有且只有一个空格
'header-format': [2, 'always'],
},
plugins: [
{
rules: {
'header-format': (parsed) => {
const { raw } = parsed;
// 简化规则,只检查冒号后面是否有且只有一个空格
const hasExactlyOneSpace = /^[a-zA-Z]+(\([a-zA-Z0-9_-]+\))?:\s[^\s]/.test(raw);
if (!hasExactlyOneSpace) {
return [false, '冒号后面必须有且只有一个空格'];
}
return [true];
}
}
}
]
};