ts-jest 29.1.5 → 29.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.
package/dist/constants.js CHANGED
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_JEST_TEST_MATCH = exports.JS_EXT_TO_TREAT_AS_ESM = exports.TS_EXT_TO_TREAT_AS_ESM = exports.JS_JSX_REGEX = exports.TS_TSX_REGEX = exports.JS_JSX_EXTENSIONS = exports.DECLARATION_TYPE_EXT = exports.LINE_FEED = void 0;
3
+ exports.JEST_CONFIG_EJS_TEMPLATE = exports.DEFAULT_JEST_TEST_MATCH = exports.JS_EXT_TO_TREAT_AS_ESM = exports.TS_EXT_TO_TREAT_AS_ESM = exports.ESM_JS_TRANSFORM_PATTERN = exports.JS_TRANSFORM_PATTERN = exports.ESM_TS_JS_TRANSFORM_PATTERN = exports.TS_JS_TRANSFORM_PATTERN = exports.ESM_TS_TRANSFORM_PATTERN = exports.TS_TRANSFORM_PATTERN = exports.JS_JSX_REGEX = exports.TS_TSX_REGEX = exports.JS_JSX_EXTENSIONS = exports.DECLARATION_TYPE_EXT = exports.LINE_FEED = void 0;
4
4
  exports.LINE_FEED = '\n';
5
5
  exports.DECLARATION_TYPE_EXT = '.d.ts';
6
6
  exports.JS_JSX_EXTENSIONS = ['.js', '.jsx'];
7
7
  exports.TS_TSX_REGEX = /\.[cm]?tsx?$/;
8
8
  exports.JS_JSX_REGEX = /\.[cm]?jsx?$/;
9
+ exports.TS_TRANSFORM_PATTERN = '^.+.tsx?$';
10
+ exports.ESM_TS_TRANSFORM_PATTERN = '^.+\\.m?tsx?$';
11
+ exports.TS_JS_TRANSFORM_PATTERN = '^.+.[tj]sx?$';
12
+ exports.ESM_TS_JS_TRANSFORM_PATTERN = '^.+\\.m?[tj]sx?$';
13
+ exports.JS_TRANSFORM_PATTERN = '^.+.jsx?$';
14
+ exports.ESM_JS_TRANSFORM_PATTERN = '^.+\\.m?jsx?$';
9
15
  // `extensionsToTreatAsEsm` will throw error with `.mjs`
10
16
  exports.TS_EXT_TO_TREAT_AS_ESM = ['.ts', '.tsx', '.mts'];
11
17
  exports.JS_EXT_TO_TREAT_AS_ESM = ['.jsx'];
@@ -14,3 +20,7 @@ exports.JS_EXT_TO_TREAT_AS_ESM = ['.jsx'];
14
20
  * See https://jestjs.io/docs/en/configuration#testmatch-arraystring
15
21
  */
16
22
  exports.DEFAULT_JEST_TEST_MATCH = ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'];
23
+ /**
24
+ * @internal
25
+ */
26
+ exports.JEST_CONFIG_EJS_TEMPLATE = "/** @type {import('ts-jest').JestConfigWithTsJest} **/\n<%= exportKind %> {\n testEnvironment: \"<%= testEnvironment %>\",\n transform: {\n \"<%= transformPattern %>\": <%- transformValue %>,\n },\n};";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { TsJestTransformer } from './legacy/ts-jest-transformer';
2
- import type { TsJestGlobalOptions } from './types';
2
+ import type { TsJestTransformerOptions } from './types';
3
3
  export * from './config';
4
4
  export * from './constants';
5
5
  export * from './legacy/compiler';
@@ -10,6 +10,6 @@ export * from './raw-compiler-options';
10
10
  export * from './utils';
11
11
  export * from './types';
12
12
  declare const _default: {
13
- createTransformer(tsJestConfig?: TsJestGlobalOptions): TsJestTransformer;
13
+ createTransformer(tsJestConfig?: TsJestTransformerOptions): TsJestTransformer;
14
14
  };
15
15
  export default _default;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateOutput = exports.SOURCE_MAPPING_PREFIX = void 0;
3
+ exports.SOURCE_MAPPING_PREFIX = void 0;
4
+ exports.updateOutput = updateOutput;
4
5
  var utils_1 = require("../../utils");
