Age | Commit message (Expand) | Author |
2015-01-07 | Fix make_node_from_constant for Regexp-s...Close #588
| Mihai Bazon |
2015-01-06 | aborts(AST_If) returns the `if` node...Previously it returned the abort node from the alternative branch. This is
not much use as it can be different from the one in the body
branch (i.e. return vs. throw) and can trick us into issues like #591.
Fix #591
| Mihai Bazon |
2015-01-05 | Support keep_fnames in compressor, and --keep-fnames. #552...Passing `--keep-fnames` will enable it both for compressor/mangler, so that
function names will not be dropped (when unused) nor mangled.
| Mihai Bazon |
2015-01-04 | Fix #569...When no arguments are given to `new Function()`, it should be treated as
a regular anonymous function (http://es5.github.io/#x15.3.2.1)
| Richard van Velzen |
2014-12-31 | Fix #597...NaN and Infinity were replaced in the output generation, instead of
during compression. This could lead to results where `1/0` was inserted
without parens leading to invalid output.
The nodes are replaced in the compression step now, and the output
generation returns their regular names. This should not be a problem,
since they're already only constructed from the original name.
| Richard van Velzen |
2014-09-28 | Referencing a global is assumed to have side effects....Close #550
| Mihai Bazon |
2014-09-04 | Compress conditions that have side effects using sequences | Tal Ater |
2014-09-02 | Compress conditional assignments where all possible outcomes are equivalant a... | Tal Ater |
2014-08-26 | Turn foo.new into foo["new"] when not --screw-ie8. Fix #534 | Mihai Bazon |
2014-08-20 | Prevent error for Function(""). Close #538 | Mihai Bazon |
2014-07-01 | Evaluate "foo".length ==> 3 | Dan Wolff |
2014-02-08 | Add option `keep_fargs`....By default it's `false`. Pass `true` if you need to keep unused function
arguments.
Close #188.
| Mihai Bazon |
2014-02-06 | Simplify nested conditionals if possible | Matt Basta |
2014-01-31 | Fix if_return dropping the alternative. Close #413 | Mihai Bazon |
2014-01-08 | Better process_for_angular before other statement reductions. #395 | Mihai Bazon |
2014-01-08 | Support @ngInject with `angular` compressor option. Close #395. | Mihai Bazon |
2014-01-07 | doh. | Mihai Bazon |
2014-01-07 | minor: exp["10"] => exp[10] | Mihai Bazon |
2013-12-29 | Conditional/call optimization... foo ? bar(x) : bar(y) ==> bar(foo ? x : y)
| Mihai Bazon |
2013-12-22 | Optimize seq,void 0. Close #377.... (x, void 0) => void x
(x, undefined) => void x
| Mihai Bazon |
2013-12-10 | Add `drop_console` option to the compressor | Mihai Bazon |
2013-12-10 | minor | Mihai Bazon |
2013-11-28 | Properly scope `catch` identifier when --screw-ie8...Fix #344
| Mihai Bazon |
2013-11-20 | Fix faulty compression...`String(x + 5)` is not always the same as `x + "5"`. Overlooked that. :-(
Close #350
| Mihai Bazon |
2013-11-08 | Only descend twice after drop_unused if it's the same node type....Fix #345
| Mihai Bazon |
2013-11-06 | Better 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-06 | Do not lift sequence from right-hand side of binary operation. Fix #343 | Mihai Bazon |
2013-10-30 | Fix 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-30 | indentation | Mihai Bazon |
2013-10-29 | Disallow reversal where lhs has higher or equal precedence...Fixes #267
| Richard van Velzen |
2013-10-26 | Fix 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-24 | Fix #269...Shorten most primitives where possible. Also optimize some edge cases.
| Richard van Velzen |
2013-10-23 | Fix #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-22 | Revert #3a81f60 for now...(with it some tests break and it can generate invalid output, see issue #44)
| Mihai Bazon |
2013-10-09 | wrap up | Mihai Bazon |
2013-10-09 | Don't drop_unused before compression....Fix #280, #282
| Mihai Bazon |
2013-10-04 | Rename clean_getters to pure_getters; add pure_funcs. | Mihai Bazon |
2013-10-02 | add `clean_getters` compressor option (default `false`)...allows one to specify if `foo.bar` is considered to have side effects.
| Mihai Bazon |
2013-10-02 | minor optimization...unlikely to help in hand-written code:
(something() ? foo : bar) == foo ==> something()
| Mihai Bazon |
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...Somebody hit me with bug reports on this. :)
Refs #300
| Mihai Bazon |
2013-09-22 | Actually 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-22 | More dirty handling of [ ... ].join() in unsafe mode...Close #300
| Mihai Bazon |
2013-09-22 | Evaluate [...].join() if possible: minor bugfix...Follow-up to 78e98d2.
| Dan Wolff |
2013-09-19 | When `unsafe` is set, evaluate [...].join() if possible...Close #298
| Mihai Bazon |
2013-09-19 | Concatenate 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-02 | Disallow `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-08-20 | Move 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-18 | fixes #259: don't unnecessarily quote object properties when --screw-ie8 | Michael Ficarra |
2013-08-07 | Don't drop unused setter argument....Fix #257
| Mihai Bazon |