ts-jest 26.1.4-alpha.0 → 26.4.0
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/.ts-jest-digest +1 -1
- package/CHANGELOG.md +60 -0
- package/dist/cli/config/migrate.js +1 -1
- package/dist/cli/index.js +6 -3
- package/dist/compiler/instance.js +1 -1
- package/dist/compiler/language-service.js +3 -3
- package/dist/compiler/transpiler.js +2 -3
- package/dist/config/config-set.d.ts +2 -2
- package/dist/config/config-set.js +158 -146
- package/dist/config/paths-to-module-name-mapper.d.ts +1 -1
- package/dist/config/paths-to-module-name-mapper.js +6 -5
- package/dist/index.d.ts +5 -6
- package/dist/index.js +5 -5
- package/dist/{config → presets}/create-jest-preset.d.ts +3 -2
- package/dist/{config → presets}/create-jest-preset.js +1 -1
- package/dist/presets/index.d.ts +339 -0
- package/dist/presets/index.js +18 -0
- package/dist/transformers/hoist-jest.js +59 -10
- package/dist/transformers/index.js +20 -1
- package/dist/transformers/path-mapping.d.ts +3 -0
- package/dist/transformers/path-mapping.js +121 -0
- package/dist/ts-jest-transformer.d.ts +3 -3
- package/dist/ts-jest-transformer.js +5 -5
- package/dist/types.d.ts +12 -49
- package/dist/{util → utils}/backports.d.ts +0 -0
- package/dist/{util → utils}/backports.js +0 -0
- package/dist/{util → utils}/get-package-version.d.ts +0 -0
- package/dist/{util → utils}/get-package-version.js +0 -0
- package/dist/{util → utils}/importer.d.ts +0 -0
- package/dist/{util → utils}/importer.js +0 -0
- package/dist/{util/exported.d.ts → utils/index.d.ts} +1 -1
- package/dist/{util/exported.js → utils/index.js} +2 -1
- package/dist/{util → utils}/json.d.ts +0 -0
- package/dist/{util → utils}/json.js +0 -0
- package/dist/{util → utils}/jsonable-value.d.ts +0 -0
- package/dist/{util → utils}/jsonable-value.js +0 -0
- package/dist/{util → utils}/logger.d.ts +0 -0
- package/dist/{util → utils}/logger.js +0 -0
- package/dist/{util → utils}/memoize.d.ts +0 -0
- package/dist/{util → utils}/memoize.js +0 -0
- package/dist/{util → utils}/messages.d.ts +0 -0
- package/dist/{util → utils}/messages.js +0 -0
- package/dist/{util → utils}/normalize-slashes.d.ts +0 -0
- package/dist/{util → utils}/normalize-slashes.js +0 -0
- package/dist/{util → utils}/sha1.d.ts +0 -0
- package/dist/{util → utils}/sha1.js +0 -0
- package/dist/{util → utils}/testing.d.ts +0 -0
- package/dist/{util → utils}/testing.js +0 -0
- package/dist/{util → utils}/ts-error.d.ts +0 -0
- package/dist/{util → utils}/ts-error.js +1 -1
- package/dist/{util → utils}/version-checkers.d.ts +0 -0
- package/dist/{util → utils}/version-checkers.js +23 -20
- package/jest-preset.js +1 -1
- package/package.json +11 -11
- package/presets/index.js +1 -20
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -1
- package/jest-base.js +0 -12
- package/presets/create.js +0 -1
- package/presets/index.d.ts +0 -5
- package/tsconfig.spec.json +0 -4
package/.ts-jest-digest
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
19be30d21d2602243c1d945aa28bbcafd047e1fb
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,63 @@
|
|
|
1
|
+
# [26.4.0](https://github.com/kulshekhar/ts-jest/compare/v26.3.0...v26.4.0) (2020-09-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **utils:** `pathsToModuleNameMapper` resolve path mapping with `path.join` ([#1969](https://github.com/kulshekhar/ts-jest/issues/1969)) ([81fce4c](https://github.com/kulshekhar/ts-jest/commit/81fce4c090811a1cc071579a99dc193fb976b117)), closes [#1968](https://github.com/kulshekhar/ts-jest/issues/1968)
|
|
7
|
+
* set minimum `jest-util` version at 26.1.0 ([#1914](https://github.com/kulshekhar/ts-jest/issues/1914)) ([f00414c](https://github.com/kulshekhar/ts-jest/commit/f00414c6fbf8fc5413fd33d0a271c4a164c50d45)), closes [#1913](https://github.com/kulshekhar/ts-jest/issues/1913)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **config:** allow custom options in custom transformers ([#1966](https://github.com/kulshekhar/ts-jest/issues/1966)) ([1452ce4](https://github.com/kulshekhar/ts-jest/commit/1452ce4afcd36049cddd0db0861f1ac26b66f8c1)), closes [#1942](https://github.com/kulshekhar/ts-jest/issues/1942)
|
|
13
|
+
* **transformers:** support hoisting when using `@jest/globals` ([#1937](https://github.com/kulshekhar/ts-jest/issues/1937)) ([0e5be15](https://github.com/kulshekhar/ts-jest/commit/0e5be1597d755fed11869f67df05eeea54b3106f)), closes [#1593](https://github.com/kulshekhar/ts-jest/issues/1593)
|
|
14
|
+
* **transformers:** add `path-mapping` custom AST transformer ([#1927](https://github.com/kulshekhar/ts-jest/issues/1927)) ([3325186](https://github.com/kulshekhar/ts-jest/commit/3325186b6e55f41eb9bf7d81e092a358fc402b13))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Performance Improvements
|
|
18
|
+
|
|
19
|
+
* **compiler:** remove `createProgram` for `isolatedModules: true` to boost startup speed ([#1941](https://github.com/kulshekhar/ts-jest/issues/1941)) ([dd84534](https://github.com/kulshekhar/ts-jest/commit/dd8453401840862186f991e2d514e0d328a67987))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# [26.3.0](https://github.com/kulshekhar/ts-jest/compare/v26.2.0...v26.3.0) (2020-08-25)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **config:** compute cache key without reading `package.json` ([#1893](https://github.com/kulshekhar/ts-jest/issues/1893)) ([4875a58](https://github.com/kulshekhar/ts-jest/commit/4875a58345666e0407f9f5b3f95049ae2c9d056d)), closes [#1892](https://github.com/kulshekhar/ts-jest/issues/1892)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Features
|
|
32
|
+
|
|
33
|
+
* support TypeScript 4.0 ([#1889](https://github.com/kulshekhar/ts-jest/issues/1889)) ([f070e93](https://github.com/kulshekhar/ts-jest/commit/f070e9334a9cf31fa6f0d73b3f69d805be72601d))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# [26.2.0](https://github.com/kulshekhar/ts-jest/compare/v26.1.4...v26.2.0) (2020-08-11)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
* move `@types/jest` to dependencies to work well with yarn 2 ([#1859](https://github.com/kulshekhar/ts-jest/issues/1859)) ([5eb1389](https://github.com/kulshekhar/ts-jest/commit/5eb1389caaa0431e49ae6ca26b18e290208e0a0a)), closes [#1857](https://github.com/kulshekhar/ts-jest/issues/1857)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Features
|
|
46
|
+
|
|
47
|
+
* **config:** support `after` and `afterDeclarations` AST transformers ([#1831](https://github.com/kulshekhar/ts-jest/issues/1831)) ([be20a7c](https://github.com/kulshekhar/ts-jest/commit/be20a7c78c97027b33aec178da0f533095790871))
|
|
48
|
+
* allow opt-out version warning message by environment variable `TS_JEST_DISABLE_VER_CHECKER` ([#1821](https://github.com/kulshekhar/ts-jest/issues/1821)) ([e6b42fc](https://github.com/kulshekhar/ts-jest/commit/e6b42fcd7a75c7b14e636a45cda04de18a46908b)), closes [#1774](https://github.com/kulshekhar/ts-jest/issues/1774)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## [26.1.4](https://github.com/kulshekhar/ts-jest/compare/v26.1.3...v26.1.4) (2020-07-28)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* **compiler:** check if test file exists before doing type check ([#1827](https://github.com/kulshekhar/ts-jest/issues/1827)) ([cc89d5b](https://github.com/kulshekhar/ts-jest/commit/cc89d5b1f912975cd29114c5b3b0bf18426816da)), closes [#1506](https://github.com/kulshekhar/ts-jest/issues/1506)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
1
61
|
## [26.1.3](https://github.com/kulshekhar/ts-jest/compare/v26.1.2...v26.1.3) (2020-07-16)
|
|
2
62
|
|
|
3
63
|
|
|
@@ -62,7 +62,7 @@ var stableStringify = require("fast-json-stable-stringify");
|
|
|
62
62
|
var fs_1 = require("fs");
|
|
63
63
|
var json5_1 = require("json5");
|
|
64
64
|
var path_1 = require("path");
|
|
65
|
-
var backports_1 = require("../../
|
|
65
|
+
var backports_1 = require("../../utils/backports");
|
|
66
66
|
var presets_1 = require("../helpers/presets");
|
|
67
67
|
exports.run = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
68
|
var nullLogger, file, filePath, footNotes, name, isPackage, actualConfig, migratedConfig, presetName, preset, jsTransformers, jsWithTs, jsWithBabel, presetValue, migratedValue, presetValue, migratedValue, before, after, stringify, prefix;
|
package/dist/cli/index.js
CHANGED
|
@@ -35,19 +35,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
38
41
|
var _a;
|
|
39
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
43
|
exports.processArgv = void 0;
|
|
41
44
|
var bs_logger_1 = require("bs-logger");
|
|
42
|
-
var
|
|
43
|
-
var logger_1 = require("../
|
|
45
|
+
var yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
46
|
+
var logger_1 = require("../utils/logger");
|
|
44
47
|
var VALID_COMMANDS = ['help', 'config:migrate', 'config:init'];
|
|
45
48
|
var logger = logger_1.rootLogger.child((_a = {}, _a[bs_logger_1.LogContexts.namespace] = 'cli', _a[bs_logger_1.LogContexts.application] = 'ts-jest', _a));
|
|
46
49
|
function cli(args) {
|
|
47
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
51
|
var parsedArgv, command, isHelp, _a, run, help, cmd;
|
|
49
52
|
return __generator(this, function (_b) {
|
|
50
|
-
parsedArgv =
|
|
53
|
+
parsedArgv = yargs_parser_1.default(args, {
|
|
51
54
|
boolean: ['dry-run', 'jest-preset', 'allow-js', 'diff', 'babel', 'force', 'jsdom'],
|
|
52
55
|
string: ['tsconfig', 'js'],
|
|
53
56
|
count: ['verbose'],
|
|
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
19
19
|
exports.createCompilerInstance = void 0;
|
|
20
20
|
var language_service_1 = require("./language-service");
|
|
21
21
|
var transpiler_1 = require("./transpiler");
|
|
22
|
-
var json_1 = require("../
|
|
22
|
+
var json_1 = require("../utils/json");
|
|
23
23
|
var SOURCE_MAPPING_PREFIX = 'sourceMappingURL=';
|
|
24
24
|
function updateOutput(outputText, normalizedFileName, sourceMap) {
|
|
25
25
|
var base64Map = Buffer.from(updateSourceMap(sourceMap, normalizedFileName), 'utf8').toString('base64');
|
|
@@ -85,9 +85,9 @@ var path_1 = require("path");
|
|
|
85
85
|
var memoize = require("lodash.memoize");
|
|
86
86
|
var mkdirp = require("mkdirp");
|
|
87
87
|
var constants_1 = require("../constants");
|
|
88
|
-
var messages_1 = require("../
|
|
89
|
-
var json_1 = require("../
|
|
90
|
-
var sha1_1 = require("../
|
|
88
|
+
var messages_1 = require("../utils/messages");
|
|
89
|
+
var json_1 = require("../utils/json");
|
|
90
|
+
var sha1_1 = require("../utils/sha1");
|
|
91
91
|
function doTypeChecking(configs, diagnosedFiles, fileName, service, logger) {
|
|
92
92
|
if (configs.shouldReportDiagnostic(fileName)) {
|
|
93
93
|
var diagnostics = service.getSemanticDiagnostics(fileName).concat(service.getSyntacticDiagnostics(fileName));
|
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initializeTranspilerInstance = void 0;
|
|
4
4
|
exports.initializeTranspilerInstance = function (configs, logger) {
|
|
5
5
|
logger.debug('initializeTranspilerInstance(): create typescript compiler');
|
|
6
|
-
var
|
|
6
|
+
var options = configs.parsedTsConfig.options;
|
|
7
7
|
var ts = configs.compilerModule;
|
|
8
|
-
var program = ts.createProgram(fileNames, options);
|
|
9
8
|
return {
|
|
10
9
|
compileFn: function (code, fileName) {
|
|
11
10
|
logger.debug({ fileName: fileName }, 'compileFn(): compiling as isolated module');
|
|
@@ -20,6 +19,6 @@ exports.initializeTranspilerInstance = function (configs, logger) {
|
|
|
20
19
|
}
|
|
21
20
|
return [result.outputText, result.sourceMapText];
|
|
22
21
|
},
|
|
23
|
-
program:
|
|
22
|
+
program: undefined,
|
|
24
23
|
};
|
|
25
24
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Config } from '@jest/types';
|
|
1
|
+
import type { Config } from '@jest/types';
|
|
2
2
|
import { Logger } from 'bs-logger';
|
|
3
|
-
import { TsCompiler, TsJestGlobalOptions, TTypeScript } from '../types';
|
|
3
|
+
import type { TsCompiler, TsJestGlobalOptions, TTypeScript } from '../types';
|
|
4
4
|
export declare class ConfigSet {
|
|
5
5
|
readonly parentOptions?: TsJestGlobalOptions | undefined;
|
|
6
6
|
get versions(): Record<string, string>;
|
|
@@ -49,7 +49,7 @@ var __spread = (this && this.__spread) || function () {
|
|
|
49
49
|
};
|
|
50
50
|
var _a;
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
-
exports.ConfigSet = exports.TS_JEST_OUT_DIR = exports.IGNORE_DIAGNOSTIC_CODES =
|
|
52
|
+
exports.ConfigSet = exports.TS_JEST_OUT_DIR = exports.IGNORE_DIAGNOSTIC_CODES = void 0;
|
|
53
53
|
var bs_logger_1 = require("bs-logger");
|
|
54
54
|
var fs_1 = require("fs");
|
|
55
55
|
var jest_util_1 = require("jest-util");
|
|
@@ -60,19 +60,18 @@ var __1 = require("..");
|
|
|
60
60
|
var instance_1 = require("../compiler/instance");
|
|
61
61
|
var constants_1 = require("../constants");
|
|
62
62
|
var transformers_1 = require("../transformers");
|
|
63
|
-
var backports_1 = require("../
|
|
64
|
-
var get_package_version_1 = require("../
|
|
65
|
-
var importer_1 = require("../
|
|
66
|
-
var json_1 = require("../
|
|
67
|
-
var jsonable_value_1 = require("../
|
|
68
|
-
var logger_1 = require("../
|
|
69
|
-
var memoize_1 = require("../
|
|
70
|
-
var messages_1 = require("../
|
|
71
|
-
var normalize_slashes_1 = require("../
|
|
72
|
-
var sha1_1 = require("../
|
|
73
|
-
var ts_error_1 = require("../
|
|
63
|
+
var backports_1 = require("../utils/backports");
|
|
64
|
+
var get_package_version_1 = require("../utils/get-package-version");
|
|
65
|
+
var importer_1 = require("../utils/importer");
|
|
66
|
+
var json_1 = require("../utils/json");
|
|
67
|
+
var jsonable_value_1 = require("../utils/jsonable-value");
|
|
68
|
+
var logger_1 = require("../utils/logger");
|
|
69
|
+
var memoize_1 = require("../utils/memoize");
|
|
70
|
+
var messages_1 = require("../utils/messages");
|
|
71
|
+
var normalize_slashes_1 = require("../utils/normalize-slashes");
|
|
72
|
+
var sha1_1 = require("../utils/sha1");
|
|
73
|
+
var ts_error_1 = require("../utils/ts-error");
|
|
74
74
|
var logger = logger_1.rootLogger.child({ namespace: 'config' });
|
|
75
|
-
exports.MATCH_NOTHING = /a^/;
|
|
76
75
|
exports.IGNORE_DIAGNOSTIC_CODES = [
|
|
77
76
|
6059,
|
|
78
77
|
18002,
|
|
@@ -88,24 +87,14 @@ var TARGET_TO_VERSION_MAPPING = (_a = {},
|
|
|
88
87
|
var normalizeRegex = function (pattern) {
|
|
89
88
|
return pattern ? (typeof pattern === 'string' ? pattern : pattern.source) : undefined;
|
|
90
89
|
};
|
|
91
|
-
var toDiagnosticCode = function (code) {
|
|
92
|
-
return code ? parseInt(("" + code).trim().replace(/^TS/, ''), 10) || undefined : undefined;
|
|
93
|
-
};
|
|
90
|
+
var toDiagnosticCode = function (code) { var _a; return code ? (_a = parseInt(("" + code).trim().replace(/^TS/, ''), 10)) !== null && _a !== void 0 ? _a : undefined : undefined; };
|
|
94
91
|
var toDiagnosticCodeList = function (items, into) {
|
|
95
92
|
var e_1, _a;
|
|
96
93
|
if (into === void 0) { into = []; }
|
|
97
|
-
if (!Array.isArray(items))
|
|
98
|
-
items = [items];
|
|
99
94
|
try {
|
|
100
95
|
for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
|
|
101
96
|
var item = items_1_1.value;
|
|
102
|
-
if (
|
|
103
|
-
continue;
|
|
104
|
-
if (Array.isArray(item)) {
|
|
105
|
-
toDiagnosticCodeList(item, into);
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
|
-
else if (typeof item === 'string') {
|
|
97
|
+
if (typeof item === 'string') {
|
|
109
98
|
var children = item.trim().split(/\s*,\s*/g);
|
|
110
99
|
if (children.length > 1) {
|
|
111
100
|
toDiagnosticCodeList(children, into);
|
|
@@ -136,57 +125,12 @@ var ConfigSet = (function () {
|
|
|
136
125
|
this._jestConfig = jestConfig;
|
|
137
126
|
this.logger = parentLogger ? parentLogger.child((_a = {}, _a[bs_logger_1.LogContexts.namespace] = 'config', _a)) : logger;
|
|
138
127
|
}
|
|
139
|
-
Object.defineProperty(ConfigSet.prototype, "projectPackageJson", {
|
|
140
|
-
get: function () {
|
|
141
|
-
var packageJson = this.tsJest.packageJson;
|
|
142
|
-
if (packageJson && packageJson.kind === 'inline') {
|
|
143
|
-
return packageJson.value;
|
|
144
|
-
}
|
|
145
|
-
if (packageJson && packageJson.kind === 'file' && packageJson.value) {
|
|
146
|
-
var path = this.resolvePath(packageJson.value);
|
|
147
|
-
if (fs_1.existsSync(path)) {
|
|
148
|
-
return require(path);
|
|
149
|
-
}
|
|
150
|
-
this.logger.warn("Unable to find the root of the project where ts-jest has been installed.");
|
|
151
|
-
return {};
|
|
152
|
-
}
|
|
153
|
-
var tsJestRoot = path_1.resolve(__dirname, '..', '..');
|
|
154
|
-
var pkgPath = path_1.resolve(tsJestRoot, '..', '..', 'package.json');
|
|
155
|
-
if (fs_1.existsSync(pkgPath)) {
|
|
156
|
-
return require(pkgPath);
|
|
157
|
-
}
|
|
158
|
-
if (fs_1.realpathSync(this.rootDir) === fs_1.realpathSync(tsJestRoot)) {
|
|
159
|
-
pkgPath = path_1.resolve(tsJestRoot, 'package.json');
|
|
160
|
-
if (fs_1.existsSync(pkgPath)) {
|
|
161
|
-
return require(pkgPath);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
this.logger.warn("Unable to find the root of the project where ts-jest has been installed.");
|
|
165
|
-
return {};
|
|
166
|
-
},
|
|
167
|
-
enumerable: false,
|
|
168
|
-
configurable: true
|
|
169
|
-
});
|
|
170
|
-
Object.defineProperty(ConfigSet.prototype, "projectDependencies", {
|
|
171
|
-
get: function () {
|
|
172
|
-
var pkg = this.projectPackageJson;
|
|
173
|
-
var names = Object.keys(__assign(__assign(__assign(__assign({}, pkg.optionalDependencies), pkg.peerDependencies), pkg.devDependencies), pkg.dependencies));
|
|
174
|
-
return names.reduce(function (map, name) {
|
|
175
|
-
var version = get_package_version_1.getPackageVersion(name);
|
|
176
|
-
if (version)
|
|
177
|
-
map[name] = version;
|
|
178
|
-
return map;
|
|
179
|
-
}, {});
|
|
180
|
-
},
|
|
181
|
-
enumerable: false,
|
|
182
|
-
configurable: true
|
|
183
|
-
});
|
|
184
128
|
Object.defineProperty(ConfigSet.prototype, "jest", {
|
|
185
129
|
get: function () {
|
|
186
130
|
var _a;
|
|
187
131
|
var config = backports_1.backportJestConfig(this.logger, this._jestConfig);
|
|
188
132
|
if (this.parentOptions) {
|
|
189
|
-
var globals = (_a = config.globals) !== null && _a !== void 0 ? _a :
|
|
133
|
+
var globals = (_a = config.globals) !== null && _a !== void 0 ? _a : Object.create(null);
|
|
190
134
|
globals['ts-jest'] = __assign(__assign({}, this.parentOptions), globals['ts-jest']);
|
|
191
135
|
}
|
|
192
136
|
this.logger.debug({ jestConfig: config }, 'normalized jest config');
|
|
@@ -215,77 +159,78 @@ var ConfigSet = (function () {
|
|
|
215
159
|
Object.defineProperty(ConfigSet.prototype, "tsJest", {
|
|
216
160
|
get: function () {
|
|
217
161
|
var _this = this;
|
|
218
|
-
var _a, _b, _c;
|
|
162
|
+
var _a, _b, _c, _d, _e, _f;
|
|
219
163
|
var parsedConfig = this.jest;
|
|
220
|
-
var
|
|
164
|
+
var _g = parsedConfig.globals, globals = _g === void 0 ? {} : _g;
|
|
221
165
|
var options = __assign({}, globals['ts-jest']);
|
|
222
|
-
var
|
|
223
|
-
var
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
166
|
+
var tsConfig = this.getInlineOrFileConfigOpt((_b = (_a = options.tsConfig) !== null && _a !== void 0 ? _a : options.tsconfig) !== null && _b !== void 0 ? _b : true);
|
|
167
|
+
var packageJson = this.getInlineOrFileConfigOpt((_c = options.packageJson) !== null && _c !== void 0 ? _c : true);
|
|
168
|
+
var transformers = Object.create(null);
|
|
169
|
+
var astTransformers = options.astTransformers;
|
|
170
|
+
if (astTransformers) {
|
|
171
|
+
if (Array.isArray(astTransformers)) {
|
|
172
|
+
this.logger.warn("The configuration for astTransformers as string[] is deprecated and will be removed in ts-jest 27. Please define your custom AST transformers in a form of an object. More information you can check online documentation https://kulshekhar.github.io/ts-jest/user/config/astTransformers");
|
|
173
|
+
transformers = {
|
|
174
|
+
before: astTransformers.map(function (transformerPath) { return ({
|
|
175
|
+
path: _this.resolvePath(transformerPath, { nodeResolve: true }),
|
|
176
|
+
}); }),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
if (astTransformers.before) {
|
|
181
|
+
transformers = {
|
|
182
|
+
before: astTransformers.before.map(function (transformer) {
|
|
183
|
+
return typeof transformer === 'string'
|
|
184
|
+
? {
|
|
185
|
+
path: _this.resolvePath(transformer, { nodeResolve: true }),
|
|
186
|
+
}
|
|
187
|
+
: __assign(__assign({}, transformer), { path: _this.resolvePath(transformer.path, { nodeResolve: true }) });
|
|
188
|
+
}),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (astTransformers.after) {
|
|
192
|
+
transformers = __assign(__assign({}, transformers), { after: astTransformers.after.map(function (transformer) {
|
|
193
|
+
return typeof transformer === 'string'
|
|
194
|
+
? {
|
|
195
|
+
path: _this.resolvePath(transformer, { nodeResolve: true }),
|
|
196
|
+
}
|
|
197
|
+
: __assign(__assign({}, transformer), { path: _this.resolvePath(transformer.path, { nodeResolve: true }) });
|
|
198
|
+
}) });
|
|
199
|
+
}
|
|
200
|
+
if (astTransformers.afterDeclarations) {
|
|
201
|
+
transformers = __assign(__assign({}, transformers), { afterDeclarations: astTransformers.afterDeclarations.map(function (transformer) {
|
|
202
|
+
return typeof transformer === 'string'
|
|
203
|
+
? {
|
|
204
|
+
path: _this.resolvePath(transformer, { nodeResolve: true }),
|
|
205
|
+
}
|
|
206
|
+
: __assign(__assign({}, transformer), { path: _this.resolvePath(transformer.path, { nodeResolve: true }) });
|
|
207
|
+
}) });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
264
210
|
}
|
|
211
|
+
var babelConfig = this.getInlineOrFileConfigOpt(options.babelConfig);
|
|
265
212
|
var diagnostics;
|
|
266
|
-
var
|
|
267
|
-
var ignoreList =
|
|
268
|
-
if (diagnosticsOpt ===
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
213
|
+
var diagnosticsOpt = (_d = options.diagnostics) !== null && _d !== void 0 ? _d : true;
|
|
214
|
+
var ignoreList = __spread(exports.IGNORE_DIAGNOSTIC_CODES);
|
|
215
|
+
if (typeof diagnosticsOpt === 'object') {
|
|
216
|
+
var ignoreCodes = diagnosticsOpt.ignoreCodes;
|
|
217
|
+
if (ignoreCodes) {
|
|
218
|
+
Array.isArray(ignoreCodes) ? ignoreList.push.apply(ignoreList, __spread(ignoreCodes)) : ignoreList.push(ignoreCodes);
|
|
219
|
+
}
|
|
272
220
|
diagnostics = {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
221
|
+
pretty: (_e = diagnosticsOpt.pretty) !== null && _e !== void 0 ? _e : true,
|
|
222
|
+
ignoreCodes: toDiagnosticCodeList(ignoreList),
|
|
223
|
+
pathRegex: normalizeRegex(diagnosticsOpt.pathRegex),
|
|
224
|
+
throws: !diagnosticsOpt.warnOnly,
|
|
277
225
|
};
|
|
278
226
|
}
|
|
279
227
|
else {
|
|
280
|
-
ignoreList.push(diagnosticsOpt.ignoreCodes);
|
|
281
228
|
diagnostics = {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
throws: !diagnosticsOpt.warnOnly,
|
|
229
|
+
ignoreCodes: diagnosticsOpt ? toDiagnosticCodeList(ignoreList) : [],
|
|
230
|
+
pretty: true,
|
|
231
|
+
throws: diagnosticsOpt,
|
|
286
232
|
};
|
|
287
233
|
}
|
|
288
|
-
diagnostics.ignoreCodes = toDiagnosticCodeList(ignoreList);
|
|
289
234
|
var stringifyContentPathRegex = normalizeRegex(options.stringifyContentPathRegex);
|
|
290
235
|
var res = {
|
|
291
236
|
tsConfig: tsConfig,
|
|
@@ -293,7 +238,7 @@ var ConfigSet = (function () {
|
|
|
293
238
|
babelConfig: babelConfig,
|
|
294
239
|
diagnostics: diagnostics,
|
|
295
240
|
isolatedModules: !!options.isolatedModules,
|
|
296
|
-
compiler: (
|
|
241
|
+
compiler: (_f = options.compiler) !== null && _f !== void 0 ? _f : 'typescript',
|
|
297
242
|
transformers: transformers,
|
|
298
243
|
stringifyContentPathRegex: stringifyContentPathRegex,
|
|
299
244
|
};
|
|
@@ -411,7 +356,51 @@ var ConfigSet = (function () {
|
|
|
411
356
|
});
|
|
412
357
|
Object.defineProperty(ConfigSet.prototype, "astTransformers", {
|
|
413
358
|
get: function () {
|
|
414
|
-
|
|
359
|
+
var astTransformers = {
|
|
360
|
+
before: __spread(transformers_1.internals.map(function (transformer) { return ({
|
|
361
|
+
transformModule: transformer,
|
|
362
|
+
}); })),
|
|
363
|
+
};
|
|
364
|
+
var transformers = this.tsJest.transformers;
|
|
365
|
+
if (transformers.before) {
|
|
366
|
+
astTransformers = {
|
|
367
|
+
before: __spread(astTransformers.before, transformers.before.map(function (transformer) {
|
|
368
|
+
return typeof transformer === 'string'
|
|
369
|
+
? {
|
|
370
|
+
transformModule: require(transformer),
|
|
371
|
+
}
|
|
372
|
+
: {
|
|
373
|
+
transformModule: require(transformer.path),
|
|
374
|
+
options: transformer.options,
|
|
375
|
+
};
|
|
376
|
+
})),
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
if (transformers.after) {
|
|
380
|
+
astTransformers = __assign(__assign({}, astTransformers), { after: transformers.after.map(function (transformer) {
|
|
381
|
+
return typeof transformer === 'string'
|
|
382
|
+
? {
|
|
383
|
+
transformModule: require(transformer),
|
|
384
|
+
}
|
|
385
|
+
: {
|
|
386
|
+
transformModule: require(transformer.path),
|
|
387
|
+
options: transformer.options,
|
|
388
|
+
};
|
|
389
|
+
}) });
|
|
390
|
+
}
|
|
391
|
+
if (transformers.afterDeclarations) {
|
|
392
|
+
astTransformers = __assign(__assign({}, astTransformers), { afterDeclarations: transformers.afterDeclarations.map(function (transformer) {
|
|
393
|
+
return typeof transformer === 'string'
|
|
394
|
+
? {
|
|
395
|
+
transformModule: require(transformer),
|
|
396
|
+
}
|
|
397
|
+
: {
|
|
398
|
+
transformModule: require(transformer.path),
|
|
399
|
+
options: transformer.options,
|
|
400
|
+
};
|
|
401
|
+
}) });
|
|
402
|
+
}
|
|
403
|
+
return astTransformers;
|
|
415
404
|
},
|
|
416
405
|
enumerable: false,
|
|
417
406
|
configurable: true
|
|
@@ -419,9 +408,18 @@ var ConfigSet = (function () {
|
|
|
419
408
|
Object.defineProperty(ConfigSet.prototype, "tsCustomTransformers", {
|
|
420
409
|
get: function () {
|
|
421
410
|
var _this = this;
|
|
422
|
-
|
|
423
|
-
before: this.astTransformers.map(function (t) { return t.factory(_this); }),
|
|
411
|
+
var customTransformers = {
|
|
412
|
+
before: this.astTransformers.before.map(function (t) { return t.transformModule.factory(_this, t.options); }),
|
|
424
413
|
};
|
|
414
|
+
if (this.astTransformers.after) {
|
|
415
|
+
customTransformers = __assign(__assign({}, customTransformers), { after: this.astTransformers.after.map(function (t) { return t.transformModule.factory(_this, t.options); }) });
|
|
416
|
+
}
|
|
417
|
+
if (this.astTransformers.afterDeclarations) {
|
|
418
|
+
customTransformers = __assign(__assign({}, customTransformers), { afterDeclarations: this.astTransformers.afterDeclarations.map(function (t) {
|
|
419
|
+
return t.transformModule.factory(_this, t.options);
|
|
420
|
+
}) });
|
|
421
|
+
}
|
|
422
|
+
return customTransformers;
|
|
425
423
|
},
|
|
426
424
|
enumerable: false,
|
|
427
425
|
configurable: true
|
|
@@ -514,7 +512,6 @@ var ConfigSet = (function () {
|
|
|
514
512
|
var cacheSuffix = sha1_1.sha1(json_1.stringify({
|
|
515
513
|
version: this.compilerModule.version,
|
|
516
514
|
digest: this.tsJestDigest,
|
|
517
|
-
dependencies: this.projectDependencies,
|
|
518
515
|
compiler: this.tsJest.compiler,
|
|
519
516
|
compilerOptions: this.parsedTsConfig.options,
|
|
520
517
|
isolatedModules: this.tsJest.isolatedModules,
|
|
@@ -578,14 +575,17 @@ var ConfigSet = (function () {
|
|
|
578
575
|
get: function () {
|
|
579
576
|
var jest = __assign({}, this.jest);
|
|
580
577
|
var globals = (jest.globals = __assign({}, jest.globals));
|
|
581
|
-
|
|
582
|
-
|
|
578
|
+
jest.name = undefined;
|
|
579
|
+
jest.cacheDirectory = undefined;
|
|
583
580
|
delete globals['ts-jest'];
|
|
584
581
|
return new jsonable_value_1.JsonableValue({
|
|
585
|
-
versions: this.versions,
|
|
586
|
-
projectDepVersions: this.projectDependencies,
|
|
587
582
|
digest: this.tsJestDigest,
|
|
588
|
-
transformers: this.astTransformers
|
|
583
|
+
transformers: Object.values(this.astTransformers)
|
|
584
|
+
.reduce(function (acc, val) { return acc.concat(val); }, [])
|
|
585
|
+
.map(function (_a) {
|
|
586
|
+
var transformModule = _a.transformModule;
|
|
587
|
+
return transformModule.name + "@" + transformModule.version;
|
|
588
|
+
}),
|
|
589
589
|
jest: jest,
|
|
590
590
|
tsJest: this.tsJest,
|
|
591
591
|
babel: this.babel,
|
|
@@ -617,6 +617,21 @@ var ConfigSet = (function () {
|
|
|
617
617
|
length: length,
|
|
618
618
|
};
|
|
619
619
|
};
|
|
620
|
+
ConfigSet.prototype.getInlineOrFileConfigOpt = function (configOpt) {
|
|
621
|
+
if (typeof configOpt === 'string' || configOpt === true) {
|
|
622
|
+
return {
|
|
623
|
+
kind: 'file',
|
|
624
|
+
value: typeof configOpt === 'string' ? this.resolvePath(configOpt) : undefined,
|
|
625
|
+
};
|
|
626
|
+
}
|
|
627
|
+
else if (typeof configOpt === 'object') {
|
|
628
|
+
return {
|
|
629
|
+
kind: 'inline',
|
|
630
|
+
value: configOpt,
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
return;
|
|
634
|
+
};
|
|
620
635
|
ConfigSet.prototype.readTsConfig = function (compilerOptions, resolvedConfigFile, noProject) {
|
|
621
636
|
var e_2, _a;
|
|
622
637
|
var _b;
|
|
@@ -732,13 +747,10 @@ var ConfigSet = (function () {
|
|
|
732
747
|
};
|
|
733
748
|
__decorate([
|
|
734
749
|
memoize_1.Memoize()
|
|
735
|
-
], ConfigSet.prototype, "
|
|
736
|
-
__decorate([
|
|
737
|
-
memoize_1.Memoize()
|
|
738
|
-
], ConfigSet.prototype, "projectDependencies", null);
|
|
750
|
+
], ConfigSet.prototype, "jest", null);
|
|
739
751
|
__decorate([
|
|
740
752
|
memoize_1.Memoize()
|
|
741
|
-
], ConfigSet.prototype, "
|
|
753
|
+
], ConfigSet.prototype, "isTestFile", null);
|
|
742
754
|
__decorate([
|
|
743
755
|
memoize_1.Memoize()
|
|
744
756
|
], ConfigSet.prototype, "tsJest", null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config } from '@jest/types';
|
|
1
|
+
import type { Config } from '@jest/types';
|
|
2
2
|
declare type JestPathMapping = Config.InitialOptions['moduleNameMapper'];
|
|
3
3
|
export declare const pathsToModuleNameMapper: (mapping: import("typescript").MapLike<string[]>, { prefix }?: {
|
|
4
4
|
prefix?: string | undefined;
|
|
@@ -14,8 +14,10 @@ var _a;
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.pathsToModuleNameMapper = void 0;
|
|
16
16
|
var bs_logger_1 = require("bs-logger");
|
|
17
|
-
var logger_1 = require("../
|
|
18
|
-
var messages_1 = require("../
|
|
17
|
+
var logger_1 = require("../utils/logger");
|
|
18
|
+
var messages_1 = require("../utils/messages");
|
|
19
|
+
var path_1 = require("path");
|
|
20
|
+
var normalize_slashes_1 = require("../utils/normalize-slashes");
|
|
19
21
|
var escapeRegex = function (str) { return str.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&'); };
|
|
20
22
|
var logger = logger_1.rootLogger.child((_a = {}, _a[bs_logger_1.LogContexts.namespace] = 'path-mapper', _a));
|
|
21
23
|
exports.pathsToModuleNameMapper = function (mapping, _a) {
|
|
@@ -33,18 +35,17 @@ exports.pathsToModuleNameMapper = function (mapping, _a) {
|
|
|
33
35
|
}
|
|
34
36
|
var segments = fromPath.split(/\*/g);
|
|
35
37
|
if (segments.length === 1) {
|
|
36
|
-
var paths = toPaths.map(function (target) { return
|
|
38
|
+
var paths = toPaths.map(function (target) { return normalize_slashes_1.normalizeSlashes(path_1.join(prefix, target)); });
|
|
37
39
|
pattern = "^" + escapeRegex(fromPath) + "$";
|
|
38
40
|
jestMap[pattern] = paths.length === 1 ? paths[0] : paths;
|
|
39
41
|
}
|
|
40
42
|
else if (segments.length === 2) {
|
|
41
|
-
var paths = toPaths.map(function (target) { return
|
|
43
|
+
var paths = toPaths.map(function (target) { return normalize_slashes_1.normalizeSlashes(path_1.join(prefix, target.replace(/\*/g, '$1'))); });
|
|
42
44
|
pattern = "^" + escapeRegex(segments[0]) + "(.*)" + escapeRegex(segments[1]) + "$";
|
|
43
45
|
jestMap[pattern] = paths.length === 1 ? paths[0] : paths;
|
|
44
46
|
}
|
|
45
47
|
else {
|
|
46
48
|
logger.warn(messages_1.interpolate("Not mapping \"{{path}}\" because it has more than one star (`*`).", { path: fromPath }));
|
|
47
|
-
continue;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}
|