Skip to content

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

application

Create an Expo Application for Nx.

Usage:

Terminal window
nx generate @nx/expo:application [options]

Aliases: app

Arguments:

Terminal window
nx generate @nx/expo:application <directory> [options]

Options

OptionTypeDescriptionDefault
--displayNamestringThe display name to show in the application. Defaults to name.
--e2eTestRunnerstringAdds the specified e2e test runner"none"
--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
--standaloneConfigbooleanSplit the project configuration into <projectRoot>/project.json rather than including it inside workspace.json.true
--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 Expo Component for Nx.

Usage:

Terminal window
nx generate @nx/expo:component [options]

Aliases: c

Arguments:

Terminal window
nx generate @nx/expo: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 Expo project(s) using @nx/expo:* executors to use @nx/expo/plugin. Defaults to migrating all projects. Pass ‘—project’ to migrate only one target.

Usage:

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

Options

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

library

Create a Expo Library for Nx.

Usage:

Terminal window
nx generate @nx/expo:library [options]

Aliases: lib

Arguments:

Terminal window
nx generate @nx/expo: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.

Getting Help

You can get help for any generator by adding the --help flag:

Terminal window
nx generate @nx/expo:<generator> --help