extend `cascade` into `a.b` (#1829)
authorAlex Lam S.L <alexlamsl@gmail.com>
Tue, 18 Apr 2017 20:17:15 +0000 (04:17 +0800)
committerGitHub <noreply@github.com>
Tue, 18 Apr 2017 20:17:15 +0000 (04:17 +0800)
fixes #27

lib/compress.js
test/compress/sequences.js

index a364157..eb54f75 100644 (file)
@@ -3132,6 +3132,7 @@ merge(Compressor.prototype, {
                             field = "left";
                         }
                     } else if (cdr instanceof AST_Call
+                        || cdr instanceof AST_PropAccess
                         || cdr instanceof AST_Unary && !unary_side_effects(cdr.operator)) {
                         field = "expression";
                     } else {
index 3fb2627..1049256 100644 (file)
@@ -688,3 +688,25 @@ side_effects_cascade_3: {
         }
     }
 }
+
+issue_27: {
+    options = {
+        cascade: true,
+        passes: 2,
+        sequences: true,
+        side_effects: true,
+        unused: true,
+    }
+    input: {
+        (function(jQuery) {
+            var $;
+            $ = jQuery;
+            $("body").addClass("foo");
+        })(jQuery);
+    }
+    expect: {
+        (function(jQuery) {
+            jQuery("body").addClass("foo");
+        })(jQuery);
+    }
+}