@bluelovers/jest-config 1.0.2 → 1.0.5
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 +33 -0
- package/dist/index.cjs.development.cjs +13 -2
- package/dist/index.cjs.development.cjs.map +1 -1
- package/dist/index.cjs.production.min.cjs +1 -1
- package/dist/index.cjs.production.min.cjs.map +1 -1
- package/dist/index.esm.mjs +21 -14
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.development.cjs +16 -5
- package/dist/index.umd.development.cjs.map +1 -1
- package/dist/index.umd.production.min.cjs +1 -1
- package/dist/index.umd.production.min.cjs.map +1 -1
- package/package.json +17 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,39 @@
|
|
|
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.5](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.4...@bluelovers/jest-config@1.0.5) (2022-08-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### 🔖 Miscellaneous
|
|
10
|
+
|
|
11
|
+
* . ([5a9045e](https://github.com/bluelovers/ws-jest/commit/5a9045ee0c64396037010ecf57c2cc11f03afec8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.0.4](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.3...@bluelovers/jest-config@1.0.4) (2022-07-30)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### 🐛 Bug Fixes
|
|
21
|
+
|
|
22
|
+
* Error: Cannot find module 'jest-util' ([e947ba2](https://github.com/bluelovers/ws-jest/commit/e947ba2260c0b3ab92f4da94270c2d80b5eddea9))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [1.0.3](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.2...@bluelovers/jest-config@1.0.3) (2022-07-30)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### 📚 Documentation
|
|
32
|
+
|
|
33
|
+
* update keywords ([0c45bbc](https://github.com/bluelovers/ws-jest/commit/0c45bbc0f263cb610555a3021ead1f3c94dcb4ba))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
6
39
|
## [1.0.2](https://github.com/bluelovers/ws-jest/compare/@bluelovers/jest-config@1.0.1...@bluelovers/jest-config@1.0.2) (2022-07-30)
|
|
7
40
|
|
|
8
41
|
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var requireResolve = require('@yarn-tool/require-resolve');
|
|
6
6
|
var path = require('path');
|
|
7
|
-
var jestUtil = require('jest-util');
|
|
8
7
|
var os = require('os');
|
|
9
8
|
var debugColor2 = require('debug-color2');
|
|
9
|
+
var gracefulFs = require('graceful-fs');
|
|
10
10
|
var table = require('@yarn-tool/table');
|
|
11
11
|
|
|
12
12
|
function _requireResolve(name) {
|
|
@@ -23,7 +23,7 @@ function getCacheDirectory() {
|
|
|
23
23
|
const {
|
|
24
24
|
getuid
|
|
25
25
|
} = process;
|
|
26
|
-
const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(
|
|
26
|
+
const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(tryRealpath(os.tmpdir()), 'jest');
|
|
27
27
|
|
|
28
28
|
if (getuid == null) {
|
|
29
29
|
return tmpdirPath;
|
|
@@ -47,6 +47,17 @@ function fixJestConfig(jestConfig) {
|
|
|
47
47
|
|
|
48
48
|
return jestConfig;
|
|
49
49
|
}
|
|
50
|
+
function tryRealpath(path) {
|
|
51
|
+
try {
|
|
52
|
+
path = gracefulFs.realpathSync.native(path);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
if (error.code !== 'ENOENT') {
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return path;
|
|
60
|
+
}
|
|
50
61
|
|
|
51
62
|
function defaultTestFileExtensions() {
|
|
52
63
|
const value = ['ts', 'tsx', 'mts', 'cts'];
|
|
@@ -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 { tryRealpath } from 'jest-util';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\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__\\/\\.*\\\\.(${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","import { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","defaultTestFileExtensions","value","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","cwd","file","length","cacheDirectory","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__\\/\\.*\\\\.(${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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","cwd","file","length","cacheDirectory","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,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@yarn-tool/require-resolve"),t=require("path"),s=require("
|
|
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"),n=require("@yarn-tool/table");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__/.*\\.(${e})$`]}}function fixJestConfig(e){return e.testMatch?e.testRegex=void 0:e.testRegex&&(e.testMatch=void 0),e}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,r,n,i,l;const c=_newTableBorderless();null!==(s=t)&&void 0!==s||(t={}),null!==(r=e)&&void 0!==r||(e={}),c.push(["cwd:",null!==(n=t.cwd)&&void 0!==n?n:process.cwd()]),(null===(i=t.file)||void 0===i?void 0:i.length)&&c.push(["file:",t.file]),(null===(l=e.cacheDirectory)||void 0===l?void 0:l.length)&&c.push(["cacheDirectory:",e.cacheDirectory]),o.console.gray.log("─".repeat(20)),o.console.log("jest.config"),o.console.log(c.toString()),o.console.gray.log("─".repeat(20))}const i=getCacheDirectory();function mixinJestConfig(e,t,s){var o;null!==(o=e)&&void 0!==o||(e={});const r=fixJestConfig({globals:{"ts-jest":{}},cacheDirectory:i,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__/","/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/"],...e});return t&&printJestConfigInfo(r,s),r}exports._newTableBorderless=_newTableBorderless,exports._requireResolve=_requireResolve,exports.cacheDirectory=i,exports.default=mixinJestConfig,exports.defaultCoveragePathIgnorePatterns=function defaultCoveragePathIgnorePatterns(){return["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/"]},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__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"]},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 { tryRealpath } from 'jest-util';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\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__\\/\\.*\\\\.(${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","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { console } from 'debug-color2';\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(['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\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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<typeof value>;\n}\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","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","push","cwd","length","file","cacheDirectory","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/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__\\/\\.*\\\\.(${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';\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(['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\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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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","push","cwd","length","file","cacheDirectory","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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"}
|
package/dist/index.esm.mjs
CHANGED
|
@@ -2,25 +2,32 @@ import { requireResolveExtra as t, requireResolveCore as e } from "@yarn-tool/re
|
|
|
2
2
|
|
|
3
3
|
import { join as s } from "path";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { tmpdir as o } from "os";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { console as r } from "debug-color2";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { realpathSync as n } from "graceful-fs";
|
|
10
10
|
|
|
11
11
|
import { Table as i, applyStyleBorderless as l } from "@yarn-tool/table";
|
|
12
12
|
|
|
13
13
|
function _requireResolve(s) {
|
|
14
|
-
const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean),
|
|
14
|
+
const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), n = e(s, {
|
|
15
15
|
includeGlobal: !0,
|
|
16
16
|
includeCurrentDirectory: !0,
|
|
17
17
|
paths: o
|
|
18
18
|
});
|
|
19
|
-
return
|
|
19
|
+
return r.debug("[require.resolve]", s, "=>", n), n;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
function getCacheDirectory() {
|
|
23
|
-
const {getuid: t} = process, e = process.env.JEST_CACHE_DIRECTORY || s(
|
|
23
|
+
const {getuid: t} = process, e = process.env.JEST_CACHE_DIRECTORY || s(function tryRealpath(t) {
|
|
24
|
+
try {
|
|
25
|
+
t = n.native(t);
|
|
26
|
+
} catch (t) {
|
|
27
|
+
if ("ENOENT" !== t.code) throw t;
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
}(o()), "jest");
|
|
24
31
|
return null == t ? e : `${e}_${t.call(process).toString(36)}`;
|
|
25
32
|
}
|
|
26
33
|
|
|
@@ -78,15 +85,15 @@ function _newTableBorderless(t) {
|
|
|
78
85
|
}
|
|
79
86
|
|
|
80
87
|
function printJestConfigInfo(t, e) {
|
|
81
|
-
var s, o,
|
|
82
|
-
const
|
|
88
|
+
var s, o, n, i, l;
|
|
89
|
+
const c = _newTableBorderless();
|
|
83
90
|
null !== (s = e) && void 0 !== s || (e = {}), null !== (o = t) && void 0 !== o || (t = {}),
|
|
84
|
-
|
|
85
|
-
(null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) &&
|
|
86
|
-
|
|
91
|
+
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 ]),
|
|
92
|
+
(null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) && c.push([ "cacheDirectory:", t.cacheDirectory ]),
|
|
93
|
+
r.gray.log("─".repeat(20)), r.log("jest.config"), r.log(c.toString()), r.gray.log("─".repeat(20));
|
|
87
94
|
}
|
|
88
95
|
|
|
89
|
-
const
|
|
96
|
+
const c = getCacheDirectory();
|
|
90
97
|
|
|
91
98
|
function mixinJestConfig(t, e, s) {
|
|
92
99
|
var o;
|
|
@@ -95,7 +102,7 @@ function mixinJestConfig(t, e, s) {
|
|
|
95
102
|
globals: {
|
|
96
103
|
"ts-jest": {}
|
|
97
104
|
},
|
|
98
|
-
cacheDirectory:
|
|
105
|
+
cacheDirectory: c,
|
|
99
106
|
maxWorkers: 1,
|
|
100
107
|
clearMocks: !0,
|
|
101
108
|
passWithNoTests: !0,
|
|
@@ -116,5 +123,5 @@ function mixinJestConfig(t, e, s) {
|
|
|
116
123
|
return e && printJestConfigInfo(r, s), r;
|
|
117
124
|
}
|
|
118
125
|
|
|
119
|
-
export { _newTableBorderless, _requireResolve,
|
|
126
|
+
export { _newTableBorderless, _requireResolve, c as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
|
|
120
127
|
//# sourceMappingURL=index.esm.mjs.map
|
package/dist/index.esm.mjs.map
CHANGED
|
@@ -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 { tryRealpath } from 'jest-util';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\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__\\/\\.*\\\\.(${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","import { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","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","push","cwd","length","file","cacheDirectory","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__\\/\\.*\\\\.(${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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","push","cwd","length","file","cacheDirectory","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,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('path'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'path', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.path, global.
|
|
5
|
-
})(this, (function (exports, requireResolve, path,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('path'), require('os'), require('debug-color2'), require('graceful-fs'), require('@yarn-tool/table')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'path', 'os', 'debug-color2', 'graceful-fs', '@yarn-tool/table'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.path, global.os, global.debugColor2, global.gracefulFs, global.table));
|
|
5
|
+
})(this, (function (exports, requireResolve, path, os, debugColor2, gracefulFs, table) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _requireResolve(name) {
|
|
8
8
|
const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
const {
|
|
19
19
|
getuid
|
|
20
20
|
} = process;
|
|
21
|
-
const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(
|
|
21
|
+
const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(tryRealpath(os.tmpdir()), 'jest');
|
|
22
22
|
|
|
23
23
|
if (getuid == null) {
|
|
24
24
|
return tmpdirPath;
|
|
@@ -42,6 +42,17 @@
|
|
|
42
42
|
|
|
43
43
|
return jestConfig;
|
|
44
44
|
}
|
|
45
|
+
function tryRealpath(path) {
|
|
46
|
+
try {
|
|
47
|
+
path = gracefulFs.realpathSync.native(path);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
if (error.code !== 'ENOENT') {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return path;
|
|
55
|
+
}
|
|
45
56
|
|
|
46
57
|
function defaultTestFileExtensions() {
|
|
47
58
|
const value = ['ts', 'tsx', 'mts', 'cts'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.development.cjs","sources":["../src/helper.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { join } from 'path';\nimport { tryRealpath } from 'jest-util';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\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__\\/\\.*\\\\.(${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","import { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","defaultTestFileExtensions","value","defaultModuleFileExtensions","defaultCoveragePathIgnorePatterns","defaultTestPathIgnorePatterns","_newTableBorderless","options","table","Table","colAligns","chars","top","bottom","left","mid","right","middle","applyStyleBorderless","printJestConfigInfo","push","cwd","file","length","cacheDirectory","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.umd.development.cjs","sources":["../src/helper.ts","../src/defaults.ts","../src/print.ts","../src/index.ts"],"sourcesContent":["import { requireResolveCore, requireResolveExtra } from '@yarn-tool/require-resolve';\nimport { join } from 'path';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\nimport { realpathSync } from 'graceful-fs';\n\nexport function _requireResolve(name: string)\n{\n\tconst paths = [\n\t\trequireResolveExtra('@bluelovers/tsdx').result,\n\t\trequireResolveExtra('tsdx').result,\n\t].filter(Boolean);\n\n\tconst result = requireResolveCore(name, {\n\t\tincludeGlobal: true,\n\t\tincludeCurrentDirectory: true,\n\t\tpaths,\n\t})\n\n\tconsole.debug('[require.resolve]', name, '=>', result)\n\n\treturn result\n}\n\n/**\n * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts\n */\nexport function getCacheDirectory()\n{\n\tconst { getuid } = process;\n\tconst tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || join(tryRealpath(tmpdir()), 'jest');\n\tif (getuid == null)\n\t{\n\t\treturn tmpdirPath;\n\t}\n\telse\n\t{\n\t\t// On some platforms tmpdir() is `/tmp`, causing conflicts between different\n\t\t// users and permission issues. Adding an additional subdivision by UID can\n\t\t// help.\n\t\treturn `${tmpdirPath}_${getuid.call(process).toString(36)}`;\n\t}\n}\n\nexport function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, 'testMatch' | 'testRegex'>\n{\n\ttestExt = [testExt].flat().join('|');\n\n\treturn {\n\t\ttestMatch: void 0 as undefined,\n\t\ttestRegex: [\n\t\t\t`\\\\.(tests?|spec)\\\\.(${testExt})$`,\n\t\t\t`__tests__\\/\\.*\\\\.(${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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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';\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(['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\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","cwd","file","length","cacheDirectory","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,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@yarn-tool/require-resolve"),require("path"),require("
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@yarn-tool/require-resolve"),require("path"),require("os"),require("debug-color2"),require("graceful-fs"),require("@yarn-tool/table")):"function"==typeof define&&define.amd?define(["exports","@yarn-tool/require-resolve","path","os","debug-color2","graceful-fs","@yarn-tool/table"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BlueloversJestConfig={},e.requireResolve,e.path,e.os,e.debugColor2,e.gracefulFs,e.table)}(this,(function(e,t,s,o,r,n,i){"use strict";function _requireResolve(e){const s=[t.requireResolveExtra("@bluelovers/tsdx").result,t.requireResolveExtra("tsdx").result].filter(Boolean),o=t.requireResolveCore(e,{includeGlobal:!0,includeCurrentDirectory:!0,paths:s});return r.console.debug("[require.resolve]",e,"=>",o),o}function getCacheDirectory(){const{getuid:e}=process,t=process.env.JEST_CACHE_DIRECTORY||s.join(function tryRealpath(e){try{e=n.realpathSync.native(e)}catch(e){if("ENOENT"!==e.code)throw e}return e}(o.tmpdir()),"jest");return null==e?t:`${t}_${e.call(process).toString(36)}`}function makeTestRegexConfig(e){return{testMatch:void 0,testRegex:[`\\.(tests?|spec)\\.(${e=[e].flat().join("|")})$`,`__tests__/.*\\.(${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,o,n,i,l;const u=_newTableBorderless();null!==(s=t)&&void 0!==s||(t={}),null!==(o=e)&&void 0!==o||(e={}),u.push(["cwd:",null!==(n=t.cwd)&&void 0!==n?n:process.cwd()]),(null===(i=t.file)||void 0===i?void 0:i.length)&&u.push(["file:",t.file]),(null===(l=e.cacheDirectory)||void 0===l?void 0:l.length)&&u.push(["cacheDirectory:",e.cacheDirectory]),r.console.gray.log("─".repeat(20)),r.console.log("jest.config"),r.console.log(u.toString()),r.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__/","/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/"],...e});return t&&printJestConfigInfo(r,s),r}e._newTableBorderless=_newTableBorderless,e._requireResolve=_requireResolve,e.cacheDirectory=l,e.default=mixinJestConfig,e.defaultCoveragePathIgnorePatterns=function defaultCoveragePathIgnorePatterns(){return["/node_modules/","/__snapshots__/","/__tests__/","/__test__/","/dist/","/test/","/fixture/"]},e.defaultModuleFileExtensions=function defaultModuleFileExtensions(){return["ts","tsx","mts","cts","js","jsx","mjs","cjs","json","node"]},e.defaultTestFileExtensions=function defaultTestFileExtensions(){return["ts","tsx","mts","cts"]},e.defaultTestPathIgnorePatterns=function defaultTestPathIgnorePatterns(){return["/node_modules/","/__fixtures__/","/fixtures/","/__tests__/helpers/","/__tests__/utils/","__mocks__","/dist/"]},e.fixJestConfig=fixJestConfig,e.getCacheDirectory=getCacheDirectory,e.makeTestRegexConfig=makeTestRegexConfig,e.mixinJestConfig=mixinJestConfig,e.printJestConfigInfo=printJestConfigInfo,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=index.umd.production.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.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 { tryRealpath } from 'jest-util';\nimport { tmpdir } from 'os';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { console } from 'debug-color2';\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__\\/\\.*\\\\.(${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","import { applyStyleBorderless, Table } from '@yarn-tool/table';\nimport { TableConstructorOptions } from 'cli-table3';\nimport { InitialOptionsTsJest } from 'ts-jest';\nimport { console } from 'debug-color2';\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(['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\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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<typeof value>;\n}\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","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","push","cwd","length","file","cacheDirectory","gray","log","repeat","mixinJestConfig","autoPrint","newJestConfig","globals","maxWorkers","clearMocks","passWithNoTests","moduleFileExtensions","testEnvironment","testPathIgnorePatterns","setupFilesAfterEnv","transform","verbose","coverageProvider","collectCoverage","coveragePathIgnorePatterns","defaultCoveragePathIgnorePatterns","defaultModuleFileExtensions","defaultTestFileExtensions","defaultTestPathIgnorePatterns"],"mappings":"0iBAQM,SAAUA,gBAAgBC,GAE/B,MAAMC,EAAQ,CACbC,sBAAoB,oBAAoBC,OACxCD,sBAAoB,QAAQC,QAC3BC,OAAOC,SAEHF,EAASG,EAAkBA,mBAACN,EAAM,CACvCO,eAAe,EACfC,yBAAyB,EACzBP,UAKD,OAFAQ,EAAOA,QAACC,MAAM,oBAAqBV,EAAM,KAAMG,GAExCA,CACP,UAKeQ,oBAEf,MAAMC,OAAEA,GAAWC,QACbC,EAAaD,QAAQE,IAAR,sBAAuCC,OAAKC,EAAAA,YAAYC,EAAMA,UAAK,QACtF,OAAc,MAAVN,EAEIE,EAOG,GAAAA,KAAcF,EAAOO,KAAKN,SAASO,SAAS,KAEvD,CAEK,SAAUC,oBAAoBC,GAInC,MAAO,CACNC,eAAW,EACXC,UAAW,CACV,uBALFF,EAAU,CAACA,GAASG,OAAOT,KAAK,SAM9B,mBAAqBM,OAGvB,CAEK,SAAUI,cAA8CC,GAW7D,OATIA,EAAWJ,UAEdI,EAAWH,eAAY,EAEfG,EAAWH,YAEnBG,EAAWJ,eAAY,GAGjBI,CACP,CClEK,SAAUC,oBAAoBC,GAEnC,IAAIC,EAAQ,IAAIC,QAAM,CACrBC,UAAW,CAAC,QAAS,QAErBC,MAAO,CACNC,IAAK,GACL,UAAW,GACX,WAAY,GACZ,YAAa,GACbC,OAAQ,GACR,aAAc,GACd,cAAe,GACf,eAAgB,GAChBC,KAAM,GACN,WAAY,GACZC,IAAK,GACL,UAAW,GACXC,MAAO,GACP,YAAa,GACbC,OAAQ,OAENV,IAKJ,OAFAC,EAAQU,EAAAA,qBAAqBV,GAEtBA,CACP,CAQe,SAAAW,oBAAoBd,EAAkCE,GAAqC,IAAAa,EAAAC,EAAAC,EAAAC,EAAAC,EAE1G,MAAMhB,EAAQF,sBAEP,QAAPc,EAAAb,SAAAA,IAAAA,IAAAA,EAAY,IAEF,QAAVc,EAAAhB,SAAAA,IAAAA,IAAAA,EAAe,IAEfG,EAAMiB,KAAK,CAAC,OAAuBlC,QAAfgB,EAAAA,EAAQmB,WAAOnC,IAAAA,EAAAA,EAAAA,QAAQmC,SAE7BC,QAAdJ,EAAAhB,EAAQqB,YAAMD,IAAAA,OAAAA,EAAAA,EAAAA,SAAUnB,EAAMiB,KAAK,CAAC,QAASlB,EAAQqB,QAE1BD,QAA3BH,EAAAnB,EAAWwB,sBAAgBF,IAAAA,OAAAA,EAAAA,EAAAA,SAAUnB,EAAMiB,KAAK,CAAC,kBAAmBpB,EAAWwB,iBAE/E1C,EAAOA,QAAC2C,KAAKC,IAAI,IAAIC,OAAO,KAC5B7C,EAAAA,QAAQ4C,IAAI,eACZ5C,EAAAA,QAAQ4C,IAAIvB,EAAMV,YAClBX,EAAOA,QAAC2C,KAAKC,IAAI,IAAIC,OAAO,IAC5B,CC7CKH,MAAAA,EAAiBxC,6BAIP4C,gBAAgD5B,EAAgB6B,EAC/E3B,GAAqC,IAAAc,EAG3B,QAAVA,EAAAhB,SAAAA,IAAAA,IAAAA,EAAe,IACf,MAAM8B,EAAgB/B,cAAiB,CACtCgC,QAAS,CACR,UAAW,CAAA,GAIZP,iBACAQ,WAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,qBCda,CACb,KACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,QDKAC,gBAAiB,UAEd1C,oBChCU,CACb,KACA,MACA,MACA,QD6BA2C,uBCgBa,CACb,iBACA,iBACA,aACA,sBACA,oBACA,YACA,UDrBAC,mBAAoB,GAWpBC,UAAW,CACV,qBAAsBnE,gBAAgB,YAEvCoE,SAAS,EAKTC,iBAAkB,KAClBC,iBAAiB,EACjBC,2BCxBa,CACb,iBACA,kBACA,cACA,aAIA,SACA,SACA,gBDmBG3C,IAKJ,OAFA6B,GAAaf,oBAAoBgB,EAAe5B,GAEzC4B,CACP,uKCrCec,oCAcf,MAZc,CACb,iBACA,kBACA,cACA,aAIA,SACA,SACA,YAGD,yCAhCeC,8BAcf,MAZc,CACb,KACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OAGD,uCA9BeC,4BAYf,MAVc,CACb,KACA,MACA,MACA,MAOD,2CAoCeC,gCAWf,MATc,CACb,iBACA,iBACA,aACA,sBACA,oBACA,YACA,SAGD"}
|
|
1
|
+
{"version":3,"file":"index.umd.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__\\/\\.*\\\\.(${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';\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(['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\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 { ITSToWriteableAArray } 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 ITSToWriteableAArray<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 ITSToWriteableAArray<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] as const\n\treturn value as ITSToWriteableAArray<typeof value>;\n}\n\nexport function defaultTestPathIgnorePatterns()\n{\n\tconst value = [\n\t\t'/node_modules/',\n\t\t'/__fixtures__/',\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 ITSToWriteableAArray<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","push","cwd","length","file","cacheDirectory","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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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluelovers/jest-config",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "1.0.5",
|
|
4
|
+
"description": "Jest preset configuration",
|
|
5
5
|
"keywords": [
|
|
6
|
+
"jest-preset",
|
|
7
|
+
"jest",
|
|
8
|
+
"preset",
|
|
6
9
|
"assert",
|
|
7
10
|
"test",
|
|
8
11
|
"check",
|
|
@@ -10,7 +13,6 @@
|
|
|
10
13
|
"testing",
|
|
11
14
|
"chai",
|
|
12
15
|
"expect",
|
|
13
|
-
"jest",
|
|
14
16
|
"create-by-yarn-tool",
|
|
15
17
|
"create-by-tsdx"
|
|
16
18
|
],
|
|
@@ -42,7 +44,13 @@
|
|
|
42
44
|
"./jest-preset.mjs": "./jest-preset.mjs",
|
|
43
45
|
"./jest-preset.cjs": "./jest-preset.cjs",
|
|
44
46
|
"./package.json": "./package.json",
|
|
45
|
-
"./src/*": "./src/*"
|
|
47
|
+
"./src/*": "./src/*",
|
|
48
|
+
"./dist/jest-preset.js": {
|
|
49
|
+
"import": "./jest-preset.mjs",
|
|
50
|
+
"require": "./jest-preset.cjs"
|
|
51
|
+
},
|
|
52
|
+
"./dist/jest-preset.mjs": "./jest-preset.mjs",
|
|
53
|
+
"./dist/jest-preset.cjs": "./jest-preset.cjs"
|
|
46
54
|
},
|
|
47
55
|
"main": "dist/index.cjs",
|
|
48
56
|
"unpkg": "dist/index.umd.production.min.cjs",
|
|
@@ -92,6 +100,7 @@
|
|
|
92
100
|
"@yarn-tool/require-resolve": "^2.0.0",
|
|
93
101
|
"@yarn-tool/table": "^2.0.0",
|
|
94
102
|
"debug-color2": "^1.2.7",
|
|
103
|
+
"graceful-fs": "^4.2.10",
|
|
95
104
|
"ts-type": "^2.1.8",
|
|
96
105
|
"tslib": "^2"
|
|
97
106
|
},
|
|
@@ -99,5 +108,8 @@
|
|
|
99
108
|
"publishConfig": {
|
|
100
109
|
"access": "public"
|
|
101
110
|
},
|
|
102
|
-
"
|
|
111
|
+
"devDependencies": {
|
|
112
|
+
"@types/graceful-fs": "^4.1.5"
|
|
113
|
+
},
|
|
114
|
+
"gitHead": "e4ee37940c460f2ed39ca28d0c7a15268603aa5a"
|
|
103
115
|
}
|