Crates.io | lightningcss_rs |
lib.rs | lightningcss_rs |
version | 0.1.0 |
source | src |
created_at | 2024-10-22 02:41:04.032721 |
updated_at | 2024-10-22 02:41:04.032721 |
description | A CSS parser, transformer, and minifier fork from https://github.com/parcel-bundler/lightningcss. Fix some bug for Rspack. |
homepage | |
repository | https://github.com/GiveMe-A-Name/lightningcss |
max_upload_size | |
id | 1418185 |
size | 10,179,467 |
!This repo is fork from https://github.com/parcel-bundler/lightningcss, fix Some bug for Rspack
An extremely fast CSS parser, transformer, and minifier written in Rust. Use it with Parcel, as a standalone library or CLI, or via a plugin with any other tool.
calc()
expressions where possible.color-mix()
functionlab(from purple calc(l * .8) a b)
lab()
, lch()
, oklab()
, and oklch()
colorscolor()
function supporting predefined color spaces such as display-p3
and xyz
rgb
and hsl
functionshwb()
color syntax#rgba
and #rrggbbaa
hex colors:not
with multiple arguments:lang
with multiple arguments:dir
:is
red 40% 80%
)clamp()
, round()
, rem()
, and mod()
math functionsplace-items
)overflow
shorthand@media (width <= 100px)
or @media (100px < width < 500px)
)display
property (e.g. inline flex
)system-ui
font family fallbacks@keyframes
names, grid lines/areas, @counter-style
names, etc.:local()
and :global()
selectorscomposes
propertyLightning CSS can be used from Parcel, as a standalone library from JavaScript or Rust, using a standalone CLI, or wrapped as a plugin within any other tool. See the Lightning CSS website for documentation.
$ node bench.js bootstrap-4.css
cssnano: 544.809ms
159636 bytes
esbuild: 17.199ms
160332 bytes
lightningcss: 4.16ms
143091 bytes
$ node bench.js animate.css
cssnano: 283.105ms
71723 bytes
esbuild: 11.858ms
72183 bytes
lightningcss: 1.973ms
23666 bytes
$ node bench.js tailwind.css
cssnano: 2.198s
1925626 bytes
esbuild: 107.668ms
1961642 bytes
lightningcss: 43.368ms
1824130 bytes
For more benchmarks comparing more tools and input, see here. Note that some of the tools shown perform unsafe optimizations that may change the behavior of the original CSS in favor of smaller file size. Lightning CSS does not do this – the output CSS should always behave identically to the input. Keep this in mind when comparing file sizes between tools.