@bluelovers/jest-config 1.0.16 → 1.1.2

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.
@@ -1,36 +1,20 @@
1
1
  import { requireResolveExtra as t, requireResolveCore as e } 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 { Table as o, applyStyleBorderless as n } from "@yarn-tool/table";
6
6
 
7
- import { console as r } from "debug-color2";
7
+ import { inspect as r } from "util";
8
8
 
9
- import { realpathSync as n } from "graceful-fs";
9
+ import { getJestCacheDirectory as i } from "jest-cache-directory";
10
10
 
11
- import { Table as i, applyStyleBorderless as l } from "@yarn-tool/table";
12
-
13
- import { inspect as _ } from "util";
14
-
15
- function _requireResolve(s) {
16
- const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), n = e(s, {
11
+ function _requireResolve(o) {
12
+ const n = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), r = e(o, {
17
13
  includeGlobal: !0,
18
14
  includeCurrentDirectory: !0,
19
- paths: o
15
+ paths: n
20
16
  });
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)}`;
17
+ return s.debug("[require.resolve]", o, "=>", r), r;
34
18
  }
35
19
 
36
20
  function makeTestRegexConfig(t) {
@@ -45,6 +29,24 @@ function fixJestConfig(t) {
45
29
  t;
46
30
  }
47
31
 
32
+ function defaultTsJestTransformerOptions(t) {
33
+ var e, s;
34
+ const o = null !== (e = null === (s = t.jestConfig.globals) || void 0 === s ? void 0 : s["ts-jest"]) && void 0 !== e ? e : {}, n = "object" == typeof o.tsconfig ? o.tsconfig : {};
35
+ return {
36
+ ...o,
37
+ tsconfig: {
38
+ noEmit: !0,
39
+ emitDeclarationOnly: !1,
40
+ noUnusedParameters: !1,
41
+ allowUnusedLabels: !0,
42
+ noUnusedLocals: !1,
43
+ noPropertyAccessFromIndexSignature: !1,
44
+ noImplicitAny: !1,
45
+ ...n
46
+ }
47
+ };
48
+ }
49
+
48
50
  function defaultTestFileExtensions() {
49
51
  return [ "ts", "tsx", "mts", "cts" ];
50
52
  }
@@ -61,27 +63,28 @@ function defaultTestPathIgnorePatterns() {
61
63
  return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
62
64
  }
63
65
 
64
- function defaultTransform() {
65
- const e = {
66
+ function defaultTransform(e) {
67
+ const s = {
66
68
  includeGlobal: !0,
67
69
  includeCurrentDirectory: !0,
68
70
  paths: [ t("@bluelovers/jest-config").result ].filter(Boolean)
69
71
  };
70
- let s = _requireResolve("ts-jest");
71
- const {result: o} = t("jest-tsd-transform", e);
72
- if (null != o && o.length) {
73
- const {result: r} = t("jest-chain-transform", e);
74
- null != r && r.length && (s = [ r, {
75
- transformers: [ o, s ]
72
+ let o = _requireResolve("ts-jest");
73
+ o = [ o, defaultTsJestTransformerOptions(e) ];
74
+ const {result: n} = t("jest-tsd-transform", s);
75
+ if (null != n && n.length) {
76
+ const {result: e} = t("jest-chain-transform", s);
77
+ null != e && e.length && (o = [ e, {
78
+ transformers: [ n, o ]
76
79
  } ]);
77
80
  }
78
81
  return {
79
- ".(ts|tsx|mts|cts)$": s
82
+ ".(ts|tsx|mts|cts)$": o
80
83
  };
81
84
  }
82
85
 
83
86
  function _newTableBorderless(t) {
84
- let e = new i({
87
+ let e = new o({
85
88
  colAligns: [ "right", "left" ],
86
89
  chars: {
87
90
  top: "",
@@ -102,34 +105,32 @@ function _newTableBorderless(t) {
102
105
  },
103
106
  ...t
104
107
  });
105
- return e = l(e), e;
108
+ return e = n(e), e;
106
109
  }
107
110
 
108
111
  function printJestConfigInfo(t, e) {
109
- var s, o, n, i, l, u, a, f;
110
- const c = _newTableBorderless();
111
- null !== (s = e) && void 0 !== s || (e = {}), null !== (o = t) && void 0 !== o || (t = {}),
112
- c.push([ "@bluelovers/jest-config:", "1.0.16" ]), c.push([ "process.versions.node:", process.versions.node ]),
113
- c.push([ "cwd:", null !== (n = e.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (i = e.file) || void 0 === i ? void 0 : i.length) && c.push([ "file:", e.file ]),
114
- (null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) && c.push([ "cacheDirectory:", t.cacheDirectory ]),
115
- (null === (u = t.rootDir) || void 0 === u ? void 0 : u.length) && c.push([ "rootDir:", t.rootDir ]),
116
- (null === (a = t.roots) || void 0 === a ? void 0 : a.length) && c.push([ "roots:", _(t.roots) ]),
117
- (null === (f = t.preset) || void 0 === f ? void 0 : f.length) && c.push([ "preset:", t.preset ]),
118
- t.transform && c.push([ "transform:", _(t.transform, {
112
+ var o, n, i, l, u, a, _, f;
113
+ const d = _newTableBorderless();
114
+ null !== (o = e) && void 0 !== o || (e = {}), null !== (n = t) && void 0 !== n || (t = {}),
115
+ d.push([ "@bluelovers/jest-config:", "1.1.2" ]), d.push([ "process.versions.node:", process.versions.node ]),
116
+ d.push([ "cwd:", null !== (i = e.cwd) && void 0 !== i ? i : process.cwd() ]), (null === (l = e.file) || void 0 === l ? void 0 : l.length) && d.push([ "file:", e.file ]),
117
+ (null === (u = t.cacheDirectory) || void 0 === u ? void 0 : u.length) && d.push([ "cacheDirectory:", t.cacheDirectory ]),
118
+ (null === (a = t.rootDir) || void 0 === a ? void 0 : a.length) && d.push([ "rootDir:", t.rootDir ]),
119
+ (null === (_ = t.roots) || void 0 === _ ? void 0 : _.length) && d.push([ "roots:", r(t.roots) ]),
120
+ (null === (f = t.preset) || void 0 === f ? void 0 : f.length) && d.push([ "preset:", t.preset ]),
121
+ t.transform && d.push([ "transform:", r(t.transform, {
119
122
  depth: 3
120
- }) ]), r.gray.log("─".repeat(20)), r.log("jest.config"), r.log(c.toString()), r.gray.log("─".repeat(20));
123
+ }) ]), s.gray.log("─".repeat(20)), s.log("jest.config"), s.log(d.toString()), s.gray.log("─".repeat(20));
121
124
  }
122
125
 
123
- const u = getCacheDirectory();
126
+ const l = i();
124
127
 
125
128
  function mixinJestConfig(t, e, s) {
126
- var o;
129
+ var o, n;
127
130
  null !== (o = t) && void 0 !== o || (t = {});
128
131
  const r = fixJestConfig({
129
- globals: {
130
- "ts-jest": {}
131
- },
132
- cacheDirectory: u,
132
+ globals: {},
133
+ cacheDirectory: l,
133
134
  maxWorkers: 1,
134
135
  clearMocks: !0,
135
136
  passWithNoTests: !0,
@@ -138,15 +139,19 @@ function mixinJestConfig(t, e, s) {
138
139
  ...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
139
140
  testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
140
141
  setupFilesAfterEnv: [],
141
- transform: defaultTransform(),
142
142
  verbose: !0,
143
143
  coverageProvider: "v8",
144
144
  collectCoverage: !1,
145
145
  coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
146
146
  ...t
147
147
  });
148
- return e && printJestConfigInfo(r, s), r;
148
+ return null !== (n = r.transform) && void 0 !== n || (r.transform = defaultTransform({
149
+ jestConfig: t,
150
+ autoPrint: e,
151
+ options: s,
152
+ newJestConfig: r
153
+ })), e && printJestConfigInfo(r, s), r;
149
154
  }
150
155
 
151
- export { _newTableBorderless, _requireResolve, u as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
156
+ export { _newTableBorderless, _requireResolve, l as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
152
157
  //# sourceMappingURL=index.esm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.mjs","sources":["../src/helper.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';\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 InitialOptionsTsJest>(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 { requireResolveExtra, IOptions } 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';\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\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\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 { InitialOptionsTsJest } from 'ts-jest';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\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: InitialOptionsTsJest, 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 { InitialOptionsTsJest } from 'ts-jest';\nimport { _requireResolve, fixJestConfig, getCacheDirectory, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends InitialOptionsTsJest>(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","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\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(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\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\t//transform: defaultTransform(),\n\t\tverbose: true,\n\t\t/**\n\t\t * if didn't set `coverageProvider` to `v8`\n\t\t * with `collectCoverage` `true`, nodejs debug point maybe will fail\n\t\t */\n\t\tcoverageProvider: 'v8',\n\t\tcollectCoverage: false,\n\t\tcoveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),\n\t\t/**\n\t\t * https://github.com/facebook/jest/issues/9771#issuecomment-872764344\n\t\t */\n\t\t//resolver: 'jest-node-exports-resolver',\n\t\t...jestConfig,\n\t});\n\n\tnewJestConfig.transform ??= defaultTransform({\n\t\tjestConfig,\n\t\tautoPrint,\n\t\toptions,\n\t\tnewJestConfig,\n\t});\n\n\tautoPrint && printJestConfigInfo(newJestConfig, options);\n\n\treturn newJestConfig\n}\n\nexport default mixinJestConfig\n"],"names":["_requireResolve","name","paths","requireResolveExtra","result","filter","Boolean","requireResolveCore","includeGlobal","includeCurrentDirectory","console","debug","makeTestRegexConfig","testExt","testMatch","testRegex","flat","join","fixJestConfig","jestConfig","defaultTsJestTransformerOptions","runtime","_runtime$jestConfig$g","_runtime$jestConfig$g2","old","globals","tsconfig","noEmit","emitDeclarationOnly","noUnusedParameters","allowUnusedLabels","noUnusedLocals","noPropertyAccessFromIndexSignature","noImplicitAny","defaultTestFileExtensions","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","defaultTransform","opts","ts_transform","tsd","length","chain","transformers","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","_options","_jestConfig","_options$cwd","_options$file","_jestConfig$cacheDire","_jestConfig$rootDir","_jestConfig$roots","_jestConfig$preset","push","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","testEnvironment","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('@yarn-tool/table'), require('util'), require('jest-cache-directory')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'debug-color2', '@yarn-tool/table', 'util', 'jest-cache-directory'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.debugColor2, global.table, global.util, global.jestCacheDirectory));
5
+ })(this, (function (exports, requireResolve, debugColor2, table, util, jestCacheDirectory) { 'use strict';
6
6
 
7
7
  function _requireResolve(name) {
8
8
  const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
@@ -14,18 +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
-
23
- if (getuid == null) {
24
- return tmpdirPath;
25
- } else {
26
- return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
27
- }
28
- }
29
17
  function makeTestRegexConfig(testExt) {
30
18
  testExt = [testExt].flat().join('|');
31
19
  return {
@@ -39,19 +27,26 @@
39
27
  } else if (jestConfig.testRegex) {
40
28
  jestConfig.testMatch = void 0;
41
29
  }
42
-
43
30
  return jestConfig;
44
31
  }
45
- function tryRealpath(path) {
46
- try {
47
- path = gracefulFs.realpathSync.native(path);
48
- } catch (error) {
49
- if (error.code !== 'ENOENT') {
50
- throw error;
51
- }
52
- }
53
32
 
54
- return path;
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 : {};
37
+ return {
38
+ ...old,
39
+ tsconfig: {
40
+ noEmit: true,
41
+ emitDeclarationOnly: false,
42
+ noUnusedParameters: false,
43
+ allowUnusedLabels: true,
44
+ noUnusedLocals: false,
45
+ noPropertyAccessFromIndexSignature: false,
46
+ noImplicitAny: false,
47
+ ...tsconfig
48
+ }
49
+ };
55
50
  }
56
51
 
57
52
  function defaultTestFileExtensions() {
@@ -70,32 +65,28 @@
70
65
  const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
71
66
  return value;
72
67
  }
73
- function defaultTransform() {
68
+ function defaultTransform(runtime) {
74
69
  const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
75
70
  const opts = {
76
71
  includeGlobal: true,
77
72
  includeCurrentDirectory: true,
78
73
  paths
79
74
  };
80
-
81
75
  let ts_transform = _requireResolve('ts-jest');
82
-
76
+ ts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];
83
77
  const {
84
78
  result: tsd
85
79
  } = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
86
-
87
80
  if (tsd !== null && tsd !== void 0 && tsd.length) {
88
81
  const {
89
82
  result: chain
90
83
  } = requireResolve.requireResolveExtra('jest-chain-transform', opts);
91
-
92
84
  if (chain !== null && chain !== void 0 && chain.length) {
93
85
  ts_transform = [chain, {
94
86
  transformers: [tsd, ts_transform]
95
87
  }];
96
88
  }
97
89
  }
98
-
99
90
  const value = {
100
91
  '.(ts|tsx|mts|cts)$': ts_transform
101
92
  };
@@ -103,7 +94,7 @@
103
94
  }
104
95
 
105
96
  var name = "@bluelovers/jest-config";
106
- var version = "1.0.16";
97
+ var version = "1.1.2";
107
98
 
108
99
  function _newTableBorderless(options) {
109
100
  let table$1 = new table.Table({
@@ -132,9 +123,7 @@
132
123
  }
133
124
  function printJestConfigInfo(jestConfig, options) {
134
125
  var _options, _jestConfig, _options$cwd, _options$file, _jestConfig$cacheDire, _jestConfig$rootDir, _jestConfig$roots, _jestConfig$preset;
135
-
136
126
  const table = _newTableBorderless();
137
-
138
127
  (_options = options) !== null && _options !== void 0 ? _options : options = {};
139
128
  (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
140
129
  table.push([`${name}:`, version]);
@@ -154,15 +143,12 @@
154
143
  debugColor2.console.gray.log('─'.repeat(20));
155
144
  }
156
145
 
157
- const cacheDirectory = /*#__PURE__*/getCacheDirectory();
146
+ const cacheDirectory = /*#__PURE__*/jestCacheDirectory.getJestCacheDirectory();
158
147
  function mixinJestConfig(jestConfig, autoPrint, options) {
159
- var _jestConfig;
160
-
148
+ var _jestConfig, _newJestConfig$transf;
161
149
  (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
162
150
  const newJestConfig = fixJestConfig({
163
- globals: {
164
- 'ts-jest': {}
165
- },
151
+ globals: {},
166
152
  cacheDirectory,
167
153
  maxWorkers: 1,
168
154
  clearMocks: true,
@@ -172,13 +158,18 @@
172
158
  ...makeTestRegexConfig(defaultTestFileExtensions()),
173
159
  testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
174
160
  setupFilesAfterEnv: [],
175
- transform: defaultTransform(),
176
161
  verbose: true,
177
162
  coverageProvider: 'v8',
178
163
  collectCoverage: false,
179
164
  coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
180
165
  ...jestConfig
181
166
  });
167
+ (_newJestConfig$transf = newJestConfig.transform) !== null && _newJestConfig$transf !== void 0 ? _newJestConfig$transf : newJestConfig.transform = defaultTransform({
168
+ jestConfig,
169
+ autoPrint,
170
+ options,
171
+ newJestConfig
172
+ });
182
173
  autoPrint && printJestConfigInfo(newJestConfig, options);
183
174
  return newJestConfig;
184
175
  }
@@ -193,7 +184,6 @@
193
184
  exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
194
185
  exports.defaultTransform = defaultTransform;
195
186
  exports.fixJestConfig = fixJestConfig;
196
- exports.getCacheDirectory = getCacheDirectory;
197
187
  exports.makeTestRegexConfig = makeTestRegexConfig;
198
188
  exports.mixinJestConfig = mixinJestConfig;
199
189
  exports.printJestConfigInfo = printJestConfigInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.development.cjs","sources":["../src/helper.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';\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 InitialOptionsTsJest>(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 { requireResolveExtra, IOptions } 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';\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\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\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 { InitialOptionsTsJest } from 'ts-jest';\nimport { console } from 'debug-color2';\nimport { inspect } from 'util';\nimport { name as jName, version as jVersion } from '../package.json';\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: InitialOptionsTsJest, 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 { InitialOptionsTsJest } from 'ts-jest';\nimport { _requireResolve, fixJestConfig, getCacheDirectory, makeTestRegexConfig } from './helper';\nimport {\n\tdefaultCoveragePathIgnorePatterns,\n\tdefaultModuleFileExtensions,\n\tdefaultTestFileExtensions,\n\tdefaultTestPathIgnorePatterns, defaultTransform,\n} from './defaults';\nimport { IOptionsPrintJestConfigInfo, printJestConfigInfo } from './print';\n\nexport * from './helper';\nexport * from './defaults';\nexport * from './print';\n\nconst cacheDirectory = getCacheDirectory();\n\nexport { cacheDirectory }\n\nexport function mixinJestConfig<T extends InitialOptionsTsJest>(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","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\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(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\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\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","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","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}