{"id":22739,"library":"vite-plugin-minipic","title":"vite-plugin-minipic","description":"vite-plugin-minipic (v1.3.2) is a build-time image compression plugin for Vite projects, leveraging sharp.js for fast compression (e.g., 40MB images in ~3s, 70-80% reduction). It includes disk caching to avoid re-compression, supports format conversion (e.g., PNG to WebP), and handles public folder images. Unlike imagemin-based plugins, minipic offers higher speed and optional cache control. Requires Node.js and sharp native binding; install issues common on Windows or with mismatched Node versions. Ships TypeScript types and is updated irregularly.","status":"active","version":"1.3.2","language":"javascript","source_language":"en","source_url":"https://github.com/60late/vite-plugin-minipic","tags":["javascript","vite","webpack","rollup","esbuild","sharp","image","imagemin","minipic","typescript"],"install":[{"cmd":"npm install vite-plugin-minipic","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-minipic","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-minipic","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core image compression engine; native dependency.","package":"sharp","optional":false},{"reason":"Peer dependency; plugin runs only within Vite.","package":"vite","optional":false}],"imports":[{"note":"Default export only. Named import will fail.","wrong":"import { minipic } from 'vite-plugin-minipic'","symbol":"minipic","correct":"import minipic from 'vite-plugin-minipic'"},{"note":"Type import for TypeScript projects; cannot be used as value.","wrong":"import { MinipicOptions } from 'vite-plugin-minipic'","symbol":"MinipicOptions","correct":"import type { MinipicOptions } from 'vite-plugin-minipic'"},{"note":"CommonJS defaults to default export via module.exports.","wrong":"const { minipic } = require('vite-plugin-minipic')","symbol":"minipic (CommonJS)","correct":"const minipic = require('vite-plugin-minipic')"}],"quickstart":{"code":"import minipic from 'vite-plugin-minipic'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    minipic({\n      sharpOptions: {\n        png: { quality: 70 },\n        jpeg: { quality: 70 },\n        webp: { quality: 75 }\n      },\n      convert: [\n        { from: 'png', to: 'webp' },\n        { from: 'jpeg', to: 'jpg' }\n      ],\n      cache: true,\n      exclude: [],\n      include: ['**/*.{png,jpg,jpeg,webp}']\n    })\n  ]\n})","lang":"typescript","description":"Configures vite-plugin-minipic with sharp quality options, format conversion, and cache enabled."},"warnings":[{"fix":"Upgrade Vite to version 3 or later.","message":"vite-plugin-minipic requires Vite >=3.x; may not work with Vite 2.","severity":"breaking","affected_versions":">=1.0 <2.0"},{"fix":"Set .npmrc: sharp_binary_host=https://registry.npmmirror.com/-/binary/sharp and run npm install.","message":"sharp native binary installation fails on some environments (e.g., Windows missing build tools).","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Use 'convert' option with include/exclude patterns instead.","message":"The 'convertPublic' option has been deprecated since v1.1.0.","severity":"deprecated","affected_versions":">=1.1.0"},{"fix":"Use persistent cache location via environment variables or avoid full node_modules deletion.","message":"Cache is stored in node_modules/.cache/minipic; clearing node_modules will delete cache.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Set cache: false explicitly if you want to disable caching.","message":"In v1.2.0, the default value for 'cache' changed from false to true.","severity":"breaking","affected_versions":"~1.2.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Reinstall: npm install sharp@latest; if fails, follow install instructions with npmmirror registry.","cause":"Missing or failed installation of sharp native binary.","error":"Error: Cannot find module 'sharp'"},{"fix":"Use dynamic import: const minipic = (await import('vite-plugin-minipic')).default; or use ESM config file.","cause":"Trying to use the plugin with CommonJS require() in a Node.js version that doesn't support ESM.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module .../vite-plugin-minipic/dist/index.mjs from ... not supported."},{"fix":"import minipic from 'vite-plugin-minipic' (not { minipic }).","cause":"Using named import instead of default import in ESM.","error":"TypeError: minipic is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}