Skip to content

Commit f1bcc3c

Browse files
author
youncccat
committed
[Test::config] add test case for config generator
1 parent a5bc4ae commit f1bcc3c

File tree

9 files changed

+102
-70
lines changed

9 files changed

+102
-70
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ node_modules
33
packages/**/node_modules
44

55
# dist
6-
dist
6+
dist
7+
packages/**/dist

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"devDependencies": {
1313
"@commitlint/cli": "^12.1.4",
1414
"@commitlint/config-conventional": "^12.1.4",
15+
"@types/jest": "^26.0.23",
1516
"jest": "^27.0.1",
1617
"jest-config": "^27.0.1",
1718
"lerna": "^4.0.0",

packages/commitlint-config-wizardoc/dist/index.d.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/commitlint-config-wizardoc/dist/index.js

Lines changed: 0 additions & 30 deletions
This file was deleted.

packages/commitlint-config-wizardoc/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
"compile": "tsc"
88
},
99
"devDependencies": {
10-
"@commitlint/config-conventional": "^12.1.4",
11-
"@commitlint/parse": "^12.1.4",
1210
"@commitlint/types": "^12.1.4"
1311
},
1412
"dependencies": {}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import {
2+
LexicalElement,
3+
CommitType,
4+
CONVERSION_MATCH_REGEX,
5+
} from "./constants";
6+
import { UserConfig } from "@commitlint/types";
7+
import { enumerateValues } from "./utils/enum";
8+
9+
export const config: UserConfig = {
10+
parserPreset: {
11+
name: "",
12+
path: "",
13+
parserOpts: {
14+
headerPattern: CONVERSION_MATCH_REGEX,
15+
headerCorrespondence: [
16+
LexicalElement.TYPE,
17+
LexicalElement.SCOPE,
18+
LexicalElement.SUBJECT,
19+
],
20+
},
21+
},
22+
rules: {
23+
// 'subject-exclamation-mark': [2, 'never'],
24+
"footer-leading-blank": [1, "always"],
25+
"header-max-length": [2, "always", 72],
26+
// 'scope-case': [2, 'always', 'lower-case'],
27+
"subject-case": [2, "never", ["upper-case"] as any],
28+
// 'subject-empty': [2, 'never'],
29+
"subject-full-stop": [2, "never", "."],
30+
"type-empty": [2, "never"],
31+
"scope-empty": [1, "never"],
32+
"type-enum": [2, "always", enumerateValues(CommitType)],
33+
},
34+
};
Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,3 @@
1-
import {
2-
LexicalElement,
3-
CommitType,
4-
CONVERSION_MATCH_REGEX,
5-
} from "./constants";
6-
import { UserConfig } from "@commitlint/types";
7-
import { enumerateValues } from "./utils/enum";
8-
9-
const config: UserConfig = {
10-
parserPreset: {
11-
name: "",
12-
path: "",
13-
parserOpts: {
14-
headerPattern: CONVERSION_MATCH_REGEX,
15-
headerCorrespondence: [
16-
LexicalElement.TYPE,
17-
LexicalElement.SCOPE,
18-
LexicalElement.SUBJECT,
19-
],
20-
},
21-
},
22-
rules: {
23-
// 'subject-exclamation-mark': [2, 'never'],
24-
"footer-leading-blank": [1, "always"],
25-
"header-max-length": [2, "always", 72],
26-
// 'scope-case': [2, 'always', 'lower-case'],
27-
"subject-case": [2, "never", ["upper-case"] as any],
28-
// 'subject-empty': [2, 'never'],
29-
"subject-full-stop": [2, "never", "."],
30-
"type-empty": [2, "never"],
31-
"scope-empty": [1, "never"],
32-
"type-enum": [2, "always", enumerateValues(CommitType)],
33-
},
34-
};
1+
import { config } from "./config";
352

