Skip to content

Commit a5cb5c6

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

File tree

3 files changed

+35
-31
lines changed

3 files changed

+35
-31
lines changed

commitlint.config.ts

Lines changed: 26 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,45 @@ 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": [RuleConfigSeverity.Error, When.Always],
23+
"empty-wip": [RuleConfigSeverity.Error, When.Always],
24+
"footer-leading-blank": [RuleConfigSeverity.Warning, When.Always],
2525
"footer-max-line-length": [
2626
RuleConfigSeverity.Error,
27-
"always",
27+
When.Always,
2828
footerMaxLineLength,
2929
],
30-
"footer-notes-misplacement": [RuleConfigSeverity.Error, "always"],
31-
"footer-refs-validity": [RuleConfigSeverity.Error, "always"],
30+
"footer-notes-misplacement": [RuleConfigSeverity.Error, When.Always],
31+
"footer-refs-validity": [RuleConfigSeverity.Error, When.Always],
3232
"header-max-length-with-suggestions": [
3333
RuleConfigSeverity.Error,
34-
"always",
34+
When.Always,
3535
headerMaxLineLength,
3636
],
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"],
37+
"subject-full-stop": [RuleConfigSeverity.Error, When.Never, "."],
38+
"type-space-after-colon": [RuleConfigSeverity.Error, When.Always],
39+
"subject-lowercase": [RuleConfigSeverity.Error, When.Always],
40+
"body-prose": [RuleConfigSeverity.Error, When.Always],
41+
"type-space-after-comma": [RuleConfigSeverity.Error, When.Always],
42+
"trailing-whitespace": [RuleConfigSeverity.Error, When.Always],
43+
"prefer-slash-over-backslash": [RuleConfigSeverity.Error, When.Always],
44+
"type-space-before-paren": [RuleConfigSeverity.Error, When.Always],
45+
"type-with-square-brackets": [RuleConfigSeverity.Error, When.Always],
46+
"proper-issue-refs": [RuleConfigSeverity.Error, When.Always],
47+
"too-many-spaces": [RuleConfigSeverity.Error, When.Always],
48+
"commit-hash-alone": [RuleConfigSeverity.Error, When.Always],
49+
"title-uppercase": [RuleConfigSeverity.Error, When.Always],
5050

5151
// disabled because most of the time it doesn't work, due to https://github.com/conventional-changelog/commitlint/issues/3404
5252
// 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"],
53+
"type-empty": [RuleConfigSeverity.Disabled, When.Never],
54+
"default-revert-message": [RuleConfigSeverity.Error, When.Never],
5555
},
5656

5757
// Commitlint automatically ignores some kinds of commits like Revert commit messages.
@@ -156,8 +156,6 @@ module.exports = {
156156
},
157157
when: string
158158
) => {
159-
Helpers.assertWhen(when);
160-
161159
let bodyStr = Helpers.convertAnyToString(body, "body");
162160
let headerStr = Helpers.assertNotNull(
163161
Helpers.convertAnyToString(header, "header"),
@@ -166,7 +164,7 @@ module.exports = {
166164
return Plugins.defaultRevertMessage(
167165
headerStr,
168166
bodyStr,
169-
when
167+
Helpers.assertWhen(when)
170168
);
171169
},
172170

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)