imagemin ![Build Status](https://camo.githubusercontent.com/dcd5556c9b4d7e945800409b9a2d33be6df08efe348fa7e0894c65ef534d41d0/68747470733a2f2f7472617669732d63692e6f72672f696d6167656d696e2f696d6167656d696e2e7376673f6272616e63683d6d6173746572)
Minify images seamlessly
Gumlet is helping make open source sustainable by sponsoring Sindre Sorhus.
Optimised Image Delivery made simple
Install
$ npm install imagemin
Usage
const imagemin = require('imagemin');
const imageminJpegtran = require('imagemin-jpegtran');
const imageminPngquant = require('imagemin-pngquant');
(async () => {
const files = await imagemin(['images/*.{jpg,png}'], {
destination: 'build/images',
plugins: [
imageminJpegtran(),
imageminPngquant({
quality: [0.6, 0.8]
})
]
});
console.log(files);
//=> [{data: <Buffer 89 50 4e …>, path: 'build/images/foo.jpg'}, …]
})();
API
imagemin(input, options?)
Returns Promise<object[]>
in the format {data: Buffer, sourcePath: string, destinationPath: string}
.
input
Type: string[]
File paths or glob patterns.
options
Type: object
destination
Type: string
Set the destination folder to where your files will be written. If no destination is specified, no files will be written.
plugins
Type: Array
Plugins to use.
glob
Type: boolean
Default: true
Enable globbing when matching file paths.
imagemin.buffer(buffer, options?)
Returns Promise<Buffer>
.
buffer
Type: Buffer
Buffer to optimize.
options
Type: object
plugins
Type: Array
Plugins to use.
Related
- imagemin-cli - CLI for this module
- imagemin-app - GUI app for this module
- gulp-imagemin - Gulp plugin
- grunt-contrib-imagemin - Grunt plugin