Better reporting of parse errors
authorMihai Bazon <mihai@bazon.net>
Mon, 2 Sep 2013 06:55:34 +0000 (09:55 +0300)
committerMihai Bazon <mihai@bazon.net>
Mon, 2 Sep 2013 06:55:34 +0000 (09:55 +0300)
bin/uglifyjs

index 7a4f622..90b71a2 100755 (executable)
@@ -257,11 +257,21 @@ async.eachLimit(files, 1, function (file, cb) {
                 });
             }
             else {
-                TOPLEVEL = UglifyJS.parse(code, {
-                    filename   : file,
-                    toplevel   : TOPLEVEL,
-                    expression : ARGS.expr,
-                });
+                try {
+                    TOPLEVEL = UglifyJS.parse(code, {
+                        filename   : file,
+                        toplevel   : TOPLEVEL,
+                        expression : ARGS.expr,
+                    });
+                } catch(ex) {
+                    if (ex instanceof UglifyJS.JS_Parse_Error) {
+                        sys.error("Parse error at " + file + ":" + ex.line + "," + ex.col);
+                        sys.error(ex.message);
+                        sys.error(ex.stack);
+                        process.exit(1);
+                    }
+                    throw ex;
+                }
             };
         });
         cb();