ts-jest 22.4.6 → 23.0.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/.travis.yml CHANGED
@@ -5,7 +5,7 @@ cache: yarn
5
5
  git:
6
6
  depth: 5
7
7
  node_js:
8
- - "9"
8
+ - "10"
9
9
  - "8"
10
10
  - "6"
11
11
  before_install:
@@ -11,6 +11,9 @@
11
11
 
12
12
  # Collaborator Guidelines
13
13
 
14
+ ts-jest is grateful for all issues, PRs and contributions. In this file are tips for getting started contributing,
15
+ and best practices, so that we can ensure that we can maintain this project in the future.
16
+
14
17
  ## Installing and building the project
15
18
 
16
19
  To be able to install and build the project probably, `rimraf` is required. Install `rimraf` by running
@@ -36,3 +39,19 @@ After installing `rimraf`, `yarn` command can be run normally when installing de
36
39
  ts-jest must match the major version of jest. Matching the minor version is preferred. Matching the version patch is not required.
37
40
 
38
41
  When merging PRs which fix bugs, it is preferable to increment the version patch version so that the changes can be published to NPM.
42
+
43
+ ## Tests
44
+
45
+ All new features or bugfixes should be accompanied with a new test, to ensure that the change works as intended, and to make sure we don't inadvertently break it in the future through refactring
46
+
47
+ If you are simply refactoring code, it is not needed to add a test.
48
+
49
+ ### How to add tests
50
+ - Tests are added by creating a new file in tests/__tests__
51
+ - A test usually consists of two parts
52
+ - A directory under tests/ that have some files that should result in a specific output when jest is passed through it
53
+ - A file under tests/__tests__ that uses the runJest command to run Jest on the specified directory, and makes asserts on the output of stdout and stderr
54
+ When asserting things on the output, it is common to both assert something about the exit code, and something about the output. Always assert on the output first, before asserting on the status code - as it leads to much nicer error messages when refactoring. (You get the full output text, rather than just '0 didn't equal 1')
55
+
56
+ ### How to run tests
57
+ Tests are run through `yarn test`
package/README.md CHANGED
@@ -237,6 +237,8 @@ If you want to enable Syntactic & Semantic TypeScript error reporting you can en
237
237
  }
