@bluelovers/jest-config 1.1.1 → 1.1.3
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 +47 -0
- package/dist/index.cjs.development.cjs +22 -36
- package/dist/index.cjs.development.cjs.map +1 -1
- package/dist/index.cjs.production.min.cjs +63 -62
- package/dist/index.cjs.production.min.cjs.map +1 -1
- package/dist/index.d.ts +16 -11
- package/dist/index.esm.mjs +76 -79
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.development.cjs +24 -37
- package/dist/index.umd.development.cjs.map +1 -1
- package/dist/index.umd.production.min.cjs +61 -61
- package/dist/index.umd.production.min.cjs.map +1 -1
- package/package.json +5 -5
- package/src/defaults.ts +9 -10
- package/src/helper.ts +0 -43
- package/src/index.ts +12 -4
- package/src/plugin/ts-jest.ts +8 -1
- package/src/types.ts +9 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,12 @@ import { ITSWriteable } from 'ts-type/lib/helper/readonly';
|
|
|
5
5
|
import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';
|
|
6
6
|
|
|
7
7
|
export type IJestConfig = InitialOptionsTsJest | JestConfigWithTsJest;
|
|
8
|
+
export interface IRuntime<T extends IJestConfig = IJestConfig> {
|
|
9
|
+
jestConfig: T;
|
|
10
|
+
autoPrint: boolean;
|
|
11
|
+
options: IOptionsPrintJestConfigInfo;
|
|
12
|
+
newJestConfig?: T;
|
|
13
|
+
}
|
|
8
14
|
export declare function _newTableBorderless(options?: TableConstructorOptions): Table.Table;
|
|
9
15
|
export interface IOptionsPrintJestConfigInfo {
|
|
10
16
|
cwd?: string;
|
|
@@ -12,10 +18,6 @@ export interface IOptionsPrintJestConfigInfo {
|
|
|
12
18
|
}
|
|
13
19
|
export declare function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo): void;
|
|
14
20
|
export declare function _requireResolve(name: string): string;
|
|
15
|
-
/**
|
|
16
|
-
* @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts
|
|
17
|
-
*/
|
|
18
|
-
export declare function getCacheDirectory(): string;
|
|
19
21
|
export declare function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, "testMatch" | "testRegex">;
|
|
20
22
|
export declare function fixJestConfig<T extends IJestConfig>(jestConfig: T): T;
|
|
21
23
|
export declare function defaultTestFileExtensions(): [
|
|
@@ -24,17 +26,20 @@ export declare function defaultTestFileExtensions(): [
|
|
|
24
26
|
"mts",
|
|
25
27
|
"cts"
|
|
26
28
|
];
|
|
29
|
+
/**
|
|
30
|
+
* @see https://jestjs.io/docs/configuration#options
|
|
31
|
+
*/
|
|
27
32
|
export declare function defaultModuleFileExtensions(): [
|
|
28
|
-
"ts",
|
|
29
|
-
"tsx",
|
|
30
|
-
"mts",
|
|
31
|
-
"cts",
|
|
32
33
|
"js",
|
|
33
|
-
"jsx",
|
|
34
34
|
"mjs",
|
|
35
35
|
"cjs",
|
|
36
|
+
"jsx",
|
|
37
|
+
"ts",
|
|
38
|
+
"tsx",
|
|
36
39
|
"json",
|
|
37
|
-
"node"
|
|
40
|
+
"node",
|
|
41
|
+
"mts",
|
|
42
|
+
"cts"
|
|
38
43
|
];
|
|
39
44
|
export declare function defaultCoveragePathIgnorePatterns(): [
|
|
40
45
|
"/node_modules/",
|
|
@@ -57,7 +62,7 @@ export declare function defaultTestPathIgnorePatterns(): [
|
|
|
57
62
|
"__mocks__",
|
|
58
63
|
"/dist/"
|
|
59
64
|
];
|
|
60
|
-
export declare function defaultTransform(): ITSWriteable<{
|
|
65
|
+
export declare function defaultTransform(runtime: IRuntime): ITSWriteable<{
|
|
61
66
|
readonly ".(ts|tsx|mts|cts)$": [
|
|
62
67
|
string,
|
|
63
68
|
Record<string, unknown>
|
package/dist/index.esm.mjs
CHANGED
|
@@ -1,48 +1,52 @@
|
|
|
1
|
-
import { requireResolveExtra as
|
|
1
|
+
import { requireResolveExtra as e, requireResolveCore as t } from "@yarn-tool/require-resolve";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { console as s } from "debug-color2";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { defaults as o } from "jest-config";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { Table as r, applyStyleBorderless as n } from "@yarn-tool/table";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { inspect as i } from "util";
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { getJestCacheDirectory as l } from "jest-cache-directory";
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function _requireResolve(s) {
|
|
16
|
-
const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), n = e(s, {
|
|
13
|
+
function _requireResolve(o) {
|
|
14
|
+
const r = [ e("@bluelovers/tsdx").result, e("tsdx").result ].filter(Boolean), n = t(o, {
|
|
17
15
|
includeGlobal: !0,
|
|
18
16
|
includeCurrentDirectory: !0,
|
|
19
|
-
paths:
|
|
17
|
+
paths: r
|
|
20
18
|
});
|
|
21
|
-
return
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function getCacheDirectory() {
|
|
25
|
-
const {getuid: t} = process, e = process.env.JEST_CACHE_DIRECTORY || s(function tryRealpath(t) {
|
|
26
|
-
try {
|
|
27
|
-
t = n.native(t);
|
|
28
|
-
} catch (t) {
|
|
29
|
-
if ("ENOENT" !== t.code) throw t;
|
|
30
|
-
}
|
|
31
|
-
return t;
|
|
32
|
-
}(o()), "jest");
|
|
33
|
-
return null == t ? e : `${e}_${t.call(process).toString(36)}`;
|
|
19
|
+
return s.debug("[require.resolve]", o, "=>", n), n;
|
|
34
20
|
}
|
|
35
21
|
|
|
36
|
-
function makeTestRegexConfig(
|
|
22
|
+
function makeTestRegexConfig(e) {
|
|
37
23
|
return {
|
|
38
24
|
testMatch: void 0,
|
|
39
|
-
testRegex: [ `\\.(tests?|spec)\\.(${
|
|
25
|
+
testRegex: [ `\\.(tests?|spec)\\.(${e = [ e ].flat().join("|")})$`, `__tests__/.*\\.(tests?|spec)\\.(${e})$` ]
|
|
40
26
|
};
|
|
41
27
|
}
|
|
42
28
|
|
|
43
|
-
function fixJestConfig(
|
|
44
|
-
return
|
|
45
|
-
|
|
29
|
+
function fixJestConfig(e) {
|
|
30
|
+
return e.testMatch ? e.testRegex = void 0 : e.testRegex && (e.testMatch = void 0),
|
|
31
|
+
e;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function defaultTsJestTransformerOptions(e) {
|
|
35
|
+
var t, s;
|
|
36
|
+
const o = null !== (t = null === (s = e.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== t ? t : {}, r = "object" == typeof o.tsconfig ? o.tsconfig : {};
|
|
37
|
+
return {
|
|
38
|
+
...o,
|
|
39
|
+
tsconfig: {
|
|
40
|
+
noEmit: !0,
|
|
41
|
+
emitDeclarationOnly: !1,
|
|
42
|
+
noUnusedParameters: !1,
|
|
43
|
+
allowUnusedLabels: !0,
|
|
44
|
+
noUnusedLocals: !1,
|
|
45
|
+
noPropertyAccessFromIndexSignature: !1,
|
|
46
|
+
noImplicitAny: !1,
|
|
47
|
+
...r
|
|
48
|
+
}
|
|
49
|
+
};
|
|
46
50
|
}
|
|
47
51
|
|
|
48
52
|
function defaultTestFileExtensions() {
|
|
@@ -50,7 +54,7 @@ function defaultTestFileExtensions() {
|
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
function defaultModuleFileExtensions() {
|
|
53
|
-
return [
|
|
57
|
+
return [ ...o.moduleFileExtensions, "mts", "cts" ];
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
function defaultCoveragePathIgnorePatterns() {
|
|
@@ -61,38 +65,28 @@ function defaultTestPathIgnorePatterns() {
|
|
|
61
65
|
return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
|
|
62
66
|
}
|
|
63
67
|
|
|
64
|
-
function defaultTransform() {
|
|
65
|
-
const
|
|
68
|
+
function defaultTransform(t) {
|
|
69
|
+
const s = {
|
|
66
70
|
includeGlobal: !0,
|
|
67
71
|
includeCurrentDirectory: !0,
|
|
68
|
-
paths: [
|
|
72
|
+
paths: [ e("@bluelovers/jest-config").result ].filter(Boolean)
|
|
69
73
|
};
|
|
70
|
-
let
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
noUnusedLocals: !1,
|
|
78
|
-
noPropertyAccessFromIndexSignature: !1,
|
|
79
|
-
noImplicitAny: !1
|
|
80
|
-
}
|
|
81
|
-
} ];
|
|
82
|
-
const {result: o} = t("jest-tsd-transform", e);
|
|
83
|
-
if (null != o && o.length) {
|
|
84
|
-
const {result: r} = t("jest-chain-transform", e);
|
|
85
|
-
null != r && r.length && (s = [ r, {
|
|
86
|
-
transformers: [ o, s ]
|
|
74
|
+
let o = _requireResolve("ts-jest");
|
|
75
|
+
o = [ o, defaultTsJestTransformerOptions(t) ];
|
|
76
|
+
const {result: r} = e("jest-tsd-transform", s);
|
|
77
|
+
if (null != r && r.length) {
|
|
78
|
+
const {result: t} = e("jest-chain-transform", s);
|
|
79
|
+
null != t && t.length && (o = [ t, {
|
|
80
|
+
transformers: [ r, o ]
|
|
87
81
|
} ]);
|
|
88
82
|
}
|
|
89
83
|
return {
|
|
90
|
-
".(ts|tsx|mts|cts)$":
|
|
84
|
+
".(ts|tsx|mts|cts)$": o
|
|
91
85
|
};
|
|
92
86
|
}
|
|
93
87
|
|
|
94
|
-
function _newTableBorderless(
|
|
95
|
-
let
|
|
88
|
+
function _newTableBorderless(e) {
|
|
89
|
+
let t = new r({
|
|
96
90
|
colAligns: [ "right", "left" ],
|
|
97
91
|
chars: {
|
|
98
92
|
top: "",
|
|
@@ -111,51 +105,54 @@ function _newTableBorderless(t) {
|
|
|
111
105
|
"right-mid": "",
|
|
112
106
|
middle: ""
|
|
113
107
|
},
|
|
114
|
-
...
|
|
108
|
+
...e
|
|
115
109
|
});
|
|
116
|
-
return
|
|
110
|
+
return t = n(t), t;
|
|
117
111
|
}
|
|
118
112
|
|
|
119
|
-
function printJestConfigInfo(
|
|
120
|
-
var
|
|
121
|
-
const
|
|
122
|
-
null !== (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
(null === (
|
|
126
|
-
(null === (
|
|
127
|
-
(null === (a =
|
|
128
|
-
(null === (
|
|
129
|
-
|
|
113
|
+
function printJestConfigInfo(e, t) {
|
|
114
|
+
var o, r, n, l, u, f, a, _;
|
|
115
|
+
const d = _newTableBorderless();
|
|
116
|
+
null !== (o = t) && void 0 !== o || (t = {}), null !== (r = e) && void 0 !== r || (e = {}),
|
|
117
|
+
d.push([ "@bluelovers/jest-config:", "1.1.3" ]), d.push([ "process.versions.node:", process.versions.node ]),
|
|
118
|
+
d.push([ "cwd:", null !== (n = t.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (l = t.file) || void 0 === l ? void 0 : l.length) && d.push([ "file:", t.file ]),
|
|
119
|
+
(null === (u = e.cacheDirectory) || void 0 === u ? void 0 : u.length) && d.push([ "cacheDirectory:", e.cacheDirectory ]),
|
|
120
|
+
(null === (f = e.rootDir) || void 0 === f ? void 0 : f.length) && d.push([ "rootDir:", e.rootDir ]),
|
|
121
|
+
(null === (a = e.roots) || void 0 === a ? void 0 : a.length) && d.push([ "roots:", i(e.roots) ]),
|
|
122
|
+
(null === (_ = e.preset) || void 0 === _ ? void 0 : _.length) && d.push([ "preset:", e.preset ]),
|
|
123
|
+
e.transform && d.push([ "transform:", i(e.transform, {
|
|
130
124
|
depth: 3
|
|
131
|
-
}) ]),
|
|
125
|
+
}) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(d.toString()), s.gray.log("─".repeat(20));
|
|
132
126
|
}
|
|
133
127
|
|
|
134
|
-
const
|
|
128
|
+
const u = l();
|
|
135
129
|
|
|
136
|
-
function mixinJestConfig(
|
|
137
|
-
var o;
|
|
138
|
-
null !== (o =
|
|
139
|
-
const
|
|
130
|
+
function mixinJestConfig(e, t, s) {
|
|
131
|
+
var o, r;
|
|
132
|
+
null !== (o = e) && void 0 !== o || (e = {});
|
|
133
|
+
const n = fixJestConfig({
|
|
140
134
|
globals: {},
|
|
141
|
-
cacheDirectory:
|
|
135
|
+
cacheDirectory: u,
|
|
142
136
|
maxWorkers: 1,
|
|
143
137
|
clearMocks: !0,
|
|
144
138
|
passWithNoTests: !0,
|
|
145
|
-
moduleFileExtensions:
|
|
146
|
-
testEnvironment: "node",
|
|
139
|
+
moduleFileExtensions: defaultModuleFileExtensions(),
|
|
147
140
|
...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
|
|
148
141
|
testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
|
|
149
142
|
setupFilesAfterEnv: [],
|
|
150
|
-
transform: defaultTransform(),
|
|
151
143
|
verbose: !0,
|
|
152
144
|
coverageProvider: "v8",
|
|
153
145
|
collectCoverage: !1,
|
|
154
146
|
coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
|
|
155
|
-
...
|
|
147
|
+
...e
|
|
156
148
|
});
|
|
157
|
-
return
|
|
149
|
+
return null !== (r = n.transform) && void 0 !== r || (n.transform = defaultTransform({
|
|
150
|
+
jestConfig: e,
|
|
151
|
+
autoPrint: t,
|
|
152
|
+
options: s,
|
|
153
|
+
newJestConfig: n
|
|
154
|
+
})), t && printJestConfigInfo(n, s), n;
|
|
158
155
|
}
|
|
159
156
|
|
|
160
|
-
export { _newTableBorderless, _requireResolve,
|
|
157
|
+
export { _newTableBorderless, _requireResolve, u as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
|
|
161
158
|
//# 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/defaults.ts","../src/plugin/ts-jest.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { join } from 'path';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { realpathSync } from 'graceful-fs';\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\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts\n */\nexport function getCacheDirectory()\n{\n\tconst { getuid } = process;\n\tconst tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || join(tryRealpath(tmpdir()), 'jest');\n\tif (getuid == null)\n\t{\n\t\treturn tmpdirPath;\n\t}\n\telse\n\t{\n\t\t// On some platforms tmpdir() is `/tmp`, causing conflicts between different\n\t\t// users and permission issues. Adding an additional subdivision by UID can\n\t\t// help.\n\t\treturn `${tmpdirPath}_${getuid.call(process).toString(36)}`;\n\t}\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\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-util/src/tryRealpath.ts\n */\nexport default function tryRealpath(path: string): string\n{\n\ttry\n\t{\n\t\tpath = realpathSync.native(path);\n\t}\n\tcatch (error: any)\n\t{\n\t\tif (error.code !== 'ENOENT')\n\t\t{\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn path;\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';\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\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n\t\t'js',\n\t\t'jsx',\n\t\t'mjs',\n\t\t'cjs',\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()\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()];\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 { TsJestTransformerOptions } from 'ts-jest/dist/types';\n\nexport function defaultTsJestTransformerOptions()\n{\n\treturn {\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},\n\t} satisfies TsJestTransformerOptions\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, getCacheDirectory, 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';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\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\ttestEnvironment: '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\ttransform: 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\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","getCacheDirectory","getuid","process","tmpdirPath","env","join","tryRealpath","path","realpathSync","native","error","code","tmpdir","call","toString","makeTestRegexConfig","testExt","testMatch","testRegex","flat","fixJestConfig","jestConfig","defaultTestFileExtensions","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","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","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
|
|
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/dist/types';\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\nimport { defaults } from 'jest-config';\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...defaults.moduleFileExtensions as [\"js\", \"mjs\", \"cjs\", \"jsx\", \"ts\", \"tsx\", \"json\", \"node\"],\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'.(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","defaults","moduleFileExtensions","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","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.
|
|
5
|
-
})(this, (function (exports, requireResolve,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('debug-color2'), require('jest-config'), require('@yarn-tool/table'), require('util'), require('jest-cache-directory')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'debug-color2', 'jest-config', '@yarn-tool/table', 'util', 'jest-cache-directory'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.debugColor2, global.jestConfig, global.table, global.util, global.jestCacheDirectory));
|
|
5
|
+
})(this, (function (exports, requireResolve, debugColor2, jestConfig, table, util, jestCacheDirectory) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _requireResolve(name) {
|
|
8
8
|
const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
|
|
@@ -14,17 +14,6 @@
|
|
|
14
14
|
debugColor2.console.debug('[require.resolve]', name, '=>', result);
|
|
15
15
|
return result;
|
|
16
16
|
}
|
|
17
|
-
function getCacheDirectory() {
|
|
18
|
-
const {
|
|
19
|
-
getuid
|
|
20
|
-
} = process;
|
|
21
|
-
const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(tryRealpath(os.tmpdir()), 'jest');
|
|
22
|
-
if (getuid == null) {
|
|
23
|
-
return tmpdirPath;
|
|
24
|
-
} else {
|
|
25
|
-
return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
17
|
function makeTestRegexConfig(testExt) {
|
|
29
18
|
testExt = [testExt].flat().join('|');
|
|
30
19
|
return {
|
|
@@ -40,19 +29,13 @@
|
|
|
40
29
|
}
|
|
41
30
|
return jestConfig;
|
|
42
31
|
}
|
|
43
|
-
function tryRealpath(path) {
|
|
44
|
-
try {
|
|
45
|
-
path = gracefulFs.realpathSync.native(path);
|
|
46
|
-
} catch (error) {
|
|
47
|
-
if (error.code !== 'ENOENT') {
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return path;
|
|
52
|
-
}
|
|
53
32
|
|
|
54
|
-
function defaultTsJestTransformerOptions() {
|
|
33
|
+
function defaultTsJestTransformerOptions(runtime) {
|
|
34
|
+
var _runtime$jestConfig$g, _runtime$jestConfig$g2;
|
|
35
|
+
const old = (_runtime$jestConfig$g = (_runtime$jestConfig$g2 = runtime.jestConfig.globals) === null || _runtime$jestConfig$g2 === void 0 ? void 0 : _runtime$jestConfig$g2['ts-jest']) !== null && _runtime$jestConfig$g !== void 0 ? _runtime$jestConfig$g : {};
|
|
36
|
+
const tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};
|
|
55
37
|
return {
|
|
38
|
+
...old,
|
|
56
39
|
tsconfig: {
|
|
57
40
|
noEmit: true,
|
|
58
41
|
emitDeclarationOnly: false,
|
|
@@ -60,7 +43,8 @@
|
|
|
60
43
|
allowUnusedLabels: true,
|
|
61
44
|
noUnusedLocals: false,
|
|
62
45
|
noPropertyAccessFromIndexSignature: false,
|
|
63
|
-
noImplicitAny: false
|
|
46
|
+
noImplicitAny: false,
|
|
47
|
+
...tsconfig
|
|
64
48
|
}
|
|
65
49
|
};
|
|
66
50
|
}
|
|
@@ -70,7 +54,7 @@
|
|
|
70
54
|
return value;
|
|
71
55
|
}
|
|
72
56
|
function defaultModuleFileExtensions() {
|
|
73
|
-
const value = [
|
|
57
|
+
const value = [...jestConfig.defaults.moduleFileExtensions, 'mts', 'cts'];
|
|
74
58
|
return value;
|
|
75
59
|
}
|
|
76
60
|
function defaultCoveragePathIgnorePatterns() {
|
|
@@ -81,7 +65,7 @@
|
|
|
81
65
|
const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
|
|
82
66
|
return value;
|
|
83
67
|
}
|
|
84
|
-
function defaultTransform() {
|
|
68
|
+
function defaultTransform(runtime) {
|
|
85
69
|
const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
|
|
86
70
|
const opts = {
|
|
87
71
|
includeGlobal: true,
|
|
@@ -89,7 +73,7 @@
|
|
|
89
73
|
paths
|
|
90
74
|
};
|
|
91
75
|
let ts_transform = _requireResolve('ts-jest');
|
|
92
|
-
ts_transform = [ts_transform, defaultTsJestTransformerOptions()];
|
|
76
|
+
ts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];
|
|
93
77
|
const {
|
|
94
78
|
result: tsd
|
|
95
79
|
} = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
|
|
@@ -110,7 +94,7 @@
|
|
|
110
94
|
}
|
|
111
95
|
|
|
112
96
|
var name = "@bluelovers/jest-config";
|
|
113
|
-
var version = "1.1.
|
|
97
|
+
var version = "1.1.3";
|
|
114
98
|
|
|
115
99
|
function _newTableBorderless(options) {
|
|
116
100
|
let table$1 = new table.Table({
|
|
@@ -159,9 +143,9 @@
|
|
|
159
143
|
debugColor2.console.gray.log('─'.repeat(20));
|
|
160
144
|
}
|
|
161
145
|
|
|
162
|
-
const cacheDirectory = /*#__PURE__*/
|
|
146
|
+
const cacheDirectory = /*#__PURE__*/jestCacheDirectory.getJestCacheDirectory();
|
|
163
147
|
function mixinJestConfig(jestConfig, autoPrint, options) {
|
|
164
|
-
var _jestConfig;
|
|
148
|
+
var _jestConfig, _newJestConfig$transf;
|
|
165
149
|
(_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
|
|
166
150
|
const newJestConfig = fixJestConfig({
|
|
167
151
|
globals: {},
|
|
@@ -170,17 +154,21 @@
|
|
|
170
154
|
clearMocks: true,
|
|
171
155
|
passWithNoTests: true,
|
|
172
156
|
moduleFileExtensions: defaultModuleFileExtensions(),
|
|
173
|
-
testEnvironment: 'node',
|
|
174
157
|
...makeTestRegexConfig(defaultTestFileExtensions()),
|
|
175
158
|
testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
|
|
176
159
|
setupFilesAfterEnv: [],
|
|
177
|
-
transform: defaultTransform(),
|
|
178
160
|
verbose: true,
|
|
179
161
|
coverageProvider: 'v8',
|
|
180
162
|
collectCoverage: false,
|
|
181
163
|
coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
|
|
182
164
|
...jestConfig
|
|
183
165
|
});
|
|
166
|
+
(_newJestConfig$transf = newJestConfig.transform) !== null && _newJestConfig$transf !== void 0 ? _newJestConfig$transf : newJestConfig.transform = defaultTransform({
|
|
167
|
+
jestConfig,
|
|
168
|
+
autoPrint,
|
|
169
|
+
options,
|
|
170
|
+
newJestConfig
|
|
171
|
+
});
|
|
184
172
|
autoPrint && printJestConfigInfo(newJestConfig, options);
|
|
185
173
|
return newJestConfig;
|
|
186
174
|
}
|
|
@@ -188,14 +176,13 @@
|
|
|
188
176
|
exports._newTableBorderless = _newTableBorderless;
|
|
189
177
|
exports._requireResolve = _requireResolve;
|
|
190
178
|
exports.cacheDirectory = cacheDirectory;
|
|
191
|
-
exports
|
|
179
|
+
exports.default = mixinJestConfig;
|
|
192
180
|
exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
|
|
193
181
|
exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
|
|
194
182
|
exports.defaultTestFileExtensions = defaultTestFileExtensions;
|
|
195
183
|
exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
|
|
196
184
|
exports.defaultTransform = defaultTransform;
|
|
197
185
|
exports.fixJestConfig = fixJestConfig;
|
|
198
|
-
exports.getCacheDirectory = getCacheDirectory;
|
|
199
186
|
exports.makeTestRegexConfig = makeTestRegexConfig;
|
|
200
187
|
exports.mixinJestConfig = mixinJestConfig;
|
|
201
188
|
exports.printJestConfigInfo = printJestConfigInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.development.cjs","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 { join } from 'path';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { realpathSync } from 'graceful-fs';\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\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts\n */\nexport function getCacheDirectory()\n{\n\tconst { getuid } = process;\n\tconst tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || join(tryRealpath(tmpdir()), 'jest');\n\tif (getuid == null)\n\t{\n\t\treturn tmpdirPath;\n\t}\n\telse\n\t{\n\t\t// On some platforms tmpdir() is `/tmp`, causing conflicts between different\n\t\t// users and permission issues. Adding an additional subdivision by UID can\n\t\t// help.\n\t\treturn `${tmpdirPath}_${getuid.call(process).toString(36)}`;\n\t}\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\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-util/src/tryRealpath.ts\n */\nexport default function tryRealpath(path: string): string\n{\n\ttry\n\t{\n\t\tpath = realpathSync.native(path);\n\t}\n\tcatch (error: any)\n\t{\n\t\tif (error.code !== 'ENOENT')\n\t\t{\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn path;\n}\n","import { TsJestTransformerOptions } from 'ts-jest/dist/types';\n\nexport function defaultTsJestTransformerOptions()\n{\n\treturn {\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},\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';\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\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n\t\t'js',\n\t\t'jsx',\n\t\t'mjs',\n\t\t'cjs',\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()\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()];\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, getCacheDirectory, 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';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\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\ttestEnvironment: '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\ttransform: 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\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","getCacheDirectory","getuid","process","tmpdirPath","env","join","tryRealpath","tmpdir","call","toString","makeTestRegexConfig","testExt","flat","testMatch","testRegex","fixJestConfig","jestConfig","path","realpathSync","native","error","code","defaultTsJestTransformerOptions","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","value","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","push","jName","jVersion","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.development.cjs","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/dist/types';\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\nimport { defaults } from 'jest-config';\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...defaults.moduleFileExtensions as [\"js\", \"mjs\", \"cjs\", \"jsx\", \"ts\", \"tsx\", \"json\", \"node\"],\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'.(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","flat","join","testMatch","testRegex","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","value","defaultModuleFileExtensions","defaults","moduleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","jName","jVersion","process","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","toString","getJestCacheDirectory","mixinJestConfig","autoPrint","newJestConfig","maxWorkers","clearMocks","passWithNoTests","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
|