forked from Iris-IV/ProofOfHeart-frontend
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommitlint.config.js
More file actions
140 lines (139 loc) · 4.59 KB
/
Copy pathcommitlint.config.js
File metadata and controls
140 lines (139 loc) · 4.59 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
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/**
* Commitlint configuration for ProofOfHeart Frontend
* Enforces Conventional Commits format with custom rules
*
* Format: <type>(<scope>): <subject>
* Example: feat(auth): add email verification
*/
module.exports = {
extends: ["@commitlint/config-conventional"],
rules: {
"type-enum": [
2,
"always",
[
"feat", // A new feature
"fix", // A bug fix
"docs", // Documentation only changes
"style", // Changes that do not affect the meaning of the code (formatting, missing semicolons, etc)
"refactor", // A code change that neither fixes a bug nor adds a feature
"perf", // A code change that improves performance
"test", // Adding missing tests or correcting existing tests
"chore", // Changes to build process, dependencies, or tooling
"ci", // Changes to CI/CD configuration files and scripts
"revert", // Reverts a previous commit
],
],
"type-case": [2, "always", "lowercase"],
"type-empty": [2, "never"],
"scope-case": [2, "always", "lowercase"],
"scope-empty": [0], // Scope is optional
"subject-empty": [2, "never"],
"subject-full-stop": [2, "never", "."],
"subject-case": [2, "never", ["start-case", "pascal-case", "upper-case"]],
"header-max-length": [2, "always", 100],
"body-leading-blank": [2, "always"],
"footer-leading-blank": [2, "always"],
// Git trailers such as Co-authored-by may legitimately exceed the subject/body limit.
"footer-max-line-length": [0, "always", 100],
},
prompt: {
settings: {},
messages: {
skip: ":skip",
max: "upper %s",
min: "lower %s",
emptyNotAllowed: "empty not allowed",
upperLimitExceeded: "upper limit exceeded by %s characters",
commitIsNotInScope: 'commit "%s" is not in scope of allowed commits',
},
questions: {
type: {
description: "Select the type of change that you're committing:",
enum: {
feat: {
description: "A new feature",
title: "Features",
emoji: "✨",
},
fix: {
description: "A bug fix",
title: "Bug Fixes",
emoji: "🐛",
},
docs: {
description: "Documentation only changes",
title: "Documentation",
emoji: "📚",
},
style: {
description:
"Changes that do not affect the meaning of the code (formatting, missing semicolons, etc)",
title: "Styles",
emoji: "💎",
},
refactor: {
description: "A code change that neither fixes a bug nor adds a feature",
title: "Code Refactoring",
emoji: "📦",
},
perf: {
description: "A code change that improves performance",
title: "Performance Improvements",
emoji: "🚀",
},
test: {
description: "Adding missing tests or correcting existing tests",
title: "Tests",
emoji: "🧪",
},
chore: {
description: "Changes to build process, dependencies, or tooling",
title: "Chores",
emoji: "🔧",
},
ci: {
description: "Changes to CI/CD configuration files and scripts",
title: "CI/CD",
emoji: "⚙️",
},
revert: {
description: "Reverts a previous commit",
title: "Reverts",
emoji: "⏮️",
},
},
},
scope: {
description: "What is the scope of this change (optional)?",
},
subject: {
description: "Write a short, imperative tense description of the change:",
},
body: {
description:
'Provide a longer description of the changes (optional). Use "|" to break new line:',
},
isBreaking: {
description: "Are there any breaking changes?",
},
breakingBody: {
description:
"A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself:",
},
breaking: {
description: "Describe the breaking changes:",
},
isIssueAffected: {
description: "Does this change affect any open issues?",
},
issuesBody: {
description:
"If issues are closed, the commit requires a body. Please enter a longer description of the commit itself:",
},
issues: {
description: 'Add issue references (e.g. "fixes #123", "refs #456"):',
},
},
},
};