clean-css
Advanced tools
Comparing version 4.1.4 to 4.1.5
@@ -101,7 +101,7 @@ var shortenHex = require('./shorten-hex'); | ||
}) | ||
.replace(/(^|[^='"])#([0-9a-f]{6})/gi, function (match, prefix, color) { | ||
.replace(/(^|[^='"])#([0-9a-f]{6})($|[^0-9a-f])/gi, function (match, prefix, color, suffix) { | ||
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[0] + color[2] + color[4]).toLowerCase() + suffix; | ||
} else { | ||
return (prefix + '#' + color).toLowerCase(); | ||
return (prefix + '#' + color).toLowerCase() + suffix; | ||
} | ||
@@ -108,0 +108,0 @@ }) |
@@ -31,2 +31,30 @@ var Marker = require('./marker'); | ||
var PAGE_MARGIN_BOXES = [ | ||
'@bottom-center', | ||
'@bottom-left', | ||
'@bottom-left-corner', | ||
'@bottom-right', | ||
'@bottom-right-corner', | ||
'@left-bottom', | ||
'@left-middle', | ||
'@left-top', | ||
'@right-bottom', | ||
'@right-middle', | ||
'@right-top', | ||
'@top-center', | ||
'@top-left', | ||
'@top-left-corner', | ||
'@top-right', | ||
'@top-right-corner' | ||
]; | ||
var EXTRA_PAGE_BOXES = [ | ||
'@footnote', | ||
'@footnotes', | ||
'@left', | ||
'@page-float-bottom', | ||
'@page-float-top', | ||
'@right' | ||
]; | ||
var REPEAT_PATTERN = /^\[\s*\d+\s*\]$/; | ||
@@ -225,2 +253,14 @@ var RULE_WORD_SEPARATOR_PATTERN = /[\s\(]/; | ||
seekingValue = false; | ||
} else if (character == Marker.OPEN_CURLY_BRACKET && level == Level.RULE && isPageMarginBox(buffer)) { | ||
// open brace opening page-margin box at rule level, e.g. @page{@top-center{<-- | ||
serializedBuffer = buffer.join('').trim(); | ||
ruleTokens.push(ruleToken); | ||
ruleToken = [Token.AT_RULE_BLOCK, [], []]; | ||
ruleToken[1].push([Token.AT_RULE_BLOCK_SCOPE, serializedBuffer, [originalMetadata(metadata, serializedBuffer, externalContext)]]); | ||
newTokens.push(ruleToken); | ||
newTokens = ruleToken[2]; | ||
levels.push(level); | ||
level = Level.RULE; | ||
buffer = []; | ||
} else if (character == Marker.COLON && level == Level.RULE && !seekingValue) { | ||
@@ -472,2 +512,8 @@ // colon at rule level, e.g. a{color:<-- | ||
function isPageMarginBox(buffer) { | ||
var serializedBuffer = buffer.join('').trim(); | ||
return PAGE_MARGIN_BOXES.indexOf(serializedBuffer) > -1 || EXTRA_PAGE_BOXES.indexOf(serializedBuffer) > -1; | ||
} | ||
function isRepeatToken(buffer) { | ||
@@ -474,0 +520,0 @@ return REPEAT_PATTERN.test(buffer.join('') + Marker.CLOSE_SQUARE_BRACKET); |
@@ -90,2 +90,8 @@ var lineBreak = require('os').EOL; | ||
break; | ||
case Token.AT_RULE_BLOCK: | ||
rules(context, token[1]); | ||
store(context, openBrace(context, Breaks.AfterRuleBegins, true)); | ||
body(context, token[2]); | ||
store(context, closeBrace(context, Breaks.AfterRuleEnds, false, isLast)); | ||
break; | ||
case Token.COMMENT: | ||
@@ -92,0 +98,0 @@ store(context, token); |
{ | ||
"name": "clean-css", | ||
"version": "4.1.4", | ||
"version": "4.1.5", | ||
"author": "Jakub Pawlowicz <contact@jakubpawlowicz.com> (http://twitter.com/jakubpawlowicz)", | ||
@@ -5,0 +5,0 @@ "description": "A well-tested CSS minifier", |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
417972
8857