@nx/react:component

Create a React Component for Nx.

Examples

Create a component named my-component under the libs/ui project:

nx g @nx/react:component libs/ui/src/my-component

Usage

1nx generate component ... 2
1nx g c ... #same 2

By default, Nx will search for component in the default collection provisioned in workspace.json.

You can specify the collection explicitly as follows:

1nx g @nx/react:component ... 2

Show what will be generated without writing to disk:

1nx g component ... --dry-run 2

Options

name

Required
string

The name of the component.

directory

dir
string

The directory at which to create the component file. When --nameAndDirectoryFormat=as-provided, it will be relative to the current working directory. Otherwise, it will be relative to the project root.

classComponent

C
boolean
Default: false

Use class components instead of functional component.

export

e
boolean
Default: false

When true, the component is exported from the project index.ts (if it exists).

fileName

string

Create a component with this file name.

globalCss

boolean
Default: false

Default is false. When true, the component is generated with *.css/*.scss instead of *.module.css/*.module.scss.

inSourceTests

boolean
Default: false

When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html

js

boolean
Default: false

Generate JavaScript files rather than TypeScript files.

nameAndDirectoryFormat

string
Accepted values: as-provided, derived

Whether to generate the component in the directory as provided, relative to the current working directory and ignoring the project (as-provided) or generate it using the project and directory relative to the workspace root (derived).

routing

boolean

Generate a library with routes.

style

s
string
Default: css

The file extension to be used for style files.

skipTests

Internal
boolean
Default: false

When true, does not create spec.ts test files for the new component.

skipFormat

Internal
boolean
Default: false

Skip formatting files.

flat

Deprecated
boolean
Default: false

Create component at the source root rather than its own directory.

Provide the directory option instead and use the as-provided format. This option will be removed in Nx v19.

project

pDeprecated
string

The name of the project.

Provide the directory option instead and use the as-provided format. The project will be determined from the directory provided. It will be removed in Nx v19.

pascalCaseFiles

PDeprecated
boolean
Default: false

Use pascal case component file name (e.g. App.tsx).

Provide the name in pascal-case and use the as-provided format. This option will be removed in Nx v19.

pascalCaseDirectory

RDeprecated
boolean
Default: false

Use pascal case directory name (e.g. App/App.tsx).

Provide the directory in pascal-case and use the as-provided format. This option will be removed in Nx v19.