Skip to content

lithiumtech/image-min

 
 

Repository files navigation

image-min Build Status

Minify images seamlessly with Node.js

Install

$ npm install --save image-min

Usage

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .src('foo.jpg')
    .dest('foo-optimized.jpg')
    .use(Imagemin.jpegtran({ progressive: true }));

imagemin.optimize(function (err, file) {
    console.log(file);
    // => { contents: <Buffer 89 50 4e ...>, mode: '0644' }
});

API

new Imagemin()

Creates a new Imagemin instance.

.use(plugin)

Add a plugin to the middleware stack.

.src(file)

Set the file to be optimized. Can be a Buffer or the path to a file.

.dest(file)

Set the destination to where your file will be written. If you don't set any destination the file won't be written.

.optimize(cb)

Optimize your file with the given settings.

.run(file, cb)

Run all middleware plugins on your file.

Plugins

The follwing plugins are bundled with image-min:

  • gifsicle — Compress GIF images.
  • jpegtran — Compress JPG images.
  • optipng — Lossless compression of PNG images.
  • pngquant — Lossy compression of PNG images.
  • svgo — Compress SVG images.

.gifsicle()

Compress GIF images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.gifsicle({ interlaced: true }));

.jpegtran()

Compress JPG images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.jpegtran({ progressive: true }));

.optipng()

Lossless compression of PNG images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.optipng({ optimizationLevel: 3 }));

.pngquant()

Lossy compression of PNG images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.pngquant());

.svgo()

Lossy compression of SVG images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.svgo());

CLI

You can also use it as a CLI app by installing it globally:

$ npm install --global image-min

Usage

$ imagemin --help

Usage
  $ imagemin <file>
  $ cat <file> | imagemin

Example
  $ imagemin foo.png > foo-optimized.png
  $ cat foo.png | imagemin > foo-optimized.png

Options
  -i, --interlaced                    Extract archive files on download
  -o, --optimizationLevel <number>    Path to download or extract the files to
  -p, --progressive                   Strip path segments from root when extracting

License

MIT License © Kevin Mårtensson

About

Minify images seamlessly with Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published