@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/CHANGELOG.md CHANGED
@@ -3,6 +3,53 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.1.3](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.1.2...@bluelovers/jest-config@1.1.3) (2022-10-29)
7
+
8
+
9
+
10
+ ### 🐛 Bug Fixes
11
+
12
+ * avoid jest load .ts file first ([cec12f6](https://github.com/bluelovers/ws-jest/commit/cec12f65cc45ff10b48f2582d9e63a9ad5c4a08f))
13
+
14
+
15
+ ### 🛠 Build System
16
+
17
+ * **dist:** update build ([3772062](https://github.com/bluelovers/ws-jest/commit/3772062f6ff0108126930daf1714b812401c95ee))
18
+
19
+
20
+ ### 🔖 Miscellaneous
21
+
22
+ * . ([3337b0d](https://github.com/bluelovers/ws-jest/commit/3337b0d15cd58f1b84aa93ae9667c55a1dc76dc5))
23
+
24
+
25
+
26
+ ## [1.1.2](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.1.1...@bluelovers/jest-config@1.1.2) (2022-10-18)
27
+
28
+
29
+
30
+ ### 📦 Code Refactoring
31
+
32
+ * jest-cache-directory ([f1d3765](https://github.com/bluelovers/ws-jest/commit/f1d376578fba4e41eccc768d6431c94f8cb28c0c))
33
+
34
+
35
+ ### 🛠 Build System
36
+
37
+ * update build ([5879a13](https://github.com/bluelovers/ws-jest/commit/5879a13a9b5345369e26e4dfb46974d5edcabb8f))
38
+ * **dist:** update build ([d767249](https://github.com/bluelovers/ws-jest/commit/d7672491422ea0d62bfa480216443475553211ec))
39
+
40
+
41
+ ### 📌 Dependencies
42
+
43
+ * { graceful-fs => fs } ([8340029](https://github.com/bluelovers/ws-jest/commit/8340029b699210dc2dbe1cdd60f4bc5ba67d4f11))
44
+
45
+
46
+ ### 🔖 Miscellaneous
47
+
48
+ * . ([d0e7e98](https://github.com/bluelovers/ws-jest/commit/d0e7e98d220c5b5b9ad945697a038877560ae1e1))
49
+ * . ([9ed4a0d](https://github.com/bluelovers/ws-jest/commit/9ed4a0d0d8836370c5400be00cddeb1b65cc0ed8))
50
+
51
+
52
+
6
53
  ## [1.1.1](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.16...@bluelovers/jest-config@1.1.1) (2022-10-15)
7
54
 
8
55
 
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var requireResolve = require('@yarn-tool/require-resolve');
6
- var path = require('path');
7
- var os = require('os');
8
6
  var debugColor2 = require('debug-color2');
9
- var gracefulFs = require('graceful-fs');
7
+ var jestConfig = require('jest-config');
10
8
  var table = require('@yarn-tool/table');
11
9
  var util = require('util');
10
+ var jestCacheDirectory = require('jest-cache-directory');
12
11
 
13
12
  function _requireResolve(name) {
14
13
  const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
@@ -20,17 +19,6 @@ function _requireResolve(name) {
20
19
  debugColor2.console.debug('[require.resolve]', name, '=>', result);
21
20
  return result;
22
21
  }
23
- function getCacheDirectory() {
24
- const {
25
- getuid
26
- } = process;
27
- const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(tryRealpath(os.tmpdir()), 'jest');
28
- if (getuid == null) {
29
- return tmpdirPath;
30
- } else {
31
- return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
32
- }
33
- }
34
22
  function makeTestRegexConfig(testExt) {
35
23
  testExt = [testExt].flat().join('|');
36
24
  return {
@@ -46,19 +34,13 @@ function fixJestConfig(jestConfig) {
46
34
  }
47
35
  return jestConfig;
48
36
  }
49
- function tryRealpath(path) {
50
- try {
51
- path = gracefulFs.realpathSync.native(path);
52
- } catch (error) {
53
- if (error.code !== 'ENOENT') {
54
- throw error;
55
- }
56
- }
57
- return path;
58
- }
59
37
 
60
- function defaultTsJestTransformerOptions() {
38
+ function defaultTsJestTransformerOptions(runtime) {
39
+ var _runtime$jestConfig$g, _runtime$jestConfig$g2;
40
+ 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 : {};
41
+ const tsconfig = typeof old.tsconfig === 'object' ? old.tsconfig : {};
61
42
  return {
43
+ ...old,
62
44
  tsconfig: {
63
45
  noEmit: true,
64
46
  emitDeclarationOnly: false,
@@ -66,7 +48,8 @@ function defaultTsJestTransformerOptions() {
66
48
  allowUnusedLabels: true,
67
49
  noUnusedLocals: false,
68
50
  noPropertyAccessFromIndexSignature: false,
69
- noImplicitAny: false
51
+ noImplicitAny: false,
52
+ ...tsconfig
70
53
  }
71
54
  };
72
55
  }
@@ -76,7 +59,7 @@ function defaultTestFileExtensions() {
76
59
  return value;
77
60
  }
78
61
  function defaultModuleFileExtensions() {
79
- const value = ['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs', 'json', 'node'];
62
+ const value = [...jestConfig.defaults.moduleFileExtensions, 'mts', 'cts'];
80
63
  return value;
81
64
  }
82
65
  function defaultCoveragePathIgnorePatterns() {
@@ -87,7 +70,7 @@ function defaultTestPathIgnorePatterns() {
87
70
  const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
88
71
  return value;
89
72
  }
90
- function defaultTransform() {
73
+ function defaultTransform(runtime) {
91
74
  const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
92
75
  const opts = {
93
76
  includeGlobal: true,
@@ -95,7 +78,7 @@ function defaultTransform() {
95
78
  paths
96
79
  };
97
80
  let ts_transform = _requireResolve('ts-jest');
98
- ts_transform = [ts_transform, defaultTsJestTransformerOptions()];
81
+ ts_transform = [ts_transform, defaultTsJestTransformerOptions(runtime)];
99
82
  const {
100
83
  result: tsd
101
84
  } = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
@@ -116,7 +99,7 @@ function defaultTransform() {
116
99
  }
117
100
 
118
101
  var name = "@bluelovers/jest-config";
119
- var version = "1.1.1";
102
+ var version = "1.1.3";
120
103
 
121
104
  function _newTableBorderless(options) {
122
105
  let table$1 = new table.Table({
@@ -165,9 +148,9 @@ function printJestConfigInfo(jestConfig, options) {
165
148
  debugColor2.console.gray.log('─'.repeat(20));
166
149
  }
167
150
 
168
- const cacheDirectory = /*#__PURE__*/getCacheDirectory();
151
+ const cacheDirectory = /*#__PURE__*/jestCacheDirectory.getJestCacheDirectory();
169
152
  function mixinJestConfig(jestConfig, autoPrint, options) {
170
- var _jestConfig;
153
+ var _jestConfig, _newJestConfig$transf;
171
154
  (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
172
155
  const newJestConfig = fixJestConfig({
173
156
  globals: {},
@@ -176,17 +159,21 @@ function mixinJestConfig(jestConfig, autoPrint, options) {
176
159
  clearMocks: true,
177
160
  passWithNoTests: true,
178
161
  moduleFileExtensions: defaultModuleFileExtensions(),
179
- testEnvironment: 'node',
180
162
  ...makeTestRegexConfig(defaultTestFileExtensions()),
181
163
  testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
182
164
  setupFilesAfterEnv: [],
183
- transform: defaultTransform(),
184
165
  verbose: true,
185
166
  coverageProvider: 'v8',
186
167
  collectCoverage: false,
187
168
  coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
188
169
  ...jestConfig
189
170
  });
171
+ (_newJestConfig$transf = newJestConfig.transform) !== null && _newJestConfig$transf !== void 0 ? _newJestConfig$transf : newJestConfig.transform = defaultTransform({
172
+ jestConfig,
173
+ autoPrint,
174
+ options,
175
+ newJestConfig
176
+ });
190
177
  autoPrint && printJestConfigInfo(newJestConfig, options);
191
178
  return newJestConfig;
192
179
  }
@@ -194,14 +181,13 @@ function mixinJestConfig(jestConfig, autoPrint, options) {
194
181
  exports._newTableBorderless = _newTableBorderless;
195
182
  exports._requireResolve = _requireResolve;
196
183
  exports.cacheDirectory = cacheDirectory;
197
- exports["default"] = mixinJestConfig;
184
+ exports.default = mixinJestConfig;
198
185
  exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
199
186
  exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
200
187
  exports.defaultTestFileExtensions = defaultTestFileExtensions;
201
188
  exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
202
189
  exports.defaultTransform = defaultTransform;
203
190
  exports.fixJestConfig = fixJestConfig;
204
- exports.getCacheDirectory = getCacheDirectory;
205
191
  exports.makeTestRegexConfig = makeTestRegexConfig;
206
192
  exports.mixinJestConfig = mixinJestConfig;
207
193
  exports.printJestConfigInfo = printJestConfigInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.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.cjs.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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"}
@@ -4,27 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
 
7
- var e = require("@yarn-tool/require-resolve"), t = require("path"), s = require("os"), o = require("debug-color2"), r = require("graceful-fs"), n = require("@yarn-tool/table"), i = require("util");
7
+ var e = require("@yarn-tool/require-resolve"), t = require("debug-color2"), s = require("jest-config"), o = require("@yarn-tool/table"), r = require("util");
8
8
 
9
- function _requireResolve(t) {
10
- const s = [ e.requireResolveExtra("@bluelovers/tsdx").result, e.requireResolveExtra("tsdx").result ].filter(Boolean), r = e.requireResolveCore(t, {
9
+ function _requireResolve(s) {
10
+ const o = [ e.requireResolveExtra("@bluelovers/tsdx").result, e.requireResolveExtra("tsdx").result ].filter(Boolean), r = e.requireResolveCore(s, {
11
11
  includeGlobal: !0,
12
12
  includeCurrentDirectory: !0,
13
- paths: s
13
+ paths: o
14
14
  });
15
- return o.console.debug("[require.resolve]", t, "=>", r), r;
16
- }
17
-
18
- function getCacheDirectory() {
19
- const {getuid: e} = process, o = process.env.JEST_CACHE_DIRECTORY || t.join(function tryRealpath(e) {
20
- try {
21
- e = r.realpathSync.native(e);
22
- } catch (e) {
23
- if ("ENOENT" !== e.code) throw e;
24
- }
25
- return e;
26
- }(s.tmpdir()), "jest");
27
- return null == e ? o : `${o}_${e.call(process).toString(36)}`;
15
+ return t.console.debug("[require.resolve]", s, "=>", r), r;
28
16
  }
29
17
 
30
18
  function makeTestRegexConfig(e) {
@@ -39,14 +27,11 @@ function fixJestConfig(e) {
39
27
  e;
40
28
  }
41
29
 
42
- function defaultTransform() {
43
- const t = {
44
- includeGlobal: !0,
45
- includeCurrentDirectory: !0,
46
- paths: [ e.requireResolveExtra("@bluelovers/jest-config").result ].filter(Boolean)
47
- };
48
- let s = _requireResolve("ts-jest");
49
- s = [ s, {
30
+ function defaultTsJestTransformerOptions(e) {
31
+ var t, s;
32
+ 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 : {};
33
+ return {
34
+ ...o,
50
35
  tsconfig: {
51
36
  noEmit: !0,
52
37
  emitDeclarationOnly: !1,
@@ -54,23 +39,38 @@ function defaultTransform() {
54
39
  allowUnusedLabels: !0,
55
40
  noUnusedLocals: !1,
56
41
  noPropertyAccessFromIndexSignature: !1,
57
- noImplicitAny: !1
42
+ noImplicitAny: !1,
43
+ ...r
58
44
  }
59
- } ];
60
- const {result: o} = e.requireResolveExtra("jest-tsd-transform", t);
61
- if (null != o && o.length) {
62
- const {result: r} = e.requireResolveExtra("jest-chain-transform", t);
63
- null != r && r.length && (s = [ r, {
64
- transformers: [ o, s ]
45
+ };
46
+ }
47
+
48
+ function defaultModuleFileExtensions() {
49
+ return [ ...s.defaults.moduleFileExtensions, "mts", "cts" ];
50
+ }
51
+
52
+ function defaultTransform(t) {
53
+ const s = {
54
+ includeGlobal: !0,
55
+ includeCurrentDirectory: !0,
56
+ paths: [ e.requireResolveExtra("@bluelovers/jest-config").result ].filter(Boolean)
57
+ };
58
+ let o = _requireResolve("ts-jest");
59
+ o = [ o, defaultTsJestTransformerOptions(t) ];
60
+ const {result: r} = e.requireResolveExtra("jest-tsd-transform", s);
61
+ if (null != r && r.length) {
62
+ const {result: t} = e.requireResolveExtra("jest-chain-transform", s);
63
+ null != t && t.length && (o = [ t, {
64
+ transformers: [ r, o ]
65
65
  } ]);
66
66
  }
67
67
  return {
68
- ".(ts|tsx|mts|cts)$": s
68
+ ".(ts|tsx|mts|cts)$": o
69
69
  };
70
70
  }
71
71
 
72
72
  function _newTableBorderless(e) {
73
- let t = new n.Table({
73
+ let t = new o.Table({
74
74
  colAligns: [ "right", "left" ],
75
75
  chars: {
76
76
  top: "",
@@ -91,61 +91,62 @@ function _newTableBorderless(e) {
91
91
  },
92
92
  ...e
93
93
  });
94
- return t = n.applyStyleBorderless(t), t;
94
+ return t = o.applyStyleBorderless(t), t;
95
95
  }
96
96
 
97
- function printJestConfigInfo(e, t) {
98
- var s, r, n, l, u, a, c, _;
99
- const f = _newTableBorderless();
100
- null !== (s = t) && void 0 !== s || (t = {}), null !== (r = e) && void 0 !== r || (e = {}),
101
- f.push([ "@bluelovers/jest-config:", "1.1.1" ]), f.push([ "process.versions.node:", process.versions.node ]),
102
- f.push([ "cwd:", null !== (n = t.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (l = t.file) || void 0 === l ? void 0 : l.length) && f.push([ "file:", t.file ]),
103
- (null === (u = e.cacheDirectory) || void 0 === u ? void 0 : u.length) && f.push([ "cacheDirectory:", e.cacheDirectory ]),
104
- (null === (a = e.rootDir) || void 0 === a ? void 0 : a.length) && f.push([ "rootDir:", e.rootDir ]),
105
- (null === (c = e.roots) || void 0 === c ? void 0 : c.length) && f.push([ "roots:", i.inspect(e.roots) ]),
106
- (null === (_ = e.preset) || void 0 === _ ? void 0 : _.length) && f.push([ "preset:", e.preset ]),
107
- e.transform && f.push([ "transform:", i.inspect(e.transform, {
97
+ function printJestConfigInfo(e, s) {
98
+ var o, n, i, l, u, a, f, _;
99
+ const c = _newTableBorderless();
100
+ null !== (o = s) && void 0 !== o || (s = {}), null !== (n = e) && void 0 !== n || (e = {}),
101
+ c.push([ "@bluelovers/jest-config:", "1.1.3" ]), c.push([ "process.versions.node:", process.versions.node ]),
102
+ c.push([ "cwd:", null !== (i = s.cwd) && void 0 !== i ? i : process.cwd() ]), (null === (l = s.file) || void 0 === l ? void 0 : l.length) && c.push([ "file:", s.file ]),
103
+ (null === (u = e.cacheDirectory) || void 0 === u ? void 0 : u.length) && c.push([ "cacheDirectory:", e.cacheDirectory ]),
104
+ (null === (a = e.rootDir) || void 0 === a ? void 0 : a.length) && c.push([ "rootDir:", e.rootDir ]),
105
+ (null === (f = e.roots) || void 0 === f ? void 0 : f.length) && c.push([ "roots:", r.inspect(e.roots) ]),
106
+ (null === (_ = e.preset) || void 0 === _ ? void 0 : _.length) && c.push([ "preset:", e.preset ]),
107
+ e.transform && c.push([ "transform:", r.inspect(e.transform, {
108
108
  depth: 3
109
- }) ]), o.console.gray.log("─".repeat(20)), o.console.log("jest.config"), o.console.log(f.toString()),
110
- o.console.gray.log("─".repeat(20));
109
+ }) ]), t.console.gray.log("─".repeat(20)), t.console.log("jest.config"), t.console.log(c.toString()),
110
+ t.console.gray.log("─".repeat(20));
111
111
  }
112
112
 
113
- const l = getCacheDirectory();
113
+ const n = require("jest-cache-directory").getJestCacheDirectory();
114
114
 
115
115
  function mixinJestConfig(e, t, s) {
116
- var o;
116
+ var o, r;
117
117
  null !== (o = e) && void 0 !== o || (e = {});
118
- const r = fixJestConfig({
118
+ const i = fixJestConfig({
119
119
  globals: {},
120
- cacheDirectory: l,
120
+ cacheDirectory: n,
121
121
  maxWorkers: 1,
122
122
  clearMocks: !0,
123
123
  passWithNoTests: !0,
124
- moduleFileExtensions: [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ],
125
- testEnvironment: "node",
124
+ moduleFileExtensions: defaultModuleFileExtensions(),
126
125
  ...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
127
126
  testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
128
127
  setupFilesAfterEnv: [],
129
- transform: defaultTransform(),
130
128
  verbose: !0,
131
129
  coverageProvider: "v8",
132
130
  collectCoverage: !1,
133
131
  coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ],
134
132
  ...e
135
133
  });
136
- return t && printJestConfigInfo(r, s), r;
134
+ return null !== (r = i.transform) && void 0 !== r || (i.transform = defaultTransform({
135
+ jestConfig: e,
136
+ autoPrint: t,
137
+ options: s,
138
+ newJestConfig: i
139
+ })), t && printJestConfigInfo(i, s), i;
137
140
  }
138
141
 
139
142
  exports._newTableBorderless = _newTableBorderless, exports._requireResolve = _requireResolve,
140
- exports.cacheDirectory = l, exports.default = mixinJestConfig, exports.defaultCoveragePathIgnorePatterns = function defaultCoveragePathIgnorePatterns() {
143
+ exports.cacheDirectory = n, exports.default = mixinJestConfig, exports.defaultCoveragePathIgnorePatterns = function defaultCoveragePathIgnorePatterns() {
141
144
  return [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/", "/__file_snapshots__/", "/__fixtures__/" ];
142
- }, exports.defaultModuleFileExtensions = function defaultModuleFileExtensions() {
143
- return [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ];
144
- }, exports.defaultTestFileExtensions = function defaultTestFileExtensions() {
145
+ }, exports.defaultModuleFileExtensions = defaultModuleFileExtensions, exports.defaultTestFileExtensions = function defaultTestFileExtensions() {
145
146
  return [ "ts", "tsx", "mts", "cts" ];
146
147
  }, exports.defaultTestPathIgnorePatterns = function defaultTestPathIgnorePatterns() {
147
148
  return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
148
149
  }, exports.defaultTransform = defaultTransform, exports.fixJestConfig = fixJestConfig,
149
- exports.getCacheDirectory = getCacheDirectory, exports.makeTestRegexConfig = makeTestRegexConfig,
150
- exports.mixinJestConfig = mixinJestConfig, exports.printJestConfigInfo = printJestConfigInfo;
150
+ exports.makeTestRegexConfig = makeTestRegexConfig, exports.mixinJestConfig = mixinJestConfig,
151
+ exports.printJestConfigInfo = printJestConfigInfo;
151
152
  //# sourceMappingURL=index.cjs.production.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.production.min.cjs","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","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","defaultCoveragePathIgnorePatterns","defaultModuleFileExtensions","defaultTestFileExtensions","defaultTestPathIgnorePatterns"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/helper.ts","../src/plugin/ts-jest.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { IJestConfig } from './types';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t});\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t],\n\t}\n}\n\nexport function fixJestConfig<T extends IJestConfig>(jestConfig: T): T\n{\n\tif (jestConfig.testMatch)\n\t{\n\t\tjestConfig.testRegex = void 0;\n\t}\n\telse if (jestConfig.testRegex)\n\t{\n\t\tjestConfig.testMatch = void 0;\n\t}\n\n\treturn jestConfig\n}\n","import { TsJestTransformerOptions } from 'ts-jest/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","defaultModuleFileExtensions","defaults","moduleFileExtensions","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","defaultCoveragePathIgnorePatterns","defaultTestFileExtensions","defaultTestPathIgnorePatterns"],"mappings":"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"}