diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/clean-css/lib/optimizer/level-1/value-optimizers | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/clean-css/lib/optimizer/level-1/value-optimizers')
16 files changed, 0 insertions, 734 deletions
diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color.js deleted file mode 100644 index 58018c90..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color.js +++ /dev/null @@ -1,89 +0,0 @@ -var shortenHex = require('./color/shorten-hex'); -var shortenHsl = require('./color/shorten-hsl'); -var shortenRgb = require('./color/shorten-rgb'); - -var split = require('../../../utils/split'); - -var ANY_COLOR_FUNCTION_PATTERN = /(rgb|rgba|hsl|hsla)\(([^()]+)\)/gi; -var COLOR_PREFIX_PATTERN = /#|rgb|hsl/gi; -var HEX_LONG_PATTERN = /(^|[^='"])#([0-9a-f]{6})/gi; -var HEX_SHORT_PATTERN = /(^|[^='"])#([0-9a-f]{3})/gi; -var HEX_VALUE_PATTERN = /[0-9a-f]/i; -var HSL_PATTERN = /hsl\((-?\d+),(-?\d+)%?,(-?\d+)%?\)/gi; -var RGBA_HSLA_PATTERN = /(rgb|hsl)a?\((-?\d+),(-?\d+%?),(-?\d+%?),(0*[1-9]+[0-9]*(\.?\d*)?)\)/gi; -var RGB_PATTERN = /rgb\((-?\d+),(-?\d+),(-?\d+)\)/gi; -var TRANSPARENT_FUNCTION_PATTERN = /(?:rgba|hsla)\(0,0%?,0%?,0\)/g; - -var plugin = { - level1: { - value: function color(name, value, options) { - if (!options.compatibility.properties.colors) { - return value; - } - - if (!value.match(COLOR_PREFIX_PATTERN)) { - return shortenHex(value); - } - - value = value - .replace(RGBA_HSLA_PATTERN, function(match, colorFn, p1, p2, p3, alpha) { - return (parseInt(alpha) >= 1 ? colorFn + '(' + [p1, p2, p3].join(',') + ')' : match); - }) - .replace(RGB_PATTERN, function(match, red, green, blue) { - return shortenRgb(red, green, blue); - }) - .replace(HSL_PATTERN, function(match, hue, saturation, lightness) { - return shortenHsl(hue, saturation, lightness); - }) - .replace(HEX_LONG_PATTERN, function(match, prefix, color, at, inputValue) { - var suffix = inputValue[at + match.length]; - - if (suffix && HEX_VALUE_PATTERN.test(suffix)) { - return match; - } if (color[0] == color[1] && color[2] == color[3] && color[4] == color[5]) { - return (prefix + '#' + color[0] + color[2] + color[4]).toLowerCase(); - } - return (prefix + '#' + color).toLowerCase(); - }) - .replace(HEX_SHORT_PATTERN, function(match, prefix, color) { - return prefix + '#' + color.toLowerCase(); - }) - .replace(ANY_COLOR_FUNCTION_PATTERN, function(match, colorFunction, colorDef) { - var tokens = colorDef.split(','); - var colorFnLowercase = colorFunction && colorFunction.toLowerCase(); - var applies = (colorFnLowercase == 'hsl' && tokens.length == 3) - || (colorFnLowercase == 'hsla' && tokens.length == 4) - || (colorFnLowercase == 'rgb' && tokens.length === 3 && colorDef.indexOf('%') > 0) - || (colorFnLowercase == 'rgba' && tokens.length == 4 && tokens[0].indexOf('%') > 0); - - if (!applies) { - return match; - } - - if (tokens[1].indexOf('%') == -1) { - tokens[1] += '%'; - } - - if (tokens[2].indexOf('%') == -1) { - tokens[2] += '%'; - } - - return colorFunction + '(' + tokens.join(',') + ')'; - }); - - if (options.compatibility.colors.opacity && name.indexOf('background') == -1) { - value = value.replace(TRANSPARENT_FUNCTION_PATTERN, function(match) { - if (split(value, ',').pop().indexOf('gradient(') > -1) { - return match; - } - - return 'transparent'; - }); - } - - return shortenHex(value); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hex.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hex.js deleted file mode 100644 index 448ffd85..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hex.js +++ /dev/null @@ -1,189 +0,0 @@ -var COLORS = { - aliceblue: '#f0f8ff', - antiquewhite: '#faebd7', - aqua: '#0ff', - aquamarine: '#7fffd4', - azure: '#f0ffff', - beige: '#f5f5dc', - bisque: '#ffe4c4', - black: '#000', - blanchedalmond: '#ffebcd', - blue: '#00f', - blueviolet: '#8a2be2', - brown: '#a52a2a', - burlywood: '#deb887', - cadetblue: '#5f9ea0', - chartreuse: '#7fff00', - chocolate: '#d2691e', - coral: '#ff7f50', - cornflowerblue: '#6495ed', - cornsilk: '#fff8dc', - crimson: '#dc143c', - cyan: '#0ff', - darkblue: '#00008b', - darkcyan: '#008b8b', - darkgoldenrod: '#b8860b', - darkgray: '#a9a9a9', - darkgreen: '#006400', - darkgrey: '#a9a9a9', - darkkhaki: '#bdb76b', - darkmagenta: '#8b008b', - darkolivegreen: '#556b2f', - darkorange: '#ff8c00', - darkorchid: '#9932cc', - darkred: '#8b0000', - darksalmon: '#e9967a', - darkseagreen: '#8fbc8f', - darkslateblue: '#483d8b', - darkslategray: '#2f4f4f', - darkslategrey: '#2f4f4f', - darkturquoise: '#00ced1', - darkviolet: '#9400d3', - deeppink: '#ff1493', - deepskyblue: '#00bfff', - dimgray: '#696969', - dimgrey: '#696969', - dodgerblue: '#1e90ff', - firebrick: '#b22222', - floralwhite: '#fffaf0', - forestgreen: '#228b22', - fuchsia: '#f0f', - gainsboro: '#dcdcdc', - ghostwhite: '#f8f8ff', - gold: '#ffd700', - goldenrod: '#daa520', - gray: '#808080', - green: '#008000', - greenyellow: '#adff2f', - grey: '#808080', - honeydew: '#f0fff0', - hotpink: '#ff69b4', - indianred: '#cd5c5c', - indigo: '#4b0082', - ivory: '#fffff0', - khaki: '#f0e68c', - lavender: '#e6e6fa', - lavenderblush: '#fff0f5', - lawngreen: '#7cfc00', - lemonchiffon: '#fffacd', - lightblue: '#add8e6', - lightcoral: '#f08080', - lightcyan: '#e0ffff', - lightgoldenrodyellow: '#fafad2', - lightgray: '#d3d3d3', - lightgreen: '#90ee90', - lightgrey: '#d3d3d3', - lightpink: '#ffb6c1', - lightsalmon: '#ffa07a', - lightseagreen: '#20b2aa', - lightskyblue: '#87cefa', - lightslategray: '#778899', - lightslategrey: '#778899', - lightsteelblue: '#b0c4de', - lightyellow: '#ffffe0', - lime: '#0f0', - limegreen: '#32cd32', - linen: '#faf0e6', - magenta: '#ff00ff', - maroon: '#800000', - mediumaquamarine: '#66cdaa', - mediumblue: '#0000cd', - mediumorchid: '#ba55d3', - mediumpurple: '#9370db', - mediumseagreen: '#3cb371', - mediumslateblue: '#7b68ee', - mediumspringgreen: '#00fa9a', - mediumturquoise: '#48d1cc', - mediumvioletred: '#c71585', - midnightblue: '#191970', - mintcream: '#f5fffa', - mistyrose: '#ffe4e1', - moccasin: '#ffe4b5', - navajowhite: '#ffdead', - navy: '#000080', - oldlace: '#fdf5e6', - olive: '#808000', - olivedrab: '#6b8e23', - orange: '#ffa500', - orangered: '#ff4500', - orchid: '#da70d6', - palegoldenrod: '#eee8aa', - palegreen: '#98fb98', - paleturquoise: '#afeeee', - palevioletred: '#db7093', - papayawhip: '#ffefd5', - peachpuff: '#ffdab9', - peru: '#cd853f', - pink: '#ffc0cb', - plum: '#dda0dd', - powderblue: '#b0e0e6', - purple: '#800080', - rebeccapurple: '#663399', - red: '#f00', - rosybrown: '#bc8f8f', - royalblue: '#4169e1', - saddlebrown: '#8b4513', - salmon: '#fa8072', - sandybrown: '#f4a460', - seagreen: '#2e8b57', - seashell: '#fff5ee', - sienna: '#a0522d', - silver: '#c0c0c0', - skyblue: '#87ceeb', - slateblue: '#6a5acd', - slategray: '#708090', - slategrey: '#708090', - snow: '#fffafa', - springgreen: '#00ff7f', - steelblue: '#4682b4', - tan: '#d2b48c', - teal: '#008080', - thistle: '#d8bfd8', - tomato: '#ff6347', - turquoise: '#40e0d0', - violet: '#ee82ee', - wheat: '#f5deb3', - white: '#fff', - whitesmoke: '#f5f5f5', - yellow: '#ff0', - yellowgreen: '#9acd32' -}; - -var toHex = {}; -var toName = {}; - -for (var name in COLORS) { - var hex = COLORS[name]; - - if (name.length < hex.length) { - toName[hex] = name; - } else { - toHex[name] = hex; - } -} - -var toHexPattern = new RegExp('(^| |,|\\))(' + Object.keys(toHex).join('|') + ')( |,|\\)|$)', 'ig'); -var toNamePattern = new RegExp('(' + Object.keys(toName).join('|') + ')([^a-f0-9]|$)', 'ig'); - -function hexConverter(match, prefix, colorValue, suffix) { - return prefix + toHex[colorValue.toLowerCase()] + suffix; -} - -function nameConverter(match, colorValue, suffix) { - return toName[colorValue.toLowerCase()] + suffix; -} - -function shortenHex(value) { - var hasHex = value.indexOf('#') > -1; - var shortened = value.replace(toHexPattern, hexConverter); - - if (shortened != value) { - shortened = shortened.replace(toHexPattern, hexConverter); - } - - return hasHex - ? shortened.replace(toNamePattern, nameConverter) - : shortened; -} - -module.exports = shortenHex; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hsl.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hsl.js deleted file mode 100644 index 883bf69e..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-hsl.js +++ /dev/null @@ -1,54 +0,0 @@ -// HSL to RGB converter. Both methods adapted from: -// http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript - -function hslToRgb(h, s, l) { - var r, g, b; - - // normalize hue orientation b/w 0 and 360 degrees - h %= 360; - if (h < 0) { h += 360; } - h = ~~h / 360; - - if (s < 0) { s = 0; } else if (s > 100) { s = 100; } - s = ~~s / 100; - - if (l < 0) { l = 0; } else if (l > 100) { l = 100; } - l = ~~l / 100; - - if (s === 0) { - r = g = b = l; // achromatic - } else { - var q = l < 0.5 - ? l * (1 + s) - : l + s - l * s; - var p = 2 * l - q; - r = hueToRgb(p, q, h + 1 / 3); - g = hueToRgb(p, q, h); - b = hueToRgb(p, q, h - 1 / 3); - } - - return [~~(r * 255), ~~(g * 255), ~~(b * 255)]; -} - -function hueToRgb(p, q, t) { - if (t < 0) { t += 1; } - if (t > 1) { t -= 1; } - if (t < 1 / 6) { return p + (q - p) * 6 * t; } - if (t < 1 / 2) { return q; } - if (t < 2 / 3) { return p + (q - p) * (2 / 3 - t) * 6; } - return p; -} - -function shortenHsl(hue, saturation, lightness) { - var asRgb = hslToRgb(hue, saturation, lightness); - var redAsHex = asRgb[0].toString(16); - var greenAsHex = asRgb[1].toString(16); - var blueAsHex = asRgb[2].toString(16); - - return '#' - + ((redAsHex.length == 1 ? '0' : '') + redAsHex) - + ((greenAsHex.length == 1 ? '0' : '') + greenAsHex) - + ((blueAsHex.length == 1 ? '0' : '') + blueAsHex); -} - -module.exports = shortenHsl; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-rgb.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-rgb.js deleted file mode 100644 index 3c0a5fa3..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/color/shorten-rgb.js +++ /dev/null @@ -1,10 +0,0 @@ -function shortenRgb(red, green, blue) { - var normalizedRed = Math.max(0, Math.min(parseInt(red), 255)); - var normalizedGreen = Math.max(0, Math.min(parseInt(green), 255)); - var normalizedBlue = Math.max(0, Math.min(parseInt(blue), 255)); - - // Credit: Asen http://jsbin.com/UPUmaGOc/2/edit?js,console - return '#' + ('00000' + (normalizedRed << 16 | normalizedGreen << 8 | normalizedBlue).toString(16)).slice(-6); -} - -module.exports = shortenRgb; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/degrees.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/degrees.js deleted file mode 100644 index 29b7672a..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/degrees.js +++ /dev/null @@ -1,19 +0,0 @@ -var ZERO_DEG_PATTERN = /\(0deg\)/g; - -var plugin = { - level1: { - value: function degrees(_name, value, options) { - if (!options.compatibility.properties.zeroUnits) { - return value; - } - - if (value.indexOf('0deg') == -1) { - return value; - } - - return value.replace(ZERO_DEG_PATTERN, '(0)'); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/fraction.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/fraction.js deleted file mode 100644 index c29a04c3..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/fraction.js +++ /dev/null @@ -1,72 +0,0 @@ -var split = require('../../../utils/split'); -var startsAsUrl = require('./starts-as-url'); - -var OptimizationLevel = require('../../../options/optimization-level').OptimizationLevel; - -var EXPRESSION_PATTERN = /^expression\(.*\)$/; -var ANY_FUNCTION_PATTERN = /^(-(?:moz|ms|o|webkit)-[a-z-]+|[a-z-]+)\((.+)\)$/; -var TOKEN_SEPARATOR_PATTERN = /([\s,/])/; - -var DOT_ZERO_PATTERN = /(^|\D)\.0+(\D|$)/g; -var FRACTION_PATTERN = /\.([1-9]*)0+(\D|$)/g; -var LEADING_ZERO_FRACTION_PATTERN = /(^|\D)0\.(\d)/g; -var MINUS_ZERO_FRACTION_PATTERN = /([^\w\d-]|^)-0([^.]|$)/g; -var ZERO_PREFIXED_UNIT_PATTERN = /(^|\s)0+([1-9])/g; - -function optimizeRecursively(value) { - var functionTokens; - var tokens; - - if (startsAsUrl(value)) { - return value; - } - - if (EXPRESSION_PATTERN.test(value)) { - return value; - } - - functionTokens = ANY_FUNCTION_PATTERN.exec(value); - - if (!functionTokens) { - return optimizeFractions(value); - } - - tokens = split(functionTokens[2], TOKEN_SEPARATOR_PATTERN) - .map(function(token) { return optimizeRecursively(token); }); - - return functionTokens[1] + '(' + tokens.join('') + ')'; -} - -function optimizeFractions(value) { - if (value.indexOf('0') == -1) { - return value; - } - - if (value.indexOf('-') > -1) { - value = value - .replace(MINUS_ZERO_FRACTION_PATTERN, '$10$2') - .replace(MINUS_ZERO_FRACTION_PATTERN, '$10$2'); - } - - return value - .replace(ZERO_PREFIXED_UNIT_PATTERN, '$1$2') - .replace(DOT_ZERO_PATTERN, '$10$2') - .replace(FRACTION_PATTERN, function(match, nonZeroPart, suffix) { - return (nonZeroPart.length > 0 ? '.' : '') + nonZeroPart + suffix; - }) - .replace(LEADING_ZERO_FRACTION_PATTERN, '$1.$2'); -} - -var plugin = { - level1: { - value: function fraction(name, value, options) { - if (!options.level[OptimizationLevel.One].replaceZeroUnits) { - return value; - } - - return optimizeRecursively(value); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/precision.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/precision.js deleted file mode 100644 index 6cbc359b..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/precision.js +++ /dev/null @@ -1,22 +0,0 @@ -var plugin = { - level1: { - value: function precision(_name, value, options) { - if (!options.precision.enabled || value.indexOf('.') === -1) { - return value; - } - - return value - .replace(options.precision.decimalPointMatcher, '$1$2$3') - .replace(options.precision.zeroMatcher, function(match, integerPart, fractionPart, unit) { - var multiplier = options.precision.units[unit].multiplier; - var parsedInteger = parseInt(integerPart); - var integer = Number.isNaN(parsedInteger) ? 0 : parsedInteger; - var fraction = parseFloat(fractionPart); - - return Math.round((integer + fraction) * multiplier) / multiplier + unit; - }); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/starts-as-url.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/starts-as-url.js deleted file mode 100644 index 7b7f1477..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/starts-as-url.js +++ /dev/null @@ -1,7 +0,0 @@ -var URL_PREFIX_PATTERN = /^url\(/i; - -function startsAsUrl(value) { - return URL_PREFIX_PATTERN.test(value); -} - -module.exports = startsAsUrl; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/text-quotes.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/text-quotes.js deleted file mode 100644 index 09923428..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/text-quotes.js +++ /dev/null @@ -1,31 +0,0 @@ -var OptimizationLevel = require('../../../options/optimization-level').OptimizationLevel; - -var LOCAL_PREFIX_PATTERN = /^local\(/i; -var QUOTED_PATTERN = /^('.*'|".*")$/; -var QUOTED_BUT_SAFE_PATTERN = /^['"][a-zA-Z][a-zA-Z\d\-_]+['"]$/; -// eslint-disable-next-line max-len -var GENERIC_FONT_FAMILY_PATTERN = /^['"](?:cursive|default|emoji|fangsong|fantasy|inherit|initial|math|monospace|revert|revert-layer|sans-serif|serif|system-ui|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|unset)['"]$/; - -var plugin = { - level1: { - value: function textQuotes(name, value, options) { - if ((name == 'font-family' || name == 'font') && GENERIC_FONT_FAMILY_PATTERN.test(value)) { - return value; - } - - if (!options.level[OptimizationLevel.One].removeQuotes) { - return value; - } - - if (!QUOTED_PATTERN.test(value) && !LOCAL_PREFIX_PATTERN.test(value)) { - return value; - } - - return QUOTED_BUT_SAFE_PATTERN.test(value) - ? value.substring(1, value.length - 1) - : value; - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/time.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/time.js deleted file mode 100644 index 8fb2021c..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/time.js +++ /dev/null @@ -1,31 +0,0 @@ -var OptimizationLevel = require('../../../options/optimization-level').OptimizationLevel; - -var TIME_VALUE = /^(-?[\d.]+)(m?s)$/; - -var plugin = { - level1: { - value: function time(name, value, options) { - if (!options.level[OptimizationLevel.One].replaceTimeUnits) { - return value; - } - - if (!TIME_VALUE.test(value)) { - return value; - } - - return value.replace(TIME_VALUE, function(match, val, unit) { - var newValue; - - if (unit == 'ms') { - newValue = parseInt(val) / 1000 + 's'; - } else if (unit == 's') { - newValue = parseFloat(val) * 1000 + 'ms'; - } - - return newValue.length < match.length ? newValue : match; - }); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/unit.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/unit.js deleted file mode 100644 index df2cda59..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/unit.js +++ /dev/null @@ -1,46 +0,0 @@ -var WHOLE_PIXEL_VALUE = /(?:^|\s|\()(-?\d+)px/; - -var plugin = { - level1: { - value: function unit(_name, value, options) { - if (!WHOLE_PIXEL_VALUE.test(value)) { - return value; - } - - return value.replace(WHOLE_PIXEL_VALUE, function(match, val) { - var newValue; - var intVal = parseInt(val); - - if (intVal === 0) { - return match; - } - - if (options.compatibility.properties.shorterLengthUnits - && options.compatibility.units.pt - && intVal * 3 % 4 === 0) { - newValue = intVal * 3 / 4 + 'pt'; - } - - if (options.compatibility.properties.shorterLengthUnits - && options.compatibility.units.pc - && intVal % 16 === 0) { - newValue = intVal / 16 + 'pc'; - } - - if (options.compatibility.properties.shorterLengthUnits - && options.compatibility.units.in - && intVal % 96 === 0) { - newValue = intVal / 96 + 'in'; - } - - if (newValue) { - newValue = match.substring(0, match.indexOf(val)) + newValue; - } - - return newValue && newValue.length < match.length ? newValue : match; - }); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-prefix.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-prefix.js deleted file mode 100644 index 8ae7e508..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-prefix.js +++ /dev/null @@ -1,23 +0,0 @@ -var startsAsUrl = require('./starts-as-url'); - -var OptimizationLevel = require('../../../options/optimization-level').OptimizationLevel; - -var URL_PREFIX_PATTERN = /^url\(/i; - -var plugin = { - level1: { - value: function urlPrefix(_name, value, options) { - if (!options.level[OptimizationLevel.One].normalizeUrls) { - return value; - } - - if (!startsAsUrl(value)) { - return value; - } - - return value.replace(URL_PREFIX_PATTERN, 'url('); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-quotes.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-quotes.js deleted file mode 100644 index 022b80b1..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-quotes.js +++ /dev/null @@ -1,22 +0,0 @@ -var QUOTED_URL_PATTERN = /^url\(['"].+['"]\)$/; -var QUOTED_URL_WITH_WHITESPACE_PATTERN = /^url\(['"].*[*\s()'"].*['"]\)$/; -var QUOTES_PATTERN = /["']/g; -var URL_DATA_PATTERN = /^url\(['"]data:[^;]+;charset/; - -var plugin = { - level1: { - value: function urlQuotes(_name, value, options) { - if (options.compatibility.properties.urlQuotes) { - return value; - } - - return QUOTED_URL_PATTERN.test(value) - && !QUOTED_URL_WITH_WHITESPACE_PATTERN.test(value) - && !URL_DATA_PATTERN.test(value) - ? value.replace(QUOTES_PATTERN, '') - : value; - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-whitespace.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-whitespace.js deleted file mode 100644 index bd1aaff9..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/url-whitespace.js +++ /dev/null @@ -1,22 +0,0 @@ -var startsAsUrl = require('./starts-as-url'); - -var WHITESPACE_PATTERN = /\\?\n|\\?\r\n/g; -var WHITESPACE_PREFIX_PATTERN = /(\()\s+/g; -var WHITESPACE_SUFFIX_PATTERN = /\s+(\))/g; - -var plugin = { - level1: { - value: function urlWhitespace(_name, value) { - if (!startsAsUrl(value)) { - return value; - } - - return value - .replace(WHITESPACE_PATTERN, '') - .replace(WHITESPACE_PREFIX_PATTERN, '$1') - .replace(WHITESPACE_SUFFIX_PATTERN, '$1'); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/whitespace.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/whitespace.js deleted file mode 100644 index bf776301..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/whitespace.js +++ /dev/null @@ -1,48 +0,0 @@ -var OptimizationLevel = require('../../../options/optimization-level').OptimizationLevel; - -var Marker = require('../../../tokenizer/marker'); - -var CALC_DIVISION_WHITESPACE_PATTERN = /\) ?\/ ?/g; -var COMMA_AND_SPACE_PATTERN = /, /g; -var LINE_BREAK_PATTERN = /\r?\n/g; -var MULTI_WHITESPACE_PATTERN = /\s+/g; -var FUNCTION_CLOSING_BRACE_WHITESPACE_PATTERN = /\s+(;?\))/g; -var FUNCTION_OPENING_BRACE_WHITESPACE_PATTERN = /(\(;?)\s+/g; -var VARIABLE_NAME_PATTERN = /^--\S+$/; -var VARIABLE_VALUE_PATTERN = /^var\(\s*--\S+\s*\)$/; - -var plugin = { - level1: { - value: function whitespace(name, value, options) { - if (!options.level[OptimizationLevel.One].removeWhitespace) { - return value; - } - - if (VARIABLE_NAME_PATTERN.test(name) && !VARIABLE_VALUE_PATTERN.test(value)) { - return value; - } - - if ((value.indexOf(' ') == -1 && value.indexOf('\n') == -1) || value.indexOf('expression') === 0) { - return value; - } - - if (value.indexOf(Marker.SINGLE_QUOTE) > -1 || value.indexOf(Marker.DOUBLE_QUOTE) > -1) { - return value; - } - - value = value.replace(LINE_BREAK_PATTERN, ''); - value = value.replace(MULTI_WHITESPACE_PATTERN, ' '); - - if (value.indexOf('calc') > -1) { - value = value.replace(CALC_DIVISION_WHITESPACE_PATTERN, ')/ '); - } - - return value - .replace(FUNCTION_OPENING_BRACE_WHITESPACE_PATTERN, '$1') - .replace(FUNCTION_CLOSING_BRACE_WHITESPACE_PATTERN, '$1') - .replace(COMMA_AND_SPACE_PATTERN, ','); - } - } -}; - -module.exports = plugin; diff --git a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/zero.js b/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/zero.js deleted file mode 100644 index 0e60346a..00000000 --- a/node_modules/clean-css/lib/optimizer/level-1/value-optimizers/zero.js +++ /dev/null @@ -1,49 +0,0 @@ -var split = require('../../../utils/split'); - -var ANY_FUNCTION_PATTERN = /^(-(?:moz|ms|o|webkit)-[a-z-]+|[a-z-]+)\((.+)\)$/; -var SKIP_FUNCTION_PATTERN = /^(?:-moz-calc|-webkit-calc|calc|rgb|hsl|rgba|hsla|min|max|clamp|expression)\(/; -var TOKEN_SEPARATOR_PATTERN = /([\s,/])/; - -function removeRecursively(value, options) { - var functionTokens; - var tokens; - - if (SKIP_FUNCTION_PATTERN.test(value)) { - return value; - } - - functionTokens = ANY_FUNCTION_PATTERN.exec(value); - - if (!functionTokens) { - return removeZeros(value, options); - } - - tokens = split(functionTokens[2], TOKEN_SEPARATOR_PATTERN) - .map(function(token) { return removeRecursively(token, options); }); - - return functionTokens[1] + '(' + tokens.join('') + ')'; -} - -function removeZeros(value, options) { - return value - .replace(options.unitsRegexp, '$10$2') - .replace(options.unitsRegexp, '$10$2'); -} - -var plugin = { - level1: { - value: function zero(name, value, options) { - if (!options.compatibility.properties.zeroUnits) { - return value; - } - - if (value.indexOf('%') > 0 && (name == 'height' || name == 'max-height' || name == 'width' || name == 'max-width')) { - return value; - } - - return removeRecursively(value, options); - } - } -}; - -module.exports = plugin; |
