Skip to content

Instantly share code, notes, and snippets.

@newbornfrontender
Created August 8, 2019 15:50
Show Gist options
  • Save newbornfrontender/d8b374e815b49d2bed3a09c2b3f81ae8 to your computer and use it in GitHub Desktop.
Save newbornfrontender/d8b374e815b49d2bed3a09c2b3f81ae8 to your computer and use it in GitHub Desktop.
postcss replace plugin - wip
function global(opts) {
return postcss.plugin('postcss-global', () => {
return (root, result) => {
// console.log(root);
// console.log(result);
// for (decl of result.nodes) {
// console.log(decl);
// }
// root.walkDecls((decl) => {
// console.log(decl.parent.selector);
// });
// root.replaceWith(/(\[\s*dir\s*=\s*('|")?\s*\w*\s*\2\s*\])/g, node => {
// console.log(node);
// return `:global(${node})`;
// });
const reg = /(\[\s*dir\s*=\s*('|")?\s*\w*\s*\2\s*\])/g;
root.walkRules(reg, (rule) => {
// console.log(rule.selector);
rule.selector = rule.selector.replace(reg, ':global($1)')
// console.log(rule.selector);
});
// css.walkRules(function transformRules(rule) {
// for(var i = 0; i < opts["before"].length; i += 1){
// rule.selector = rule.selector.replace(opts["before"][i], opts["after"][i]);
// }
// });
};
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment