@nx/react:library

Create a React Library for an Nx workspace.

Usage

1nx generate library ... 2
1nx g lib ... #same 2

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

You can specify the collection explicitly as follows:

1nx g @nx/react:library ... 2
Nx 15 and lower use @nrwl/ instead of @nx/

Show what will be generated without writing to disk:

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

Examples

Generate libs/myapp/mylib:

1nx g lib mylib --directory=myapp 2

Generate a library with routes and add them to myapp:

1nx g lib mylib --appProject=myapp 2

Options

name

Required
string
Pattern: (?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$

Library name

bundler

string
Default: none
Accepted values: none, vite, rollup

The bundler to use. Choosing 'none' means this library is not buildable.

directory

dir
string

A directory where the lib is placed.

appProject

a
string

The application project to add the library route to.

component

boolean
Default: true

Generate a default component.

compiler

string
Default: babel
Accepted values: babel, swc

Which compiler to use.

globalCss

boolean
Default: false

When true, the stylesheet is generated using global CSS instead of CSS modules (e.g. file is *.css rather than *.module.css).

inSourceTests

boolean
Default: false

When using Vitest, separate spec files will not be generated and instead will be included within the source files.

importPath

string

The library name used to import it, like @myorg/my-awesome-lib.

js

boolean
Default: false

Generate JavaScript files rather than TypeScript files.

linter

string
Default: eslint
Accepted values: eslint, none

The tool to use for running lint checks.

minimal

boolean
Default: false

Create a React library with a minimal setup, no separate test files.

projectNameAndRootFormat

string
Accepted values: as-provided, derived

Whether to generate the project name and root directory as provided (as-provided) or generate them composing their values and taking the configured layout into account (derived).

pascalCaseFiles

P
boolean
Default: false

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

publishable

boolean

Create a publishable library.

routing

boolean

Generate library with routes.

style

s
string
Default: css

The file extension to be used for style files.

strict

boolean
Default: true

Whether to enable tsconfig strict mode or not.

setParserOptionsProject

boolean
Default: false

Whether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.

simpleName

boolean
Default: false

Don't include the directory in the name of the module of the library.

tags

t
string

Add tags to the library (used for linting).

unitTestRunner

string
Accepted values: jest, vitest, none

Test runner to use for unit tests.

skipFormat

Internal
boolean
Default: false

Skip formatting files.

skipTsConfig

Internal
boolean
Default: false

Do not update tsconfig.json for development experience.

skipPackageJson

Internal
boolean
Default: false

Do not add dependencies to package.json.

buildable

Deprecated
boolean
Default: false

Generate a buildable library that uses rollup to bundle.

Use the bundler option for greater control (none, vite, rollup).