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

postcss-normalize-url

Package Overview
Dependencies
Maintainers
2
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-normalize-url - npm Package Compare versions

Comparing version

to
3.0.3

4

CHANGELOG.md

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

# 3.0.3
* Updates postcss-value-parser to version 3 (thanks to @TrySound).
# 3.0.2

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

63

index.js
'use strict';
var postcss = require('postcss');
var parser = require('postcss-value-parser');
var trimSpaceNodes = parser.trim;
var stringify = parser.stringify;
var valueParser = require('postcss-value-parser');
var normalize = require('normalize-url');

@@ -22,44 +20,29 @@ var isAbsolute = require('is-absolute-url');

function namespaceOptimiser (options) {
return function (rule) {
rule.params = parser(rule.params).walk(function (node, i, parentNodes) {
var nodes = node.nodes;
if (node.type === 'function' && node.value === 'url') {
trimSpaceNodes(node.nodes);
if (nodes.length === 1 && nodes[0].type === 'string' && nodes[0].quote) {
node = nodes[0];
} else {
node = { type: 'string', quote: '"', value: stringify(nodes) };
}
parentNodes[i] = node;
}
function transformNamespace (rule, opts) {
rule.params = valueParser(rule.params).walk(function (node) {
if (node.type === 'function' && node.value === 'url' && node.nodes.length) {
node.type = 'string';
node.quote = node.nodes[0].quote || '"';
node.value = node.nodes[0].value;
}
if (node.type === 'string') {
node.value = convert(node.value.trim(), options);
}
if (node.type === 'string') {
node.value = convert(node.value.trim(), opts);
}
return false;
}).toString();
};
return false;
}).toString();
}
function transformDecl(decl, opts) {
decl.value = decl.value.replace(multiline, '');
decl.value = parser(decl.value).walk('url', function (node) {
var nodes = node.nodes;
var url;
var escaped;
if (node.type !== 'function') {
function transformDecl (decl, opts) {
decl.value = valueParser(decl.value).walk(function (node) {
if (node.type !== 'function' || node.value !== 'url' && node.nodes.length) {
return;
}
trimSpaceNodes(nodes);
var url = node.nodes[0];
var escaped;
if (nodes.length === 1 && nodes[0].type === 'string' && nodes[0].quote) {
url = nodes[0];
} else {
url = { type: 'word', value: stringify(nodes) };
}
node.nodes = [url];
node.before = node.after = '';
url.value = url.value.trim().replace(multiline, '');

@@ -70,3 +53,2 @@ if (~url.value.indexOf('data:image/') || ~url.value.indexOf('data:application/')) {

url.value = url.value.trim();
if (!~url.value.indexOf('chrome-extension')) {

@@ -101,8 +83,7 @@ url.value = convert(url.value, opts);

return transformDecl(node, opts);
} else if (node.type === 'atrule' && node.name === 'namespace') {
return transformNamespace(node, opts);
}
if (node.type === 'atrule' && node.name === 'namespace') {
return namespaceOptimiser(opts)(node);
}
});
};
});
{
"name": "postcss-normalize-url",
"version": "3.0.2",
"version": "3.0.3",
"description": "Normalize URLs with PostCSS",

@@ -29,3 +29,3 @@ "main": "index.js",

"postcss": "^5.0.8",
"postcss-value-parser": "^2.0.2"
"postcss-value-parser": "^3.0.1"
},

@@ -32,0 +32,0 @@ "devDependencies": {