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.

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.
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.
npm install rollup-plugin-imagemin
yarn add rollup-plugin-imagemin
pnpm add rollup-plugin-imagemin

Shows basic setup with imagemin plugin for PNG optimization, including include/exclude patterns.

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']
    })
  ]
};