Socket
Socket
Sign inDemoInstall

ts-jest

Package Overview
Dependencies
2
Maintainers
1
Versions
193
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-jest


Version published
Weekly downloads
9.8M
decreased by-19.85%
Maintainers
1
Install size
14.4 MB
Created
Weekly downloads
 

Package description

What is ts-jest?

ts-jest is an npm package that allows users to run tests written in TypeScript directly, without having to precompile them to JavaScript. It is a Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.

What are ts-jest's main functionalities?

TypeScript testing

This feature allows you to write Jest tests in TypeScript. The code sample demonstrates a simple test for a sum function.

import sum from './sum';
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

Source map support

Source map support for accurate stack traces in error messages, which is useful for debugging tests.

/* Source maps are automatically handled by ts-jest, so there's no specific code sample for this feature. It works under the hood to provide accurate stack traces in your tests. */

TypeScript configuration

Allows you to use your project's TypeScript configuration or specify a custom one for testing purposes.

/* ts-jest uses the tsconfig.json file in your project to understand how to compile your TypeScript code. You can also specify a different configuration file for ts-jest if needed. */

Coverage reports

Integrates with Jest's coverage reporting to include TypeScript files in coverage statistics.

/* To collect coverage, you can use Jest's built-in coverage collection feature with ts-jest. */
jest --coverage

Other packages similar to ts-jest

Changelog

Source

0.1.0 (2016-08-31)

<a name="0.0.1"></a>

Readme

Source

typescript-jest

Build Status

Note: This is currently just a hack and most likely not suitable for all setups.

Details

This repo uses code from the source-map-support package to show errors with mapped locations.

To use this in its current form, clone this repo anywhere on your disk. Run npm install in it. Create a symlink in the node_modules directory of your project to this directory:

ln -s path-to-typescript-jest

such that you effectively have a node_modules/typescript-jest directory.

Modify your project's package.json so that the jest section looks something like:

{
  "jest": {
    "scriptPreprocessor": "<rootDir>/node_modules/typescript-jest/preprocessor.js",
    "testFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "unmockedModulePathPatterns": [
      "<rootDir>/node_modules/react/",
      "<rootDir>/node_modules/react-dom/",
      "<rootDir>/node_modules/react-addons-test-utils/",
      "<rootDir>/node_modules/typescript-jest/"
    ],
    "globals": {
      "__TS_CONFIG__": {
        "module": "commonjs",
        "jsx": "react"
      }
    }
  }
}

This should allow you to write Jest tests in Typescript and be able to locate errors without any additional gymnastics.

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

git clone https://github.com/kulshekhar/typescript-jest
cd typescript-jest
npm install
./test-init.sh
npm test

It is assumed that typescript and jest-cli are globally installed. If not, please do so:

npm i -g typescript jest-cli

Keywords

FAQs

Last updated on 31 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc