🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

postcss-svgo

Package Overview
Dependencies
Maintainers
2
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-svgo - npm Package Compare versions

Comparing version

to
2.1.2

dist/lib/url.js

4

CHANGELOG.md

@@ -0,1 +1,5 @@

# 2.1.2
* Fixes an issue with processing some malformed URIs (thanks to @TrySound).
# 2.1.1

@@ -2,0 +6,0 @@

28

dist/index.js
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.__esModule = true;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _postcss = require('postcss');

@@ -25,7 +21,7 @@

var _url = require('./lib/url');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var dataURI = /data:image\/svg\+xml(;(charset=)?utf-8)?,/;
var encode = function encode(data) {
return data.replace(/"/g, '\'').replace(/</g, '%3C').replace(/>/g, '%3E').replace(/&/g, '%26').replace(/#/g, '%23').replace(/\s+/g, ' ');
};
var decode = decodeURIComponent;

@@ -35,3 +31,3 @@ function minifyPromise(svgo, decl, opts) {

decl.value = (0, _postcssValueParser2['default'])(decl.value).walk(function (node) {
decl.value = (0, _postcssValueParser2.default)(decl.value).walk(function (node) {
if (node.type !== 'function' || node.value !== 'url' || !node.nodes.length) {

@@ -42,3 +38,3 @@ return;

var decodedUri = decode(value);
var decodedUri = (0, _url.decode)(value);
var isUriEncoded = decodedUri !== value;

@@ -52,3 +48,3 @@ if (isUriEncoded) {

if (!dataURI.test(value) || !(0, _isSvg2['default'])(value)) {
if (!dataURI.test(value) || !(0, _isSvg2.default)(value)) {
return;

@@ -62,3 +58,3 @@ }

node.before = node.after = '';
var data = isUriEncoded ? encode(result.data) : result.data;
var data = isUriEncoded ? (0, _url.encode)(result.data) : result.data;
node.nodes[0].value = 'data:image/svg+xml;charset=utf-8,' + data;

@@ -75,10 +71,10 @@ node.nodes[0].quote = isUriEncoded ? '"' : '\'';

return Promise.all(promises).then(function () {
decl.value = decl.value.toString();
return decl.value = decl.value.toString();
});
}
exports['default'] = _postcss2['default'].plugin('postcss-svgo', function () {
exports.default = _postcss2.default.plugin('postcss-svgo', function () {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var svgo = new _svgo2['default'](opts);
var svgo = new _svgo2.default(opts);
return function (css) {

@@ -85,0 +81,0 @@ return new Promise(function (resolve, reject) {

{
"name": "postcss-svgo",
"version": "2.1.1",
"version": "2.1.2",
"description": "Optimise inline SVG with PostCSS.",
"main": "dist/index.js",
"scripts": {
"prepublish": "babel src --out-dir dist --ignore /__tests__/",
"test-unformatted": "babel-tape-runner \"src/**/__tests__/*.js\"",
"test": "npm run test-unformatted | tap-spec"
"pretest": "eslint src",
"prepublish": "del-cli dist && BABEL_ENV=publish babel src --out-dir dist --ignore /__tests__/",
"test": "nyc --reporter=text ava src/__tests__"
},

@@ -26,7 +26,14 @@ "files": [

"devDependencies": {
"babel": "^5.8.21",
"babel-tape-runner": "1.2.0",
"pleeease-filters": "^2.0.0",
"tap-spec": "^4.1.0",
"tape": "^4.2.0"
"ava": "^0.11.0",
"babel-cli": "^6.4.5",
"babel-core": "^6.4.5",
"babel-plugin-add-module-exports": "^0.1.2",
"babel-preset-es2015": "^6.3.13",
"babel-preset-es2015-loose": "^7.0.0",
"babel-preset-stage-0": "^6.3.13",
"coveralls": "^2.11.6",
"del-cli": "^0.2.0",
"eslint": "^1.10.3",
"nyc": "^5.6.0",
"pleeease-filters": "^2.0.0"
},

@@ -42,6 +49,9 @@ "homepage": "https://github.com/ben-eb/postcss-svgo",

"is-svg": "^1.1.1",
"postcss": "^5.0.2",
"postcss-value-parser": "^3.0.1",
"postcss": "^5.0.14",
"postcss-value-parser": "^3.2.3",
"svgo": "^0.6.1"
},
"ava": {
"require": "babel-core/register"
}
}