Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/imagemin/imagemin

[Unmaintained] Minify images seamlessly
https://github.com/imagemin/imagemin

buffer gif imagemin jpg minify nodejs optimization png svg

Last synced: 20 days ago
JSON representation

[Unmaintained] Minify images seamlessly

Lists

README

        

# imagemin

> Minify images seamlessly


---






Sindre Sorhus' open source work is supported by the community


Special thanks to:















Doppler

All your environment variables, in one place

Stop struggling with scattered API keys, hacking together home-brewed tools,


and avoiding access controls. Keep your team and servers in sync with Doppler.






Strapi

Strapi is the leading open-source headless CMS.

It’s 100% JavaScript, fully customizable, and developer-first.



---


## Install

```
$ npm install imagemin
```

## Usage

```js
import imagemin from 'imagemin';
import imageminJpegtran from 'imagemin-jpegtran';
import imageminPngquant from 'imagemin-pngquant';

const files = await imagemin(['images/*.{jpg,png}'], {
destination: 'build/images',
plugins: [
imageminJpegtran(),
imageminPngquant({
quality: [0.6, 0.8]
})
]
});

console.log(files);
//=> [{data: , destinationPath: 'build/images/foo.jpg'}, …]
```

## API

### imagemin(input, options?)

Returns `Promise` in the format `{data: Buffer, sourcePath: string, destinationPath: string}`.

#### input

Type: `string[]`

File paths or [glob patterns](https://github.com/sindresorhus/globby#globbing-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](https://www.npmjs.com/browse/keyword/imageminplugin) to use.

##### glob

Type: `boolean`\
Default: `true`

Enable globbing when matching file paths.

### imagemin.buffer(buffer, options?)

Returns `Promise`.

#### buffer

Type: `Buffer`

Buffer to optimize.

#### options

Type: `object`

##### plugins

Type: `Array`

[Plugins](https://www.npmjs.com/browse/keyword/imageminplugin) to use.

## Related

- [imagemin-cli](https://github.com/imagemin/imagemin-cli) - CLI for this module
- [imagemin-app](https://github.com/imagemin/imagemin-app) - GUI app for this module
- [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) - Gulp plugin
- [grunt-contrib-imagemin](https://github.com/gruntjs/grunt-contrib-imagemin) - Grunt plugin