Age | Commit message (Expand) | Author |
2017-04-01 | improve compression of undefined, NaN & Infinitiy (#1748)...- migrate transformation logic from `OutputStream` to `Compressor`
- always turn `undefined` into `void 0` (unless `unsafe`)
- always keep `NaN` except when avoiding local variable redefinition
- introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition
supersedes #1723
fixes #1730 | Alex Lam S.L |
2017-03-29 | output optimal representations of NaN & Infinity (#1723)...- move these optimisations out from `Compressor` to `OutputStream`
- fixes behaviour inconsistency when running uglified code from global or module levels due to redefinition | Alex Lam S.L |
2017-02-21 | introduce `unsafe_proto`...- `Array.prototype.slice` => `[].slice`
closes #1491
| alexlamsl |
2017-01-26 | augment evaluate to extract within objects (#1425)...- gated by `unsafe`
- replaces previous optimisation specific to String.length
- "123"[0] => 1
- [1, 2, 3][0] => 1
- [1, 2, 3].length => 3
- does not apply to objects with overridden prototype functions | Alex Lam S.L |
2016-11-29 | Add --mangle-props-debug and fix --mangle-props=unquoted collision...Patch by @AshleyScirra
Based on: PR #1316
Renamed the CLI debug option to --mangle-props-debug
Fixes: #1321 name collision in --mangle-props=unquoted
| Ashley (Scirra) |
2016-08-14 | Fix --mangle-props and --mangle-props=unquoted...Fixes: #1247
Fix --mangle-props and --name-cache inconsistency.
AST_Dot and AST_Sub properties are now mangled by --mangle-props
without regard to being used in an assignment statement.
Note: if --mangle-props is used then *all* javascript files used must
be uglified with the same mangle options.
Fix the ignore_quoted=true mangle option, also known as
`--mangle-props=unquoted`. If a given property is quoted anywhere
it will not be mangled in any quoted or non-quoted context.
| kzc |
2016-08-14 | Additional object literal property tests | kzc |
2016-06-30 | Enable --screw-ie8 by default....catch identifier is mangled correctly for ES5 standards-compliant JS engines by default.
Unconditionally use the ie8 if/do-while workaround whether or not --screw-ie8 is enabled.
To support non-standard ie8 javascript use: uglifyjs --support-ie8
| kzc |
2016-06-19 | Respect quote style in object literals...The option added in fbbaa42ee55a7f753f7cab9b1a905ccf73cf26d5 wasn't
being respected inside object literals, so quoted property names would
still be stripped out with this option.
This is mostly a corner-case, but useful when the output is passed to
something like the Closure compiler, where quoted property names can be
used to prevent mangling.
| Shrey Banga |
2014-07-01 | Evaluate "foo".length ==> 3 | Dan Wolff |
2014-04-18 | Update tests. | Mihai Bazon |
2013-05-14 | Fix a["1_1"]...Close #204
| Mihai Bazon |
2013-05-08 | add a test for zero-length string in is_identifier_string, which is used in p... | Trey Griffith |
2013-05-06 | Added test scenario with unicode in properties name....Signed-off-by: Justin Lau <justin@tclau.com>
| Justin Lau |
2013-05-05 | Added scenario in test case where properties shouldn't be accessed with...dotted syntax even with screw_ie8 option.
Signed-off-by: Justin Lau <justin@tclau.com>
| Justin Lau |
2013-04-20 | fixes #189: use dotted member access when --screw-ie8 option given | Michael Ficarra |
2012-08-22 | wrote more of the compressor and added some tests | Mihai Bazon |