UNPKG

@anatine/esbuildnx

Version:
66 lines (46 loc) 1.9 kB
# esbuildnx Plugin The esbuild Plugin contains generators and executors for compiling a node app using [esbuild](https://esbuild.github.io/) ## Installing the esbuildnx Plugin Installing the esbuildnx plugin to a workspace can be done with the following: ```shell #yarn yarn add -D @anatine/esbuildnx ``` ```shell #npm npm install -D @anatine/esbuildnx ``` ## Application Setup This plugin is designed to be used with an existing Node application. Target an existing node app and run the setup. ```shell nx generate @anatine/esbuildnx:setup <node-app> ``` If you want to replace the existing build command with esbuild, use the `--override` flag. ```shell nx generate @anatine/esbuildnx:setup <node-app> --override ``` ## Commands ### esbuild After a node project is setup, execute a build with the command: ```shell nx esbuild <node-app> ``` #### esbuild options: `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 `package.json`, and merge them with any external files defined in the app `esbuild.json` file. 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 The `--watch` flag is also available. In watch mode, the `node_module` files are not copied over. ```shell nx esbuild <node-app> --watch ``` ### Overridden build If the setup was run with the `--overwrite` flag, build your node app as normal within the nx environment. ```shell nx build <node-app> ```