@nx/node:library

Create a Node 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/node: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

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

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.

directory

dir
string

A directory where the lib is placed

publishable

boolean

Create a publishable library.

babelJest

boolean
Default: false

Use babel instead of ts-jest.

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.

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 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