added option for dropping unused params
authorDusan Bartos <doodeec@gmail.com>
Thu, 25 Jul 2013 13:32:21 +0000 (15:32 +0200)
committerMihai Bazon <mihai@bazon.net>
Thu, 25 Jul 2013 14:37:47 +0000 (17:37 +0300)
lib/compress.js

index 9eed828..c07ccd3 100644 (file)
@@ -67,6 +67,7 @@ function Compressor(options, false_by_default) {
         cascade       : !false_by_default,
         side_effects  : !false_by_default,
         screw_ie8     : false,
+        drop_unused   : !false_by_default,
 
         warnings      : true,
         global_defs   : {}
@@ -83,7 +84,7 @@ merge(Compressor.prototype, {
     before: function(node, descend, in_list) {
         if (node._squeezed) return node;
         if (node instanceof AST_Scope) {
-            node.drop_unused(this);
+            if (this.options.drop_unused) node.drop_unused(this);
             node = node.hoist_declarations(this);
         }
         descend(node, this);
@@ -96,7 +97,7 @@ merge(Compressor.prototype, {
             // no point to repeat warnings.
             var save_warnings = this.options.warnings;
             this.options.warnings = false;
-            node.drop_unused(this);
+            if (this.options.drop_unused) node.drop_unused(this);
             this.options.warnings = save_warnings;
         }
         node._squeezed = true;