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); +}