@bluelovers/jest-config 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/index.cjs.development.cjs +53 -28
- package/dist/index.cjs.development.cjs.map +1 -1
- package/dist/index.cjs.production.min.cjs +57 -43
- package/dist/index.cjs.production.min.cjs.map +1 -1
- package/dist/index.d.ts +71 -4
- package/dist/index.esm.mjs +89 -69
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.development.cjs +56 -32
- package/dist/index.umd.development.cjs.map +1 -1
- package/dist/index.umd.production.min.cjs +54 -41
- package/dist/index.umd.production.min.cjs.map +1 -1
- package/package.json +2 -2
- package/src/defaults.ts +30 -2
- package/src/helper.ts +21 -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,46 @@
|
|
|
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
|
+
return e.testMatch ? e.testRegex = null : e.testRegex && (e.testMatch = null), e;
|
|
66
|
+
}
|
|
67
|
+
var l = "@bluelovers/jest-config", u = "1.1.9";
|
|
60
68
|
function _newTableBorderless(e) {
|
|
61
|
-
let t = new
|
|
69
|
+
let t = new n.Table({
|
|
62
70
|
colAligns: [ "right", "left" ],
|
|
63
71
|
chars: {
|
|
64
72
|
top: "",
|
|
@@ -79,14 +87,14 @@
|
|
|
79
87
|
},
|
|
80
88
|
...e
|
|
81
89
|
});
|
|
82
|
-
return t =
|
|
90
|
+
return t = n.applyStyleBorderless(t), t;
|
|
83
91
|
}
|
|
84
92
|
function printJestConfigInfo(e, t) {
|
|
85
|
-
var o, n,
|
|
93
|
+
var o, n, i, a, f, c, d, _;
|
|
86
94
|
const g = _newTableBorderless();
|
|
87
95
|
null !== (o = t) && void 0 !== o || (t = {}), null !== (n = e) && void 0 !== n || (e = {}),
|
|
88
|
-
g.push([ `${
|
|
89
|
-
g.push([ "cwd:", null !== (
|
|
96
|
+
g.push([ `${l}:`, u ]), g.push([ "process.versions.node:", process.versions.node ]),
|
|
97
|
+
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
98
|
(null === (f = e.cacheDirectory) || void 0 === f ? void 0 : f.length) && g.push([ "cacheDirectory:", e.cacheDirectory ]),
|
|
91
99
|
(null === (c = e.rootDir) || void 0 === c ? void 0 : c.length) && g.push([ "rootDir:", e.rootDir ]),
|
|
92
100
|
(null === (d = e.roots) || void 0 === d ? void 0 : d.length) && g.push([ "roots:", r.inspect(e.roots) ]),
|
|
@@ -96,13 +104,13 @@
|
|
|
96
104
|
}) ]), s.console.gray.log("─".repeat(20)), s.console.log("jest.config"), s.console.log(g.toString()),
|
|
97
105
|
s.console.gray.log("─".repeat(20));
|
|
98
106
|
}
|
|
99
|
-
const
|
|
107
|
+
const a = i.getJestCacheDirectory();
|
|
100
108
|
function mixinJestConfig(e, t, s) {
|
|
101
|
-
var o,
|
|
109
|
+
var o, n;
|
|
102
110
|
null !== (o = e) && void 0 !== o || (e = {});
|
|
103
|
-
const
|
|
111
|
+
const r = fixJestConfig({
|
|
104
112
|
globals: {},
|
|
105
|
-
cacheDirectory:
|
|
113
|
+
cacheDirectory: a,
|
|
106
114
|
maxWorkers: 1,
|
|
107
115
|
clearMocks: !0,
|
|
108
116
|
passWithNoTests: !0,
|
|
@@ -116,15 +124,18 @@
|
|
|
116
124
|
coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
|
|
117
125
|
...e
|
|
118
126
|
});
|
|
119
|
-
return null !== (
|
|
127
|
+
return null !== (n = r.transform) && void 0 !== n || (r.transform = defaultTransform({
|
|
120
128
|
jestConfig: e,
|
|
121
129
|
autoPrint: t,
|
|
122
130
|
options: s,
|
|
123
|
-
newJestConfig:
|
|
124
|
-
})), t && printJestConfigInfo(
|
|
131
|
+
newJestConfig: r
|
|
132
|
+
})), t && printJestConfigInfo(r, s), r;
|
|
125
133
|
}
|
|
134
|
+
e._handleFileExtensions = _handleFileExtensions, e._handleFileExtensionsCore = _handleFileExtensionsCore,
|
|
126
135
|
e._newTableBorderless = _newTableBorderless, e._requireResolve = _requireResolve,
|
|
127
|
-
e.cacheDirectory =
|
|
136
|
+
e.cacheDirectory = a, e.default = mixinJestConfig, e.defaultCoverageFileExtensions = function defaultCoverageFileExtensions() {
|
|
137
|
+
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx" ];
|
|
138
|
+
}, e.defaultCoveragePathIgnorePatterns = function defaultCoveragePathIgnorePatterns() {
|
|
128
139
|
return [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ];
|
|
129
140
|
}, e.defaultModuleFileExtensions = function defaultModuleFileExtensions() {
|
|
130
141
|
return [ "js", "mjs", "cjs", "jsx", "ts", "mts", "cts", "tsx", "json", "node" ];
|
|
@@ -132,7 +143,9 @@
|
|
|
132
143
|
return [ "ts", "tsx", "mts", "cts" ];
|
|
133
144
|
}, e.defaultTestPathIgnorePatterns = function defaultTestPathIgnorePatterns() {
|
|
134
145
|
return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
|
|
135
|
-
}, e.defaultTransform = defaultTransform, e.
|
|
146
|
+
}, e.defaultTransform = defaultTransform, e.defaultTransformFileExtensions = function defaultTransformFileExtensions() {
|
|
147
|
+
return [ "ts", "tsx", "mts", "cts" ];
|
|
148
|
+
}, e.fixJestConfig = fixJestConfig, e.makeTestRegexConfig = makeTestRegexConfig,
|
|
136
149
|
e.mixinJestConfig = mixinJestConfig, e.printJestConfigInfo = printJestConfigInfo,
|
|
137
150
|
Object.defineProperty(e, "__esModule", {
|
|
138
151
|
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\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","_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.9",
|
|
4
4
|
"description": "Jest preset configuration with ts-jest typescript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jest-preset",
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"publishConfig": {
|
|
115
115
|
"access": "public"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "f64f8fa2b5dee1148d70f824c996c584d3fcf0bc"
|
|
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,39 @@ 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;
|
|
47
60
|
}
|
|
48
61
|
|
|
49
62
|
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',
|