https://github.com/moox/reduce-css-calc
Reduce CSS calc() function at the maximum
https://github.com/moox/reduce-css-calc
Last synced: about 1 year ago
JSON representation
Reduce CSS calc() function at the maximum
- Host: GitHub
- URL: https://github.com/moox/reduce-css-calc
- Owner: MoOx
- License: mit
- Created: 2014-08-04T08:23:11.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2024-07-03T09:55:43.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T20:08:02.569Z (about 1 year ago)
- Language: JavaScript
- Size: 602 KB
- Stars: 55
- Watchers: 6
- Forks: 15
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# reduce-css-calc
[](https://github.com/MoOx/reduce-css-calc/actions)
> Reduce CSS calc() function to the maximum.
Particularly useful for packages like
[rework-calc](https://github.com/reworkcss/rework-calc) or
[postcss-calc](https://github.com/postcss/postcss-calc).
## Installation
```console
npm install reduce-css-calc
```
## Usage
### `var reducedString = reduceCSSCalc(string, precision)`
```javascript
var reduceCSSCalc = require("reduce-css-calc");
reduceCSSCalc("calc(1 + 1)");
// 2
reduceCSSCalc("calc((6 / 2) - (4 * 2) + 1)");
// -4
reduceCSSCalc("calc(1/3)");
// 0.33333
reduceCSSCalc("calc(1/3)", 10);
// 0.3333333333
reduceCSSCalc("calc(3rem * 2 - 1rem)");
// 5rem
reduceCSSCalc("calc(2 * 50%)");
// 100%
reduceCSSCalc("calc(120% * 50%)");
// 60%
reduceCSSCalc("a calc(1 + 1) b calc(1 - 1) c");
// a 2 b 0 c
reduceCSSCalc("calc(calc(calc(1rem * 0.75) * 1.5) - 1rem)");
// 0.125rem
reduceCSSCalc("calc(calc(calc(1rem * 0.75) * 1.5) - 1px)");
// calc(1.125rem - 1px)
reduceCSSCalc("-moz-calc(100px / 2)");
// 50px
reduceCSSCalc("-moz-calc(50% - 2em)");
// -moz-calc(50% - 2em)
```
See [unit tests](src/__tests__/index.js) for others examples.
---
## Contributing
Work on a branch, install dev-dependencies, respect coding style & run tests
before submitting a bug fix or a feature.
```console
git clone https://github.com/MoOx/reduce-css-calc.git
git checkout -b patch-1
npm install
npm test
```
## [Changelog](CHANGELOG.md)
## [License](LICENSE-MIT)
## Security contact information
To report a security vulnerability, please use the
[Tidelift security contact](https://tidelift.com/security). Tidelift will
coordinate the fix and disclosure.