esbuild-plugin-brotli

raw JSON →
0.2.0 verified Fri May 01 auth: no javascript

esbuild-plugin-brotli (v0.2.0) is a plugin for esbuild that compresses output files using Brotli algorithm during the build process. It integrates with esbuild's onEnd hook to generate .br files alongside original assets. Compared to generic compression plugins, it focuses exclusively on Brotli, offering simpler configuration. The plugin wraps Node.js zlib's brotliCompressSync. Compatible with esbuild >=0.8.0. No frequent releases; last update on npm was 2022. Active status unclear.

error Error: Cannot find module 'esbuild-plugin-brotli'
cause Package not installed or not in node_modules
fix
Run npm install esbuild-plugin-brotli
error TypeError: brotliPlugin is not a function
cause Incorrect import; likely using default import without parentheses
fix
Use import { brotliPlugin } from 'esbuild-plugin-brotli'
error Error: esbuild-plugin-brotli requires esbuild. Please install it.
cause Missing esbuild peer dependency
fix
Install esbuild: npm install esbuild
gotcha Plugin uses synchronous compression; may block event loop for large files.
fix Use async compression plugin or limit file sizes.
deprecated esbuild's built-in compression via 'assetNames' may be preferred.
fix Consider using esbuild's native Brotli compression if using esbuild >=0.19.0.
gotcha Plugin only compresses files with extensions .js, .css, .html, .json by default.
fix Provide custom 'filter' option to include other extensions.
npm install esbuild-plugin-brotli
yarn add esbuild-plugin-brotli
pnpm add esbuild-plugin-brotli

Shows basic usage of esbuild-plugin-brotli to compress output during esbuild build.

import { build } from 'esbuild';
import { brotliPlugin } from 'esbuild-plugin-brotli';

await build({
  entryPoints: ['src/index.js'],
  outdir: 'dist',
  bundle: true,
  plugins: [brotliPlugin()],
});
// After build, dist/index.js and dist/index.js.br are created.