From f144082a605de6799ffc1c6e62212d3275e49631 Mon Sep 17 00:00:00 2001 From: underfin Date: Mon, 15 Jul 2024 19:37:12 +0800 Subject: [PATCH] fix(minifier): RemoveDeadCode should visit nested expression (#4268) --- crates/oxc_minifier/src/ast_passes/remove_dead_code.rs | 1 + crates/oxc_minifier/tests/oxc/remove_dead_code.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs b/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs index d857169c29eba..450f47b781587 100644 --- a/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs +++ b/crates/oxc_minifier/src/ast_passes/remove_dead_code.rs @@ -26,6 +26,7 @@ impl<'a> VisitMut<'a> for RemoveDeadCode<'a> { fn visit_expression(&mut self, expr: &mut Expression<'a>) { self.fold_conditional_expression(expr); self.fold_logical_expression(expr); + walk_mut::walk_expression(self, expr); } } diff --git a/crates/oxc_minifier/tests/oxc/remove_dead_code.rs b/crates/oxc_minifier/tests/oxc/remove_dead_code.rs index fc1fc41be0295..13a71266b0541 100644 --- a/crates/oxc_minifier/tests/oxc/remove_dead_code.rs +++ b/crates/oxc_minifier/tests/oxc/remove_dead_code.rs @@ -62,6 +62,12 @@ fn dce_if_statement() { ", "{foo; return }", ); + + // nested expression + test( + "const a = { fn: function() { if (true) { foo; } } }", + "const a = { fn: function() { { foo; } } }", + ); } #[test]