@bluelovers/jest-config 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,12 @@ import { ITSWriteable } from 'ts-type/lib/helper/readonly';
5
5
  import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';
6
6
 
7
7
  export type IJestConfig = InitialOptionsTsJest | JestConfigWithTsJest;
8
+ export interface IRuntime<T extends IJestConfig = IJestConfig> {
9
+ jestConfig: T;
10
+ autoPrint: boolean;
11
+ options: IOptionsPrintJestConfigInfo;
12
+ newJestConfig?: T;
13
+ }
8
14
  export declare function _newTableBorderless(options?: TableConstructorOptions): Table.Table;
9
15
  export interface IOptionsPrintJestConfigInfo {
10
16
  cwd?: string;
@@ -12,10 +18,6 @@ export interface IOptionsPrintJestConfigInfo {
12
18
  }
13
19
  export declare function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo): void;
14
20
  export declare function _requireResolve(name: string): string;
15
- /**
16
- * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts
17
- */
18
- export declare function getCacheDirectory(): string;
19
21
  export declare function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, "testMatch" | "testRegex">;
20
22
  export declare function fixJestConfig<T extends IJestConfig>(jestConfig: T): T;
21
23
  export declare function defaultTestFileExtensions(): [
@@ -24,17 +26,20 @@ export declare function defaultTestFileExtensions(): [
24
26
  "mts",
25
27
  "cts"
26
28
  ];
29
+ /**
30
+ * @see https://jestjs.io/docs/configuration#options
31
+ */
27
32
  export declare function defaultModuleFileExtensions(): [
28
- "ts",
29
- "tsx",
30
- "mts",
31
- "cts",
32
33
  "js",
33
- "jsx",
34
34
  "mjs",
35
35
  "cjs",
36
+ "jsx",
37
+ "ts",
38
+ "tsx",
36
39
  "json",
37
- "node"
40
+ "node",
41
+ "mts",
42
+ "cts"
38
43
  ];
39
44
  export declare function defaultCoveragePathIgnorePatterns(): [
40
45
  "/node_modules/",
@@ -57,7 +62,7 @@ export declare function defaultTestPathIgnorePatterns(): [
57
62
  "__mocks__",
58
63
  "/dist/"
59
64
  ];
60
- export declare function defaultTransform(): ITSWriteable<{
65
+ export declare function defaultTransform(runtime: IRuntime): ITSWriteable<{
61
66
  readonly ".(ts|tsx|mts|cts)$": [
62
67
  string,
63
68
  Record<string, unknown>
@@ -1,48 +1,52 @@
1
- import { requireResolveExtra as t, requireResolveCore as e } from "@yarn-tool/require-resolve";
1
+ import { requireResolveExtra as e, requireResolveCore as t } from "@yarn-tool/require-resolve";
2
2
 
3
- import { join as s } from "path";
3
+ import { console as s } from "debug-color2";
4
4
 
5
- import { tmpdir as o } from "os";
5
+ import { defaults as o } from "jest-config";
6
6
 
7
- import { console as r } from "debug-color2";
7
+ import { Table as r, applyStyleBorderless as n } from "@yarn-tool/table";
8
8
 
9
- import { realpathSync as n } from "graceful-fs";
9
+ import { inspect as i } from "util";
10
10
 
11
- import { Table as i, applyStyleBorderless as l } from "@yarn-tool/table";
11
+ import { getJestCacheDirectory as l } from "jest-cache-directory";
12
12
 
13
- import { inspect as u } from "util";
14
-
15
- function _requireResolve(s) {
16
- const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), n = e(s, {
13
+ function _requireResolve(o) {
14
+ const r = [ e("@bluelovers/tsdx").result, e("tsdx").result ].filter(Boolean), n = t(o, {
17
15
  includeGlobal: !0,
18
16
  includeCurrentDirectory: !0,
19
- paths: o
17
+ paths: r
20
18
  });
21
- return r.debug("[require.resolve]", s, "=>", n), n;
22
- }
23
-
24
- function getCacheDirectory() {
25
- const {getuid: t} = process, e = process.env.JEST_CACHE_DIRECTORY || s(function tryRealpath(t) {
26
- try {
27
- t = n.native(t);
28
- } catch (t) {
29
- if ("ENOENT" !== t.code) throw t;
30
- }
31
- return t;
32
- }(o()), "jest");
33
- return null == t ? e : `${e}_${t.call(process).toString(36)}`;
19
+ return s.debug("[require.resolve]", o, "=>", n), n;
34
20
  }
35
21
 
36
- function makeTestRegexConfig(t) {
22
+ function makeTestRegexConfig(e) {
37
23
  return {
38
24
  testMatch: void 0,
39
- testRegex: [ `\\.(tests?|spec)\\.(${t = [ t ].flat().join("|")})$`, `__tests__/.*\\.(tests?|spec)\\.(${t})$` ]
25
+ testRegex: [ `\\.(tests?|spec)\\.(${e = [ e ].flat().join("|")})$`, `__tests__/.*\\.(tests?|spec)\\.(${e})$` ]
40
26
  };
41
27
  }
42
28
 
43
- function fixJestConfig(t) {
44
- return t.testMatch ? t.testRegex = void 0 : t.testRegex && (t.testMatch = void 0),
45
- t;
29
+ function fixJestConfig(e) {
30
+ return e.testMatch ? e.testRegex = void 0 : e.testRegex && (e.testMatch = void 0),
31
+ e;
32
+ }
33
+
34
+ function defaultTsJestTransformerOptions(e) {
35
+ var t, s;
36
+ const o = null !== (t = null === (s = e.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== t ? t : {}, r = "object" == typeof o.tsconfig ? o.tsconfig : {};
37
+ return {
38
+ ...o,
39
+ tsconfig: {
40
+ noEmit: !0,
41
+ emitDeclarationOnly: !1,
42
+ noUnusedParameters: !1,
43
+ allowUnusedLabels: !0,
44
+ noUnusedLocals: !1,
45
+ noPropertyAccessFromIndexSignature: !1,
46
+ noImplicitAny: !1,
47
+ ...r
48
+ }
49
+ };
46
50
  }
47
51
 
48
52
  function defaultTestFileExtensions() {
@@ -50,7 +54,7 @@ function defaultTestFileExtensions() {
50
54
  }
51
55
 
52
56
  function defaultModuleFileExtensions() {
53
- return [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ];
57
+ return [ ...o.moduleFileExtensions, "mts", "cts" ];
54
58
  }
55
59
 
56
60
  function defaultCoveragePathIgnorePatterns() {
@@ -61,38 +65,28 @@ function defaultTestPathIgnorePatterns() {
61
65
  return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
62
66
  }
63
67
 
64
- function defaultTransform() {
65
- const e = {
68
+ function defaultTransform(t) {
69
+ const s = {
66
70
  includeGlobal: !0,
67
71
  includeCurrentDirectory: !0,
68
- paths: [ t("@bluelovers/jest-config").result ].filter(Boolean)
72
+ paths: [ e("@bluelovers/jest-config").result ].filter(Boolean)
69
73
  };
70
- let s = _requireResolve("ts-jest");
71
- s = [ s, {
72
- tsconfig: {
73
- noEmit: !0,
74
- emitDeclarationOnly: !1,
75
- noUnusedParameters: !1,
76
- allowUnusedLabels: !0,
77
- noUnusedLocals: !1,
78
- noPropertyAccessFromIndexSignature: !1,
79
- noImplicitAny: !1
80
- }
81
- } ];
82
- const {result: o} = t("jest-tsd-transform", e);
83
- if (null != o && o.length) {
84
- const {result: r} = t("jest-chain-transform", e);
85
- null != r && r.length && (s = [ r, {
86
- transformers: [ o, s ]
74
+ let o = _requireResolve("ts-jest");
75
+ o = [ o, defaultTsJestTransformerOptions(t) ];
76
+ const {result: r} = e("jest-tsd-transform", s);
77
+ if (null != r && r.length) {
78
+ const {result: t} = e("jest-chain-transform", s);
79
+ null != t && t.length && (o = [ t, {
80
+ transformers: [ r, o ]
87
81
  } ]);
88
82
  }
89
83
  return {
90
- ".(ts|tsx|mts|cts)$": s
84
+ ".(ts|tsx|mts|cts)$": o
91
85
  };
92
86
  }
93
87
 
94
- function _newTableBorderless(t) {
95
- let e = new i({
88
+ function _newTableBorderless(e) {
89
+ let t = new r({
96
90
  colAligns: [ "right", "left" ],
97
91
  chars: {
98
92
  top: "",
@@ -111,51 +105,54 @@ function _newTableBorderless(t) {
111
105
  "right-mid": "",
112
106
  middle: ""
113
107
  },
114
- ...t
108
+ ...e
115
109
  });
116
- return e = l(e), e;
110
+ return t = n(t), t;
117
111
  }
118
112
 
119
- function printJestConfigInfo(t, e) {
120
- var s, o, n, i, l, _, a, c;
121
- const f = _newTableBorderless();
122
- null !== (s = e) && void 0 !== s || (e = {}), null !== (o = t) && void 0 !== o || (t = {}),
123
- f.push([ "@bluelovers/jest-config:", "1.1.1" ]), f.push([ "process.versions.node:", process.versions.node ]),
124
- f.push([ "cwd:", null !== (n = e.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (i = e.file) || void 0 === i ? void 0 : i.length) && f.push([ "file:", e.file ]),
125
- (null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) && f.push([ "cacheDirectory:", t.cacheDirectory ]),
126
- (null === (_ = t.rootDir) || void 0 === _ ? void 0 : _.length) && f.push([ "rootDir:", t.rootDir ]),
127
- (null === (a = t.roots) || void 0 === a ? void 0 : a.length) && f.push([ "roots:", u(t.roots) ]),
128
- (null === (c = t.preset) || void 0 === c ? void 0 : c.length) && f.push([ "preset:", t.preset ]),
129
- t.transform && f.push([ "transform:", u(t.transform, {
113
+ function printJestConfigInfo(e, t) {
114
+ var o, r, n, l, u, f, a, _;
115
+ const d = _newTableBorderless();
116
+ null !== (o = t) && void 0 !== o || (t = {}), null !== (r = e) && void 0 !== r || (e = {}),
117
+ d.push([ "@bluelovers/jest-config:", "1.1.3" ]), d.push([ "process.versions.node:", process.versions.node ]),
118
+ d.push([ "cwd:", null !== (n = t.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (l = t.file) || void 0 === l ? void 0 : l.length) && d.push([ "file:", t.file ]),
119
+ (null === (u = e.cacheDirectory) || void 0 === u ? void 0 : u.length) && d.push([ "cacheDirectory:", e.cacheDirectory ]),
120
+ (null === (f = e.rootDir) || void 0 === f ? void 0 : f.length) && d.push([ "rootDir:", e.rootDir ]),
121
+ (null === (a = e.roots) || void 0 === a ? void 0 : a.length) && d.push([ "roots:", i(e.roots) ]),
122
+ (null === (_ = e.preset) || void 0 === _ ? void 0 : _.length) && d.push([ "preset:", e.preset ]),
123
+ e.transform && d.push([ "transform:", i(e.transform, {
130
124
  depth: 3
131
- }) ]), r.gray.log("─".repeat(20)), r.log("jest.config"), r.log(f.toString()), r.gray.log("─".repeat(20));
125
+ }) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(d.toString()), s.gray.log("─".repeat(20));
132
126
  }
133
127
 
134
- const _ = getCacheDirectory();
128
+ const u = l();
135
129
 
136
- function mixinJestConfig(t, e, s) {
137
- var o;
138
- null !== (o = t) && void 0 !== o || (t = {});
139
- const r = fixJestConfig({
130
+ function mixinJestConfig(e, t, s) {
131
+ var o, r;
132
+ null !== (o = e) && void 0 !== o || (e = {});
133
+ const n = fixJestConfig({
140
134
  globals: {},
141
- cacheDirectory: _,
135
+ cacheDirectory: u,
142
136
  maxWorkers: 1,
143
137
  clearMocks: !0,
144
138
  passWithNoTests: !0,
145
- moduleFileExtensions: [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ],
146
- testEnvironment: "node",
139
+ moduleFileExtensions: defaultModuleFileExtensions(),
147
140
  ...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
148
141
  testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
149
142
  setupFilesAfterEnv: [],
150
- transform: defaultTransform(),
151
143
  verbose: !0,
152
144
  coverageProvider: "v8",
153
145
  collectCoverage: !1,
154
146
  coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
155
- ...t
147
+ ...e
156
148
  });
157
- return e && printJestConfigInfo(r, s), r;
149
+ return null !== (r = n.transform) && void 0 !== r || (n.transform = defaultTransform({
150
+ jestConfig: e,
151
+ autoPrint: t,
152
+ options: s,
153
+ newJestConfig: n
154
+ })), t && printJestConfigInfo(n, s), n;
158
155
  }
159
156
 
160
- export { _newTableBorderless, _requireResolve, _ as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
157
+ export { _newTableBorderless, _requireResolve, u as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
161
158
  //# sourceMappingURL=index.esm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.mjs","sources":["../src/helper.ts","../src/defaults.ts","../src/plugin/ts-jest.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { join } from 'path';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { realpathSync } from 'graceful-fs';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts\n */\nexport function getCacheDirectory()\n{\n\tconst { getuid } = process;\n\tconst tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || join(tryRealpath(tmpdir()), 'jest');\n\tif (getuid == null)\n\t{\n\t\treturn tmpdirPath;\n\t}\n\telse\n\t{\n\t\t// On some platforms tmpdir() is `/tmp`, causing conflicts between different\n\t\t// users and permission issues. Adding an additional subdivision by UID can\n\t\t// help.\n\t\treturn `${tmpdirPath}_${getuid.call(process).toString(36)}`;\n\t}\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-util/src/tryRealpath.ts\n */\nexport default function tryRealpath(path: string): string\n{\n\ttry\n\t{\n\t\tpath = realpathSync.native(path);\n\t}\n\tcatch (error: any)\n\t{\n\t\tif (error.code !== 'ENOENT')\n\t\t{\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn path;\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n\t\t'js',\n\t\t'jsx',\n\t\t'mjs',\n\t\t'cjs',\n\t\t'json',\n\t\t'node',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform()\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions()];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t'.(ts|tsx|mts|cts)$': ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { TsJestTransformerOptions } from 'ts-jest/dist/types';\n\nexport function defaultTsJestTransformerOptions()\n{\n\treturn {\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, getCacheDirectory, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo): T\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig<T>({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\ttestEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\ttransform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","getCacheDirectory","getuid","process","tmpdirPath","env","join","tryRealpath","path","realpathSync","native","error","code","tmpdir","call","toString","makeTestRegexConfig","testExt","testMatch","testRegex","flat","fixJestConfig","jestConfig","defaultTestFileExtensions","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","_options","_jestConfig","_options$cwd","_options$file","_jestConfig$cacheDire","_jestConfig$rootDir","_jestConfig$roots","_jestConfig$preset","push","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.mjs","sources":["../src/helper.ts","../src/plugin/ts-jest.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n","import { TsJestTransformerOptions } from 'ts-jest/dist/types';\nimport { IRuntime } from '../types';\n\nexport function defaultTsJestTransformerOptions(runtime: IRuntime)\n{\n\tconst old: TsJestTransformerOptions = runtime.jestConfig.globals?.['ts-jest'] ?? {};\n\n\tconst tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};\n\n\treturn {\n\t\t...old,\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t\t...tsconfig,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\nimport { IRuntime } from './types';\n\nimport { defaults } from 'jest-config';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\n/**\n * @see https://jestjs.io/docs/configuration#options\n */\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t...defaults.moduleFileExtensions as [\"js\", \"mjs\", \"cjs\", \"jsx\", \"ts\", \"tsx\", \"json\", \"node\"],\n\t\t'mts',\n\t\t'cts',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform(runtime: IRuntime)\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t'.(ts|tsx|mts|cts)$': ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\nimport { getJestCacheDirectory } from 'jest-cache-directory';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getJestCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo): T\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig<T>({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\t//testEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\t//transform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tnewJestConfig.transform ??= defaultTransform({\n\t\tjestConfig,\n\t\tautoPrint,\n\t\toptions,\n\t\tnewJestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","makeTestRegexConfig","testExt","testMatch","testRegex","flat","join","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","defaultModuleFileExtensions","defaults","moduleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","_options","_jestConfig","_options$cwd","_options$file","_jestConfig$cacheDire","_jestConfig$rootDir","_jestConfig$roots","_jestConfig$preset","push","process","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","toString","getJestCacheDirectory","mixinJestConfig","autoPrint","_newJestConfig$transf","newJestConfig","maxWorkers","clearMocks","passWithNoTests","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('path'), require('os'), require('debug-color2'), require('graceful-fs'), require('@yarn-tool/table'), require('util')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'path', 'os', 'debug-color2', 'graceful-fs', '@yarn-tool/table', 'util'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.path, global.os, global.debugColor2, global.gracefulFs, global.table, global.util));
5
- })(this, (function (exports, requireResolve, path, os, debugColor2, gracefulFs, table, util) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('debug-color2'), require('jest-config'), require('@yarn-tool/table'), require('util'), require('jest-cache-directory')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'debug-color2', 'jest-config', '@yarn-tool/table', 'util', 'jest-cache-directory'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.debugColor2, global.jestConfig, global.table, global.util, global.jestCacheDirectory));
5
+ })(this, (function (exports, requireResolve, debugColor2, jestConfig, table, util, jestCacheDirectory) { 'use strict';
6
6
 
7
7
  function _requireResolve(name) {
8
8
  const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
@@ -14,17 +14,6 @@
14
14
  debugColor2.console.debug('[require.resolve]', name, '=>', result);
15
15
  return result;
16
16
  }
17
- function getCacheDirectory() {
18
- const {
19
- getuid
20
- } = process;
21
- const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(tryRealpath(os.tmpdir()), 'jest');
22
- if (getuid == null) {
23
- return tmpdirPath;
24
- } else {
25
- return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
26
- }
27
- }
28
17
  function makeTestRegexConfig(testExt) {
29
18
  testExt = [testExt].flat().join('|');
30
19
  return {
@@ -40,19 +29,13 @@
40
29
  }
41
30
  return jestConfig;
42
31
  }
43
- function tryRealpath(path) {
44
- try {
45
- path = gracefulFs.realpathSync.native(path);
46
- } catch (error) {
47
- if (error.code !== 'ENOENT') {
48
- throw error;
49
- }
50
- }
51
- return path;
52
- }
53
32
 
54
- function defaultTsJestTransformerOptions() {
33
+ function defaultTsJestTransformerOptions(runtime) {
34
+ var _runtime$jestConfig$g, _runtime$jestConfig$g2;
35
+ const old = (_runtime$jestConfig$g = (_runtime$jestConfig$g2 = runtime.jestConfig.globals) === null || _runtime$jestConfig$g2 === void 0 ? void 0 : _runtime$jestConfig$g2['ts-jest']) !== null && _runtime$jestConfig$g !== void 0 ? _runtime$jestConfig$g : {};
36
+ const tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};
55
37
  return {
38
+ ...old,
56
39
  tsconfig: {
57
40
  noEmit: true,
58
41
  emitDeclarationOnly: false,
@@ -60,7 +43,8 @@
60
43
  allowUnusedLabels: true,
61
44
  noUnusedLocals: false,
62
45
  noPropertyAccessFromIndexSignature: false,
63
- noImplicitAny: false
46
+ noImplicitAny: false,
47
+ ...tsconfig
64
48
  }
65
49
  };
66
50
  }
@@ -70,7 +54,7 @@
70
54
  return value;
71
55
  }
72
56
  function defaultModuleFileExtensions() {
73
- const value = ['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs', 'json', 'node'];
57
+ const value = [...jestConfig.defaults.moduleFileExtensions, 'mts', 'cts'];
74
58
  return value;
75
59
  }
76
60
  function defaultCoveragePathIgnorePatterns() {
@@ -81,7 +65,7 @@
81
65
  const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
82
66
  return value;
83
67
  }
84
- function defaultTransform() {
68
+ function defaultTransform(runtime) {
85
69
  const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
86
70
  const opts = {
87
71
  includeGlobal: true,
@@ -89,7 +73,7 @@
89
73
  paths
90
74
  };
91
75
  let ts_transform = _requireResolve('ts-jest');
92
- ts_transform = [ts_transform, defaultTsJestTransformerOptions()];
76
+ ts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];
93
77
  const {
94
78
  result: tsd
95
79
  } = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
@@ -110,7 +94,7 @@
110
94
  }
111
95
 
112
96
  var name = "@bluelovers/jest-config";
113
- var version = "1.1.1";
97
+ var version = "1.1.3";
114
98
 
115
99
  function _newTableBorderless(options) {
116
100
  let table$1 = new table.Table({
@@ -159,9 +143,9 @@
159
143
  debugColor2.console.gray.log('─'.repeat(20));
160
144
  }
161
145
 
162
- const cacheDirectory = /*#__PURE__*/getCacheDirectory();
146
+ const cacheDirectory = /*#__PURE__*/jestCacheDirectory.getJestCacheDirectory();
163
147
  function mixinJestConfig(jestConfig, autoPrint, options) {
164
- var _jestConfig;
148
+ var _jestConfig, _newJestConfig$transf;
165
149
  (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
166
150
  const newJestConfig = fixJestConfig({
167
151
  globals: {},
@@ -170,17 +154,21 @@
170
154
  clearMocks: true,
171
155
  passWithNoTests: true,
172
156
  moduleFileExtensions: defaultModuleFileExtensions(),
173
- testEnvironment: 'node',
174
157
  ...makeTestRegexConfig(defaultTestFileExtensions()),
175
158
  testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
176
159
  setupFilesAfterEnv: [],
177
- transform: defaultTransform(),
178
160
  verbose: true,
179
161
  coverageProvider: 'v8',
180
162
  collectCoverage: false,
181
163
  coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
182
164
  ...jestConfig
183
165
  });
166
+ (_newJestConfig$transf = newJestConfig.transform) !== null && _newJestConfig$transf !== void 0 ? _newJestConfig$transf : newJestConfig.transform = defaultTransform({
167
+ jestConfig,
168
+ autoPrint,
169
+ options,
170
+ newJestConfig
171
+ });
184
172
  autoPrint && printJestConfigInfo(newJestConfig, options);
185
173
  return newJestConfig;
186
174
  }
@@ -188,14 +176,13 @@
188
176
  exports._newTableBorderless = _newTableBorderless;
189
177
  exports._requireResolve = _requireResolve;
190
178
  exports.cacheDirectory = cacheDirectory;
191
- exports["default"] = mixinJestConfig;
179
+ exports.default = mixinJestConfig;
192
180
  exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
193
181
  exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
194
182
  exports.defaultTestFileExtensions = defaultTestFileExtensions;
195
183
  exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
196
184
  exports.defaultTransform = defaultTransform;
197
185
  exports.fixJestConfig = fixJestConfig;
198
- exports.getCacheDirectory = getCacheDirectory;
199
186
  exports.makeTestRegexConfig = makeTestRegexConfig;
200
187
  exports.mixinJestConfig = mixinJestConfig;
201
188
  exports.printJestConfigInfo = printJestConfigInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.development.cjs","sources":["../src/helper.ts","../src/plugin/ts-jest.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { join } from 'path';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { realpathSync } from 'graceful-fs';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts\n */\nexport function getCacheDirectory()\n{\n\tconst { getuid } = process;\n\tconst tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || join(tryRealpath(tmpdir()), 'jest');\n\tif (getuid == null)\n\t{\n\t\treturn tmpdirPath;\n\t}\n\telse\n\t{\n\t\t// On some platforms tmpdir() is `/tmp`, causing conflicts between different\n\t\t// users and permission issues. Adding an additional subdivision by UID can\n\t\t// help.\n\t\treturn `${tmpdirPath}_${getuid.call(process).toString(36)}`;\n\t}\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-util/src/tryRealpath.ts\n */\nexport default function tryRealpath(path: string): string\n{\n\ttry\n\t{\n\t\tpath = realpathSync.native(path);\n\t}\n\tcatch (error: any)\n\t{\n\t\tif (error.code !== 'ENOENT')\n\t\t{\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn path;\n}\n","import { TsJestTransformerOptions } from 'ts-jest/dist/types';\n\nexport function defaultTsJestTransformerOptions()\n{\n\treturn {\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n\t\t'js',\n\t\t'jsx',\n\t\t'mjs',\n\t\t'cjs',\n\t\t'json',\n\t\t'node',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform()\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions()];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t'.(ts|tsx|mts|cts)$': ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, getCacheDirectory, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo): T\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig<T>({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\ttestEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\ttransform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","getCacheDirectory","getuid","process","tmpdirPath","env","join","tryRealpath","tmpdir","call","toString","makeTestRegexConfig","testExt","flat","testMatch","testRegex","fixJestConfig","jestConfig","path","realpathSync","native","error","code","defaultTsJestTransformerOptions","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","value","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","jName","jVersion","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.development.cjs","sources":["../src/helper.ts","../src/plugin/ts-jest.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n","import { TsJestTransformerOptions } from 'ts-jest/dist/types';\nimport { IRuntime } from '../types';\n\nexport function defaultTsJestTransformerOptions(runtime: IRuntime)\n{\n\tconst old: TsJestTransformerOptions = runtime.jestConfig.globals?.['ts-jest'] ?? {};\n\n\tconst tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};\n\n\treturn {\n\t\t...old,\n\t\ttsconfig: {\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t\tnoUnusedParameters: false,\n\t\t\tallowUnusedLabels: true,\n\t\t\tnoUnusedLocals: false,\n\t\t\tnoPropertyAccessFromIndexSignature: false,\n\t\t\tnoImplicitAny: false,\n\t\t\t...tsconfig,\n\t\t},\n\t} satisfies TsJestTransformerOptions\n}\n","import { IOptions, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSWriteable } from 'ts-type/lib/helper/readonly';\nimport { _requireResolve } from './helper';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { defaultTsJestTransformerOptions } from './plugin/ts-jest';\nimport { IRuntime } from './types';\n\nimport { defaults } from 'jest-config';\n\nexport function defaultTestFileExtensions()\n{\n\tconst value = [\n\t\t'ts',\n\t\t'tsx',\n\t\t'mts',\n\t\t'cts',\n//\t'js',\n//\t'jsx',\n//\t'mjs',\n//\t'cjs',\n\t] as const;\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\n/**\n * @see https://jestjs.io/docs/configuration#options\n */\nexport function defaultModuleFileExtensions()\n{\n\tconst value = [\n\t\t...defaults.moduleFileExtensions as [\"js\", \"mjs\", \"cjs\", \"jsx\", \"ts\", \"tsx\", \"json\", \"node\"],\n\t\t'mts',\n\t\t'cts',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultCoveragePathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__snapshots__/',\n\t\t'/__tests__/',\n\t\t'/__test__/',\n\t\t//'**/node_modules/',\n\t\t//'**/__snapshots__/',\n\t\t//'**/__tests__/',\n\t\t'/dist/',\n\t\t'/test/',\n\t\t'/fixture/',\n\t\t'/__file_snapshots__/',\n\t\t'/__fixtures__/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\n\t\t'/__file_snapshots__/',\n\t\t'/fixtures/',\n\t\t'/__tests__/helpers/',\n\t\t'/__tests__/utils/',\n\t\t'__mocks__',\n\t\t'/dist/',\n\t] as const\n\treturn value as ITSToWriteableArray<typeof value>;\n}\n\nexport function defaultTransform(runtime: IRuntime)\n{\n\tconst paths: string[] = [\n\t\trequireResolveExtra('@bluelovers/jest-config').result,\n\t].filter(Boolean);\n\n\tconst opts: IOptions = {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t};\n\n\tlet ts_transform: InitialOptionsTsJest[\"transform\"][string] = _requireResolve('ts-jest') as 'ts-jest';\n\n\tts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];\n\n\tconst { result: tsd } = requireResolveExtra('jest-tsd-transform', opts);\n\n\tif (tsd?.length)\n\t{\n\t\tconst { result: chain } = requireResolveExtra('jest-chain-transform', opts);\n\n\t\tif (chain?.length)\n\t\t{\n\t\t\tts_transform = [\n\t\t\t\tchain as 'jest-chain-transform', {\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\ttsd as 'jest-tsd-transform',\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tts_transform as 'ts-jest',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t] satisfies [\n\t\t\t\tstring,\n\t\t\t\tRecord<string, unknown>\n\t\t\t]\n\t\t}\n\t}\n\n\tconst value = {\n\t\t'.(ts|tsx|mts|cts)$': ts_transform,\n\t} as const\n\treturn value as ITSWriteable<typeof value>;\n}\n","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\nimport { IJestConfig } from './types';\n\nexport function _newTableBorderless(options?: TableConstructorOptions)\n{\n\tlet table = new Table({\n\t\tcolAligns: ['right', 'left'],\n\t\t//colAligns: ['left', 'center', 'center', 'center'],\n\t\tchars: {\n\t\t\ttop: '',\n\t\t\t'top-mid': '',\n\t\t\t'top-left': '',\n\t\t\t'top-right': '',\n\t\t\tbottom: '',\n\t\t\t'bottom-mid': '',\n\t\t\t'bottom-left': '',\n\t\t\t'bottom-right': '',\n\t\t\tleft: '',\n\t\t\t'left-mid': '',\n\t\t\tmid: '',\n\t\t\t'mid-mid': '',\n\t\t\tright: '',\n\t\t\t'right-mid': '',\n\t\t\tmiddle: '',\n\t\t},\n\t\t...options,\n\t});\n\n\ttable = applyStyleBorderless(table);\n\n\treturn table;\n}\n\nexport interface IOptionsPrintJestConfigInfo\n{\n\tcwd?: string;\n\tfile?: string;\n}\n\nexport function printJestConfigInfo(jestConfig: IJestConfig, options?: IOptionsPrintJestConfigInfo)\n{\n\tconst table = _newTableBorderless();\n\n\toptions ??= {};\n\t// @ts-ignore\n\tjestConfig ??= {};\n\n\ttable.push([`${jName}:`, jVersion]);\n\ttable.push([`process.versions.node:`, process.versions.node]);\n\ttable.push(['cwd:', options.cwd ?? process.cwd()]);\n\n\toptions.file?.length && table.push(['file:', options.file]);\n\n\tjestConfig.cacheDirectory?.length && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);\n\n\tjestConfig.rootDir?.length && table.push(['rootDir:', jestConfig.rootDir]);\n\tjestConfig.roots?.length && table.push(['roots:', inspect(jestConfig.roots)]);\n\n\tjestConfig.preset?.length && table.push(['preset:', jestConfig.preset]);\n\n\tjestConfig.transform && table.push(['transform:', inspect(jestConfig.transform, {\n\t\tdepth: 3\n\t})]);\n\n\tconsole.gray.log('─'.repeat(20));\n\tconsole.log(`jest.config`);\n\tconsole.log(table.toString());\n\tconsole.gray.log('─'.repeat(20));\n}\n","import { _requireResolve, fixJestConfig, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\nimport { IJestConfig } from './types';\nimport { getJestCacheDirectory } from 'jest-cache-directory';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getJestCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends IJestConfig>(jestConfig?: T, autoPrint?: boolean,\n\toptions?: IOptionsPrintJestConfigInfo): T\n{\n\t// @ts-ignore\n\tjestConfig ??= {};\n\tconst newJestConfig = fixJestConfig<T>({\n\t\tglobals: {\n//\t\t\t'ts-jest': {\n//\t\t\t\t//tsconfig: 'tsconfig.spec.json',\n//\t\t\t},\n\t\t},\n\t\tcacheDirectory,\n\t\tmaxWorkers: 1,\n\t\tclearMocks: true,\n\t\tpassWithNoTests: true,\n\t\tmoduleFileExtensions: defaultModuleFileExtensions(),\n\t\t//testEnvironment: 'node',\n\t\t//testMatch: ['**/*.test.ts', '**/*.spec.ts'],\n\t\t...makeTestRegexConfig(defaultTestFileExtensions()),\n\t\ttestPathIgnorePatterns: defaultTestPathIgnorePatterns(),\n\t\t//testRunner: 'jest-circus/runner',\n\t\tsetupFilesAfterEnv: [\n\t\t\t//\"jest-chain\",\n\t\t\t//\"jest-extended/all\",\n\t\t\t//\"jest-extended-extra\",\n\t\t\t//\"jest-num-close-with\",\n\t\t\t/**\n\t\t\t * https://medium.com/doctolib/how-to-run-the-same-jest-test-suite-across-several-platforms-jest-os-detection-plugin-included-f8113832482b\n\t\t\t * https://github.com/doctolib/jest-os-detection\n\t\t\t */\n\t\t\t//'jest-os-detection',\n\t\t],\n\t\t//transform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tnewJestConfig.transform ??= defaultTransform({\n\t\tjestConfig,\n\t\tautoPrint,\n\t\toptions,\n\t\tnewJestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","makeTestRegexConfig","testExt","flat","join","testMatch","testRegex","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","value","defaultModuleFileExtensions","defaults","moduleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","jName","jVersion","process","versions","node","cwd","file","cacheDirectory","rootDir","roots","inspect","preset","transform","depth","gray","log","repeat","toString","getJestCacheDirectory","mixinJestConfig","autoPrint","newJestConfig","maxWorkers","clearMocks","passWithNoTests","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}