diff --git a/crates/swc_ecma_minifier/src/eval.rs b/crates/swc_ecma_minifier/src/eval.rs index ad3cb8b89b68..1451b9e8cad2 100644 --- a/crates/swc_ecma_minifier/src/eval.rs +++ b/crates/swc_ecma_minifier/src/eval.rs @@ -88,10 +88,13 @@ impl Evaluator { match e { Expr::Seq(s) => return self.eval(s.exprs.last()?), - Expr::Lit(l @ Lit::Null(..)) - | Expr::Lit(l @ Lit::Num(..) | l @ Lit::Str(..) | l @ Lit::BigInt(..)) => { - return Some(EvalResult::Lit(l.clone())) - } + Expr::Lit( + l @ Lit::Num(..) + | l @ Lit::Str(..) + | l @ Lit::BigInt(..) + | l @ Lit::Bool(..) + | l @ Lit::Null(..), + ) => return Some(EvalResult::Lit(l.clone())), Expr::Tpl(t) => { return self.eval_tpl(t); diff --git a/crates/swc_ecma_minifier/tests/eval.rs b/crates/swc_ecma_minifier/tests/eval.rs index 93d71b2d6cbd..3596279d4629 100644 --- a/crates/swc_ecma_minifier/tests/eval.rs +++ b/crates/swc_ecma_minifier/tests/eval.rs @@ -66,6 +66,12 @@ fn simple() { assert_eq!(eval("const foo = 4", "foo").unwrap(), "4"); } +#[test] +fn eval_lit() { + assert_eq!(eval("", "true").unwrap(), "true"); + assert_eq!(eval("", "false").unwrap(), "false"); +} + struct PartialInliner { marks: Marks, eval: Option,