{"id":20125,"library":"image-minimizer-webpack-plugin","title":"image-minimizer-webpack-plugin","description":"Webpack loader and plugin to optimize (compress) images using imagemin, sharp, or svgo. Current stable version is 5.0.0 (released 2026-03-03), with a release cadence of major versions approximately yearly. It supports multiple backends for image optimization: imagemin (traditional), sharp (high-performance), svgo (for SVGs), and the deprecated squoosh. Key differentiators include integration as both a loader and plugin, support for generation of alternative formats (webp, avif), and filtering per minimizer. It has shipped TypeScript types and requires Node.js >=20.9.0 and webpack ^5.1.0.","status":"active","version":"5.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/webpack/image-minimizer-webpack-plugin","tags":["javascript","webpack","loader","plugin","imagemin","images","minify","compress","optimize","typescript"],"install":[{"cmd":"npm install image-minimizer-webpack-plugin","lang":"bash","label":"npm"},{"cmd":"yarn add image-minimizer-webpack-plugin","lang":"bash","label":"yarn"},{"cmd":"pnpm add image-minimizer-webpack-plugin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: requires webpack ^5.1.0","package":"webpack","optional":false}],"imports":[{"note":"Default export is the plugin class. CommonJS require works in Node.js, but ESM is preferred.","wrong":"const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin')","symbol":"ImageMinimizerPlugin","correct":"import ImageMinimizerPlugin from 'image-minimizer-webpack-plugin'"},{"note":"Named export available since v4; used to normalize config for custom integrations.","wrong":"","symbol":"imageminNormalizeConfig","correct":"import { imageminNormalizeConfig } from 'image-minimizer-webpack-plugin'"},{"note":"Type import for TypeScript users; requires named export.","wrong":"","symbol":"type ImageMinimizerPluginOptions","correct":"import type { ImageMinimizerPluginOptions } from 'image-minimizer-webpack-plugin'"}],"quickstart":{"code":"const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin');\n\n// webpack.config.js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.(jpe?g|png|gif|svg)$/i,\n        type: 'asset',\n      },\n    ],\n  },\n  plugins: [\n    new ImageMinimizerPlugin({\n      minimizer: {\n        implementation: ImageMinimizerPlugin.imageminMinify,\n        options: {\n          plugins: [\n            ['jpegtran', { progressive: true }],\n            ['optipng', { optimizationLevel: 5 }],\n          ],\n        },\n      },\n    }),\n  ],\n};","lang":"javascript","description":"Basic webpack config with ImageMinimizerPlugin using imagemin and jpegtran/optipng plugins."},"warnings":[{"fix":"Upgrade Node.js to >=20.9.0 or stay on v4.x.","message":"Minimum supported Node.js version is 20.9.0.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Upgrade Node.js to >=18.12.0 or stay on v3.x.","message":"Minimum supported Node.js version is 18.12.0.","severity":"breaking","affected_versions":">=4.0.0 <5.0.0"},{"fix":"Use sharp or imagemin instead.","message":"squoosh optimizer has been deprecated.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Explicitly set concurrency if defaults are not optimal.","message":"Concurrency default value changed to avoid CPU overload; may affect performance tuning.","severity":"gotcha","affected_versions":">=4.1.4"},{"fix":"Upgrade to >=4.1.4 or clear cache.","message":"When using filesystem cache, plugin may crash if cache is corrupted.","severity":"gotcha","affected_versions":">=4.1.1 <4.1.4"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install imagemin imagemin-jpegtran imagemin-optipng (or other plugins)","cause":"imagemin or its plugins are not installed.","error":"Error: Cannot find module 'imagemin'"},{"fix":"Use default import: import ImageMinimizerPlugin from 'image-minimizer-webpack-plugin'","cause":"Using default import incorrectly (e.g., import * as IM from '...') or using wrong require.","error":"TypeError: ImageMinimizerPlugin is not a constructor"},{"fix":"Ensure minimizer is an object with implementation and options keys.","cause":"Passing minimizer or generator options incorrectly (e.g., array instead of object).","error":"ValidationError: Invalid options object. Options should be an object."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}