public Uglify() { /** Parser options, filename is set from script (no need to set here). */ set("strict", false); /** Mangle names, on by default. */ set("mangle", true); /** Compressor options. */ set("sequences", true); // join consecutive statemets with the “comma operator” set("properties", true); // optimize property access", a["foo"] → a.foo set("dead_code", true); // discard unreachable code set("drop_debugger", true); // discard “debugger” statements set("unsafe", false); // some unsafe optimizations (see below) set("conditionals", true); // optimize if-s and conditional expressions set("comparisons", true); // optimize comparisons set("evaluate", true); // evaluate constant expressions set("booleans", true); // optimize boolean expressions set("loops", true); // optimize loops set("unused", true); // drop unused variables/functions set("hoist_funs", true); // hoist function declarations set("hoist_vars", false); // hoist variable declarations set("if_return", true); // optimize if-s followed by return/continue set("join_vars", true); // join var declarations set("cascade", true); // try to cascade `right` into `left` in sequences set("side_effects", true); // drop side-effect-free statements set("warnings", true); // warn about potentially dangerous optimizations/code set("global_defs", ImmutableMap.of()); }