Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |||
2012-10-24 | fix for `if (...) return; else return ...;` | Mihai Bazon | |
(it was assumed that the first `return` always contains a value) close #22 | |||
2012-10-22 | more sequence optimizations (lift some sequences above binary/unary ↵ | Mihai Bazon | |
expressions so that we can avoid parens) | |||
2012-10-18 | more optimizations for some break/continue cases | Mihai Bazon | |
2012-10-13 | disable warnings in the test suite | Mihai Bazon | |
2012-10-13 | drop unused function arguments | Mihai Bazon | |
also add test for "drop_unused" (the last one fails for now) | |||
2012-10-12 | actually enable the option that drops unused names in the test of issue #12 | Mihai Bazon | |
2012-10-12 | add test for issue #12 | Mihai Bazon | |
2012-10-03 | AST cleanup (dropped AST_StatementBase) | Mihai Bazon | |
2012-10-03 | added option for side-effect-free statements, fix test | Mihai Bazon | |
2012-10-03 | disable `hoist_vars` by default and change `comparations` to `comparisons` | Mihai Bazon | |
2012-09-26 | removed the "squeeze" method (it's now effectively "transform") | Mihai Bazon | |
2012-09-24 | minor tests fix | Mihai Bazon | |
2012-09-17 | minor | Mihai Bazon | |
2012-09-17 | one more test for sequences | Mihai Bazon | |
2012-09-16 | rewrite handle_if_return | Mihai Bazon | |
optimizations of if/return/continue seem to be even better now | |||
2012-09-13 | few more optimizations: | Mihai Bazon | |
- do multiple passes in tighten_body if it was changed - transform if (foo) return x; return y; ==> return foo?x:y - don't optimize !0 as true (use best_of after evaluation of constant expr) With hoist_vars off we now beat UglifyJS v1 on jQuery-1.8.1 | |||
2012-09-12 | minor | Mihai Bazon | |
2012-09-12 | fixed run-tests and an issue about reversing the condition in AST_If | Mihai Bazon | |
2012-09-10 | more progress on the compressor (WIP) | Mihai Bazon | |
2012-09-07 | checkpoint | Mihai Bazon | |
2012-09-07 | always keep declarations found in unreachable code | Mihai Bazon | |
a few more tests and some cleanups. | |||
2012-09-07 | fixed tests (need to drop the toplevel block in "expected" if it's a single ↵ | Mihai Bazon | |
statement) | |||
2012-09-03 | a LabeledStatement should be in fact a StatementWithBody | Mihai Bazon | |
This fixes output for: if (foo) { moo: if (bar) { break moo; } } else { baz(); } (the labeled statement must be outputted inside brackets) | |||
2012-08-27 | minor | Mihai Bazon | |
2012-08-22 | wrote more of the compressor and added some tests | Mihai Bazon | |