Age | Commit message (Expand) | Author |
2017-03-05 | stay safe with constants in IE8- (#1547)...- `undefined` etc. can be redefined at top-level for IE8-, so disable related optimisations
- fixed `--support-ie8` catch mangle bug | Alex Lam S.L |
2017-03-03 | process code with implicit return statement (#1522)...Bookmarklet for instance implicitedly assumes a "completion value" without using `return`.
The `expression` option now supports such use cases.
Optimisations on IIFEs also enhanced.
fixes #354
fixes #543
fixes #625
fixes #628
fixes #640
closes #1293 | Alex Lam S.L |
2017-03-03 | compress numerical expressions (#1513)...safe operations
- `a === b` => `a == b`
- `a + -b` => `a - b`
- `-a + b` => `b - a`
- `a+ +b` => `+b+a`
associative operations
(bit-wise operations are safe, otherwise `unsafe_math`)
- `a + (b + c)` => `(a + b) + c`
- `(n + 2) + 3` => `5 + n`
- `(2 * n) * 3` => `6 * n`
- `(a | 1) | (2 | d)` => `(3 | a) | b`
fixes #412 | Alex Lam S.L |
2017-03-01 | invert `reduce_vars` tracking flag (#1519)...Modules like webpack and grunt-contrib-uglify still uses `ast.transform(compressor)` before `Compressor.compress(ast)` was introduced.
Workaround this compatibility issue by deactivating `reduce_vars` in such case.
Also fix use case with omitted `options` when calling `Compressor()`.
fixes #1516 | Alex Lam S.L |
2017-02-27 | add harmony branch details in README (#1507) | kzc |
2017-02-25 | update docs for `pure_funcs` & `drop_console` (#1503)...closes #1362
closes #1399 | Alex Lam S.L |
2017-02-24 | enable `collapse_vars` & `reduce_vars` by default...- fix corner cases in `const` optimisation
- deprecate `/*@const*/`
fixes #1497
closes #1498
| alexlamsl |
2017-02-21 | introduce `unsafe_proto`...- `Array.prototype.slice` => `[].slice`
closes #1491
| alexlamsl |
2017-02-21 | enhance `global_defs`...- support arrays, objects & AST_Node
- support `"a.b":1` on both cli & API
- emit warning if variable is modified
- override top-level variables
fixes #1416
closes #1198
closes #1469
| alexlamsl |
2017-02-21 | drop unused: toplevel, assign-only...- assign statement does not count towards variable usage by default
- only works with assignments on the same scope level as declaration
- can be disabled with `unused` set to "keep_assign"
- `toplevel` to drop unused top-level variables and/or functions
- `top_retain` to whitelist top-level exceptions
closes #1450
| alexlamsl |
2017-01-19 | Have minify() and tests use figure_out_scope() as uglifyjs CLI does...Clarify docs, help and tests for --support-ie8 and screw_ie8=false
| kzc |
2017-01-19 | Add note about name mangling when using --mangle-props=unquoted (#1314) | Wiktor Kwapisiewicz |
2016-11-29 | docs: add doc for option.outFileName | 1111hui |
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-10-23 | Don't filter shebangs when using the 'some' comment filter...Also clarify documentation a bit more about using regexp as filter
| Anthony Van de Gejuchte |
2016-10-23 | Add an option for writing inline source map | pengzhenqing |
2016-10-01 | Optimize unmodified variables | alexlamsl |
2016-09-06 | Make all comment options in cli available in js api...Also removing more code within "loop" while at it.
| Anthony Van de Gejuchte |
2016-08-14 | Add missing `{` in README...Also fix a trivial style mistake. | Timothy Gu |
2016-07-17 | Fix the document of keep_fnames option | homuler |
2016-07-17 | Source map URL override from programmatic API | Yotam Spenser |
2016-07-01 | Document that the smallest sequences optimization length is 2...and a sequences value of 1 is considered to be `true` - which
will be set to the default value of 200.
| kzc |
2016-07-01 | Change the default sequences limit to 200 to speed up compress....Has little or no impact on minification size in the majority of
cases but can speed up rollup builds significantly.
This sequences change also has the beneficial side effect of avoiding
"stack size exceeded" errors on very large input files.
The user is free to alter the sequences limit if they are so inclined.
The previous sequences limit was 2000. 20 is often sufficient.
| kzc |
2016-07-01 | Allow sequences maximum length to be user configurable. | 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-30 | Add Node API documentation for mangling options | iliashk |
2016-06-19 | Document the except option to mangle...Added documentation for the `except` option to the `mangle` option in the API reference. | Asia |
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 |
2016-06-19 | Don't mix strings with directives in output... * Don't interpret strings with escaped content as directive
* Don't interpret strings after empty statement as directive
* Adapt output to prevent strings being represent as directive
* Introduce UGLIFY_DEBUG to allow internal testing like EXPECT_DIRECTIVE
| Anthony Van de Gejuchte |
2016-06-15 | Fix test262 failures related to <, <=, in and instanceof...Fixed-by: @kzc
| Anthony Van de Gejuchte |
2016-04-19 | Add `passes` compress option. Fix duplicate compress warnings. | kzc |
2016-03-27 | added documentation on conditional compilation using API | Sebastien Daniel |
2016-02-27 | #877 Ignore mangle sort option | kzc |
2016-02-11 | Merge pull request #948 from kzc/collapse_vars_doc...collapse_vars: document the compress option in README | Richard van Velzen |
2016-02-08 | Create and map `bare-returns` into new `parse` property name | Martii |
2016-01-28 | collapse_vars: small change to README | kzc |
2016-01-28 | collapse_vars: document option in README | kzc |
2016-01-27 | Add mangleProperties documentation to README...Add additional documentation to mangleProperties. | Bryan Rayner |
2016-01-26 | Added a mangle properties option | Jeremy Marzka |
2016-01-19 | Update README for /** @const */ | Samuel Reed |
2015-11-27 | Update README URLs based on HTTP redirects | ReadmeCritic |
2015-11-14 | Fix docs for keep_fargs...Compression options `keep_fargs` and `unsafe` were decoupled in v.2.5.0 (commit 5fd1245), so document actual keep_fargs default. | plievone |
2015-10-13 | add `--pure-funcs` option...it has the same effect as specifying `pure_funcs` in `--compressor`
option, however it's much easier to use
instead of:
--compressor 'pure_func=["Math.floor","debug","console.logTime"]'
it's now possible:
--compressor --pure-funcs Math.floor debug console.logTime
fixes #684
| Damian Krzeminski |
2015-08-07 | Merge pull request #729 from DrewML/keep_fnames_docs...Add keep_fnames compressor option to README.md | Richard van Velzen |
2015-06-09 | Change --mangle-regex to accept a full regex | Joao Carlos |
2015-06-09 | Add --mangle-regex option | Joao Carlos |
2015-06-02 | Add keep_fnames compressor option to README.md | Andrew Levine |
2015-04-03 | Document passing source maps directly to minify() using inSourceMap | David Caldwell |
2015-03-29 | Update README | Mihai Bazon |
2015-03-20 | Keep unused function arguments by default...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
| Mihai Bazon |