TypeScript Config option
The tsconfig
option allows you to define which tsconfig
JSON file to use. An inline compiler options object can also be specified instead of a file path.
By default ts-jest
will try to find a tsconfig.json
in your project. If it cannot find one, it will use the default TypeScript compiler options; except, ES2015
is used as target
instead of ES5
.
If you need to use defaults and force ts-jest
to use the defaults even if there is a tsconfig.json
in your project, you can set this option to false
.
Examples
Path to a tsconfig
file
The path should be relative to the current working directory where you start Jest from. You can also use <rootDir>
in the path to start from the project root dir.
// jest.config.js
module.exports = {
// [...]
globals: {
'ts-jest': {
tsconfig: 'tsconfig.test.json',
},
},
}
// package.json
{
// [...]
"jest": {
"globals": {
"ts-jest": {
"tsconfig": "tsconfig.test.json"
}
}
}
}
Inline compiler options
Refer to the TypeScript compiler options for reference.
It's basically the same object you'd put in your tsconfig.json
's compilerOptions
.
// jest.config.js
module.exports = {
// [...]
globals: {
'ts-jest': {
tsconfig: {
importHelpers: true,
},
},
},
}
// package.json
{
// [...]
"jest": {
"globals": {
"ts-jest": {
"tsconfig": {
"importHelpers": true
}
}
}
}
}
Disable auto-lookup
By default ts-jest
will try to find a tsconfig.json
in your project. But you may not want to use it at all and keep TypeScript default options. You can achieve this by setting tsconfig
to false
.
// jest.config.js
module.exports = {
// [...]
globals: {
'ts-jest': {
tsconfig: false,
},
},
}
// package.json
{
// [...]
"jest": {
"globals": {
"ts-jest": {
"tsconfig": false
}
}
}
}