@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
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
!function(e, t) {
|
|
2
|
-
"object" == typeof exports && "undefined" != typeof module ? t(exports, require("@yarn-tool/require-resolve"), require("debug-color2"), require("@yarn-tool/table"), require("util"), require("jest-cache-directory")) : "function" == typeof define && define.amd ? define([ "exports", "@yarn-tool/require-resolve", "debug-color2", "@yarn-tool/table", "util", "jest-cache-directory" ], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).BlueloversJestConfig = {}, e.requireResolve, e.debugColor2, e.table, e.util, e.jestCacheDirectory);
|
|
3
|
-
}(this, (function(e, t, s, o, r,
|
|
2
|
+
"object" == typeof exports && "undefined" != typeof module ? t(exports, require("@yarn-tool/require-resolve"), require("debug-color2"), require("array-hyper-unique"), require("@yarn-tool/table"), require("util"), require("jest-cache-directory")) : "function" == typeof define && define.amd ? define([ "exports", "@yarn-tool/require-resolve", "debug-color2", "array-hyper-unique", "@yarn-tool/table", "util", "jest-cache-directory" ], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).BlueloversJestConfig = {}, e.requireResolve, e.debugColor2, e.arrayHyperUnique, e.table, e.util, e.jestCacheDirectory);
|
|
3
|
+
}(this, (function(e, t, s, o, n, r, i) {
|
|
4
4
|
"use strict";
|
|
5
|
-
function _requireResolve(e) {
|
|
6
|
-
const o = [ t.requireResolveExtra("@bluelovers/tsdx").result, t.requireResolveExtra("tsdx").result ].filter(Boolean), r = t.requireResolveCore(e, {
|
|
7
|
-
includeGlobal: !0,
|
|
8
|
-
includeCurrentDirectory: !0,
|
|
9
|
-
paths: o
|
|
10
|
-
});
|
|
11
|
-
return s.console.debug("[require.resolve]", e, "=>", r), r;
|
|
12
|
-
}
|
|
13
|
-
function makeTestRegexConfig(e) {
|
|
14
|
-
return {
|
|
15
|
-
testMatch: void 0,
|
|
16
|
-
testRegex: [ `\\.(tests?|spec)\\.(${e = [ e ].flat().join("|")})$`, `__tests__/.*\\.(tests?|spec)\\.(${e})$` ]
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function fixJestConfig(e) {
|
|
20
|
-
return e.testMatch ? e.testRegex = void 0 : e.testRegex && (e.testMatch = void 0),
|
|
21
|
-
e;
|
|
22
|
-
}
|
|
23
5
|
function defaultTsJestTransformerOptions(e) {
|
|
24
6
|
var t, s;
|
|
25
|
-
const o = null !== (t = null === (s = e.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== t ? t : {},
|
|
7
|
+
const o = null !== (t = null === (s = e.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== t ? t : {}, n = "object" == typeof o.tsconfig ? o.tsconfig : {};
|
|
26
8
|
return {
|
|
27
9
|
...o,
|
|
28
10
|
tsconfig: {
|
|
@@ -33,7 +15,7 @@
|
|
|
33
15
|
noUnusedLocals: !1,
|
|
34
16
|
noPropertyAccessFromIndexSignature: !1,
|
|
35
17
|
noImplicitAny: !1,
|
|
36
|
-
...
|
|
18
|
+
...n
|
|
37
19
|
}
|
|
38
20
|
};
|
|
39
21
|
}
|
|
@@ -45,20 +27,49 @@
|
|
|
45
27
|
};
|
|
46
28
|
let o = _requireResolve("ts-jest");
|
|
47
29
|
o = [ o, defaultTsJestTransformerOptions(e) ];
|
|
48
|
-
const {result:
|
|
49
|
-
if (null !=
|
|
30
|
+
const {result: n} = t.requireResolveExtra("jest-tsd-transform", s);
|
|
31
|
+
if (null != n && n.length) {
|
|
50
32
|
const {result: e} = t.requireResolveExtra("jest-chain-transform", s);
|
|
51
33
|
null != e && e.length && (o = [ e, {
|
|
52
|
-
transformers: [
|
|
34
|
+
transformers: [ n, o ]
|
|
53
35
|
} ]);
|
|
54
36
|
}
|
|
55
37
|
return {
|
|
56
|
-
"
|
|
38
|
+
[`.(${_handleFileExtensions([ "ts", "tsx", "mts", "cts" ], "|")})$`]: o
|
|
57
39
|
};
|
|
58
40
|
}
|
|
59
|
-
|
|
41
|
+
function _requireResolve(e) {
|
|
42
|
+
const o = [ t.requireResolveExtra("@bluelovers/tsdx").result, t.requireResolveExtra("tsdx").result ].filter(Boolean), n = t.requireResolveCore(e, {
|
|
43
|
+
includeGlobal: !0,
|
|
44
|
+
includeCurrentDirectory: !0,
|
|
45
|
+
paths: o
|
|
46
|
+
});
|
|
47
|
+
return s.console.debug("[require.resolve]", e, "=>", n), n;
|
|
48
|
+
}
|
|
49
|
+
function makeTestRegexConfig(e) {
|
|
50
|
+
var t;
|
|
51
|
+
null !== (t = e) && void 0 !== t || (e = [ "ts", "tsx", "mts", "cts" ]);
|
|
52
|
+
const s = _handleFileExtensions(e, "|");
|
|
53
|
+
return {
|
|
54
|
+
testMatch: null,
|
|
55
|
+
testRegex: [ `\\.(tests?|spec)\\.(${s})$`, `__tests__/.*\\.(tests?|spec)\\.(${s})$` ]
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function _handleFileExtensionsCore(e) {
|
|
59
|
+
return o.array_unique([ e ].flat());
|
|
60
|
+
}
|
|
61
|
+
function _handleFileExtensions(e, t) {
|
|
62
|
+
return _handleFileExtensionsCore(e).join(t);
|
|
63
|
+
}
|
|
64
|
+
function fixJestConfig(e) {
|
|
65
|
+
var t, s, o;
|
|
66
|
+
return e.testMatch ? e.testRegex = null : e.testRegex && (e.testMatch = null), e.testURL && (null !== (t = e.testEnvironmentOptions) && void 0 !== t || (e.testEnvironmentOptions = {}),
|
|
67
|
+
e.testURL = null !== (o = (s = e.testEnvironmentOptions).url) && void 0 !== o ? o : s.url = e.testURL),
|
|
68
|
+
e;
|
|
69
|
+
}
|
|
70
|
+
var l = "@bluelovers/jest-config", u = "1.1.10";
|
|
60
71
|
function _newTableBorderless(e) {
|
|
61
|
-
let t = new
|
|
72
|
+
let t = new n.Table({
|
|
62
73
|
colAligns: [ "right", "left" ],
|
|
63
74
|
chars: {
|
|
64
75
|
top: "",
|
|
@@ -79,14 +90,14 @@
|
|
|
79
90
|
},
|
|
80
91
|
...e
|
|
81
92
|
});
|
|
82
|
-
return t =
|
|
93
|
+
return t = n.applyStyleBorderless(t), t;
|
|
83
94
|
}
|
|
84
95
|
function printJestConfigInfo(e, t) {
|
|
85
|
-
var o, n,
|
|
96
|
+
var o, n, i, a, f, c, d, _;
|
|
86
97
|
const g = _newTableBorderless();
|
|
87
98
|
null !== (o = t) && void 0 !== o || (t = {}), null !== (n = e) && void 0 !== n || (e = {}),
|
|
88
|
-
g.push([ `${
|
|
89
|
-
g.push([ "cwd:", null !== (
|
|
99
|
+
g.push([ `${l}:`, u ]), g.push([ "process.versions.node:", process.versions.node ]),
|
|
100
|
+
g.push([ "cwd:", null !== (i = t.cwd) && void 0 !== i ? i : process.cwd() ]), (null === (a = t.file) || void 0 === a ? void 0 : a.length) && g.push([ "file:", t.file ]),
|
|
90
101
|
(null === (f = e.cacheDirectory) || void 0 === f ? void 0 : f.length) && g.push([ "cacheDirectory:", e.cacheDirectory ]),
|
|
91
102
|
(null === (c = e.rootDir) || void 0 === c ? void 0 : c.length) && g.push([ "rootDir:", e.rootDir ]),
|
|
92
103
|
(null === (d = e.roots) || void 0 === d ? void 0 : d.length) && g.push([ "roots:", r.inspect(e.roots) ]),
|
|
@@ -96,13 +107,13 @@
|
|
|
96
107
|
}) ]), s.console.gray.log("─".repeat(20)), s.console.log("jest.config"), s.console.log(g.toString()),
|
|
97
108
|
s.console.gray.log("─".repeat(20));
|
|
98
109
|
}
|
|
99
|
-
const
|
|
110
|
+
const a = i.getJestCacheDirectory();
|
|
100
111
|
function mixinJestConfig(e, t, s) {
|
|
101
|
-
var o,
|
|
112
|
+
var o, n;
|
|
102
113
|
null !== (o = e) && void 0 !== o || (e = {});
|
|
103
|
-
const
|
|
114
|
+
const r = fixJestConfig({
|
|
104
115
|
globals: {},
|
|
105
|
-
cacheDirectory:
|
|
116
|
+
cacheDirectory: a,
|
|
106
117
|
maxWorkers: 1,
|
|
107
118
|
clearMocks: !0,
|
|
108
119
|
passWithNoTests: !0,
|
|
@@ -116,15 +127,18 @@
|
|
|
116
127
|
coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
|
|
117
128
|
...e
|
|
118
129
|
});
|
|
119
|
-
return null !== (
|
|
130
|
+
return null !== (n = r.transform) && void 0 !== n || (r.transform = defaultTransform({
|
|
120
131
|
jestConfig: e,
|
|
121
132
|
autoPrint: t,
|
|
122
133
|
options: s,
|
|
123
|
-
newJestConfig:
|
|
124
|
-
})), t && printJestConfigInfo(
|
|
134
|
+
newJestConfig: r
|
|
135
|
+
})), t && printJestConfigInfo(r, s), r;
|
|
125
136
|
}
|
|
137
|
+
e._handleFileExtensions = _handleFileExtensions, e._handleFileExtensionsCore = _handleFileExtensionsCore,
|
|
126
138
|
e._newTableBorderless = _newTableBorderless, e._requireResolve = _requireResolve,
|
|
127
|
-
e.cacheDirectory =
|
|
139
|
+
e.cacheDirectory = a, e.default = mixinJestConfig, e.defaultCoverageFileExtensions = function defaultCoverageFileExtensions() {
|
|
140
|
+
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx" ];
|
|
141
|
+
}, e.defaultCoveragePathIgnorePatterns = function defaultCoveragePathIgnorePatterns() {
|
|
128
142
|
return [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ];
|
|
129
143
|
}, e.defaultModuleFileExtensions = function defaultModuleFileExtensions() {
|
|
130
144
|
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx", "json", "node" ];
|
|
@@ -132,7 +146,9 @@
|
|
|
132
146
|
return [ "ts", "tsx", "mts", "cts" ];
|
|
133
147
|
}, e.defaultTestPathIgnorePatterns = function defaultTestPathIgnorePatterns() {
|
|
134
148
|
return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
|
|
135
|
-
}, e.defaultTransform = defaultTransform, e.
|
|
149
|
+
}, e.defaultTransform = defaultTransform, e.defaultTransformFileExtensions = function defaultTransformFileExtensions() {
|
|
150
|
+
return [ "ts", "tsx", "mts", "cts" ];
|
|
151
|
+
}, e.fixJestConfig = fixJestConfig, e.makeTestRegexConfig = makeTestRegexConfig,
|
|
136
152
|
e.mixinJestConfig = mixinJestConfig, e.printJestConfigInfo = printJestConfigInfo,
|
|
137
153
|
Object.defineProperty(e, "__esModule", {
|
|
138
154
|
value: !0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.production.min.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","testMatch","testRegex","flat","join","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","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","defaultCoveragePathIgnorePatterns","defaultModuleFileExtensions","defaultTestFileExtensions","defaultTestPathIgnorePatterns"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.production.min.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","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","defaultCoverageFileExtensions","defaultCoveragePathIgnorePatterns","defaultModuleFileExtensions","defaultTestFileExtensions","defaultTestPathIgnorePatterns","defaultTransformFileExtensions"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluelovers/jest-config",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "Jest preset configuration with ts-jest typescript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jest-preset",
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"@yarn-tool/require-resolve": "^3.0.0",
|
|
107
107
|
"@yarn-tool/table": "^2.0.13",
|
|
108
108
|
"debug-color2": "^1.3.2",
|
|
109
|
-
"jest-cache-directory": "^1.0.
|
|
109
|
+
"jest-cache-directory": "^1.0.6",
|
|
110
110
|
"jest-chain-transform": "^0.0.5",
|
|
111
111
|
"ts-type": ">=2"
|
|
112
112
|
},
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"publishConfig": {
|
|
115
115
|
"access": "public"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "3cc032f37b13377df4dc81311b167431ba7f6ffd"
|
|
118
118
|
}
|
package/src/defaults.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';
|
|
2
2
|
import { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';
|
|
3
3
|
import { ITSWriteable } from 'ts-type/lib/helper/readonly';
|
|
4
|
-
import { _requireResolve } from './helper';
|
|
4
|
+
import { _handleFileExtensions, _requireResolve } from './helper';
|
|
5
5
|
import { InitialOptionsTsJest } from 'ts-jest';
|
|
6
6
|
import { defaultTsJestTransformerOptions } from './plugin/ts-jest';
|
|
7
7
|
import { IRuntime } from './types';
|
|
@@ -41,6 +41,34 @@ export function defaultModuleFileExtensions()
|
|
|
41
41
|
return value as ITSToWriteableArray<typeof value>;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
export function defaultCoverageFileExtensions()
|
|
45
|
+
{
|
|
46
|
+
const value = [
|
|
47
|
+
'js',
|
|
48
|
+
'mjs',
|
|
49
|
+
'cjs',
|
|
50
|
+
'jsx',
|
|
51
|
+
'ts',
|
|
52
|
+
'mts',
|
|
53
|
+
'cts',
|
|
54
|
+
'tsx',
|
|
55
|
+
//'json',
|
|
56
|
+
//'node',
|
|
57
|
+
] as const
|
|
58
|
+
return value as ITSToWriteableArray<typeof value>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function defaultTransformFileExtensions()
|
|
62
|
+
{
|
|
63
|
+
const value = [
|
|
64
|
+
'ts',
|
|
65
|
+
'tsx',
|
|
66
|
+
'mts',
|
|
67
|
+
'cts',
|
|
68
|
+
] as const
|
|
69
|
+
return value as ITSToWriteableArray<typeof value>;
|
|
70
|
+
}
|
|
71
|
+
|
|
44
72
|
export function defaultCoveragePathIgnorePatterns()
|
|
45
73
|
{
|
|
46
74
|
const value = [
|
|
@@ -115,7 +143,7 @@ export function defaultTransform(runtime: IRuntime)
|
|
|
115
143
|
}
|
|
116
144
|
|
|
117
145
|
const value = {
|
|
118
|
-
'
|
|
146
|
+
[`.(${_handleFileExtensions(defaultTransformFileExtensions(), '|')})$`]: ts_transform,
|
|
119
147
|
} as const
|
|
120
148
|
return value as ITSWriteable<typeof value>;
|
|
121
149
|
}
|
package/src/helper.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';
|
|
2
2
|
import { InitialOptionsTsJest } from 'ts-jest';
|
|
3
|
-
import {
|
|
3
|
+
import { ITSValueOrArrayMaybeReadonly } from 'ts-type/lib/type/base';
|
|
4
4
|
import { console } from 'debug-color2';
|
|
5
5
|
import { IJestConfig } from './types';
|
|
6
|
+
import { defaultTestFileExtensions } from './defaults';
|
|
7
|
+
import { array_unique } from 'array-hyper-unique';
|
|
6
8
|
|
|
7
9
|
export function _requireResolve(name: string)
|
|
8
10
|
{
|
|
@@ -22,28 +24,49 @@ export function _requireResolve(name: string)
|
|
|
22
24
|
return result
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
export function makeTestRegexConfig(testExt:
|
|
27
|
+
export function makeTestRegexConfig<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>
|
|
26
28
|
{
|
|
27
|
-
testExt
|
|
29
|
+
testExt ??= defaultTestFileExtensions() as any as T[];
|
|
30
|
+
const _testExt = _handleFileExtensions(testExt, '|')
|
|
28
31
|
|
|
29
32
|
return {
|
|
30
|
-
testMatch:
|
|
33
|
+
testMatch: null as undefined,
|
|
31
34
|
testRegex: [
|
|
32
|
-
`\\.(tests?|spec)\\.(${
|
|
33
|
-
`__tests__\/\.*\\.(tests?|spec)\\.(${
|
|
35
|
+
`\\.(tests?|spec)\\.(${_testExt})$`,
|
|
36
|
+
`__tests__\/\.*\\.(tests?|spec)\\.(${_testExt})$`,
|
|
34
37
|
],
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
|
|
41
|
+
export function _handleFileExtensionsCore<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>)
|
|
42
|
+
{
|
|
43
|
+
return array_unique([testExt].flat()) as T[]
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function _handleFileExtensions<T extends string>(testExt: ITSValueOrArrayMaybeReadonly<T>, sep: string)
|
|
47
|
+
{
|
|
48
|
+
return _handleFileExtensionsCore(testExt).join(sep)
|
|
49
|
+
}
|
|
50
|
+
|
|
38
51
|
export function fixJestConfig<T extends IJestConfig>(jestConfig: T): T
|
|
39
52
|
{
|
|
40
53
|
if (jestConfig.testMatch)
|
|
41
54
|
{
|
|
42
|
-
jestConfig.testRegex =
|
|
55
|
+
jestConfig.testRegex = null;
|
|
43
56
|
}
|
|
44
57
|
else if (jestConfig.testRegex)
|
|
45
58
|
{
|
|
46
|
-
jestConfig.testMatch =
|
|
59
|
+
jestConfig.testMatch = null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Option "testURL" was replaced by passing the URL via "testEnvironmentOptions.url".
|
|
64
|
+
*/
|
|
65
|
+
if (jestConfig.testURL)
|
|
66
|
+
{
|
|
67
|
+
jestConfig.testEnvironmentOptions ??= {};
|
|
68
|
+
|
|
69
|
+
jestConfig.testURL = (jestConfig.testEnvironmentOptions['url'] ??= jestConfig.testURL) as string
|
|
47
70
|
}
|
|
48
71
|
|
|
49
72
|
return jestConfig
|
package/src/index.ts
CHANGED
|
@@ -18,11 +18,11 @@ const cacheDirectory = getJestCacheDirectory();
|
|
|
18
18
|
export { cacheDirectory }
|
|
19
19
|
|
|
20
20
|
export function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,
|
|
21
|
-
options?: IOptionsPrintJestConfigInfo)
|
|
21
|
+
options?: IOptionsPrintJestConfigInfo)
|
|
22
22
|
{
|
|
23
23
|
// @ts-ignore
|
|
24
24
|
jestConfig ??= {};
|
|
25
|
-
const newJestConfig = fixJestConfig
|
|
25
|
+
const newJestConfig = fixJestConfig({
|
|
26
26
|
globals: {
|
|
27
27
|
// 'ts-jest': {
|
|
28
28
|
// //tsconfig: 'tsconfig.spec.json',
|