From 0edbdc7f7fd91ecdec707e57ea0b0eda9d34a4ff Mon Sep 17 00:00:00 2001 From: magic-akari Date: Thu, 29 May 2025 22:04:43 +0800 Subject: [PATCH] fix(isolated-declarations): Omit empty variable declarations --- crates/oxc_isolated_declarations/src/lib.rs | 3 +++ .../tests/fixtures/empty-var-issue-11371.ts | 3 +++ .../tests/snapshots/empty-var-issue-11371.snap | 8 ++++++++ 3 files changed, 14 insertions(+) create mode 100644 crates/oxc_isolated_declarations/tests/fixtures/empty-var-issue-11371.ts create mode 100644 crates/oxc_isolated_declarations/tests/snapshots/empty-var-issue-11371.snap diff --git a/crates/oxc_isolated_declarations/src/lib.rs b/crates/oxc_isolated_declarations/src/lib.rs index e1fc97a277ef1..4ed442dc67d12 100644 --- a/crates/oxc_isolated_declarations/src/lib.rs +++ b/crates/oxc_isolated_declarations/src/lib.rs @@ -400,6 +400,9 @@ impl<'a> IsolatedDeclarations<'a> { transformed_variable_declarator.remove(&declarator.span) }), ); + if declarations.is_empty() { + continue; + } new_stmts.push(Statement::VariableDeclaration( self.ast.alloc_variable_declaration( decl.span, diff --git a/crates/oxc_isolated_declarations/tests/fixtures/empty-var-issue-11371.ts b/crates/oxc_isolated_declarations/tests/fixtures/empty-var-issue-11371.ts new file mode 100644 index 0000000000000..b7c6b03d7c7e8 --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/fixtures/empty-var-issue-11371.ts @@ -0,0 +1,3 @@ +import { foo } from 'module'; + +const a = foo, b = foo; diff --git a/crates/oxc_isolated_declarations/tests/snapshots/empty-var-issue-11371.snap b/crates/oxc_isolated_declarations/tests/snapshots/empty-var-issue-11371.snap new file mode 100644 index 0000000000000..fe927b2393168 --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/snapshots/empty-var-issue-11371.snap @@ -0,0 +1,8 @@ +--- +source: crates/oxc_isolated_declarations/tests/mod.rs +input_file: crates/oxc_isolated_declarations/tests/fixtures/empty-var-issue-11371.ts +--- +``` +==================== .D.TS ==================== + +export {};