diff --git a/crates/oxc_isolated_declarations/src/lib.rs b/crates/oxc_isolated_declarations/src/lib.rs index c6ce19847..28b2f25f1 100644 --- a/crates/oxc_isolated_declarations/src/lib.rs +++ b/crates/oxc_isolated_declarations/src/lib.rs @@ -314,6 +314,9 @@ impl<'a> IsolatedDeclarations<'a> { new_ast_stmts.push(Statement::ImportDeclaration(decl)); } } + Statement::TSModuleDeclaration(decl) => { + new_ast_stmts.push(Statement::TSModuleDeclaration(decl)); + } _ => {} } } diff --git a/crates/oxc_isolated_declarations/tests/fixtures/module-declaration.ts b/crates/oxc_isolated_declarations/tests/fixtures/module-declaration.ts new file mode 100644 index 000000000..ce062696a --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/fixtures/module-declaration.ts @@ -0,0 +1,5 @@ +import 'foo'; +declare module 'foo' { + interface Foo {} + const foo = 42; +} \ No newline at end of file diff --git a/crates/oxc_isolated_declarations/tests/snapshots/module-declaration.snap b/crates/oxc_isolated_declarations/tests/snapshots/module-declaration.snap new file mode 100644 index 000000000..05c4731df --- /dev/null +++ b/crates/oxc_isolated_declarations/tests/snapshots/module-declaration.snap @@ -0,0 +1,12 @@ +--- +source: crates/oxc_isolated_declarations/tests/mod.rs +input_file: crates/oxc_isolated_declarations/tests/fixtures/module-declaration.ts +--- +==================== .D.TS ==================== + +import "foo"; +declare module "foo" { + interface Foo {} + const foo = 42; +} +export {};