Socket
Socket
Sign inDemoInstall

jest-preset-ignite

Package Overview
Dependencies
850
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jest-preset-ignite

Jest preset for handling TypeScript on a React Native project.


Version published
Weekly downloads
392
decreased by-11.51%
Maintainers
1
Install size
6.09 kB
Created
Weekly downloads
 

Readme

Source

jest-preset-ignite

Converts JS into TS within a react-native project.

Version Supported

Version 0.6 of this library supports:

LibraryVersion
Jest23.6.x
React Native0.56, 0.57
TypeScript3.x
Node JS8+

Version 0.5 of this library supports the following configuration:

LibraryVersion
Jest22.x
React Native0.53, 0.54, 0.55
TypeScript2.7.x - 2.9.x
Node JS8+

It may work on other version, but I haven't tested this.

Installing

In a project that contains the aforementioned libraries and versions, run this bad boy:

yarn add jest-preset-ignite --dev

Then open your package.json and change the jest section to use this preset.

  "jest": {
    "preset": "jest-preset-ignite"
  }

You will also need a test/setup.ts file. This will be run first when the test environment boots up. You can use this for any custom mocks or setup.

TypeScript Compiler Settings

This will use it's own "tsconfig.json" and not the one from your project.

Here's a brief explanation on the compiler settings used. This WILL be on the test!

{
  // We are able to target something higher because whatever we emit
  // will still be run through ye olde babel.
  target: "es2017",

  // We are running this within node, so commonjs is our only option (for now!)
  module: "commonjs",

  // I believe that `react-native` is more for historical reasons. This works.
  jsx: "react",

  // This is not something we can escape at the moment unfortunately. Some libraries
  // (such as react-native-i18n, moment, validate.js) have their typings already using
  // the broken way.
  allowSyntheticDefaultImports: true,

  // Related to the option above, and new in TypeScript 2.7, this furthers support for the
  // broken way to import default modules.
  esModuleInterop: true,

  // Let TypeScript's compiler know we'll be needing source maps.
  sourceMap: true
}

Prior Art

Thanks to https://github.com/petester42/jest-preset-typescript-react-native for showing me how this is done.

That project appears to be no longer active, so this picks up from there.

License

MIT

Keywords

FAQs

Last updated on 25 Sep 2018

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc