From a3dd7dc750e6d54cc63404ff0b016fe411c01f5d Mon Sep 17 00:00:00 2001 From: Boshen Date: Sun, 16 Feb 2025 10:53:28 +0800 Subject: [PATCH 1/2] refactor(minifier): `Math.pow(a,b)` -> `a ** (+b)` instead of `(+a) ** (+b)` --- crates/oxc_minifier/src/peephole/replace_known_methods.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/oxc_minifier/src/peephole/replace_known_methods.rs b/crates/oxc_minifier/src/peephole/replace_known_methods.rs index 88fd95ce39d53..1451e1b835df6 100644 --- a/crates/oxc_minifier/src/peephole/replace_known_methods.rs +++ b/crates/oxc_minifier/src/peephole/replace_known_methods.rs @@ -392,7 +392,7 @@ impl<'a> PeepholeOptimizations { Some(ctx.ast.expression_binary( span, - wrap_with_unary_plus_if_needed(first_arg), + ctx.ast.move_expression(first_arg), BinaryOperator::Exponential, wrap_with_unary_plus_if_needed(second_arg), )) From b0f1c81415bac74efb4e5d5d273af475ae4d698a Mon Sep 17 00:00:00 2001 From: Boshen Date: Sun, 16 Feb 2025 12:02:54 +0800 Subject: [PATCH 2/2] Update crates/oxc_minifier/src/peephole/replace_known_methods.rs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- crates/oxc_minifier/src/peephole/replace_known_methods.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/oxc_minifier/src/peephole/replace_known_methods.rs b/crates/oxc_minifier/src/peephole/replace_known_methods.rs index 1451e1b835df6..6f895580eeed9 100644 --- a/crates/oxc_minifier/src/peephole/replace_known_methods.rs +++ b/crates/oxc_minifier/src/peephole/replace_known_methods.rs @@ -392,6 +392,7 @@ impl<'a> PeepholeOptimizations { Some(ctx.ast.expression_binary( span, + // see [`PeepholeOptimizations::is_binary_operator_that_does_number_conversion`] why it does not require `wrap_with_unary_plus_if_needed` here ctx.ast.move_expression(first_arg), BinaryOperator::Exponential, wrap_with_unary_plus_if_needed(second_arg),