diff options
Diffstat (limited to 'node_modules/postcss-alias/index.js')
| -rw-r--r-- | node_modules/postcss-alias/index.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/node_modules/postcss-alias/index.js b/node_modules/postcss-alias/index.js new file mode 100644 index 00000000..fdc02f6a --- /dev/null +++ b/node_modules/postcss-alias/index.js @@ -0,0 +1,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); + + }; +}); |
