From 02ea19a3b77c71e5100b26d6c91c09157ddfcb5e Mon Sep 17 00:00:00 2001 From: Dunqing <29533304+Dunqing@users.noreply.github.com> Date: Tue, 2 Jul 2024 13:47:29 +0000 Subject: [PATCH] fix(isolated-declarations): should emit `export {}` when only having `ImportDeclaration` (#4026) close: #4023 --- crates/oxc_isolated_declarations/src/lib.rs | 2 +- .../tests/fixtures/empty-export2.ts | 1 + .../tests/snapshots/empty-export2.snap | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 crates/oxc_isolated_declarations/tests/fixtures/empty-export2.ts create mode 100644 crates/oxc_isolated_declarations/tests/snapshots/empty-export2.snap diff --git a/crates/oxc_isolated_declarations/src/lib.rs b/crates/oxc_isolated_declarations/src/lib.rs index 9799618bbdf14..187b0c09d817b 100644 --- a/crates/oxc_isolated_declarations/src/lib.rs +++ b/crates/oxc_isolated_declarations/src/lib.rs @@ -317,7 +317,7 @@ impl<'a> IsolatedDeclarations<'a> { } } - if last_transformed_len == transformed_indexes.len() { + if !transformed_indexes.is_empty() && last_transformed_len == transformed_indexes.len() { need_empty_export_marker = false; } diff --git a/crates/oxc_isolated_declarations/tests/fixtures/empty-export2.ts b/crates/oxc_isolated_declarations/tests/fixtures/empty-export2.ts new file mode 100644 index 0000000000000..17abd44386b75 --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/fixtures/empty-export2.ts @@ -0,0 +1 @@ +import * as a from "mod"; \ No newline at end of file diff --git a/crates/oxc_isolated_declarations/tests/snapshots/empty-export2.snap b/crates/oxc_isolated_declarations/tests/snapshots/empty-export2.snap new file mode 100644 index 0000000000000..8092831a17fac --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/snapshots/empty-export2.snap @@ -0,0 +1,7 @@ +--- +source: crates/oxc_isolated_declarations/tests/mod.rs +input_file: crates/oxc_isolated_declarations/tests/fixtures/empty-export2.ts +--- +==================== .D.TS ==================== + +export {};