aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Bazon <mihai@bazon.net>2013-10-29 14:01:26 +0200
committerMihai Bazon <mihai@bazon.net>2013-10-29 14:01:26 +0200
commit7cf79c302b61ebd07c33aabee929dfb8666cba56 (patch)
treeb9e251383a5d9d09919ddd07111a53908ef0ca80
parenta14c6b6574b47ba9fe4e238eea1f1286097d3c5d (diff)
downloadtracifyjs-7cf79c302b61ebd07c33aabee929dfb8666cba56.tar.gz
tracifyjs-7cf79c302b61ebd07c33aabee929dfb8666cba56.zip
Fix reading arguments
i.e. read `-c unsafe,unsafe-comps` as `-c unsafe=true,unsafe_comps=true`
-rwxr-xr-xbin/uglifyjs9
1 files changed, 6 insertions, 3 deletions
diff --git a/bin/uglifyjs b/bin/uglifyjs
index 9bdb8ea7..4160171d 100755
--- a/bin/uglifyjs
+++ b/bin/uglifyjs
@@ -381,7 +381,7 @@ function getOptions(x, constants) {
if (x !== true) {
var ast;
try {
- ast = UglifyJS.parse(x);
+ ast = UglifyJS.parse(x, { expression: true });
} catch(ex) {
if (ex instanceof UglifyJS.JS_Parse_Error) {
sys.error("Error parsing arguments in: " + x);
@@ -389,8 +389,6 @@ function getOptions(x, constants) {
}
}
ast.walk(new UglifyJS.TreeWalker(function(node){
- if (node instanceof UglifyJS.AST_Toplevel) return; // descend
- if (node instanceof UglifyJS.AST_SimpleStatement) return; // descend
if (node instanceof UglifyJS.AST_Seq) return; // descend
if (node instanceof UglifyJS.AST_Assign) {
var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_");
@@ -400,6 +398,11 @@ function getOptions(x, constants) {
ret[name] = value;
return true; // no descend
}
+ if (node instanceof UglifyJS.AST_Symbol || node instanceof UglifyJS.AST_Binary) {
+ var name = node.print_to_string({ beautify: false }).replace(/-/g, "_");
+ ret[name] = true;
+ return true; // no descend
+ }
sys.error(node.TYPE)
sys.error("Error parsing arguments in: " + x);
process.exit(1);