https://github.com/caub/im-optim
Optimize images
https://github.com/caub/im-optim
Last synced: 4 months ago
JSON representation
Optimize images
- Host: GitHub
- URL: https://github.com/caub/im-optim
- Owner: caub
- Created: 2017-03-06T09:59:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-11-29T19:56:09.000Z (over 8 years ago)
- Last Synced: 2025-12-01T17:51:03.653Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 12.7 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Simple image-optimizer for png, jpg, svg
uses:
- mozjpeg
- pngquant+optipng
- svgo
## API
```js
var imOptim = require('im-optim');
// imOptim(streamOrBuffer [, contentType]) -> {stream:optimizedStream, size}
// imOptim.pngOptim(streamOrBuffer) -> {stream:optimizedStream, size}
// imOptim.jpgOptim(streamOrBuffer) -> {stream:optimizedStream, size}
// imOptim.svgOptim(streamOrBuffer) -> {stream:optimizedStream, size}
```
## Usage example
```js
var imOptim = require('im-optim');
var fetch = require('node-fetch');
app.get('/:url', (req, res) => { // optimizer proxy: fetch url, optimize and send back
fetch(req.params.url)
.then(s => imOptim(s, s.headers.get('content-type'))
.then(({stream, size}) => {
res.setHeader('content-type', s.headers.get('content-type'));
res.setHeader('content-length', size); // not mandatory
stream.pipe(res);
})
})
.catch(e => res.send(e));
})
```