@bluelovers/jest-config 1.1.8 → 1.1.10
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 +30 -0
- package/dist/index.cjs.development.cjs +61 -28
- package/dist/index.cjs.development.cjs.map +1 -1
- package/dist/index.cjs.production.min.cjs +60 -43
- package/dist/index.cjs.production.min.cjs.map +1 -1
- package/dist/index.d.ts +71 -4
- package/dist/index.esm.mjs +73 -50
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.development.cjs +64 -32
- package/dist/index.umd.development.cjs.map +1 -1
- package/dist/index.umd.production.min.cjs +57 -41
- package/dist/index.umd.production.min.cjs.map +1 -1
- package/package.json +3 -3
- package/src/defaults.ts +30 -2
- package/src/helper.ts +31 -8
- package/src/index.ts +2 -2
package/dist/index.esm.mjs
CHANGED
|
@@ -2,36 +2,17 @@ import { requireResolveExtra as t, requireResolveCore as e } from "@yarn-tool/re
|
|
|
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
|
-
}
|
|
26
|
-
|
|
27
|
-
function fixJestConfig(t) {
|
|
28
|
-
return t.testMatch ? t.testRegex = void 0 : t.testRegex && (t.testMatch = void 0),
|
|
29
|
-
t;
|
|
30
|
-
}
|
|
11
|
+
import { getJestCacheDirectory as l } from "jest-cache-directory";
|
|
31
12
|
|
|
32
13
|
function defaultTsJestTransformerOptions(t) {
|
|
33
14
|
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 : {},
|
|
15
|
+
const o = null !== (e = null === (s = t.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== e ? e : {}, 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
|
}
|
|
@@ -71,22 +60,56 @@ function defaultTransform(e) {
|
|
|
71
60
|
};
|
|
72
61
|
let o = _requireResolve("ts-jest");
|
|
73
62
|
o = [ o, defaultTsJestTransformerOptions(e) ];
|
|
74
|
-
const {result:
|
|
75
|
-
if (null !=
|
|
63
|
+
const {result: n} = t("jest-tsd-transform", s);
|
|
64
|
+
if (null != n && n.length) {
|
|
76
65
|
const {result: e} = t("jest-chain-transform", s);
|
|
77
66
|
null != e && e.length && (o = [ e, {
|
|
78
|
-
transformers: [
|
|
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
|
-
|
|
75
|
+
function _requireResolve(o) {
|
|
76
|
+
const n = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), r = e(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(t) {
|
|
85
|
+
var e;
|
|
86
|
+
null !== (e = t) && void 0 !== e || (t = [ "ts", "tsx", "mts", "cts" ]);
|
|
87
|
+
const s = _handleFileExtensions(t, "|");
|
|
88
|
+
return {
|
|
89
|
+
testMatch: null,
|
|
90
|
+
testRegex: [ `\\.(tests?|spec)\\.(${s})$`, `__tests__/.*\\.(tests?|spec)\\.(${s})$` ]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function _handleFileExtensionsCore(t) {
|
|
95
|
+
return o([ t ].flat());
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function _handleFileExtensions(t, e) {
|
|
99
|
+
return _handleFileExtensionsCore(t).join(e);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function fixJestConfig(t) {
|
|
103
|
+
var e, s, o;
|
|
104
|
+
return t.testMatch ? t.testRegex = null : t.testRegex && (t.testMatch = null), t.testURL && (null !== (e = t.testEnvironmentOptions) && void 0 !== e || (t.testEnvironmentOptions = {}),
|
|
105
|
+
t.testURL = null !== (o = (s = t.testEnvironmentOptions).url) && void 0 !== o ? o : s.url = t.testURL),
|
|
106
|
+
t;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
var u = "@bluelovers/jest-config", a = "1.1.10";
|
|
87
110
|
|
|
88
111
|
function _newTableBorderless(t) {
|
|
89
|
-
let e = new
|
|
112
|
+
let e = new n({
|
|
90
113
|
colAligns: [ "right", "left" ],
|
|
91
114
|
chars: {
|
|
92
115
|
top: "",
|
|
@@ -111,28 +134,28 @@ function _newTableBorderless(t) {
|
|
|
111
134
|
}
|
|
112
135
|
|
|
113
136
|
function printJestConfigInfo(t, e) {
|
|
114
|
-
var o, r,
|
|
115
|
-
const
|
|
116
|
-
null !== (o = e) && void 0 !== o || (e = {}), null !== (
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
(null === (
|
|
120
|
-
(null === (
|
|
121
|
-
(null === (d = t.roots) || void 0 === d ? void 0 : d.length) &&
|
|
122
|
-
(null === (c = t.preset) || void 0 === c ? void 0 : c.length) &&
|
|
123
|
-
t.transform &&
|
|
137
|
+
var o, n, r, l, f, _, d, c;
|
|
138
|
+
const m = _newTableBorderless();
|
|
139
|
+
null !== (o = e) && void 0 !== o || (e = {}), null !== (n = t) && void 0 !== n || (t = {}),
|
|
140
|
+
m.push([ `${u}:`, a ]), m.push([ "process.versions.node:", process.versions.node ]),
|
|
141
|
+
m.push([ "cwd:", null !== (r = e.cwd) && void 0 !== r ? r : process.cwd() ]), (null === (l = e.file) || void 0 === l ? void 0 : l.length) && m.push([ "file:", e.file ]),
|
|
142
|
+
(null === (f = t.cacheDirectory) || void 0 === f ? void 0 : f.length) && m.push([ "cacheDirectory:", t.cacheDirectory ]),
|
|
143
|
+
(null === (_ = t.rootDir) || void 0 === _ ? void 0 : _.length) && m.push([ "rootDir:", t.rootDir ]),
|
|
144
|
+
(null === (d = t.roots) || void 0 === d ? void 0 : d.length) && m.push([ "roots:", i(t.roots) ]),
|
|
145
|
+
(null === (c = t.preset) || void 0 === c ? void 0 : c.length) && m.push([ "preset:", t.preset ]),
|
|
146
|
+
t.transform && m.push([ "transform:", i(t.transform, {
|
|
124
147
|
depth: 3
|
|
125
|
-
}) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(
|
|
148
|
+
}) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(m.toString()), s.gray.log("─".repeat(20));
|
|
126
149
|
}
|
|
127
150
|
|
|
128
|
-
const
|
|
151
|
+
const f = l();
|
|
129
152
|
|
|
130
153
|
function mixinJestConfig(t, e, s) {
|
|
131
|
-
var o,
|
|
154
|
+
var o, n;
|
|
132
155
|
null !== (o = t) && void 0 !== o || (t = {});
|
|
133
|
-
const
|
|
156
|
+
const r = fixJestConfig({
|
|
134
157
|
globals: {},
|
|
135
|
-
cacheDirectory:
|
|
158
|
+
cacheDirectory: f,
|
|
136
159
|
maxWorkers: 1,
|
|
137
160
|
clearMocks: !0,
|
|
138
161
|
passWithNoTests: !0,
|
|
@@ -146,13 +169,13 @@ function mixinJestConfig(t, e, s) {
|
|
|
146
169
|
coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
|
|
147
170
|
...t
|
|
148
171
|
});
|
|
149
|
-
return null !== (
|
|
172
|
+
return null !== (n = r.transform) && void 0 !== n || (r.transform = defaultTransform({
|
|
150
173
|
jestConfig: t,
|
|
151
174
|
autoPrint: e,
|
|
152
175
|
options: s,
|
|
153
|
-
newJestConfig:
|
|
154
|
-
})), e && printJestConfigInfo(
|
|
176
|
+
newJestConfig: r
|
|
177
|
+
})), e && printJestConfigInfo(r, s), r;
|
|
155
178
|
}
|
|
156
179
|
|
|
157
|
-
export { _newTableBorderless, _requireResolve,
|
|
180
|
+
export { _handleFileExtensions, _handleFileExtensionsCore, _newTableBorderless, _requireResolve, f as cacheDirectory, mixinJestConfig as default, defaultCoverageFileExtensions, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, defaultTransformFileExtensions, fixJestConfig, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
|
|
158
181
|
//# 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","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":";;;;;;;;;;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,iBAAnBF,MAA0BA,SAA1BA,IAAAA,EAA6B,oBAAUD,MAAAA,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;;AAQL;EAKA,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;EAEPc,UAAPA,IAAAb,WAAOa,MAAAA,MAAPb,IAAY,KAEFc,UAAVA,IAAAzC,WAAUyC,MAAAA,MAAVzC,IAAe;EAEf4B,EAAMoB,KAAK,EAAC,GAAGC,MAAUC,MACzBtB,EAAMoB,KAAK,EAAyB,0BAAEG,QAAQC,SAASC;EACvDzB,EAAMoB,KAAK,EAAC,kBAAMN,IAAEf,EAAQ2B,aAAG,MAAAZ,IAAAA,IAAIS,QAAQG,WAE/BX,UAAZA,IAAAhB,EAAQ4B,cAARZ,MAAYA,SAAZA,IAAAA,EAAcpB,WAAUK,EAAMoB,KAAK,EAAC,SAASrB,EAAQ4B;GAE5BX,UAAzBA,IAAA5C,EAAWwD,wBAAXZ,MAAyBA,SAAzBA,IAAAA,EAA2BrB,WAAUK,EAAMoB,KAAK,EAAC,mBAAmBhD,EAAWwD;GAE7DX,UAAlBA,IAAA7C,EAAWyD,iBAAXZ,MAAkBA,SAAlBA,IAAAA,EAAoBtB,WAAUK,EAAMoB,KAAK,EAAC,YAAYhD,EAAWyD;GACjDX,UAAhBA,IAAA9C,EAAW0D,eAAXZ,MAAgBA,SAAhBA,IAAAA,EAAkBvB,WAAUK,EAAMoB,KAAK,EAAC,UAAUW,EAAQ3D,EAAW0D;GAEpDX,UAAjBA,IAAA/C,EAAW4D,gBAAXb,MAAiBA,SAAjBA,IAAAA,EAAmBxB,WAAUK,EAAMoB,KAAK,EAAC,WAAWhD,EAAW4D;EAE/D5D,EAAW6D,aAAajC,EAAMoB,KAAK,EAAC,cAAcW,EAAQ3D,EAAW6D,WAAW;IAC/EC,OAAO;SAGRvE,EAAQwE,KAAKC,IAAI,IAAIC,OAAO,MAC5B1E,EAAQyE,IAAI,gBACZzE,EAAQyE,IAAIpC,EAAMsC,aAClB3E,EAAQwE,KAAKC,IAAI,IAAIC,OAAO;AAC7B;;ACzDA,MAAMT,IAAiBW;;SAIPC,gBAAuCpE,GAAgBqE,GACtE1C;EAAqC,IAAAc,GAAA6B;EAG3B7B,UAAVA,IAAAzC,WAAUyC,MAAAA,MAAVzC,IAAe;EACf,MAAMuE,IAAgBxE,cAAiB;IACtCO,SAAS,CAIR;IACDkD;IACAgB,YAAY;IACZC,aAAY;IACZC,kBAAiB;IACjBC,sBFNa,EACb,MACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA;OEDGlF,oBF3BU,EACb,MACA,OACA,OACA;IEwBAmF,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;OEOGjF;;EAYJ,OATuBsE,UAAvBA,IAAAC,EAAcV,mBAASS,MAAAA,MAAvBC,EAAcV,YAAc1C,iBAAiB;IAC5CnB;IACAqE;IACA1C;IACA4C;OAGDF,KAAa9B,oBAAoBgC,GAAe5C,IAEzC4C;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\t/**\n\t * Option \"testURL\" was replaced by passing the URL via \"testEnvironmentOptions.url\".\n\t */\n\tif (jestConfig.testURL)\n\t{\n\t\tjestConfig.testEnvironmentOptions ??= {};\n\n\t\tjestConfig.testURL = (jestConfig.testEnvironmentOptions['url'] ??= jestConfig.testURL) as string\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","_jestConfig$testEnvir","_jestConfig$testEnvir2","_jestConfig$testEnvir3","testURL","testEnvironmentOptions","_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;
|
|
@@ -66,6 +40,18 @@
|
|
|
66
40
|
const value = ['js', 'mjs', 'cjs', 'jsx', 'ts', 'mts', 'cts', 'tsx', 'json', 'node'];
|
|
67
41
|
return value;
|
|
68
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
|
+
}
|
|
69
55
|
function defaultCoveragePathIgnorePatterns() {
|
|
70
56
|
const value = ['/node_modules/', '/__snapshots__/', '/__tests__/', '/__test__/',
|
|
71
57
|
//'**/node_modules/',
|
|
@@ -103,13 +89,55 @@
|
|
|
103
89
|
}
|
|
104
90
|
}
|
|
105
91
|
const value = {
|
|
106
|
-
'
|
|
92
|
+
[`.(${_handleFileExtensions(defaultTransformFileExtensions(), '|')})$`]: ts_transform
|
|
107
93
|
};
|
|
108
94
|
return value;
|
|
109
95
|
}
|
|
110
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
|
+
/**
|
|
129
|
+
* Option "testURL" was replaced by passing the URL via "testEnvironmentOptions.url".
|
|
130
|
+
*/
|
|
131
|
+
if (jestConfig.testURL) {
|
|
132
|
+
var _jestConfig$testEnvir, _jestConfig$testEnvir2, _url, _jestConfig$testEnvir3;
|
|
133
|
+
(_jestConfig$testEnvir = jestConfig.testEnvironmentOptions) !== null && _jestConfig$testEnvir !== void 0 ? _jestConfig$testEnvir : jestConfig.testEnvironmentOptions = {};
|
|
134
|
+
jestConfig.testURL = (_jestConfig$testEnvir3 = (_jestConfig$testEnvir2 = jestConfig.testEnvironmentOptions)[_url = 'url']) !== null && _jestConfig$testEnvir3 !== void 0 ? _jestConfig$testEnvir3 : _jestConfig$testEnvir2[_url] = jestConfig.testURL;
|
|
135
|
+
}
|
|
136
|
+
return jestConfig;
|
|
137
|
+
}
|
|
138
|
+
|
|
111
139
|
var name = "@bluelovers/jest-config";
|
|
112
|
-
var version = "1.1.
|
|
140
|
+
var version = "1.1.10";
|
|
113
141
|
|
|
114
142
|
function _newTableBorderless(options) {
|
|
115
143
|
let table$1 = new table.Table({
|
|
@@ -217,15 +245,19 @@
|
|
|
217
245
|
return newJestConfig;
|
|
218
246
|
}
|
|
219
247
|
|
|
248
|
+
exports._handleFileExtensions = _handleFileExtensions;
|
|
249
|
+
exports._handleFileExtensionsCore = _handleFileExtensionsCore;
|
|
220
250
|
exports._newTableBorderless = _newTableBorderless;
|
|
221
251
|
exports._requireResolve = _requireResolve;
|
|
222
252
|
exports.cacheDirectory = cacheDirectory;
|
|
223
253
|
exports.default = mixinJestConfig;
|
|
254
|
+
exports.defaultCoverageFileExtensions = defaultCoverageFileExtensions;
|
|
224
255
|
exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
|
|
225
256
|
exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
|
|
226
257
|
exports.defaultTestFileExtensions = defaultTestFileExtensions;
|
|
227
258
|
exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
|
|
228
259
|
exports.defaultTransform = defaultTransform;
|
|
260
|
+
exports.defaultTransformFileExtensions = defaultTransformFileExtensions;
|
|
229
261
|
exports.fixJestConfig = fixJestConfig;
|
|
230
262
|
exports.makeTestRegexConfig = makeTestRegexConfig;
|
|
231
263
|
exports.mixinJestConfig = mixinJestConfig;
|
|
@@ -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 { 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","flat","join","testMatch","testRegex","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","globals","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","_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
|
+
{"version":3,"file":"index.umd.development.cjs","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\t/**\n\t * Option \"testURL\" was replaced by passing the URL via \"testEnvironmentOptions.url\".\n\t */\n\tif (jestConfig.testURL)\n\t{\n\t\tjestConfig.testEnvironmentOptions ??= {};\n\n\t\tjestConfig.testURL = (jestConfig.testEnvironmentOptions['url'] ??= jestConfig.testURL) as string\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","value","defaultModuleFileExtensions","defaultCoverageFileExtensions","defaultTransformFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","paths","requireResolveExtra","result","filter","Boolean","opts","includeGlobal","includeCurrentDirectory","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","testURL","_jestConfig$testEnvir","_jestConfig$testEnvir2","_url","_jestConfig$testEnvir3","testEnvironmentOptions","_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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"}
|