ts-jest 21.2.2 → 22.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +2 -2
- package/.travis.yml +6 -4
- package/AUTHORS +3 -0
- package/README.md +29 -6
- package/appveyor.yml +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/install.d.ts +1 -0
- package/dist/install.js +11 -0
- package/dist/jest-types.d.ts +2 -1
- package/dist/preprocessor.d.ts +2 -2
- package/dist/preprocessor.js +24 -33
- package/dist/test-utils.d.ts +1 -0
- package/dist/test-utils.js +56 -0
- package/dist/utils.d.ts +3 -5
- package/dist/utils.js +39 -96
- package/index.d.ts +11 -0
- package/index.js +16 -1
- package/package.json +15 -11
- package/yarn.lock +656 -212
- package/dist/default-retrieve-file-handler.d.ts +0 -1
- package/dist/default-retrieve-file-handler.js +0 -18
- package/dist/index.js +0 -14
package/.editorconfig
CHANGED
package/.travis.yml
CHANGED
|
@@ -2,13 +2,15 @@ dist: trusty
|
|
|
2
2
|
sudo: required
|
|
3
3
|
language: node_js
|
|
4
4
|
node_js:
|
|
5
|
+
- "9"
|
|
5
6
|
- "8"
|
|
6
7
|
- "6"
|
|
7
|
-
- "4"
|
|
8
8
|
before_install:
|
|
9
9
|
- sudo sysctl fs.inotify.max_user_watches=524288
|
|
10
|
-
- yarn global add greenkeeper-lockfile@1
|
|
10
|
+
- yarn global add greenkeeper-lockfile@1 rimraf
|
|
11
11
|
before_script:
|
|
12
|
-
- greenkeeper-lockfile-update
|
|
12
|
+
# - greenkeeper-lockfile-update
|
|
13
|
+
script:
|
|
14
|
+
- yarn test
|
|
13
15
|
after_script:
|
|
14
|
-
- greenkeeper-lockfile-upload
|
|
16
|
+
# - greenkeeper-lockfile-upload
|
package/AUTHORS
CHANGED
|
@@ -27,10 +27,12 @@ Ihor Chulinda <ichulinda@gmail.com>
|
|
|
27
27
|
J Cheyo Jimenez <cheyo@masters3d.com>
|
|
28
28
|
Jim Cummins <jimthedev@gmail.com>
|
|
29
29
|
Joscha Feth <joscha@feth.com>
|
|
30
|
+
Junle Li <lijunle@gmail.com>
|
|
30
31
|
Justin Bay <jwbay@users.noreply.github.com>
|
|
31
32
|
Kulshekhar Kabra <kulshekhar@users.noreply.github.com>
|
|
32
33
|
Kyle Roach <kroach.work@gmail.com>
|
|
33
34
|
Marshall Bowers <elliott.codes@gmail.com>
|
|
35
|
+
Martijn The <post@martijnthe.nl>
|
|
34
36
|
Matheus Gambati <matheusgambati@gmail.com>
|
|
35
37
|
Maxim Samoilov <samoilowmaxim@gmail.com>
|
|
36
38
|
Mohammad Rajabifard <mo.rajbi@gmail.com>
|
|
@@ -40,6 +42,7 @@ Orta Therox <orta.therox+gh@gmail.com>
|
|
|
40
42
|
Patrick Housley <patrick.f.housley@gmail.com>
|
|
41
43
|
Richard Silverton <richsilv@yahoo.co.uk>
|
|
42
44
|
Rikki Tooley <rikki.tooley@travellocal.com>
|
|
45
|
+
Simen Bekkhus <sbekkhus91@gmail.com>
|
|
43
46
|
Thomas Fontaine <thomas.fontaine@me.com>
|
|
44
47
|
Tom Crockett <tomcrockett@tuplehealth.com>
|
|
45
48
|
Trivikram Kamat <trivikr.dev@gmail.com>
|
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ Modify your project's `package.json` so that the `jest` section looks something
|
|
|
57
57
|
{
|
|
58
58
|
"jest": {
|
|
59
59
|
"transform": {
|
|
60
|
-
"^.+\\.tsx?$": "
|
|
60
|
+
"^.+\\.tsx?$": "ts-jest"
|
|
61
61
|
},
|
|
62
62
|
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
|
63
63
|
"moduleFileExtensions": [
|
|
@@ -65,7 +65,8 @@ Modify your project's `package.json` so that the `jest` section looks something
|
|
|
65
65
|
"tsx",
|
|
66
66
|
"js",
|
|
67
67
|
"jsx",
|
|
68
|
-
"json"
|
|
68
|
+
"json",
|
|
69
|
+
"node"
|
|
69
70
|
]
|
|
70
71
|
}
|
|
71
72
|
}
|
|
@@ -225,7 +226,7 @@ In `package.json`, inside `jest` section, the `transform` should be like this:
|
|
|
225
226
|
```json
|
|
226
227
|
"transform": {
|
|
227
228
|
"^.+\\.jsx?$": "<rootDir>/node_modules/babel-jest",
|
|
228
|
-
"^.+\\.tsx?$": "
|
|
229
|
+
"^.+\\.tsx?$": "ts-jest"
|
|
229
230
|
}
|
|
230
231
|
```
|
|
231
232
|
|
|
@@ -236,7 +237,7 @@ Fully completed jest section should look like this:
|
|
|
236
237
|
"preset": "react-native",
|
|
237
238
|
"transform": {
|
|
238
239
|
"^.+\\.jsx?$": "<rootDir>/node_modules/babel-jest",
|
|
239
|
-
"^.+\\.tsx?$": "
|
|
240
|
+
"^.+\\.tsx?$": "ts-jest"
|
|
240
241
|
},
|
|
241
242
|
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
|
242
243
|
"moduleFileExtensions": [
|
|
@@ -244,7 +245,8 @@ Fully completed jest section should look like this:
|
|
|
244
245
|
"tsx",
|
|
245
246
|
"js",
|
|
246
247
|
"jsx",
|
|
247
|
-
"json"
|
|
248
|
+
"json",
|
|
249
|
+
"node"
|
|
248
250
|
]
|
|
249
251
|
}
|
|
250
252
|
```
|
|
@@ -268,12 +270,33 @@ You'll also need to extend your `transform` regex with `html` extension:
|
|
|
268
270
|
{
|
|
269
271
|
"jest": {
|
|
270
272
|
"transform": {
|
|
271
|
-
"^.+\\.(tsx?|html)$": "
|
|
273
|
+
"^.+\\.(tsx?|html)$": "ts-jest"
|
|
272
274
|
}
|
|
273
275
|
}
|
|
274
276
|
}
|
|
275
277
|
```
|
|
276
278
|
|
|
279
|
+
## Using ES2015+ features in Javascript files
|
|
280
|
+
|
|
281
|
+
The default setup shown here picks up only `.ts` and `.tsx` files. However, if there are javascript files in your project that use ES2015+ features (spread operator, import, etc), you probably want them processed. There are two ways you can do this:
|
|
282
|
+
|
|
283
|
+
- use ts-jest to process js files
|
|
284
|
+
|
|
285
|
+
````
|
|
286
|
+
"transform": {
|
|
287
|
+
"^.+\\.(t|j)sx?$": "ts-jest"
|
|
288
|
+
}
|
|
289
|
+
````
|
|
290
|
+
|
|
291
|
+
- use another transformer to process js files
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
"transform": {
|
|
295
|
+
"^.+\\.jsx?$": "<rootDir>/node_modules/babel-jest",
|
|
296
|
+
"^.+\\.tsx?$": "ts-jest"
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
277
300
|
## Tips
|
|
278
301
|
### Importing packages written in TypeScript
|
|
279
302
|
|
package/appveyor.yml
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import * as _install from './install';
|
|
2
|
+
import * as preprocessor from './preprocessor';
|
|
3
|
+
|
|
4
|
+
interface TsJestModule {
|
|
5
|
+
install: typeof _install.install;
|
|
6
|
+
process: typeof preprocessor.process;
|
|
7
|
+
getCacheKey: typeof preprocessor.getCacheKey;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare const tsJestModule: TsJestModule;
|
|
11
|
+
export = tsJestModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function install(filePath: string, fileContent: string): void;
|
package/dist/install.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var sourceMapSupport = require("source-map-support");
|
|
4
|
+
function install(filePath, fileContent) {
|
|
5
|
+
var options = {};
|
|
6
|
+
options.retrieveFile = function (path) { return (path === filePath ? fileContent : undefined); };
|
|
7
|
+
options['environment'] = 'node';
|
|
8
|
+
return sourceMapSupport.install(options);
|
|
9
|
+
}
|
|
10
|
+
exports.install = install;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnN0YWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQXVEO0FBRXZELGlCQUF3QixRQUFnQixFQUFFLFdBQW1CO0lBQzNELElBQU0sT0FBTyxHQUE2QixFQUFFLENBQUM7SUFFN0MsT0FBTyxDQUFDLFlBQVksR0FBRyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBN0MsQ0FBNkMsQ0FBQztJQUs3RSxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBR2hDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQVpELDBCQVlDIn0=
|
package/dist/jest-types.d.ts
CHANGED
package/dist/preprocessor.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { JestConfig, Path, TransformOptions } from './jest-types';
|
|
2
|
-
export declare function process(src: string,
|
|
3
|
-
export declare function getCacheKey(fileData: string, filePath: Path,
|
|
2
|
+
export declare function process(src: string, filePath: Path, jestConfig: JestConfig, transformOptions?: TransformOptions): string;
|
|
3
|
+
export declare function getCacheKey(fileData: string, filePath: Path, jestConfigStr: string, transformOptions?: TransformOptions): string;
|
package/dist/preprocessor.js
CHANGED
|
@@ -1,52 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var crypto = require("crypto");
|
|
4
|
-
var fs = require("fs-extra");
|
|
5
|
-
var nodepath = require("path");
|
|
6
4
|
var tsc = require("typescript");
|
|
7
5
|
var postprocess_1 = require("./postprocess");
|
|
8
6
|
var utils_1 = require("./utils");
|
|
9
|
-
function process(src,
|
|
7
|
+
function process(src, filePath, jestConfig, transformOptions) {
|
|
10
8
|
if (transformOptions === void 0) { transformOptions = { instrument: false }; }
|
|
11
|
-
var compilerOptions = utils_1.getTSConfig(
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var postHook = postprocess_1.getPostProcessHook(compilerOptions, config, tsJestConfig);
|
|
17
|
-
if (isHtmlFile && config.globals.__TRANSFORM_HTML__) {
|
|
9
|
+
var compilerOptions = utils_1.getTSConfig(jestConfig.globals, transformOptions.instrument);
|
|
10
|
+
var isTsFile = /\.tsx?$/.test(filePath);
|
|
11
|
+
var isJsFile = /\.jsx?$/.test(filePath);
|
|
12
|
+
var isHtmlFile = /\.html$/.test(filePath);
|
|
13
|
+
if (isHtmlFile && jestConfig.globals.__TRANSFORM_HTML__) {
|
|
18
14
|
src = 'module.exports=`' + src + '`;';
|
|
19
15
|
}
|
|
20
16
|
var processFile = compilerOptions.allowJs === true ? isTsFile || isJsFile : isTsFile;
|
|
21
|
-
if (processFile) {
|
|
22
|
-
|
|
23
|
-
compilerOptions: compilerOptions,
|
|
24
|
-
fileName: path,
|
|
25
|
-
});
|
|
26
|
-
var outputText = postHook(tsTranspiled.outputText, path, config, transformOptions);
|
|
27
|
-
if (!config.testRegex || !path.match(config.testRegex)) {
|
|
28
|
-
var outputFilePath = nodepath.join(config.cacheDirectory, '/ts-jest/', crypto.createHash('md5').update(path).digest('hex'));
|
|
29
|
-
fs.outputFileSync(outputFilePath, outputText);
|
|
30
|
-
}
|
|
31
|
-
var start = outputText.length > 12 ? outputText.substr(1, 10) : '';
|
|
32
|
-
var modified = start === 'use strict'
|
|
33
|
-
? "'use strict';require('ts-jest').install();" + outputText
|
|
34
|
-
: "require('ts-jest').install();" + outputText;
|
|
35
|
-
return modified;
|
|
17
|
+
if (!processFile) {
|
|
18
|
+
return src;
|
|
36
19
|
}
|
|
37
|
-
|
|
20
|
+
var tsTranspiled = tsc.transpileModule(src, {
|
|
21
|
+
compilerOptions: compilerOptions,
|
|
22
|
+
fileName: filePath,
|
|
23
|
+
});
|
|
24
|
+
var tsJestConfig = utils_1.getTSJestConfig(jestConfig.globals);
|
|
25
|
+
var postHook = postprocess_1.getPostProcessHook(compilerOptions, jestConfig, tsJestConfig);
|
|
26
|
+
var outputText = postHook(tsTranspiled.outputText, filePath, jestConfig, transformOptions);
|
|
27
|
+
var modified = utils_1.injectSourcemapHook(filePath, tsTranspiled.outputText, outputText);
|
|
28
|
+
return modified;
|
|
38
29
|
}
|
|
39
30
|
exports.process = process;
|
|
40
|
-
function getCacheKey(fileData, filePath,
|
|
41
|
-
if (
|
|
42
|
-
var jestConfig = JSON.parse(
|
|
43
|
-
var tsConfig = utils_1.getTSConfig(jestConfig.globals,
|
|
31
|
+
function getCacheKey(fileData, filePath, jestConfigStr, transformOptions) {
|
|
32
|
+
if (transformOptions === void 0) { transformOptions = { instrument: false }; }
|
|
33
|
+
var jestConfig = JSON.parse(jestConfigStr);
|
|
34
|
+
var tsConfig = utils_1.getTSConfig(jestConfig.globals, transformOptions.instrument);
|
|
44
35
|
return crypto
|
|
45
36
|
.createHash('md5')
|
|
46
37
|
.update(JSON.stringify(tsConfig), 'utf8')
|
|
47
|
-
.update(JSON.stringify(
|
|
48
|
-
.update(fileData + filePath +
|
|
38
|
+
.update(JSON.stringify(transformOptions), 'utf8')
|
|
39
|
+
.update(fileData + filePath + jestConfigStr, 'utf8')
|
|
49
40
|
.digest('hex');
|
|
50
41
|
}
|
|
51
42
|
exports.getCacheKey = getCacheKey;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ByZXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUFpQztBQUNqQyxnQ0FBa0M7QUFFbEMsNkNBQW1EO0FBQ25ELGlDQUtpQjtBQUVqQixpQkFDRSxHQUFXLEVBQ1gsUUFBYyxFQUNkLFVBQXNCLEVBQ3RCLGdCQUEwRDtJQUExRCxpQ0FBQSxFQUFBLHFCQUF1QyxVQUFVLEVBQUUsS0FBSyxFQUFFO0lBSTFELElBQU0sZUFBZSxHQUFHLG1CQUFXLENBQ2pDLFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLGdCQUFnQixDQUFDLFVBQVUsQ0FDNUIsQ0FBQztJQUVGLElBQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxJQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRzVDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUN4RCxHQUFHLEdBQUcsa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBTSxXQUFXLEdBQ2YsZUFBZSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUVyRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRTtRQUM1QyxlQUFlLGlCQUFBO1FBQ2YsUUFBUSxFQUFFLFFBQVE7S0FDbkIsQ0FBQyxDQUFDO0lBRUgsSUFBTSxZQUFZLEdBQUcsdUJBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekQsSUFBTSxRQUFRLEdBQUcsZ0NBQWtCLENBQ2pDLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxDQUNiLENBQUM7SUFFRixJQUFNLFVBQVUsR0FBRyxRQUFRLENBQ3pCLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLFFBQVEsRUFDUixVQUFVLEVBQ1YsZ0JBQWdCLENBQ2pCLENBQUM7SUFFRixJQUFNLFFBQVEsR0FBRywyQkFBbUIsQ0FDbEMsUUFBUSxFQUNSLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLFVBQVUsQ0FDWCxDQUFDO0lBRUYsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBeERELDBCQXdEQztBQUVELHFCQUNFLFFBQWdCLEVBQ2hCLFFBQWMsRUFDZCxhQUFxQixFQUNyQixnQkFBMEQ7SUFBMUQsaUNBQUEsRUFBQSxxQkFBdUMsVUFBVSxFQUFFLEtBQUssRUFBRTtJQUUxRCxJQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXpELElBQU0sUUFBUSxHQUFHLG1CQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU5RSxNQUFNLENBQUMsTUFBTTtTQUNWLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO1NBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO1NBQ2hELE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxHQUFHLGFBQWEsRUFBRSxNQUFNLENBQUM7U0FDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25CLENBQUM7QUFoQkQsa0NBZ0JDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getJestConfig(root: any): any;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var fs = require("fs");
|
|
4
|
+
var jest_config_1 = require("jest-config");
|
|
5
|
+
var setFromArgv = require("jest-config/build/set_from_argv");
|
|
6
|
+
var path = require("path");
|
|
7
|
+
function readRawConfig(argv, root) {
|
|
8
|
+
var rawConfig = parseConfig(argv);
|
|
9
|
+
if (typeof rawConfig === 'string') {
|
|
10
|
+
return loadJestConfigFromFile(path.resolve(process.cwd(), rawConfig), argv);
|
|
11
|
+
}
|
|
12
|
+
if (typeof rawConfig === 'object') {
|
|
13
|
+
var config = Object.assign({}, rawConfig);
|
|
14
|
+
config.rootDir = config.rootDir || root;
|
|
15
|
+
return jest_config_1.normalize(config, argv);
|
|
16
|
+
}
|
|
17
|
+
var packageConfig = loadJestConfigFromPackage(path.join(root, 'package.json'), argv);
|
|
18
|
+
return packageConfig || jest_config_1.normalize({ rootDir: root }, argv);
|
|
19
|
+
}
|
|
20
|
+
function loadJestConfigFromPackage(filePath, argv) {
|
|
21
|
+
var R_OK = (fs.constants && fs.constants.R_OK) || fs['R_OK'];
|
|
22
|
+
try {
|
|
23
|
+
fs.accessSync(filePath, R_OK);
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
var packageData = require(filePath);
|
|
29
|
+
var config = packageData.jest || {};
|
|
30
|
+
var root = path.dirname(filePath);
|
|
31
|
+
config.rootDir = config.rootDir ? path.resolve(root, config.rootDir) : root;
|
|
32
|
+
return jest_config_1.normalize(config, argv);
|
|
33
|
+
}
|
|
34
|
+
function parseConfig(argv) {
|
|
35
|
+
if (argv.config && typeof argv.config === 'string') {
|
|
36
|
+
if (argv.config[0] === '{' && argv.config[argv.config.length - 1] === '}') {
|
|
37
|
+
return JSON.parse(argv.config);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return argv.config;
|
|
41
|
+
}
|
|
42
|
+
function loadJestConfigFromFile(filePath, argv) {
|
|
43
|
+
var config = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
44
|
+
config.rootDir = config.rootDir
|
|
45
|
+
? path.resolve(path.dirname(filePath), config.rootDir)
|
|
46
|
+
: process.cwd();
|
|
47
|
+
return jest_config_1.normalize(config, argv);
|
|
48
|
+
}
|
|
49
|
+
function getJestConfig(root) {
|
|
50
|
+
var yargs = require('yargs');
|
|
51
|
+
var argv = yargs(process.argv.slice(2)).argv;
|
|
52
|
+
var rawConfig = readRawConfig(argv, root);
|
|
53
|
+
return Object.freeze(setFromArgv.default(rawConfig, argv));
|
|
54
|
+
}
|
|
55
|
+
exports.getJestConfig = getJestConfig;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUJBQXlCO0FBQ3pCLDJDQUF3QztBQUN4Qyw2REFBK0Q7QUFDL0QsMkJBQTZCO0FBRTdCLHVCQUF1QixJQUFJLEVBQUUsSUFBSTtJQUMvQixJQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsRUFBRSxDQUFDLENBQUMsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN4QyxNQUFNLENBQUMsdUJBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQU0sYUFBYSxHQUFHLHlCQUF5QixDQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsRUFDL0IsSUFBSSxDQUNMLENBQUM7SUFDRixNQUFNLENBQUMsYUFBYSxJQUFJLHVCQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELG1DQUFtQyxRQUFRLEVBQUUsSUFBSTtJQUUvQyxJQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFT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
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { TsJestConfig } from './jest-types';
|
|
2
|
-
export declare function getJestConfig(root: any): any;
|
|
1
|
+
import { JestConfig, TsJestConfig } from './jest-types';
|
|
3
2
|
export declare function getTSJestConfig(globals: any): TsJestConfig;
|
|
4
|
-
export declare function getTSConfigOptionFromConfig(globals: any): any;
|
|
5
3
|
export declare function mockGlobalTSConfigSchema(globals: any): {
|
|
6
4
|
'ts-jest': {
|
|
7
5
|
tsConfigFile: string;
|
|
8
6
|
};
|
|
9
|
-
} | {
|
|
10
|
-
__TS_CONFIG__: any;
|
|
11
7
|
};
|
|
12
8
|
export declare function getTSConfig(globals: any, collectCoverage?: boolean): any;
|
|
9
|
+
export declare function cacheFile(jestConfig: JestConfig, filePath: string, src: string): void;
|
|
10
|
+
export declare function injectSourcemapHook(filePath: string, typeScriptCode: string, src: string): string;
|
package/dist/utils.js
CHANGED
|
@@ -1,59 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var crypto = require("crypto");
|
|
3
4
|
var fs = require("fs");
|
|
4
|
-
var
|
|
5
|
-
var setFromArgv = require("jest-config/build/set_from_argv");
|
|
5
|
+
var fsExtra = require("fs-extra");
|
|
6
6
|
var path = require("path");
|
|
7
7
|
var tsc = require("typescript");
|
|
8
|
-
function parseConfig(argv) {
|
|
9
|
-
if (argv.config && typeof argv.config === 'string') {
|
|
10
|
-
if (argv.config[0] === '{' && argv.config[argv.config.length - 1] === '}') {
|
|
11
|
-
return JSON.parse(argv.config);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return argv.config;
|
|
15
|
-
}
|
|
16
|
-
function loadJestConfigFromFile(filePath, argv) {
|
|
17
|
-
var config = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
18
|
-
config.rootDir = config.rootDir
|
|
19
|
-
? path.resolve(path.dirname(filePath), config.rootDir)
|
|
20
|
-
: process.cwd();
|
|
21
|
-
return jest_config_1.normalize(config, argv);
|
|
22
|
-
}
|
|
23
|
-
function loadJestConfigFromPackage(filePath, argv) {
|
|
24
|
-
var R_OK = (fs.constants && fs.constants.R_OK) || fs['R_OK'];
|
|
25
|
-
try {
|
|
26
|
-
fs.accessSync(filePath, R_OK);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
var packageData = require(filePath);
|
|
32
|
-
var config = packageData.jest || {};
|
|
33
|
-
var root = path.dirname(filePath);
|
|
34
|
-
config.rootDir = config.rootDir ? path.resolve(root, config.rootDir) : root;
|
|
35
|
-
return jest_config_1.normalize(config, argv);
|
|
36
|
-
}
|
|
37
|
-
function readRawConfig(argv, root) {
|
|
38
|
-
var rawConfig = parseConfig(argv);
|
|
39
|
-
if (typeof rawConfig === 'string') {
|
|
40
|
-
return loadJestConfigFromFile(path.resolve(process.cwd(), rawConfig), argv);
|
|
41
|
-
}
|
|
42
|
-
if (typeof rawConfig === 'object') {
|
|
43
|
-
var config = Object.assign({}, rawConfig);
|
|
44
|
-
config.rootDir = config.rootDir || root;
|
|
45
|
-
return jest_config_1.normalize(config, argv);
|
|
46
|
-
}
|
|
47
|
-
var packageConfig = loadJestConfigFromPackage(path.join(root, 'package.json'), argv);
|
|
48
|
-
return packageConfig || jest_config_1.normalize({ rootDir: root }, argv);
|
|
49
|
-
}
|
|
50
|
-
function getJestConfig(root) {
|
|
51
|
-
var yargs = require('yargs');
|
|
52
|
-
var argv = yargs(process.argv.slice(2)).argv;
|
|
53
|
-
var rawConfig = readRawConfig(argv, root);
|
|
54
|
-
return Object.freeze(setFromArgv.default(rawConfig, argv));
|
|
55
|
-
}
|
|
56
|
-
exports.getJestConfig = getJestConfig;
|
|
57
8
|
function getTSJestConfig(globals) {
|
|
58
9
|
return globals && globals['ts-jest'] ? globals['ts-jest'] : {};
|
|
59
10
|
}
|
|
@@ -62,6 +13,7 @@ function formatTscParserErrors(errors) {
|
|
|
62
13
|
return errors.map(function (s) { return JSON.stringify(s, null, 4); }).join('\n');
|
|
63
14
|
}
|
|
64
15
|
function readCompilerOptions(configPath) {
|
|
16
|
+
configPath = path.resolve(configPath);
|
|
65
17
|
var loaded = tsc.readConfigFile(configPath, function (file) {
|
|
66
18
|
var read = tsc.sys.readFile(file);
|
|
67
19
|
if (!read) {
|
|
@@ -99,79 +51,70 @@ function getPathToClosestTSConfig(startDir, previousDir) {
|
|
|
99
51
|
}
|
|
100
52
|
return getPathToClosestTSConfig(path.join(startDir, '..'), startDir);
|
|
101
53
|
}
|
|
102
|
-
function
|
|
54
|
+
function getTSConfigPathFromConfig(globals) {
|
|
103
55
|
var defaultTSConfigFile = getPathToClosestTSConfig();
|
|
104
56
|
if (!globals) {
|
|
105
57
|
return defaultTSConfigFile;
|
|
106
58
|
}
|
|
107
59
|
var tsJestConfig = getTSJestConfig(globals);
|
|
108
|
-
if (
|
|
109
|
-
console.warn("Using globals > __TS_CONFIG__ option for setting TS config is deprecated.\nPlease set config using this option:\nglobals > ts-jest > tsConfigFile (string).\nMore information at https://github.com/kulshekhar/ts-jest#tsconfig");
|
|
110
|
-
return globals.__TS_CONFIG__;
|
|
111
|
-
}
|
|
112
|
-
else if (tsJestConfig.tsConfigFile) {
|
|
60
|
+
if (tsJestConfig.tsConfigFile) {
|
|
113
61
|
return tsJestConfig.tsConfigFile;
|
|
114
62
|
}
|
|
115
63
|
return defaultTSConfigFile;
|
|
116
64
|
}
|
|
117
|
-
exports.getTSConfigOptionFromConfig = getTSConfigOptionFromConfig;
|
|
118
65
|
function mockGlobalTSConfigSchema(globals) {
|
|
119
|
-
var
|
|
120
|
-
return
|
|
121
|
-
? { 'ts-jest': { tsConfigFile: config } }
|
|
122
|
-
: { __TS_CONFIG__: config };
|
|
66
|
+
var configPath = getTSConfigPathFromConfig(globals);
|
|
67
|
+
return { 'ts-jest': { tsConfigFile: configPath } };
|
|
123
68
|
}
|
|
124
69
|
exports.mockGlobalTSConfigSchema = mockGlobalTSConfigSchema;
|
|
125
70
|
var tsConfigCache = {};
|
|
126
71
|
function getTSConfig(globals, collectCoverage) {
|
|
127
72
|
if (collectCoverage === void 0) { collectCoverage = false; }
|
|
128
|
-
var
|
|
73
|
+
var configPath = getTSConfigPathFromConfig(globals);
|
|
129
74
|
var skipBabel = getTSJestConfig(globals).skipBabel;
|
|
130
|
-
var isReferencedExternalFile = typeof config === 'string';
|
|
131
75
|
var tsConfigCacheKey = JSON.stringify([
|
|
132
76
|
skipBabel,
|
|
133
77
|
collectCoverage,
|
|
134
|
-
|
|
78
|
+
configPath,
|
|
135
79
|
]);
|
|
136
80
|
if (tsConfigCacheKey in tsConfigCache) {
|
|
137
81
|
return tsConfigCache[tsConfigCacheKey];
|
|
138
82
|
}
|
|
139
|
-
|
|
140
|
-
var configFileName = config;
|
|
141
|
-
var configPath = path.resolve(config);
|
|
142
|
-
config = readCompilerOptions(configPath);
|
|
143
|
-
if (configFileName === path.join(getStartDir(), 'tsconfig.json')) {
|
|
144
|
-
config.module = tsc.ModuleKind.CommonJS;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
83
|
+
var config = readCompilerOptions(configPath);
|
|
147
84
|
delete config.sourceMap;
|
|
148
85
|
config.inlineSourceMap = true;
|
|
149
86
|
config.inlineSources = true;
|
|
150
87
|
delete config.outDir;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
config.jsx = config.jsx || tsc.JsxEmit.React;
|
|
154
|
-
config.module = config.module || tsc.ModuleKind.CommonJS;
|
|
155
|
-
if (config.allowSyntheticDefaultImports && !skipBabel) {
|
|
156
|
-
config.module = tsc.ModuleKind.ES2015;
|
|
157
|
-
}
|
|
158
|
-
result = config;
|
|
88
|
+
if (configPath === path.join(getStartDir(), 'tsconfig.json')) {
|
|
89
|
+
config.module = tsc.ModuleKind.CommonJS;
|
|
159
90
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
config.module = 'es2015';
|
|
165
|
-
}
|
|
166
|
-
var converted = tsc.convertCompilerOptionsFromJson(config, undefined);
|
|
167
|
-
if (converted.errors && converted.errors.length > 0) {
|
|
168
|
-
var formattedErrors = formatTscParserErrors(converted.errors);
|
|
169
|
-
throw new Error("Some errors occurred while attempting to convert " + JSON.stringify(config) + ": " + formattedErrors);
|
|
170
|
-
}
|
|
171
|
-
result = converted.options;
|
|
91
|
+
config.module = config.module || tsc.ModuleKind.CommonJS;
|
|
92
|
+
config.jsx = config.jsx || tsc.JsxEmit.React;
|
|
93
|
+
if (config.allowSyntheticDefaultImports && !skipBabel) {
|
|
94
|
+
config.module = tsc.ModuleKind.ES2015;
|
|
172
95
|
}
|
|
173
|
-
tsConfigCache[tsConfigCacheKey] =
|
|
174
|
-
return
|
|
96
|
+
tsConfigCache[tsConfigCacheKey] = config;
|
|
97
|
+
return config;
|
|
175
98
|
}
|
|
176
99
|
exports.getTSConfig = getTSConfig;
|
|
177
|
-
|
|
100
|
+
function cacheFile(jestConfig, filePath, src) {
|
|
101
|
+
if (!jestConfig.testRegex || !filePath.match(jestConfig.testRegex)) {
|
|
102
|
+
var outputFilePath = path.join(jestConfig.cacheDirectory, '/ts-jest/', crypto
|
|
103
|
+
.createHash('md5')
|
|
104
|
+
.update(filePath)
|
|
105
|
+
.digest('hex'));
|
|
106
|
+
fsExtra.outputFileSync(outputFilePath, src);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.cacheFile = cacheFile;
|
|
110
|
+
function injectSourcemapHook(filePath, typeScriptCode, src) {
|
|
111
|
+
var start = src.length > 12 ? src.substr(1, 10) : '';
|
|
112
|
+
var filePathParam = JSON.stringify(filePath);
|
|
113
|
+
var codeParam = JSON.stringify(typeScriptCode);
|
|
114
|
+
var sourceMapHook = "require('ts-jest').install(" + filePathParam + ", " + codeParam + ")";
|
|
115
|
+
return start === 'use strict'
|
|
116
|
+
? "'use strict';" + sourceMapHook + ";" + src
|
|
117
|
+
: sourceMapHook + ";" + src;
|
|
118
|
+
}
|
|
119
|
+
exports.injectSourcemapHook = injectSourcemapHook;
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBaUM7QUFDakMsdUJBQXlCO0FBQ3pCLGtDQUFvQztBQUNwQywyQkFBNkI7QUFDN0IsZ0NBQWtDO0FBR2xDLHlCQUFnQyxPQUFZO0lBQzFDLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRkQsMENBRUM7QUFFRCwrQkFBK0IsTUFBd0I7SUFDckQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQTFCLENBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELDZCQUE2QixVQUFrQjtJQUM3QyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUd0QyxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFBLElBQUk7UUFDaEQsSUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJcEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FDYiw4Q0FBNEMsVUFBVSxNQUFHLENBQzFELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakIs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
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as _install from './install';
|
|
2
|
+
import * as preprocessor from './preprocessor';
|
|
3
|
+
|
|
4
|
+
interface TsJestModule {
|
|
5
|
+
install: typeof _install.install;
|
|
6
|
+
process: typeof preprocessor.process;
|
|
7
|
+
getCacheKey: typeof preprocessor.getCacheKey;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare const tsJestModule: TsJestModule;
|
|
11
|
+
export = tsJestModule;
|
package/index.js
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
// Avoid require()'ing the preprocessor when index.js gets loaded as part
|
|
2
|
+
// of the transpiled test file output, to avoid tripping this bug in
|
|
3
|
+
// babel-core: https://github.com/babel/babel/pull/6524 which is to be
|
|
4
|
+
// fixed in babel-core 7.0.
|
|
5
|
+
// Related ts-jest issue: https://github.com/kulshekhar/ts-jest/issues/367
|
|
6
|
+
function lazyRequire(fnName) {
|
|
7
|
+
return function() {
|
|
8
|
+
return require('./dist/preprocessor')[fnName].apply(null, arguments);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = {
|
|
13
|
+
process: lazyRequire('process'),
|
|
14
|
+
getCacheKey: lazyRequire('getCacheKey'),
|
|
15
|
+
install: require('./dist/install').install,
|
|
16
|
+
};
|