@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 ...
21nx g lib ... #same
2By 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 ...
2Show what will be generated without writing to disk:
1nx g library ... --dry-run
2Generate libs/myapp/mylib:
1nx g lib mylib --directory=myapp
2Generate 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
nonenone, vite, rollupThe 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.
trueGenerate a default component.
babelbabel, swcWhich compiler to use.
falseWhen true, the stylesheet is generated using global CSS instead of CSS modules (e.g. file is *.css rather than *.module.css).
falseWhen 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.
falseGenerate JavaScript files rather than TypeScript files.
eslinteslint, noneThe tool to use for running lint checks.
falseCreate a React library with a minimal setup, no separate test files.
as-provided, derivedWhether 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).
falseUse pascal case component file name (e.g. App.tsx).
Create a publishable library.
Generate library with routes.
cssThe file extension to be used for style files.
trueWhether to enable tsconfig strict mode or not.
falseWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.
falseDon't include the directory in the name of the module of the library.
Add tags to the library (used for linting).
jest, vitest, noneTest runner to use for unit tests.
falseSkip formatting files.
falseDo not update tsconfig.json for development experience.
falseDo not add dependencies to package.json.
falseGenerate a buildable library that uses rollup to bundle.
Use the bundler option for greater control (none, vite, rollup).