diff --git a/crates/oxc_minifier/src/ast_passes/peephole_remove_dead_code.rs b/crates/oxc_minifier/src/ast_passes/peephole_remove_dead_code.rs index b06d9bfd552d7..6da2ac67decf4 100644 --- a/crates/oxc_minifier/src/ast_passes/peephole_remove_dead_code.rs +++ b/crates/oxc_minifier/src/ast_passes/peephole_remove_dead_code.rs @@ -287,9 +287,9 @@ impl<'a, 'b> PeepholeRemoveDeadCode { Self::try_fold_object_expression(object_expr, ctx) } Expression::TemplateLiteral(template_lit) => { - template_lit.expressions.retain( - oxc_ecmascript::side_effects::MayHaveSideEffects::may_have_side_effects, - ); + if !template_lit.expressions.is_empty() { + return None; + } let mut expressions = ctx.ast.move_vec(&mut template_lit.expressions); @@ -453,7 +453,7 @@ mod test { fold("{'hi'}", ""); fold("{x==3}", "x == 3"); - fold("{`hello ${foo}`}", ""); + fold("{`hello ${foo}`}", "`hello ${foo}`"); fold("{ (function(){x++}) }", ""); fold_same("function f(){return;}"); fold("function f(){return 3;}", "function f(){return 3}");