pipe-css-splitter
Theme css rule splitter separates color information from other settings like height.
Usage
Add post-css config postcss.config.js like below.
/* postcss.config.js */moduleexports = plugins: 'pipe-css-splitter': listenFor: '.dark' '.light' extract: 'color' 'background-color' 'border' ;
Input scss like is:
// Light Theme// @import "theme-color-mapping-light.scss";$sample-bg-color: #ddd;$sample-color: #222; .light { .sample { height: 100%; color: $sample-color; background-color: $sample-bg-color; }} // Dark Theme// @import "theme-color-mapping-dark.scss";$sample-bg-color: #222;$sample-color: #ddd; .dark { .sample { height: 100%; color: $sample-color; background-color: $sample-bg-color; }}
Output is:
.sample { height: 100%} .dark .sample { color: #ddd; background-color: #222} .light .sample { color: #222; background-color: #ddd}