JSPM

ts-jest

17.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 17551441
  • Score
    100M100P100Q225426F
  • License MIT

A preprocessor with sourcemap support to help use Typescript with Jest

Package Exports

  • ts-jest
  • ts-jest/coverageprocessor
  • ts-jest/dist
  • ts-jest/dist/index.js
  • ts-jest/dist/utils
  • ts-jest/preprocessor
  • ts-jest/preprocessor.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ts-jest) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ts-jest

Build Status for node v7 Build Status for node v6 Build Status for node v4 Build Status for Windows

Table of Contents

Versioning

From version "jest": "17.0.0" we are using same MAJOR.MINOR as Jest.
For "jest": "< 17.0.0" use "ts-jest": "0.1.13".

Usage

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": {
    "transform": {
      ".(ts|tsx)": "<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 jest does not provide code coverage remapping for transpiled codes, so if you'd like to have code coverage it needs additional coverage remapping. This can be done via writing custom processing script, or configure testResultsProcessor to use built-in coverage remapping in ts-jest.

{
  "jest": {
    "transform": {
      ".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "testResultsProcessor": "<rootDir>/node_modules/ts-jest/coverageprocessor.js"
  }
}

Note: If you're experiencing remapping failure with source lookup, it may due to pre-created cache from jest. It can be manually deleted, or execute with --no-cache to not use those.

Options

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.

Note: You can't target ES6 while using node v4 in your test environment.

How to Contribute

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.

Quickstart to run tests (only if you're working on this package)

git clone https://github.com/kulshekhar/ts-jest
cd ts-jest
npm install
npm test

License

Copyright (c) Authors.
This source code is licensed under the MIT license.