From 8f64d9992f9229fc7e221a9a976508019964b1d1 Mon Sep 17 00:00:00 2001 From: mysteryven <33973865+mysteryven@users.noreply.github.com> Date: Mon, 17 Jun 2024 15:52:20 +0000 Subject: [PATCH] fix(minifier): respect `join_vars: false` option (#3724) fix: #3705 --- crates/oxc_minifier/src/compressor/mod.rs | 4 +++- crates/oxc_minifier/tests/oxc/folding.rs | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/crates/oxc_minifier/src/compressor/mod.rs b/crates/oxc_minifier/src/compressor/mod.rs index 86dc04cbf91df..5d4acdd82a252 100644 --- a/crates/oxc_minifier/src/compressor/mod.rs +++ b/crates/oxc_minifier/src/compressor/mod.rs @@ -319,7 +319,9 @@ impl<'a> VisitMut<'a> for Compressor<'a> { true }); - self.join_vars(stmts); + if self.options.join_vars { + self.join_vars(stmts); + } walk_statements_mut(self, stmts); } diff --git a/crates/oxc_minifier/tests/oxc/folding.rs b/crates/oxc_minifier/tests/oxc/folding.rs index e85f771f1a05f..43e1312277b21 100644 --- a/crates/oxc_minifier/tests/oxc/folding.rs +++ b/crates/oxc_minifier/tests/oxc/folding.rs @@ -1,4 +1,6 @@ -use crate::{test, test_snapshot}; +use oxc_minifier::{CompressOptions, MinifierOptions}; + +use crate::{test, test_snapshot, test_with_options}; #[test] fn addition_folding() { @@ -37,3 +39,15 @@ fn addition_folding_snapshots() { ], ); } + +#[test] +fn test_join_vars() { + let options = MinifierOptions { + mangle: false, + compress: CompressOptions { join_vars: false, ..CompressOptions::default() }, + }; + test_with_options("var foo = 1; var bar = 2;", "var foo=1;var bar=2;", options); + // join_vars: true + let options = MinifierOptions::default(); + test_with_options("var foo = 1; var bar = 2;", "var foo=1,bar=2;", options); +}