@nest-yalc-2/jest-config 2.2.0 → 2.2.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.
Files changed (90) hide show
  1. package/LICENSE +661 -0
  2. package/package.json +19 -10
  3. package/src/CHANGELOG.md +8 -0
  4. package/src/README.md +31 -0
  5. package/src/config/CHANGELOG.md +8 -0
  6. package/src/config/README.md +31 -0
  7. package/src/config/gql-plugin.js +25 -0
  8. package/src/config/index.d.ts +2 -0
  9. package/src/config/index.js +6 -0
  10. package/src/config/index.js.map +1 -0
  11. package/src/config/index.ts +2 -0
  12. package/src/config/jest-conf.generator.d.ts +53 -0
  13. package/src/config/jest-conf.generator.js +193 -0
  14. package/src/config/jest-conf.generator.js.map +1 -0
  15. package/src/config/jest-conf.generator.ts +368 -0
  16. package/src/config/jest-def.config.d.ts +20 -0
  17. package/src/config/jest-def.config.js +145 -0
  18. package/src/config/jest-def.config.js.map +1 -0
  19. package/src/config/jest-def.config.ts +214 -0
  20. package/src/config/jest.setup.d.ts +1 -0
  21. package/src/config/jest.setup.js +10 -0
  22. package/src/config/jest.setup.js.map +1 -0
  23. package/src/config/jest.setup.ts +39 -0
  24. package/src/config/package.json +22 -0
  25. package/src/config/tsconfig.dev.json +3 -0
  26. package/src/config/tsconfig.json +9 -0
  27. package/src/gql-plugin.js +25 -0
  28. package/src/index.d.ts +2 -0
  29. package/src/index.js +6 -0
  30. package/src/index.js.map +1 -0
  31. package/src/index.ts +2 -0
  32. package/src/jest-conf.generator.d.ts +53 -0
  33. package/src/jest-conf.generator.js +193 -0
  34. package/src/jest-conf.generator.js.map +1 -0
  35. package/src/jest-conf.generator.ts +363 -0
  36. package/src/jest-def.config.d.ts +20 -0
  37. package/src/jest-def.config.js +151 -0
  38. package/src/jest-def.config.js.map +1 -0
  39. package/src/jest-def.config.ts +220 -0
  40. package/src/jest.setup.d.ts +1 -0
  41. package/src/jest.setup.js +26 -0
  42. package/src/jest.setup.js.map +1 -0
  43. package/src/jest.setup.ts +58 -0
  44. package/src/package.json +22 -0
  45. package/src/src/CHANGELOG.md +8 -0
  46. package/src/src/README.md +31 -0
  47. package/src/src/config/CHANGELOG.md +8 -0
  48. package/src/src/config/README.md +31 -0
  49. package/src/src/config/gql-plugin.js +25 -0
  50. package/src/src/config/index.d.ts +2 -0
  51. package/src/src/config/index.js +6 -0
  52. package/src/src/config/index.js.map +1 -0
  53. package/src/src/config/index.ts +2 -0
  54. package/src/src/config/jest-conf.generator.d.ts +53 -0
  55. package/src/src/config/jest-conf.generator.js +193 -0
  56. package/src/src/config/jest-conf.generator.js.map +1 -0
  57. package/src/src/config/jest-conf.generator.ts +368 -0
  58. package/src/src/config/jest-def.config.d.ts +20 -0
  59. package/src/src/config/jest-def.config.js +145 -0
  60. package/src/src/config/jest-def.config.js.map +1 -0
  61. package/src/src/config/jest-def.config.ts +214 -0
  62. package/src/src/config/jest.setup.d.ts +1 -0
  63. package/src/src/config/jest.setup.js +10 -0
  64. package/src/src/config/jest.setup.js.map +1 -0
  65. package/src/src/config/jest.setup.ts +39 -0
  66. package/src/src/config/package.json +22 -0
  67. package/src/src/config/tsconfig.dev.json +3 -0
  68. package/src/src/config/tsconfig.json +9 -0
  69. package/src/src/gql-plugin.js +25 -0
  70. package/src/src/index.d.ts +2 -0
  71. package/src/src/index.js +6 -0
  72. package/src/src/index.js.map +1 -0
  73. package/src/src/index.ts +2 -0
  74. package/src/src/jest-conf.generator.d.ts +53 -0
  75. package/src/src/jest-conf.generator.js +193 -0
  76. package/src/src/jest-conf.generator.js.map +1 -0
  77. package/src/src/jest-conf.generator.ts +363 -0
  78. package/src/src/jest-def.config.d.ts +20 -0
  79. package/src/src/jest-def.config.js +151 -0
  80. package/src/src/jest-def.config.js.map +1 -0
  81. package/src/src/jest-def.config.ts +220 -0
  82. package/src/src/jest.setup.d.ts +1 -0
  83. package/src/src/jest.setup.js +26 -0
  84. package/src/src/jest.setup.js.map +1 -0
  85. package/src/src/jest.setup.ts +58 -0
  86. package/src/src/package.json +22 -0
  87. package/src/src/tsconfig.dev.json +3 -0
  88. package/src/src/tsconfig.json +9 -0
  89. package/src/tsconfig.dev.json +3 -0
  90. package/src/tsconfig.json +9 -0
