@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.

/@rnx-kit/jest-preset/

    Package Sidebar

    Install

    npm i @rnx-kit/jest-preset

    Weekly Downloads

    7,466

    Version

    0.1.16

    License

    MIT

    Unpacked Size

    12.5 kB

    Total Files

    4

    Last publish

    Collaborators

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