Age | Commit message (Expand) | Author |
2019-05-13 | enhance `keep_fargs` (#3409) | Alex Lam S.L |
2019-05-04 | make `enclose` & `wrap` work with `sourceMap` (#3396)...fixes #3313 | Alex Lam S.L |
2019-04-30 | unify logging functionality (#3392)...fixes #3253
fixes #3254 | Alex Lam S.L |
2019-04-24 | fix corner case in `assignments` (#3376)...fixes #3375 | Alex Lam S.L |
2018-07-26 | fix corner case in `ie8` & `rename` (#3223) | Alex Lam S.L |
2018-07-01 | fix corner case in `unused` | alexlamsl |
2018-06-06 | general clean-ups (#3175) | Alex Lam S.L |
2018-06-01 | re-introduce `enclose` (#3163)...fixes #2443 | Jiavan |
2018-05-24 | fix corner cases with `eval()` (#3147)...fixes #3146 | Alex Lam S.L |
2018-05-03 | fix `TreeWalker` scan order (#3114)...fixes #3113 | Alex Lam S.L |
2018-03-17 | extend fuzzy RHS folding (#3006)...- `a = []; if (1) x();` => `if (a = []) x();` | Alex Lam S.L |
2018-03-15 | refactor brackets to braces (#3005) | Alex Lam S.L |
2018-01-19 | compress `undefined` property names (#2811)...- enforce property names as string
- handle `void 0` as `undefined` in `hoist_props` & `reduce_vars` | Alex Lam S.L |
2018-01-17 | fix `AST_Scope.clone()` (#2803)...fixes #2799 | Alex Lam S.L |
2018-01-16 | general improvements around `AST_ForIn` (#2796)...- compress using `collapse_vars`
- remove unused `name`
- simplify `loop_body` | Alex Lam S.L |
2017-12-22 | make comments output more robust (#2633)...- improve handling of comments right after `return`
- retain comments after `OutputStream`
- preserve trailing comments
- fix handling of new line before comments
- handle comments around parentheses
fixes #88
fixes #112
fixes #218
fixes #372
fixes #2629 | Alex Lam S.L |
2017-12-01 | improve code reuse (#2542) | Alex Lam S.L |
2017-11-16 | fix cross-scope inlining of `AST_Function`s (#2486)...fixes #2485 | Alex Lam S.L |
2017-09-20 | suppress `collapse_vars` of `this` into "use strict" (#2326)...fixes #2319 | Alex Lam S.L |
2017-07-03 | clean up `TreeWalker.pop()` (#2195)...Remove superfluous parameter. | Alex Lam S.L |
2017-05-14 | fix bugs with getter/setter (#1926)...- `reduce_vars`
- `side_effects`
- property access for object
- `AST_SymbolAccessor` as key names
enhance `test/ufuzz.js`
- add object getter & setter
- property assignment to setter
- avoid infinite recursion in setter
- fix & adjust assignment operators
- 50% `=`
- 25% `+=`
- 2.5% each for the rest
- avoid "Invalid array length"
- fix `console.log()`
- bypass getter
- curb recursive reference
- deprecate `-E`, always report runtime errors | Alex Lam S.L |
2017-05-12 | remove support for `const` (#1910)...As this is not part of ES5. | Alex Lam S.L |
2017-05-08 | support dumping AST (#1879)...Re-order `AST_Binary` properties to make dump more readable.
closes #769 | Alex Lam S.L |
2017-04-22 | fix label-related bugs (#1835)...- deep cloning of `AST_LabeledStatement`
- `L:do{...}while(false)`
- empty statement with label within block
extend `test/ufuzz.js`
- generate labels for blocks & loops
- generate for-in statements
- skip suspicious option search if `minify()` errs
fixes #1833 | Alex Lam S.L |
2017-04-17 | enhance `reduce_vars` (#1814)...- allow immediate assignment after declaration of variable
- relax modification rule for immutable value
- fix order of visit for TreeWalker
- remove extraneous code | Alex Lam S.L |
2017-04-15 | unify CLI & API under `minify()` (#1811)...- rename `screw_ie8` to `ie8`
- rename `mangle.except` to `mangle.reserved`
- rename `mangle.properties.ignore_quoted` to `mangle.properties.keep_quoted`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
- `ie8`
- `keep_fnames`
- `toplevel`
- `warnings`
- support arrays and unquoted string values on CLI
- drop `fromString` from `minify()`
- `minify()` no longer handles any `fs` operations
- unify order of operations for `mangle_properties()` on CLI & API
- `bin/uglifyjs` used to `mangle_properties()` before even `Compressor`
- `minify()` used to `mangle_properties()` after `Compressor` but before `mangle_names()`
- both will now do `Compressor`, `mangle_names()` then `mangle_properties()`
- `options.parse` / `--parse` for parser options beyond `bare_returns`
- add `mangle.properties.builtins` to disable built-in reserved list
- disable with `--mangle-props builtins` on CLI
- `warnings` now off by default
- add `--warn` and `--verbose` on CLI
- drop `--enclose`
- drop `--export-all`
- drop `--reserved-file`
- use `--mangle reserved` instead
- drop `--reserve-domprops`
- enabled by default, disable with `--mangle-props domprops`
- drop `--prefix`
- use `--source-map base` instead
- drop `--lint`
- remove `bin/extract-props.js`
- limit exposure of internal APIs
- update documentations
closes #96
closes #102
closes #136
closes #166
closes #243
closes #254
closes #261
closes #311
closes #700
closes #748
closes #912
closes #1072
closes #1366
fixes #101
fixes #123
fixes #124
fixes #263
fixes #379
fixes #419
fixes #423
fixes #461
fixes #465
fixes #576
fixes #737
fixes #772
fixes #958
fixes #1036
fixes #1142
fixes #1175
fixes #1220
fixes #1223
fixes #1280
fixes #1359
fixes #1368 | Alex Lam S.L |
2017-04-12 | convert `AST_Seq` from binary tree to array (#1460)...- rename `AST_Seq` to `AST_Sequence`
- raise default sequences_limit from 200 to 800 | Alex Lam S.L |
2017-04-04 | optimise `do{...}while(false)` (#1785)...- better heuristics to avoid issues like #1532
- fix `TreeWalker.loopcontrol_target()`
- `continue` cannot refer to `switch` blocks | Alex Lam S.L |
2017-03-14 | minor clean-ups (#1600)...- remove obsolete optimisation in `AST_Binary` after #1477
- improve `TreeWalker.has_directive()` readability and resilience against multiple visits | Alex Lam S.L |
2017-03-07 | fix deep cloning of labels (#1565)...`AST_Label.references` get `.initialize()` to `[]` every time after `.clone()`
So walk down the tree to pick up the cloned `AST_LoopControl` pieces and put it back together. | Alex Lam S.L |
2017-03-07 | transform function calls to IIFEs (#1560)...- expose function body to call sites for potential optimisations
- suppress substitution of variable used within `AST_Defun` | Alex Lam S.L |
2017-03-05 | handle variable declaration within catch blocks (#1546)...accounts for IE8- scoping | Alex Lam S.L |
2017-02-26 | faster tree transversal (#1462)...- convert `[].forEach()` to for-loops | Alex Lam S.L |
2017-02-24 | Avoid using exports when undefined (#1471)...Makes direct usage within web browser easier, even if officially unsupported. | Ondřej Španěl |
2016-04-12 | Actually limit sequence length....Fix #1038
| Mihai Bazon |
2016-04-07 | Avoid using inherited hasOwnProperty...Fix #1031
| Mihai Bazon |
2015-11-12 | Fix output for "use asm" code from SpiderMonkey AST...(will only work properly if the SM tree contains "raw" properties for
Literal number nodes)
| Mihai Bazon |
2015-11-11 | Rework has_directive...It's now available during tree walking, i.e. walker.has_directive("use
asm"), rather than as part of the scope. It's thus no longer necessary
to call `figure_out_scope` before codegen. Added special bits in the
code generator to overcome the fact that it doesn't inherit from
TreeWalker.
Fix #861
| Mihai Bazon |
2015-10-07 | Fix handling of "use asm" when no command line flags are passed to uglifyjs. ... | kzc |
2015-09-24 | No longer use `vm` to load code....Improves performance 2x on node > 0.10.
Ref #636
| Mihai Bazon |
2015-09-24 | Fix wrap_commonjs to include code first...(code could have directives, i.e. "use strict")
| Mihai Bazon |
2015-01-27 | Add option to preserve/enforce string quote style...`-q 0` (default) use single or double quotes such as to minimize the number of
bytes (prefers double quotes when both will do); this is the previous
behavior.
`-q 1` -- always use single quotes
`-q 2` -- always use double quotes
`-q 3` or just `-q` -- always use the original quotes.
Related codegen option: `quote_style`.
Close #495
Close #460
Some `yargs` guru please tell me why `uglifyjs --help` doesn't display the
help string for `-q` / `--quotes`, and why it doesn't output the expected
argument types anymore, like good old `optimist` did.
| Mihai Bazon |
2015-01-06 | Track ending lines/columns; fix end locations in Mozilla AST. | Ingvar Stepanyan |
2015-01-06 | AST_Do nodes: walk body before condition | Mihai Bazon |
2014-03-22 | Allow colons in the pairs passed to AST_Toplevel.wrap_enclose | Arnavion |
2013-12-05 | AST_Catch shouldn't really inherit from AST_Scope. Fix #363...I hereby acknowledge that figure_out_scope has become a mess.
| Mihai Bazon |
2013-11-28 | Properly scope `catch` identifier when --screw-ie8...Fix #344
| Mihai Bazon |
2013-10-30 | Fix parsing setters/getters (allow keywords for name)....The "key" property was always "set" or "get", which didn't make much sense.
Now it'll be the actual name of the setter/getter (AST_Node), and the
AST_Accessor object itself, which represents the function, won't store any
name.
Close #319
| Mihai Bazon |
2013-09-06 | minor | Mihai Bazon |
2013-09-02 | Fix names. | Mihai Bazon |