Skip to content

Commit 78d319a

Browse files
committed
commitlint: add When enum
1 parent 93c8a3a commit 78d319a

File tree

3 files changed

+34
-30
lines changed

3 files changed

+34
-30
lines changed

commitlint.config.ts

Lines changed: 25 additions & 27 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,44 +13,44 @@ 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-
"empty-wip": [RuleConfigSeverity.Error, "always"],
23-
"footer-leading-blank": [RuleConfigSeverity.Warning, "always"],
22+
"empty-wip": [RuleConfigSeverity.Error, When.Always],
23+
"footer-leading-blank": [RuleConfigSeverity.Warning, When.Always],
2424
"footer-max-line-length": [
2525
RuleConfigSeverity.Error,
26-
"always",
26+
When.Always,
2727
footerMaxLineLength,
2828
],
29-
"footer-notes-misplacement": [RuleConfigSeverity.Error, "always"],
30-
"footer-references-existence": [RuleConfigSeverity.Error, "always"],
29+
"footer-notes-misplacement": [RuleConfigSeverity.Error, When.Always],
30+
"footer-references-existence": [RuleConfigSeverity.Error, When.Always],
3131
"header-max-length-with-suggestions": [
3232
RuleConfigSeverity.Error,
33-
"always",
33+
When.Always,
3434
headerMaxLineLength,
3535
],
36-
"subject-full-stop": [RuleConfigSeverity.Error, "never", "."],
37-
"type-space-after-colon": [RuleConfigSeverity.Error, "always"],
38-
"subject-lowercase": [RuleConfigSeverity.Error, "always"],
39-
"body-prose": [RuleConfigSeverity.Error, "always"],
40-
"type-space-after-comma": [RuleConfigSeverity.Error, "always"],
41-
"trailing-whitespace": [RuleConfigSeverity.Error, "always"],
42-
"prefer-slash-over-backslash": [RuleConfigSeverity.Error, "always"],
43-
"type-space-before-paren": [RuleConfigSeverity.Error, "always"],
44-
"type-with-square-brackets": [RuleConfigSeverity.Error, "always"],
45-
"proper-issue-refs": [RuleConfigSeverity.Error, "always"],
46-
"too-many-spaces": [RuleConfigSeverity.Error, "always"],
47-
"commit-hash-alone": [RuleConfigSeverity.Error, "always"],
48-
"title-uppercase": [RuleConfigSeverity.Error, "always"],
36+
"subject-full-stop": [RuleConfigSeverity.Error, When.Never, "."],
37+
"type-space-after-colon": [RuleConfigSeverity.Error, When.Always],
38+
"subject-lowercase": [RuleConfigSeverity.Error, When.Always],
39+
"body-prose": [RuleConfigSeverity.Error, When.Always],
40+
"type-space-after-comma": [RuleConfigSeverity.Error, When.Always],
41+
"trailing-whitespace": [RuleConfigSeverity.Error, When.Always],
42+
"prefer-slash-over-backslash": [RuleConfigSeverity.Error, When.Always],
43+
"type-space-before-paren": [RuleConfigSeverity.Error, When.Always],
44+
"type-with-square-brackets": [RuleConfigSeverity.Error, When.Always],
45+
"proper-issue-refs": [RuleConfigSeverity.Error, When.Always],
46+
"too-many-spaces": [RuleConfigSeverity.Error, When.Always],
47+
"commit-hash-alone": [RuleConfigSeverity.Error, When.Always],
48+
"title-uppercase": [RuleConfigSeverity.Error, When.Always],
4949

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

5656
// Commitlint automatically ignores some kinds of commits like Revert commit messages.
@@ -153,8 +153,6 @@ module.exports = {
153153
},
154154
when: string
155155
) => {
156-
Helpers.assertWhen(when);
157-
158156
let bodyStr = Helpers.convertAnyToString(body, "body");
159157
let headerStr = Helpers.assertNotNull(
160158
Helpers.convertAnyToString(header, "header"),
@@ -163,7 +161,7 @@ module.exports = {
163161
return Plugins.defaultRevertMessage(
164162
headerStr,
165163
bodyStr,
166-
when
164+
Helpers.assertWhen(when)
167165
);
168166
},
169167

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) {
@@ -265,7 +265,7 @@ export abstract class Plugins {
265265
public static defaultRevertMessage(
266266
headerStr: string,
267267
bodyStr: string | null,
268-
when: string
268+
when: When
269269
) {
270270
let offence = false;
271271
let isRevertCommitMessage = headerStr.toLowerCase().includes("revert");

0 commit comments

Comments
 (0)