Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-03-02 | Add `--screw-ie` option | Mihai Bazon | |
For now the implication is that UglifyJS will not leak a function expression's name in the surrounding scope (IE < 9 does that). (ref. mishoo/UglifyJS#485) | |||
2013-03-01 | Drop last `default:` if it's the last branch and empty | Mihai Bazon | |
Close #141 | |||
2013-03-01 | Compress boolean constants after evaluation | Mihai Bazon | |
Close #137 | |||
2013-02-19 | Fix compressing `do {...} while (false)` | Mihai Bazon | |
It's not safe to transform it to {...} because the body might contain `break`. The solution could be more elaborate (detect if body contains `break`) but I don't think it's worth the trouble. Close #129 | |||
2013-02-06 | Force space after literal regexp when used in "instanceof" or "in" | Mihai Bazon | |
Close #118 | |||
2013-02-06 | Give up evaluating (unary-prefix '-' 0) | Mihai Bazon | |
Close #117 ------ JS, WHY YOU SUCK SO BADLY? ;-( | |||
2013-02-06 | Fix parens for NaN | Mihai Bazon | |
Close #116 | |||
2013-02-06 | Fix parens for negative numbers | Mihai Bazon | |
Close #115 | |||
2013-02-06 | Fix parens for AST_New | Mihai Bazon | |
Close #114 | |||
2013-02-06 | Fix handling of constants | Mihai Bazon | |
Close #113 | |||
2013-02-05 | Ugly hack to print comments before return/throw statements | Mihai Bazon | |
Close #112 | |||
2013-02-01 | Fix end token for Assign nodes | Mihai Bazon | |
2013-01-23 | Fix #105: property comparison to undefined is not always safe | Richard Gibson | |
2013-01-17 | [AST_Hole] the print function can be a no-op. | Mihai Bazon | |
2013-01-17 | Fix output for arrays containing undefined values. | David Glasser | |
1b6bcca7 was a first attempt at this. That commit made Uglify stop replacing holes with undefined, but instead it started replacing undefined with holes. This is slightly problematic, because there is a difference between a hole and an undefined value. More problematically, it changed [1,undefined] to [1,] which generally doesn't even parse as a hole (just as a trailing comma), so it didn't even preserve the length of the array! Instead, parse holes as their own special AST node which prints invisibly. | |||
2013-01-17 | Handle String() with no arguments. | Mihai Bazon | |
Fix #91 | |||
2013-01-04 | Fix handling of labels in nested scopes | Mihai Bazon | |
2013-01-02 | Implement `-m sort=true` | Mihai Bazon | |
close #83 | |||
2012-12-22 | Accept string or number as name of an accessor. | Mihai Bazon | |
[not sure I'm happy about this fix] Reference mishoo/UglifyJS#478 | |||
2012-12-21 | Optimize new Array(1, 2, 3) → [1, 2, 3] | Mihai Bazon | |
Close #74 | |||
2012-12-21 | Fix output when semicolons is off. | Mihai Bazon | |
(need to force a semicolon for the empty body of an `if`) Close #72 | |||
2012-12-12 | Small cleanup | Mihai Bazon | |
2012-12-06 | Add proper parens in "NoIn" expressions. | Mihai Bazon | |
fix #60. | |||
2012-12-05 | small improvement on merging assignments into hoisted vars | Mihai Bazon | |
2012-12-05 | When hoisting variables, try to merge in assignments that follow. | Mihai Bazon | |
2012-11-30 | Don't messup compressor stack while optimizing Switch | Mihai Bazon | |
Fix #59 | |||
2012-11-24 | fix #55 | Mihai Bazon | |
2012-11-23 | fix for https://github.com/mishoo/UglifyJS/issues/474 | Mihai Bazon | |
2012-11-18 | fix #51 | Mihai Bazon | |
2012-11-17 | retain (1,eval) as is when it's the expression of an AST_Call | Mihai Bazon | |
otherwise we change the meaning of eval from global to lexical. | |||
2012-11-14 | Add support for somewhat preserving line numbers. | Richard van Velzen | |
Usage: uglifyjs2 -b "beautify=0,preserve_line=1" /path/to/js ref #46 | |||
2012-11-14 | better solution for the last test in constant switch folding | Mihai Bazon | |
2012-11-14 | optimize constant switch blocks | Mihai Bazon | |
ref. mishoo/UglifyJS#441 | |||
2012-11-13 | Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 ↵ | Mihai Bazon | |
into rvanvelzen-optimize_concat | |||
2012-11-13 | don't change order in binary expressions if both operands have side effects | Mihai Bazon | |
2012-11-12 | Add simple optimization for empty-string concats. | Richard van Velzen | |
ref. #43 | |||
2012-11-12 | fix invalid AST produced by dropping unused variable | Mihai Bazon | |
close #44 | |||
2012-11-11 | convert x.toString() to ""+x instead of x+"" | Dan Wolff | |
In some places this can save one byte in whitespace, e.g. after return. Example: function f(arg) { // return""+arg - no space between return and "" return arg.toString(); } | |||
2012-11-08 | AST_LabelRef no longer inherits from AST_SymbolRef | Mihai Bazon | |
2012-11-08 | fix API breakage | Mihai Bazon | |
close #36, #38 | |||
2012-11-08 | optimization for if/break as first statement in a loop body | Mihai Bazon | |
for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.) | |||
2012-11-07 | fix another small regression | Mihai Bazon | |
we do need parens here: `new (foo.bar().baz)`, but not here: `new foo.bar.baz` | |||
2012-11-07 | fix regression from 5346fb94 (shouldn't parenthesize i++ in x[i++]) | Mihai Bazon | |
2012-11-07 | add AST_Accessor and AST_SymbolAccessor node types | Mihai Bazon | |
AST_Accessor will represent the function for a setter or getter. Since they are not mangleable, and they should not introduce a name in scope, we have a new node for their name (AST_SymbolAccessor) which doesn't inherit from AST_SymbolDeclaration. fix #37 | |||
2012-11-07 | parenthesize property access when it's the expression in New | Mihai Bazon | |
refs #35 | |||
2012-11-07 | further fix for parens around New (refs #35) | Mihai Bazon | |
2012-11-07 | parenthesize a Call expression when its parent is New | Mihai Bazon | |
fix #35 | |||
2012-11-07 | add proper parens around unary expressions | Mihai Bazon | |
fix #34 | |||
2012-11-06 | add option to mangle names even if eval/with is in use | Mihai Bazon | |
(for more fair comparison to Closure compiler) | |||
2012-11-05 | convert `while` into `for` | Mihai Bazon | |