swc_css_minifier/
lib.rs

1#![deny(clippy::all)]
2#![allow(clippy::match_like_matches_macro)]
3#![allow(clippy::needless_update)]
4#![allow(clippy::mutable_key_type)]
5
6use swc_atoms::Atom;
7use swc_css_ast::*;
8use swc_css_visit::VisitMutWith;
9
10use self::{compressor::compressor, options::MinifyOptions};
11
12mod compressor;
13pub mod options;
14pub(crate) mod util;
15
16pub fn minify(stylesheet: &mut Stylesheet, _options: MinifyOptions) {
17    stylesheet.visit_mut_with(&mut compressor());
18}
19
20#[inline]
21fn is_css_wide_keyword(ident: &Atom) -> bool {
22    matches_eq_ignore_ascii_case!(
23        ident,
24        // CSS Values and Units Level 3: https://drafts.csswg.org/css-values-3/#common-keywords
25        "initial",
26        "inherit",
27        "unset",
28        "default",
29        // CSS Cascading and Inheritance Level 5: https://drafts.csswg.org/css-cascade-5/#defaulting-keywords
30        "revert",
31        "revert-layer"
32    )
33}