Skip to content

The @nx/react-native plugin provides various generators to help you create and configure react-native projects within your Nx workspace. Below is a complete reference for all available generators and their options.

application

Create a React Application for Nx.

Usage:

Terminal window
nx generate @nx/react-native:application [options]

Aliases: app

Arguments:

Terminal window
nx generate @nx/react-native:application <directory> [options]

Options

OptionTypeDescriptionDefault
bundlerstringThe bundler to use."vite"
displayNamestringThe display name to show in the application. Defaults to name.
e2eTestRunnerstringAdds the specified e2e test runner."none"
installbooleanRuns pod install for native modules before building iOS app.true
jsbooleanGenerate JavaScript files rather than TypeScript filesfalse
linterstringThe tool to use for running lint checks."none"
namestringThe name of the application.
setParserOptionsProjectbooleanWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.false
skipFormatbooleanSkip formatting filesfalse
skipPackageJsonbooleanDo not add dependencies to package.json.false
tagsstringAdd tags to the application (used for linting).
unitTestRunnerstringTest runner to use for unit tests"none"
useProjectJsonbooleanUse a project.json configuration file instead of inlining the Nx configuration in the package.json file.

component

Create a React native Component for Nx.

Usage:

Terminal window
nx generate @nx/react-native:component [options]

Aliases: c

Arguments:

Terminal window
nx generate @nx/react-native:component <path> [options]

Options

OptionTypeDescriptionDefault
classComponentbooleanUse class components instead of functional component.false
exportbooleanWhen true, the component is exported from the project index.ts (if it exists).false
jsbooleanGenerate JavaScript files rather than TypeScript files.
namestringThe component symbol name. Defaults to the last segment of the file path.
skipFormatbooleanSkip formatting files.false
skipTestsbooleanWhen true, does not create spec.ts test files for the new component.false

convert-to-inferred

Convert existing React Native project(s) using @nx/react-native:* executors to use @nx/react-native/plugin. Defaults to migrating all projects. Pass ‘—project’ to migrate only one target.

Usage:

Terminal window
nx generate @nx/react-native:convert-to-inferred [options]

Options

OptionTypeDescriptionDefault
projectstringThe project to convert from using the @nx/react-native:* executors to use @nx/react-native/plugin.
skipFormatbooleanWhether to format files at the end of the migration.false

library

Create a React Native Library for Nx.

Usage:

Terminal window
nx generate @nx/react-native:library [options]

Aliases: lib

Arguments:

Terminal window
nx generate @nx/react-native:library <directory> [options]

Options

OptionTypeDescriptionDefault
buildablebooleanGenerate a buildable library.false
importPathstringThe library name used to import it, like @myorg/my-awesome-lib.
jsbooleanGenerate JavaScript files rather than TypeScript files.false
linterstringThe tool to use for running lint checks."none"
namestringLibrary name.
publishablebooleanCreate a publishable library.
setParserOptionsProjectbooleanWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.false
skipFormatbooleanSkip formatting files.false
skipPackageJsonbooleanDo not add dependencies to package.json.false
skipTsConfigbooleanDo not update tsconfig.json for development experience.false
strictbooleanWhether to enable tsconfig strict mode or not.true
tagsstringAdd tags to the library (used for linting).
unitTestRunnerstringTest runner to use for unit tests."none"
useProjectJsonbooleanUse a project.json configuration file instead of inlining the Nx configuration in the package.json file.

web-configuration

Setup web configuration to React Native apps using react-native-web.

Usage:

Terminal window
nx generate @nx/react-native:web-configuration [options]

Arguments:

Terminal window
nx generate @nx/react-native:web-configuration <project> [options]

Options

OptionTypeDescriptionDefault
bundlerstring [required]The bundler to use."vite"
skipFormatbooleanSkip formatting files.false
skipPackageJsonbooleanDo not add dependencies to package.json.false
## Getting Help
You can get help for any generator by adding the `--help` flag:
```bash
nx generate @nx/react-native:<generator> --help
```