React Native Plugin

The Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides:
- Integration with libraries such as Jest, Detox, and Storybook.
 - Scaffolding for creating buildable libraries that can be published to npm.
 - Utilities for automatic workspace refactoring.
 
Adding the React Native plugin
Adding the React plugin to a workspace can be done with the following:
yarn add -D @nrwl/react-nativenpm install -D @nrwl/react-nativeNote: You can create a new workspace that has React set up by doing
npx create-nx-workspace@latest --preset=react-native
The file structure for a React application looks like:
<workspace name>/
├── apps/
│   ├── myapp/
│   │   ├── app.json
│   │   ├── metro.config.js
│   │   ├── android/
│   │   │   ├── app/
│   │   │   ├── gradle/
│   │   │   ├── build.gradle
│   │   │   ├── gradle.properties
│   │   │   ├── gradlew
│   │   │   ├── settings.gradle
│   │   ├── ios/
│   │   │   ├── Mobile/
│   │   │   ├── Mobile.xcodeproj/
│   │   │   ├── Mobile.xcworkspace/
│   │   │   ├── Podfile
│   │   │   ├── Podfile.lock
│   │   ├── src/
│   │   │   ├── main.tsx
│   │   │   └── app/
│   │   │       ├── App.tsx
│   │   │       └── App.spec.tsx
│   │   ├── .babelrc
│   │   ├── jest.config.js
│   │   ├── test-setup.ts
│   │   ├── package.json
│   │   ├── project.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.app.json
│   │   └── tsconfig.spec.json
│   └── myapp-e2e/
│       ├── .detoxrc.json
│       ├── src/
│       │   └── app.spec.ts
│       ├── .babelrc
│       ├── jest.config.json
│       ├── project.json
│       ├── tsconfig.e2e.json
│       └── tsconfig.json
├── libs/
├── tools/
├── babel.config.json
├── jest.config.js
├── jest.preset.js
├── nx.json
├── package.json
├── tsconfig.base.json
└── workspace.json
See Also
Executors / Builders
- run-ios - Builds your app and starts it on iOS simulator
 - run-android - Builds your app and starts it on a connected Android emulator or device
 - build-android - Release Build for Android
 - start - Starts the server that communicates with connected devices
 - bundle - Builds the JavaScript bundle for offline use
 - sync-deps - Syncs dependencies to package.json (required for autolinking)
 - ensure-symlink - Ensure workspace node_modules is symlink under app's node_modules folder
 
Generators
- application - Create a React Native application
 - component - Create a React Native component
 - library - Create a React Native library