update
This commit is contained in:
+8
-12
@@ -16,10 +16,6 @@ var _svgo = require('svgo');
|
||||
|
||||
var _svgo2 = _interopRequireDefault(_svgo);
|
||||
|
||||
var _isSvg = require('is-svg');
|
||||
|
||||
var _isSvg2 = _interopRequireDefault(_isSvg);
|
||||
|
||||
var _url = require('./lib/url');
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
@@ -28,7 +24,7 @@ const PLUGIN = 'postcss-svgo';
|
||||
const dataURI = /data:image\/svg\+xml(;((charset=)?utf-8|base64))?,/i;
|
||||
const dataURIBase64 = /data:image\/svg\+xml;base64,/i;
|
||||
|
||||
function minifyPromise(decl, getSvgo, opts) {
|
||||
function minifyPromise(decl, getSvgo, opts, postcssResult) {
|
||||
const promises = [];
|
||||
const parsed = (0, _postcssValueParser2.default)(decl.value);
|
||||
|
||||
@@ -64,11 +60,11 @@ function minifyPromise(decl, getSvgo, opts) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!(0, _isSvg2.default)(svg)) {
|
||||
return;
|
||||
}
|
||||
|
||||
promises.push(getSvgo().optimize(svg).then(result => {
|
||||
if (result.error) {
|
||||
decl.warn(postcssResult, `${result.error}`);
|
||||
return;
|
||||
}
|
||||
let data, optimizedValue;
|
||||
|
||||
if (isBase64) {
|
||||
@@ -92,7 +88,7 @@ function minifyPromise(decl, getSvgo, opts) {
|
||||
after: ''
|
||||
});
|
||||
}).catch(error => {
|
||||
throw new Error(`${PLUGIN}: ${error}`);
|
||||
decl.warn(postcssResult, `${error}`);
|
||||
}));
|
||||
|
||||
return false;
|
||||
@@ -112,7 +108,7 @@ exports.default = _postcss2.default.plugin(PLUGIN, (opts = {}) => {
|
||||
return svgo;
|
||||
};
|
||||
|
||||
return css => {
|
||||
return (css, result) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const svgoQueue = [];
|
||||
|
||||
@@ -121,7 +117,7 @@ exports.default = _postcss2.default.plugin(PLUGIN, (opts = {}) => {
|
||||
return;
|
||||
}
|
||||
|
||||
svgoQueue.push(minifyPromise(decl, getSvgo, opts));
|
||||
svgoQueue.push(minifyPromise(decl, getSvgo, opts, result));
|
||||
});
|
||||
|
||||
return Promise.all(svgoQueue).then(resolve, reject);
|
||||
|
||||
Reference in New Issue
Block a user