Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-10-07 | Add proper support for "use asm"; blocks. Disable -c optimization within ↵ | kzc | |
"use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required. | |||
2015-09-14 | Control keeping function arguments with a single option | Ville Lautanala | |
2015-08-25 | Don't change sequences that influence lexical binding in calls | Richard van Velzen | |
Fixes #782 | |||
2015-08-10 | [Fix] --define replaces SymbolRefs in LHS of assignments | Christopher Chedeau | |
See #208 for context | |||
2015-07-29 | Advanced way to specify if a function call might have side effects. #400 | thorn0 | |
2015-07-22 | Don't attempt to negate non-boolean AST_Binary | Mihai Bazon | |
Fix #751 | |||
2015-07-20 | Merge pull request #735 from kzc/master | Mihai Bazon | |
optimizations for && and || where left side is constant expression | |||
2015-06-30 | Don't drop parens in a * (b * c). Close #744 | Mihai Bazon | |
2015-06-14 | operator && and || optimization: add "else" before "if" as intended | kzc | |
2015-06-11 | optimizations for && and || where left side is constant expression | kzc | |
2015-05-18 | Fix compressing conditionals | Mihai Bazon | |
Only transform foo() ? EXP(x) : EXP(y) into EXP(foo() ? x : y) if EXP has no side effects. Fix #710 | |||
2015-05-04 | Avoid spurious brackets when dropping unused vars | Mihai Bazon | |
Fix #702 | |||
2015-04-17 | Drop NaN -> 0/0 transformation. | Mihai Bazon | |
Fix #687 | |||
2015-04-13 | Fix compression of conditionals | Mihai Bazon | |
Don't move the condition on the right side of an assignment when the left side may have side effects. Fix #677 | |||
2015-03-23 | Fix compressing `![foo()];` as a statement | Mihai Bazon | |
need to check whether the literal has any side effects before replacing that with `false`. | |||
2015-03-22 | [sequencesize] Actually even better: | Mihai Bazon | |
do create the sequence even if the stat list is bigger than 2000 statements, but limit the sequence itself to 2000 expressions. Ref #414 | |||
2015-03-22 | Avoid sequencesize for more than 2000 statements. | Mihai Bazon | |
It hardly saves any bytes for a sequence so long, and it risks blowing the stack with the recursive Seq functions. Ref #414 | |||
2015-03-22 | Add start/end nodes for NaN/Infinity transformations | Mihai Bazon | |
2015-03-20 | Keep unused function arguments by default | Mihai Bazon | |
Discarding unused function arguments affects function.length, which can lead to some hard to debug issues. This optimization is now done only in "unsafe mode". Fix #121 | |||
2015-02-11 | Fix invalid removal of left side in && and || compression | Richard van Velzen | |
See #637. This does not produce the optimal result, but it does prevent the removal of non-side-effect-free code. | |||
2015-01-31 | Drop all `console` statements properly | Richard van Velzen | |
Because the base reference can be an member expression as well, we have to dig a bit deeper to find the leftmost base reference. Fixes #451 | |||
2015-01-13 | Optimize conditionals where the consequent and alternative are both booleans ↵ | Tal Ater | |
and not equivalent | |||
2015-01-12 | Replace the correct node when replacing in `void` sequences | Richard van Velzen | |
Close #611. | |||
2015-01-11 | Merge pull request #482 from arty-name/inline-ng-inject | Mihai Bazon | |
added @ngInject support for inline functions | |||
2015-01-07 | Fix make_node_from_constant for Regexp-s | Mihai Bazon | |
Close #588 | |||
2015-01-06 | aborts(AST_If) returns the `if` node | Mihai Bazon | |
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 | |||
2015-01-05 | Support keep_fnames in compressor, and --keep-fnames. #552 | Mihai Bazon | |
Passing `--keep-fnames` will enable it both for compressor/mangler, so that function names will not be dropped (when unused) nor mangled. | |||
2015-01-04 | Fix #569 | Richard van Velzen | |
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) | |||
2014-12-31 | Fix #597 | Richard van Velzen | |
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. | |||
2014-09-28 | Referencing a global is assumed to have side effects. | Mihai Bazon | |
Close #550 | |||
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 ↵ | Tal Ater | |
and condition has no side effects | |||
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-05-11 | added @ngInject support for inline functions | Artemy Tregubenko | |
2014-02-08 | Add option `keep_fargs`. | Mihai Bazon | |
By default it's `false`. Pass `true` if you need to keep unused function arguments. Close #188. | |||
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 | Mihai Bazon | |
foo ? bar(x) : bar(y) ==> bar(foo ? x : y) | |||
2013-12-22 | Optimize seq,void 0. Close #377. | Mihai Bazon | |
(x, void 0) => void x (x, undefined) => void x | |||
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 | Mihai Bazon | |
Fix #344 | |||
2013-11-20 | Fix faulty compression | Mihai Bazon | |
`String(x + 5)` is not always the same as `x + "5"`. Overlooked that. :-( Close #350 | |||
2013-11-08 | Only descend twice after drop_unused if it's the same node type. | Mihai Bazon | |
Fix #345 |