imagemin-webp
Advanced tools
Comparing version 3.1.0 to 3.1.1
58
index.js
'use strict'; | ||
var ExecBuffer = require('exec-buffer'); | ||
var spawn = require('child_process').spawn; | ||
var isCwebpReadable = require('is-cwebp-readable'); | ||
var replaceExt = require('replace-ext'); | ||
var through = require('through2'); | ||
var webp = require('cwebp-bin'); | ||
var cwebp = require('cwebp-bin'); | ||
@@ -28,4 +28,6 @@ module.exports = function (opts) { | ||
var execBuffer = new ExecBuffer(); | ||
var args = ['-quiet', '-mt']; | ||
var err = ''; | ||
var ret = []; | ||
var len = 0; | ||
@@ -72,16 +74,42 @@ if (opts.preset) { | ||
execBuffer | ||
.use(webp, args.concat([execBuffer.src(), '-o', execBuffer.dest()])) | ||
.run(file.contents, function (err, buf) { | ||
if (err) { | ||
err.fileName = file.path; | ||
cb(err); | ||
return; | ||
} | ||
var cp = spawn(cwebp, args.concat(['-o', '-', '--', '-'])); | ||
file.path = replaceExt(file.path, '.webp'); | ||
file.contents = buf; | ||
cb(null, file); | ||
}); | ||
cp.stderr.setEncoding('utf8'); | ||
cp.stderr.on('data', function (data) { | ||
err += data; | ||
}); | ||
cp.stdout.on('data', function (data) { | ||
ret.push(data); | ||
len += data.length; | ||
}); | ||
cp.on('error', function (err) { | ||
err.fileName = file.path; | ||
cb(err); | ||
return; | ||
}); | ||
cp.on('close', function (code) { | ||
if (code) { | ||
err = new Error(err); | ||
err.fileName = file.path; | ||
cb(err); | ||
return; | ||
} | ||
file.contents = Buffer.concat(ret, len); | ||
file.path = replaceExt(file.path, '.webp'); | ||
cb(null, file); | ||
}); | ||
cp.stdin.on('error', function (stdinErr) { | ||
if (!err) { | ||
err = stdinErr; | ||
} | ||
}); | ||
cp.stdin.end(file.contents); | ||
}); | ||
}; |
{ | ||
"name": "imagemin-webp", | ||
"version": "3.1.0", | ||
"version": "3.1.1", | ||
"description": "webp imagemin plugin", | ||
@@ -16,3 +16,3 @@ "license": "MIT", | ||
"scripts": { | ||
"test": "node test/test.js" | ||
"test": "xo && node test/test.js" | ||
}, | ||
@@ -37,6 +37,5 @@ "files": [ | ||
"dependencies": { | ||
"cwebp-bin": "^3.0.0", | ||
"exec-buffer": "^2.0.0", | ||
"cwebp-bin": "^3.1.0", | ||
"is-cwebp-readable": "^1.0.0", | ||
"replace-ext": "0.0.1", | ||
"replace-ext": "^0.0.1", | ||
"through2": "^2.0.0" | ||
@@ -49,4 +48,5 @@ }, | ||
"vinyl": "^0.5.0", | ||
"vinyl-file": "^1.1.0" | ||
"vinyl-file": "^1.1.0", | ||
"xo": "*" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# imagemin-webp [![Build Status](http://img.shields.io/travis/imagemin/imagemin-webp.svg?style=flat)](https://travis-ci.org/imagemin/imagemin-webp) [![Build status](https://ci.appveyor.com/api/projects/status/erd3nf73djfm4gjp?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/imagemin-webp) | ||
# imagemin-webp [![Build Status](https://travis-ci.org/imagemin/imagemin-webp.svg?branch=master)](https://travis-ci.org/imagemin/imagemin-webp) [![Build status](https://ci.appveyor.com/api/projects/status/erd3nf73djfm4gjp?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/imagemin-webp) | ||
@@ -3,0 +3,0 @@ > webp imagemin plugin |
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
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
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
6159
4
88
6
1
- Removedexec-buffer@^2.0.0
- Removedexec-buffer@2.0.1(transitive)
Updatedcwebp-bin@^3.1.0
Updatedreplace-ext@^0.0.1