PostCSS Exponential Functions 
npm install @csstools/postcss-exponential-functions --save-dev
PostCSS Exponential Functions lets you use the pow(), sqrt(), hypot(), log(), exp() functions following the CSS Values 4 Specification.
.foo {
top: calc(1px * pow(2, 3));
line-height: sqrt(1.2);
padding: hypot(3px, 4px);
order: log(10, 10);
min-height: calc(e - exp(1));
}
/* becomes */
.foo {
top: calc(8px);
line-height: calc(1.09545);
padding: calc(5px);
order: calc(1);
min-height: calc(0);
}
Usage
Add PostCSS Exponential Functions to your project:
npm install postcss @csstools/postcss-exponential-functions --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss');
const postcssExponentialFunctions = require('@csstools/postcss-exponential-functions');
postcss([
postcssExponentialFunctions(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */);
Options
preserve
The preserve option determines whether the original notation
is preserved. By default, it is not preserved.
postcssExponentialFunctions({ preserve: true })
.foo {
top: calc(1px * pow(2, 3));
line-height: sqrt(1.2);
padding: hypot(3px, 4px);
order: log(10, 10);
min-height: calc(e - exp(1));
}
/* becomes */
.foo {
top: calc(8px);
top: calc(1px * pow(2, 3));
line-height: calc(1.09545);
line-height: sqrt(1.2);
padding: calc(5px);
padding: hypot(3px, 4px);
order: calc(1);
order: log(10, 10);
min-height: calc(0);
min-height: calc(e - exp(1));
}