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

Setting Up JS


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


You can build libraries that are generated with --buildable flag.

nx g @nrwl/js:lib my-buildable-lib --buildable

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

nx build my-buildable-lib


You can test a library with the following command:

nx test my-lib


You can lint a library with the following command:

nx lint my-lib


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:


  • Create a buildable library with swc
nx g @nrwl/js:lib my-swc-lib --compiler=swc --buildable
  • 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.

Package reference

Here is a list of all the executors and generators available from this package.


  • tsc

    Build a project using TypeScript.

  • swc

    Build a project using SWC.

  • node

    Execute a Node application.