Note: This is currently just a hack and might not be suitable for all setups.
Note: This repo uses code from the source-map-support package to show errors with mapped locations.
To use this in your project, run:
npm install --save-dev ts-jest
Modify your project's package.json
so that the jest
section looks something like:
{
"jest": {
"scriptPreprocessor": "<rootDir>/node_modules/ts-jest/preprocessor.js",
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
]
}
}
This setup should allow you to write Jest tests in Typescript and be able to locate errors without any additional gymnastics.
By default this package will try to locate tsconfig.json
and use its compiler options for your .ts
and .tsx
files.
But you are able to override this behaviour and provide another path to your config for TypeScript by using __TS_CONFIG__
option in globals
for jest
:
{
"jest": {
"globals": {
"__TS_CONFIG__": "my-tsconfig.json"
}
}
}
Or even declare options for tsc
instead of using separate config, like this:
{
"jest": {
"globals": {
"__TS_CONFIG__": {
"module": "commonjs",
"jsx": "react"
}
}
}
}
For all available options see TypeScript docs.
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.
git clone https://github.com/kulshekhar/ts-jest
cd ts-jest
npm install
npm test
Note: On Windows machines you have to run
test
command with administrator privileges, because we have to create symlink forts-jest
innode_modules
in order to correctly run integration tests.
Copyright (c) Kulshekhar Kabra.
This source code is licensed under the MIT license.