aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-18fix #51Mihai Bazon
2012-11-17retain (1,eval) as is when it's the expression of an AST_CallMihai Bazon
otherwise we change the meaning of eval from global to lexical.
2012-11-14Add support for somewhat preserving line numbers.Richard van Velzen
Usage: uglifyjs2 -b "beautify=0,preserve_line=1" /path/to/js ref #46
2012-11-14better solution for the last test in constant switch foldingMihai Bazon
2012-11-14optimize constant switch blocksMihai Bazon
ref. mishoo/UglifyJS#441
2012-11-13Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 ↵Mihai Bazon
into rvanvelzen-optimize_concat
2012-11-13don't change order in binary expressions if both operands have side effectsMihai Bazon
2012-11-12Add simple optimization for empty-string concats.Richard van Velzen
ref. #43
2012-11-12v2.1.11Mihai Bazon
2012-11-12fix invalid AST produced by dropping unused variableMihai Bazon
close #44
2012-11-12Merge pull request #41 from Skalman/toString-patchMihai Bazon
Convert x.toString() to ""+x instead of x+""
2012-11-11convert 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-09declare dependency versionsMihai Bazon
close #40
2012-11-08AST_LabelRef no longer inherits from AST_SymbolRefMihai Bazon
2012-11-08v2.1.10Mihai Bazon
2012-11-08fix API breakageMihai Bazon
close #36, #38
2012-11-08optimization for if/break as first statement in a loop bodyMihai 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-07ignore node_modules/Mihai Bazon
2012-11-07v2.1.9Mihai Bazon
2012-11-07fix another small regressionMihai Bazon
we do need parens here: `new (foo.bar().baz)`, but not here: `new foo.bar.baz`
2012-11-07v2.1.8Mihai Bazon
2012-11-07fix regression from 5346fb94 (shouldn't parenthesize i++ in x[i++])Mihai Bazon
2012-11-07v2.1.7Mihai Bazon
2012-11-07add AST_Accessor and AST_SymbolAccessor node typesMihai 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-07parenthesize property access when it's the expression in NewMihai Bazon
refs #35
2012-11-07further fix for parens around New (refs #35)Mihai Bazon
2012-11-07parenthesize a Call expression when its parent is NewMihai Bazon
fix #35
2012-11-07add proper parens around unary expressionsMihai Bazon
fix #34
2012-11-06add option to mangle names even if eval/with is in useMihai Bazon
(for more fair comparison to Closure compiler)
2012-11-05discard the hack that worked around the deprecation warningMihai Bazon
(since the source-map module no longer uses require.js) refs #9
2012-11-05convert `while` into `for`Mihai Bazon
2012-11-05minorMihai Bazon
2012-11-05minor optimizationMihai Bazon
for `==` or `!=` against a constant, prefer to display the constant first. should help a bit after gzip, i.e.: typeof foo=="undefined" ^^^^^^ ^^^^^^^^^^^^^ vs: "undefined"==typeof foo ^^^^^^^^^^^^^^^^^^^ (longer sequence that could repeat) idea stolen from closure.
2012-11-05print final semicolonMihai Bazon
close #28
2012-11-02use a Dictionary object instead of plain object for hashesMihai Bazon
to mitigate the `__proto__` issue related to #30
2012-11-01v2.1.6Mihai Bazon
2012-11-01it's safe to negate expression in !EXP only in boolean contextMihai Bazon
#kendo
2012-11-01added unsafe_comps for negating `<=` with `>`Mihai Bazon
since it has the potential to break code, let's keep it disabled by default
2012-11-01fix compressing UnaryPrefixMihai Bazon
only try negating the expression if the operator is `!` #kendo
2012-10-30v2.1.5Mihai Bazon
2012-10-30don't move expressions containing the binary `in` operator into the `for` ↵Mihai Bazon
initializer (opera can't parse it) close #25
2012-10-25v2.1.4Mihai Bazon
2012-10-25cripple scope to make IE happy :-(Mihai Bazon
close #24
2012-10-25test for fs.existsSyncMihai Bazon
2012-10-24v2.1.3Mihai Bazon
2012-10-24fix for `if (...) return; else return ...;`Mihai Bazon
(it was assumed that the first `return` always contains a value) close #22
2012-10-22more sequence optimizations (lift some sequences above binary/unary ↵Mihai Bazon
expressions so that we can avoid parens)
2012-10-22v2.1.2Mihai Bazon
2012-10-20Merge branch 'master' of github.com:mishoo/UglifyJS2Mihai Bazon
2012-10-20alternate hack to disable deprecation warningMihai Bazon
ref #9, close #20