Socket
Socket
Sign inDemoInstall

imagemin-webp

Package Overview
Dependencies
Maintainers
7
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

imagemin-webp - npm Package Compare versions

Comparing version 5.1.0 to 6.0.0

68

index.js

@@ -6,11 +6,9 @@ 'use strict';

module.exports = opts => buf => {
opts = Object.assign({}, opts);
if (!Buffer.isBuffer(buf)) {
return Promise.reject(new TypeError('Expected a buffer'));
module.exports = (options = {}) => input => {
if (!Buffer.isBuffer(input)) {
return Promise.reject(new TypeError(`Expected \`input\` to be of type \`Buffer\` but received type \`${typeof input}\``));
}
if (!isCwebpReadable(buf)) {
return Promise.resolve(buf);
if (!isCwebpReadable(input)) {
return Promise.resolve(input);
}

@@ -23,56 +21,56 @@

if (opts.preset) {
args.push('-preset', opts.preset);
if (options.preset) {
args.push('-preset', options.preset);
}
if (opts.quality) {
args.push('-q', opts.quality);
if (options.quality) {
args.push('-q', options.quality);
}
if (opts.alphaQuality) {
args.push('-alpha_q', opts.alphaQuality);
if (options.alphaQuality) {
args.push('-alpha_q', options.alphaQuality);
}
if (opts.method) {
args.push('-m', opts.method);
if (options.method) {
args.push('-m', options.method);
}
if (opts.size) {
args.push('-size', opts.size);
if (options.size) {
args.push('-size', options.size);
}
if (opts.sns) {
args.push('-sns', opts.sns);
if (options.sns) {
args.push('-sns', options.sns);
}
if (opts.filter) {
args.push('-f', opts.filter);
if (options.filter) {
args.push('-f', options.filter);
}
if (opts.autoFilter) {
if (options.autoFilter) {
args.push('-af');
}
if (opts.sharpness) {
args.push('-sharpness', opts.sharpness);
if (options.sharpness) {
args.push('-sharpness', options.sharpness);
}
if (opts.lossless) {
if (options.lossless) {
args.push('-lossless');
}
if (opts.nearLossless) {
args.push('-near_lossless', opts.nearLossless);
if (options.nearLossless) {
args.push('-near_lossless', options.nearLossless);
}
if (opts.crop) {
args.push('-crop', opts.crop.x, opts.crop.y, opts.crop.width, opts.crop.height);
if (options.crop) {
args.push('-crop', options.crop.x, options.crop.y, options.crop.width, options.crop.height);
}
if (opts.resize) {
args.push('-resize', opts.resize.width, opts.resize.height);
if (options.resize) {
args.push('-resize', options.resize.width, options.resize.height);
}
if (opts.metadata) {
args.push('-metadata', Array.isArray(opts.metadata) ? opts.metadata.join(',') : opts.metadata);
if (options.metadata) {
args.push('-metadata', Array.isArray(options.metadata) ? options.metadata.join(',') : options.metadata);
}

@@ -83,5 +81,5 @@

return execBuffer({
input: buf,
args,
bin: cwebp,
args
input
}).catch(error => {

@@ -88,0 +86,0 @@ error.message = error.stderr || error.message;

{
"name": "imagemin-webp",
"version": "5.1.0",
"description": "WebP imagemin plugin",
"license": "MIT",
"repository": "imagemin/imagemin-webp",
"author": {
"name": "Kevin Mårtensson",
"email": "kevinmartensson@gmail.com",
"url": "github.com/kevva"
},
"maintainers": [
{
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "sindresorhus.com"
},
{
"name": "Shinnosuke Watanabe",
"url": "github.com/shinnn"
}
],
"engines": {
"node": ">=6"
},
"scripts": {
"test": "xo && ava"
},
"files": [
"index.js"
],
"keywords": [
"compress",
"cwebp",
"image",
"imageminplugin",
"img",
"jpg",
"minify",
"optimize",
"png",
"tif",
"webp"
],
"dependencies": {
"cwebp-bin": "^5.0.0",
"exec-buffer": "^3.0.0",
"is-cwebp-readable": "^2.0.1"
},
"devDependencies": {
"ava": "^0.25.0",
"is-webp": "^1.0.0",
"pify": "^4.0.0",
"xo": "^0.23.0"
}
"name": "imagemin-webp",
"version": "6.0.0",
"description": "WebP imagemin plugin",
"license": "MIT",
"repository": "imagemin/imagemin-webp",
"author": {
"name": "Kevin Mårtensson",
"email": "kevinmartensson@gmail.com",
"url": "github.com/kevva"
},
"maintainers": [
{
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "sindresorhus.com"
}
],
"engines": {
"node": ">=10"
},
"scripts": {
"test": "xo && ava"
},
"files": [
"index.js"
],
"keywords": [
"compress",
"cwebp",
"image",
"imageminplugin",
"img",
"jpg",
"minify",
"optimize",
"png",
"tif",
"webp"
],
"dependencies": {
"cwebp-bin": "^5.0.0",
"exec-buffer": "^3.0.0",
"is-cwebp-readable": "^3.0.0"
},
"devDependencies": {
"ava": "^3.8.0",
"is-webp": "^1.0.0",
"xo": "^0.30.0"
}
}

@@ -19,9 +19,11 @@ # imagemin-webp [![Build Status](https://travis-ci.org/imagemin/imagemin-webp.svg?branch=master)](https://travis-ci.org/imagemin/imagemin-webp)

imagemin(['images/*.{jpg,png}'], 'build/images', {
use: [
imageminWebp({quality: 50})
]
}).then(() => {
(async () => {
await imagemin(['images/*.{jpg,png}'], 'build/images', {
use: [
imageminWebp({quality: 50})
]
});
console.log('Images optimized');
});
})();
```

@@ -32,7 +34,9 @@

### imageminWebp([options])(buffer)
### imageminWebp(options?)(buffer)
Returns a `Promise<Buffer>` with the optimized image.
#### options
Type: `Object`
Type: `object`

@@ -116,3 +120,3 @@ ##### preset

Type: `Object { x: number, y: number, width: number, height: number }`
Type: `object { x: number, y: number, width: number, height: number }`

@@ -123,3 +127,3 @@ Crop the image.

Type: `Object { width: number, height: number }`
Type: `object { width: number, height: number }`

@@ -141,6 +145,1 @@ Resize the image. Happens after `crop`.

Buffer to optimize.
## License
MIT © [Imagemin](https://github.com/imagemin)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc