@bluelovers/jest-config 1.1.6 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/index.cjs.development.cjs +102 -33
- package/dist/index.cjs.development.cjs.map +1 -1
- package/dist/index.cjs.production.min.cjs +63 -47
- package/dist/index.cjs.production.min.cjs.map +1 -1
- package/dist/index.d.ts +71 -7
- package/dist/index.esm.mjs +90 -68
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.development.cjs +105 -37
- package/dist/index.umd.development.cjs.map +1 -1
- package/dist/index.umd.production.min.cjs +61 -47
- package/dist/index.umd.production.min.cjs.map +1 -1
- package/package.json +5 -5
- package/src/defaults.ts +30 -2
- package/src/helper.ts +21 -8
- package/src/index.ts +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Table } from '@yarn-tool/table';
|
|
|
2
2
|
import { TableConstructorOptions } from 'cli-table3';
|
|
3
3
|
import { InitialOptionsTsJest, JestConfigWithTsJest } from 'ts-jest';
|
|
4
4
|
import { ITSWriteable } from 'ts-type/lib/helper/readonly';
|
|
5
|
-
import {
|
|
5
|
+
import { ITSValueOrArrayMaybeReadonly } from 'ts-type/lib/type/base';
|
|
6
6
|
|
|
7
7
|
export type IJestConfig = InitialOptionsTsJest | JestConfigWithTsJest;
|
|
8
8
|
export interface IRuntime<T extends IJestConfig = IJestConfig> {
|
|
@@ -18,7 +18,9 @@ export interface IOptionsPrintJestConfigInfo {
|
|
|
18
18
|
}
|
|
19
19
|
export declare function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo): void;
|
|
20
20
|
export declare function _requireResolve(name: string): string;
|
|
21
|
-
export declare function makeTestRegexConfig(testExt:
|
|
21
|
+
export declare function makeTestRegexConfig<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>): Pick<InitialOptionsTsJest, "testMatch" | "testRegex">;
|
|
22
|
+
export declare function _handleFileExtensionsCore<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>): T[];
|
|
23
|
+
export declare function _handleFileExtensions<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>, sep: string): string;
|
|
22
24
|
export declare function fixJestConfig<T extends IJestConfig>(jestConfig: T): T;
|
|
23
25
|
export declare function defaultTestFileExtensions(): [
|
|
24
26
|
"ts",
|
|
@@ -41,6 +43,22 @@ export declare function defaultModuleFileExtensions(): [
|
|
|
41
43
|
"json",
|
|
42
44
|
"node"
|
|
43
45
|
];
|
|
46
|
+
export declare function defaultCoverageFileExtensions(): [
|
|
47
|
+
"js",
|
|
48
|
+
"mjs",
|
|
49
|
+
"cjs",
|
|
50
|
+
"jsx",
|
|
51
|
+
"ts",
|
|
52
|
+
"mts",
|
|
53
|
+
"cts",
|
|
54
|
+
"tsx"
|
|
55
|
+
];
|
|
56
|
+
export declare function defaultTransformFileExtensions(): [
|
|
57
|
+
"ts",
|
|
58
|
+
"tsx",
|
|
59
|
+
"mts",
|
|
60
|
+
"cts"
|
|
61
|
+
];
|
|
44
62
|
export declare function defaultCoveragePathIgnorePatterns(): [
|
|
45
63
|
"/node_modules/",
|
|
46
64
|
"/__snapshots__/",
|
|
@@ -63,13 +81,59 @@ export declare function defaultTestPathIgnorePatterns(): [
|
|
|
63
81
|
"/dist/"
|
|
64
82
|
];
|
|
65
83
|
export declare function defaultTransform(runtime: IRuntime): ITSWriteable<{
|
|
66
|
-
readonly ".
|
|
67
|
-
string,
|
|
68
|
-
Record<string, unknown>
|
|
69
|
-
];
|
|
84
|
+
readonly [x: string]: import("@jest/types/build/Config").TransformerConfig;
|
|
70
85
|
}>;
|
|
71
86
|
export declare const cacheDirectory: string;
|
|
72
|
-
export declare function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean, options?: IOptionsPrintJestConfigInfo):
|
|
87
|
+
export declare function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean, options?: IOptionsPrintJestConfigInfo): {
|
|
88
|
+
testPathIgnorePatterns: [
|
|
89
|
+
"/node_modules/",
|
|
90
|
+
"/__fixtures__/",
|
|
91
|
+
"/__file_snapshots__/",
|
|
92
|
+
"/fixtures/",
|
|
93
|
+
"/__tests__/helpers/",
|
|
94
|
+
"/__tests__/utils/",
|
|
95
|
+
"__mocks__",
|
|
96
|
+
"/dist/"
|
|
97
|
+
];
|
|
98
|
+
setupFilesAfterEnv: any[];
|
|
99
|
+
verbose: true;
|
|
100
|
+
/**
|
|
101
|
+
* if didn't set `coverageProvider` to `v8`
|
|
102
|
+
* with `collectCoverage` `true`, nodejs debug point maybe will fail
|
|
103
|
+
*/
|
|
104
|
+
coverageProvider: "v8";
|
|
105
|
+
collectCoverage: false;
|
|
106
|
+
coveragePathIgnorePatterns: [
|
|
107
|
+
"/node_modules/",
|
|
108
|
+
"/__snapshots__/",
|
|
109
|
+
"/__tests__/",
|
|
110
|
+
"/__test__/",
|
|
111
|
+
"/dist/",
|
|
112
|
+
"/test/",
|
|
113
|
+
"/fixture/",
|
|
114
|
+
"/__file_snapshots__/",
|
|
115
|
+
"/__fixtures__/"
|
|
116
|
+
];
|
|
117
|
+
testMatch?: string[];
|
|
118
|
+
testRegex?: string | string[];
|
|
119
|
+
globals: {};
|
|
120
|
+
cacheDirectory: string;
|
|
121
|
+
maxWorkers: number;
|
|
122
|
+
clearMocks: true;
|
|
123
|
+
passWithNoTests: true;
|
|
124
|
+
moduleFileExtensions: [
|
|
125
|
+
"js",
|
|
126
|
+
"mjs",
|
|
127
|
+
"cjs",
|
|
128
|
+
"jsx",
|
|
129
|
+
"ts",
|
|
130
|
+
"mts",
|
|
131
|
+
"cts",
|
|
132
|
+
"tsx",
|
|
133
|
+
"json",
|
|
134
|
+
"node"
|
|
135
|
+
];
|
|
136
|
+
} & T;
|
|
73
137
|
|
|
74
138
|
export {
|
|
75
139
|
mixinJestConfig as default,
|
package/dist/index.esm.mjs
CHANGED
|
@@ -1,37 +1,18 @@
|
|
|
1
|
-
import { requireResolveExtra as
|
|
1
|
+
import { requireResolveExtra as e, requireResolveCore as t } from "@yarn-tool/require-resolve";
|
|
2
2
|
|
|
3
3
|
import { console as s } from "debug-color2";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { array_unique as o } from "array-hyper-unique";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { Table as n, applyStyleBorderless as r } from "@yarn-tool/table";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { inspect as i } from "util";
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
const r = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), n = e(o, {
|
|
13
|
-
includeGlobal: !0,
|
|
14
|
-
includeCurrentDirectory: !0,
|
|
15
|
-
paths: r
|
|
16
|
-
});
|
|
17
|
-
return s.debug("[require.resolve]", o, "=>", n), n;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function makeTestRegexConfig(t) {
|
|
21
|
-
return {
|
|
22
|
-
testMatch: void 0,
|
|
23
|
-
testRegex: [ `\\.(tests?|spec)\\.(${t = [ t ].flat().join("|")})$`, `__tests__/.*\\.(tests?|spec)\\.(${t})$` ]
|
|
24
|
-
};
|
|
25
|
-
}
|
|
11
|
+
import { getJestCacheDirectory as l } from "jest-cache-directory";
|
|
26
12
|
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
t;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function defaultTsJestTransformerOptions(t) {
|
|
33
|
-
var e, s;
|
|
34
|
-
const o = null !== (e = null === (s = t.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== e ? e : {}, r = "object" == typeof o.tsconfig ? o.tsconfig : {};
|
|
13
|
+
function defaultTsJestTransformerOptions(e) {
|
|
14
|
+
var t, s;
|
|
15
|
+
const o = null !== (t = null === (s = e.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== t ? t : {}, n = "object" == typeof o.tsconfig ? o.tsconfig : {};
|
|
35
16
|
return {
|
|
36
17
|
...o,
|
|
37
18
|
tsconfig: {
|
|
@@ -42,7 +23,7 @@ function defaultTsJestTransformerOptions(t) {
|
|
|
42
23
|
noUnusedLocals: !1,
|
|
43
24
|
noPropertyAccessFromIndexSignature: !1,
|
|
44
25
|
noImplicitAny: !1,
|
|
45
|
-
...
|
|
26
|
+
...n
|
|
46
27
|
}
|
|
47
28
|
};
|
|
48
29
|
}
|
|
@@ -55,6 +36,14 @@ function defaultModuleFileExtensions() {
|
|
|
55
36
|
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx", "json", "node" ];
|
|
56
37
|
}
|
|
57
38
|
|
|
39
|
+
function defaultCoverageFileExtensions() {
|
|
40
|
+
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx" ];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function defaultTransformFileExtensions() {
|
|
44
|
+
return [ "ts", "tsx", "mts", "cts" ];
|
|
45
|
+
}
|
|
46
|
+
|
|
58
47
|
function defaultCoveragePathIgnorePatterns() {
|
|
59
48
|
return [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ];
|
|
60
49
|
}
|
|
@@ -63,28 +52,61 @@ function defaultTestPathIgnorePatterns() {
|
|
|
63
52
|
return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
|
|
64
53
|
}
|
|
65
54
|
|
|
66
|
-
function defaultTransform(
|
|
55
|
+
function defaultTransform(t) {
|
|
67
56
|
const s = {
|
|
68
57
|
includeGlobal: !0,
|
|
69
58
|
includeCurrentDirectory: !0,
|
|
70
|
-
paths: [
|
|
59
|
+
paths: [ e("@bluelovers/jest-config").result ].filter(Boolean)
|
|
71
60
|
};
|
|
72
61
|
let o = _requireResolve("ts-jest");
|
|
73
|
-
o = [ o, defaultTsJestTransformerOptions(
|
|
74
|
-
const {result:
|
|
75
|
-
if (null !=
|
|
76
|
-
const {result:
|
|
77
|
-
null !=
|
|
78
|
-
transformers: [
|
|
62
|
+
o = [ o, defaultTsJestTransformerOptions(t) ];
|
|
63
|
+
const {result: n} = e("jest-tsd-transform", s);
|
|
64
|
+
if (null != n && n.length) {
|
|
65
|
+
const {result: t} = e("jest-chain-transform", s);
|
|
66
|
+
null != t && t.length && (o = [ t, {
|
|
67
|
+
transformers: [ n, o ]
|
|
79
68
|
} ]);
|
|
80
69
|
}
|
|
81
70
|
return {
|
|
82
|
-
"
|
|
71
|
+
[`.(${_handleFileExtensions([ "ts", "tsx", "mts", "cts" ], "|")})$`]: o
|
|
83
72
|
};
|
|
84
73
|
}
|
|
85
74
|
|
|
86
|
-
function
|
|
87
|
-
|
|
75
|
+
function _requireResolve(o) {
|
|
76
|
+
const n = [ e("@bluelovers/tsdx").result, e("tsdx").result ].filter(Boolean), r = t(o, {
|
|
77
|
+
includeGlobal: !0,
|
|
78
|
+
includeCurrentDirectory: !0,
|
|
79
|
+
paths: n
|
|
80
|
+
});
|
|
81
|
+
return s.debug("[require.resolve]", o, "=>", r), r;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function makeTestRegexConfig(e) {
|
|
85
|
+
var t;
|
|
86
|
+
null !== (t = e) && void 0 !== t || (e = [ "ts", "tsx", "mts", "cts" ]);
|
|
87
|
+
const s = _handleFileExtensions(e, "|");
|
|
88
|
+
return {
|
|
89
|
+
testMatch: null,
|
|
90
|
+
testRegex: [ `\\.(tests?|spec)\\.(${s})$`, `__tests__/.*\\.(tests?|spec)\\.(${s})$` ]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function _handleFileExtensionsCore(e) {
|
|
95
|
+
return o([ e ].flat());
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function _handleFileExtensions(e, t) {
|
|
99
|
+
return _handleFileExtensionsCore(e).join(t);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function fixJestConfig(e) {
|
|
103
|
+
return e.testMatch ? e.testRegex = null : e.testRegex && (e.testMatch = null), e;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
var u = "@bluelovers/jest-config", a = "1.1.9";
|
|
107
|
+
|
|
108
|
+
function _newTableBorderless(e) {
|
|
109
|
+
let t = new n({
|
|
88
110
|
colAligns: [ "right", "left" ],
|
|
89
111
|
chars: {
|
|
90
112
|
top: "",
|
|
@@ -103,34 +125,34 @@ function _newTableBorderless(t) {
|
|
|
103
125
|
"right-mid": "",
|
|
104
126
|
middle: ""
|
|
105
127
|
},
|
|
106
|
-
...
|
|
128
|
+
...e
|
|
107
129
|
});
|
|
108
|
-
return
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function printJestConfigInfo(
|
|
112
|
-
var o,
|
|
113
|
-
const
|
|
114
|
-
null !== (o =
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
(null === (
|
|
118
|
-
(null === (
|
|
119
|
-
(null === (
|
|
120
|
-
(null === (
|
|
121
|
-
|
|
130
|
+
return t = r(t), t;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function printJestConfigInfo(e, t) {
|
|
134
|
+
var o, n, r, l, f, _, d, c;
|
|
135
|
+
const m = _newTableBorderless();
|
|
136
|
+
null !== (o = t) && void 0 !== o || (t = {}), null !== (n = e) && void 0 !== n || (e = {}),
|
|
137
|
+
m.push([ `${u}:`, a ]), m.push([ "process.versions.node:", process.versions.node ]),
|
|
138
|
+
m.push([ "cwd:", null !== (r = t.cwd) && void 0 !== r ? r : process.cwd() ]), (null === (l = t.file) || void 0 === l ? void 0 : l.length) && m.push([ "file:", t.file ]),
|
|
139
|
+
(null === (f = e.cacheDirectory) || void 0 === f ? void 0 : f.length) && m.push([ "cacheDirectory:", e.cacheDirectory ]),
|
|
140
|
+
(null === (_ = e.rootDir) || void 0 === _ ? void 0 : _.length) && m.push([ "rootDir:", e.rootDir ]),
|
|
141
|
+
(null === (d = e.roots) || void 0 === d ? void 0 : d.length) && m.push([ "roots:", i(e.roots) ]),
|
|
142
|
+
(null === (c = e.preset) || void 0 === c ? void 0 : c.length) && m.push([ "preset:", e.preset ]),
|
|
143
|
+
e.transform && m.push([ "transform:", i(e.transform, {
|
|
122
144
|
depth: 3
|
|
123
|
-
}) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(
|
|
145
|
+
}) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(m.toString()), s.gray.log("─".repeat(20));
|
|
124
146
|
}
|
|
125
147
|
|
|
126
|
-
const
|
|
148
|
+
const f = l();
|
|
127
149
|
|
|
128
|
-
function mixinJestConfig(
|
|
129
|
-
var o,
|
|
130
|
-
null !== (o =
|
|
131
|
-
const
|
|
150
|
+
function mixinJestConfig(e, t, s) {
|
|
151
|
+
var o, n;
|
|
152
|
+
null !== (o = e) && void 0 !== o || (e = {});
|
|
153
|
+
const r = fixJestConfig({
|
|
132
154
|
globals: {},
|
|
133
|
-
cacheDirectory:
|
|
155
|
+
cacheDirectory: f,
|
|
134
156
|
maxWorkers: 1,
|
|
135
157
|
clearMocks: !0,
|
|
136
158
|
passWithNoTests: !0,
|
|
@@ -142,15 +164,15 @@ function mixinJestConfig(t, e, s) {
|
|
|
142
164
|
coverageProvider: "v8",
|
|
143
165
|
collectCoverage: !1,
|
|
144
166
|
coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
|
|
145
|
-
...
|
|
167
|
+
...e
|
|
146
168
|
});
|
|
147
|
-
return null !== (
|
|
148
|
-
jestConfig:
|
|
149
|
-
autoPrint:
|
|
169
|
+
return null !== (n = r.transform) && void 0 !== n || (r.transform = defaultTransform({
|
|
170
|
+
jestConfig: e,
|
|
171
|
+
autoPrint: t,
|
|
150
172
|
options: s,
|
|
151
|
-
newJestConfig:
|
|
152
|
-
})),
|
|
173
|
+
newJestConfig: r
|
|
174
|
+
})), t && printJestConfigInfo(r, s), r;
|
|
153
175
|
}
|
|
154
176
|
|
|
155
|
-
export { _newTableBorderless, _requireResolve,
|
|
177
|
+
export { _handleFileExtensions, _handleFileExtensionsCore, _newTableBorderless, _requireResolve, f as cacheDirectory, mixinJestConfig as default, defaultCoverageFileExtensions, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, defaultTransformFileExtensions, fixJestConfig, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
|
|
156
178
|
//# sourceMappingURL=index.esm.mjs.map
|
package/dist/index.esm.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.mjs","sources":["../src/helper.ts","../src/plugin/ts-jest.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n","import { TsJestTransformerOptions } from 'ts-jest';\nimport { IRuntime } from '../types';\n\nexport function defaultTsJestTransformerOptions(runtime: IRuntime)\n{\n\tconst old: TsJestTransformerOptions = runtime.jestConfig.globals?.['ts-jest'] ?? {};\n\n\tconst tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};\n\n\treturn {\n\t\t...old,\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t\t...tsconfig,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\nimport { IRuntime } from './types';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\n/**\n * @see https://jestjs.io/docs/configuration#options\n */\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'js',\n\t\t'mjs',\n\t\t'cjs',\n\t\t'jsx',\n\t\t'ts',\n\t\t'mts',\n\t\t'cts',\n\t\t'tsx',\n\t\t'json',\n\t\t'node',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform(runtime: IRuntime)\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t'.(ts|tsx|mts|cts)$': ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\nimport { getJestCacheDirectory } from 'jest-cache-directory';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getJestCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo): T\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig<T>({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\t//testEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\t//transform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tnewJestConfig.transform ??= defaultTransform({\n\t\tjestConfig,\n\t\tautoPrint,\n\t\toptions,\n\t\tnewJestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","makeTestRegexConfig","testExt","testMatch","testRegex","flat","join","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","_options","_jestConfig","_options$cwd","_options$file","_jestConfig$cacheDire","_jestConfig$rootDir","_jestConfig$roots","_jestConfig$preset","push","process","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","toString","getJestCacheDirectory","mixinJestConfig","autoPrint","_newJestConfig$transf","newJestConfig","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":";;;;;;;;;;AAMM,SAAUA,gBAAgBC;EAE/B,MAAMC,IAAQ,EACbC,EAAoB,oBAAoBC,QACxCD,EAAoB,QAAQC,SAC3BC,OAAOC,UAEHF,IAASG,EAAmBN,GAAM;IACvCO,gBAAe;IACfC,0BAAyB;IACzBP;;EAKD,OAFAQ,EAAQC,MAAM,qBAAqBV,GAAM,MAAMG,IAExCA;AACR;;AAEM,SAAUQ,oBAAoBC;EAInC,OAAO;IACNC,gBAAW;IACXC,WAAW,EACV,uBALFF,IAAU,EAACA,IAASG,OAAOC,KAAK,UAM9B,mCAAqCJ;;AAGxC;;AAEM,SAAUK,cAAqCC;EAWpD,OATIA,EAAWL,YAEdK,EAAWJ,iBAAY,IAEfI,EAAWJ,cAEnBI,EAAWL,iBAAY;EAGjBK;AACR;;AC9CM,SAAUC,gCAAgCC;EAAiB,IAAAC,GAAAC;EAEhE,MAAMC,IAAuE,UAApEF,IAAuD,UAAvDC,IAA6BF,EAAQF,WAAWM,iBAAO,MAAAF,SAAA,IAA1BA,EAA6B,oBAAU,MAAAD,IAAAA,IAAI,IAE3EI,IAAmC,mBAAjBF,EAAIE,WAAwBF,EAAIE,WAAW;EAEnE,OAAO;OACHF;IACHE,UAAU;MACTC,SAAQ;MACRC,sBAAqB;MACrBC,qBAAoB;MACpBC,oBAAmB;MACnBC,iBAAgB;MAChBC,qCAAoC;MACpCC,gBAAe;SACZP;;;AAGN;;SCdgBQ;EAYf,OAVc,EACb,MACA,OACA,OACA;AAOF;;SAKgBC;EAcf,OAZc,EACb,MACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA;AAGF;;SAEgBC;EAgBf,OAdc,EACb,kBACA,mBACA,eACA,cAIA,UACA,UACA,aACA,wBACA;AAGF;;SAEgBC;EAYf,OAVc,EACb,kBACA,kBACA,wBACA,cACA,uBACA,qBACA,aACA;AAGF;;AAEM,SAAUC,iBAAiBjB;EAEhC,MAIMkB,IAAiB;IACtB/B,gBAAe;IACfC,0BAAyB;IACzBP,OAPuB,EACvBC,EAAoB,2BAA2BC,SAC9CC,OAAOC;;EAQT,IAAIkC,IAA0DxC,gBAAgB;EAE9EwC,IAAe,EAACA,GAAcpB,gCAAgCC;EAE9D,OAAQjB,QAAQqC,KAAQtC,EAAoB,sBAAsBoC;EAElE,IAAIE,aAAAA,EAAKC,QACT;IACC,OAAQtC,QAAQuC,KAAUxC,EAAoB,wBAAwBoC;IAElEI,aAAAA,EAAOD,WAEVF,IAAe,EACdG,GAAiC;MAChCC,cAAc,EACbH,GAEAD;;AAQJ;EAKD,OAHc;IACb,sBAAsBA;;AAGxB;;ACjHM,SAAUK,oBAAoBC;EAEnC,IAAIC,IAAQ,IAAIC,EAAM;IACrBC,WAAW,EAAC,SAAS;IAErBC,OAAO;MACNC,KAAK;MACL,WAAW;MACX,YAAY;MACZ,aAAa;MACbC,QAAQ;MACR,cAAc;MACd,eAAe;MACf,gBAAgB;MAChBC,MAAM;MACN,YAAY;MACZC,KAAK;MACL,WAAW;MACXC,OAAO;MACP,aAAa;MACbC,QAAQ;;OAENV;;EAKJ,OAFAC,IAAQU,EAAqBV,IAEtBA;AACR;;AAQgB,SAAAW,oBAAoBvC,GAAyB2B;EAAqC,IAAAa,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;EAEjG,MAAMnB,IAAQF;EAEP,UAAPc,IAAAb,WAAO,MAAAa,MAAPb,IAAY,KAEF,UAAVc,IAAAzC,WAAU,MAAAyC,MAAVzC,IAAe;EAEf4B,EAAMoB,KAAK,EAAC,wCACZpB,EAAMoB,KAAK,EAAyB,0BAAEC,QAAQC,SAASC;EACvDvB,EAAMoB,KAAK,EAAC,kBAAQrB,IAAAA,EAAQyB,2BAAOH,QAAQG,qBAE3CT,IAAAhB,EAAQ0B,iCAARV,EAAcpB,WAAUK,EAAMoB,KAAK,EAAC,SAASrB,EAAQ0B;aAErDT,IAAA5C,EAAWsD,2CAAXV,EAA2BrB,WAAUK,EAAMoB,KAAK,EAAC,mBAAmBhD,EAAWsD;aAE/ET,IAAA7C,EAAWuD,oCAAXV,EAAoBtB,WAAUK,EAAMoB,KAAK,EAAC,YAAYhD,EAAWuD;GACjD,UAAhBvD,IAAAA,EAAWwD,eAAK,MAAAV,SAAA,IAAhBA,EAAkBvB,WAAUK,EAAMoB,KAAK,EAAC,UAAUS,EAAQzD,EAAWwD;aAErET,IAAA/C,EAAW0D,mCAAXX,EAAmBxB,WAAUK,EAAMoB,KAAK,EAAC,WAAWhD,EAAW0D;EAE/D1D,EAAW2D,aAAa/B,EAAMoB,KAAK,EAAC,cAAcS,EAAQzD,EAAW2D,WAAW;IAC/EC,OAAO;SAGRrE,EAAQsE,KAAKC,IAAI,IAAIC,OAAO,MAC5BxE,EAAQuE,IAAI,gBACZvE,EAAQuE,IAAIlC,EAAMoC,aAClBzE,EAAQsE,KAAKC,IAAI,IAAIC,OAAO;AAC7B;;ACzDMT,MAAAA,IAAiBW;;SAIPC,gBAAuClE,GAAgBmE,GACtExC;EAAqC,IAAAc,GAAA2B;EAG3B,UAAV3B,IAAAzC,WAAU,MAAAyC,MAAVzC,IAAe;EACf,MAAMqE,IAAgBtE,cAAiB;IACtCO,SAAS,CAIR;IACDgD;IACAgB,YAAY;IACZC,aAAY;IACZC,kBAAiB;IACjBC,sBFNa,EACb,MACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA;OEDGhF,oBF3BU,EACb,MACA,OACA,OACA;IEwBAiF,wBF0Ba,EACb,kBACA,kBACA,wBACA,cACA,uBACA,qBACA,aACA;IEhCAC,oBAAoB;IAYpBC,UAAS;IAKTC,kBAAkB;IAClBC,kBAAiB;IACjBC,4BFda,EACb,kBACA,mBACA,eACA,cAIA,UACA,UACA,aACA,wBACA;OEOG/E;;EAYJ,OATuB,UAAvBqE,IAAAA,EAAcV,mBAAS,MAAAS,MAAvBC,EAAcV,YAAcxC,iBAAiB;IAC5CnB;IACAmE;IACAxC;IACA0C;OAGDF,KAAa5B,oBAAoB8B,GAAe1C,IAEzC0C;AACR;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.mjs","sources":["../src/plugin/ts-jest.ts","../src/defaults.ts","../src/helper.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { TsJestTransformerOptions } from 'ts-jest';\nimport { IRuntime } from '../types';\n\nexport function defaultTsJestTransformerOptions(runtime: IRuntime)\n{\n\tconst old: TsJestTransformerOptions = runtime.jestConfig.globals?.['ts-jest'] ?? {};\n\n\tconst tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};\n\n\treturn {\n\t\t...old,\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t\t...tsconfig,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _handleFileExtensions, _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\nimport { IRuntime } from './types';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\n/**\n * @see https://jestjs.io/docs/configuration#options\n */\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'js',\n\t\t'mjs',\n\t\t'cjs',\n\t\t'jsx',\n\t\t'ts',\n\t\t'mts',\n\t\t'cts',\n\t\t'tsx',\n\t\t'json',\n\t\t'node',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoverageFileExtensions()\n{\n\tconst value = [\n\t\t'js',\n\t\t'mjs',\n\t\t'cjs',\n\t\t'jsx',\n\t\t'ts',\n\t\t'mts',\n\t\t'cts',\n\t\t'tsx',\n\t\t//'json',\n\t\t//'node',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransformFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform(runtime: IRuntime)\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t[`.(${_handleFileExtensions(defaultTransformFileExtensions(), '|')})$`]: ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSValueOrArrayMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { IJestConfig } from './types';\nimport { defaultTestFileExtensions } from './defaults';\nimport { array_unique } from 'array-hyper-unique';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\nexport function makeTestRegexConfig<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt ??= defaultTestFileExtensions() as any as T[];\n\tconst _testExt = _handleFileExtensions(testExt, '|')\n\n\treturn {\n\t\ttestMatch: null as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${_testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${_testExt})$`,\n\t\t],\n\t}\n}\n\nexport function _handleFileExtensionsCore<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>)\n{\n\treturn array_unique([testExt].flat()) as T[]\n}\n\nexport function _handleFileExtensions<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>, sep: string)\n{\n\treturn _handleFileExtensionsCore(testExt).join(sep)\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = null;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = null;\n\t}\n\n\treturn jestConfig\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\nimport { getJestCacheDirectory } from 'jest-cache-directory';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getJestCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo)\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\t//testEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\t//transform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tnewJestConfig.transform ??= defaultTransform({\n\t\tjestConfig,\n\t\tautoPrint,\n\t\toptions,\n\t\tnewJestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","jestConfig","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","defaultModuleFileExtensions","defaultCoverageFileExtensions","defaultTransformFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","includeGlobal","includeCurrentDirectory","paths","requireResolveExtra","result","filter","Boolean","ts_transform","_requireResolve","tsd","length","chain","transformers","_handleFileExtensions","name","requireResolveCore","console","debug","makeTestRegexConfig","testExt","_testExt2","_testExt","testMatch","testRegex","_handleFileExtensionsCore","array_unique","flat","sep","join","fixJestConfig","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","_options","_jestConfig","_options$cwd","_options$file","_jestConfig$cacheDire","_jestConfig$rootDir","_jestConfig$roots","_jestConfig$preset","push","jName","jVersion","process","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","toString","getJestCacheDirectory","mixinJestConfig","autoPrint","_newJestConfig$transf","newJestConfig","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
|
|
@@ -1,34 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('debug-color2'), require('@yarn-tool/table'), require('util'), require('jest-cache-directory')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'debug-color2', '@yarn-tool/table', 'util', 'jest-cache-directory'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.debugColor2, global.table, global.util, global.jestCacheDirectory));
|
|
5
|
-
})(this, (function (exports, requireResolve, debugColor2, table, util, jestCacheDirectory) { 'use strict';
|
|
6
|
-
|
|
7
|
-
function _requireResolve(name) {
|
|
8
|
-
const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
|
|
9
|
-
const result = requireResolve.requireResolveCore(name, {
|
|
10
|
-
includeGlobal: true,
|
|
11
|
-
includeCurrentDirectory: true,
|
|
12
|
-
paths
|
|
13
|
-
});
|
|
14
|
-
debugColor2.console.debug('[require.resolve]', name, '=>', result);
|
|
15
|
-
return result;
|
|
16
|
-
}
|
|
17
|
-
function makeTestRegexConfig(testExt) {
|
|
18
|
-
testExt = [testExt].flat().join('|');
|
|
19
|
-
return {
|
|
20
|
-
testMatch: void 0,
|
|
21
|
-
testRegex: [`\\.(tests?|spec)\\.(${testExt})$`, `__tests__\/\.*\\.(tests?|spec)\\.(${testExt})$`]
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function fixJestConfig(jestConfig) {
|
|
25
|
-
if (jestConfig.testMatch) {
|
|
26
|
-
jestConfig.testRegex = void 0;
|
|
27
|
-
} else if (jestConfig.testRegex) {
|
|
28
|
-
jestConfig.testMatch = void 0;
|
|
29
|
-
}
|
|
30
|
-
return jestConfig;
|
|
31
|
-
}
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('debug-color2'), require('array-hyper-unique'), require('@yarn-tool/table'), require('util'), require('jest-cache-directory')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'debug-color2', 'array-hyper-unique', '@yarn-tool/table', 'util', 'jest-cache-directory'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.debugColor2, global.arrayHyperUnique, global.table, global.util, global.jestCacheDirectory));
|
|
5
|
+
})(this, (function (exports, requireResolve, debugColor2, arrayHyperUnique, table, util, jestCacheDirectory) { 'use strict';
|
|
32
6
|
|
|
33
7
|
function defaultTsJestTransformerOptions(runtime) {
|
|
34
8
|
var _runtime$jestConfig$g, _runtime$jestConfig$g2;
|
|
@@ -50,15 +24,40 @@
|
|
|
50
24
|
}
|
|
51
25
|
|
|
52
26
|
function defaultTestFileExtensions() {
|
|
53
|
-
const value = ['ts', 'tsx', 'mts', 'cts'
|
|
27
|
+
const value = ['ts', 'tsx', 'mts', 'cts'
|
|
28
|
+
// 'js',
|
|
29
|
+
// 'jsx',
|
|
30
|
+
// 'mjs',
|
|
31
|
+
// 'cjs',
|
|
32
|
+
];
|
|
33
|
+
|
|
54
34
|
return value;
|
|
55
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @see https://jestjs.io/docs/configuration#options
|
|
38
|
+
*/
|
|
56
39
|
function defaultModuleFileExtensions() {
|
|
57
40
|
const value = ['js', 'mjs', 'cjs', 'jsx', 'ts', 'mts', 'cts', 'tsx', 'json', 'node'];
|
|
58
41
|
return value;
|
|
59
42
|
}
|
|
43
|
+
function defaultCoverageFileExtensions() {
|
|
44
|
+
const value = ['js', 'mjs', 'cjs', 'jsx', 'ts', 'mts', 'cts', 'tsx'
|
|
45
|
+
//'json',
|
|
46
|
+
//'node',
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function defaultTransformFileExtensions() {
|
|
52
|
+
const value = ['ts', 'tsx', 'mts', 'cts'];
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
60
55
|
function defaultCoveragePathIgnorePatterns() {
|
|
61
|
-
const value = ['/node_modules/', '/__snapshots__/', '/__tests__/', '/__test__/',
|
|
56
|
+
const value = ['/node_modules/', '/__snapshots__/', '/__tests__/', '/__test__/',
|
|
57
|
+
//'**/node_modules/',
|
|
58
|
+
//'**/__snapshots__/',
|
|
59
|
+
//'**/__tests__/',
|
|
60
|
+
'/dist/', '/test/', '/fixture/', '/__file_snapshots__/', '/__fixtures__/'];
|
|
62
61
|
return value;
|
|
63
62
|
}
|
|
64
63
|
function defaultTestPathIgnorePatterns() {
|
|
@@ -83,22 +82,59 @@
|
|
|
83
82
|
} = requireResolve.requireResolveExtra('jest-chain-transform', opts);
|
|
84
83
|
if (chain !== null && chain !== void 0 && chain.length) {
|
|
85
84
|
ts_transform = [chain, {
|
|
86
|
-
transformers: [tsd,
|
|
85
|
+
transformers: [tsd,
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
ts_transform]
|
|
87
88
|
}];
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
const value = {
|
|
91
|
-
'
|
|
92
|
+
[`.(${_handleFileExtensions(defaultTransformFileExtensions(), '|')})$`]: ts_transform
|
|
92
93
|
};
|
|
93
94
|
return value;
|
|
94
95
|
}
|
|
95
96
|
|
|
97
|
+
function _requireResolve(name) {
|
|
98
|
+
const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
|
|
99
|
+
const result = requireResolve.requireResolveCore(name, {
|
|
100
|
+
includeGlobal: true,
|
|
101
|
+
includeCurrentDirectory: true,
|
|
102
|
+
paths
|
|
103
|
+
});
|
|
104
|
+
debugColor2.console.debug('[require.resolve]', name, '=>', result);
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
function makeTestRegexConfig(testExt) {
|
|
108
|
+
var _testExt2;
|
|
109
|
+
(_testExt2 = testExt) !== null && _testExt2 !== void 0 ? _testExt2 : testExt = defaultTestFileExtensions();
|
|
110
|
+
const _testExt = _handleFileExtensions(testExt, '|');
|
|
111
|
+
return {
|
|
112
|
+
testMatch: null,
|
|
113
|
+
testRegex: [`\\.(tests?|spec)\\.(${_testExt})$`, `__tests__\/\.*\\.(tests?|spec)\\.(${_testExt})$`]
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function _handleFileExtensionsCore(testExt) {
|
|
117
|
+
return arrayHyperUnique.array_unique([testExt].flat());
|
|
118
|
+
}
|
|
119
|
+
function _handleFileExtensions(testExt, sep) {
|
|
120
|
+
return _handleFileExtensionsCore(testExt).join(sep);
|
|
121
|
+
}
|
|
122
|
+
function fixJestConfig(jestConfig) {
|
|
123
|
+
if (jestConfig.testMatch) {
|
|
124
|
+
jestConfig.testRegex = null;
|
|
125
|
+
} else if (jestConfig.testRegex) {
|
|
126
|
+
jestConfig.testMatch = null;
|
|
127
|
+
}
|
|
128
|
+
return jestConfig;
|
|
129
|
+
}
|
|
130
|
+
|
|
96
131
|
var name = "@bluelovers/jest-config";
|
|
97
|
-
var version = "1.1.
|
|
132
|
+
var version = "1.1.9";
|
|
98
133
|
|
|
99
134
|
function _newTableBorderless(options) {
|
|
100
135
|
let table$1 = new table.Table({
|
|
101
136
|
colAligns: ['right', 'left'],
|
|
137
|
+
//colAligns: ['left', 'center', 'center', 'center'],
|
|
102
138
|
chars: {
|
|
103
139
|
top: '',
|
|
104
140
|
'top-mid': '',
|
|
@@ -125,6 +161,7 @@
|
|
|
125
161
|
var _options, _jestConfig, _options$cwd, _options$file, _jestConfig$cacheDire, _jestConfig$rootDir, _jestConfig$roots, _jestConfig$preset;
|
|
126
162
|
const table = _newTableBorderless();
|
|
127
163
|
(_options = options) !== null && _options !== void 0 ? _options : options = {};
|
|
164
|
+
// @ts-ignore
|
|
128
165
|
(_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
|
|
129
166
|
table.push([`${name}:`, version]);
|
|
130
167
|
table.push([`process.versions.node:`, process.versions.node]);
|
|
@@ -146,21 +183,48 @@
|
|
|
146
183
|
const cacheDirectory = /*#__PURE__*/jestCacheDirectory.getJestCacheDirectory();
|
|
147
184
|
function mixinJestConfig(jestConfig, autoPrint, options) {
|
|
148
185
|
var _jestConfig, _newJestConfig$transf;
|
|
186
|
+
// @ts-ignore
|
|
149
187
|
(_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
|
|
150
188
|
const newJestConfig = fixJestConfig({
|
|
151
|
-
globals: {
|
|
189
|
+
globals: {
|
|
190
|
+
// 'ts-jest': {
|
|
191
|
+
// //tsconfig: 'tsconfig.spec.json',
|
|
192
|
+
// },
|
|
193
|
+
},
|
|
152
194
|
cacheDirectory,
|
|
153
195
|
maxWorkers: 1,
|
|
154
196
|
clearMocks: true,
|
|
155
197
|
passWithNoTests: true,
|
|
156
198
|
moduleFileExtensions: defaultModuleFileExtensions(),
|
|
199
|
+
//testEnvironment: 'node',
|
|
200
|
+
//testMatch: ['**/*.test.ts', '**/*.spec.ts'],
|
|
157
201
|
...makeTestRegexConfig(defaultTestFileExtensions()),
|
|
158
202
|
testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
|
|
159
|
-
|
|
203
|
+
//testRunner: 'jest-circus/runner',
|
|
204
|
+
setupFilesAfterEnv: [
|
|
205
|
+
//"jest-chain",
|
|
206
|
+
//"jest-extended/all",
|
|
207
|
+
//"jest-extended-extra",
|
|
208
|
+
//"jest-num-close-with",
|
|
209
|
+
/**
|
|
210
|
+
* https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b
|
|
211
|
+
* https://github.com/doctolib/jest-os-detection
|
|
212
|
+
*/
|
|
213
|
+
//'jest-os-detection',
|
|
214
|
+
],
|
|
215
|
+
//transform: defaultTransform(),
|
|
160
216
|
verbose: true,
|
|
217
|
+
/**
|
|
218
|
+
* if didn't set `coverageProvider` to `v8`
|
|
219
|
+
* with `collectCoverage` `true`, nodejs debug point maybe will fail
|
|
220
|
+
*/
|
|
161
221
|
coverageProvider: 'v8',
|
|
162
222
|
collectCoverage: false,
|
|
163
223
|
coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
|
|
224
|
+
/**
|
|
225
|
+
* https://github.com/facebook/jest/issues/9771#issuecomment-872764344
|
|
226
|
+
*/
|
|
227
|
+
//resolver: 'jest-node-exports-resolver',
|
|
164
228
|
...jestConfig
|
|
165
229
|
});
|
|
166
230
|
(_newJestConfig$transf = newJestConfig.transform) !== null && _newJestConfig$transf !== void 0 ? _newJestConfig$transf : newJestConfig.transform = defaultTransform({
|
|
@@ -173,15 +237,19 @@
|
|
|
173
237
|
return newJestConfig;
|
|
174
238
|
}
|
|
175
239
|
|
|
240
|
+
exports._handleFileExtensions = _handleFileExtensions;
|
|
241
|
+
exports._handleFileExtensionsCore = _handleFileExtensionsCore;
|
|
176
242
|
exports._newTableBorderless = _newTableBorderless;
|
|
177
243
|
exports._requireResolve = _requireResolve;
|
|
178
244
|
exports.cacheDirectory = cacheDirectory;
|
|
179
245
|
exports.default = mixinJestConfig;
|
|
246
|
+
exports.defaultCoverageFileExtensions = defaultCoverageFileExtensions;
|
|
180
247
|
exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
|
|
181
248
|
exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
|
|
182
249
|
exports.defaultTestFileExtensions = defaultTestFileExtensions;
|
|
183
250
|
exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
|
|
184
251
|
exports.defaultTransform = defaultTransform;
|
|
252
|
+
exports.defaultTransformFileExtensions = defaultTransformFileExtensions;
|
|
185
253
|
exports.fixJestConfig = fixJestConfig;
|
|
186
254
|
exports.makeTestRegexConfig = makeTestRegexConfig;
|
|
187
255
|
exports.mixinJestConfig = mixinJestConfig;
|