The optipng utility as a readable/writable stream
JavaScript
Latest commit 1218c6b Apr 27, 2017 @papandreou 1.1.0
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.jshintignore
.jshintrc .jshintrc: Don't enforce es3 mode. Mar 31, 2016
.travis.yml
LICENSE
README.md
package.json

README.md

node-optipng

NPM version Build Status Coverage Status Dependency Status

The optipng command line utility as a readable/writable stream. This is handy for situations where you don't want to worry about writing the input to disc and reading the output afterwards.

If you don't have an optipng binary in your PATH, node-optipng will try to use one of the binaries provided by the node-optipng-bin package.

The constructor optionally takes an array of command line options for the optipng binary:

var OptiPng = require('optipng'),
    myOptimizer = new OptiPng(['-o7']);

sourceStream.pipe(myOptimizer).pipe(destinationStream);

OptiPng as a web service:

var OptiPng = require('optipng'),
    http = require('http');

http.createServer(function (req, res) {
    if (req.headers['content-type'] === 'image/png') {
        res.writeHead(200, {'Content-Type': 'image/png'});
        req.pipe(new OptiPng(['-o7'])).pipe(res);
    } else {
        res.writeHead(400);
        res.end('Feed me a PNG!');
    }
}).listen(1337);

Installation

Make sure you have node.js and npm installed, then run:

npm install optipng

License

3-clause BSD license -- see the LICENSE file for details.