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 CHANGED
@@ -1,7 +1,7 @@
1
1
  [*.ts]
2
2
  indent_style = space
3
- indent_size = 4
3
+ indent_size = 2
4
4
 
5
5
  [*.tsx]
6
6
  indent_style = space
7
- indent_size = 4
7
+ indent_size = 2
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?$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
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?$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
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?$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
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)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
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
@@ -12,9 +12,9 @@ init:
12
12
  # what combinations to test
13
13
  environment:
14
14
  matrix:
15
- - nodejs_version: 4
16
15
  - nodejs_version: 6
17
16
  - nodejs_version: 8
17
+ - nodejs_version: 9
18
18
 
19
19
  # get the latest stable version of Node 0.STABLE.latest
20
20
  install:
package/dist/index.d.ts CHANGED
@@ -1,2 +1,11 @@
1
- export { transpileIfTypescript } from './transpile-if-ts';
2
- export declare function install(): void;
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;
@@ -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=
@@ -57,5 +57,6 @@ export interface TsJestConfig {
57
57
  skipBabel?: boolean;
58
58
  useBabelrc?: boolean;
59
59
  babelConfig?: BabelTransformOpts;
60
- tsConfigFile?: String;
60
+ tsConfigFile?: string;
61
+ enableInternalCache?: boolean;
61
62
  }
@@ -1,3 +1,3 @@
1
1
  import { JestConfig, Path, TransformOptions } from './jest-types';
2
- export declare function process(src: string, path: Path, config: JestConfig, transformOptions?: TransformOptions): string;
3
- export declare function getCacheKey(fileData: string, filePath: Path, configStr: string, options?: TransformOptions): string;
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;
@@ -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, path, config, transformOptions) {
7
+ function process(src, filePath, jestConfig, transformOptions) {
10
8
  if (transformOptions === void 0) { transformOptions = { instrument: false }; }
11
- var compilerOptions = utils_1.getTSConfig(config.globals, transformOptions.instrument);
12
- var tsJestConfig = utils_1.getTSJestConfig(config.globals);
13
- var isTsFile = path.endsWith('.ts') || path.endsWith('.tsx');
14
- var isJsFile = path.endsWith('.js') || path.endsWith('.jsx');
15
- var isHtmlFile = path.endsWith('.html');
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
- var tsTranspiled = tsc.transpileModule(src, {
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
- return src;
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, configStr, options) {
41
- if (options === void 0) { options = { instrument: false }; }
42
- var jestConfig = JSON.parse(configStr);
43
- var tsConfig = utils_1.getTSConfig(jestConfig.globals, options.instrument);
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(options), 'utf8')
48
- .update(fileData + filePath + configStr, 'utf8')
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ByZXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUFpQztBQUNqQyw2QkFBK0I7QUFDL0IsK0JBQWlDO0FBQ2pDLGdDQUFrQztBQUVsQyw2Q0FBbUQ7QUFDbkQsaUNBQXVEO0FBRXZELGlCQUNFLEdBQVcsRUFDWCxJQUFVLEVBQ1YsTUFBa0IsRUFDbEIsZ0JBQTBEO0lBQTFELGlDQUFBLEVBQUEscUJBQXVDLFVBQVUsRUFBRSxLQUFLLEVBQUU7SUFJMUQsSUFBTSxlQUFlLEdBQUcsbUJBQVcsQ0FDakMsTUFBTSxDQUFDLE9BQU8sRUFDZCxnQkFBZ0IsQ0FBQyxVQUFVLENBQzVCLENBQUM7SUFDRixJQUFNLFlBQVksR0FBRyx1QkFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVyRCxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUMsSUFBTSxRQUFRLEdBQUcsZ0NBQWtCLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUUzRSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDcEQsR0FBRyxHQUFHLGtCQUFrQixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQU0sV0FBVyxHQUNmLGVBQWUsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxlQUFlLGlCQUFBO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFNLFVBQVUsR0FBRyxRQUFRLENBQ3pCLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLElBQUksRUFDSixNQUFNLEVBQ04sZ0JBQWdCLENBQ2pCLENBQUM7UUFHRixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLGNBQWMsRUFDckIsV0FBVyxFQUNYLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDcEQsQ0FBQztZQUVGLEVBQUUsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVyRSxJQUFNLFFBQVEsR0FDWixLQUFLLEtBQUssWUFBWTtZQUNwQixDQUFDLENBQUMsK0NBQTZDLFVBQVk7WUFDM0QsQ0FBQyxDQUFDLGtDQUFnQyxVQUFZLENBQUM7UUFFbkQsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUNiLENBQUM7QUE5REQsMEJBOERDO0FBRUQscUJBQ0UsUUFBZ0IsRUFDaEIsUUFBYyxFQUNkLFNBQWlCLEVBQ2pCLE9BQWlEO0lBQWpELHdCQUFBLEVBQUEsWUFBOEIsVUFBVSxFQUFFLEtBQUssRUFBRTtJQUVqRCxJQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQU0sUUFBUSxHQUFHLG1CQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFckUsTUFBTSxDQUFDLE1BQU07U0FDVixVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztTQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7U0FDdkMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEdBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQztTQUMvQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQWZELGtDQWVDIn0=
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 jest_config_1 = require("jest-config");
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 getTSConfigOptionFromConfig(globals) {
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 (globals.__TS_CONFIG__) {
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 config = getTSConfigOptionFromConfig(globals);
120
- return typeof config === 'string'
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 config = getTSConfigOptionFromConfig(globals);
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
- isReferencedExternalFile ? config : undefined,
78
+ configPath,
135
79
  ]);
136
80
  if (tsConfigCacheKey in tsConfigCache) {
137
81
  return tsConfigCache[tsConfigCacheKey];
138
82
  }
139
- if (isReferencedExternalFile) {
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
- var result;
152
- if (isReferencedExternalFile) {
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
- else {
161
- config.jsx = config.jsx || 'react';
162
- config.module = config.module || 'commonjs';
163
- if (config.allowSyntheticDefaultImports && !skipBabel) {
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] = result;
174
- return result;
96
+ tsConfigCache[tsConfigCacheKey] = config;
97
+ return config;
175
98
  }
176
99
  exports.getTSConfig = getTSConfig;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1QkFBeUI7QUFDekIsMkNBQXdDO0FBQ3hDLDZEQUErRDtBQUMvRCwyQkFBNkI7QUFDN0IsZ0NBQWtDO0FBR2xDLHFCQUFxQixJQUFJO0lBQ3ZCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbkQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQ3JCLENBQUM7QUFFRCxnQ0FBZ0MsUUFBUSxFQUFFLElBQUk7SUFDNUMsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlELE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU87UUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxDQUFDLHVCQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENB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
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
- module.exports = require('./dist/index');
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
+ };