363
export = config;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { config } from "../config";
2+
3+
describe("validate config structure", () => {
4+
it("should return a correct config", () => {
5+
expect(config).toHaveProperty("rules");
6+
expect(config).toHaveProperty("parserPreset");
7+
});
8+
});

yarn.lock

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,17 @@
606606
source-map "^0.6.1"
607607
write-file-atomic "^3.0.0"
608608

609+
"@jest/types@^26.6.2":
610+
version "26.6.2"
611+
resolved "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
612+
integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
613+
dependencies:
614+
"@types/istanbul-lib-coverage" "^2.0.0"
615+
"@types/istanbul-reports" "^3.0.0"
616+
"@types/node" "*"
617+
"@types/yargs" "^15.0.0"
618+
chalk "^4.0.0"
619+
609620
"@jest/types@^27.0.1":
610621
version "27.0.1"
611622
resolved "https://registry.npmjs.org/@jest/types/-/types-27.0.1.tgz"
@@ -1551,6 +1562,14 @@
15511562
dependencies:
15521563
"@types/istanbul-lib-report" "*"
15531564

1565+
"@types/jest@^26.0.23":
1566+
version "26.0.23"
1567+
resolved "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7"
1568+
integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==
1569+
dependencies:
1570+
jest-diff "^26.0.0"
1571+
pretty-format "^26.0.0"
1572+
15541573
"@types/minimatch@^3.0.3":
15551574
version "3.0.4"
15561575
resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz"
@@ -1591,6 +1610,13 @@
15911610
resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz"
15921611
integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
15931612

1613+
"@types/yargs@^15.0.0":
1614+
version "15.0.13"
1615+
resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc"
1616+
integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==
1617+
dependencies:
1618+
"@types/yargs-parser" "*"
1619+
15941620
"@types/yargs@^16.0.0":
15951621
version "16.0.3"
15961622
resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz"
@@ -2517,6 +2543,11 @@ dezalgo@^1.0.0:
25172543
asap "^2.0.0"
25182544
wrappy "1"
25192545

2546+
diff-sequences@^26.6.2:
2547+
version "26.6.2"
2548+
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
2549+
integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
2550+
25202551
diff-sequences@^27.0.1:
25212552
version "27.0.1"
25222553
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz"
@@ -3643,6 +3674,16 @@ jest-config@^27.0.1:
36433674
micromatch "^4.0.4"
36443675
pretty-format "^27.0.1"
36453676

3677+
jest-diff@^26.0.0:
3678+
version "26.6.2"
3679+
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
3680+
integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
3681+
dependencies:
3682+
chalk "^4.0.0"
3683+
diff-sequences "^26.6.2"
3684+
jest-get-type "^26.3.0"
3685+
pretty-format "^26.6.2"
3686+
36463687
jest-diff@^27.0.1:
36473688
version "27.0.1"
36483689
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.1.tgz"
@@ -3696,6 +3737,11 @@ jest-environment-node@^27.0.1:
36963737
jest-mock "^27.0.1"
36973738
jest-util "^27.0.1"
36983739

3740+
jest-get-type@^26.3.0:
3741+
version "26.3.0"
3742+
resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
3743+
integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
3744+
36993745
jest-get-type@^27.0.1:
37003746
version "27.0.1"
37013747
resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz"
@@ -5149,6 +5195,16 @@ prelude-ls@~1.1.2:
51495195
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
51505196
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
51515197

5198+
pretty-format@^26.0.0, pretty-format@^26.6.2:
5199+
version "26.6.2"
5200+
resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
5201+
integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
5202+
dependencies:
5203+
"@jest/types" "^26.6.2"
5204+
ansi-regex "^5.0.0"
5205+
ansi-styles "^4.0.0"
5206+
react-is "^17.0.1"
5207+
51525208
pretty-format@^27.0.1:
51535209
version "27.0.1"
51545210
resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.1.tgz"

0 commit comments

Comments
 (0)