Fast, small, zero-config library to format CSS with basic rules. The design goal is to format CSS in a way that makes it easy to inspect. Bundle size and runtime speed are more important than versatility and extensibility.
/* TURN THIS: */
@layer base.normalize{@media (dynamic-range:high) or (color-gamut:p3){@supports (color:color(display-p3 0 0 0)){:where(html){--link:color(display-p3 .1 .4 1);--link-visited:color(display-p3 .6 .2 1)}}}}@layer base.normalize{:where(html) :where(dialog){background-color:var(--surface-1)}}
/* INTO THIS: */
@layer base.normalize {
@media (dynamic-range: high) or (color-gamut: p3) {
@supports (color: color(display-p3 0 0 0)) {
:where(html) {
--link: color(display-p3 .1 .4 1);
--link-visited: color(display-p3 .6 .2 1);
}
}
}
}
@layer base.normalize {
:where(html) :where(dialog) {
background-color: var(--surface-1);
}
}
/* AND BACK AGAIN! */
npm install @projectwallace/format-css
import { format } from "@projectwallace/format-css";
let old_css = "/* Your old CSS here */";
let new_css = format(old_css);
Need more examples?
This package also exposes a minifier function since minifying CSS follows many of the same rules as formatting.
import { format, minify } from "@projectwallace/format-css";
let minified = minify("a {}");
// which is an alias for
let formatted_mini = format("a {}", { minify: true });