@@ -0,0 +1,368 @@
1
+ /* istanbul ignore file */
2
+
3
+ import * as path from 'path';
4
+ import os from 'os';
5
+
6
+ import type { JestConfigWithTsJest } from 'ts-jest';
7
+ import defaultConf, {
8
+ coveragePathIgnorePatterns,
9
+ globals,
10
+ coverageThreshold,
11
+ IDefaultConfOptions,
12
+ tsJestConfig,
13
+ tsJestConfigE2E,
14
+ } from './jest-def.config.js';
15
+ // import { options as jestOptionObject } from 'jest-cli/build/cli/args';
16
+ import yargs from 'yargs/yargs';
17
+ import { hideBin } from 'yargs/helpers';
18
+
19
+ interface IAppDep {
20
+ name: string;
21
+ path: string;
22
+ }
23
+ export interface IAppProjSetting {
24
+ confOverride?: any;
25
+ deps: IAppDep[];
26
+ }
27
+
28
+ export interface IProjectInfo {
29
+ path: string;
30
+ sourcePath: string;
31
+ type: 'library' | 'application' | string;
32
+ }
33
+
34
+ export interface IOptions {
35
+ skipProjects?: string[];
36
+ /**
37
+ * key: project name
38
+ * value: jest configurations
39
+ */
40
+ confOverrides?: { [key: string]: any };
41
+ defaultCoverageThreshold?: {
42
+ branches: number;
43
+ functions: number;
44
+ lines: number;
45
+ statements: number;
46
+ };
47
+ tsConfigPath?: { (proj: IProjectInfo): string };
48
+ coverageOutputPath?: { (subProjectPath: string): string };
49
+ defaultConfOptions?: IDefaultConfOptions;
50
+ tsJestConfig?: any;
51
+ extraSetupFiles?: string[];
52
+ setupFilesAfterEnv?: string[];
53
+ }
54
+
55
+ // considering our heap consumption (~300-700mb), 5 workers will consume around 3GB of ram
56
+ // if you want to increase/decrease this value, you can set the npm_config_jestworkers:
57
+ // * npm < 9 -> with the `npm config set` command (more info: https://docs.npmjs.com/cli/v7/commands/npm-config)
58
+ // * npm >= 9 -> with: export JEST_WORKERS=5
59
+ const maxWorkers =
60
+ process.env.npm_config_jestworkers ||
61
+ process.env.JEST_WORKERS ||
62
+ os.cpus().length ||
63
+ 10;
64
+
65
+ // eslint-disable-next-line no-console
66
+ console.log(`Max workers: ${maxWorkers}`);
67
+
68
+ export function jestConfGenerator(
69
+ rootPath: string,
70
+ projectList: { [key: string]: IProjectInfo },
71
+ appProjectsSettings: {
72
+ [key: string]: IAppProjSetting;
73
+ },
74
+ options: IOptions,
75
+ ): JestConfigWithTsJest {
76
+ const createProjectSets = (projects: any[]) => {
77
+ const _projectSets: { [key: string]: any } = {};
78
+ for (const app in appProjectsSettings) {
79
+ _projectSets[app] = projects.filter((p) =>
80
+ appProjectsSettings[app].deps.some((v) =>
81
+ p.displayName.startsWith(`unit/${v.name}`),
82
+ ),
83
+ );
84
+ }
85
+
86
+ return {
87
+ ..._projectSets,
88
+ all: projects,
89
+ };
90
+ };
91
+
92
+ const cacheDirBase = '/tmp/jest_rs/';
93
+
94
+ let projects = [];
95
+
96
+ const confFactory = (
97
+ projName: string,
98
+ proj: IProjectInfo,
99
+ projects?: any,
100
+ ) => ({
101
+ ...defaultConf(
102
+ `${rootPath}/`,
103
+ options.defaultConfOptions,
104
+ tsJestConfig(
105
+ options.tsConfigPath?.(proj) ??
106
+ `${rootPath}/${proj.path}/tsconfig.${
107
+ proj.type === 'library' ? 'lib' : 'app'
108
+ }.json`,
109
+ options.tsJestConfig,
110
+ ),
111
+ ),
112
+ globals: globals(),
113
+ // name: `unit/${projName}`,
114
+ displayName: `unit/${projName}`,
115
+ cacheDirectory: `${cacheDirBase}/unit/${projName}`,
116
+ rootDir: `${rootPath}/${proj.sourcePath}/`,
117
+ roots: [`${rootPath}/${proj.path}`],
118
+ maxWorkers,
119
+ setupFiles: [
120
+ `${__dirname}/jest.setup.js`,
121
+ ...(options.extraSetupFiles ?? []),
122
+ ],
123
+ coverageThreshold: coverageThreshold(
124
+ projects,
125
+ options.defaultCoverageThreshold,
126
+ ),
127
+ coveragePathIgnorePatterns,
128
+ });
129
+
130
+ for (const projName of Object.keys(projectList)) {
131
+ const proj = projectList[projName];
132
+ if (!options.skipProjects?.includes(proj.path)) {
133
+ let conf = confFactory(projName, proj);
134
+
135
+ if (appProjectsSettings[projName]?.confOverride) {
136
+ conf = { ...conf, ...appProjectsSettings[projName].confOverride };
137
+ }
138
+
139
+ if (options.confOverrides) {
140
+ const overrideKey = Object.keys(options.confOverrides).find(
141
+ (v) => projName === v && v,
142
+ );
143
+
144
+ const overrideConf =
145
+ overrideKey && options.confOverrides[overrideKey]
146
+ ? options.confOverrides[overrideKey]
147
+ : {};
148
+
149
+ conf = { ...conf, ...overrideConf };
150
+ }
151
+
152
+ projects.push(conf);
153
+ }
154
+ }
155
+
156
+ const projectSets: { [key: string]: any } = createProjectSets(projects);
157
+
158
+ // use argv to catch the path argument in any position
159
+ const argv: any = yargs(hideBin(process.argv))
160
+ .command('$0 [paths]', 'test paths', (yargs) => {
161
+ return yargs
162
+ .positional('path', {
163
+ describe: 'test path',
164
+ type: 'string',
165
+ coerce: (arg: string): string[] => {
166
+ return arg.split(',');
167
+ },
168
+ })
169
+ .option('proj', {
170
+ describe: 'comma-separated project names',
171
+ type: 'string',
172
+ coerce: (arg: string): string[] => {
173
+ return arg.split(',');
174
+ },
175
+ })
176
+ .option('paths', {
177
+ describe: 'comma-separated test paths',
178
+ type: 'string',
179
+ coerce: (arg: string): string[] => {
180
+ return arg.split(',');
181
+ },
182
+ });
183
+ })
184
+ .showHelpOnFail(false)
185
+ // .options(jestOptionObject)
186
+ .fail(() => {
187
+ // nothing to do
188
+ }).argv;
189
+
190
+ const selectedProj =
191
+ argv.proj || process.env.npm_config_projects?.split(',') || 'all';
192
+
193
+ projects = Array.isArray(selectedProj)
194
+ ? Object.values(projectSets)
195
+ .flat()
196
+ .filter((value) => {
197
+ return selectedProj.some((projName) => {
198
+ return value.displayName === `unit/${projName}`;
199
+ });
200
+ })
201
+ : projectSets[selectedProj];
202
+
203
+ const paths = [];
204
+
205
+ if (argv.path) {
206
+ paths.push(argv.path);
207
+ }
208
+
209
+ if (argv.paths) {
210
+ paths.push(...argv.paths);
211
+ }
212
+
213
+ const possiblePath =
214
+ (paths.length > 0 ? paths : null) ??
215
+ argv.testPathPattern?.[0] ??
216
+ argv.coverage ??
217
+ '';
218
+
219
+ // eslint-disable-next-line no-console
220
+ console.debug('possiblePaths', possiblePath);
221
+
222
+ let config: any = {};
223
+
224
+ function getSubprojectPath(testPath: string) {
225
+ // "." must be converted to "/"
226
+ let subProjectPath = testPath.startsWith('.')
227
+ ? testPath.slice(1)
228
+ : testPath;
229
+ subProjectPath = subProjectPath.startsWith(rootPath)
230
+ ? subProjectPath.slice(rootPath.length)
231
+ : subProjectPath;
232
+ // we always need "/" at the beginning of the string
233
+ subProjectPath = subProjectPath.startsWith('/')
234
+ ? subProjectPath
235
+ : `/${subProjectPath}`;
236
+
237
+ // get the project which prefix is closest to testPath
238
+ // to apply the correct path for coverage etc.
239
+ for (const proj of Object.values(projectList)) {
240
+ const root: string = proj.path;
241
+ if (testPath.startsWith(root) && subProjectPath.length < root.length) {
242
+ subProjectPath = `/${root}`;
243
+ }
244
+ }
245
+
246
+ const lastIndexOfSrc = subProjectPath.lastIndexOf(`/src/`);
247
+ if (lastIndexOfSrc >= 0)
248
+ subProjectPath = subProjectPath.substring(0, lastIndexOfSrc);
249
+
250
+ return subProjectPath;
251
+ }
252
+
253
+ let selectedProjects: any[] = [];
254
+ if (possiblePath === true) {
255
+ if (Array.isArray(selectedProj)) {
256
+ selectedProjects.push(
257
+ ...projects.filter((p: any) =>
258
+ selectedProj.some((projName) =>
259
+ p.displayName.startsWith(`unit/${projName}`),
260
+ ),
261
+ ),
262
+ );
263
+ } else {
264
+ selectedProjects = projects;
265
+ }
266
+ } else {
267
+ const testPaths: string[] = Array.isArray(possiblePath)
268
+ ? possiblePath
269
+ : [possiblePath];
270
+
271
+ // eslint-disable-next-line no-console
272
+ console.debug('testPaths', testPaths);
273
+ const subProjectPathList = testPaths.map((v) => getSubprojectPath(v));
274
+
275
+ selectedProjects = projects.filter((v: any) =>
276
+ subProjectPathList.some((subProjectPath) =>
277
+ v.rootDir.startsWith(`${rootPath}${subProjectPath}`),
278
+ ),
279
+ );
280
+
281
+ if (Array.isArray(selectedProj)) {
282
+ selectedProjects.push(
283
+ ...projects.filter((p: any) =>
284
+ selectedProj.some((projName) =>
285
+ p.displayName.startsWith(`unit/${projName}`),
286
+ ),
287
+ ),
288
+ );
289
+ }
290
+
291
+ // eslint-disable-next-line no-console
292
+ console.debug('Subproject path:', subProjectPathList ?? ['']);
293
+ }
294
+
295
+ // eslint-disable-next-line no-console
296
+ console.debug(
297
+ 'selectedProjects',
298
+ selectedProjects.map((v: any) => v.displayName),
299
+ );
300
+
301
+ // we can still support specific coverage output path when only one project is selected
302
+ const coverageFolder = selectedProjects.length > 1 ? '' : selectedProj;
303
+
304
+ config = {
305
+ coverageReporters: ['json-summary', 'json', 'lcov', 'text', 'clover'],
306
+ rootDir: `${rootPath}`,
307
+ coverageThreshold: coverageThreshold(
308
+ selectedProjects,
309
+ options.defaultCoverageThreshold,
310
+ ),
311
+ coverageDirectory: path.join(
312
+ rootPath,
313
+ options.coverageOutputPath?.(coverageFolder) ??
314
+ `var/coverage/${coverageFolder}`,
315
+ ),
316
+ collectCoverageFrom: [
317
+ `**/*.{js,ts}`,
318
+ '!**/node_modules/**',
319
+ '!**/.warmup/**',
320
+ ],
321
+ };
322
+
323
+ config.projects = selectedProjects;
324
+
325
+ return config;
326
+ }
327
+
328
+ export interface E2EOptions {
329
+ alias?: string;
330
+ e2eDirname: string;
331
+ rootDirname: string;
332
+ defaultConfOptions?: IDefaultConfOptions;
333
+ confOverride?: JestConfigWithTsJest;
334
+ withGqlPlugins?: boolean;
335
+ tsJestConfig?: any;
336
+ }
337
+
338
+ export const createE2EConfig = (options: E2EOptions): JestConfigWithTsJest => {
339
+ let conf: JestConfigWithTsJest = {
340
+ ...defaultConf(
341
+ `${options.rootDirname}`,
342
+ options.defaultConfOptions,
343
+ tsJestConfigE2E(
344
+ path.resolve(`${options.e2eDirname}/tsconfig.json`),
345
+ options.withGqlPlugins ?? false,
346
+ options.tsJestConfig,
347
+ ),
348
+ ),
349
+ testRegex: '.*\\.e2e-spec\\.ts$',
350
+ setupFilesAfterEnv: [`${options.e2eDirname}/jest.e2e-setup.ts`],
351
+ roots: [`${options.e2eDirname}`],
352
+ bail: 1,
353
+ };
354
+
355
+ if (options.alias) {
356
+ conf.displayName = `e2e/${options.alias}`;
357
+ // conf.name = `e2e/${options.alias}`;
358
+ }
359
+
360
+ if (options.confOverride) {
361
+ conf = {
362
+ ...conf,
363
+ ...options.confOverride,
364
+ };
365
+ }
366
+
367
+ return conf;
368
+ };
@@ -0,0 +1,20 @@
1
+ import type { JestConfigWithTsJest } from 'ts-jest';
2
+ export declare const coveragePathIgnorePatterns: string[];
3
+ export declare const globals: () => {
4
+ __JEST_DISABLE_DB: boolean;
5
+ };
6
+ export declare const tsJestConfigE2E: (tsConfPath?: string, withGqlPlugin?: boolean, overrideTsJestConfig?: any) => any;
7
+ export declare const tsJestConfig: (tsConfPath?: string, overrideTsJestConfig?: any) => any;
8
+ export declare const coverageThreshold: (projects?: any[], defaultCoverageThreshold?: {
9
+ branches: number;
10
+ functions: number;
11
+ lines: number;
12
+ statements: number;
13
+ }) => Record<string, any>;
14
+ export interface IDefaultConfOptions {
15
+ transformEsModules?: string[] | boolean;
16
+ tsJestConf?: any;
17
+ jestConf?: any;
18
+ }
19
+ declare const defaultConf: (dirname: string, options?: IDefaultConfOptions, tsJestConfig?: any) => JestConfigWithTsJest;
20
+ export default defaultConf;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coverageThreshold = exports.tsJestConfig = exports.tsJestConfigE2E = exports.globals = exports.coveragePathIgnorePatterns = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const readTsConfig = tslib_1.__importStar(require("get-tsconfig"));
7
+ const ts_jest_1 = require("ts-jest");
8
+ const jest_config_1 = require("jest-config");
9
+ exports.coveragePathIgnorePatterns = [
10
+ '/env/dist/',
11
+ '/node_modules/',
12
+ '/database/seeds/',
13
+ '/database/migrations/',
14
+ '/test/feature/',
15
+ ];
16
+ const globals = () => {
17
+ return {
18
+ __JEST_DISABLE_DB: true,
19
+ };
20
+ };
21
+ exports.globals = globals;
22
+ const tsJestConfigE2E = (tsConfPath = '', withGqlPlugin = true, overrideTsJestConfig) => {
23
+ const tsConfigFile = readTsConfig.getTsconfig(path.resolve(tsConfPath));
24
+ const { tsconfig, ...restTsJest } = overrideTsJestConfig ?? {};
25
+ const conf = {
26
+ diagnostics: false,
27
+ tsconfig: {
28
+ ...(tsConfigFile?.config.compilerOptions ?? {}),
29
+ ...(tsconfig ?? {}),
30
+ },
31
+ ...restTsJest,
32
+ };
33
+ if (withGqlPlugin) {
34
+ conf.astTransformers = {
35
+ before: [path.join(__dirname, 'gql-plugin.js')],
36
+ };
37
+ }
38
+ return conf;
39
+ };
40
+ exports.tsJestConfigE2E = tsJestConfigE2E;
41
+ const tsJestConfig = (tsConfPath = '', overrideTsJestConfig) => {
42
+ const tsConfigFile = readTsConfig.getTsconfig(path.resolve(path.dirname(tsConfPath)), path.basename(tsConfPath));
43
+ if (tsConfigFile?.path !== tsConfPath) {
44
+ throw new Error(`Cannot find ${tsConfPath}`);
45
+ }
46
+ const { tsconfig, ...restTsJest } = overrideTsJestConfig ?? {};
47
+ const config = {
48
+ tsconfig: {
49
+ ...(tsConfigFile?.config.compilerOptions ?? {}),
50
+ ...(tsconfig ?? {}),
51
+ },
52
+ diagnostics: false,
53
+ ...restTsJest,
54
+ };
55
+ return config;
56
+ };
57
+ exports.tsJestConfig = tsJestConfig;
58
+ const coverageThreshold = (projects = [], defaultCoverageThreshold = {
59
+ branches: 100,
60
+ functions: 100,
61
+ lines: 100,
62
+ statements: 100,
63
+ }) => {
64
+ const coverage = {
65
+ global: {
66
+ ...defaultCoverageThreshold,
67
+ },
68
+ };
69
+ projects.map((project) => {
70
+ coverage[project.rootDir] = {
71
+ ...defaultCoverageThreshold,
72
+ };
73
+ if (project?.coverageThreshold) {
74
+ coverage[project.rootDir] = {
75
+ ...coverage[project.rootDir],
76
+ ...project?.coverageThreshold,
77
+ };
78
+ }
79
+ });
80
+ return coverage;
81
+ };
82
+ exports.coverageThreshold = coverageThreshold;
83
+ const defaultConf = (dirname, options = {}, tsJestConfig = {}) => {
84
+ const tsConfigFile = readTsConfig.getTsconfig(path.join(dirname, 'tsconfig.json'));
85
+ const compilerOptions = tsConfigFile?.config.compilerOptions ?? {};
86
+ const config = {
87
+ rootDir: dirname,
88
+ modulePathIgnorePatterns: [
89
+ '<rootDir>/var/',
90
+ '<rootDir>/env/',
91
+ '<rootDir>/docs/',
92
+ '<rootDir>/dist/',
93
+ '<rootDir>/../dist/',
94
+ '<rootDir>/node_modules/',
95
+ '.*/dist/',
96
+ ],
97
+ preset: 'ts-jest/presets/default-esm',
98
+ testEnvironment: 'node',
99
+ moduleFileExtensions: [...jest_config_1.defaults.moduleFileExtensions, 'ts'],
100
+ testRegex: '.*\\.spec\\.ts$',
101
+ transform: {
102
+ '^.+\\.(t|j)sx?$': [
103
+ 'ts-jest',
104
+ {
105
+ useESM: true,
106
+ ...tsJestConfig,
107
+ },
108
+ ],
109
+ },
110
+ moduleNameMapper: {
111
+ 'source-map-support/register': 'identity-obj-proxy',
112
+ '^(@nest-yalc-2/.*|@node-yalc/.*|\\.{1,2}/.*)\\.js$': [
113
+ '$1.ts',
114
+ '$1/index.ts',
115
+ '$1.js',
116
+ '$1',
117
+ ],
118
+ ...(0, ts_jest_1.pathsToModuleNameMapper)(compilerOptions.paths ?? {}, {
119
+ prefix: `${dirname}/`,
120
+ useESM: true,
121
+ }),
122
+ },
123
+ errorOnDeprecated: true,
124
+ extensionsToTreatAsEsm: ['.ts'],
125
+ ...options?.jestConf,
126
+ };
127
+ if (options.transformEsModules) {
128
+ const esModules = [
129
+ ...(Array.isArray(options.transformEsModules)
130
+ ? options.transformEsModules
131
+ : []),
132
+ 'aggregate-error',
133
+ 'clean-stack',
134
+ 'escape-string-regexp',
135
+ 'indent-string',
136
+ 'p-map',
137
+ ].join('|');
138
+ config.transformIgnorePatterns = [
139
+ `[/\\\\]node_modules[/\\\\](?!${esModules}).+\\.(js|jsx|ts|tsx)$`,
140
+ ];
141
+ }
142
+ return config;
143
+ };
144
+ exports.default = defaultConf;
145
+ //# sourceMappingURL=jest-def.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest-def.config.js","sourceRoot":"","sources":["jest-def.config.ts"],"names":[],"mappings":"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"}