{"id":25316,"library":"esbuild-plugin-brotli","title":"esbuild-plugin-brotli","description":"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.","status":"active","version":"0.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/linux-china/esbuild-plugin-brotli","tags":["javascript","esbuild","brotli"],"install":[{"cmd":"npm install esbuild-plugin-brotli","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-brotli","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-brotli","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin is designed to work as an esbuild plugin","package":"esbuild","optional":false}],"imports":[{"note":"Package is ESM-only; require() will fail. Use import.","wrong":"const brotliPlugin = require('esbuild-plugin-brotli')","symbol":"brotliPlugin","correct":"import { brotliPlugin } from 'esbuild-plugin-brotli'"},{"note":"In CommonJS, use dynamic import()","wrong":"const brotliPlugin = require('esbuild-plugin-brotli')","symbol":"brotliPlugin","correct":"const { brotliPlugin } = await import('esbuild-plugin-brotli')"},{"note":"Default export also available; named export is preferred.","wrong":"const brotliPlugin = require('esbuild-plugin-brotli').default","symbol":"default","correct":"import brotliPlugin from 'esbuild-plugin-brotli'"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport { brotliPlugin } from 'esbuild-plugin-brotli';\n\nawait build({\n  entryPoints: ['src/index.js'],\n  outdir: 'dist',\n  bundle: true,\n  plugins: [brotliPlugin()],\n});\n// After build, dist/index.js and dist/index.js.br are created.","lang":"typescript","description":"Shows basic usage of esbuild-plugin-brotli to compress output during esbuild build."},"warnings":[{"fix":"Use async compression plugin or limit file sizes.","message":"Plugin uses synchronous compression; may block event loop for large files.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider using esbuild's native Brotli compression if using esbuild >=0.19.0.","message":"esbuild's built-in compression via 'assetNames' may be preferred.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Provide custom 'filter' option to include other extensions.","message":"Plugin only compresses files with extensions .js, .css, .html, .json by default.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install esbuild-plugin-brotli","cause":"Package not installed or not in node_modules","error":"Error: Cannot find module 'esbuild-plugin-brotli'"},{"fix":"Use import { brotliPlugin } from 'esbuild-plugin-brotli'","cause":"Incorrect import; likely using default import without parentheses","error":"TypeError: brotliPlugin is not a function"},{"fix":"Install esbuild: npm install esbuild","cause":"Missing esbuild peer dependency","error":"Error: esbuild-plugin-brotli requires esbuild. Please install it."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}