From f95b4a83fcb542d7e403ddd628ea990b93759246 Mon Sep 17 00:00:00 2001 From: Peter Muessig Date: Thu, 4 Apr 2024 18:34:07 +0200 Subject: [PATCH] fix: remove empty export declaration added by TypeScript The following code of the babel-plugin-transform-typescript creates an empty export for modules https://github.com/babel/babel/blob/main/packages/babel-plugin-transform-typescript/src/index.ts#L399 --- packages/plugin/src/modules/helpers/wrapper.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/plugin/src/modules/helpers/wrapper.js b/packages/plugin/src/modules/helpers/wrapper.js index 35938ba..38ea324 100644 --- a/packages/plugin/src/modules/helpers/wrapper.js +++ b/packages/plugin/src/modules/helpers/wrapper.js @@ -21,7 +21,16 @@ export function wrap(visitor, programNode, opts) { injectDynamicImportHelper ); - if (!needsWrap) return; + if (!needsWrap) { + // cleanup the program node if it's empty (just having empty imports) + programNode.body = programNode.body.filter((node) => { + if (t.isExportNamedDeclaration(node)) { + return node.declaration != null; + } + return true; + }); + return; + } let { body } = programNode;