@bluelovers/jest-config 1.0.1

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 ADDED
@@ -0,0 +1,16 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## 1.0.1 (2022-07-30)
7
+
8
+
9
+ ### đŸ”–ă€€Miscellaneous
10
+
11
+ * @bluelovers/jest-config ([e90088f](https://github.com/bluelovers/ws-jest/commit/e90088f5a3585b360cf6b68404cf06bb37da93e0))
12
+
13
+
14
+ ### BREAKING CHANGES
15
+
16
+ * @bluelovers/jest-config
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # README.md
2
+
3
+
4
+
5
+ ## install
6
+
7
+ ```bash
8
+ yarn add @bluelovers/jest-config
9
+ yarn-tool add @bluelovers/jest-config
10
+ yt add @bluelovers/jest-config
11
+ ```
12
+
package/dist/index.cjs ADDED
@@ -0,0 +1,8 @@
1
+
2
+ 'use strict'
3
+
4
+ if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') {
5
+ module.exports = require('./index.cjs.production.min.cjs')
6
+ } else {
7
+ module.exports = require('./index.cjs.development.cjs')
8
+ }
@@ -0,0 +1,153 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var requireResolve = require('@yarn-tool/require-resolve');
6
+ var path = require('path');
7
+ var jestUtil = require('jest-util');
8
+ var os = require('os');
9
+ var debugColor2 = require('debug-color2');
10
+ var table = require('@yarn-tool/table');
11
+
12
+ function _requireResolve(name) {
13
+ const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
14
+ const result = requireResolve.requireResolveCore(name, {
15
+ includeGlobal: true,
16
+ includeCurrentDirectory: true,
17
+ paths
18
+ });
19
+ debugColor2.console.debug('[require.resolve]', name, '=>', result);
20
+ return result;
21
+ }
22
+ function getCacheDirectory() {
23
+ const {
24
+ getuid
25
+ } = process;
26
+ const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(jestUtil.tryRealpath(os.tmpdir()), 'jest');
27
+
28
+ if (getuid == null) {
29
+ return tmpdirPath;
30
+ } else {
31
+ return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
32
+ }
33
+ }
34
+ function makeTestRegexConfig(testExt) {
35
+ testExt = [testExt].flat().join('|');
36
+ return {
37
+ testMatch: void 0,
38
+ testRegex: [`\\.(tests?|spec)\\.(${testExt})$`, `__tests__\/\.*\\.(${testExt})$`]
39
+ };
40
+ }
41
+ function fixJestConfig(jestConfig) {
42
+ if (jestConfig.testMatch) {
43
+ jestConfig.testRegex = void 0;
44
+ } else if (jestConfig.testRegex) {
45
+ jestConfig.testMatch = void 0;
46
+ }
47
+
48
+ return jestConfig;
49
+ }
50
+
51
+ function defaultTestFileExtensions() {
52
+ const value = ['ts', 'tsx', 'mts', 'cts'];
53
+ return value;
54
+ }
55
+ function defaultModuleFileExtensions() {
56
+ const value = ['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs', 'json', 'node'];
57
+ return value;
58
+ }
59
+ function defaultCoveragePathIgnorePatterns() {
60
+ const value = ['/node_modules/', '/__snapshots__/', '/__tests__/', '/__test__/', '/dist/', '/test/', '/fixture/'];
61
+ return value;
62
+ }
63
+ function defaultTestPathIgnorePatterns() {
64
+ const value = ['/node_modules/', '/__fixtures__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
65
+ return value;
66
+ }
67
+
68
+ function _newTableBorderless(options) {
69
+ let table$1 = new table.Table({
70
+ colAligns: ['right', 'left'],
71
+ chars: {
72
+ top: '',
73
+ 'top-mid': '',
74
+ 'top-left': '',
75
+ 'top-right': '',
76
+ bottom: '',
77
+ 'bottom-mid': '',
78
+ 'bottom-left': '',
79
+ 'bottom-right': '',
80
+ left: '',
81
+ 'left-mid': '',
82
+ mid: '',
83
+ 'mid-mid': '',
84
+ right: '',
85
+ 'right-mid': '',
86
+ middle: ''
87
+ },
88
+ ...options
89
+ });
90
+ table$1 = table.applyStyleBorderless(table$1);
91
+ return table$1;
92
+ }
93
+ function printJestConfigInfo(jestConfig, options) {
94
+ var _options, _jestConfig, _options$cwd, _options$file, _jestConfig$cacheDire;
95
+
96
+ const table = _newTableBorderless();
97
+
98
+ (_options = options) !== null && _options !== void 0 ? _options : options = {};
99
+ (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
100
+ table.push(['cwd:', (_options$cwd = options.cwd) !== null && _options$cwd !== void 0 ? _options$cwd : process.cwd()]);
101
+ ((_options$file = options.file) === null || _options$file === void 0 ? void 0 : _options$file.length) && table.push(['file:', options.file]);
102
+ ((_jestConfig$cacheDire = jestConfig.cacheDirectory) === null || _jestConfig$cacheDire === void 0 ? void 0 : _jestConfig$cacheDire.length) && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);
103
+ debugColor2.console.gray.log('─'.repeat(20));
104
+ debugColor2.console.log(`jest.config`);
105
+ debugColor2.console.log(table.toString());
106
+ debugColor2.console.gray.log('─'.repeat(20));
107
+ }
108
+
109
+ const cacheDirectory = /*#__PURE__*/getCacheDirectory();
110
+ function mixinJestConfig(jestConfig, autoPrint, options) {
111
+ var _jestConfig;
112
+
113
+ (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
114
+ const newJestConfig = fixJestConfig({
115
+ globals: {
116
+ 'ts-jest': {}
117
+ },
118
+ cacheDirectory,
119
+ maxWorkers: 1,
120
+ clearMocks: true,
121
+ passWithNoTests: true,
122
+ moduleFileExtensions: defaultModuleFileExtensions(),
123
+ testEnvironment: 'node',
124
+ ...makeTestRegexConfig(defaultTestFileExtensions()),
125
+ testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
126
+ setupFilesAfterEnv: [],
127
+ transform: {
128
+ '.(ts|tsx|mts|cts)$': _requireResolve('ts-jest')
129
+ },
130
+ verbose: true,
131
+ coverageProvider: 'v8',
132
+ collectCoverage: false,
133
+ coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
134
+ ...jestConfig
135
+ });
136
+ autoPrint && printJestConfigInfo(newJestConfig, options);
137
+ return newJestConfig;
138
+ }
139
+
140
+ exports._newTableBorderless = _newTableBorderless;
141
+ exports._requireResolve = _requireResolve;
142
+ exports.cacheDirectory = cacheDirectory;
143
+ exports["default"] = mixinJestConfig;
144
+ exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
145
+ exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
146
+ exports.defaultTestFileExtensions = defaultTestFileExtensions;
147
+ exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
148
+ exports.fixJestConfig = fixJestConfig;
149
+ exports.getCacheDirectory = getCacheDirectory;
150
+ exports.makeTestRegexConfig = makeTestRegexConfig;
151
+ exports.mixinJestConfig = mixinJestConfig;
152
+ exports.printJestConfigInfo = printJestConfigInfo;
153
+ //# sourceMappingURL=index.cjs.development.cjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@yarn-tool/require-resolve"),t=require("path"),s=require("jest-util"),o=require("os"),r=require("debug-color2"),n=require("@yarn-tool/table");function _requireResolve(t){const s=[e.requireResolveExtra("@bluelovers/tsdx").result,e.requireResolveExtra("tsdx").result].filter(Boolean),o=e.requireResolveCore(t,{includeGlobal:!0,includeCurrentDirectory:!0,paths:s});return r.console.debug("[require.resolve]",t,"=>",o),o}function getCacheDirectory(){const{getuid:e}=process,r=process.env.JEST_CACHE_DIRECTORY||t.join(s.tryRealpath(o.tmpdir()),"jest");return null==e?r:`${r}_${e.call(process).toString(36)}`}function makeTestRegexConfig(e){return{testMatch:void 0,testRegex:[`\\.(tests?|spec)\\.(${e=[e].flat().join("|")})$`,`__tests__/.*\\.(${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,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 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
+ //# sourceMappingURL=index.cjs.production.min.cjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,59 @@
1
+ import { Table } from '@yarn-tool/table';
2
+ import { TableConstructorOptions } from 'cli-table3';
3
+ import { InitialOptionsTsJest } from 'ts-jest';
4
+ import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';
5
+
6
+ export declare function _newTableBorderless(options?: TableConstructorOptions): Table.Table;
7
+ export interface IOptionsPrintJestConfigInfo {
8
+ cwd?: string;
9
+ file?: string;
10
+ }
11
+ export declare function printJestConfigInfo(jestConfig: InitialOptionsTsJest, options?: IOptionsPrintJestConfigInfo): void;
12
+ export declare function _requireResolve(name: string): string;
13
+ /**
14
+ * @see https://github.com/facebook/jest/blob/main/packages/jest-config/src/getCacheDirectory.ts
15
+ */
16
+ export declare function getCacheDirectory(): string;
17
+ export declare function makeTestRegexConfig(testExt: string | ITSArrayListMaybeReadonly<string>): Pick<InitialOptionsTsJest, "testMatch" | "testRegex">;
18
+ export declare function fixJestConfig<T extends InitialOptionsTsJest>(jestConfig: T): T;
19
+ export declare function defaultTestFileExtensions(): [
20
+ "ts",
21
+ "tsx",
22
+ "mts",
23
+ "cts"
24
+ ];
25
+ export declare function defaultModuleFileExtensions(): [
26
+ "ts",
27
+ "tsx",
28
+ "mts",
29
+ "cts",
30
+ "js",
31
+ "jsx",
32
+ "mjs",
33
+ "cjs",
34
+ "json",
35
+ "node"
36
+ ];
37
+ export declare function defaultCoveragePathIgnorePatterns(): [
38
+ "/node_modules/",
39
+ "/__snapshots__/",
40
+ "/__tests__/",
41
+ "/__test__/",
42
+ "/dist/",
43
+ "/test/",
44
+ "/fixture/"
45
+ ];
46
+ export declare function defaultTestPathIgnorePatterns(): [
47
+ "/node_modules/",
48
+ "/__fixtures__/",
49
+ "/fixtures/",
50
+ "/__tests__/helpers/",
51
+ "/__tests__/utils/",
52
+ "__mocks__",
53
+ "/dist/"
54
+ ];
55
+ export declare const cacheDirectory: string;
56
+ export declare function mixinJestConfig<T extends InitialOptionsTsJest>(jestConfig?: T, autoPrint?: boolean, options?: IOptionsPrintJestConfigInfo): T;
57
+ export default mixinJestConfig;
58
+
59
+ export {};
@@ -0,0 +1,120 @@
1
+ import { requireResolveExtra as t, requireResolveCore as e } from "@yarn-tool/require-resolve";
2
+
3
+ import { join as s } from "path";
4
+
5
+ import { tryRealpath as o } from "jest-util";
6
+
7
+ import { tmpdir as r } from "os";
8
+
9
+ import { console as n } from "debug-color2";
10
+
11
+ import { Table as i, applyStyleBorderless as l } from "@yarn-tool/table";
12
+
13
+ function _requireResolve(s) {
14
+ const o = [ t("@bluelovers/tsdx").result, t("tsdx").result ].filter(Boolean), r = e(s, {
15
+ includeGlobal: !0,
16
+ includeCurrentDirectory: !0,
17
+ paths: o
18
+ });
19
+ return n.debug("[require.resolve]", s, "=>", r), r;
20
+ }
21
+
22
+ function getCacheDirectory() {
23
+ const {getuid: t} = process, e = process.env.JEST_CACHE_DIRECTORY || s(o(r()), "jest");
24
+ return null == t ? e : `${e}_${t.call(process).toString(36)}`;
25
+ }
26
+
27
+ function makeTestRegexConfig(t) {
28
+ return {
29
+ testMatch: void 0,
30
+ testRegex: [ `\\.(tests?|spec)\\.(${t = [ t ].flat().join("|")})$`, `__tests__/.*\\.(${t})$` ]
31
+ };
32
+ }
33
+
34
+ function fixJestConfig(t) {
35
+ return t.testMatch ? t.testRegex = void 0 : t.testRegex && (t.testMatch = void 0),
36
+ t;
37
+ }
38
+
39
+ function defaultTestFileExtensions() {
40
+ return [ "ts", "tsx", "mts", "cts" ];
41
+ }
42
+
43
+ function defaultModuleFileExtensions() {
44
+ return [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ];
45
+ }
46
+
47
+ function defaultCoveragePathIgnorePatterns() {
48
+ return [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/" ];
49
+ }
50
+
51
+ function defaultTestPathIgnorePatterns() {
52
+ return [ "/node_modules/", "/__fixtures__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ];
53
+ }
54
+
55
+ function _newTableBorderless(t) {
56
+ let e = new i({
57
+ colAligns: [ "right", "left" ],
58
+ chars: {
59
+ top: "",
60
+ "top-mid": "",
61
+ "top-left": "",
62
+ "top-right": "",
63
+ bottom: "",
64
+ "bottom-mid": "",
65
+ "bottom-left": "",
66
+ "bottom-right": "",
67
+ left: "",
68
+ "left-mid": "",
69
+ mid: "",
70
+ "mid-mid": "",
71
+ right: "",
72
+ "right-mid": "",
73
+ middle: ""
74
+ },
75
+ ...t
76
+ });
77
+ return e = l(e), e;
78
+ }
79
+
80
+ function printJestConfigInfo(t, e) {
81
+ var s, o, r, i, l;
82
+ const _ = _newTableBorderless();
83
+ null !== (s = e) && void 0 !== s || (e = {}), null !== (o = t) && void 0 !== o || (t = {}),
84
+ _.push([ "cwd:", null !== (r = e.cwd) && void 0 !== r ? r : process.cwd() ]), (null === (i = e.file) || void 0 === i ? void 0 : i.length) && _.push([ "file:", e.file ]),
85
+ (null === (l = t.cacheDirectory) || void 0 === l ? void 0 : l.length) && _.push([ "cacheDirectory:", t.cacheDirectory ]),
86
+ n.gray.log("─".repeat(20)), n.log("jest.config"), n.log(_.toString()), n.gray.log("─".repeat(20));
87
+ }
88
+
89
+ const _ = getCacheDirectory();
90
+
91
+ function mixinJestConfig(t, e, s) {
92
+ var o;
93
+ null !== (o = t) && void 0 !== o || (t = {});
94
+ const r = fixJestConfig({
95
+ globals: {
96
+ "ts-jest": {}
97
+ },
98
+ cacheDirectory: _,
99
+ maxWorkers: 1,
100
+ clearMocks: !0,
101
+ passWithNoTests: !0,
102
+ moduleFileExtensions: [ "ts", "tsx", "mts", "cts", "js", "jsx", "mjs", "cjs", "json", "node" ],
103
+ testEnvironment: "node",
104
+ ...makeTestRegexConfig([ "ts", "tsx", "mts", "cts" ]),
105
+ testPathIgnorePatterns: [ "/node_modules/", "/__fixtures__/", "/fixtures/", "/__tests__/helpers/", "/__tests__/utils/", "__mocks__", "/dist/" ],
106
+ setupFilesAfterEnv: [],
107
+ transform: {
108
+ ".(ts|tsx|mts|cts)$": _requireResolve("ts-jest")
109
+ },
110
+ verbose: !0,
111
+ coverageProvider: "v8",
112
+ collectCoverage: !1,
113
+ coveragePathIgnorePatterns: [ "/node_modules/", "/__snapshots__/", "/__tests__/", "/__test__/", "/dist/", "/test/", "/fixture/" ],
114
+ ...t
115
+ });
116
+ return e && printJestConfigInfo(r, s), r;
117
+ }
118
+
119
+ export { _newTableBorderless, _requireResolve, _ as cacheDirectory, mixinJestConfig as default, defaultCoveragePathIgnorePatterns, defaultModuleFileExtensions, defaultTestFileExtensions, defaultTestPathIgnorePatterns, fixJestConfig, getCacheDirectory, makeTestRegexConfig, mixinJestConfig, printJestConfigInfo };
120
+ //# sourceMappingURL=index.esm.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,152 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@yarn-tool/require-resolve'), require('path'), require('jest-util'), require('os'), require('debug-color2'), require('@yarn-tool/table')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@yarn-tool/require-resolve', 'path', 'jest-util', 'os', 'debug-color2', '@yarn-tool/table'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BlueloversJestConfig = {}, global.requireResolve, global.path, global.jestUtil, global.os, global.debugColor2, global.table));
5
+ })(this, (function (exports, requireResolve, path, jestUtil, os, debugColor2, table) { 'use strict';
6
+
7
+ function _requireResolve(name) {
8
+ const paths = [requireResolve.requireResolveExtra('@bluelovers/tsdx').result, requireResolve.requireResolveExtra('tsdx').result].filter(Boolean);
9
+ const result = requireResolve.requireResolveCore(name, {
10
+ includeGlobal: true,
11
+ includeCurrentDirectory: true,
12
+ paths
13
+ });
14
+ debugColor2.console.debug('[require.resolve]', name, '=>', result);
15
+ return result;
16
+ }
17
+ function getCacheDirectory() {
18
+ const {
19
+ getuid
20
+ } = process;
21
+ const tmpdirPath = process.env['JEST_CACHE_DIRECTORY'] || path.join(jestUtil.tryRealpath(os.tmpdir()), 'jest');
22
+
23
+ if (getuid == null) {
24
+ return tmpdirPath;
25
+ } else {
26
+ return `${tmpdirPath}_${getuid.call(process).toString(36)}`;
27
+ }
28
+ }
29
+ function makeTestRegexConfig(testExt) {
30
+ testExt = [testExt].flat().join('|');
31
+ return {
32
+ testMatch: void 0,
33
+ testRegex: [`\\.(tests?|spec)\\.(${testExt})$`, `__tests__\/\.*\\.(${testExt})$`]
34
+ };
35
+ }
36
+ function fixJestConfig(jestConfig) {
37
+ if (jestConfig.testMatch) {
38
+ jestConfig.testRegex = void 0;
39
+ } else if (jestConfig.testRegex) {
40
+ jestConfig.testMatch = void 0;
41
+ }
42
+
43
+ return jestConfig;
44
+ }
45
+
46
+ function defaultTestFileExtensions() {
47
+ const value = ['ts', 'tsx', 'mts', 'cts'];
48
+ return value;
49
+ }
50
+ function defaultModuleFileExtensions() {
51
+ const value = ['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs', 'json', 'node'];
52
+ return value;
53
+ }
54
+ function defaultCoveragePathIgnorePatterns() {
55
+ const value = ['/node_modules/', '/__snapshots__/', '/__tests__/', '/__test__/', '/dist/', '/test/', '/fixture/'];
56
+ return value;
57
+ }
58
+ function defaultTestPathIgnorePatterns() {
59
+ const value = ['/node_modules/', '/__fixtures__/', '/fixtures/', '/__tests__/helpers/', '/__tests__/utils/', '__mocks__', '/dist/'];
60
+ return value;
61
+ }
62
+
63
+ function _newTableBorderless(options) {
64
+ let table$1 = new table.Table({
65
+ colAligns: ['right', 'left'],
66
+ chars: {
67
+ top: '',
68
+ 'top-mid': '',
69
+ 'top-left': '',
70
+ 'top-right': '',
71
+ bottom: '',
72
+ 'bottom-mid': '',
73
+ 'bottom-left': '',
74
+ 'bottom-right': '',
75
+ left: '',
76
+ 'left-mid': '',
77
+ mid: '',
78
+ 'mid-mid': '',
79
+ right: '',
80
+ 'right-mid': '',
81
+ middle: ''
82
+ },
83
+ ...options
84
+ });
85
+ table$1 = table.applyStyleBorderless(table$1);
86
+ return table$1;
87
+ }
88
+ function printJestConfigInfo(jestConfig, options) {
89
+ var _options, _jestConfig, _options$cwd, _options$file, _jestConfig$cacheDire;
90
+
91
+ const table = _newTableBorderless();
92
+
93
+ (_options = options) !== null && _options !== void 0 ? _options : options = {};
94
+ (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
95
+ table.push(['cwd:', (_options$cwd = options.cwd) !== null && _options$cwd !== void 0 ? _options$cwd : process.cwd()]);
96
+ ((_options$file = options.file) === null || _options$file === void 0 ? void 0 : _options$file.length) && table.push(['file:', options.file]);
97
+ ((_jestConfig$cacheDire = jestConfig.cacheDirectory) === null || _jestConfig$cacheDire === void 0 ? void 0 : _jestConfig$cacheDire.length) && table.push(['cacheDirectory:', jestConfig.cacheDirectory]);
98
+ debugColor2.console.gray.log('─'.repeat(20));
99
+ debugColor2.console.log(`jest.config`);
100
+ debugColor2.console.log(table.toString());
101
+ debugColor2.console.gray.log('─'.repeat(20));
102
+ }
103
+
104
+ const cacheDirectory = /*#__PURE__*/getCacheDirectory();
105
+ function mixinJestConfig(jestConfig, autoPrint, options) {
106
+ var _jestConfig;
107
+
108
+ (_jestConfig = jestConfig) !== null && _jestConfig !== void 0 ? _jestConfig : jestConfig = {};
109
+ const newJestConfig = fixJestConfig({
110
+ globals: {
111
+ 'ts-jest': {}
112
+ },
113
+ cacheDirectory,
114
+ maxWorkers: 1,
115
+ clearMocks: true,
116
+ passWithNoTests: true,
117
+ moduleFileExtensions: defaultModuleFileExtensions(),
118
+ testEnvironment: 'node',
119
+ ...makeTestRegexConfig(defaultTestFileExtensions()),
120
+ testPathIgnorePatterns: defaultTestPathIgnorePatterns(),
121
+ setupFilesAfterEnv: [],
122
+ transform: {
123
+ '.(ts|tsx|mts|cts)$': _requireResolve('ts-jest')
124
+ },
125
+ verbose: true,
126
+ coverageProvider: 'v8',
127
+ collectCoverage: false,
128
+ coveragePathIgnorePatterns: defaultCoveragePathIgnorePatterns(),
129
+ ...jestConfig
130
+ });
131
+ autoPrint && printJestConfigInfo(newJestConfig, options);
132
+ return newJestConfig;
133
+ }
134
+
135
+ exports._newTableBorderless = _newTableBorderless;
136
+ exports._requireResolve = _requireResolve;
137
+ exports.cacheDirectory = cacheDirectory;
138
+ exports["default"] = mixinJestConfig;
139
+ exports.defaultCoveragePathIgnorePatterns = defaultCoveragePathIgnorePatterns;
140
+ exports.defaultModuleFileExtensions = defaultModuleFileExtensions;
141
+ exports.defaultTestFileExtensions = defaultTestFileExtensions;
142
+ exports.defaultTestPathIgnorePatterns = defaultTestPathIgnorePatterns;
143
+ exports.fixJestConfig = fixJestConfig;
144
+ exports.getCacheDirectory = getCacheDirectory;
145
+ exports.makeTestRegexConfig = makeTestRegexConfig;
146
+ exports.mixinJestConfig = mixinJestConfig;
147
+ exports.printJestConfigInfo = printJestConfigInfo;
148
+
149
+ Object.defineProperty(exports, '__esModule', { value: true });
150
+
151
+ }));
152
+ //# sourceMappingURL=index.umd.development.cjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@yarn-tool/require-resolve"),require("path"),require("jest-util"),require("os"),require("debug-color2"),require("@yarn-tool/table")):"function"==typeof define&&define.amd?define(["exports","@yarn-tool/require-resolve","path","jest-util","os","debug-color2","@yarn-tool/table"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BlueloversJestConfig={},e.requireResolve,e.path,e.jestUtil,e.os,e.debugColor2,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 n.console.debug("[require.resolve]",e,"=>",o),o}function getCacheDirectory(){const{getuid:e}=process,t=process.env.JEST_CACHE_DIRECTORY||s.join(o.tryRealpath(r.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,r,i,l;const u=_newTableBorderless();null!==(s=t)&&void 0!==s||(t={}),null!==(o=e)&&void 0!==o||(e={}),u.push(["cwd:",null!==(r=t.cwd)&&void 0!==r?r: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]),n.console.gray.log("─".repeat(20)),n.console.log("jest.config"),n.console.log(u.toString()),n.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
+ //# sourceMappingURL=index.umd.production.min.cjs.map
@@ -0,0 +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":"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"}
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@bluelovers/jest-config",
3
+ "version": "1.0.1",
4
+ "description": "",
5
+ "keywords": [
6
+ "assert",
7
+ "test",
8
+ "check",
9
+ "assertion",
10
+ "testing",
11
+ "chai",
12
+ "expect",
13
+ "jest",
14
+ "create-by-yarn-tool",
15
+ "create-by-tsdx"
16
+ ],
17
+ "homepage": "https://github.com/bluelovers/ws-jest/tree/master/packages/@bluelovers/jest-config#readme",
18
+ "bugs": {
19
+ "url": "https://github.com/bluelovers/ws-jest/issues"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/bluelovers/ws-jest.git"
24
+ },
25
+ "license": "ISC",
26
+ "author": "bluelovers",
27
+ "sideEffects": false,
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.esm.mjs",
32
+ "require": "./dist/index.cjs"
33
+ },
34
+ "./package.json": "./package.json",
35
+ "./src/*": "./src/*"
36
+ },
37
+ "main": "dist/index.cjs",
38
+ "unpkg": "dist/index.umd.production.min.cjs",
39
+ "module": "dist/index.esm.mjs",
40
+ "types": "dist/index.d.ts",
41
+ "typings": "dist/index.d.ts",
42
+ "scripts": {
43
+ "review": "yarn run review:coverage",
44
+ "review:coverage": "yarn run lint && yarn run coverage",
45
+ "review:test": "yarn run lint && yarn run test",
46
+ "coverage": "yarn run test -- --coverage",
47
+ "lint": "yarn run lint:eslint",
48
+ "lint:eslint": "ynpx eslint --ext .ts,.tsx,.mts,.cts ./",
49
+ "pretest": "echo pretest",
50
+ "test": "jest --passWithNoTests",
51
+ "test:jest": "jest --passWithNoTests",
52
+ "test:mocha": "ynpx --quiet -p ts-node -p mocha mocha -- --require ts-node/register \"!(node_modules)/**/*.{test,spec}.{ts,tsx}\"",
53
+ "test:tsdx": "ynpx @bluelovers/tsdx test --passWithNoTests",
54
+ "posttest": "yarn run build",
55
+ "build": "yarn run build:tsdx && yarn run build:dts:bundle",
56
+ "build:dts:bundle": "ynpx dts-bundle-generator -o ./dist/index.d.ts ./src/index.ts --no-banner --inline-declare-global & echo build:dts:bundle",
57
+ "build:dts:copy": "copy .\\src\\index.d.ts .\\dist\\index.d.ts & echo build:dts",
58
+ "build:dts:tsc": "yarn run build:dts:tsc:emit && yarn run build:dts:copy",
59
+ "build:dts:tsc:emit": "tsc --emitDeclarationOnly --declaration --noEmit false",
60
+ "build:microbundle": "ynpx microbundle --target node",
61
+ "build:tsdx": "ynpx @bluelovers/tsdx build --target node --name index",
62
+ "ci:install": "echo ci:install",
63
+ "ci:build": "echo ci:build",
64
+ "preversion": "echo preversion && yarn run test",
65
+ "version": "echo version",
66
+ "postversion": "echo postversion",
67
+ "prepublish": "echo prepublish",
68
+ "prepare": "echo prepare",
69
+ "prepublishOnly": "echo prepublishOnly",
70
+ "prepublishOnly:update": "yarn run ncu && yarn run sort-package-json",
71
+ "prepack": "echo prepack",
72
+ "pack": "echo pack",
73
+ "postpack": "echo postpack",
74
+ "publish": "echo publish",
75
+ "postpublish": "echo postpublish",
76
+ "postpublishOnly": "echo postpublishOnly",
77
+ "ncu": "yarn-tool ncu -u",
78
+ "sort-package-json": "yarn-tool sort",
79
+ "tsc:showConfig": "ynpx get-current-tsconfig -p"
80
+ },
81
+ "dependencies": {
82
+ "@yarn-tool/require-resolve": "^2.0.0",
83
+ "@yarn-tool/table": "^2.0.0",
84
+ "debug-color2": "^1.2.7",
85
+ "ts-type": "^2.1.8",
86
+ "tslib": "^2"
87
+ },
88
+ "packageManager": "yarn@1.22.19",
89
+ "publishConfig": {
90
+ "access": "public"
91
+ },
92
+ "gitHead": "939f8acb756b0b442675d217adae932cacff005b"
93
+ }