1.10.0 • Published 2 years ago
postcss-theme-fold v1.10.0
postcss-theme-fold
Install
npm i -D postcss-theme-fold
Usage
const { resolve } = require('path')
const postcss = require('postcss')
const themeFold = require('postcss-theme-fold')
postcss([
themeFold({
themes: [
[
resolve('src/components/Theme/_size/Theme_color_default.css'),
resolve('src/components/Theme/_size/Theme_size_default.css'),
],
[
resolve('src/components/Theme/_size/Theme_color_brand.css'),
resolve('src/components/Theme/_size/Theme_size_default.css'),
],
],
}),
])
.process(css, { from: cssPath })
.then(result => result.css)
Example content
input:
/* Theme/_color/Theme_color_default.css */
.Theme_color_default {
--color: #fff;
}
/* Theme/_size/Theme_size_default.css */
.Theme_size_default {
--size: 10px;
}
/* Button/Button.css */
.Button {
color: var(--color);
font-size: var(--size);
box-sizing: border-box;
}
output:
Split rules from other chunks of theme to extra selectors for order to reduce the specificity.
.Button {
box-sizing: border-box;
}
.Theme_color_default .Button {
color: #fff;
}
.Theme_size_default .Button {
font-size: 10px;
}
Know issues
1.9.1
2 years ago
1.9.0
2 years ago
2.0.0-canary.9f552af
2 years ago
1.9.0-canary.28c17ee
2 years ago
1.10.0
2 years ago
1.8.0
2 years ago
1.7.0
2 years ago
1.6.1
3 years ago
1.6.1-canary.b8f6b19
3 years ago
1.6.0
3 years ago
1.5.0
3 years ago
1.4.0
4 years ago
1.3.3
4 years ago
1.3.2
4 years ago
1.3.1
4 years ago
1.3.0
4 years ago
1.2.0
4 years ago
1.1.0
4 years ago
1.1.0-canary.4e81aab
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago
0.0.1-alpha.7
4 years ago
0.0.1-alpha.8
4 years ago
0.0.1-alpha.6
4 years ago
0.0.1-alpha.5
4 years ago
0.0.1-alpha.4
4 years ago
0.0.1-alpha.3
4 years ago
0.0.1-alpha.2
4 years ago
0.0.1-alpha.1
4 years ago
0.0.1-alpha.0
4 years ago