Skip to content

Commit 81f50e3

Browse files
committed
commitlint: add When enum
1 parent 09d1e26 commit 81f50e3

File tree

3 files changed

+38
-31
lines changed

3 files changed

+38
-31
lines changed

commitlint.config.ts

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Helpers } from "./commitlint/helpers";
1+
import { Helpers, When } from "./commitlint/helpers";
22
import { Plugins } from "./commitlint/plugins";
33
import { RuleConfigSeverity } from "@commitlint/types";
44

@@ -13,45 +13,48 @@ function notNullStringErrorMessage(stringType: string): string {
1313
module.exports = {
1414
parserPreset: "conventional-changelog-conventionalcommits",
1515
rules: {
16-
"body-leading-blank": [RuleConfigSeverity.Error, "always"],
16+
"body-leading-blank": [RuleConfigSeverity.Error, When.Always],
1717
"body-soft-max-line-length": [
1818
RuleConfigSeverity.Error,
19-
"always",
19+
When.Always,
2020
bodyMaxLineLength,
2121
],
22-
"body-paragraph-line-min-length": [RuleConfigSeverity.Error, "always"],
23-
"empty-wip": [RuleConfigSeverity.Error, "always"],
24-
"footer-leading-blank": [RuleConfigSeverity.Warning, "always"],
22+
"body-paragraph-line-min-length": [
23+
RuleConfigSeverity.Error,
24+
When.Always,
25+
],
26+
"empty-wip": [RuleConfigSeverity.Error, When.Always],
27+
"footer-leading-blank": [RuleConfigSeverity.Warning, When.Always],
2528
"footer-max-line-length": [
2629
RuleConfigSeverity.Error,
27-
"always",
30+
When.Always,
2831
footerMaxLineLength,
2932
],
30-
"footer-notes-misplacement": [RuleConfigSeverity.Error, "always"],
31-
"footer-refs-validity": [RuleConfigSeverity.Error, "always"],
33+
"footer-notes-misplacement": [RuleConfigSeverity.Error, When.Always],
34+
"footer-refs-validity": [RuleConfigSeverity.Error, When.Always],
3235
"header-max-length-with-suggestions": [
3336
RuleConfigSeverity.Error,
34-
"always",
37+
When.Always,
3538
headerMaxLineLength,
3639
],
37-
"subject-full-stop": [RuleConfigSeverity.Error, "never", "."],
38-
"type-space-after-colon": [RuleConfigSeverity.Error, "always"],
39-
"subject-lowercase": [RuleConfigSeverity.Error, "always"],
40-
"body-prose": [RuleConfigSeverity.Error, "always"],
41-
"type-space-after-comma": [RuleConfigSeverity.Error, "always"],
42-
"trailing-whitespace": [RuleConfigSeverity.Error, "always"],
43-
"prefer-slash-over-backslash": [RuleConfigSeverity.Error, "always"],
44-
"type-space-before-paren": [RuleConfigSeverity.Error, "always"],
45-
"type-with-square-brackets": [RuleConfigSeverity.Error, "always"],
46-
"proper-issue-refs": [RuleConfigSeverity.Error, "always"],
47-
"too-many-spaces": [RuleConfigSeverity.Error, "always"],
48-
"commit-hash-alone": [RuleConfigSeverity.Error, "always"],
49-
"title-uppercase": [RuleConfigSeverity.Error, "always"],
40+
"subject-full-stop": [RuleConfigSeverity.Error, When.Never, "."],
41+
"type-space-after-colon": [RuleConfigSeverity.Error, When.Always],
42+
"subject-lowercase": [RuleConfigSeverity.Error, When.Always],
43+
"body-prose": [RuleConfigSeverity.Error, When.Always],
44+
"type-space-after-comma": [RuleConfigSeverity.Error, When.Always],
45+
"trailing-whitespace": [RuleConfigSeverity.Error, When.Always],
46+
"prefer-slash-over-backslash": [RuleConfigSeverity.Error, When.Always],
47+
"type-space-before-paren": [RuleConfigSeverity.Error, When.Always],
48+
"type-with-square-brackets": [RuleConfigSeverity.Error, When.Always],
49+
"proper-issue-refs": [RuleConfigSeverity.Error, When.Always],
50+
"too-many-spaces": [RuleConfigSeverity.Error, When.Always],
51+
"commit-hash-alone": [RuleConfigSeverity.Error, When.Always],
52+
"title-uppercase": [RuleConfigSeverity.Error, When.Always],
5053

5154
// disabled because most of the time it doesn't work, due to https://github.com/conventional-changelog/commitlint/issues/3404
5255
// and anyway we were using this rule only as a warning, not an error (because a scope is not required, e.g. when too broad)
53-
"type-empty": [RuleConfigSeverity.Disabled, "never"],
54-
"default-revert-message": [RuleConfigSeverity.Error, "never"],
56+
"type-empty": [RuleConfigSeverity.Disabled, When.Never],
57+
"default-revert-message": [RuleConfigSeverity.Error, When.Never],
5558
},
5659

5760
// Commitlint automatically ignores some kinds of commits like Revert commit messages.
@@ -156,8 +159,6 @@ module.exports = {
156159
},
157160
when: string
158161
) => {
159-
Helpers.assertWhen(when);
160-
161162
let bodyStr = Helpers.convertAnyToString(body, "body");
162163
let headerStr = Helpers.assertNotNull(
163164
Helpers.convertAnyToString(header, "header"),
@@ -166,7 +167,7 @@ module.exports = {
166167
return Plugins.defaultRevertMessage(
167168
headerStr,
168169
bodyStr,
169-
when
170+
Helpers.assertWhen(when)
170171
);
171172
},
172173

commitlint/helpers.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
export enum When {
2+
Never = "never",
3+
Always = "always",
4+
}
5+
16
export abstract class Helpers {
27
public static errMessageSuffix =
38
"\nFor reference, these are the guidelines that include our commit message conventions: https://github.com/nblockchain/conventions/blob/master/WorkflowGuidelines.md";
@@ -38,11 +43,12 @@ export abstract class Helpers {
3843
}
3944

4045
public static assertWhen(when: string) {
41-
if (when !== "never" && when !== "always") {
46+
if (when !== When.Never && when !== When.Always) {
4247
throw new Error(
4348
'Variable "when" should be either "never" or "always"'
4449
);
4550
}
51+
return when as When;
4652
}
4753

4854
public static assertCharacter(letter: string) {

commitlint/plugins.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { abbr } from "./abbreviations";
2-
import { Helpers } from "./helpers";
2+
import { Helpers, When } from "./helpers";
33

44
export abstract class Plugins {
55
public static bodyProse(rawStr: string) {
@@ -281,7 +281,7 @@ export abstract class Plugins {
281281
public static defaultRevertMessage(
282282
headerStr: string,
283283
bodyStr: string | null,
284-
when: string
284+
when: When
285285
) {
286286
let offence = false;
287287
let isRevertCommitMessage = headerStr.toLowerCase().includes("revert");

0 commit comments

Comments
 (0)