Age | Commit message (Expand) | Author |
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 |
2013-08-04 | Don't pretend to evaluate lambdas...Fix #255
| Mihai Bazon |
2013-07-25 | Reverting "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 |
2013-07-25 | added option for dropping unused params | Dusan Bartos |
2013-06-07 | Don't swap binary ops when "use asm" is in effect....Refs #167
| Mihai Bazon |