{"id":22703,"library":"vite-plugin-imagemin","title":"Vite Plugin Imagemin","description":"A Vite plugin for compressing image assets (PNG, JPEG, WebP, SVG, GIF) using imagemin. Version 0.6.1 is the current stable, released intermittently. It integrates seamlessly with Vite's build pipeline, offering lossy and lossless compression via configurable imagemin plugins. Key differentiators: supports Vite >=2, provides both lossy and lossless modes, and is actively maintained with TypeScript types included.","status":"active","version":"0.6.1","language":"javascript","source_language":"en","source_url":"https://github.com/anncwb/vite-plugin-imagemin","tags":["javascript","vite","vite-plugin","imagemin","vben","typescript"],"install":[{"cmd":"npm install vite-plugin-imagemin","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-imagemin","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-imagemin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for plugin to work","package":"vite","optional":false}],"imports":[{"note":"Default export; ESM-only since v0.4.0. CommonJS require will fail.","wrong":"const vitePluginImagemin = require('vite-plugin-imagemin')","symbol":"vitePluginImagemin","correct":"import vitePluginImagemin from 'vite-plugin-imagemin'"},{"note":"Options type is exported for TypeScript users; use type import to avoid runtime side-effects.","wrong":"import { Options } from 'vite-plugin-imagemin' (if not using type-only import)","symbol":"type Options","correct":"import type { Options } from 'vite-plugin-imagemin'"},{"note":"The default export is the plugin function; using named import will result in undefined.","wrong":"import { VitePluginImagemin } from 'vite-plugin-imagemin'","symbol":"VitePluginImagemin","correct":"import VitePluginImagemin from 'vite-plugin-imagemin'"}],"quickstart":{"code":"import { defineConfig } from 'vite';\nimport vitePluginImagemin from 'vite-plugin-imagemin';\n\nexport default defineConfig({\n  plugins: [\n    vitePluginImagemin({\n      gifsicle: { optimizationLevel: 3 },\n      optipng: { optimizationLevel: 7 },\n      pngquant: { quality: [0.65, 0.8] },\n      mozjpeg: { quality: 80 },\n      svgo: {\n        plugins: [\n          { name: 'removeViewBox', active: false },\n          { name: 'removeEmptyAttrs', active: false },\n        ],\n      },\n      webp: { quality: 75 },\n    }),\n  ],\n});","lang":"typescript","description":"Configures vite-plugin-imagemin in vite.config.ts with compression settings for various image formats."},"warnings":[{"fix":"Use ES module imports (import).","message":"ESM-only since v0.4.0; CommonJS require will throw an error.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Ensure build-essential tools are installed; fallback to lossless-only config.","message":"Some imagemin plugins require native binaries and may fail to install on certain systems.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Explicitly configure only the formats you want to compress.","message":"Configuration keys are optional; if a key is missing, that format is not compressed.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Consider alternative image optimization plugins (e.g., vite-plugin-image-optimizer).","message":"The 'imagemin' package was deprecated; this plugin may not receive updates for new imagemin versions.","severity":"deprecated","affected_versions":">=0.6.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'npm install vite-plugin-imagemin --save-dev' and verify import path.","cause":"Package not installed or wrong import path.","error":"Error: Cannot find module 'vite-plugin-imagemin'"},{"fix":"Install the required imagemin plugin, e.g., 'npm install imagemin-gifsicle --save-dev'.","cause":"Missing dependency for the specified compression plugin.","error":"TypeError: Cannot read properties of undefined (reading 'gifsicle')"},{"fix":"Switch to ES module import syntax or downgrade to v0.3.x.","cause":"Using CommonJS require with ESM-only package.","error":"Error: 'default' is not exported by ..."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}