-
Notifications
You must be signed in to change notification settings - Fork 1
/
commitlint.config.cjs
70 lines (68 loc) · 1.77 KB
/
commitlint.config.cjs
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
const configBase = require("./commitlint.base.cjs");
// eslint-disable-next-line no-undef
const isRunningInCI = !!process.env.GITLAB_CI;
const level = isRunningInCI ? 1 : 2;
module.exports = {
rules: {
"type-enum": [level, "always", Object.keys(configBase.types)],
"type-case": [level, "always", "lower-case"],
"type-empty": [level, "never"],
"scope-enum": [level, "always", configBase.scopes],
"scope-empty": [level, "never"],
"subject-empty": [level, "never"],
"jira-empty": [level, "never"],
},
plugins: [
{
rules: {
"jira-empty": ({ subject }) => {
const jira_matcher = /QOOEO-\d+/;
jira_matcher.test(subject);
const passed = jira_matcher.test(subject);
const errorMsg = "You must provide refer";
return [passed, errorMsg];
},
},
},
],
messages: {
skip: ":skip",
max: "upper %d chars",
min: "%d chars at least",
emptyWarning: "can not be empty",
upperLimitWarning: "over limit",
lowerLimitWarning: "below limit",
},
helpUrl: "",
prompt: {
settings: {
enableMultipleScopes: true,
scopeEnumSeparator: ",",
},
questions: {
type: {
description: "type",
enum: configBase.types,
},
scope: {
description: "scope",
enum: configBase.scopes,
},
subject: {
description: "Write a short, imperative tense description of the change",
},
body: {
description: "Provide a longer description of the change",
},
isBreaking: {
description: "Are there any breaking changes?",
},
breaking: {
description: "Describe the breaking changes",
},
jira: {
description: "Add reference",
},
},
},
};