rollup-plugin-imagemin
raw JSON → 0.4.1 verified Mon Apr 27 auth: no javascript maintenance
A Rollup plugin that integrates imagemin to optimize images (PNG, JPEG, GIF, SVG) during the build process. Current stable version is 0.4.1 (last updated 2020). Release cadence is low; no major updates in recent years. Differentiators: simple configuration, supports multiple image formats, works with Rollup's asset system. Alternative to other build tool image optimization plugins like imagemin-webpack-plugin.
Common errors
error Error: Could not resolve 'imagemin-pngquant' ↓
cause Imagemin plugin not installed.
fix
npm install imagemin-pngquant --save-dev
error TypeError: imagemin is not a function ↓
cause Wrong import style (e.g., CommonJS require not working).
fix
Use ES module import: import imagemin from 'rollup-plugin-imagemin'
error Error: The plugin 'rollup-plugin-imagemin' is not compatible with Rollup 3+ ↓
cause Plugin uses old hook API; not updated for Rollup 3.
fix
Downgrade Rollup to 2.x or find an alternative plugin.
Warnings
gotcha Plugin does not automatically install imagemin plugins; you must install them separately (e.g., npm install imagemin-pngquant). ↓
fix Install required imagemin plugins as project dependencies.
deprecated imagemin v8+ API changes may cause incompatibility; this plugin uses older imagemin API. ↓
fix Pin imagemin to version 7.x or consider using a more maintained plugin.
deprecated Plugin is not actively maintained; last release in 2020. May have issues with newer Rollup versions. ↓
fix Test with your Rollup version; consider alternatives like rollup-plugin-image-optimize.
gotcha The `include` and `exclude` patterns are not glob patterns but minimatch patterns; unknown behavior with double asterisks. ↓
fix Use single-level globs like '*.png' or explicit paths.
Install
npm install rollup-plugin-imagemin yarn add rollup-plugin-imagemin pnpm add rollup-plugin-imagemin Imports
- imagemin wrong
const imagemin = require('rollup-plugin-imagemin')correctimport imagemin from 'rollup-plugin-imagemin' - imagemin (named) wrong
import Imagemin from 'rollup-plugin-imagemin'correctimport { imagemin } from 'rollup-plugin-imagemin' - imagemin (TypeScript) wrong
import * as imagemin from 'rollup-plugin-imagemin'correctimport imagemin from 'rollup-plugin-imagemin'
Quickstart
import imagemin from 'rollup-plugin-imagemin';
export default {
input: 'src/main.js',
output: { dir: 'dist', format: 'es' },
plugins: [
imagemin({
// Options passed to imagemin plugins
plugins: ['imagemin-pngquant'],
// Only optimize .png files
include: ['**/*.png'],
// Exclude .svg files
exclude: ['**/*.svg']
})
]
};