{"id":21233,"library":"esbuild-plugin-compress","title":"esbuild-plugin-compress","description":"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.","status":"active","version":"1.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/LinbuduLab/esbuild-plugins","tags":["javascript","esbuild","ESBuild","compress","plugin","typescript"],"install":[{"cmd":"npm install esbuild-plugin-compress","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-compress","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-compress","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required as plugin runtime","package":"esbuild","optional":false}],"imports":[{"note":"Named export, not default. This is the only export.","wrong":"import compress from 'esbuild-plugin-compress'","symbol":"compress","correct":"import { compress } from 'esbuild-plugin-compress'"},{"note":"Use type import for TypeScript types to avoid runtime overhead.","wrong":"import { CompressOptions } from 'esbuild-plugin-compress'","symbol":"CompressOptions","correct":"import type { CompressOptions } from 'esbuild-plugin-compress'"},{"note":"CommonJS require destructure as it's a named export. Not recommended if using TypeScript.","wrong":"const compress = require('esbuild-plugin-compress')","symbol":"require usage","correct":"const { compress } = require('esbuild-plugin-compress')"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport { compress } from 'esbuild-plugin-compress';\n\nbuild({\n  entryPoints: ['./src/index.ts'],\n  outfile: './build/index.js',\n  write: false,\n  plugins: [\n    compress({\n      gzip: true,\n      brotli: true,\n      outputDir: 'dist',\n      exclude: ['**/*.map'],\n    }),\n  ],\n}).catch(() => process.exit(1));","lang":"typescript","description":"Build script using ESBuild with compression plugin for gzip and brotli output, excluding source maps."},"warnings":[{"fix":"Set `write: false` in ESBuild options to enable output file access.","message":"write must be set to false for the plugin to work","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"N/A","message":"No deprecated features documented; plugin is minimal.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Add `write: false` to the build options object.","cause":"Missing `write: false` in ESBuild options","error":"Error: Output file must be set to 'write: false' to use compress plugin"},{"fix":"Use `const { compress } = require('esbuild-plugin-compress');`","cause":"Incorrect import (default instead of named) in CommonJS","error":"TypeError: esbuild_plugin_compress_1.compress is not a function"},{"fix":"Run `npm install esbuild-plugin-compress --save-dev`","cause":"Package not installed","error":"Cannot find module 'esbuild-plugin-compress'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}