diff --git a/lib/compress.js b/lib/compress.js index b1838a1c..daebc1f8 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -459,6 +459,7 @@ Compressor.prototype.compress = function(node) { if (ref.in_arg && is_funarg(def)) return false; return all(def.orig, function(sym) { if (sym instanceof AST_SymbolConst || sym instanceof AST_SymbolLet) { + if (sym instanceof AST_SymbolImport) return true; return compressor && can_varify(compressor, sym); } return !(keep_lambda && sym instanceof AST_SymbolLambda); diff --git a/test/compress/imports.js b/test/compress/imports.js index 0accb3ec..c9b59e93 100644 --- a/test/compress/imports.js +++ b/test/compress/imports.js @@ -106,6 +106,22 @@ drop_unused: { } } +drop_side_effect_free: { + options = { + imports: true, + side_effects: true, + toplevel: true, + unused: true, + } + input: { + import foo from "bar"; + var a = foo; + } + expect: { + import "bar"; + } +} + mangle: { rename = false mangle = {