Comparing version 1.5.3 to 1.5.4
@@ -0,3 +1,9 @@ | ||
## 1.5.4 (January 27, 2016) | ||
- one more fix (in `restructRuleset` this time) with merge of rulesets when a ruleset with same specificity places between them (#264) | ||
- disable partial merge of rulesets in `@keyframes` rulesets (until sure it's correct) | ||
## 1.5.3 (January 25, 2016) | ||
- don't override display values with different browser support (#259) | ||
- fix publish issue (one of modules leak in development state) | ||
@@ -4,0 +10,0 @@ |
@@ -18,2 +18,3 @@ var translate = require('../../ast/translate.js'); | ||
if (/^(-[a-z\d]+-)?keyframes$/.test(name)) { | ||
node.block.info.isKeyframes = true; | ||
node.block.rules.forEach(function(ruleset) { | ||
@@ -20,0 +21,0 @@ ruleset.selector.selectors.forEach(function(simpleselector) { |
@@ -17,2 +17,4 @@ var utils = require('./utils.js'); | ||
var skippedCompareMarkers = {}; | ||
for (i = i - 1; i >= 0; i--) { | ||
@@ -32,2 +34,9 @@ var prevNode = array[i]; | ||
// try prev ruleset if simpleselectors has no equal specifity and element selector | ||
for (var j = 0; j < prevSelector.length; j++) { | ||
if (prevSelector[j].info.compareMarker in skippedCompareMarkers) { | ||
return; | ||
} | ||
} | ||
// try to join by selectors | ||
@@ -49,7 +58,11 @@ var prevHash = utils.getHash(prevSelector); | ||
if (!diff.ne1.length && !diff.ne2.length) { | ||
// equal blocks | ||
if (utils.isCompatibleSignatures(node, prevNode)) { | ||
utils.addToSelector(prevSelector, selector); | ||
return null; | ||
utils.addToSelector(selector, prevSelector); | ||
array.splice(i, 1); | ||
return; | ||
} | ||
} else { | ||
} else if (!parent.info.isKeyframes) { /* probably we don't need to prevent those merges for @keyframes | ||
TODO: need to be checked */ | ||
if (diff.ne1.length && !diff.ne2.length) { | ||
@@ -131,11 +144,6 @@ // prevBlock is subset block | ||
// go to next ruleset if simpleselectors has no equal specifity and element selector | ||
for (var j = 0; j < prevSelector.length; j++) { | ||
for (var k = 0; k < selector.length; k++) { | ||
if (prevSelector[j].info.compareMarker === selector[k].info.compareMarker) { | ||
return; | ||
} | ||
} | ||
skippedCompareMarkers[prevSelector[j].info.compareMarker] = true; | ||
} | ||
} | ||
}; |
@@ -8,4 +8,3 @@ var offset; | ||
switch (token[offset + 0]) | ||
{ | ||
switch (token[offset + 0]) { | ||
case 'simpleselector': | ||
@@ -12,0 +11,0 @@ case 'dimension': |
{ | ||
"name": "csso", | ||
"description": "CSSO — CSS optimizer", | ||
"version": "1.5.3", | ||
"version": "1.5.4", | ||
"homepage": "https://github.com/css/csso", | ||
@@ -34,4 +34,4 @@ "author": "Sergey Kryzhanovsky <skryzhanovsky@ya.ru> (https://github.com/afelix)", | ||
"browserify": "^13.0.0", | ||
"jscs": "^2.6.0", | ||
"mocha": "~2.3.3", | ||
"jscs": "~2.9.0", | ||
"mocha": "~2.4.2", | ||
"uglify-js": "^2.6.1" | ||
@@ -38,0 +38,0 @@ }, |
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
265366
5682