238
238
  ```
239
239
 
240
+ **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.
241
+
240
242
  ### Ignore coverage on decorators
241
243
 
242
244
  **Note:** This is an experimental feature, comes with no guarantees and could be removed if it causes more problems than it solves
package/appveyor.yml CHANGED
@@ -16,7 +16,7 @@ environment:
16
16
  matrix:
17
17
  - nodejs_version: 6
18
18
  - nodejs_version: 8
19
- - nodejs_version: 9
19
+ - nodejs_version: 10
20
20
 
21
21
  # get the latest stable version of Node 0.STABLE.latest
22
22
  install:
@@ -16,9 +16,9 @@ export interface HasteConfig {
16
16
  export interface BabelTransformOptions extends BabelTransformOpts {
17
17
  cacheDirectory?: string;
18
18
  }
19
- export declare type PostProcessHook = (src: string, filePath: string, config: JestConfig, transformOptions: TransformOptions) => string;
20
- export declare type JestConfig = Partial<FullJestConfig>;
21
- export interface FullJestConfig {
19
+ export declare type PostProcessHook = (codeSourcemapPair: CodeSourceMapPair, filePath: string, config: JestConfig, transformOptions: TransformOptions) => CodeSourceMapPair;
20
+ export declare type JestConfig = Partial<FullJestProjectConfig>;
21
+ export interface FullJestProjectConfig {
22
22
  automock: boolean;
23
23
  browser: boolean;
24
24
  cache: boolean;
@@ -27,7 +27,10 @@ export interface FullJestConfig {
27
27
  coveragePathIgnorePatterns: string[];
28
28
  cwd: Path;
29
29
  detectLeaks: boolean;
30
+ detectOpenHandles: boolean;
30
31
  displayName: string | null;
32
+ errorOnDeprecated: boolean;
33
+ filter: Path | null;
31
34
  forceCoverageMatch: Glob[];
32
35
  globals: ConfigGlobals;
33
36
  haste: HasteConfig;
@@ -47,6 +50,7 @@ export interface FullJestConfig {
47
50
  runner: string;
48
51
  setupFiles: Path[];
49
52
  setupTestFrameworkScriptFile: Path | null;
53
+ skipFilter: boolean;
50
54
  skipNodeResolution: boolean;
51
55
  snapshotSerializers: Path[];
52
56
  testEnvironment: string;
@@ -75,3 +79,11 @@ export interface TsJestConfig {
75
79
  ignoreCoverageForAllDecorators?: boolean;
76
80
  useExperimentalLanguageServer?: boolean;
77
81
  }
82
+ export interface JestConfigNormalize {
83
+ hasDeprecationWarnings: boolean;
84
+ options: FullJestProjectConfig;
85
+ }
86
+ export interface CodeSourceMapPair {
87
+ code: string;
88
+ map: string;
89
+ }
@@ -1,4 +1,5 @@
1
+ import * as ts from 'typescript';
1
2
  import { CompilerOptions } from 'typescript/lib/typescript';
2
- import { FullJestConfig, JestConfig, PostProcessHook, TransformOptions, TsJestConfig } from './jest-types';
3
- export declare function postProcessCode(compilerOptions: CompilerOptions, jestConfig: JestConfig, tsJestConfig: TsJestConfig, transformOptions: TransformOptions, transpiledText: string, filePath: string): string;
4
- export declare const getPostProcessHook: (tsCompilerOptions: CompilerOptions, jestConfig: Partial<FullJestConfig>, tsJestConfig: TsJestConfig) => PostProcessHook;
3
+ import { CodeSourceMapPair, FullJestProjectConfig, JestConfig, PostProcessHook, TransformOptions, TsJestConfig } from './jest-types';
4
+ export declare function postProcessCode(compilerOptions: CompilerOptions, jestConfig: JestConfig, tsJestConfig: TsJestConfig, transformOptions: TransformOptions, transpileOutput: CodeSourceMapPair, filePath: string): CodeSourceMapPair;
5
+ export declare const getPostProcessHook: (tsCompilerOptions: ts.CompilerOptions, jestConfig: Partial<FullJestProjectConfig>, tsJestConfig: TsJestConfig) => PostProcessHook;
@@ -8,26 +8,35 @@ var __assign = (this && this.__assign) || Object.assign || function(t) {
8
8
  return t;
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- var babel = require("babel-core");
12
- var babel_plugin_istanbul_1 = require("babel-plugin-istanbul");
13
- var jestPreset = require("babel-preset-jest");
11
+ var babel;
12
+ var istanbulPlugin;
13
+ var jestPreset;
14
+ function importBabelDeps() {
15
+ if (babel) {
16
+ return;
17
+ }
18
+ babel = require('babel-core');
19
+ istanbulPlugin = require('babel-plugin-istanbul').default;
20
+ jestPreset = require('babel-preset-jest');
21
+ }
14
22
  var logger_1 = require("./logger");
15
- function postProcessCode(compilerOptions, jestConfig, tsJestConfig, transformOptions, transpiledText, filePath) {
23
+ function postProcessCode(compilerOptions, jestConfig, tsJestConfig, transformOptions, transpileOutput, filePath) {
16
24
  var postHook = exports.getPostProcessHook(compilerOptions, jestConfig, tsJestConfig);
17
- return postHook(transpiledText, filePath, jestConfig, transformOptions);
25
+ return postHook(transpileOutput, filePath, jestConfig, transformOptions);
18
26
  }
19
27
  exports.postProcessCode = postProcessCode;
20
28
  function createBabelTransformer(options) {
21
- options = __assign({}, options, { plugins: options.plugins || [], presets: (options.presets || []).concat([jestPreset]), retainLines: true, sourceMaps: 'inline' });
29
+ importBabelDeps();
30
+ options = __assign({}, options, { plugins: options.plugins || [], presets: (options.presets || []).concat([jestPreset]) });
22
31
  delete options.cacheDirectory;
23
32
  delete options.filename;
24
- return function (src, filename, config, transformOptions) {
25
- var theseOptions = Object.assign({ filename: filename }, options);
33
+ return function (codeSourcemapPair, filename, config, transformOptions) {
34
+ var theseOptions = Object.assign({ filename: filename, inputSourceMap: codeSourcemapPair.map }, options);
26
35
  if (transformOptions && transformOptions.instrument) {
27
36
  theseOptions.auxiliaryCommentBefore = ' istanbul ignore next ';
28
37
  theseOptions.plugins = theseOptions.plugins.concat([
29
38
  [
30
- babel_plugin_istanbul_1.default,
39
+ istanbulPlugin,
31
40
  {
32
41
  cwd: config.rootDir,
33
42
  exclude: [],
@@ -35,20 +44,17 @@ function createBabelTransformer(options) {
35
44
  ],
36
45
  ]);
37
46
  }
38
- return babel.transform(src, theseOptions).code;
47
+ return babel.transform(codeSourcemapPair.code, theseOptions);
39
48
  };
40
49
  }
41
50
  exports.getPostProcessHook = function (tsCompilerOptions, jestConfig, tsJestConfig) {
42
51
  if (tsJestConfig.skipBabel) {
43
52
  logger_1.logOnce('Not using any postprocess hook.');
44
- return function (src) { return src; };
53
+ return function (input) { return input; };
45
54
  }
46
55
  var plugins = Array.from((tsJestConfig.babelConfig && tsJestConfig.babelConfig.plugins) || []);
47
- if (tsCompilerOptions.allowSyntheticDefaultImports) {
48
- plugins.push('transform-es2015-modules-commonjs');
49
- }
50
- var babelOptions = __assign({}, tsJestConfig.babelConfig, { babelrc: tsJestConfig.useBabelrc || false, plugins: plugins, presets: tsJestConfig.babelConfig ? tsJestConfig.babelConfig.presets : [] });
56
+ var babelOptions = __assign({}, tsJestConfig.babelConfig, { babelrc: tsJestConfig.useBabelrc || false, plugins: plugins, presets: tsJestConfig.babelConfig ? tsJestConfig.babelConfig.presets : [], sourceMaps: tsJestConfig.disableSourceMapSupport !== true });
51
57
  logger_1.logOnce('Using babel with options:', babelOptions);
52
58
  return createBabelTransformer(babelOptions);
53
59
  };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdHByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcG9zdHByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUlBLGtDQUFvQztBQUNwQywrREFBbUQ7QUFDbkQsOENBQWdEO0FBVWhELG1DQUFtQztBQUduQyx5QkFDRSxlQUFnQyxFQUNoQyxVQUFzQixFQUN0QixZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsY0FBc0IsRUFDdEIsUUFBZ0I7SUFFaEIsSUFBTSxRQUFRLEdBQUcsMEJBQWtCLENBQ2pDLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxDQUNiLENBQUM7SUFFRixPQUFPLFFBQVEsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFmRCwwQ0FlQztBQUVELGdDQUFnQyxPQUE4QjtJQUM1RCxPQUFPLGdCQUNGLE9BQU8sSUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQzlCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFHckQsV0FBVyxFQUFFLElBQUksRUFHakIsVUFBVSxFQUFFLFFBQVEsR0FDckIsQ0FBQztJQUNGLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUM5QixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFFeEIsT0FBTyxVQUNMLEdBQVcsRUFDWCxRQUFnQixFQUNoQixNQUFrQixFQUNsQixnQkFBa0M7UUFFbEMsSUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsVUFBQSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDbkQsWUFBWSxDQUFDLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO1lBRS9ELFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2pEO29CQUNFLCtCQUFjO29CQUNkO3dCQUVFLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTzt3QkFDbkIsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7YUFDRixDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLGtCQUFrQixHQUFHLFVBQ2hDLGlCQUFrQyxFQUNsQyxVQUFzQixFQUN0QixZQUEwQjtJQUUxQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUU7UUFDMUIsZ0JBQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFDO0tBQ25CO0lBRUQsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDeEIsQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUNyRSxDQUFDO0lBRUYsSUFBSSxpQkFBaUIsQ0FBQyw0QkFBNEIsRUFBRTtRQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7S0FDbkQ7SUFFRCxJQUFNLFlBQVksZ0JBQ2IsWUFBWSxDQUFDLFdBQVcsSUFDM0IsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLElBQUksS0FBSyxFQUN6QyxPQUFPLFNBQUEsRUFDUCxPQUFPLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDMUUsQ0FBQztJQUVGLGdCQUFPLENBQUMsMkJBQTJCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFbkQsT0FBTyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMifQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdHByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcG9zdHByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVFBLElBQUksS0FBNEIsQ0FBQztBQUNqQyxJQUFJLGNBQThDLENBQUM7QUFDbkQsSUFBSSxVQUFzQyxDQUFDO0FBQzNDO0lBQ0UsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPO0tBQ1I7SUFDRCxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLGNBQWMsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsVUFBVSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFXRCxtQ0FBbUM7QUFJbkMseUJBQ0UsZUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLGVBQWtDLEVBQ2xDLFFBQWdCO0lBRWhCLElBQU0sUUFBUSxHQUFHLDBCQUFrQixDQUNqQyxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksQ0FDYixDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBZkQsMENBZUM7QUFFRCxnQ0FDRSxPQUE4QjtJQUU5QixlQUFlLEVBQUUsQ0FBQztJQUNsQixPQUFPLGdCQUNGLE9BQU8sSUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQzlCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FDdEQsQ0FBQztJQUNGLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUM5QixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFFeEIsT0FBTyxVQUNMLGlCQUFvQyxFQUNwQyxRQUFnQixFQUNoQixNQUFrQixFQUNsQixnQkFBa0M7UUFFbEMsSUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDaEMsRUFBRSxRQUFRLFVBQUEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxFQUFFLEVBQ25ELE9BQU8sQ0FDUixDQUFDO1FBQ0YsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDbkQsWUFBWSxDQUFDLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO1lBRS9ELFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2pEO29CQUNFLGNBQWM7b0JBQ2Q7d0JBRUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPO3dCQUNuQixPQUFPLEVBQUUsRUFBRTtxQkFDWjtpQkFDRjthQUNGLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBUSxLQUFLLENBQUMsU0FBUyxDQUNyQixpQkFBaUIsQ0FBQyxJQUFJLEVBQ3RCLFlBQVksQ0FDZ0IsQ0FBQztJQUNqQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxrQkFBa0IsR0FBRyxVQUNoQyxpQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsWUFBMEI7SUFFMUIsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO1FBQzFCLGdCQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUUzQyxPQUFPLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQztLQUN2QjtJQUVELElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3hCLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FDckUsQ0FBQztJQUVGLElBQU0sWUFBWSxnQkFDYixZQUFZLENBQUMsV0FBVyxJQUMzQixPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsSUFBSSxLQUFLLEVBQ3pDLE9BQU8sU0FBQSxFQUNQLE9BQU8sRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN6RSxVQUFVLEVBQUUsWUFBWSxDQUFDLHVCQUF1QixLQUFLLElBQUksR0FDMUQsQ0FBQztJQUVGLGdCQUFPLENBQUMsMkJBQTJCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFbkQsT0FBTyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMifQ==
@@ -1,3 +1,3 @@
1
- import { JestConfig, Path, TransformOptions } from './jest-types';
2
- export declare function process(src: string, filePath: Path, jestConfig: JestConfig, transformOptions?: TransformOptions): string;
1
+ import { CodeSourceMapPair, JestConfig, Path, TransformOptions } from './jest-types';
2
+ export declare function process(src: string, filePath: Path, jestConfig: JestConfig, transformOptions?: TransformOptions): CodeSourceMapPair | string;
3
3
  export declare function getCacheKey(fileData: string, filePath: Path, jestConfigStr: string, transformOptions?: TransformOptions): string;
@@ -24,19 +24,16 @@ function process(src, filePath, jestConfig, transformOptions) {
24
24
  if (tsJestConfig.enableTsDiagnostics) {
25
25
  utils_1.runTsDiagnostics(filePath, compilerOptions);
26
26
  }
27
- var tsTranspiledText = transpiler_1.transpileTypescript(filePath, src, compilerOptions, tsJestConfig);
27
+ var transpileOutput = transpiler_1.transpileTypescript(filePath, src, compilerOptions);
28
28
  if (tsJestConfig.ignoreCoverageForAllDecorators === true) {
29
- tsTranspiledText = tsTranspiledText.replace(/__decorate/g, '/* istanbul ignore next */__decorate');
29
+ transpileOutput.code = transpileOutput.code.replace(/__decorate/g, '/* istanbul ignore next */__decorate');
30
30
  }
31
31
  if (tsJestConfig.ignoreCoverageForDecorators === true) {
32
- tsTranspiledText = tsTranspiledText.replace(/(__decorate\(\[\r?\n[^\n\r]*)\/\*\s*istanbul\s*ignore\s*decorator(.*)\*\//g, '/* istanbul ignore next$2*/$1');
32
+ transpileOutput.code = transpileOutput.code.replace(/(__decorate\(\[\r?\n[^\n\r]*)\/\*\s*istanbul\s*ignore\s*decorator(.*)\*\//g, '/* istanbul ignore next$2*/$1');
33
33
  }
34
- var outputText = postprocess_1.postProcessCode(compilerOptions, jestConfig, tsJestConfig, transformOptions, tsTranspiledText, filePath);
35
- var modified = tsJestConfig.disableSourceMapSupport === true
36
- ? outputText
37
- : utils_1.injectSourcemapHook(filePath, tsTranspiledText, outputText);
34
+ var outputText = postprocess_1.postProcessCode(compilerOptions, jestConfig, tsJestConfig, transformOptions, transpileOutput, filePath);
38
35
  logger_1.flushLogs();
39
- return modified;
36
+ return { code: outputText.code, map: outputText.map };
40
37
  }
41
38
  exports.process = process;
42
39
  function getCacheKey(fileData, filePath, jestConfigStr, transformOptions) {
@@ -51,4 +48,4 @@ function getCacheKey(fileData, filePath, jestConfigStr, transformOptions) {
51
48
  .digest('hex');
52
49
  }
53
50
  exports.getCacheKey = getCacheKey;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ByZXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUFpQztBQUVqQyxtQ0FBOEM7QUFDOUMsNkNBQW9FO0FBQ3BFLGlDQUtpQjtBQUNqQiwyQ0FBbUQ7QUFFbkQsaUJBQ0UsR0FBVyxFQUNYLFFBQWMsRUFDZCxVQUFzQixFQUN0QixnQkFBMEQ7SUFBMUQsaUNBQUEsRUFBQSxxQkFBdUMsVUFBVSxFQUFFLEtBQUssRUFBRTtJQUkxRCxJQUFNLGVBQWUsR0FBRyxtQkFBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVFLGdCQUFPLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFbkQsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxJQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFHNUMsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUN2RCxHQUFHLEdBQUcsa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztLQUN2QztJQUVELElBQU0sV0FBVyxHQUNmLGVBQWUsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsSUFBTSxZQUFZLEdBQUcsdUJBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsZ0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUl4QyxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsRUFBRTtRQUNwQyx3QkFBZ0IsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDN0M7SUFFRCxJQUFJLGdCQUFnQixHQUFHLGdDQUFtQixDQUN4QyxRQUFRLEVBQ1IsR0FBRyxFQUNILGVBQWUsRUFDZixZQUFZLENBQ2IsQ0FBQztJQUVGLElBQUksWUFBWSxDQUFDLDhCQUE4QixLQUFLLElBQUksRUFBRTtRQUN4RCxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3pDLGFBQWEsRUFDYixzQ0FBc0MsQ0FDdkMsQ0FBQztLQUNIO0lBQ0QsSUFBSSxZQUFZLENBQUMsMkJBQTJCLEtBQUssSUFBSSxFQUFFO1FBQ3JELGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FDekMsNEVBQTRFLEVBQzVFLCtCQUErQixDQUNoQyxDQUFDO0tBQ0g7SUFFRCxJQUFNLFVBQVUsR0FBRyw2QkFBZSxDQUNoQyxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFFBQVEsQ0FDVCxDQUFDO0lBRUYsSUFBTSxRQUFRLEdBQ1osWUFBWSxDQUFDLHVCQUF1QixLQUFLLElBQUk7UUFDM0MsQ0FBQyxDQUFDLFVBQVU7UUFDWixDQUFDLENBQUMsMkJBQW1CLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRWxFLGtCQUFTLEVBQUUsQ0FBQztJQUVaLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUExRUQsMEJBMEVDO0FBS0QscUJBQ0UsUUFBZ0IsRUFDaEIsUUFBYyxFQUNkLGFBQXFCLEVBQ3JCLGdCQUEwRDtJQUExRCxpQ0FBQSxFQUFBLHFCQUF1QyxVQUFVLEVBQUUsS0FBSyxFQUFFO0lBRTFELElBQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFekQsSUFBTSxRQUFRLEdBQUcsbUJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVyRSxPQUFPLE1BQU07U0FDVixVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztTQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztTQUNoRCxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsR0FBRyxhQUFhLEVBQUUsTUFBTSxDQUFDO1NBQ25ELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuQixDQUFDO0FBaEJELGtDQWdCQyJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ByZXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUFpQztBQVFqQyxtQ0FBOEM7QUFDOUMsNkNBQWdEO0FBQ2hELGlDQUF5RTtBQUN6RSwyQ0FBbUQ7QUFFbkQsaUJBQ0UsR0FBVyxFQUNYLFFBQWMsRUFDZCxVQUFzQixFQUN0QixnQkFBMEQ7SUFBMUQsaUNBQUEsRUFBQSxxQkFBdUMsVUFBVSxFQUFFLEtBQUssRUFBRTtJQUkxRCxJQUFNLGVBQWUsR0FBRyxtQkFBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVFLGdCQUFPLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFbkQsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxJQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFHNUMsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUN2RCxHQUFHLEdBQUcsa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztLQUN2QztJQUVELElBQU0sV0FBVyxHQUNmLGVBQWUsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsSUFBTSxZQUFZLEdBQUcsdUJBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsZ0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUl4QyxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsRUFBRTtRQUNwQyx3QkFBZ0IsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDN0M7SUFFRCxJQUFNLGVBQWUsR0FBRyxnQ0FBbUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRTVFLElBQUksWUFBWSxDQUFDLDhCQUE4QixLQUFLLElBQUksRUFBRTtRQUN4RCxlQUFlLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNqRCxhQUFhLEVBQ2Isc0NBQXNDLENBQ3ZDLENBQUM7S0FDSDtJQUNELElBQUksWUFBWSxDQUFDLDJCQUEyQixLQUFLLElBQUksRUFBRTtRQUNyRCxlQUFlLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNqRCw0RUFBNEUsRUFDNUUsK0JBQStCLENBQ2hDLENBQUM7S0FDSDtJQUVELElBQU0sVUFBVSxHQUFHLDZCQUFlLENBQ2hDLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsUUFBUSxDQUNULENBQUM7SUFFRixrQkFBUyxFQUFFLENBQUM7SUFFWixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN4RCxDQUFDO0FBaEVELDBCQWdFQztBQUtELHFCQUNFLFFBQWdCLEVBQ2hCLFFBQWMsRUFDZCxhQUFxQixFQUNyQixnQkFBMEQ7SUFBMUQsaUNBQUEsRUFBQSxxQkFBdUMsVUFBVSxFQUFFLEtBQUssRUFBRTtJQUUxRCxJQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXpELElBQU0sUUFBUSxHQUFHLG1CQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckUsT0FBTyxNQUFNO1NBQ1YsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7U0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7U0FDaEQsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLEdBQUcsYUFBYSxFQUFFLE1BQU0sQ0FBQztTQUNuRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQWhCRCxrQ0FnQkMifQ==
@@ -1 +1,2 @@
1
- export declare function transpileIfTypescript(path: any, contents: any, config?: any, rootDir?: string): any;
1
+ import { ConfigGlobals } from './jest-types';
2
+ export declare function transpileIfTypescript(path: string, contents: string, config?: ConfigGlobals, rootDir?: string): string;
@@ -14,4 +14,4 @@ function transpileIfTypescript(path, contents, config, rootDir) {
14
14
  return contents;
15
15
  }
16
16
  exports.transpileIfTypescript = transpileIfTypescript;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwaWxlLWlmLXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zcGlsZS1pZi10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdDQUFrQztBQUNsQyxpQ0FBZ0U7QUFFaEUsK0JBQ0UsSUFBSSxFQUNKLFFBQVEsRUFDUixNQUFPLEVBQ1AsT0FBb0I7SUFBcEIsd0JBQUEsRUFBQSxZQUFvQjtJQUVwQixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzNELElBQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQy9DLGVBQWUsRUFBRSxtQkFBVyxDQUMxQixNQUFNLElBQUksZ0NBQXdCLENBQUMsTUFBTSxDQUFDLEVBQzFDLE9BQU8sQ0FDUjtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQWxCRCxzREFrQkMifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwaWxlLWlmLXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zcGlsZS1pZi10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdDQUFrQztBQUNsQyxpQ0FBZ0U7QUFHaEUsK0JBQ0UsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLE1BQXNCLEVBQ3RCLE9BQW9CO0lBQXBCLHdCQUFBLEVBQUEsWUFBb0I7SUFFcEIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMzRCxJQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMvQyxlQUFlLEVBQUUsbUJBQVcsQ0FDMUIsTUFBTSxJQUFJLGdDQUF3QixDQUFDLE1BQU0sQ0FBQyxFQUMxQyxPQUFPLENBQ1I7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQztLQUM5QjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFsQkQsc0RBa0JDIn0=
@@ -1,3 +1,3 @@
1
1
  import * as ts from 'typescript';
2
- import { TsJestConfig } from './jest-types';
3
- export declare function transpileTypescript(filePath: string, fileSrc: string, compilerOptions: ts.CompilerOptions, tsJestConfig: TsJestConfig): string;
2
+ import { CodeSourceMapPair } from './jest-types';
3
+ export declare function transpileTypescript(filePath: string, fileSrc: string, compilerOptions: ts.CompilerOptions): CodeSourceMapPair;
@@ -1,70 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var fs = require("fs");
4
- var process_1 = require("process");
5
3
  var ts = require("typescript");
6
4
  var logger_1 = require("./logger");
7
- function transpileTypescript(filePath, fileSrc, compilerOptions, tsJestConfig) {
8
- if (tsJestConfig.useExperimentalLanguageServer) {
9
- logger_1.logOnce('Using experimental language server.');
10
- return transpileViaLanguageServer(filePath, fileSrc, compilerOptions);
11
- }
5
+ function transpileTypescript(filePath, fileSrc, compilerOptions) {
12
6
  logger_1.logOnce('Compiling via normal transpileModule call');
13
- return transpileViaTranspileModile(filePath, fileSrc, compilerOptions);
7
+ var transpileOutput = transpileViaTranspileModule(filePath, fileSrc, compilerOptions);
8
+ return {
9
+ code: transpileOutput.outputText,
10
+ map: transpileOutput.sourceMapText,
11
+ };
14
12
  }
15
13
  exports.transpileTypescript = transpileTypescript;
16
- function transpileViaLanguageServer(filePath, fileSrc, compilerOptions) {
17
- var serviceHost = {
18
- getScriptFileNames: function () {
19
- return [filePath];
20
- },
21
- getScriptVersion: function (fileName) {
22
- return undefined;
23
- },
24
- getCurrentDirectory: function () {
25
- return process_1.cwd();
26
- },
27
- getScriptSnapshot: function (fileName) {
28
- if (fileName === filePath) {
29
- return ts.ScriptSnapshot.fromString(fileSrc);
30
- }
31
- var result = fs.readFileSync(fileName, 'utf8');
32
- return ts.ScriptSnapshot.fromString(result);
33
- },
34
- getCompilationSettings: function () {
35
- return compilerOptions;
36
- },
37
- getDefaultLibFileName: function () {
38
- return ts.getDefaultLibFilePath(compilerOptions);
39
- },
40
- fileExists: ts.sys.fileExists,
41
- readFile: ts.sys.readFile,
42
- readDirectory: ts.sys.readDirectory,
43
- realpath: ts.sys.realpath,
44
- getDirectories: ts.sys.getDirectories,
45
- directoryExists: ts.sys.directoryExists,
46
- };
47
- var service = ts.createLanguageService(serviceHost);
48
- var serviceOutput = service.getEmitOutput(filePath);
49
- var files = serviceOutput.outputFiles.filter(function (file) {
50
- return file.name.endsWith('js');
14
+ function transpileViaTranspileModule(filePath, fileSource, compilerOptions) {
15
+ var transpileOutput = ts.transpileModule(fileSource, {
16
+ compilerOptions: compilerOptions,
17
+ fileName: filePath,
18
+ reportDiagnostics: true,
51
19
  });
52
- logger_1.logOnce('JS files parsed', files.map(function (f) { return f.name; }));
53
- var diagnostics = service
54
- .getCompilerOptionsDiagnostics()
55
- .concat(service.getSyntacticDiagnostics(filePath))
56
- .concat(service.getSemanticDiagnostics(filePath));
20
+ var diagnostics = transpileOutput.diagnostics;
57
21
  if (diagnostics.length > 0) {
58
- var errors = diagnostics.map(function (d) { return d.messageText; }) + "\n";
59
- logger_1.logOnce("Diagnostic errors from TSC: " + errors);
60
- throw Error("TSC language server encountered errors while transpiling. Errors: " + errors);
22
+ var errors = formatDiagnostics(diagnostics);
23
+ logger_1.logOnce(logMessageForTranspilationErrors(errors));
24
+ throw createTranspilationError(errors);
61
25
  }
62
- return files[0].text;
26
+ return transpileOutput;
63
27
  }
64
- function transpileViaTranspileModile(filePath, fileSource, compilerOptions) {
65
- return ts.transpileModule(fileSource, {
66
- compilerOptions: compilerOptions,
67
- fileName: filePath,
68
- }).outputText;
28
+ function formatDiagnostics(diagnostics) {
29
+ return diagnostics.map(function (d) { return d.messageText; }) + "\n";
30
+ }
31
+ function createTranspilationError(errors) {
32
+ return Error("TypeScript compiler encountered syntax errors while transpiling. Errors: " + errors);
33
+ }
34
+ function logMessageForTranspilationErrors(errors) {
35
+ return "Diagnostic errors from TSC: " + errors;
69
36
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwaWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc3BpbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUJBQXlCO0FBQ3pCLG1DQUE4QjtBQUM5QiwrQkFBaUM7QUFDakMsbUNBQW1DO0FBSW5DLDZCQUNFLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixlQUFtQyxFQUNuQyxZQUEwQjtJQUUxQixJQUFJLFlBQVksQ0FBQyw2QkFBNkIsRUFBRTtRQUM5QyxnQkFBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDL0MsT0FBTywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0QsZ0JBQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sMkJBQTJCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBWkQsa0RBWUM7QUFPRCxvQ0FDRSxRQUFnQixFQUNoQixPQUFlLEVBQ2YsZUFBbUM7SUFFbkMsSUFBTSxXQUFXLEdBQTJCO1FBRTFDLGtCQUFrQixFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBRUQsZ0JBQWdCLEVBQUUsVUFBQSxRQUFRO1lBRXhCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxtQkFBbUIsRUFBRTtZQUNuQixPQUFPLGFBQUcsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUVELGlCQUFpQixFQUFFLFVBQUEsUUFBUTtZQUN6QixJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBRXpCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUM7WUFFRCxJQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxzQkFBc0IsRUFBRTtZQUN0QixPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO1FBRUQscUJBQXFCLEVBQUU7WUFDckIsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVU7UUFDN0IsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUTtRQUN6QixhQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1FBQ25DLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVE7UUFDekIsY0FBYyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYztRQUNyQyxlQUFlLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlO0tBQ3hDLENBQUM7SUFDRixJQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsSUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxJQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUk7UUFFakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNILGdCQUFPLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEVBQU4sQ0FBTSxDQUFDLENBQUMsQ0FBQztJQUduRCxJQUFNLFdBQVcsR0FBRyxPQUFPO1NBQ3hCLDZCQUE2QixFQUFFO1NBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXBELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDMUIsSUFBTSxNQUFNLEdBQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxXQUFXLEVBQWIsQ0FBYSxDQUFDLE9BQUksQ0FBQztRQUMxRCxnQkFBTyxDQUFDLGlDQUErQixNQUFRLENBQUMsQ0FBQztRQUVqRCxNQUFNLEtBQUssQ0FDVCx1RUFBcUUsTUFBUSxDQUM5RSxDQUFDO0tBQ0g7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkIsQ0FBQztBQUtELHFDQUNFLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLGVBQW1DO0lBRW5DLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUU7UUFDcEMsZUFBZSxpQkFBQTtRQUNmLFFBQVEsRUFBRSxRQUFRO0tBQ25CLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDaEIsQ0FBQyJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwaWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc3BpbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsK0JBQWlDO0FBQ2pDLG1DQUFtQztBQUluQyw2QkFDRSxRQUFnQixFQUNoQixPQUFlLEVBQ2YsZUFBbUM7SUFFbkMsZ0JBQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQ3JELElBQU0sZUFBZSxHQUFHLDJCQUEyQixDQUNqRCxRQUFRLEVBQ1IsT0FBTyxFQUNQLGVBQWUsQ0FDaEIsQ0FBQztJQUNGLE9BQU87UUFDTCxJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVU7UUFDaEMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxhQUFhO0tBQ25DLENBQUM7QUFDSixDQUFDO0FBZkQsa0RBZUM7QUFLRCxxQ0FDRSxRQUFnQixFQUNoQixVQUFrQixFQUNsQixlQUFtQztJQUVuQyxJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRTtRQUNyRCxlQUFlLGlCQUFBO1FBQ2YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QixDQUFDLENBQUM7SUFDSSxJQUFBLHlDQUFXLENBQW9CO0lBRXRDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDMUIsSUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsZ0JBQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsMkJBQTJCLFdBQTRCO0lBRXJELE9BQVUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxXQUFXLEVBQWIsQ0FBYSxDQUFDLE9BQUksQ0FBQztBQUNwRCxDQUFDO0FBRUQsa0NBQWtDLE1BQWM7SUFDNUMsT0FBTyxLQUFLLENBQ1YsOEVBQTRFLE1BQVEsQ0FDckYsQ0FBQztBQUNOLENBQUM7QUFFRCwwQ0FBMEMsTUFBYztJQUN0RCxPQUFPLGlDQUErQixNQUFRLENBQUM7QUFDakQsQ0FBQyJ9
package/dist/utils.d.ts CHANGED
@@ -2,12 +2,7 @@ import * as tsc from 'typescript';
2
2
  import { ConfigGlobals, JestConfig, TsJestConfig } from './jest-types';
3
3
  import * as _ from 'lodash';
4
4
  export declare function getTSJestConfig(globals: ConfigGlobals): TsJestConfig;
5
- export declare function mockGlobalTSConfigSchema(globals: any): {
6
- 'ts-jest': {
7
- tsConfigFile: string;
8
- };
9
- };
5
+ export declare function mockGlobalTSConfigSchema(globals: ConfigGlobals): ConfigGlobals;
10
6
  export declare const getTSConfig: ((globals: any, rootDir?: string) => tsc.CompilerOptions) & _.MemoizedFunction;
11
7
  export declare function cacheFile(jestConfig: JestConfig, filePath: string, src: string): void;
12
- export declare function injectSourcemapHook(filePath: string, typeScriptCode: string, src: string): string;
13
8
  export declare function runTsDiagnostics(filePath: string, compilerOptions: tsc.CompilerOptions): void;
package/dist/utils.js CHANGED
@@ -19,28 +19,26 @@ function getTSJestConfig(globals) {
19
19
  return globals && globals['ts-jest'] ? globals['ts-jest'] : {};
20
20
  }
21
21
  exports.getTSJestConfig = getTSJestConfig;
22
- function formatTscParserErrors(errors) {
23
- return errors.map(function (s) { return JSON.stringify(s, null, 4); }).join('\n');
22
+ function formatTsDiagnostics(errors) {
23
+ var defaultFormatHost = {
24
+ getCurrentDirectory: function () { return tsc.sys.getCurrentDirectory(); },
25
+ getCanonicalFileName: function (fileName) { return fileName; },
26
+ getNewLine: function () { return tsc.sys.newLine; },
27
+ };
28
+ return tsc.formatDiagnostics(errors, defaultFormatHost);
24
29
  }
25
30
  function readCompilerOptions(configPath, rootDir) {
26
31
  configPath = path.resolve(rootDir, configPath);
27
- var loaded = tsc.readConfigFile(configPath, function (file) {
28
- var read = tsc.sys.readFile(file);
29
- if (!read) {
30
- throw new Error("ENOENT: no such file or directory, open '" + configPath + "'");
31
- }
32
- return read;
33
- });
34
- if (loaded.error) {
35
- throw new Error(JSON.stringify(loaded.error, null, 4));
32
+ var _a = tsc.readConfigFile(configPath, tsc.sys.readFile), config = _a.config, error = _a.error;
33
+ if (error) {
34
+ throw error;
36
35
  }
37
- var basePath = path.dirname(configPath);
38
- var parsedConfig = tsc.parseJsonConfigFileContent(loaded.config, tsc.sys, basePath);
39
- if (parsedConfig.errors.length > 0) {
40
- var formattedErrors = formatTscParserErrors(parsedConfig.errors);
36
+ var _b = tsc.parseJsonConfigFileContent(config, tsc.sys, path.resolve(rootDir)), errors = _b.errors, options = _b.options;
37
+ if (errors.length > 0) {
38
+ var formattedErrors = formatTsDiagnostics(errors);
41
39
  throw new Error("Some errors occurred while attempting to read from " + configPath + ": " + formattedErrors);
42
40
  }
43
- return parsedConfig.options;
41
+ return options;
44
42
  }
45
43
  function getStartDir() {
46
44
  var grandparent = path.resolve(__dirname, '..', '..');
@@ -61,8 +59,8 @@ function getPathToClosestTSConfig(startDir, previousDir) {
61
59
  }
62
60
  return getPathToClosestTSConfig(path.join(startDir, '..'), startDir);
63
61
  }
64
- function getTSConfigPathFromConfig(globals) {
65
- var defaultTSConfigFile = getPathToClosestTSConfig();
62
+ function getTSConfigPathFromConfig(globals, rootDir) {
63
+ var defaultTSConfigFile = getPathToClosestTSConfig(rootDir);
66
64
  if (!globals) {
67
65
  return defaultTSConfigFile;
68
66
  }
@@ -82,7 +80,7 @@ exports.getTSConfig = _.memoize(getTSConfig_local, function (globals, rootDir) {
82
80
  });
83
81
  function getTSConfig_local(globals, rootDir) {
84
82
  if (rootDir === void 0) { rootDir = ''; }
85
- var configPath = getTSConfigPathFromConfig(globals);
83
+ var configPath = getTSConfigPathFromConfig(globals, rootDir);
86
84
  logger_1.logOnce("Reading tsconfig file from path " + configPath);
87
85
  var skipBabel = getTSJestConfig(globals).skipBabel;
88
86
  var config = readCompilerOptions(configPath, rootDir);
@@ -96,9 +94,6 @@ function getTSConfig_local(globals, rootDir) {
96
94
  }
97
95
  config.module = config.module || tsc.ModuleKind.CommonJS;
98
96
  config.jsx = config.jsx || tsc.JsxEmit.React;
99
- if (config.allowSyntheticDefaultImports && !skipBabel) {
100
- config.module = tsc.ModuleKind.ES2015;
101
- }
102
97
  return config;
103
98
  }
104
99
  function cacheFile(jestConfig, filePath, src) {
@@ -111,30 +106,12 @@ function cacheFile(jestConfig, filePath, src) {
111
106
  }
112
107
  }
113
108
  exports.cacheFile = cacheFile;
114
- function injectSourcemapHook(filePath, typeScriptCode, src) {
115
- var start = src.length > 12 ? src.substr(1, 10) : '';
116
- var filePathParam = JSON.stringify(filePath);
117
- var codeParam = JSON.stringify(typeScriptCode);
118
- var sourceMapHook = "require('ts-jest').install(" + filePathParam + ", " + codeParam + ")";
119
- return start === 'use strict'
120
- ? "'use strict';" + sourceMapHook + ";" + src
121
- : sourceMapHook + ";" + src;
122
- }
123
- exports.injectSourcemapHook = injectSourcemapHook;
124
109
  function runTsDiagnostics(filePath, compilerOptions) {
125
110
  var program = tsc.createProgram([filePath], compilerOptions);
126
111
  var allDiagnostics = tsc.getPreEmitDiagnostics(program);
127
- var formattedDiagnostics = allDiagnostics.map(function (diagnostic) {
128
- if (diagnostic.file) {
129
- var _a = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start), line = _a.line, character = _a.character;
130
- var message = tsc.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
131
- return path.relative(process.cwd(), diagnostic.file.fileName) + " (" + (line + 1) + "," + (character + 1) + "): " + message + "\n";
132
- }
133
- return "" + tsc.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
134
- });
135
- if (formattedDiagnostics.length) {
136
- throw new Error(formattedDiagnostics.join(''));
112
+ if (allDiagnostics.length) {
113
+ throw new Error(formatTsDiagnostics(allDiagnostics));
137
114
  }
138
115
  }
139
116
  exports.runTsDiagnostics = runTsDiagnostics;
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLCtCQUFpQztBQUNqQyx1QkFBeUI7QUFDekIsa0NBQW9DO0FBQ3BDLDJCQUE2QjtBQUM3QixnQ0FBa0M7QUFFbEMsbUNBQW1DO0FBQ25DLDBCQUE0QjtBQUU1Qix5QkFBZ0MsT0FBc0I7SUFDcEQsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRkQsMENBRUM7QUFFRCwrQkFBK0IsTUFBd0I7SUFDckQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUExQixDQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCw2QkFBNkIsVUFBa0IsRUFBRSxPQUFlO0lBQzlELFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUcvQyxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFBLElBQUk7UUFDaEQsSUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJcEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQ2IsOENBQTRDLFVBQVUsTUFBRyxDQUMxRCxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2hCLE1BQU0s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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLCtCQUFpQztBQUNqQyx1QkFBeUI7QUFDekIsa0NBQW9DO0FBQ3BDLDJCQUE2QjtBQUM3QixnQ0FBa0M7QUFFbEMsbUNBQW1DO0FBQ25DLDBCQUE0QjtBQUU1Qix5QkFBZ0MsT0FBc0I7SUFDcEQsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRkQsMENBRUM7QUFFRCw2QkFBNkIsTUFBd0I7SUFDbkQsSUFBTSxpQkFBaUIsR0FBOEI7UUFDbkQsbUJBQW1CLEVBQUUsY0FBTSxPQUFBLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsRUFBN0IsQ0FBNkI7UUFDeEQsb0JBQW9CLEVBQUUsVUFBQSxRQUFRLElBQUksT0FBQSxRQUFRLEVBQVIsQ0FBUTtRQUMxQyxVQUFVLEVBQUUsY0FBTSxPQUFBLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFmLENBQWU7S0FDbEMsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCw2QkFDRSxVQUFrQixFQUNsQixPQUFlO0lBRWYsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLElBQUEscURBQW9FLEVBQWxFLGtCQUFNLEVBQUUsZ0JBQUssQ0FBc0Q7SUFDM0UsSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLEtBQUssQ0FBQztLQUNiO0lBRUssSUFBQSwyRUFJTCxFQUpPLGtCQUFNLEVBQUUsb0JBQU8sQ0FJckI7SUFFRixJQUFJLE1BQU0sQ0FBQyxNQUFN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
package/index.js CHANGED
@@ -12,5 +12,4 @@ function lazyRequire(fnName) {
12
12
  module.exports = {
13
13
  process: lazyRequire('process'),
14
14
  getCacheKey: lazyRequire('getCacheKey'),
15
- install: require('./dist/install').install,
16
15
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-jest",
3
- "version": "22.4.6",
3
+ "version": "23.0.0",
4
4
  "main": "index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "description": "A preprocessor with sourcemap support to help use Typescript with Jest",
@@ -62,43 +62,43 @@
62
62
  ]
63
63
  },
64
64
  "dependencies": {
65
- "babel-core": "^6.26.3",
66
65
  "babel-plugin-istanbul": "^4.1.6",
67
- "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
68
- "babel-preset-jest": "^22.4.3",
66
+ "babel-preset-jest": "^23.0.0",
69
67
  "cpx": "^1.5.0",
70
- "fs-extra": "6.0.0",
71
- "jest-config": "^22.4.3",
68
+ "fs-extra": "6.0.1",
69
+ "jest-config": "^23.0.0",
72
70
  "lodash": "^4.17.10",
73
- "pkg-dir": "^2.0.0",
74
- "source-map-support": "^0.5.5",
75
- "yargs": "^11.0.0"
71
+ "pkg-dir": "^3.0.0",
72
+ "yargs": "^12.0.1"
76
73
  },
77
74
  "peerDependencies": {
78
- "jest": "^22.4.0 || ^22.5.0-alpha.1 || ^23.0.0-alpha.1",
75
+ "babel-core": "^6.26.3 || ^7.0.0-0",
76
+ "jest": "^23.0.0 || ^24.0.0",
79
77
  "typescript": "2.x"
80
78
  },
81
79
  "devDependencies": {
82
- "@types/lodash": "^4.14.108",
83
80
  "@types/babel-core": "latest",
84
81
  "@types/es6-shim": "0.31.37",
85
- "@types/fs-extra": "5.0.2",
86
- "@types/jest": "22.2.3",
87
- "@types/node": "10.0.4",
88
- "@types/react": "16.3.13",
89
- "babel-preset-env": "^1.6.0",
82
+ "@types/fs-extra": "5.0.3",
83
+ "@types/jest": "^23.1.0",
84
+ "@types/lodash": "^4.14.109",
85
+ "@types/node": "10.5.1",
86
+ "@types/react": "16.4.6",
87
+ "@types/yargs": "^11.0.0",
88
+ "babel-core": "^6.26.3",
89
+ "babel-preset-env": "^1.7.0",
90
90
  "cross-spawn": "latest",
91
91
  "cross-spawn-with-kill": "latest",
92
92
  "doctoc": "latest",
93
93
  "husky": "^0.14.3",
94
- "jest": "^22.4.3",
95
- "lint-staged": "^7.0.5",
94
+ "jest": "^23.0.0",
95
+ "lint-staged": "^7.1.2",
96
96
  "prettier": "^1.12.1",
97
- "react": "16.3.2",
98
- "react-test-renderer": "16.3.2",
97
+ "react": "16.4.1",
98
+ "react-test-renderer": "16.4.1",
99
99
  "reflect-metadata": "^0.1.12",
100
- "rimraf": "latest",
101
- "ts-jest": "22.4.4",
100
+ "rimraf": "^2.6.2",
101
+ "ts-jest": "22.4.6",
102
102
  "tslint": "^5.10.0",
103
103
  "typescript": "^2.8.3"
104
104
  },
package/tslint.json CHANGED
@@ -20,6 +20,16 @@
20
20
  ],
21
21
  "ordered-imports": false,
22
22
  "align": false,
23
- "object-literal-sort-keys": false
23
+ "object-literal-sort-keys": false,
24
+ "no-console": [
25
+ true,
26
+ "debug",
27
+ "info",
28
+ "time",
29
+ "timeEnd",
30
+ "trace"
31
+ ],
32
+ "no-empty": false,
33
+ "member-access": false
24
34
  }
25
35
  }