aboutsummaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2017-04-01improve compression of undefined, NaN & Infinitiy (#1748)Alex Lam S.L
- 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
2017-03-23metadata cleanup (#1630)Alex Lam S.L
- mention performance anomaly in Node 7 and drop from CI - remove unused npm "scripts" - mark browserify dependency as optional - stop `test/mozilla-ast.js` from spamming console output in later versions of Node.js
2017-03-17Add `--in-source-map inline` documentation (#1611)Christian Maughan Tegnér
2017-03-08scan assignment value in drop_unused() (#1578)Alex Lam S.L
those were not optimised for `unused` before, which made it necessary for `reduce_vars` to have separate steps for `keep_fnames` docs update by @kzc closes #1577
2017-03-05stay safe with constants in IE8- (#1547)Alex Lam S.L
- `undefined` etc. can be redefined at top-level for IE8-, so disable related optimisations - fixed `--support-ie8` catch mangle bug
2017-03-03process code with implicit return statement (#1522)Alex Lam S.L
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
2017-03-03compress numerical expressions (#1513)Alex Lam S.L
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
2017-03-01invert `reduce_vars` tracking flag (#1519)Alex Lam S.L
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
2017-02-27add harmony branch details in README (#1507)kzc
2017-02-25update docs for `pure_funcs` & `drop_console` (#1503)Alex Lam S.L
closes #1362 closes #1399
2017-02-24enable `collapse_vars` & `reduce_vars` by defaultalexlamsl
- fix corner cases in `const` optimisation - deprecate `/*@const*/` fixes #1497 closes #1498
2017-02-21introduce `unsafe_proto`alexlamsl
- `Array.prototype.slice` => `[].slice` closes #1491
2017-02-21enhance `global_defs`alexlamsl
- 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
2017-02-21drop unused: toplevel, assign-onlyalexlamsl
- 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
2017-01-19Have minify() and tests use figure_out_scope() as uglifyjs CLI doeskzc
Clarify docs, help and tests for --support-ie8 and screw_ie8=false
2017-01-19Add note about name mangling when using --mangle-props=unquoted (#1314)Wiktor Kwapisiewicz
2016-11-29docs: add doc for option.outFileName1111hui
2016-11-29Add --mangle-props-debug and fix --mangle-props=unquoted collisionAshley (Scirra)
Patch by @AshleyScirra Based on: PR #1316 Renamed the CLI debug option to --mangle-props-debug Fixes: #1321 name collision in --mangle-props=unquoted
2016-10-23Don't filter shebangs when using the 'some' comment filterAnthony Van de Gejuchte
Also clarify documentation a bit more about using regexp as filter
2016-10-23Add an option for writing inline source mappengzhenqing
2016-10-01Optimize unmodified variablesalexlamsl
2016-09-06Make all comment options in cli available in js apiAnthony Van de Gejuchte
Also removing more code within "loop" while at it.
2016-08-14Add missing `{` in READMETimothy Gu
Also fix a trivial style mistake.
2016-07-17Fix the document of keep_fnames optionhomuler
2016-07-17Source map URL override from programmatic APIYotam Spenser
2016-07-01Document that the smallest sequences optimization length is 2kzc
and a sequences value of 1 is considered to be `true` - which will be set to the default value of 200.
2016-07-01Change the default sequences limit to 200 to speed up compress.kzc
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.
2016-07-01Allow sequences maximum length to be user configurable.kzc
2016-06-30Enable --screw-ie8 by default.kzc
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
2016-06-30Add Node API documentation for mangling optionsiliashk
2016-06-19Document the except option to mangleAsia
Added documentation for the `except` option to the `mangle` option in the API reference.
2016-06-19Respect quote style in object literalsShrey Banga
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.
2016-06-19Don't mix strings with directives in outputAnthony Van de Gejuchte
* 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
2016-06-15Fix test262 failures related to <, <=, in and instanceofAnthony Van de Gejuchte
Fixed-by: @kzc
2016-04-19Add `passes` compress option. Fix duplicate compress warnings.kzc
2016-03-27added documentation on conditional compilation using APISebastien Daniel
2016-02-27#877 Ignore mangle sort optionkzc
2016-02-11Merge pull request #948 from kzc/collapse_vars_docRichard van Velzen
collapse_vars: document the compress option in README
2016-02-08Create and map `bare-returns` into new `parse` property nameMartii
2016-01-28collapse_vars: small change to READMEkzc
2016-01-28collapse_vars: document option in READMEkzc
2016-01-27Add mangleProperties documentation to READMEBryan Rayner
Add additional documentation to mangleProperties.
2016-01-26Added a mangle properties optionJeremy Marzka
2016-01-19Update README for /** @const */Samuel Reed
2015-11-27Update README URLs based on HTTP redirectsReadmeCritic
2015-11-14Fix docs for keep_fargsplievone
Compression options `keep_fargs` and `unsafe` were decoupled in v.2.5.0 (commit 5fd1245), so document actual keep_fargs default.
2015-10-13add `--pure-funcs` optionDamian Krzeminski
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
2015-08-07Merge pull request #729 from DrewML/keep_fnames_docsRichard van Velzen
Add keep_fnames compressor option to README.md
2015-06-09Change --mangle-regex to accept a full regexJoao Carlos
2015-06-09Add --mangle-regex optionJoao Carlos