Skip to content

Commit 773c377

Browse files
committedFeb 7, 2017
fix space and universal removal
1 parent 6aa9e69 commit 773c377

File tree

3 files changed

+19
-17
lines changed

3 files changed

+19
-17
lines changed
 

‎lib/compressor/clean/Space.js

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
function canCleanWhitespace(node) {
2-
if (node.type !== 'Operator') {
3-
return false;
1+
module.exports = function cleanWhitespace(node, item, list) {
2+
if (node.value === '+' || node.value === '-') {
3+
return;
44
}
55

6-
return node.value !== '+' && node.value !== '-';
7-
}
8-
9-
module.exports = function cleanWhitespace(node, item, list) {
10-
var prev = item.prev && item.prev.data;
11-
var next = item.next && item.next.data;
6+
if (item.prev !== null && item.prev.data.type === 'Space') {
7+
list.remove(item.prev);
8+
}
129

13-
if (canCleanWhitespace(prev) || canCleanWhitespace(next)) {
14-
list.remove(item);
10+
if (item.next !== null && item.next.data.type === 'Space') {
11+
list.remove(item.next);
1512
}
1613
};

‎lib/compressor/clean/TypeSelector.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22
module.exports = function cleanType(node, item, list) {
33
var name = item.data.name;
44

5-
// check it's a universal selector
6-
if (name.charAt(name.length - 1) !== '*') {
5+
// check it's a non-namespaced universal selector
6+
if (name !== '*') {
77
return;
88
}
99

10-
// remove when universal selector isn't last or before combinator
11-
if (item.next !== null && item.next.data.type !== 'Combinator') {
10+
// remove when universal selector before other selectors
11+
var nextType = item.next && item.next.data.type;
12+
if (nextType === 'IdSelector' ||
13+
nextType === 'ClassSelector' ||
14+
nextType === 'AttributeSelector' ||
15+
nextType === 'PseudoClassSelector' ||
16+
nextType === 'PseudoElementSelector') {
1217
list.remove(item);
1318
}
1419
};

‎lib/compressor/clean/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
var walk = require('css-tree').walkUp;
22
var handlers = {
3-
Space: require('./Space'),
43
Atrule: require('./Atrule'),
54
Rule: require('./Rule'),
65
Declaration: require('./Declaration'),
76
TypeSelector: require('./TypeSelector'),
8-
Comment: require('./Comment')
7+
Comment: require('./Comment'),
8+
Operator: require('./Space')
99
};
1010

1111
module.exports = function(ast, usageData) {

0 commit comments

Comments
 (0)
Please sign in to comment.