@nrwl/js:library

Create a TypeScript Library.

Examples

Generate a library named mylib and put it under a directory named myapp (libs/myapp/mylib)

npx nx g lib mylib --directory=myapp

Usage

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

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

You can specify the collection explicitly as follows:

nx g @nrwl/js:library ...

Show what will be generated without writing to disk:

nx g library ... --dry-run

Options

name

Required
string
Pattern: ^[a-zA-Z].*$

Library name.

buildable

boolean
Default: true

Generate a buildable library.

bundler

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

The bundler to use.

compiler

string
Default: tsc
Accepted values: tsc, swc

The compiler used by the build and test targets

directory

string

A directory where the lib is placed.

publishable

boolean
Default: false

Generate a publishable library.

includeBabelRc

boolean

Include a .babelrc configuration to compile TypeScript 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.

pascalCaseFiles

P
boolean
Default: false

Use pascal case file names.

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.

skipTypeCheck

boolean
Default: false

Whether to skip TypeScript type checking for SWC compiler.

tags

string

Add tags to the library (used for linting).

testEnvironment

string
Default: jsdom
Accepted values: jsdom, node

The test environment to use if unitTestRunner is set to jest.

unitTestRunner

string
Accepted values: jest, vitest, none

Test runner to use for unit tests.

config

string
Default: project
Accepted values: workspace, project, npm-scripts

Determines whether the project's executors should be configured in workspace.json, project.json or as npm scripts.

skipFormat

boolean
Default: false

Skip formatting files.

skipTsConfig

boolean
Default: false

Do not update tsconfig.json for development experience.