From 68351085dbbe85fa2779780451ba5d2f687727d2 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Thu, 5 Mar 2020 10:21:36 +0100 Subject: [PATCH] Fix treeshaking, not all export clauses should be kept --- build/lib/treeshaking.js | 3 ++- build/lib/treeshaking.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build/lib/treeshaking.js b/build/lib/treeshaking.js index 0124362879e..b01e2001243 100644 --- a/build/lib/treeshaking.js +++ b/build/lib/treeshaking.js @@ -265,7 +265,8 @@ function markNodes(languageService, options) { return; } if (ts.isExportDeclaration(node)) { - if (node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) { + if (!node.exportClause && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) { + // export * from "foo"; setColor(node, 2 /* Black */); enqueueImport(node, node.moduleSpecifier.text); } diff --git a/build/lib/treeshaking.ts b/build/lib/treeshaking.ts index ac57dbb9122..a6daa223605 100644 --- a/build/lib/treeshaking.ts +++ b/build/lib/treeshaking.ts @@ -351,7 +351,8 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt } if (ts.isExportDeclaration(node)) { - if (node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) { + if (!node.exportClause && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) { + // export * from "foo"; setColor(node, NodeColor.Black); enqueueImport(node, node.moduleSpecifier.text); }