postcss-custom-properties
PostCSS plugin to transform W3C CSS Custom Properties for cascading variables syntax to more compatible CSS.
N.B. For now the transformation is not complete. It currently just aims to provide a future-proof way of using a limited subset of the features provided by native CSS variables.
Checkout opened issue to know the state of this plugin.
Why not postcss-vars
? Because there is already a plugin with this name that have severals bugs & untested code.
But I look forward to merge those 2 plugins & deprecate this one (see opened issue).
Installation
$ npm install postcss-custom-properties
Usage
var fs = require("fs")
var postcss = require("postcss")
var customProperties = require("postcss-custom-properties")
var css = fs.readFileSync("input.css", "utf8")
var output = postcss()
.use(customProperties())
.process(css)
.css
Using this input.css
:
:root {
--color: red;
}
div {
color: var(--color);
}
you will get:
div {
color: red;
}
Checkout tests for more.
Options
preserve
(default: false
)
Allow you to preserve custom properties & var() usage in output.
var out = postcss()
.use(customProperties({preserve: true}))
.process(css)
.css
variables
(default: {}
)
Allow you to pass an object of variables
Contributing
Work on a branch, install dev-dependencies, respect coding style & run tests before submitting a bug fix or a feature.
$ git clone https://github.com/postcss/postcss-custom-properties.git
$ git checkout -b patch-1
$ npm install
$ npm test