motion
Version:
motion - moving development forward
34 lines (26 loc) • 763 B
JavaScript
var postcss = require('postcss');
function dedupe (root) {
root.each(function (node) {
if (node.nodes) { dedupe(node); }
});
root.each(function (node, index) {
if (node.type === 'comment') { return; }
var nodes = node.parent.nodes;
var toString = node.toString();
var result = [node];
var i = index + 1;
var max = nodes.length;
for (; i < max; i++) {
if (nodes[i].toString() === toString) {
result.push(nodes[i]);
}
}
for(i = result.length - 2; ~i; i -= 1) {
result[i].remove();
}
});
}
module.exports = postcss.plugin('postcss-discard-duplicates', function () {
return dedupe;
});
;