vite-plugin-compression2

raw JSON →
2.5.3 verified Sat Apr 25 auth: no javascript

A Vite plugin for compressing build assets using Node.js built-in compression algorithms (gzip, brotliCompress, deflate) and custom algorithms like zstd. Supports multiple algorithms, custom filenames, tarball creation, and artifact hooks. Current stable version is 2.5.3, released under MIT license. Differentiates from vite-plugin-compression by supporting multiple algorithms in one plugin, zstd via Node.js built-in, and better TypeScript typing.

error Cannot find module 'vite-plugin-compression2'
cause Missing package installation or wrong package name (confusing with 'vite-plugin-compression').
fix
Install the correct package: npm install vite-plugin-compression2 -D
error Error: Option 'algorithms' is not an array
cause Passing a single string instead of an array for the algorithms option.
fix
Use algorithms: ['gzip'] (array) instead of algorithms: 'gzip'.
error TypeError: compression is not a function
cause Importing default export instead of named export.
fix
Use import { compression } from 'vite-plugin-compression2'
deprecated Option `filter` is deprecated in favor of `include` and `exclude`.
fix Use `include` and `exclude` options instead of `filter`.
gotcha The `filename` option must include placeholders like `[path]`, `[base]`, etc. or it will produce unexpected names.
fix Use default filename pattern or provide a string with placeholders (e.g., `[path][base].gz`).
breaking v2.x changed from a single algorithm option to an `algorithms` array. Old `algorithm` option no longer works.
fix Use `algorithms: ['gzip']` instead of `algorithm: 'gzip'`.
deprecated Node.js versions below 14 may not support built-in zstd if using Node 19+.
fix Ensure Node.js version >= 19 for zstd support, or use a custom algorithm.
gotcha When using `deleteOriginalAssets: true`, the original uncompressed files are removed; ensure you have a backup or use tarball.
fix Set `deleteOriginalAssets: false` or use the tarball plugin to archive.
npm install vite-plugin-compression2
yarn add vite-plugin-compression2
pnpm add vite-plugin-compression2

Basic Vite configuration enabling gzip and brotli compression for build assets, with minimum size threshold.

import { defineConfig } from 'vite'
import { compression } from 'vite-plugin-compression2'

export default defineConfig({
  plugins: [
    compression({
      include: /\\.(html|xml|css|json|js|mjs|svg|yaml|yml|toml)$/,
      threshold: 1024,
      algorithms: ['gzip', 'brotliCompress'],
      deleteOriginalAssets: false
    })
  ]
})