The esbuild Plugin contains generators and executors for compiling a node app using esbuild
Installing the esbuildnx Plugin
Installing the esbuildnx plugin to a workspace can be done with the following:
#yarn yarn add -D @anatine/esbuildnx
#npm npm install -D @anatine/esbuildnx
This plugin is designed to be used with an existing Node application. Target an existing node app and run the setup.
nx generate @anatine/esbuildnx:setup <node-app>
If you want to replace the existing build command with esbuild, use the
nx generate @anatine/esbuildnx:setup <node-app> --override
After a node project is setup, execute a build with the command:
nx esbuild <node-app>
external: [ ... ]
Not every module can go through treeshaking and packing.
Esbuild provides an option called
external that contains an array of package name strings.
This plugin will take all dependencies in the
and merge them with any external files defined in the app
These node_modules will be copied into the dist directory at build time and will not be packed into the single .js file.
The entire compiled dist folder can be deployed into a docker container with minimum node_modules.
One of the goals of this plugin will be to grow and maintain a list of npm modules that can't be bundled by esbuild and automatically add them to the external file list.
--watch flag is also available. In watch mode, the
node_module files are not copied over.
nx esbuild <node-app> --watch
If the setup was run with the
--overwrite flag, build your node app as normal within the nx environment.
nx build <node-app>