{"_id":"@ashu_guo/unplugin-imagemin","name":"@ashu_guo/unplugin-imagemin","dist-tags":{"latest":"0.6.9"},"versions":{"0.6.9":{"name":"@ashu_guo/unplugin-imagemin","version":"0.6.9","description":"📦 📦 unplugin compression Image Compression plugin based on squoosh and svgo","license":"MIT","keywords":["unplugin","vite","webpack","rollup","esbuild","imagemin"],"exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs"},"./*":"./*","./nuxt":{"require":"./dist/nuxt.js","import":"./dist/nuxt.mjs"},"./resolvers":{"require":"./dist/resolvers.js","import":"./dist/resolvers.mjs"},"./rollup":{"require":"./dist/rollup.js","import":"./dist/rollup.mjs"},"./types":{"require":"./dist/types.js","import":"./dist/types.mjs"},"./vite":{"require":"./dist/vite.js","import":"./dist/vite.mjs"},"./webpack":{"require":"./dist/webpack.js","import":"./dist/webpack.mjs"},"./esbuild":{"require":"./dist/esbuild.js","import":"./dist/esbuild.mjs"}},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./*"]}},"engines":{"node":">=14"},"scripts":{"bootstrap":"npm run install && npm run dev","build":"tsup && npm run build:fix","dev":"tsup --watch src && npm run build:fix","build:fix":"esno scripts/postbuild.ts","lint":"eslint .","format":"prettier --write .","play":"npm -C playground run dev","prepublishOnly":"npm run build","release":"bumpp && npm publish","start":"esno src/index.ts","test":"vitest"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"@rollup/pluginutils":"^5.0.2","chalk":"5.3.0","ora":"8.1.1","squoosh-next":"^0.1.3","svgo":"^3.0.2","unplugin":"^2.1.0"},"devDependencies":{"@types/node":"22.13.13","bumpp":"^10.0.0","eslint":"^8.39.0","eslint-config-relaxed-ts":"^2.0.20","esno":"^4.0.0","fast-glob":"^3.2.12","filesize":"^10.0.7","pathe":"^1.1.0","prettier":"^3.0.0","rimraf":"6.0.1","tsup":"^8.0.0","turbo":"2.3.4","typescript":"^5.0.4","unplugin-unused":"^0.3.0","vite":"6.0.11","vitest":"3.0.5","webpack":"^5.81.0"},"pnpm":{"supportedArchitectures":{"os":["win32","darwin","current"],"cpu":["x64","arm64"]}},"_id":"@ashu_guo/unplugin-imagemin@0.6.9","gitHead":"e07840cf2584734e93f973cc6190bdc9a5b5c7bc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-MIGT1s9s5Qv0XoPVbekqNy0BFLbPI+YY2+59MDR4pTt2Hd4gGrvby3+6zupidKrfVJhE8DvYCYM1yskiftVa7w==","shasum":"7839b0f33972c1ca68c8e61aed9c81f603e1be06","tarball":"https://registry.npmjs.org/@ashu_guo/unplugin-imagemin/-/unplugin-imagemin-0.6.9.tgz","fileCount":32,"unpackedSize":104791,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD0qLYP3oYrDHui53jXHgH1gNigK1+yNP5VXWAKuFvgtgIhALtn2S1CQHhC8eJbgQTCN8X1M6aO5o8ezFfMAq3lNFof"}]},"_npmUser":{"name":"ashu_guo","email":"guochengli97@163.com"},"directories":{},"maintainers":[{"name":"ashu_guo","email":"guochengli97@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unplugin-imagemin_0.6.9_1753761550107_0.7946089336302324"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-29T03:59:10.042Z","0.6.9":"2025-07-29T03:59:10.303Z","modified":"2025-07-29T03:59:10.589Z"},"maintainers":[{"name":"ashu_guo","email":"guochengli97@163.com"}],"description":"📦 📦 unplugin compression Image Compression plugin based on squoosh and svgo","keywords":["unplugin","vite","webpack","rollup","esbuild","imagemin"],"license":"MIT","readme":"# 📦📦 unplugin Imagemin Picture compression\r\n\r\n[![NPM version](https://img.shields.io/npm/v/unplugin-imagemin?color=a1b858&label=)](https://www.npmjs.com/package/unplugin-imagemin)\r\n\r\n> [!IMPORTANT]\r\n> **Tips:**\r\n> `1.0 goals` unplugin-imagemin is preparing to release version 1.0, which will be released after achieving the following goals\r\n\r\n- [x] Support all node versions by re-modifying the wasm syntax of squoosh\r\n- [x] remove sharp deps\r\n- [x] support compress publicDir images\r\n- [x] support css compress image\r\n- [x] Supports full cache mode\r\n- [x] Support Node 22 and more\r\n- [x] Type options\r\n- [ ] Supports farm, rsbuild, webpack, and other frameworks\r\n\r\n> [!WARNING]\r\nNew features and stability, compatibility and performance features are constantly being updated\r\nRecommended to use the latest version  `pnpm add unplugin-imagemin@latest -D`\r\n\r\n> [!WARNING]\r\nSince Google [squoosh](https://github.com/GoogleChromeLabs/squoosh) no longer maintains the node direction, This fock came out and revised some compatibility issues. Details [squoosh-next](https://github.com/ErKeLost/squoosh-node-latest)\r\n\r\n### ✨✨ Continuous iterative development in testing\r\n\r\n```bash\r\n✨ : unplugin-imagemin\r\n✔ : Process start with mode squoosh\r\n✅ : [test1.png] [12.39 MB] -> [102.54 KB]\r\n✔ : Process start with mode squoosh\r\n✅ : [test2.png] [16.38 MB] -> [76.79 KB]\r\n```\r\n\r\n#### 🌈 Features\r\n\r\n- 🍰 Support png jpeg webp avif svg tiff Format\r\n- 🦾 High Performance based on squoosh\r\n- ✨ Multiple picture formats can be configured\r\n- 🪐 Compress the code at build time\r\n- 😃 Caching Mechanism\r\n- 🌈 You can convert different picture types at build time\r\n\r\n## Squoosh && Svgo\r\n\r\nUnplugin-imagemin supports two compression tools\r\n\r\n[Squoosh](https://github.com/GoogleChromeLabs/squoosh) is an image compression web app that reduces image sizes through numerous formats.\r\n**Squoosh** with rust & wasm\r\n\r\n[Svgo](https://github.com/svg/svgo) Support compression of pictures in svg format\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\npnpm add unplugin-imagemin@latest -D\r\n```\r\n\r\n#### support vite and rollup\r\n\r\n<details>\r\n<summary>Basic</summary><br>\r\n\r\n```ts\r\nimport { defineConfig } from 'vite';\r\nimport vue from '@vitejs/plugin-vue';\r\nimport imagemin from 'unplugin-imagemin/vite';\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n  plugins: [vue(), imagemin()],\r\n});\r\n```\r\n\r\n<br></details>\r\n\r\n<details>\r\n<summary>Advanced</summary><br>\r\n\r\n```ts\r\niimport { defineConfig } from 'vite';\r\nimport vue from '@vitejs/plugin-vue';\r\nimport imagemin from 'unplugin-imagemin/vite';\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n  plugins: [\r\n    vue(),\r\n    imagemin({\r\n      // default true\r\n      cache: false,\r\n      // Default configuration options for compressing different pictures\r\n      compress: {\r\n        jpg: {\r\n          quality: 10,\r\n        },\r\n        jpeg: {\r\n          quality: 10,\r\n        },\r\n        png: {\r\n          quality: 10,\r\n        },\r\n        webp: {\r\n          quality: 10,\r\n        },\r\n      },\r\n      conversion: [\r\n        { from: 'jpeg', to: 'webp' },\r\n        { from: 'png', to: 'webp' },\r\n        { from: 'JPG', to: 'jpeg' },\r\n      ],\r\n    }),\r\n  ],\r\n});\r\n\r\n```\r\n\r\n<br></details>\r\n\r\n## 🌸 DefaultConfiguration\r\n\r\nSquoosh DefaultConfiguration\r\n\r\nDefaultConfiguration see [DefaultConfiguration](https://github.com/ErKeLost/unplugin-imagemin/blob/main/src/core/compressOptions.ts)\r\n\r\nPlugin property configuration see [configuration](https://github.com/ErKeLost/unplugin-imagemin/blob/main/src/core/types/index.ts)\r\n\r\n```typescript\r\nexport interface PluginOptions {\r\n  /**\r\n   * @description Picture compilation and conversion\r\n   * @default []\r\n   */\r\n  conversion?: ConversionItemType[];\r\n  /**\r\n   * @description Whether to turn on caching\r\n   * @default true\r\n   */\r\n  cache?: boolean;\r\n  /**\r\n   * @description Path to the cache file location\r\n   * @default ./node_modules/.cache/unplugin-imagemin/.unplugin-imagemin-cache\r\n   */\r\n  cacheLocation?: string;\r\n  /**\r\n   * @description Compilation attribute\r\n   * @default CompressTypeOptions\r\n   */\r\n  compress?: CompressTypeOptions;\r\n}\r\n```\r\n","readmeFilename":"README.md","_rev":"1-3f15c589d2496f469cb66c0b3d3767c1"}