The JS plugin contains executors and generators that are useful for JavaScript/TypeScript projects in an Nx workspace.

Setting Up JS

Installation

In any Nx workspace, you can install @nrwl/js by running the following commands if @nrwl/js package is not installed:

npm i --save-dev @nrwl/js

ts Preset

When initializing a new Nx workspace, specifying --preset=ts will generate a workspace with @nrwl/js pre-installed.

npx create-nx-workspace my-org --preset=ts

Create Libraries

You can add a new JS/TS library with the following command:

nx g @nrwl/js:lib my-lib

Build

You can build libraries that are generated with a bundler specified.

nx g @nrwl/js:lib my-buildable-lib --bundler=rollup

Generating a library with --bundler specified will add a build target to the library's project.json file allows the library to be built.

nx build my-buildable-lib

Test

You can test a library with the following command:

nx test my-lib

Lint

You can lint a library with the following command:

nx lint my-lib

Compiler

By default, @nrwl/js uses TypeScript Compiler (TSC), via @nrwl/js:tsc executor, to compile your libraries. Optionally, you can switch tsc out for a different compiler with --compiler flag when executing the generators.

Currently, @nrwl/js supports the following compilers:

SWC

  • Create a buildable library with swc
nx g @nrwl/js:lib my-swc-lib --bundler=swc
  • Convert a tsc library to use swc
nx g @nrwl/js:convert-to-swc my-buildable-lib

Now the build command will use @nrwl/js:swc executor to compile your libraries.

The first time you generate a swc library or convert a tsc library over to swc, @nrwl/js will install the necessary dependencies to use swc.