-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.js
More file actions
30 lines (28 loc) · 1.01 KB
/
index.js
File metadata and controls
30 lines (28 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var postcss = require('postcss');
module.exports = postcss.plugin('remove-rules', function (opts) {
opts = opts || {};
var rulesToRemove = opts.rulesToRemove;
return function (css) {
if (rulesToRemove) {
css.walkRules(function (rule) {
var excludes = rulesToRemove[rule.selector];
if (excludes) {
// One or more rules should be removed
if (excludes === '*') {
// Remove this entire rule
rule.remove();
} else {
if (typeof excludes === 'string') {
excludes = [excludes];
}
rule.walkDecls(function (decl) {
if (excludes.indexOf(decl.prop) !== -1) {
decl.remove();
}
});
}
}
});
}
};
});