Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-01-20 | Merge pull request #615 from avdg/unicode | Mihai Bazon | |
Give parser more unicode support | |||
2015-01-20 | Add test | Anthony Van de Gejuchte | |
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-04 | Add a "keep_fnames" option to the compressor to retain function expression names | Richard van Velzen | |
See #552. This is useful for stack traces. | |||
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-03 | Added a test for else if | Tal Ater | |
2014-09-02 | Compress conditional assignments where all possible outcomes are equivalant ↵ | Tal Ater | |
and condition has no side effects | |||
2014-07-08 | added newline at the end of the file | Artemy Tregubenko | |
2014-07-01 | Evaluate "foo".length ==> 3 | Dan Wolff | |
2014-05-11 | added @ngInject support for inline functions | Artemy Tregubenko | |
2014-04-18 | Update tests. | Mihai Bazon | |
2014-02-06 | Simplify nested conditionals if possible | Matt Basta | |
2013-12-29 | Conditional/call optimization | Mihai Bazon | |
foo ? bar(x) : bar(y) ==> bar(foo ? x : y) | |||
2013-12-05 | AST_Catch shouldn't really inherit from AST_Scope. Fix #363 | Mihai Bazon | |
I hereby acknowledge that figure_out_scope has become a mess. | |||
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-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-10-29 | Disallow reversal where lhs has higher or equal precedence | Richard van Velzen | |
Fixes #267 | |||
2013-10-25 | Add a unit test for issue-126 | Mark Jaquith | |
Add a unit test to test to test for aggressive parenthesis removal that causes functional changes. | |||
2013-10-24 | Fix #269 | Richard van Velzen | |
Shorten most primitives where possible. Also optimize some edge cases. | |||
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-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-07 | Don't drop unused setter argument. | Mihai Bazon | |
Fix #257 | |||
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-05-14 | Fix a["1_1"] | Mihai Bazon | |
Close #204 | |||
2013-05-08 | add a test for zero-length string in is_identifier_string, which is used in ↵ | Trey Griffith | |
property compression. Also added a test exercising the change. | |||
2013-05-08 | Better fix for equality of typeof ... against "undefined" | Mihai Bazon | |
2013-05-08 | Fixed typeof undefined optimization and updated related test case to | Justin Lau | |
accomodates the sort behaviour changes made in commit mishoo/UglifyJS2@aebafad41eab48f43ed649ce8c77e8f1528b50da. Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-05-08 | Added test cases for #104. | Justin Lau | |
Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-05-06 | Added test scenario with unicode in properties name. | Justin Lau | |
Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-05-05 | Added scenario in test case where properties shouldn't be accessed with | Justin Lau | |
dotted syntax even with screw_ie8 option. Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-04-20 | fixes #189: use dotted member access when --screw-ie8 option given | Michael Ficarra | |
2013-04-03 | Add tests for typeof evaluation | Roman Bataev | |
2013-03-01 | Drop last `default:` if it's the last branch and empty | Mihai Bazon | |
Close #141 | |||
2013-01-23 | Fix #105: property comparison to undefined is not always safe | Richard Gibson | |
2013-01-17 | Fix output for arrays containing undefined values. | David Glasser | |
1b6bcca7 was a first attempt at this. That commit made Uglify stop replacing holes with undefined, but instead it started replacing undefined with holes. This is slightly problematic, because there is a difference between a hole and an undefined value. More problematically, it changed [1,undefined] to [1,] which generally doesn't even parse as a hole (just as a trailing comma), so it didn't even preserve the length of the array! Instead, parse holes as their own special AST node which prints invisibly. | |||
2012-11-30 | Add test for issue #59 | Mihai Bazon | |
2012-11-14 | better solution for the last test in constant switch folding | Mihai Bazon | |
2012-11-14 | optimize constant switch blocks | Mihai Bazon | |
ref. mishoo/UglifyJS#441 | |||
2012-11-12 | fix invalid AST produced by dropping unused variable | Mihai Bazon | |
close #44 | |||
2012-11-08 | optimization for if/break as first statement in a loop body | Mihai Bazon | |
for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.) | |||
2012-10-30 | don't move expressions containing the binary `in` operator into the `for` ↵ | Mihai Bazon | |
initializer (opera can't parse it) close #25 |