@nx/node:library

Create a Node Library for an Nx workspace.

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:

Show what will be generated without writing to disk:

nx g library ... --dry-run

Examples

Generate libs/myapp/mylib:

nx g lib mylib --directory=myapp

Options

name

Required
string

Library name

buildable

boolean
Default: false

Generate a buildable library.

compiler

string
Default: tsc
Accepted values: tsc, swc

The compiler used by the build and test targets.

publishable

boolean

Create a publishable library.

babelJest

boolean
Default: false

Use babel instead of ts-jest.

directory

dir
string

A directory where the lib is placed

importPath

string

The library name used to import it, like @myorg/my-awesome-lib. Must be a valid npm name.

js

boolean
Default: false

Generate JavaScript files rather than TypeScript files.

linter

string
Default: eslint
Accepted values: eslint

The tool to use for running lint checks.

pascalCaseFiles

P
boolean
Default: false

Use pascal case file names.

rootDir

string

Sets the rootDir for TypeScript compilation. When not defined, it uses the project's root property, or srcRootForCompilationRoot if it is defined.

simpleModuleName

boolean
Default: false

Keep the module name simple (when using --directory).

strict

boolean
Default: false

Whether to enable tsconfig strict mode or not.

setParserOptionsProject

boolean
Default: false

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

tags

t
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
Default: jest
Accepted values: jest, none

Test runner to use for unit tests.

skipFormat

boolean
Default: false

Skip formatting files.

skipTsConfig

boolean
Default: false

Do not update tsconfig.base.json for development experience.

standaloneConfig

Deprecated
boolean
Default: true

Split the project configuration into <projectRoot>/project.json rather than including it inside workspace.json.

Nx only supports standaloneConfig