5
6
  /**
6
7
  * Rely on TypeScript compiled output generation which contains this prefix to point to sourcemap location.
@@ -19,7 +20,6 @@ function updateOutput(outputText, normalizedFileName, sourceMap) {
19
20
  }
20
21
  return outputText;
21
22
  }
22
- exports.updateOutput = updateOutput;
23
23
  /**
24
24
  * Update the source map contents for improved output.
25
25
  */
@@ -21,6 +21,7 @@ export declare class TsCompiler implements TsCompilerInstance {
21
21
  program: Program | undefined;
22
22
  constructor(configSet: ConfigSet, runtimeCacheFS: StringMap);
23
23
  getResolvedModules(fileContent: string, fileName: string, runtimeCacheFS: StringMap): string[];
24
+ private fixupCompilerOptionsForModuleKind;
24
25
  getCompiledOutput(fileContent: string, fileName: string, options: TsJestCompileOptions): CompiledOutput;
25
26
  protected _transpileOutput(fileContent: string, fileName: string): TranspileOutput;
26
27
  protected _makeTransformers(customTransformers: TsJestAstTransformer): CustomTransformers;
@@ -112,29 +112,31 @@ var TsCompiler = /** @class */ (function () {
112
112
  });
113
113
  return importedModulePaths;
114
114
  };
