aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Expand)Author
2013-12-10minorMihai Bazon
2013-12-05AST_Catch shouldn't really inherit from AST_Scope. Fix #363...I hereby acknowledge that figure_out_scope has become a mess. Mihai Bazon
2013-11-28Properly scope `catch` identifier when --screw-ie8...Fix #344 Mihai Bazon
2013-11-28Add --noerr to turn off argument name checking...for now only used for keys passed to `-c` or `-b`. Mihai Bazon
2013-11-20Fix faulty compression...`String(x + 5)` is not always the same as `x + "5"`. Overlooked that. :-( Close #350 Mihai Bazon
2013-11-08Only descend twice after drop_unused if it's the same node type....Fix #345 Mihai Bazon
2013-11-06Better fix for #343...We can in fact lift sequences, but only if the operation is assignment and the left-hand side has no side effects nor property access -- that should guarantee that whatever we place before it cannot affect the sense of the assignment. Dropped contrived test case (too hard to support it now), added a more meaningful one. Mihai Bazon
2013-11-06Do not lift sequence from right-hand side of binary operation. Fix #343Mihai Bazon
2013-10-30Workaround for Safari bug...Close #313 Mihai Bazon
2013-10-30Fix parsing setters/getters (allow keywords for name)....The "key" property was always "set" or "get", which didn't make much sense. Now it'll be the actual name of the setter/getter (AST_Node), and the AST_Accessor object itself, which represents the function, won't store any name. Close #319 Mihai Bazon
2013-10-30Fix regression after e4c530240650535d1cb46569dfb013193471af05...`x * (y * z)` ==> `x * y * z` -- the better place to do this is in the compressor rather than codegen. Mihai Bazon
2013-10-30indentationMihai Bazon
2013-10-30Fix output for `x = 2 * (a % b / b * c)`...(issue #337) Mihai Bazon
2013-10-30minorMihai Bazon
2013-10-29Disallow reversal where lhs has higher or equal precedence...Fixes #267 Richard van Velzen
2013-10-29Fix typoMihai Bazon
2013-10-29Avoid shadowing name of function expression with function argument...Close #179, #326, #327 Mihai Bazon
2013-10-29Add "preamble" output option...Close #335 Mihai Bazon
2013-10-28Fix codegen for when comments_before is undefined....Fix #333 Mihai Bazon
2013-10-26Fix RHS concat (raised in #330)...When attempting to concat the left-side of the rhs, make sure the rhs is a string. Richard van Velzen
2013-10-24Fix #269...Shorten most primitives where possible. Also optimize some edge cases. Richard van Velzen
2013-10-23Fix #280...The `init` of the `ForStatement` is not a `BlockStatement` before it was descended. The descend has to happen first, and *then* the actual checks. Richard van Velzen
2013-10-22Revert #3a81f60 for now...(with it some tests break and it can generate invalid output, see issue #44) Mihai Bazon
2013-10-17`arguments` outside of a function is an ordinary variable....Fix #501 Mihai Bazon
2013-10-09wrap upMihai Bazon
2013-10-09Don't drop_unused before compression....Fix #280, #282 Mihai Bazon
2013-10-04Rename clean_getters to pure_getters; add pure_funcs.Mihai Bazon
2013-10-03Only allow identifier start characters at the beginning of identifiers....Without this fix, the following source: x = {"\u200c": 42}; would incorrectly be converted into a quoteless key. But while \u200c is allowed to be in identifiers, it cannot be at the beginning, as per ES5. (For example, the SockJS client library doesn't work under uglify starting with d9ad3c7c.) David Glasser
2013-10-02add `clean_getters` compressor option (default `false`)...allows one to specify if `foo.bar` is considered to have side effects. Mihai Bazon
2013-10-02minor optimization...unlikely to help in hand-written code: (something() ? foo : bar) == foo ==> something() Mihai Bazon
2013-09-30Fix error in the output minifying `Function("return this")()`Mihai Bazon
2013-09-22More attempts to determine when addition is associative...Somebody hit me with bug reports on this. :) Refs #300 Mihai Bazon
2013-09-22Actually let's move away those monsters from the evaluate function...ev() should do a single thing — evaluate constant expressions. if that's not possible, just return the original node. it's not the best place for partial evaluation there, instead doing it in the compress functions. Mihai Bazon
2013-09-22More dirty handling of [ ... ].join() in unsafe mode...Close #300 Mihai Bazon
2013-09-22Evaluate [...].join() if possible: minor bugfix...Follow-up to 78e98d2. Dan Wolff
2013-09-19When `unsafe` is set, evaluate [...].join() if possible...Close #298 Mihai Bazon
2013-09-19Concatenate strings also on the right-hand side of an expression that cannot ......E.g. converts: a+'Hello'+'World' to a+'HelloWorld' Dan Wolff
2013-09-06Avoid printing <!-- in the output (HTML5 comment)Mihai Bazon
2013-09-06Support HTML5 comment syntax (enabled by default!)...See http://javascript.spec.whatwg.org/#comment-syntax https://github.com/mishoo/UglifyJS/issues/503 https://github.com/marijnh/acorn/issues/62 Mihai Bazon
2013-09-06minorMihai Bazon
2013-09-02Fix names.Mihai Bazon
2013-09-02Disallow `continue` referring to a non-IterationStatement. Fix #287...Simplifies handling of labels (their definition/references can be easily figured out at parse time, no need to do it in `figure_out_scope`). Mihai Bazon
2013-09-02Better fix for #286Mihai Bazon
2013-09-02Fix parsing `a.case /= 1`...Close #286 Mihai Bazon
2013-09-02Fix parsing regexp after unary-prefix operator...++/x/.y Fix #284 Mihai Bazon
2013-08-20Move support for `negate_iife` in the compressor, rather than code generator...(the code generator doesn't maintain enough context to know whether the return value is important or discarded) Fixes #272 Mihai Bazon
2013-08-18fixes #259: don't unnecessarily quote object properties when --screw-ie8Michael Ficarra
2013-08-07Don't drop unused setter argument....Fix #257 Mihai Bazon
2013-08-04Don't pretend to evaluate lambdas...Fix #255 Mihai Bazon
2013-07-25Reverting "added option for dropping unused params"...Revert "added option for dropping unused params" (turns out we already had the `unused` option for this.) This reverts commit e54df2226f7f3887d2f850cea8caf5c0353dce00. Mihai Bazon