From 9a58270b70a2cf575cdb74aaa6e9a0a899644e4d Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Wed, 12 Jan 2022 08:24:04 +0000 Subject: [PATCH] enhance `imports` (#5287) --- lib/compress.js | 1 + test/compress/imports.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) 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 = {