blob: fdc02f6a56484e0c7697a94bcdda55d6b316f673 (
plain)
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
31
32
33
34
35
36
37
38
39
|
'use strict';
var postcss = require('postcss');
module.exports = postcss.plugin('postcss-alias', function () {
return function (css) {
var aliases = [];
css.walkAtRules('alias', function(rule){
rule.walkDecls(function(decl){
aliases.push({ name: decl.prop, property: decl.value });
});
rule.remove();
});
/**
* Alias expander, takes an alias and expands to the relevant decleration/value
* @param {string} alias The alias to expand
*/
var expander = function(alias){
css.walkDecls(function(decl){
if (decl.prop === alias.name) {
decl.replaceWith({ prop: alias.property, value: decl.value, important: decl.important });
}
});
};
// Loop over and expand every alias
aliases.forEach(expander);
};
});
|