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.
Common errors
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 Warnings
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
Install
npm install esbuild-plugin-compress yarn add esbuild-plugin-compress pnpm add esbuild-plugin-compress Imports
- compress wrong
import compress from 'esbuild-plugin-compress'correctimport { compress } from 'esbuild-plugin-compress' - CompressOptions wrong
import { CompressOptions } from 'esbuild-plugin-compress'correctimport type { CompressOptions } from 'esbuild-plugin-compress' - require usage wrong
const compress = require('esbuild-plugin-compress')correctconst { compress } = require('esbuild-plugin-compress')
Quickstart
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));