@nx/js:library
Create a TypeScript Library.
Create a TypeScript Library.
The @nx/js:lib generator will generate a library for you, and it will configure it according to the options you provide.
npx nx g @nx/js:lib mylib
By default, the library that is generated when you use this executor without passing any options, like the example above, will be a buildable library, using the @nx/js:tsc executor as a builder.
You may configure the tools you want to use to build your library, or bundle it too, by passing the --bundler flag. The --bundler flag controls the compiler and/or the bundler that will be used to build your library. If you choose tsc or swc, the result will be a buildable library using either tsc or swc as the compiler. If you choose rollup or vite, the result will be a buildable library using rollup or vite as the bundler. In the case of rollup, it will default to the tsc compiler. If you choose esbuild, you may use the esbuildOptions property in your project.json under the build target options to specify whether you wish to bundle your library or not.
Generate a buildable library using the @nx/js:tsc executor. This uses tsc as the compiler.
npx nx g @nx/js:lib mylib
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 @nx/js:library ...
Show what will be generated without writing to disk:
nx g library ... --dry-run
^[a-zA-Z].*$Library name.
tscswc, tsc, rollup, vite, esbuild, noneThe bundler to use. Choosing 'none' means this library is not buildable.
A directory where the lib is placed.
The library name used to import it, like @myorg/my-awesome-lib. Required for publishable library.
falseGenerate a publishable library.
Include a .babelrc configuration to compile TypeScript files
falseGenerate JavaScript files rather than TypeScript files.
eslinteslint, noneThe tool to use for running lint checks.
falseGenerate a library with a minimal setup. No README.md generated.
falseUse pascal case file names.
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.
falseWhether to skip TypeScript type checking for SWC compiler.
falseDon't include the directory in the generated file name.
Add tags to the library (used for linting).
nodejsdom, nodeThe test environment to use if unitTestRunner is set to jest or vitest.
jest, vitest, noneTest runner to use for unit tests.
projectworkspace, project, npm-scriptsDetermines whether the project's executors should be configured in workspace.json, project.json or as npm scripts.
falseSkip formatting files.
falseDo not update tsconfig.json for development experience.
trueGenerate a buildable library.
Use the bundler option for greater control (swc, tsc, rollup, vite, esbuild, none).
tsctsc, swcThe compiler used by the build and test targets
Use the bundler option for greater control (swc, tsc, rollup, vite, esbuild, none).