-
Notifications
You must be signed in to change notification settings - Fork 0
/
.commitlintrc.js
114 lines (114 loc) · 3.03 KB
/
.commitlintrc.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
module.exports = {
parserPreset: {
parserOpts: {
// headerPattern:
// /^(?<type>.*\s\w*)(?:\((?<scope>.*)\))?!?:\s(?<subject>(?:(?!#).)*(?:(?!\s).))$/,
headerCorrespondence: ['type', 'scope', 'subject'],
},
},
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [2, 'always'],
'scope-max-length': [2, 'always', 30],
'scope-case': [2, 'always', 'lower-case'],
'subject-case': [
2,
'never',
['sentence-case', 'start-case', 'pascal-case', 'upper-case'],
],
'subject-empty': [2, 'never'],
'subject-max-length': [2, 'always', 80],
'subject-min-length': [2, 'always', 1],
'subject-exclamation-mark': [2, 'never'],
'subject-full-stop': [2, 'never', '.'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'feat',
'fix',
'refactor',
'docs',
'test',
'ci',
'perf',
'tooling',
'chore',
'wip',
],
],
},
prompt: {
settings: {
enableMultipleScopes: true,
scopeEnumSeparator: ',',
},
messages: {
skip: ':skip',
max: 'max %d chars',
min: 'min %d chars',
emptyWarning: 'can not be empty',
upperLimitWarning: 'over limit',
lowerLimitWarning: 'below limit',
},
questions: {
type: {
description: "The type of change you're committing",
enum: {
'feat': {
description: 'A feature',
title: 'Features',
},
'fix': {
description: 'A bug fix',
title: 'Bug Fixes',
},
'refactor': {
description:
'A code change that neither fixes a bug nor adds a feature',
title: 'Code Refactoring',
},
'docs': {
description: 'Documentation only changes',
title: 'Documentation',
},
'test': {
description: 'Adding missing tests or correcting existing tests',
title: 'Tests',
},
'ci': {
description: '(DO NOT USE) Code comitted by CI',
title: 'CI',
},
'perf': {
description: 'A performance improvement',
title: 'Performance Improvements',
},
'tooling': {
description:
'Changes that affect the project or workspaces (file system, dev env, ci/cd)',
title: 'Internal Tooling',
},
'chore': {
description: "Other changes that don't modify src or test files",
title: 'Chores',
},
'wip': {
title: 'Work in progress',
description: 'A work in progress',
},
},
},
scope: {
description:
'The scope of this change (ex. browser, react:client)',
},
subject: {
description:
'A short imperative-tense description of the change',
},
},
},
};