* Allows `target` option to be a path to a folder instead of a file.
* Breaks 2.x compatibility for using CleanCSS as a function.
+* Speeds up advanced processing by shortening optimize loop.
* Fixed issue [#360](https://github.com/GoalSmashers/clean-css/issues/360) - adds 7 extra CSS colors.
[2.2.16 / 2014-09-16](https://github.com/jakubpawlowicz/clean-css/compare/v2.2.15...v2.2.16)
}
};
-AdvancedOptimizer.prototype.noChanges = function () {
- return this.minificationsMade.length > 4 &&
- this.minificationsMade[0] === false &&
- this.minificationsMade[1] === false;
-};
-
function optimizeProperties(tokens, propertyOptimizer) {
for (var i = 0, l = tokens.length; i < l; i++) {
var token = tokens[i];
optimizeProperties(tokens, self.propertyOptimizer);
- // Run until 2 last operations do not yield any changes
- self.minificationsMade = [];
- while (true) {
- if (self.noChanges())
- break;
- self.removeDuplicates(tokens);
+ self.removeDuplicates(tokens);
+ self.mergeAdjacent(tokens);
+ self.reduceNonAdjacent(tokens);
- if (self.noChanges())
- break;
- self.mergeAdjacent(tokens);
-
- if (self.noChanges())
- break;
- self.reduceNonAdjacent(tokens);
- }
+ self.removeDuplicates(tokens);
+ self.mergeAdjacent(tokens);
}
_optimize(tokens);