Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-11-08 | Only descend twice after drop_unused if it's the same node type. | Mihai Bazon | |
Fix #345 | |||
2013-11-06 | Better fix for #343 | Mihai Bazon | |
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. | |||
2013-11-06 | Do not lift sequence from right-hand side of binary operation. Fix #343 | Mihai Bazon | |
2013-10-30 | Workaround for Safari bug | Mihai Bazon | |
Close #313 | |||
2013-10-30 | Fix parsing setters/getters (allow keywords for name). | Mihai Bazon | |
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 | |||
2013-10-30 | Fix regression after e4c530240650535d1cb46569dfb013193471af05 | Mihai Bazon | |
`x * (y * z)` ==> `x * y * z` -- the better place to do this is in the compressor rather than codegen. | |||
2013-10-30 | indentation | Mihai Bazon | |
2013-10-30 | Fix output for `x = 2 * (a % b / b * c)` | Mihai Bazon | |
(issue #337) | |||
2013-10-30 | minor | Mihai Bazon | |
2013-10-29 | Disallow reversal where lhs has higher or equal precedence | Richard van Velzen | |
Fixes #267 | |||
2013-10-29 | Fix typo | Mihai Bazon | |
2013-10-29 | Avoid shadowing name of function expression with function argument | Mihai Bazon | |
Close #179, #326, #327 | |||
2013-10-29 | Add "preamble" output option | Mihai Bazon | |
Close #335 | |||
2013-10-28 | Fix codegen for when comments_before is undefined. | Mihai Bazon | |
Fix #333 | |||
2013-10-26 | Fix RHS concat (raised in #330) | Richard van Velzen | |
When attempting to concat the left-side of the rhs, make sure the rhs is a string. | |||
2013-10-24 | Fix #269 | Richard van Velzen | |
Shorten most primitives where possible. Also optimize some edge cases. | |||
2013-10-23 | Fix #280 | Richard van Velzen | |
The `init` of the `ForStatement` is not a `BlockStatement` before it was descended. The descend has to happen first, and *then* the actual checks. | |||
2013-10-22 | Revert #3a81f60 for now | Mihai Bazon | |
(with it some tests break and it can generate invalid output, see issue #44) | |||
2013-10-17 | `arguments` outside of a function is an ordinary variable. | Mihai Bazon | |
Fix #501 | |||
2013-10-09 | wrap up | Mihai Bazon | |
2013-10-09 | Don't drop_unused before compression. | Mihai Bazon | |
Fix #280, #282 | |||
2013-10-04 | Rename clean_getters to pure_getters; add pure_funcs. | Mihai Bazon | |
2013-10-03 | Only allow identifier start characters at the beginning of identifiers. | David Glasser | |
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.) | |||
2013-10-02 | add `clean_getters` compressor option (default `false`) | Mihai Bazon | |
allows one to specify if `foo.bar` is considered to have side effects. | |||
2013-10-02 | minor optimization | Mihai Bazon | |
unlikely to help in hand-written code: (something() ? foo : bar) == foo ==> something() | |||
2013-09-30 | Fix error in the output minifying `Function("return this")()` | Mihai Bazon | |
2013-09-22 | More attempts to determine when addition is associative | Mihai Bazon | |
Somebody hit me with bug reports on this. :) Refs #300 | |||
2013-09-22 | Actually let's move away those monsters from the evaluate function | Mihai Bazon | |
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. | |||
2013-09-22 | More dirty handling of [ ... ].join() in unsafe mode | Mihai Bazon | |
Close #300 | |||
2013-09-22 | Evaluate [...].join() if possible: minor bugfix | Dan Wolff | |
Follow-up to 78e98d2. | |||
2013-09-19 | When `unsafe` is set, evaluate [...].join() if possible | Mihai Bazon | |
Close #298 | |||
2013-09-19 | Concatenate strings also on the right-hand side of an expression that cannot ↵ | Dan Wolff | |
be evaluated. Fix #126 E.g. converts: a+'Hello'+'World' to a+'HelloWorld' | |||
2013-09-06 | Avoid printing <!-- in the output (HTML5 comment) | Mihai Bazon | |
2013-09-06 | Support HTML5 comment syntax (enabled by default!) | Mihai Bazon | |
See http://javascript.spec.whatwg.org/#comment-syntax https://github.com/mishoo/UglifyJS/issues/503 https://github.com/marijnh/acorn/issues/62 | |||
2013-09-06 | minor | Mihai Bazon | |
2013-09-02 | Fix names. | Mihai Bazon | |
2013-09-02 | Disallow `continue` referring to a non-IterationStatement. Fix #287 | Mihai Bazon | |
Simplifies handling of labels (their definition/references can be easily figured out at parse time, no need to do it in `figure_out_scope`). | |||
2013-09-02 | Better fix for #286 | Mihai Bazon | |
2013-09-02 | Fix parsing `a.case /= 1` | Mihai Bazon | |
Close #286 | |||
2013-09-02 | Fix parsing regexp after unary-prefix operator | Mihai Bazon | |
++/x/.y Fix #284 | |||
2013-08-20 | Move support for `negate_iife` in the compressor, rather than code generator | Mihai Bazon | |
(the code generator doesn't maintain enough context to know whether the return value is important or discarded) Fixes #272 | |||
2013-08-18 | fixes #259: don't unnecessarily quote object properties when --screw-ie8 | Michael Ficarra | |
2013-08-07 | Don't drop unused setter argument. | Mihai Bazon | |
Fix #257 | |||
2013-08-04 | Don't pretend to evaluate lambdas | Mihai Bazon | |
Fix #255 | |||
2013-07-25 | Reverting "added option for dropping unused params" | Mihai Bazon | |
Revert "added option for dropping unused params" (turns out we already had the `unused` option for this.) This reverts commit e54df2226f7f3887d2f850cea8caf5c0353dce00. | |||
2013-07-25 | added option for dropping unused params | Dusan Bartos | |
2013-07-18 | Fix output for arrays whose last element is a hole: [1,,] | David Glasser | |
1529ab96 started to do this (by considering holes to be separate from "undefined") but it still converted [1,,] (length 2, last element hole, trailing comma) to [1,] (length 1, trailing comma) Unfortunately the test suite doesn't really make this clear: the new test here passes with or without this patch because run-tests.js beautifys the expected output (in "make_code"), which does the incorrect transformation! If you make some manual change to arrays.js to make the test fail and see the INPUT and OUTPUT, then you can see that without this fix, [1,,] -> [1,], and with this fix it stays [1,,]. | |||
2013-07-15 | Revert previous patch, it was no good. | Mihai Bazon | |
2013-07-15 | Add "position" option to parser, to specify initial pos/line/col | Mihai Bazon | |
(for parsing embedded scripts) | |||
2013-07-14 | Apply transformer to AST_VarDef's name | Mihai Bazon | |
Fix #237 |