What is postcss-convert-values?
The postcss-convert-values npm package is designed to optimize CSS size by converting values to use shorter forms where possible. It can reduce CSS file size by converting colors to their shorter hexadecimal or named format, transforming units, and simplifying values without changing their meaning.
What are postcss-convert-values's main functionalities?
Converting Length Units
Converts length values to use the shortest unit representation, removing units from zero values.
"body { margin: 0px; }" -> "body { margin: 0; }"
Converting Colors
Optimizes color values by converting them to shorter named colors or hexadecimal values where possible.
".example { color: #ffffff; }" -> ".example { color: #fff; }"
Simplifying Values
Removes unnecessary decimal places from numerical values to simplify and shorten them.
".container { padding: 50.0px 20.0px; }" -> ".container { padding: 50px 20px; }"
Other packages similar to postcss-convert-values
cssnano
cssnano is a modular CSS minifier that includes functionalities similar to postcss-convert-values as part of its optimizations. It can compress colors, remove comments, and deduplicate rules among other features, making it more comprehensive than postcss-convert-values.
clean-css
clean-css is another CSS minifier and optimizer that can perform optimizations similar to postcss-convert-values, such as shortening color values and removing unnecessary characters. It offers a wide range of optimizations and is known for its balance between speed and efficiency.
postcss-convert-values
Convert values with PostCSS (e.g. ms -> s)
Install
With npm do:
npm install postcss-convert-values --save
Example
var postcss = require('postcss');
var css = 'h1 { font-size: 16px; width: 0em }';
console.log(postcss([ require('postcss-convert-values') ]).process(css).css);
Note that this plugin only covers conversions for duration and absolute length
values. For color conversions, use postcss-colormin.
Contributing
Pull requests are welcome. If you add functionality, then please add unit tests
to cover it.
License
MIT © Ben Briggs