parcel-css

A WIP CSS parser, transformer, and minifier written in Rust.

Features

Documentation

From JavaScript

More docs to come, but here is a simple example:

```js const css = require('@parcel/css');

let {code, map} = css.transform({ filename: 'style.css', code: Buffer.from('.foo { color: red }'), minify: true, source_map: true, targets: { // Semver versions are represented using a single 24-bit number, with one component per byte. // e.g. to represent 13.2.0, the following could be used. safari: (13 << 16) | (2 << 8) } }); ```

From Rust

See the Rust API docs on docs.rs.

Benchmarks

``` $ node bench.js bootstrap-4.css cssnano: 542.956ms 159636 bytes

esbuild: 17.411ms 160332 bytes

parcel-css: 4.74ms 143985 bytes

$ node bench.js animate.css cssnano: 283.105ms 71723 bytes

esbuild: 11.858ms 72183 bytes

parcel-css: 1.989ms 23666 bytes

$ node bench.js tailwind.css cssnano: 2.198s 1925626 bytes

esbuild: 107.668ms 1961642 bytes

parcel-css: 45.701ms 1799209 bytes ```