115
+ TsCompiler.prototype.fixupCompilerOptionsForModuleKind = function (compilerOptions, isEsm) {
116
+ var _a, _b;
117
+ if (!isEsm) {
118
+ var moduleKind_1 = (_a = compilerOptions.module) !== null && _a !== void 0 ? _a : this._ts.ModuleKind.CommonJS;
119
+ var moduleKindValue = [
120
+ this._ts.ModuleKind.CommonJS,
121
+ this._ts.ModuleKind.Node16,
122
+ this._ts.ModuleKind.NodeNext,
123
+ ].includes(moduleKind_1)
124
+ ? moduleKind_1
125
+ : this._ts.ModuleKind.CommonJS;
126
+ return __assign(__assign({}, compilerOptions), { module: moduleKindValue });
127
+ }
128
+ var moduleKind = (_b = compilerOptions.module) !== null && _b !== void 0 ? _b : this._ts.ModuleKind.ESNext;
129
+ var esModuleInterop = [this._ts.ModuleKind.Node16, this._ts.ModuleKind.NodeNext].includes(moduleKind)
130
+ ? true
131
+ : compilerOptions.esModuleInterop;
132
+ return __assign(__assign({}, compilerOptions), { module: moduleKind, esModuleInterop: esModuleInterop !== null && esModuleInterop !== void 0 ? esModuleInterop : false });
133
+ };
115
134
  TsCompiler.prototype.getCompiledOutput = function (fileContent, fileName, options) {
116
135
  var e_1, _a;
117
136
  var moduleKind = this._initialCompilerOptions.module;
118
- var esModuleInterop = this._initialCompilerOptions.esModuleInterop;
119
- var allowSyntheticDefaultImports = this._initialCompilerOptions.allowSyntheticDefaultImports;
120
137
  var currentModuleKind = this._compilerOptions.module;
121
138
  var isEsmMode = this.configSet.useESM && options.supportsStaticESM;
122
- if ((this.configSet.babelJestTransformer || (!this.configSet.babelJestTransformer && options.supportsStaticESM)) &&
123
- this.configSet.useESM) {
124
- moduleKind =
125
- !moduleKind ||
126
- (moduleKind &&
127
- ![this._ts.ModuleKind.ES2015, this._ts.ModuleKind.ES2020, this._ts.ModuleKind.ESNext].includes(moduleKind))
128
- ? this._ts.ModuleKind.ESNext
129
- : moduleKind;
130
- // Make sure `esModuleInterop` and `allowSyntheticDefaultImports` true to support import CJS into ESM
131
- esModuleInterop = true;
132
- allowSyntheticDefaultImports = true;
133
- }
134
- else {
135
- moduleKind = this._ts.ModuleKind.CommonJS;
136
- }
137
- this._compilerOptions = __assign(__assign({}, this._compilerOptions), { allowSyntheticDefaultImports: allowSyntheticDefaultImports, esModuleInterop: esModuleInterop, module: moduleKind });
139
+ this._compilerOptions = this.fixupCompilerOptionsForModuleKind(this._initialCompilerOptions, isEsmMode);
138
140
  if (this._languageService) {
139
141
  this._logger.debug({ fileName: fileName }, 'getCompiledOutput(): compiling using language service');
140
142
  // Must set memory cache before attempting to compile
@@ -107,8 +107,8 @@ exports.MY_DIGEST = (0, fs_1.readFileSync)((0, path_1.resolve)(__dirname, '../..
107
107
  * @internal
108
108
  */
109
109
  exports.IGNORE_DIAGNOSTIC_CODES = [
110
- 6059,
111
- 18002,
110
+ 6059, // "'rootDir' is expected to contain all source files."
111
+ 18002, // "The 'files' list in config file is empty."
112
112
  18003, // "No inputs were found in config file."
113
113
  ];
114
114
  /**
@@ -184,13 +184,13 @@ var ConfigSet = /** @class */ (function () {
184
184
  inlineSourceMap: false,
185
185
  // we don't want to create declaration files
186
186
  declaration: false,
187
- noEmit: false,
187
+ noEmit: false, // set to true will make compiler API not emit any compiled results.
188
188
  // else istanbul related will be dropped
189
189
  removeComments: false,
190
190
  // to clear out else it's buggy
191
191
  out: undefined,
192
192
  outFile: undefined,
193
- composite: undefined,
193
+ composite: undefined, // see https://github.com/TypeStrong/ts-node/pull/657/files
194
194
  declarationDir: undefined,
195
195
  declarationMap: undefined,
196
196
  emitDeclarationOnly: undefined,
@@ -419,8 +419,13 @@ var ConfigSet = /** @class */ (function () {
419
419
  ? this.compilerModule.ModuleKind.CommonJS
420
420
  : this.compilerModule.ModuleKind.ESNext;
421
421
  var moduleValue = (_c = finalOptions.module) !== null && _c !== void 0 ? _c : defaultModule;
422
+ var warningModulesForEsmInterop = [
423
+ this.compilerModule.ModuleKind.CommonJS,
424
+ this.compilerModule.ModuleKind.Node16,
425
+ this.compilerModule.ModuleKind.NodeNext,
426
+ ];
422
427
  if (!this.babelConfig &&
423
- moduleValue !== this.compilerModule.ModuleKind.CommonJS &&
428
+ !warningModulesForEsmInterop.includes(moduleValue) &&
424
429
  !(finalOptions.esModuleInterop || finalOptions.allowSyntheticDefaultImports)) {
425
430
  result.errors.push({
426
431
  code: 151001 /* DiagnosticCodes.ConfigModuleOption */,
@@ -430,11 +435,6 @@ var ConfigSet = /** @class */ (function () {
430
435
  start: undefined,
431
436
  length: undefined,
432
437
  });
433
- // at least enable synthetic default imports (except if it's set in the input config)
434
- /* istanbul ignore next (already covered in unit test) */
435
- if (!('allowSyntheticDefaultImports' in finalOptions)) {
436
- finalOptions.allowSyntheticDefaultImports = true;
437
- }
438
438
  }
439
439
  // Make sure when allowJs is enabled, outDir is required to have when using allowJs: true
440
440
  if (finalOptions.allowJs && !finalOptions.outDir) {
@@ -1,6 +1,6 @@
1
- import type { TsJestGlobalOptions } from '../types';
1
+ import type { TsJestTransformerOptions } from '../types';
2
2
  import { TsJestTransformer } from './ts-jest-transformer';
3
3
  declare const _default: {
4
- createTransformer: (tsJestConfig?: TsJestGlobalOptions) => TsJestTransformer;
4
+ createTransformer: (tsJestConfig?: TsJestTransformerOptions) => TsJestTransformer;
5
5
  };
6
6
  export default _default;
@@ -2,5 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var ts_jest_transformer_1 = require("./ts-jest-transformer");
4
4
  exports.default = {
5
- createTransformer: function (tsJestConfig) { return new ts_jest_transformer_1.TsJestTransformer(tsJestConfig); },
5
+ createTransformer: function (tsJestConfig) {
6
+ return new ts_jest_transformer_1.TsJestTransformer(tsJestConfig);
7
+ },
6
8
  };
@@ -2,13 +2,13 @@ import type { SyncTransformer, TransformedSource } from '@jest/transform';
2
2
  import type { CompilerInstance, TsJestTransformerOptions, TsJestTransformOptions } from '../types';
3
3
  import { ConfigSet } from './config/config-set';
4
4
  export declare class TsJestTransformer implements SyncTransformer<TsJestTransformerOptions> {
5
- private readonly tsJestConfig?;
5
+ private readonly transformerOptions?;
6
6
  private readonly _logger;
7
7
  protected _compiler: CompilerInstance;
8
8
  private _transformCfgStr;
9
9
  private _depGraphs;
10
10
  private _watchMode;
11
- constructor(tsJestConfig?: import("../types").TsJestGlobalOptions | undefined);
11
+ constructor(transformerOptions?: TsJestTransformerOptions | undefined);
12
12
  private _configsFor;
13
13
  protected _createConfigSet(config: TsJestTransformOptions['config'] | undefined): ConfigSet;
14
14
  protected _createCompiler(configSet: ConfigSet, cacheFS: Map<string, string>): void;
@@ -90,9 +90,9 @@ var config_set_1 = require("./config/config-set");
90
90
  * @internal
91
91
  */
92
92
  exports.CACHE_KEY_EL_SEPARATOR = '\x00';
93
- var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
94
- function TsJestTransformer(tsJestConfig) {
95
- this.tsJestConfig = tsJestConfig;
93
+ var TsJestTransformer = /** @class */ (function () {
94
+ function TsJestTransformer(transformerOptions) {
95
+ this.transformerOptions = transformerOptions;
96
96
  this._depGraphs = new Map();
97
97
  this._watchMode = false;
98
98
  this._logger = utils_1.rootLogger.child({ namespace: 'ts-jest-transformer' });
@@ -139,12 +139,12 @@ var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
139
139
  // create the new record in the index
140
140
  this._logger.info('no matching config-set found, creating a new one');
141
141
  if ((_a = config.globals) === null || _a === void 0 ? void 0 : _a['ts-jest']) {
142
- this._logger.warn("Define `ts-jest` config under `globals` is deprecated. Please do\ntransform: {\n <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],\n}," /* Deprecations.GlobalsTsJestConfigOption */);
142
+ this._logger.warn("Define `ts-jest` config under `globals` is deprecated. Please do\ntransform: {\n <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],\n},\nSee more at https://kulshekhar.github.io/ts-jest/docs/getting-started/presets#advanced" /* Deprecations.GlobalsTsJestConfigOption */);
143
143
  }
144
144
  var jestGlobalsConfig = (_b = config.globals) !== null && _b !== void 0 ? _b : {};
145
145
  var tsJestGlobalsConfig = (_c = jestGlobalsConfig['ts-jest']) !== null && _c !== void 0 ? _c : {};
146
- var migratedConfig = this.tsJestConfig
147
- ? __assign(__assign({}, config), { globals: __assign(__assign({}, jestGlobalsConfig), { 'ts-jest': __assign(__assign({}, tsJestGlobalsConfig), this.tsJestConfig) }) }) : config;
146
+ var migratedConfig = this.transformerOptions
147
+ ? __assign(__assign({}, config), { globals: __assign(__assign({}, jestGlobalsConfig), { 'ts-jest': __assign(__assign({}, tsJestGlobalsConfig), this.transformerOptions) }) }) : config;
148
148
  configSet = this._createConfigSet(migratedConfig);
149
149
  var jest_1 = __assign({}, migratedConfig);
150
150
  // we need to remove some stuff from jest config
@@ -192,9 +192,9 @@ var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
192
192
  return result;
193
193
  };
194
194
  TsJestTransformer.prototype.processAsync = function (sourceText, sourcePath, transformOptions) {
195
- var _a;
196
195
  return __awaiter(this, void 0, void 0, function () {
197
196
  var configs, shouldStringifyContent, babelJest, result, processWithTsResult;
197
+ var _a;
198
198
  return __generator(this, function (_b) {
199
199
  switch (_b.label) {
200
200
  case 0:
@@ -297,11 +297,10 @@ var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
297
297
  */
298
298
  TsJestTransformer.prototype.getCacheKey = function (fileContent, filePath, transformOptions) {
299
299
  var _a;
300
- var _b;
301
300
  var configs = this._configsFor(transformOptions);
302
301
  this._logger.debug({ fileName: filePath, transformOptions: transformOptions }, 'computing cache key for', filePath);
303
302
  // we do not instrument, ensure it is false all the time
304
- var supportsStaticESM = transformOptions.supportsStaticESM, instrument = (_a = transformOptions.instrument, _a === void 0 ? false : _a);
303
+ var supportsStaticESM = transformOptions.supportsStaticESM, _b = transformOptions.instrument, instrument = _b === void 0 ? false : _b;
305
304
  var constructingCacheKeyElements = [
306
305
  this._transformCfgStr,
307
306
  exports.CACHE_KEY_EL_SEPARATOR,
@@ -317,7 +316,7 @@ var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
317
316
  ];
318
317
  if (!configs.isolatedModules && configs.tsCacheDir) {
319
318
  var resolvedModuleNames = void 0;
320
- if (((_b = this._depGraphs.get(filePath)) === null || _b === void 0 ? void 0 : _b.fileContent) === fileContent) {
319
+ if (((_a = this._depGraphs.get(filePath)) === null || _a === void 0 ? void 0 : _a.fileContent) === fileContent) {
321
320
  this._logger.debug({ fileName: filePath, transformOptions: transformOptions }, 'getting resolved modules from disk caching or memory caching for', filePath);
322
321
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
323
322
  resolvedModuleNames = this._depGraphs
@@ -353,3 +352,4 @@ var TsJestTransformer = exports.TsJestTransformer = /** @class */ (function () {
353
352
  TsJestTransformer._cachedConfigSets = [];
354
353
  return TsJestTransformer;
355
354
  }());
355
+ exports.TsJestTransformer = TsJestTransformer;
@@ -1,3 +1,18 @@
1
1
  import type { Config } from '@jest/types';
2
- import type { TsJestPresets } from '../types';
2
+ import { DefaultEsmLegacyPreset, DefaultEsmPreset, DefaultEsmTransformOptions, DefaultLegacyPreset, DefaultPreset, DefaultTransformOptions, JsWithBabelEsmLegacyPreset, JsWithBabelEsmPreset, JsWithBabelEsmTransformOptions, JsWithBabelLegacyPreset, JsWithBabelPreset, JsWithBabelTransformerOptions, JsWithTsEsmLegacyPreset, JsWithTsEsmPreset, JsWithTsEsmTransformOptions, JsWithTsLegacyPreset, JsWithTsPreset, JsWithTsTransformOptions, TsJestPresets } from '../types';
3
+ /**
4
+ * @deprecated use other functions below instead
5
+ */
3
6
  export declare function createJestPreset(legacy?: boolean, allowJs?: boolean, extraOptions?: Config.InitialOptions): TsJestPresets;
7
+ export declare function createDefaultPreset(tsJestTransformOptions?: DefaultTransformOptions): DefaultPreset;
8
+ export declare function createDefaultLegacyPreset(tsJestTransformOptions?: DefaultTransformOptions): DefaultLegacyPreset;
9
+ export declare function createJsWithTsPreset(tsJestTransformOptions?: JsWithTsTransformOptions): JsWithTsPreset;
10
+ export declare function createJsWithTsLegacyPreset(tsJestTransformOptions?: JsWithTsTransformOptions): JsWithTsLegacyPreset;
11
+ export declare function createJsWithBabelPreset(tsJestTransformOptions?: JsWithBabelTransformerOptions): JsWithBabelPreset;
12
+ export declare function createJsWithBabelLegacyPreset(tsJestTransformOptions?: JsWithBabelTransformerOptions): JsWithBabelLegacyPreset;
13
+ export declare function createDefaultEsmPreset(tsJestTransformOptions?: DefaultEsmTransformOptions): DefaultEsmPreset;
14
+ export declare function createDefaultEsmLegacyPreset(tsJestTransformOptions?: DefaultEsmTransformOptions): DefaultEsmLegacyPreset;
15
+ export declare function createJsWithTsEsmPreset(tsJestTransformOptions?: JsWithTsEsmTransformOptions): JsWithTsEsmPreset;
16
+ export declare function createJsWithTsEsmLegacyPreset(tsJestTransformOptions?: JsWithTsEsmTransformOptions): JsWithTsEsmLegacyPreset;
17
+ export declare function createJsWithBabelEsmPreset(tsJestTransformOptions?: JsWithBabelEsmTransformOptions): JsWithBabelEsmPreset;
18
+ export declare function createJsWithBabelEsmLegacyPreset(tsJestTransformOptions?: JsWithBabelEsmTransformOptions): JsWithBabelEsmLegacyPreset;
@@ -10,10 +10,51 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
13
38
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.createJestPreset = void 0;
39
+ exports.createJestPreset = createJestPreset;
40
+ exports.createDefaultPreset = createDefaultPreset;
41
+ exports.createDefaultLegacyPreset = createDefaultLegacyPreset;
42
+ exports.createJsWithTsPreset = createJsWithTsPreset;
43
+ exports.createJsWithTsLegacyPreset = createJsWithTsLegacyPreset;
44
+ exports.createJsWithBabelPreset = createJsWithBabelPreset;
45
+ exports.createJsWithBabelLegacyPreset = createJsWithBabelLegacyPreset;
46
+ exports.createDefaultEsmPreset = createDefaultEsmPreset;
47
+ exports.createDefaultEsmLegacyPreset = createDefaultEsmLegacyPreset;
48
+ exports.createJsWithTsEsmPreset = createJsWithTsEsmPreset;
49
+ exports.createJsWithTsEsmLegacyPreset = createJsWithTsEsmLegacyPreset;
50
+ exports.createJsWithBabelEsmPreset = createJsWithBabelEsmPreset;
51
+ exports.createJsWithBabelEsmLegacyPreset = createJsWithBabelEsmLegacyPreset;
52
+ var constants_1 = require("../constants");
15
53
  var utils_1 = require("../utils");
16
54
  var logger = utils_1.rootLogger.child({ namespace: 'jest-preset' });
55
+ /**
56
+ * @deprecated use other functions below instead
57
+ */
17
58
  function createJestPreset(legacy, allowJs, extraOptions) {
18
59
  var _a;
19
60
  if (legacy === void 0) { legacy = false; }
@@ -27,4 +68,151 @@ function createJestPreset(legacy, allowJs, extraOptions) {
27
68
  ? ['ts-jest/legacy', tsJestTransformOptions]
28
69
  : ['ts-jest', tsJestTransformOptions], _a)) });
29
70
  }
30
- exports.createJestPreset = createJestPreset;
71
+ function createDefaultPreset(tsJestTransformOptions) {
72
+ var _a;
73
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
74
+ logger.debug('creating default CJS Jest preset');
75
+ return {
76
+ transform: (_a = {},
77
+ _a[constants_1.TS_TRANSFORM_PATTERN] = ['ts-jest', tsJestTransformOptions],
78
+ _a),
79
+ };
80
+ }
81
+ function createDefaultLegacyPreset(tsJestTransformOptions) {
82
+ var _a;
83
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
84
+ logger.debug('creating default CJS Jest preset');
85
+ return {
86
+ transform: (_a = {},
87
+ _a[constants_1.TS_TRANSFORM_PATTERN] = ['ts-jest/legacy', tsJestTransformOptions],
88
+ _a),
89
+ };
90
+ }
91
+ function createJsWithTsPreset(tsJestTransformOptions) {
92
+ var _a;
93
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
94
+ logger.debug('creating Js with Ts CJS Jest preset');
95
+ return {
96
+ transform: (_a = {},
97
+ _a[constants_1.TS_JS_TRANSFORM_PATTERN] = ['ts-jest', tsJestTransformOptions],
98
+ _a),
99
+ };
100
+ }
101
+ function createJsWithTsLegacyPreset(tsJestTransformOptions) {
102
+ var _a;
103
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
104
+ logger.debug('creating Js with Ts CJS Jest preset');
105
+ return {
106
+ transform: (_a = {},
107
+ _a[constants_1.TS_JS_TRANSFORM_PATTERN] = ['ts-jest/legacy', tsJestTransformOptions],
108
+ _a),
109
+ };
110
+ }
111
+ function createJsWithBabelPreset(tsJestTransformOptions) {
112
+ var _a;
113
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
114
+ logger.debug('creating JS with Babel CJS Jest preset');
115
+ return {
116
+ transform: (_a = {},
117
+ _a[constants_1.JS_TRANSFORM_PATTERN] = 'babel-jest',
118
+ _a[constants_1.TS_TRANSFORM_PATTERN] = ['ts-jest', tsJestTransformOptions],
119
+ _a),
120
+ };
121
+ }
122
+ function createJsWithBabelLegacyPreset(tsJestTransformOptions) {
123
+ var _a;
124
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
125
+ logger.debug('creating JS with Babel CJS Jest preset');
126
+ return {
127
+ transform: (_a = {},
128
+ _a[constants_1.JS_TRANSFORM_PATTERN] = 'babel-jest',
129
+ _a[constants_1.TS_TRANSFORM_PATTERN] = ['ts-jest/legacy', tsJestTransformOptions],
130
+ _a),
131
+ };
132
+ }
133
+ function createDefaultEsmPreset(tsJestTransformOptions) {
134
+ var _a;
135
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
136
+ logger.debug('creating default ESM Jest preset');
137
+ return {
138
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
139
+ transform: (_a = {},
140
+ _a[constants_1.ESM_TS_TRANSFORM_PATTERN] = [
141
+ 'ts-jest',
142
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
143
+ ],
144
+ _a),
145
+ };
146
+ }
147
+ function createDefaultEsmLegacyPreset(tsJestTransformOptions) {
148
+ var _a;
149
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
150
+ logger.debug('creating default ESM Jest preset');
151
+ return {
152
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
153
+ transform: (_a = {},
154
+ _a[constants_1.ESM_TS_TRANSFORM_PATTERN] = [
155
+ 'ts-jest/legacy',
156
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
157
+ ],
158
+ _a),
159
+ };
160
+ }
161
+ function createJsWithTsEsmPreset(tsJestTransformOptions) {
162
+ var _a;
163
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
164
+ logger.debug('creating Js with Ts ESM Jest preset');
165
+ return {
166
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
167
+ transform: (_a = {},
168
+ _a[constants_1.ESM_TS_JS_TRANSFORM_PATTERN] = [
169
+ 'ts-jest',
170
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
171
+ ],
172
+ _a),
173
+ };
174
+ }
175
+ function createJsWithTsEsmLegacyPreset(tsJestTransformOptions) {
176
+ var _a;
177
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
178
+ logger.debug('creating Js with Ts ESM Jest preset');
179
+ return {
180
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
181
+ transform: (_a = {},
182
+ _a[constants_1.ESM_TS_JS_TRANSFORM_PATTERN] = [
183
+ 'ts-jest/legacy',
184
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
185
+ ],
186
+ _a),
187
+ };
188
+ }
189
+ function createJsWithBabelEsmPreset(tsJestTransformOptions) {
190
+ var _a;
191
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
192
+ logger.debug('creating JS with Babel ESM Jest preset');
193
+ return {
194
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
195
+ transform: (_a = {},
196
+ _a[constants_1.ESM_JS_TRANSFORM_PATTERN] = 'babel-jest',
197
+ _a[constants_1.ESM_TS_TRANSFORM_PATTERN] = [
198
+ 'ts-jest',
199
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
200
+ ],
201
+ _a),
202
+ };
203
+ }
204
+ function createJsWithBabelEsmLegacyPreset(tsJestTransformOptions) {
205
+ var _a;
206
+ if (tsJestTransformOptions === void 0) { tsJestTransformOptions = {}; }
207
+ logger.debug('creating JS with Babel ESM Jest preset');
208
+ return {
209
+ extensionsToTreatAsEsm: __spreadArray(__spreadArray([], __read(constants_1.JS_EXT_TO_TREAT_AS_ESM), false), __read(constants_1.TS_EXT_TO_TREAT_AS_ESM), false),
210
+ transform: (_a = {},
211
+ _a[constants_1.ESM_JS_TRANSFORM_PATTERN] = 'babel-jest',
212
+ _a[constants_1.ESM_TS_TRANSFORM_PATTERN] = [
213
+ 'ts-jest/legacy',
214
+ __assign(__assign({}, tsJestTransformOptions), { useESM: true }),
215
+ ],
216
+ _a),
217
+ };
218
+ }