@nx/react:library
Create a React Library for an Nx workspace.
The State of JS survey is live, featuring a monorepo tools sectionThe State of JS survey is live, featuring a monorepo tools sectionVote for us
Create a React Library for an Nx workspace.
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
Show what will be generated without writing to disk:
1nx g library ... --dry-run
2
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
(?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$
Library name
none
none
, vite
, rollup
The bundler to use. Choosing 'none' means this library is not buildable.
A directory where the lib is placed.
The application project to add the library route to.
true
Generate a default component.
babel
babel
, swc
Which compiler to use.
false
When true
, the stylesheet is generated using global CSS instead of CSS modules (e.g. file is *.css
rather than *.module.css
).
false
When using Vitest, separate spec files will not be generated and instead will be included within the source files.
The library name used to import it, like @myorg/my-awesome-lib
.
false
Generate JavaScript files rather than TypeScript files.
eslint
eslint
, none
The tool to use for running lint checks.
false
Create a React library with a minimal setup, no separate test files.
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
).
false
Use pascal case component file name (e.g. App.tsx
).
Create a publishable library.
Generate library with routes.
css
The file extension to be used for style files.
true
Whether to enable tsconfig strict mode or not.
false
Whether or not to configure the ESLint parserOptions.project
option. We do not do this by default for lint performance reasons.
false
Don't include the directory in the name of the module of the library.
Add tags to the library (used for linting).
jest
, vitest
, none
Test runner to use for unit tests.
false
Skip formatting files.
false
Do not update tsconfig.json
for development experience.
false
Do not add dependencies to package.json
.
false
Generate a buildable library that uses rollup to bundle.
Use the bundler
option for greater control (none, vite, rollup).