From bfe3a8b5161457062224959bbb9938c106503f97 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sun, 21 Feb 2021 02:00:34 +0000 Subject: [PATCH] fix corner case with `import` (#4672) --- lib/scope.js | 2 +- test/compress/imports.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/scope.js b/lib/scope.js index f638890f..97027274 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -197,7 +197,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) { } else if (node instanceof AST_SymbolLet) { scope.def_variable(node).exported = exported; } else if (node instanceof AST_SymbolVar) { - defun.def_variable(node, null).exported = exported; + defun.def_variable(node, node instanceof AST_SymbolImport ? undefined : null).exported = exported; entangle(defun, scope); } diff --git a/test/compress/imports.js b/test/compress/imports.js index 03ebf997..f8313b06 100644 --- a/test/compress/imports.js +++ b/test/compress/imports.js @@ -128,3 +128,19 @@ rename_mangle: { import * as r from "moz"; } } + +keep_ref: { + options = { + reduce_vars: true, + toplevel: true, + unused: true, + } + input: { + import foo from "bar"; + foo(); + } + expect: { + import foo from "bar"; + foo(); + } +} -- 2.34.1