ts-jest 20.0.13 → 20.0.14
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/AUTHORS +2 -1
- package/README.md +17 -13
- package/collaborator-guidelines.md +10 -0
- package/dist/utils.js +2 -4
- package/package.json +1 -1
package/AUTHORS
CHANGED
|
@@ -33,6 +33,7 @@ OJ Kwon <kwon.ohjoong@gmail.com>
|
|
|
33
33
|
Oliver Joseph Ash <oliverjash@gmail.com>
|
|
34
34
|
Orta Therox <orta.therox+gh@gmail.com>
|
|
35
35
|
Patrick Housley <patrick.f.housley@gmail.com>
|
|
36
|
+
Rikki Tooley <rikki.tooley@travellocal.com>
|
|
36
37
|
Tom Crockett <tomcrockett@tuplehealth.com>
|
|
38
|
+
Trivikram Kamat <trivikr.dev@gmail.com>
|
|
37
39
|
Umidbek Karimov <uma.karimov@gmail.com>
|
|
38
|
-
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
> Note: Looking for collaborators. [Want to help improve ts-jest?](https://github.com/kulshekhar/ts-jest/issues/223)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
ts-jest is a TypeScript preprocessor with source map support for Jest that lets you use Jest to test projects written in TypeScript.
|
|
13
13
|
|
|
14
14
|
## Table of Contents
|
|
15
15
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
- [Configuration](#configuration)
|
|
28
28
|
- [tsconfig](#tsconfig)
|
|
29
29
|
- [Skipping Babel](#skipping-babel)
|
|
30
|
+
- [Using `.babelrc`](#using-babelrc)
|
|
30
31
|
- [Use cases](#use-cases)
|
|
31
32
|
- [React Native](#react-native)
|
|
32
33
|
- [Angular 2](#angular-2)
|
|
@@ -34,8 +35,8 @@
|
|
|
34
35
|
- [Importing packages written in TypeScript](#importing-packages-written-in-typescript)
|
|
35
36
|
- [Known Limitations](#known-limitations)
|
|
36
37
|
- [Known limitations for TS compiler options](#known-limitations-for-ts-compiler-options)
|
|
38
|
+
- [TS compiler && error reporting](#ts-compiler--error-reporting)
|
|
37
39
|
- [Known Limitations for hoisting](#known-limitations-for-hoisting)
|
|
38
|
-
- [Current limitations for breakpoints](#current-limitations-for-breakpoints)
|
|
39
40
|
- [How to Contribute](#how-to-contribute)
|
|
40
41
|
- [Quickstart to run tests (only if you're working on this package)](#quickstart-to-run-tests-only-if-youre-working-on-this-package)
|
|
41
42
|
- [License](#license)
|
|
@@ -60,6 +61,7 @@ Modify your project's `package.json` so that the `jest` section looks something
|
|
|
60
61
|
"ts",
|
|
61
62
|
"tsx",
|
|
62
63
|
"js",
|
|
64
|
+
"jsx",
|
|
63
65
|
"json"
|
|
64
66
|
]
|
|
65
67
|
}
|
|
@@ -71,25 +73,25 @@ This setup should allow you to write Jest tests in Typescript and be able to loc
|
|
|
71
73
|
From version `"jest": "17.0.0"` we are using same MAJOR.MINOR as [`Jest`](https://github.com/facebook/jest).
|
|
72
74
|
For `"jest": "< 17.0.0"` use `"ts-jest": "0.1.13"`. Docs for it see [here](https://github.com/kulshekhar/ts-jest/blob/e1f95e524ed62091736f70abf63530f1f107ec03/README.md).
|
|
73
75
|
|
|
74
|
-
You can try using
|
|
76
|
+
You can try using ts-jest with `jest@test`; use at your own risk! (And file an issue if you find problems.)
|
|
75
77
|
|
|
76
78
|
### Coverage
|
|
77
79
|
|
|
78
|
-
Prior to version `20.0.0`, coverage reports could be obtained using the inbuilt coverage processor in
|
|
80
|
+
Prior to version `20.0.0`, coverage reports could be obtained using the inbuilt coverage processor in ts-jest. Starting with version `20.0.0`, ts-jest delegates coverage processing to jest and no longer includes a coverage processor.
|
|
79
81
|
|
|
80
82
|
To generate coverage results, set the `mapCoverage` property in the `jest` configuration section to `true`.
|
|
81
83
|
|
|
82
84
|
> Please note that the `outDir` property in the `jest` configuration section is removed in coverage mode, due to [#201](https://github.com/kulshekhar/ts-jest/issues/201).
|
|
83
85
|
|
|
84
86
|
## Default Setup
|
|
85
|
-
|
|
87
|
+
ts-jest tries to ship with sensible defaults, to get you on your feet as quickly as possible.
|
|
86
88
|
|
|
87
89
|
### Sourcemap support
|
|
88
90
|
Sourcemaps should work out of the box. That means your stack traces should have the correct line numbers,
|
|
89
91
|
and you should be able to step through the TypeScript code using a debugger.
|
|
90
92
|
|
|
91
93
|
### Automatically finds tsconfig.json
|
|
92
|
-
|
|
94
|
+
ts-jest automatically located your `tsconfig` file.
|
|
93
95
|
If you want to compile typescript with a special configuration, you [can do that too](#tsconfig)
|
|
94
96
|
|
|
95
97
|
### Supports synthetic modules
|
|
@@ -101,12 +103,12 @@ import * as React from 'react';
|
|
|
101
103
|
//Synthetic default imports:
|
|
102
104
|
import React from 'react';
|
|
103
105
|
```
|
|
104
|
-
|
|
106
|
+
ts-jest tries to support that. If `allowSyntheticDefaultImports` is set to true in your `tsconfig` file, it uses babel
|
|
105
107
|
to automatically create the synthetic default exports for you - nothing else needed.
|
|
106
108
|
You can opt-out of this behaviour with the [skipBabel flag](#skipping-babel)
|
|
107
109
|
|
|
108
110
|
### Supports automatic of jest.mock() calls
|
|
109
|
-
[Just like Jest](https://facebook.github.io/jest/docs/manual-mocks.html#using-with-es-module-imports)
|
|
111
|
+
[Just like Jest](https://facebook.github.io/jest/docs/manual-mocks.html#using-with-es-module-imports) ts-jest
|
|
110
112
|
automatically uses babel to hoist your `jest.mock()` calls to the top of your file.
|
|
111
113
|
You can opt-out of this behaviour with the [skipBabel flag](#skipping-babel)
|
|
112
114
|
|
|
@@ -118,7 +120,7 @@ By default this package will try to locate `tsconfig.json` and use its compiler
|
|
|
118
120
|
|
|
119
121
|
You can override this behaviour by pointing ts-jest to a custom TypeScript configuration file.
|
|
120
122
|
You can do this by setting the `tsConfigFile` option in your global variables under the `ts-jest` key to path of the
|
|
121
|
-
custom configuration file (relative to the project's root directory)
|
|
123
|
+
custom configuration file (relative to the project's root directory)
|
|
122
124
|
|
|
123
125
|
```json
|
|
124
126
|
{
|
|
@@ -276,7 +278,7 @@ By default Jest ignores everything in `node_modules`. This setting prevents Jest
|
|
|
276
278
|
```
|
|
277
279
|
### TS compiler && error reporting
|
|
278
280
|
- ts-jest only returns syntax errors from [tsc](https://github.com/Microsoft/TypeScript/issues/4864#issuecomment-141567247)
|
|
279
|
-
- Non syntactic errors do not show up in [jest](https://github.com/facebook/jest/issues/2168)
|
|
281
|
+
- Non syntactic errors do not show up in [jest](https://github.com/facebook/jest/issues/2168)
|
|
280
282
|
- If you only want to run jest if tsc does not output any errors, a workaround is `tsc --noEmit -p . && jest`
|
|
281
283
|
|
|
282
284
|
### Known Limitations for hoisting
|
|
@@ -284,9 +286,11 @@ If the `jest.mock()` calls is placed after actual code, (e.g. after functions or
|
|
|
284
286
|
the line numbers in stacktraces will be off.
|
|
285
287
|
We suggest placing the `jest.mock()` calls after the imports, but before any actual code.
|
|
286
288
|
|
|
287
|
-
###
|
|
288
|
-
|
|
289
|
-
|
|
289
|
+
### `const enum` is not supported
|
|
290
|
+
|
|
291
|
+
This is due to a limitation in the ts-jest preprocessor which compiles each test file individually, therefore ignoring implementations of ambient declarations. The TypeScript team currently have [no plan to support const enum inlining](https://github.com/Microsoft/TypeScript/issues/5243) for this particular compiler method. See #112 and #281 for more information.
|
|
292
|
+
|
|
293
|
+
One possible workaround is to manually inline usage of const enum values - i.e. in your code, use `let x: Enum = 1 as Enum` as opposed to `let x: Enum = Enum.FirstValue`. This allows you to keep the type checking on enums without running into this issue.
|
|
290
294
|
|
|
291
295
|
## How to Contribute
|
|
292
296
|
If you have any suggestions/pull requests to turn this into a useful package, just open an issue and I'll be happy to work with you to improve this.
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
2
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
3
|
+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
|
4
|
+
|
|
5
|
+
- [Collaborator Guidelines](#collaborator-guidelines)
|
|
6
|
+
- [Merging PRs](#merging-prs)
|
|
7
|
+
- [Versioning](#versioning)
|
|
8
|
+
|
|
9
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
10
|
+
|
|
1
11
|
# Collaborator Guidelines
|
|
2
12
|
|
|
3
13
|
## Merging PRs
|
package/dist/utils.js
CHANGED
|
@@ -127,9 +127,7 @@ function getTSConfig(globals, collectCoverage) {
|
|
|
127
127
|
delete config.sourceMap;
|
|
128
128
|
config.inlineSourceMap = true;
|
|
129
129
|
config.inlineSources = true;
|
|
130
|
-
|
|
131
|
-
delete config.outDir;
|
|
132
|
-
}
|
|
130
|
+
delete config.outDir;
|
|
133
131
|
var result;
|
|
134
132
|
if (isReferencedExternalFile) {
|
|
135
133
|
config.jsx = config.jsx || tsc.JsxEmit.React;
|
|
@@ -156,4 +154,4 @@ function getTSConfig(globals, collectCoverage) {
|
|
|
156
154
|
return result;
|
|
157
155
|
}
|
|
158
156
|
exports.getTSConfig = getTSConfig;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1QkFBeUI7QUFDekIsMkNBQXdDO0FBQ3hDLDJCQUE2QjtBQUM3QixnQ0FBa0M7QUFJbEMsSUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFJN0QscUJBQXFCLElBQUk7SUFDdkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVuRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDckIsQ0FBQztBQUVELGdDQUFnQyxRQUFRLEVBQUUsSUFBSTtJQUM1QyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTztVQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQztVQUNwRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxDQUFDLHVCQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FB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
|