{"id":22047,"library":"rollup-plugin-gzip","title":"rollup-plugin-gzip","description":"A Rollup/Vite plugin that creates compressed .gz and .br artifacts from bundle output files. Current version is 4.2.0, with major releases every 1-2 years. Supports both gzip (via Node's zlib) and custom compression algorithms (Brotli, Zopfli). Key differentiators: built-in Brotli support via custom compression, file size threshold filtering, additional file compression, and compatibility with Vite and Rollup (>=2.0.0). TypeScript types included.","status":"active","version":"4.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/kryops/rollup-plugin-gzip","tags":["javascript","rollup","rollup-plugin","gzip","compress","compression","brotli","vite","vite-plugin","typescript"],"install":[{"cmd":"npm install rollup-plugin-gzip","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-gzip","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-gzip","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default export only. In CommonJS, use require('rollup-plugin-gzip').default.","wrong":"const gzipPlugin = require('rollup-plugin-gzip')","symbol":"gzipPlugin","correct":"import gzipPlugin from 'rollup-plugin-gzip'"}],"quickstart":{"code":"// rollup.config.js\nimport gzipPlugin from 'rollup-plugin-gzip';\nimport { brotliCompress } from 'zlib';\nimport { promisify } from 'util';\n\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'dist',\n    format: 'esm'\n  },\n  plugins: [\n    gzipPlugin() // defaults: .gz, minSize optional\n  ]\n};","lang":"typescript","description":"Minimal Rollup config to compress output with default gzip. Shows import and plugin usage."},"warnings":[{"fix":"Use ESM imports: import gzipPlugin from 'rollup-plugin-gzip'; or const gzipPlugin = (await import('rollup-plugin-gzip')).default;","message":"v4.0.0 switched to type: \"module\". Import syntax changed; CommonJS users must use dynamic import or upgrade.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Upgrade Rollup to >=2.0.0, or use v2.x of this plugin.","message":"v3.0.0 dropped support for Rollup versions < 2.0.0.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use Node >=11.7.0 or install 'brotli' from npm and use it as customCompression.","message":"If using Brotli compression with Node < 11.7.0, you need the external 'brotli' package.","severity":"gotcha","affected_versions":"*"},{"fix":"Refer to https://nodejs.org/api/zlib.html#zlib_class_options for valid options.","message":"The 'gzipOptions' object is passed directly to Node's zlib. Options like 'level' and 'memLevel' are supported, but incorrect values may cause errors.","severity":"gotcha","affected_versions":"*"},{"fix":"Upgrade to v3.x or above.","message":"v2.5.1 fails build when detecting incompatible Vite bundle to force upgrade to v3.x.","severity":"breaking","affected_versions":"2.5.1"},{"fix":"Remove the option or set to 0.","message":"The 'additionalFilesDelay' option is deprecated for Rollup >=2.0.0 (defaults to 0).","severity":"deprecated","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use const gzipPlugin = require('rollup-plugin-gzip').default; or switch to ESM import.","cause":"CommonJS require returns an ES module with default as object property.","error":"Error: gzipPlugin is not a function"},{"fix":"Run npm install --save-dev rollup-plugin-gzip","cause":"Package not installed.","error":"Error: Cannot find module 'rollup-plugin-gzip'"},{"fix":"Upgrade Node to >=11.7.0 or install 'brotli' package and use it as customCompression.","cause":"Using Node <11.7.0 with built-in brotli.","error":"Error: [plugin:gzip] Failed to compress with brotli: 'brotliCompress' is not a function"},{"fix":"Upgrade Rollup to >=2.0.0 or use v2.x of this plugin.","cause":"Using outdated Rollup version.","error":"Error: Rollup version 1.x is not supported, please upgrade to 2.x or higher"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}