postcss-normalize-string
Advanced tools
Comparing version
@@ -21,4 +21,2 @@ 'use strict'; | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
/* | ||
@@ -28,12 +26,12 @@ * Constants (parser usage) | ||
var SINGLE_QUOTE = '\''.charCodeAt(0); | ||
var DOUBLE_QUOTE = '"'.charCodeAt(0); | ||
var BACKSLASH = '\\'.charCodeAt(0); | ||
var NEWLINE = '\n'.charCodeAt(0); | ||
var SPACE = ' '.charCodeAt(0); | ||
var FEED = '\f'.charCodeAt(0); | ||
var TAB = '\t'.charCodeAt(0); | ||
var CR = '\r'.charCodeAt(0); | ||
const SINGLE_QUOTE = '\''.charCodeAt(0); | ||
const DOUBLE_QUOTE = '"'.charCodeAt(0); | ||
const BACKSLASH = '\\'.charCodeAt(0); | ||
const NEWLINE = '\n'.charCodeAt(0); | ||
const SPACE = ' '.charCodeAt(0); | ||
const FEED = '\f'.charCodeAt(0); | ||
const TAB = '\t'.charCodeAt(0); | ||
const CR = '\r'.charCodeAt(0); | ||
var WORD_END = /[ \n\t\r\f'"\\]/g; | ||
const WORD_END = /[ \n\t\r\f'"\\]/g; | ||
@@ -44,9 +42,9 @@ /* | ||
var C_STRING = 'string'; | ||
var C_ESCAPED_SINGLE_QUOTE = 'escapedSingleQuote'; | ||
var C_ESCAPED_DOUBLE_QUOTE = 'escapedDoubleQuote'; | ||
var C_SINGLE_QUOTE = 'singleQuote'; | ||
var C_DOUBLE_QUOTE = 'doubleQuote'; | ||
var C_NEWLINE = 'newline'; | ||
var C_SINGLE = 'single'; | ||
const C_STRING = 'string'; | ||
const C_ESCAPED_SINGLE_QUOTE = 'escapedSingleQuote'; | ||
const C_ESCAPED_DOUBLE_QUOTE = 'escapedDoubleQuote'; | ||
const C_SINGLE_QUOTE = 'singleQuote'; | ||
const C_DOUBLE_QUOTE = 'doubleQuote'; | ||
const C_NEWLINE = 'newline'; | ||
const C_SINGLE = 'single'; | ||
@@ -57,5 +55,5 @@ /* | ||
var L_SINGLE_QUOTE = `'`; | ||
var L_DOUBLE_QUOTE = `"`; | ||
var L_NEWLINE = `\\\n`; | ||
const L_SINGLE_QUOTE = `'`; | ||
const L_DOUBLE_QUOTE = `"`; | ||
const L_NEWLINE = `\\\n`; | ||
@@ -66,12 +64,10 @@ /* | ||
var T_ESCAPED_SINGLE_QUOTE = { type: C_ESCAPED_SINGLE_QUOTE, value: `\\'` }; | ||
var T_ESCAPED_DOUBLE_QUOTE = { type: C_ESCAPED_DOUBLE_QUOTE, value: `\\"` }; | ||
var T_SINGLE_QUOTE = { type: C_SINGLE_QUOTE, value: L_SINGLE_QUOTE }; | ||
var T_DOUBLE_QUOTE = { type: C_DOUBLE_QUOTE, value: L_DOUBLE_QUOTE }; | ||
var T_NEWLINE = { type: C_NEWLINE, value: L_NEWLINE }; | ||
const T_ESCAPED_SINGLE_QUOTE = { type: C_ESCAPED_SINGLE_QUOTE, value: `\\'` }; | ||
const T_ESCAPED_DOUBLE_QUOTE = { type: C_ESCAPED_DOUBLE_QUOTE, value: `\\"` }; | ||
const T_SINGLE_QUOTE = { type: C_SINGLE_QUOTE, value: L_SINGLE_QUOTE }; | ||
const T_DOUBLE_QUOTE = { type: C_DOUBLE_QUOTE, value: L_DOUBLE_QUOTE }; | ||
const T_NEWLINE = { type: C_NEWLINE, value: L_NEWLINE }; | ||
function stringify(ast) { | ||
return ast.nodes.reduce(function (str, _ref) { | ||
var value = _ref.value; | ||
return ast.nodes.reduce((str, { value }) => { | ||
// Collapse multiple line strings automatically | ||
@@ -86,9 +82,7 @@ if (value === L_NEWLINE) { | ||
function parse(str) { | ||
var code = void 0, | ||
next = void 0, | ||
value = void 0; | ||
var pos = 0; | ||
var len = str.length; | ||
let code, next, value; | ||
let pos = 0; | ||
let len = str.length; | ||
var ast = { | ||
const ast = { | ||
nodes: [], | ||
@@ -182,4 +176,3 @@ types: { | ||
function changeWrappingQuotes(node, ast) { | ||
var types = ast.types; | ||
const { types } = ast; | ||
if (types[C_SINGLE_QUOTE] || types[C_DOUBLE_QUOTE]) { | ||
@@ -197,10 +190,10 @@ return; | ||
ast.nodes = ast.nodes.reduce(function (newAst, child) { | ||
ast.nodes = ast.nodes.reduce((newAst, child) => { | ||
if (child.type === C_ESCAPED_DOUBLE_QUOTE && node.quote === L_SINGLE_QUOTE) { | ||
return [].concat(_toConsumableArray(newAst), [T_DOUBLE_QUOTE]); | ||
return [...newAst, T_DOUBLE_QUOTE]; | ||
} | ||
if (child.type === C_ESCAPED_SINGLE_QUOTE && node.quote === L_DOUBLE_QUOTE) { | ||
return [].concat(_toConsumableArray(newAst), [T_SINGLE_QUOTE]); | ||
return [...newAst, T_SINGLE_QUOTE]; | ||
} | ||
return [].concat(_toConsumableArray(newAst), [child]); | ||
return [...newAst, child]; | ||
}, []); | ||
@@ -213,7 +206,7 @@ } | ||
} | ||
return (0, _postcssValueParser2.default)(value).walk(function (child) { | ||
return (0, _postcssValueParser2.default)(value).walk(child => { | ||
if (child.type !== C_STRING) { | ||
return; | ||
} | ||
var ast = parse(child.value); | ||
const ast = parse(child.value); | ||
if (ast.quotes) { | ||
@@ -230,3 +223,3 @@ changeWrappingQuotes(child, ast); | ||
var params = { | ||
const params = { | ||
rule: 'selector', | ||
@@ -237,14 +230,12 @@ decl: 'value', | ||
exports.default = _postcss2.default.plugin('postcss-normalize-string', function (opts) { | ||
var _Object$assign = Object.assign({}, { | ||
exports.default = _postcss2.default.plugin('postcss-normalize-string', opts => { | ||
const { preferredQuote } = Object.assign({}, { | ||
preferredQuote: 'double' | ||
}, opts), | ||
preferredQuote = _Object$assign.preferredQuote; | ||
}, opts); | ||
return function (css) { | ||
css.walk(function (node) { | ||
var type = node.type; | ||
return css => { | ||
css.walk(node => { | ||
const { type } = node; | ||
if ((0, _has2.default)(params, type)) { | ||
var param = params[type]; | ||
const param = params[type]; | ||
node[param] = normalize(node[param], preferredQuote); | ||
@@ -251,0 +242,0 @@ } |
{ | ||
"name": "postcss-normalize-string", | ||
"version": "4.0.0-rc.2", | ||
"version": "4.0.0", | ||
"description": "Normalize wrapping quotes for CSS string literals.", | ||
@@ -21,5 +21,5 @@ "main": "dist/index.js", | ||
"babel-cli": "^6.0.0", | ||
"cross-env": "^3.0.0" | ||
"cross-env": "^5.0.0" | ||
}, | ||
"homepage": "https://github.com/ben-eb/cssnano", | ||
"homepage": "https://github.com/cssnano/cssnano", | ||
"author": { | ||
@@ -30,3 +30,3 @@ "name": "Ben Briggs", | ||
}, | ||
"repository": "ben-eb/cssnano", | ||
"repository": "cssnano/cssnano", | ||
"dependencies": { | ||
@@ -38,7 +38,7 @@ "has": "^1.0.0", | ||
"bugs": { | ||
"url": "https://github.com/ben-eb/cssnano/issues" | ||
"url": "https://github.com/cssnano/cssnano/issues" | ||
}, | ||
"engines": { | ||
"node": ">=4" | ||
"node": ">=6.9.0" | ||
} | ||
} |
@@ -53,3 +53,3 @@ # [postcss][postcss]-normalize-string | ||
See [CONTRIBUTORS.md](https://github.com/ben-eb/cssnano/blob/master/CONTRIBUTORS.md). | ||
See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md). | ||
@@ -56,0 +56,0 @@ ## License |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
0
-100%9793
-3.81%199
-2.45%1
Infinity%