ts-jest 23.1.3 → 23.1.4
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/.travis.yml +3 -0
- package/README.md +15 -3
- package/dist/preprocess.js +4 -2
- package/dist/utils/get-babel-rc.js +3 -2
- package/dist/utils/run-ts-diagnostics.js +2 -2
- package/package.json +5 -3
- package/yarn.lock +24 -6
package/.travis.yml
CHANGED
|
@@ -17,3 +17,6 @@ script:
|
|
|
17
17
|
- yarn test
|
|
18
18
|
after_script:
|
|
19
19
|
# - greenkeeper-lockfile-upload
|
|
20
|
+
notifications:
|
|
21
|
+
slack:
|
|
22
|
+
secure: "Rj32dEDWEbNrwn0b+dFpUPPMg20IRScOA1eXUXaNY1TyluSd2rIRN1uwH0tOTglDieExeNOhfsc5iqxqSRomwelB3JzVwAJqv+IzFU3U0JlmntIZoxijiPr9Xxwu+ZB7nO1NSjHChyG/pVuKEYYYhmtHoIuI6D4hR2y4PRSPsKc5qOx4B7mfAzYio8JRNBVDe7B3CSWbXBnQ31pqjNhpNEiCkZyUzE9CdJnsr0GFUkZ6LlzlXMhXVXCihzlirSKKCEDj/A3O2jbfULqglKKHCwa/WVtObBCPOjp8Kk0sw0DSwU8GZPBv76iwPDgLCC5M45zM7vW0QhaLKtV5/tXIApuf2dOcOM3Q5wirfY4KetaNCpMqBIfBzo17h4pzWK/is6WyEYHyZmN9+mkBSYvWSM5s9vGubWKDnWAA2d6mtIgM6xAHNPyTJ8RWLGeyi1TJYOSIyIASaQEcXl25tD2KEjA7A33fJl2FXcsiDVE8+TUuecFl7A4TpFZU9mIS2N5RkIqE40xLCkIjx3m9YotlDSjATNLFQpQIESPhmlqN7Ray00aVd5tOCFg+674oGTPh2lQdSKIt1+Llr0uEEwcrUCKqyQ2lYGiTOuODj54Ix8gWSVsVtfy4/w3ckal/h2OlTeY88tAmFw4Ck+ZV+PrO2JsEmT7iipAQI0gkecJXUlE="
|
package/README.md
CHANGED
|
@@ -112,7 +112,7 @@ to automatically create the synthetic default exports for you - nothing else nee
|
|
|
112
112
|
You can opt-out of this behaviour with the [skipBabel flag](#skipping-babel)
|
|
113
113
|
|
|
114
114
|
**Typescript 2.7 has built-in support for this feature via the `esModuleInterop` flag. We're looking to deprecate this feature.
|
|
115
|
-
Please use `esModuleInterop` instead. More details [here](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html)**
|
|
115
|
+
Please use `esModuleInterop` instead. More details [here](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html)**
|
|
116
116
|
|
|
117
117
|
### Supports automatic of jest.mock() calls
|
|
118
118
|
[Just like Jest](https://facebook.github.io/jest/docs/manual-mocks.html#using-with-es-module-imports) ts-jest
|
|
@@ -144,7 +144,7 @@ custom configuration file (relative to the project's root directory)
|
|
|
144
144
|
|
|
145
145
|
For all available `tsc` options see [TypeScript docs](https://www.typescriptlang.org/docs/handbook/compiler-options.html).
|
|
146
146
|
|
|
147
|
-
Note that if you haven't explicitly set the `module` property through a separate configuration file with `tsConfigFile`, it will be overwritten to `commonjs` (regardless of the value in `tsconfig.json`) since that is the format Jest expects. This only happens during testing.
|
|
147
|
+
Note that if you haven't explicitly set the `module` property through a separate configuration file with `tsConfigFile`, it will be overwritten to `commonjs` (regardless of the value in `tsconfig.json`) since that is the format Jest expects. This only happens during testing.
|
|
148
148
|
|
|
149
149
|
If you *have* explicitly set the `module` property but to a different value than `commonjs`, Jest may throw errors. In that case, a practical workaround is to make a `tsconfig.jest.json` file which [`extends`](http://www.typescriptlang.org/docs/handbook/tsconfig-json.html#configuration-inheritance-with-extends) your real `tsconfig.json` but sets `module` to `commonjs`:
|
|
150
150
|
|
|
@@ -238,9 +238,10 @@ In some cases, projects may not want to have a `.babelrc` file, but still need t
|
|
|
238
238
|
Note that if you also set the `useBabelrc` option to `true`, any configuration passed using this method will be overwritten by corresponding keys in `.babelrc` files.
|
|
239
239
|
|
|
240
240
|
### TS compiler & error reporting
|
|
241
|
-
If you want to enable Syntactic & Semantic TypeScript error reporting you can enable this through `enableTsDiagnostics` flag;
|
|
241
|
+
If you want to enable Syntactic & Semantic TypeScript error reporting you can enable this through `enableTsDiagnostics` flag, , or by specifying a regex for the files that you want to do diagnostics;
|
|
242
242
|
|
|
243
243
|
```json
|
|
244
|
+
// This will report errors in all related files
|
|
244
245
|
{
|
|
245
246
|
"jest": {
|
|
246
247
|
"globals": {
|
|
@@ -250,6 +251,17 @@ If you want to enable Syntactic & Semantic TypeScript error reporting you can en
|
|
|
250
251
|
}
|
|
251
252
|
}
|
|
252
253
|
}
|
|
254
|
+
|
|
255
|
+
// This will only report errors in the files which match the regex
|
|
256
|
+
{
|
|
257
|
+
"jest": {
|
|
258
|
+
"globals": {
|
|
259
|
+
"ts-jest": {
|
|
260
|
+
"enableTsDiagnostics": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$"
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
253
265
|
```
|
|
254
266
|
|
|
255
267
|
**Note:** This is an experimental feature, comes with no guarantees and could be removed if it causes more problems than it solves. Testing is not the place to look for type errors. That should be done separately. Moreover, ts-jest only processes the files that are passed in by jest. It doesn't read files off the disk by default which is why `enableTsDiagnostics` will hurt performance compared to the normal use case.
|
package/dist/preprocess.js
CHANGED
|
@@ -23,7 +23,9 @@ function preprocess(src, filePath, jestConfig, transformOptions) {
|
|
|
23
23
|
}
|
|
24
24
|
var tsJestConfig = get_ts_jest_config_1.default(jestConfig);
|
|
25
25
|
logger_1.logOnce('tsJestConfig: ', tsJestConfig);
|
|
26
|
-
if (tsJestConfig.enableTsDiagnostics
|
|
26
|
+
if (tsJestConfig.enableTsDiagnostics === true ||
|
|
27
|
+
(typeof tsJestConfig.enableTsDiagnostics === 'string' &&
|
|
28
|
+
new RegExp(tsJestConfig.enableTsDiagnostics).test(filePath))) {
|
|
27
29
|
run_ts_diagnostics_1.default(filePath, compilerOptions);
|
|
28
30
|
}
|
|
29
31
|
var transpileOutput = transpiler_1.transpileTypescript(filePath, src, compilerOptions);
|
|
@@ -38,4 +40,4 @@ function preprocess(src, filePath, jestConfig, transformOptions) {
|
|
|
38
40
|
return { code: outputText.code, map: outputText.map };
|
|
39
41
|
}
|
|
40
42
|
exports.default = preprocess;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVwcm9jZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUNBQW9EO0FBQ3BELDZDQUFnRDtBQUNoRCwyQ0FBbUQ7QUFDbkQsaUVBQTBEO0FBQzFELHVEQUFnRDtBQUNoRCxpRUFBeUQ7QUFFekQsb0JBQ0UsR0FBVyxFQUNYLFFBQW1CLEVBQ25CLFVBQThCLEVBQzlCLGdCQUF3QztJQUl4QyxJQUFNLGVBQWUsR0FBRyx1QkFBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWhELGdCQUFPLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFbkQsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxJQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFHNUMsSUFDRSxVQUFVO1FBQ1YsVUFBVSxDQUFDLE9BQU87UUFDakIsVUFBVSxDQUFDLE9BQWUsQ0FBQyxrQkFBa0IsRUFDOUM7UUFDQSxHQUFHLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7S0FDckQ7SUFFRCxJQUFNLFdBQVcsR0FDZixlQUFlLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRXJFLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQU0sWUFBWSxHQUFHLDRCQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsZ0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUl4QyxJQUNFLFlBQVksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJO1FBQ3pDLENBQUMsT0FBTyxZQUFZLENBQUMsbUJBQW1CLEtBQUssUUFBUTtZQUNuRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDOUQ7UUFDQSw0QkFBZ0IsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDN0M7SUFFRCxJQUFNLGVBQWUsR0FBRyxnQ0FBbUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRzVFLElBQUksWUFBWSxDQUFDLDhCQUE4QixLQUFLLElBQUksRUFBRTtRQUN4RCxlQUFlLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNqRCxpQkFBaUIsRUFDakIsc0NBQXNDLENBQ3ZDLENBQUM7S0FDSDtJQUNELElBQUksWUFBWSxDQUFDLDJCQUEyQixLQUFLLElBQUksRUFBRTtRQUNyRCxlQUFlLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNqRCw4RUFBOEUsRUFDOUUsK0JBQStCLENBQ2hDLENBQUM7S0FDSDtJQUVELElBQU0sVUFBVSxHQUFHLDZCQUFlLENBQ2hDLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFFBQVEsQ0FDVCxDQUFDO0lBRUYsa0JBQVMsRUFBRSxDQUFDO0lBRVosT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDeEQsQ0FBQztBQXZFRCw2QkF1RUMifQ==
|
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var closest_file_data_1 = require("closest-file-data");
|
|
4
4
|
var fs_1 = require("fs");
|
|
5
5
|
var constants_1 = require("./constants");
|
|
6
|
+
var json5_1 = require("json5");
|
|
6
7
|
var babelReaders = [
|
|
7
8
|
{
|
|
8
9
|
basename: constants_1.BABELRC_FILENAME,
|
|
9
|
-
read: function (f) { return
|
|
10
|
+
read: function (f) { return json5_1.parse(fs_1.readFileSync(f, 'utf8')); },
|
|
10
11
|
},
|
|
11
12
|
{ basename: constants_1.BABELRC_JS_FILENAME, read: function (f) { return require(f); } },
|
|
12
13
|
{ basename: constants_1.PACKAGE_JSON, read: function (f) { return require(f)[constants_1.BABEL_CONFIG_KEY]; } },
|
|
@@ -16,4 +17,4 @@ function getBabelRC(filename) {
|
|
|
16
17
|
return res && res.data;
|
|
17
18
|
}
|
|
18
19
|
exports.default = getBabelRC;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJhYmVsLXJjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dldC1iYWJlbC1yYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVEQUFnRDtBQUNoRCx5QkFBa0M7QUFDbEMseUNBS3FCO0FBQ3JCLCtCQUE4QjtBQUU5QixJQUFNLFlBQVksR0FBRztJQUNuQjtRQUNFLFFBQVEsRUFBRSw0QkFBZ0I7UUFDMUIsSUFBSSxFQUFFLFVBQUEsQ0FBQyxJQUFJLE9BQUEsYUFBSyxDQUFDLGlCQUFZLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQTlCLENBQThCO0tBQzFDO0lBQ0QsRUFBRSxRQUFRLEVBQUUsK0JBQW1CLEVBQUUsSUFBSSxFQUFFLFVBQUEsQ0FBQyxJQUFJLE9BQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFWLENBQVUsRUFBRTtJQUN4RCxFQUFFLFFBQVEsRUFBRSx3QkFBWSxFQUFFLElBQUksRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBZ0IsQ0FBQyxFQUE1QixDQUE0QixFQUFFO0NBQ3BFLENBQUM7QUFFRixvQkFBbUMsUUFBUTtJQUN6QyxJQUFNLEdBQUcsR0FBRywyQkFBZSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRCxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQ3pCLENBQUM7QUFIRCw2QkFHQyJ9
|
|
@@ -4,10 +4,10 @@ var format_diagnostics_1 = require("./format-diagnostics");
|
|
|
4
4
|
var typescript_1 = require("typescript");
|
|
5
5
|
function runTsDiagnostics(filePath, compilerOptions) {
|
|
6
6
|
var program = typescript_1.createProgram([filePath], compilerOptions);
|
|
7
|
-
var allDiagnostics = typescript_1.getPreEmitDiagnostics(program);
|
|
7
|
+
var allDiagnostics = typescript_1.getPreEmitDiagnostics(program, program.getSourceFile(filePath));
|
|
8
8
|
if (allDiagnostics.length) {
|
|
9
9
|
throw new Error(format_diagnostics_1.default(allDiagnostics));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.default = runTsDiagnostics;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRzLWRpYWdub3N0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3J1bi10cy1kaWFnbm9zdGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJEQUF1RDtBQUN2RCx5Q0FJb0I7QUFFcEIsMEJBQ0UsUUFBZ0IsRUFDaEIsZUFBZ0M7SUFFaEMsSUFBTSxPQUFPLEdBQUcsMEJBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzNELElBQU0sY0FBYyxHQUFHLGtDQUFxQixDQUMxQyxPQUFPLEVBQ1AsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FDaEMsQ0FBQztJQUVGLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7S0FDdEQ7QUFDSCxDQUFDO0FBYkQsbUNBYUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-jest",
|
|
3
|
-
"version": "23.1.
|
|
3
|
+
"version": "23.1.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"description": "A preprocessor with sourcemap support to help use Typescript with Jest",
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"closest-file-data": "^0.1.4",
|
|
71
71
|
"fs-extra": "6.0.1",
|
|
72
|
+
"json5": "^0.5.0",
|
|
72
73
|
"lodash": "^4.17.10"
|
|
73
74
|
},
|
|
74
75
|
"peerDependencies": {
|
|
@@ -85,9 +86,10 @@
|
|
|
85
86
|
"@types/es6-shim": "0.31.37",
|
|
86
87
|
"@types/fs-extra": "5.0.4",
|
|
87
88
|
"@types/jest": "^23.3.0",
|
|
89
|
+
"@types/json5": "^0.0.29",
|
|
88
90
|
"@types/lodash": "^4.14.109",
|
|
89
|
-
"@types/node": "10.
|
|
90
|
-
"@types/react": "16.4.
|
|
91
|
+
"@types/node": "10.7.0",
|
|
92
|
+
"@types/react": "16.4.10",
|
|
91
93
|
"@types/yargs": "^11.0.0",
|
|
92
94
|
"babel-core": "^7.0.0-0",
|
|
93
95
|
"babel-jest": "^23.4.0",
|
package/yarn.lock
CHANGED
|
@@ -588,6 +588,10 @@
|
|
|
588
588
|
version "23.3.0"
|
|
589
589
|
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.0.tgz#5dd70033b616a6228042244ebd992f6426808810"
|
|
590
590
|
|
|
591
|
+
"@types/json5@^0.0.29":
|
|
592
|
+
version "0.0.29"
|
|
593
|
+
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
|
594
|
+
|
|
591
595
|
"@types/lodash@^4.14.109":
|
|
592
596
|
version "4.14.109"
|
|
593
597
|
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.109.tgz#b1c4442239730bf35cabaf493c772b18c045886d"
|
|
@@ -596,14 +600,28 @@
|
|
|
596
600
|
version "8.0.31"
|
|
597
601
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.31.tgz#d9af61093cf4bfc9f066ca34de0175012cfb0ce9"
|
|
598
602
|
|
|
599
|
-
"@types/node@10.
|
|
600
|
-
version "10.
|
|
601
|
-
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.
|
|
603
|
+
"@types/node@10.7.0":
|
|
604
|
+
version "10.7.0"
|
|
605
|
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.7.0.tgz#d384b2c8625414ab2aa18fdf989c288d6a7a8202"
|
|
606
|
+
|
|
607
|
+
"@types/prop-types@*":
|
|
608
|
+
version "15.5.4"
|
|
609
|
+
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.4.tgz#9e6199bad131786e24c2baa2a82705a02139fbf8"
|
|
610
|
+
dependencies:
|
|
611
|
+
"@types/react" "*"
|
|
612
|
+
|
|
613
|
+
"@types/react@*":
|
|
614
|
+
version "16.4.8"
|
|
615
|
+
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.8.tgz#ff0440429783df0927bdcd430fa1225f7c08cf36"
|
|
616
|
+
dependencies:
|
|
617
|
+
"@types/prop-types" "*"
|
|
618
|
+
csstype "^2.2.0"
|
|
602
619
|
|
|
603
|
-
"@types/react@16.4.
|
|
604
|
-
version "16.4.
|
|
605
|
-
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.
|
|
620
|
+
"@types/react@16.4.10":
|
|
621
|
+
version "16.4.10"
|
|
622
|
+
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.10.tgz#fb577091034b25a81f829923e7d38258f43e3165"
|
|
606
623
|
dependencies:
|
|
624
|
+
"@types/prop-types" "*"
|
|
607
625
|
csstype "^2.2.0"
|
|
608
626
|
|
|
609
627
|
"@types/yargs@^11.0.0":
|