Registry / devops / vite-plugin-compress

vite-plugin-compress

JSON →
library2.1.1jsnpmunverified

Vite plugin to compress bundle and assets using Brotli, SVGO, and imagemin. Current stable version is 2.1.1, with a release cadence of major and minor patches. Key differentiators: compression of Vite-generated assets and public folder files, SVG and PNG optimization, respect for MTU threshold (1501 bytes), and compatibility with vite-ssr. Alternatives include rollup-plugin-compress but this is Vite-native.

npm install vite-plugin-compress
INSTALL
IMPORT
SIG · VITE-PLUGIN-COMPRE
V
vite-plugin-compress
devopsjavascriptv2.1.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

compress
import compress from 'vite-plugin-compress'
const compress = require('vite-plugin-compress')
Package is ESM-only; no default CommonJS export.
compress
import compress from 'vite-plugin-compress'
import { compress } from 'vite-plugin-compress'
The default export is the plugin function, not a named export.
CompressOptions
import type { CompressOptions } from 'vite-plugin-compress'
Type import for TypeScript users; not a runtime export.

Shows full configuration with all options for vite-plugin-compress, including quality, threshold, exclude, extensions, svgo, pngquant, brotli, and verbose.

// vite.config.ts import compress from 'vite-plugin-compress' export default { plugins: [ compress({ quality: 11, threshold: 1501, exclude: ['ssr-manifest.json'], extensions: ['.html', '.js', '.css', '.svg', '.json'], svgo: { plugins: [{ removeViewBox: false, removeDimensions: true }] }, pngquant: { quality: [0.6, 0.8] }, brotli: true, verbose: true }), ], }
Debug
Known issues
breakingDefault exported function changed from named export to default export in v2
fix
Use import compress from 'vite-plugin-compress' instead of import { compress } from 'vite-plugin-compress'
affects: >=2.0.0
gotchaFiles smaller than threshold (default 1501 bytes) are not compressed; this may cause confusion if expecting all files to be compressed.
fix
Set threshold: 0 to compress all files regardless of size
affects: >=1.0.0
deprecatedThe 'brotli' option defaults to true; setting it to false disables Brotli compression but may leave files uncompressed.
fix
Explicitly set brotli: true if you want Brotli compression (no change needed), or set brotli: false if you want to disable it
affects: >=1.0.0
gotchaSVG optimization by default removes dimensions; may break layout if relying on viewBox and dimensions.
fix
Override svgo plugins: [{ removeDimensions: false }]
affects: >=1.0.0
gotchaPNG optimization uses imagemin-pngquant; may produce banding if quality settings are too aggressive.
fix
Set pngquant quality range e.g. quality: [0.6, 0.8] for better results
affects: >=1.0.0
gotchaPlugin compresses both Vite-generated assets and public folder files; public files are compressed in-place which may affect development workflow.
fix
Exclude specific public files using the 'exclude' option
affects: >=1.0.0
breakingv1.x and v2.x are incompatible due to import pattern change; migration required.
fix
Update import statement: from 'import { compress }' to 'import compress'
affects: >=2.0.0 || <2.0.0
Errors
Common errors & fixes
Error: The plugin 'vite-plugin-compress' doesn't appear to be a valid Vite plugin.
Using named import { compress } instead of default import in v2.
fix
Use: import compress from 'vite-plugin-compress'
[vite-plugin-compress] Could not find module 'imagemin-pngquant'
Missing peer dependency for PNG optimization.
fix
Install imagemin-pngquant: npm install imagemin-pngquant
TypeError: compress is not a function
Importing as a named export when using CommonJS require in ESM context.
fix
Use default import: import compress from 'vite-plugin-compress'
Error: Cannot find module 'vite-plugin-compress'
Package not installed or not added to package.json.
fix
Run: npm install vite-plugin-compress
Upgrade
Version history
2.1.1latest on npm
Audit
Dependencies
viterequiredpeer dependency, requires Vite >2.0.0-0
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources