Allow cli options to be specified in separate definitions
authorRichard van Velzen <rvanvelzen@experty.com>
Mon, 8 Feb 2016 09:36:28 +0000 (10:36 +0100)
committerRichard van Velzen <rvanvelzen@experty.com>
Wed, 10 Feb 2016 09:14:46 +0000 (10:14 +0100)
Fix for #963. This allows stuff like `--define a=1 --define b=1` besides only `--define a=1,b=1`

bin/uglifyjs

index f7f2221..1f449aa 100755 (executable)
@@ -499,17 +499,19 @@ function normalize(o) {
     }
 }
 
-function getOptions(x, constants) {
-    x = ARGS[x];
+function getOptions(flag, constants) {
+    var x = ARGS[flag];
     if (x == null) return null;
     var ret = {};
     if (x !== "") {
+        if (Array.isArray(x)) x = x.map(function (v) { return "(" + v + ")"; }).join(", ");
+
         var ast;
         try {
             ast = UglifyJS.parse(x, { expression: true });
         } catch(ex) {
             if (ex instanceof UglifyJS.JS_Parse_Error) {
-                print_error("Error parsing arguments in: " + x);
+                print_error("Error parsing arguments for flag `" + flag + "': " + x);
                 process.exit(1);
             }
         }
@@ -529,7 +531,7 @@ function getOptions(x, constants) {
                 return true;    // no descend
             }
             print_error(node.TYPE)
-            print_error("Error parsing arguments in: " + x);
+            print_error("Error parsing arguments for flag `" + flag + "': " + x);
             process.exit(1);
         }));
     }