aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/scope.js2
-rw-r--r--test/compress/imports.js16
2 files changed, 17 insertions, 1 deletions
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();
+ }
+}