plugpng-tinyish
v0.1.1
Published
Tiny-ish image optimizer (PNG/JPEG/WebP/AVIF)
Readme
plugpng-tinyish
Tiny-ish image optimizer that keeps the input format and applies strong fixed settings.
- PNG: palette quantization + dithering + high-effort compression
- JPEG: mozjpeg, progressive, 4:2:0 (fixed quality)
- WebP/AVIF: re-encode in-place with fixed quality/effort
Install
npm i plugpng-tinyishUsage
const { createTinyish } = require('plugpng-tinyish');
const tiny = createTinyish({ outputDir: 'assets' });
// Save
const saved = await tiny.save('/path/to/image.png');
console.log(saved.path, saved.bytes);
// Get
const got = await tiny.get(saved.id);
console.log(got.mime, got.bytes);API
createTinyish(options)
- outputDir: string (default: ./assets)
- jpeg.quality: number (default: 75)
- webp.quality: number (default: 82), webp.effort (default: 6)
- avif.quality: number (default: 50), avif.effort (default: 8)
save(input, options)
- input: Buffer | filePath
- returns: { id, path, ext, originalBytes, bytes, ratio, meta }
get(id)
- returns: { id, buffer, path, ext, mime, bytes, meta }
CLI
Installed as tinyish.
tinyish save input.jpg --output ./assets
tinyish list --output ./assets
tinyish get <id> --output ./assets
tinyish remove <id> --output ./assetsFlags for save:
- --resize-width, --resize-height, --fit
- --keep-metadata
- --jpeg-quality, --webp-quality, --webp-effort, --avif-quality, --avif-effort
Links
- npm:
https://www.npmjs.com/package/plugpng-tinyish - source:
https://github.com/(to be announced)
License
MIT
