@bluelovers/jest-config 1.0.15 → 1.0.16

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,27 @@
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.0.16](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.15...@bluelovers/jest-config@1.0.16) (2022-10-05)
7
+
8
+
9
+
10
+ ### ✨ Features
11
+
12
+ * support `jest-tsd-transform` ([99bf38f](https://github.com/bluelovers/ws-jest/commit/99bf38fa0fb845df667bfc5d82b5c3a631f12219))
13
+
14
+
15
+ ### 🛠 Build System
16
+
17
+ * **dist:** update build ([9fae7dc](https://github.com/bluelovers/ws-jest/commit/9fae7dcd11d68bb58dcbfe99b736d38b619ef947))
18
+
19
+
20
+ ### 🔖 Miscellaneous
21
+
22
+ * . ([d589553](https://github.com/bluelovers/ws-jest/commit/d589553fc097c77ffc7f43533df273e052179a97))
23
+ * . ([ae801f1](https://github.com/bluelovers/ws-jest/commit/ae801f104d72774d29afc33e2d3312a650d76843))
24
+
25
+
26
+
6
27
  ## [1.0.15](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.14...@bluelovers/jest-config@1.0.15) (2022-09-19)
7
28
 
8
29
 
package/README.md CHANGED
@@ -10,3 +10,8 @@ yarn-tool add @bluelovers/jest-config
10
10
  yt add @bluelovers/jest-config
11
11
  ```
12
12
 
13
+ support `jest-tsd-transform`
14
+
15
+ ```bash
16
+ yarn add jest-tsd-transform jest-chain-transform
17
+ ```
@@ -76,9 +76,40 @@ function defaultTestPathIgnorePatterns() {
76
76
  const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
77
77
  return value;
78
78
  }
79
+ function defaultTransform() {
80
+ const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
81
+ const opts = {
82
+ includeGlobal: true,
83
+ includeCurrentDirectory: true,
84
+ paths
85
+ };
86
+
87
+ let ts_transform = _requireResolve('ts-jest');
88
+
89
+ const {
90
+ result: tsd
91
+ } = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
92
+
93
+ if (tsd !== null && tsd !== void 0 && tsd.length) {
94
+ const {
95
+ result: chain
96
+ } = requireResolve.requireResolveExtra('jest-chain-transform', opts);
97
+
98
+ if (chain !== null && chain !== void 0 && chain.length) {
99
+ ts_transform = [chain, {
100
+ transformers: [tsd, ts_transform]
101
+ }];
102
+ }
103
+ }
104
+
105
+ const value = {
106
+ '.(ts|tsx|mts|cts)$': ts_transform
107
+ };
108
+ return value;
109
+ }
79
110
 
80
111
  var name = "@bluelovers/jest-config";
81
- var version = "1.0.15";
112
+ var version = "1.0.16";
82
113
 
83
114
  function _newTableBorderless(options) {
84
115
  let table$1 = new table.Table({
@@ -120,6 +151,9 @@ function printJestConfigInfo(jestConfig, options) {
120
151
  ((_jestConfig$rootDir = jestConfig.rootDir) === null || _jestConfig$rootDir === void 0 ? void 0 : _jestConfig$rootDir.length) && table.push(['rootDir:', jestConfig.rootDir]);
121
152
  ((_jestConfig$roots = jestConfig.roots) === null || _jestConfig$roots === void 0 ? void 0 : _jestConfig$roots.length) && table.push(['roots:', util.inspect(jestConfig.roots)]);
122
153
  ((_jestConfig$preset = jestConfig.preset) === null || _jestConfig$preset === void 0 ? void 0 : _jestConfig$preset.length) && table.push(['preset:', jestConfig.preset]);
154
+ jestConfig.transform && table.push(['transform:', util.inspect(jestConfig.transform, {
155
+ depth: 3
156
+ })]);
123
157
  debugColor2.console.gray.log('─'.repeat(20));
124
158
  debugColor2.console.log(`jest.config`);
125
159
  debugColor2.console.log(table.toString());
@@ -144,9 +178,7 @@ function mixinJestConfig(jestConfig, autoPrint, options) {
144
178
  ...makeTestRegexConfig(defaultTestFileExtensions()),
145
179
  testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
146
180
  setupFilesAfterEnv: [],
147
- transform: {
148
- '.(ts|tsx|mts|cts)$': _requireResolve('ts-jest')
149
- },
181
+ transform: defaultTransform(),
150
182
  verbose: true,
151
183
  coverageProvider: 'v8',
152
184
  collectCoverage: false,
@@ -165,6 +197,7 @@ exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
165
197
  exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
166
198
  exports.defaultTestFileExtensions = defaultTestFileExtensions;
167
199
  exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
200
+ exports.defaultTransform = defaultTransform;
168
201
  exports.fixJestConfig = fixJestConfig;
169
202
  exports.getCacheDirectory = getCacheDirectory;
170
203
  exports.makeTestRegexConfig = makeTestRegexConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.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 { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\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","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\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,\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: {\n\t\t\t'.(ts|tsx|mts|cts)$': _requireResolve('ts-jest'),\n\t\t},\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","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","jName","jVersion","versions","node","cwd","file","length","cacheDirectory","rootDir","roots","inspect","preset","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","transform","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@yarn-tool/require-resolve"),t=require("path"),s=require("os"),o=require("debug-color2"),r=require("graceful-fs"),i=require("@yarn-tool/table"),n=require("util");function _requireResolve(t){const s=[e.requireResolveExtra("@bluelovers/tsdx").result,e.requireResolveExtra("tsdx").result].filter(Boolean),r=e.requireResolveCore(t,{includeGlobal:!0,includeCurrentDirectory:!0,paths:s});return o.console.debug("[require.resolve]",t,"=>",r),r}function getCacheDirectory(){const{getuid:e}=process,o=process.env.JEST_CACHE_DIRECTORY||t.join(function tryRealpath(e){try{e=r.realpathSync.native(e)}catch(e){if("ENOENT"!==e.code)throw e}return e}(s.tmpdir()),"jest");return null==e?o:`${o}_${e.call(process).toString(36)}`}function makeTestRegexConfig(e){return{testMatch:void 0,testRegex:[`\\.(tests?|spec)\\.(${e=[e].flat().join("|")})$`,`__tests__/.*\\.(tests?|spec)\\.(${e})$`]}}function fixJestConfig(e){return e.testMatch?e.testRegex=void 0:e.testRegex&&(e.testMatch=void 0),e}function _newTableBorderless(e){let t=new i.Table({colAligns:["right","left"],chars:{top:"","top-mid":"","top-left":"","top-right":"",bottom:"","bottom-mid":"","bottom-left":"","bottom-right":"",left:"","left-mid":"",mid:"","mid-mid":"",right:"","right-mid":"",middle:""},...e});return t=i.applyStyleBorderless(t),t}function printJestConfigInfo(e,t){var s,r,i,l,_,u,c,a;const d=_newTableBorderless();null!==(s=t)&&void 0!==s||(t={}),null!==(r=e)&&void 0!==r||(e={}),d.push(["@bluelovers/jest-config:","1.0.15"]),d.push(["process.versions.node:",process.versions.node]),d.push(["cwd:",null!==(i=t.cwd)&&void 0!==i?i:process.cwd()]),(null===(l=t.file)||void 0===l?void 0:l.length)&&d.push(["file:",t.file]),(null===(_=e.cacheDirectory)||void 0===_?void 0:_.length)&&d.push(["cacheDirectory:",e.cacheDirectory]),(null===(u=e.rootDir)||void 0===u?void 0:u.length)&&d.push(["rootDir:",e.rootDir]),(null===(c=e.roots)||void 0===c?void 0:c.length)&&d.push(["roots:",n.inspect(e.roots)]),(null===(a=e.preset)||void 0===a?void 0:a.length)&&d.push(["preset:",e.preset]),o.console.gray.log("─".repeat(20)),o.console.log("jest.config"),o.console.log(d.toString()),o.console.gray.log("─".repeat(20))}const l=getCacheDirectory();function mixinJestConfig(e,t,s){var o;null!==(o=e)&&void 0!==o||(e={});const r=fixJestConfig({globals:{"ts-jest":{}},cacheDirectory:l,maxWorkers:1,clearMocks:!0,passWithNoTests:!0,moduleFileExtensions:["ts","tsx","mts","cts","js","jsx","mjs","cjs","json","node"],testEnvironment:"node",...makeTestRegexConfig(["ts","tsx","mts","cts"]),testPathIgnorePatterns:["/node_modules/","/__fixtures__/","/__file_snapshots__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"],setupFilesAfterEnv:[],transform:{".(ts|tsx|mts|cts)$":_requireResolve("ts-jest")},verbose:!0,coverageProvider:"v8",collectCoverage:!1,coveragePathIgnorePatterns:["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/","/__file_snapshots__/","/__fixtures__/"],...e});return t&&printJestConfigInfo(r,s),r}exports._newTableBorderless=_newTableBorderless,exports._requireResolve=_requireResolve,exports.cacheDirectory=l,exports.default=mixinJestConfig,exports.defaultCoveragePathIgnorePatterns=function defaultCoveragePathIgnorePatterns(){return["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/","/__file_snapshots__/","/__fixtures__/"]},exports.defaultModuleFileExtensions=function defaultModuleFileExtensions(){return["ts","tsx","mts","cts","js","jsx","mjs","cjs","json","node"]},exports.defaultTestFileExtensions=function defaultTestFileExtensions(){return["ts","tsx","mts","cts"]},exports.defaultTestPathIgnorePatterns=function defaultTestPathIgnorePatterns(){return["/node_modules/","/__fixtures__/","/__file_snapshots__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"]},exports.fixJestConfig=fixJestConfig,exports.getCacheDirectory=getCacheDirectory,exports.makeTestRegexConfig=makeTestRegexConfig,exports.mixinJestConfig=mixinJestConfig,exports.printJestConfigInfo=printJestConfigInfo;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@yarn-tool/require-resolve"),t=require("path"),s=require("os"),r=require("debug-color2"),o=require("graceful-fs"),n=require("@yarn-tool/table"),i=require("util");function _requireResolve(t){const s=[e.requireResolveExtra("@bluelovers/tsdx").result,e.requireResolveExtra("tsdx").result].filter(Boolean),o=e.requireResolveCore(t,{includeGlobal:!0,includeCurrentDirectory:!0,paths:s});return r.console.debug("[require.resolve]",t,"=>",o),o}function getCacheDirectory(){const{getuid:e}=process,r=process.env.JEST_CACHE_DIRECTORY||t.join(function tryRealpath(e){try{e=o.realpathSync.native(e)}catch(e){if("ENOENT"!==e.code)throw e}return e}(s.tmpdir()),"jest");return null==e?r:`${r}_${e.call(process).toString(36)}`}function makeTestRegexConfig(e){return{testMatch:void 0,testRegex:[`\\.(tests?|spec)\\.(${e=[e].flat().join("|")})$`,`__tests__/.*\\.(tests?|spec)\\.(${e})$`]}}function fixJestConfig(e){return e.testMatch?e.testRegex=void 0:e.testRegex&&(e.testMatch=void 0),e}function defaultTransform(){const t={includeGlobal:!0,includeCurrentDirectory:!0,paths:[e.requireResolveExtra("@bluelovers/jest-config").result].filter(Boolean)};let s=_requireResolve("ts-jest");const{result:r}=e.requireResolveExtra("jest-tsd-transform",t);if(null!=r&&r.length){const{result:o}=e.requireResolveExtra("jest-chain-transform",t);null!=o&&o.length&&(s=[o,{transformers:[r,s]}])}return{".(ts|tsx|mts|cts)$":s}}function _newTableBorderless(e){let t=new n.Table({colAligns:["right","left"],chars:{top:"","top-mid":"","top-left":"","top-right":"",bottom:"","bottom-mid":"","bottom-left":"","bottom-right":"",left:"","left-mid":"",mid:"","mid-mid":"",right:"","right-mid":"",middle:""},...e});return t=n.applyStyleBorderless(t),t}function printJestConfigInfo(e,t){var s,o,n,l,u,a,_,c;const f=_newTableBorderless();null!==(s=t)&&void 0!==s||(t={}),null!==(o=e)&&void 0!==o||(e={}),f.push(["@bluelovers/jest-config:","1.0.16"]),f.push(["process.versions.node:",process.versions.node]),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]),(null===(u=e.cacheDirectory)||void 0===u?void 0:u.length)&&f.push(["cacheDirectory:",e.cacheDirectory]),(null===(a=e.rootDir)||void 0===a?void 0:a.length)&&f.push(["rootDir:",e.rootDir]),(null===(_=e.roots)||void 0===_?void 0:_.length)&&f.push(["roots:",i.inspect(e.roots)]),(null===(c=e.preset)||void 0===c?void 0:c.length)&&f.push(["preset:",e.preset]),e.transform&&f.push(["transform:",i.inspect(e.transform,{depth:3})]),r.console.gray.log("─".repeat(20)),r.console.log("jest.config"),r.console.log(f.toString()),r.console.gray.log("─".repeat(20))}const l=getCacheDirectory();function mixinJestConfig(e,t,s){var r;null!==(r=e)&&void 0!==r||(e={});const o=fixJestConfig({globals:{"ts-jest":{}},cacheDirectory:l,maxWorkers:1,clearMocks:!0,passWithNoTests:!0,moduleFileExtensions:["ts","tsx","mts","cts","js","jsx","mjs","cjs","json","node"],testEnvironment:"node",...makeTestRegexConfig(["ts","tsx","mts","cts"]),testPathIgnorePatterns:["/node_modules/","/__fixtures__/","/__file_snapshots__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"],setupFilesAfterEnv:[],transform:defaultTransform(),verbose:!0,coverageProvider:"v8",collectCoverage:!1,coveragePathIgnorePatterns:["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/","/__file_snapshots__/","/__fixtures__/"],...e});return t&&printJestConfigInfo(o,s),o}exports._newTableBorderless=_newTableBorderless,exports._requireResolve=_requireResolve,exports.cacheDirectory=l,exports.default=mixinJestConfig,exports.defaultCoveragePathIgnorePatterns=function defaultCoveragePathIgnorePatterns(){return["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/","/__file_snapshots__/","/__fixtures__/"]},exports.defaultModuleFileExtensions=function defaultModuleFileExtensions(){return["ts","tsx","mts","cts","js","jsx","mjs","cjs","json","node"]},exports.defaultTestFileExtensions=function defaultTestFileExtensions(){return["ts","tsx","mts","cts"]},exports.defaultTestPathIgnorePatterns=function defaultTestPathIgnorePatterns(){return["/node_modules/","/__fixtures__/","/__file_snapshots__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"]},exports.defaultTransform=defaultTransform,exports.fixJestConfig=fixJestConfig,exports.getCacheDirectory=getCacheDirectory,exports.makeTestRegexConfig=makeTestRegexConfig,exports.mixinJestConfig=mixinJestConfig,exports.printJestConfigInfo=printJestConfigInfo;
2
2
  //# sourceMappingURL=index.cjs.production.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/helper.ts","../src/print.ts","../src/index.ts","../src/defaults.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 { 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\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,\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: {\n\t\t\t'.(ts|tsx|mts|cts)$': _requireResolve('ts-jest'),\n\t\t},\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","import { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\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"],"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","_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","length","file","cacheDirectory","rootDir","roots","inspect","preset","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","transform","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/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","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","defaultCoveragePathIgnorePatterns","defaultModuleFileExtensions","defaultTestFileExtensions","defaultTestPathIgnorePatterns"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Table } from '@yarn-tool/table';
2
2
  import { TableConstructorOptions } from 'cli-table3';
3
3
  import { InitialOptionsTsJest } from 'ts-jest';
4
+ import { ITSWriteable } from 'ts-type/lib/helper/readonly';
4
5
  import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';
5
6
 
6
7
  export declare function _newTableBorderless(options?: TableConstructorOptions): Table.Table;
@@ -55,6 +56,12 @@ export declare function defaultTestPathIgnorePatterns(): [
55
56
  "__mocks__",
56
57
  "/dist/"
57
58
  ];
59
+ export declare function defaultTransform(): ITSWriteable<{
60
+ readonly ".(ts|tsx|mts|cts)$": string | [
61
+ string,
62
+ Record<string, unknown>
63
+ ];
64
+ }>;
58
65
  export declare const cacheDirectory: string;
59
66
  export declare function mixinJestConfig<T extends InitialOptionsTsJest>(jestConfig?: T, autoPrint?: boolean, options?: IOptionsPrintJestConfigInfo): T;
60
67
 
@@ -61,6 +61,25 @@ function defaultTestPathIgnorePatterns() {
61
61
  return [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
62
62
  }
63
63
 
64
+ function defaultTransform() {
65
+ const e = {
66
+ includeGlobal: !0,
67
+ includeCurrentDirectory: !0,
68
+ paths: [ t("@bluelovers/jest-config").result ].filter(Boolean)
69
+ };
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 ]
76
+ } ]);
77
+ }
78
+ return {
79
+ ".(ts|tsx|mts|cts)$": s
80
+ };
81
+ }
82
+
64
83
  function _newTableBorderless(t) {
65
84
  let e = new i({
66
85
  colAligns: [ "right", "left" ],
@@ -87,16 +106,18 @@ function _newTableBorderless(t) {
87
106
  }
88
107
 
89
108
  function printJestConfigInfo(t, e) {
90
- var s, o, n, i, l, u, c, a;
91
- const f = _newTableBorderless();
109
+ var s, o, n, i, l, u, a, f;
110
+ const c = _newTableBorderless();
92
111
  null !== (s = e) && void 0 !== s || (e = {}), null !== (o = t) && void 0 !== o || (t = {}),
93
- f.push([ "@bluelovers/jest-config:", "1.0.15" ]), f.push([ "process.versions.node:", process.versions.node ]),
94
- f.push([ "cwd:", null !== (n = e.cwd) && void 0 !== n ? n : process.cwd() ]), (null === (i = e.file) || void 0 === i ? void 0 : i.length) && f.push([ "file:", e.file ]),
95
- (null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) && f.push([ "cacheDirectory:", t.cacheDirectory ]),
96
- (null === (u = t.rootDir) || void 0 === u ? void 0 : u.length) && f.push([ "rootDir:", t.rootDir ]),
97
- (null === (c = t.roots) || void 0 === c ? void 0 : c.length) && f.push([ "roots:", _(t.roots) ]),
98
- (null === (a = t.preset) || void 0 === a ? void 0 : a.length) && f.push([ "preset:", t.preset ]),
99
- r.gray.log("─".repeat(20)), r.log("jest.config"), r.log(f.toString()), r.gray.log("─".repeat(20));
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, {
119
+ depth: 3
120
+ }) ]), r.gray.log("─".repeat(20)), r.log("jest.config"), r.log(c.toString()), r.gray.log("─".repeat(20));
100
121
  }
101
122
 
102
123
  const u = getCacheDirectory();
@@ -117,9 +138,7 @@ function mixinJestConfig(t, e, s) {
117
138
  ...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
118
139
  testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/__file_snapshots__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
119
140
  setupFilesAfterEnv: [],
120
- transform: {
121
- ".(ts|tsx|mts|cts)$": _requireResolve("ts-jest")
122
- },
141
+ transform: defaultTransform(),
123
142
  verbose: !0,
124
143
  coverageProvider: "v8",
125
144
  collectCoverage: !1,
@@ -129,5 +148,5 @@ function mixinJestConfig(t, e, s) {
129
148
  return e && printJestConfigInfo(r, s), r;
130
149
  }
131
150
 
132
- export { _newTableBorderless, _requireResolve, u as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
151
+ export { _newTableBorderless, _requireResolve, u as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, defaultTransform, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
133
152
  //# 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 { ITSToWriteableArray } from 'ts-type/lib/helper/array/readonly';\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","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\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,\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: {\n\t\t\t'.(ts|tsx|mts|cts)$': _requireResolve('ts-jest'),\n\t\t},\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","_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","length","file","cacheDirectory","rootDir","roots","inspect","preset","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","transform","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns"],"mappings":"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"}
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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"}
@@ -70,9 +70,40 @@
70
70
  const value = ['/node_modules/', '/__fixtures__/', '/__file_snapshots__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
71
71
  return value;
72
72
  }
73
+ function defaultTransform() {
74
+ const paths = [requireResolve.requireResolveExtra('@bluelovers/jest-config').result].filter(Boolean);
75
+ const opts = {
76
+ includeGlobal: true,
77
+ includeCurrentDirectory: true,
78
+ paths
79
+ };
80
+
81
+ let ts_transform = _requireResolve('ts-jest');
82
+
83
+ const {
84
+ result: tsd
85
+ } = requireResolve.requireResolveExtra('jest-tsd-transform', opts);
86
+
87
+ if (tsd !== null && tsd !== void 0 && tsd.length) {
88
+ const {
89
+ result: chain
90
+ } = requireResolve.requireResolveExtra('jest-chain-transform', opts);
91
+
92
+ if (chain !== null && chain !== void 0 && chain.length) {
93
+ ts_transform = [chain, {
94
+ transformers: [tsd, ts_transform]
95
+ }];
96
+ }
97
+ }
98
+
99
+ const value = {
100
+ '.(ts|tsx|mts|cts)$': ts_transform
101
+ };
102
+ return value;
103
+ }
73
104
 
74
105
  var name = "@bluelovers/jest-config";
75
- var version = "1.0.15";
106
+ var version = "1.0.16";
76
107
 
77
108
  function _newTableBorderless(options) {
78
109
  let table$1 = new table.Table({
@@ -114,6 +145,9 @@
114
145
  ((_jestConfig$rootDir = jestConfig.rootDir) === null || _jestConfig$rootDir === void 0 ? void 0 : _jestConfig$rootDir.length) && table.push(['rootDir:', jestConfig.rootDir]);
115
146
  ((_jestConfig$roots = jestConfig.roots) === null || _jestConfig$roots === void 0 ? void 0 : _jestConfig$roots.length) && table.push(['roots:', util.inspect(jestConfig.roots)]);
116
147
  ((_jestConfig$preset = jestConfig.preset) === null || _jestConfig$preset === void 0 ? void 0 : _jestConfig$preset.length) && table.push(['preset:', jestConfig.preset]);
148
+ jestConfig.transform && table.push(['transform:', util.inspect(jestConfig.transform, {
149
+ depth: 3
150
+ })]);
117
151
  debugColor2.console.gray.log('─'.repeat(20));
118
152
  debugColor2.console.log(`jest.config`);
119
153
  debugColor2.console.log(table.toString());
@@ -138,9 +172,7 @@
138
172
  ...makeTestRegexConfig(defaultTestFileExtensions()),
139
173
  testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
140
174
  setupFilesAfterEnv: [],
141
- transform: {
142
- '.(ts|tsx|mts|cts)$': _requireResolve('ts-jest')
143
- },
175
+ transform: defaultTransform(),
144
176
  verbose: true,
145
177
  coverageProvider: 'v8',
146
178
  collectCoverage: false,
@@ -159,6 +191,7 @@
159
191
  exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
160
192
  exports.defaultTestFileExtensions = defaultTestFileExtensions;
161
193
  exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
194
+ exports.defaultTransform = defaultTransform;
162
195
  exports.fixJestConfig = fixJestConfig;
163
196
  exports.getCacheDirectory = getCacheDirectory;
164
197
  exports.makeTestRegexConfig = makeTestRegexConfig;