imagemin-webp
Advanced tools
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; |
103
package.json
{ | ||
"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) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3
6173
67
141
+ Addedfile-type@10.11.0(transitive)
+ Addedis-cwebp-readable@3.0.0(transitive)
- Removedis-cwebp-readable@2.0.1(transitive)
Updatedis-cwebp-readable@^3.0.0