-
Notifications
You must be signed in to change notification settings - Fork 779
/
commitlint.config.js
72 lines (70 loc) · 3.54 KB
/
commitlint.config.js
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
const { execSync } = require('child_process');
// @tip: git branch name = feature/issue_33 => auto get defaultIssues = #33
const issue = execSync('git rev-parse --abbrev-ref HEAD').toString().trim().split('_')[1];
/** @type {import('cz-git').UserConfig} */
module.exports = {
ignores: [commit => commit.includes('init')],
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 108],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'subject-case': [0],
'type-enum': [
2,
'always',
['feat', 'fix', 'perf', 'style', 'docs', 'test', 'refactor', 'build', 'ci', 'chore', 'revert', 'wip', 'workflow', 'types', 'release']
]
},
prompt: {
messages: {
type: '确保本次提交遵循 Angular 规范!\n选择你要提交的类型:',
scope: '选择一个提交范围(可选):',
customScope: '请输入自定义的提交范围: ',
subject: '填写简短精炼的变更描述:\n',
body: '填写更加详细的变更描述(可选)。使用 "|" 换行:\n',
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行:\n',
footerPrefixsSelect: '选择关联issue前缀(可选):',
customFooterPrefixs: '输入自定义issue前缀 :',
footer: '列举关联issue (可选) 例如: #31, #I3244 :',
confirmCommit: '是否提交或修改 commit ?'
},
types: [
{ value: 'feat', name: 'feat: 新增功能' },
{ value: 'fix', name: 'fix: 修复缺陷' },
{ value: 'types', name: 'types: 类型修改' },
{ value: 'docs', name: 'docs: 文档变更' },
{ value: 'perf', name: 'perf: 性能优化' },
{ value: 'style', name: 'style: 代码格式(不影响功能,例如空格、分号等格式修正)' },
{ value: 'refactor', name: 'refactor: 代码重构(不包括 bug 修复、功能新增)' },
{ value: 'test', name: 'test: 添加、修改测试用例' },
{ value: 'build', name: 'build: 构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等)' },
{ value: 'ci', name: 'ci: 修改 CI 配置、脚本' },
{ value: 'revert', name: 'revert: 回滚 commit' },
{ value: 'wip', name: 'wip: 功能开发中' },
{ value: 'workflow', name: 'workflow: 工作流程变更' },
{ value: 'chore', name: 'chore: 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)' }
],
scopes: [
{ value: 'components', name: 'components: 组件相关' },
{ value: 'hooks', name: 'hooks: 组件相关' },
{ value: 'utils', name: 'utils: utils 相关' },
{ value: 'element-ui', name: 'element-ui: 对 element-ui 的调整' },
{ value: 'styles', name: 'styles: 对样式的调整' },
{ value: 'deps', name: 'deps: 项目依赖' },
{ value: 'auth', name: 'auth: 对 auth 修改' },
{ value: 'other', name: 'other: 其他修改' }
],
customScopesAlign: 'top-bottom',
customScopesAlias: 'custom: 以上都不是?我要自定义',
allowBreakingChanges: ['feat', 'fix'],
issuePrefixs: [
{ value: 'link', name: 'link: 链接 ISSUES 进行中' },
{ value: 'closed', name: 'closed: 标记 ISSUES 已完成' }
],
customIssuePrefixsAlign: !issue ? 'top' : 'bottom',
defaultIssues: !issue ? '' : `#${issue}`
}
};