esbuild-plugin-compress

raw JSON →
1.0.1 verified Mon Apr 27 auth: no javascript

An ESBuild plugin for compressing output files using gzip and/or brotli compression. Version 1.0.1 is the current stable release, with no updates since initial publish. Key differentiators: simple setup, supports both gzip and brotli, allows excluding files via micromatch patterns, and options to emit original files. Requires esbuild >= 0.14.0 and setting `write: false` in ESBuild options to access output files. Ships TypeScript types.

error Error: Output file must be set to 'write: false' to use compress plugin
cause Missing `write: false` in ESBuild options
fix
Add write: false to the build options object.
error TypeError: esbuild_plugin_compress_1.compress is not a function
cause Incorrect import (default instead of named) in CommonJS
fix
Use const { compress } = require('esbuild-plugin-compress');
error Cannot find module 'esbuild-plugin-compress'
cause Package not installed
fix
Run npm install esbuild-plugin-compress --save-dev
gotcha write must be set to false for the plugin to work
fix Set `write: false` in ESBuild options to enable output file access.
deprecated No deprecated features documented; plugin is minimal.
fix N/A
npm install esbuild-plugin-compress
yarn add esbuild-plugin-compress
pnpm add esbuild-plugin-compress

Build script using ESBuild with compression plugin for gzip and brotli output, excluding source maps.

import { build } from 'esbuild';
import { compress } from 'esbuild-plugin-compress';

build({
  entryPoints: ['./src/index.ts'],
  outfile: './build/index.js',
  write: false,
  plugins: [
    compress({
      gzip: true,
      brotli: true,
      outputDir: 'dist',
      exclude: ['**/*.map'],
    }),
  ],
}).catch(() => process.exit(1));