@rnx-kit/jest-preset

0.1.16 • Public • Published

@rnx-kit/jest-preset

Build npm version

A Jest preset with support for React Native platform-specific extensions and TypeScript.

Usage

In a TypeScript-only Package (Non-React Native)

Add preset: "@rnx-kit/jest-preset" to your Jest config:

 module.exports = {
+  preset: "@rnx-kit/jest-preset",
   ...
 };

@rnx-kit/jest-preset will detect that you're not targeting React Native and exclude any React Native specific configurations.

In a React Native Package

There are three ways to use this preset when targeting React Native, depending on your personal preference.

Single jest.config.js

If you prefer to use a single Jest config, you can provide the target platform via an environment variable. First, add preset: "@rnx-kit/jest-preset" to your Jest config:

 module.exports = {
+  preset: "@rnx-kit/jest-preset",
   ...
 };

Then specify the target platform when running Jest:

RN_TARGET_PLATFORM=ios npm run jest

Multiple jest.config.js

Alternatively, you can have a Jest config file for each platform, e.g.:

// jest.config.ios.js
module.exports = require("@rnx-kit/jest-preset")("ios", {
  ...
});

Then specify the config file to use when running Jest:

npm run jest --config jest.config.ios.js

Use @rnx-kit/cli

You can specify the target platform using the rnx-test command provided by @rnx-kit/cli. First, add preset: "@rnx-kit/jest-preset" to your Jest config:

 module.exports = {
+  preset: "@rnx-kit/jest-preset",
   ...
 };

Then specify the target platform when running rnx-test:

npm run react-native rnx-test --platform ios

In an Out-of-Tree Platform Package

Add preset: "@rnx-kit/jest-preset" to your Jest config:

 module.exports = {
+  preset: "@rnx-kit/jest-preset",
   ...
 };

The target platform will be deduced by reading react-native.config.js at the package root.

Readme

Keywords

none

Package Sidebar

Install

npm i @rnx-kit/jest-preset

Weekly Downloads

7,197

Version

0.1.16

License

MIT

Unpacked Size

12.5 kB

Total Files

4

Last publish

Collaborators

  • kelset
  • hansenyy
  • jasonvmorse
  • acoates
  • rnbot
  • tido64
  • rnsdkbot