https://github.com/mishoo/UglifyJS

sort by:
Revision Author Date Message Commit Date
f6c805a print package name alongside version in CLI (#1946) fixes #1945 15 May 2017, 22:34:32 UTC
9464d3c fix parsing of property access after new line (#1944) Account for comments when detecting property access in `tokenizer`. fixes #1943 15 May 2017, 21:40:49 UTC
f18abd1 minor fixes to README.md 15 May 2017, 17:33:01 UTC
3be06ad reorg README for 3.x (#1942) 15 May 2017, 17:12:00 UTC
265008c improve keyword-related parser errors (#1941) fixes #1937 15 May 2017, 15:02:55 UTC
ff526be v3.0.5 15 May 2017, 03:37:14 UTC
e005099 fix & improve coverage of `estree` (#1935) - fix `estree` conversion of getter/setter - fix non-directive literal in `to_mozilla_ast()` - revamp `test/mozilla-ast.js` - reuse `test/ufuzz.js` for code generation - use `acorn.parse()` for creating `estree` - extend `test/ufuzz.js` for `acorn` workaround - catch variable redefinition - non-trivial literal as directive - adjust options for tolerance Miscellaneous - optional semi-colon when parsing directives fixes #1914 closes #1915 14 May 2017, 18:37:53 UTC
504a436 Tweak README Notes (#1934) 13 May 2017, 18:12:14 UTC
3ca9022 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 13 May 2017, 18:10:34 UTC
fd09512 document 3 max passes (#1928) 13 May 2017, 04:54:32 UTC
9e29b6d clarify wording (#1931) 13 May 2017, 04:54:01 UTC
c391576 remove support for `const` (#1910) As this is not part of ES5. 12 May 2017, 06:57:41 UTC
ac73c5d avoid `arguments` and `eval` in `reduce_vars` (#1924) fixes #1922 12 May 2017, 04:34:55 UTC
547f41b add documentation for `side_effects` & `[#@]__PURE__` (#1925) 12 May 2017, 04:29:55 UTC
daaefc1 v3.0.4 11 May 2017, 20:52:39 UTC
1d407e7 fix invalid transform on `const` (#1919) - preserve (re)assignment to `const` for runtime error - suppress `cascade` on `const`, as runtime behaviour is ill-defined 11 May 2017, 20:51:44 UTC
2b44f4a update README (#1918) 11 May 2017, 19:36:33 UTC
e51c354 fix typo (#1913) 11 May 2017, 12:24:33 UTC
3bf1946 update documentation (#1909) - clarify options on `--source-map` - fix `minify()` examples fixes #1905 11 May 2017, 09:50:50 UTC
aae7d49 v3.0.3 10 May 2017, 03:45:03 UTC
0459af2 Update issue template: change harmony to uglify-es (#1900) 10 May 2017, 03:07:54 UTC
04f2344 Remove unnecessary `git clone` instructions in README (#1897) 10 May 2017, 03:06:50 UTC
bad9d5c Change `harmony` to `uglify-es` in master README (#1895) 09 May 2017, 21:07:45 UTC
a0f5f86 gracefully handle non-`Error` being thrown (#1893) 09 May 2017, 20:20:59 UTC
41996be extend test timeout Travis has gone a lot slower recently, and most test failures are due to time-out on this particular test. 09 May 2017, 18:43:12 UTC
5fd8244 v3.0.2 09 May 2017, 17:52:00 UTC
c14e280 print error stack in CLI (#1890) 09 May 2017, 08:36:44 UTC
bc3fa78 mention `minify().error` 09 May 2017, 08:09:48 UTC
8c7c107 update `minify()` usage in `test/ufuzz.js` (#1888) fixes #1887 09 May 2017, 07:58:46 UTC
3dd328d [3.x] fix documentation for beautify options (#1882) - use underscores rather than dashes. 08 May 2017, 15:06:56 UTC
014f428 v3.0.1 07 May 2017, 23:05:57 UTC
a3b2eb7 return `Error` from `minify()` (#1880) Have `minify()` return `Error` in `result.error` rather than throwing it. 07 May 2017, 23:05:19 UTC
da295de support dumping AST (#1879) Re-order `AST_Binary` properties to make dump more readable. closes #769 07 May 2017, 22:23:01 UTC
4f8ca46 deprecate low level API (#1877) fixes #1872 07 May 2017, 19:24:42 UTC
e547483 support `minify()` output as AST (#1878) - `options.output.ast` (default `false`) - `options.output.code` (default `true`) 07 May 2017, 18:11:45 UTC
2d99d06 update documentation Remove deprecated CLI option 06 May 2017, 19:02:46 UTC
98cf95e fix test for #1865 (#1873) 06 May 2017, 18:56:02 UTC
7313465 v3.0.0 06 May 2017, 15:51:10 UTC
2c7ee95 fix `unsafe` on `evaluate` of `reduce_vars` (#1870) Determine if variables with non-constant values can escape and be modified. fixes #1865 06 May 2017, 15:18:55 UTC
ecf3563 kill `opera` (#1869) 06 May 2017, 09:42:07 UTC
dee5a27 enhance `collapse_vars` (#1862) - extend expression types - `a++` - `a=x;` - extend scan range - `for(init;;);` - `switch(expr){case expr:}` - `a = x; a = a || y;` - terminate upon `debugger;` closes #1821 fixes #27 fixes #315 fixes #1858 06 May 2017, 08:15:43 UTC
5a25d24 rename variables for better readability (#1863) 02 May 2017, 12:47:10 UTC
bffdc8d update `test/benchmark.js` resources (#1864) 02 May 2017, 11:48:12 UTC
69b5663 restore report of supported options (#1861) fixes #1859 01 May 2017, 17:42:29 UTC
ea92897 improve literal return optimization (#1860) 01 May 2017, 16:10:11 UTC
2cb55b2 enforce `toplevel` on other compress options (#1855) Respect "funcs" and "vars" properly. fixes #1850 30 April 2017, 14:52:36 UTC
bbb5f2a Update ISSUE_TEMPLATE.md (#1846) 25 April 2017, 17:30:43 UTC
76d19b6 fix fuzzer on `this` (#1842) - forbid redeclaration of `this` - suppress probability for `this` within nested functions 23 April 2017, 19:15:03 UTC
9e62628 fix `unused` on for-in statements (#1843) Only need to avoid `var` within the initialisation block. fixes #1841 23 April 2017, 19:14:01 UTC
9bf72cf improve parser under "use strict" (#1836) - `const` without value - `delete` of expression - redefining `arguments` or `eval` extend `test/ufuzz.js` - optionally generate "use strict" - improve handling of test cases with syntax errors - group IIFE generation - generate bare anonymous functions - workaround `console.log()` for `new function()` - generate expressions with `this` fixes #1810 23 April 2017, 12:05:22 UTC
64d7443 update README for 3.x (#1840) 22 April 2017, 20:28:32 UTC
45ce369 fix `AST_For.init` patch-up in `drop_unused()` (#1839) fixes #1838 22 April 2017, 17:51:56 UTC
ca32a09 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 22 April 2017, 14:15:04 UTC
6f954aa Fix API reference examples (#1834) 20 April 2017, 18:23:41 UTC
f05d4f7 improve `unused` (#1832) - extract leading value with side-effects out of `var` statement - reduce scanning of `AST_Definitions` from 3 passes to just once 20 April 2017, 05:06:14 UTC
88e7a54 fix `unused` on labeled for-loop (#1831) fixes #1830 19 April 2017, 20:18:38 UTC
4dcff03 improve `collapse_vars` on `AST_Var` (#1828) Perform the same cascaded scanning within `var` statement as we do on array of statements. 18 April 2017, 20:49:09 UTC
b4b9305 fix parser bugs & CLI reporting (#1827) fixes #1825 18 April 2017, 20:27:13 UTC
28cfb65 extend `cascade` into `a.b` (#1829) fixes #27 18 April 2017, 20:17:15 UTC
0f4f01b clean up `collapse_vars` (#1826) - remove overlap in functionality of singular, consecutive reference of constant value - remove workarounds for previous bugs in `lib/scope.js` - distribute recursive `collapse_single_use_vars()` calls to their respective `OPT(AST_Node)` - enable collapsing of variables within a single `AST_Definitions` 18 April 2017, 13:45:34 UTC
5d9f1da support safe reassignments in `reduce_vars` (#1823) `var a=1;a=2;x(a)` => `x(2)` fix pre-existing issues - reference counting on assignment - walking of anonymous functions - chained assignment 18 April 2017, 05:38:42 UTC
d1aa09c fix `reduce_vars` on conditionals (#1822) 17 April 2017, 17:44:23 UTC
6d5f341 fix `reduce_vars` on boolean binary expressions (#1819) Side effects of `&&` and `||` have not mattered until #1814, which takes assignment expressions into account. 17 April 2017, 09:24:29 UTC
4ffb6fc compress duplicated variable definitions (#1817) These are surprisingly common, as people reuse the same variable name within loops or switch branches. 17 April 2017, 09:11:29 UTC
71a8d0d fix `reduce_vars` within try-block (#1818) Possible partial execution due to exceptions. 17 April 2017, 06:03:29 UTC
1a498db 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 16 April 2017, 17:36:50 UTC
44dfa5a fix variable substitution (#1816) - let `collapse_vars` take care of value containing any symbols - improve overhead accounting 16 April 2017, 09:25:39 UTC
251ff1d update README (#1813) - mention major version bump - remove reference to internal API 15 April 2017, 20:04:28 UTC
ec443e4 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 15 April 2017, 15:50:50 UTC
32deb36 drop `angular` (#1812) Remove support for `@ngInject` as there are proper alternatives anyway. 14 April 2017, 21:52:29 UTC
2244743 convert `AST_Seq` from binary tree to array (#1460) - rename `AST_Seq` to `AST_Sequence` - raise default sequences_limit from 200 to 800 12 April 2017, 13:56:27 UTC
04b8964 v2.8.22 09 April 2017, 03:36:57 UTC
d6fbc36 fix LHS cases for NaN & friends (#1804) `Infinity = beyond` should not become `1/0 = beyond` 08 April 2017, 19:18:14 UTC
9a97884 enhance `test/ufuzz.js` (#1803) - `-E` to report test cases with runtime errors - favor returning expressions rather than empty return - emit a newline upon fuzzer completion to not erase the iteration count closes #1800 08 April 2017, 17:36:38 UTC
0479ff0 fix a couple of bugs in `global_defs` (#1802) - `optimize()` substituted expression - compute nested property string correctly fixes #1801 Miscellaneous - reset optimisation flags on all node types 08 April 2017, 08:46:25 UTC
cf72fe5 fix `delete` corner cases (#1799) - assignment - boolean - conditional - sequence 08 April 2017, 06:25:28 UTC
a1532eb extend ufuzz generator (#1783) - property access - property assignment - allow bare expression within try-block - normalise `Error` in `console.log()` - generate more unary expressions - add parenthesis to enforce precedence - adjust variable reuse/creation - add parameters to function declaration & expression - add return expression - add trivial arguments to function call 07 April 2017, 10:47:30 UTC
c2a1bce fix `pure_getters` for chained property access (#1798) 07 April 2017, 09:06:01 UTC
e3c9c22 fix corner cases with `delete` (#1796) `delete Infinity` returns `false` where as `delete (1/0)` returns `true` 07 April 2017, 07:39:59 UTC
0f4cd73 introduce "strict" to `pure_getters` (#1795) 07 April 2017, 05:31:58 UTC
281e882 fix `reduce_vars` on catch variable (#1794) Improved catch handling in `figure_out_scope()` means special case treatment of IE8 is no longer valid in `reset_opt_flags()`. Also fixed recursive assignment in variable definition. 07 April 2017, 04:32:56 UTC
cc6aa3e fix incorrect context in variable substitution (#1791) `AST_Node.optimize()` is context-aware, so don't cache its results to be used elsewhere. Also fixed a few cases of AST corruption and beef up safety of `pure_getters`. 06 April 2017, 19:42:17 UTC
e869779 enable `inline_script` by default (#1793) 06 April 2017, 16:45:51 UTC
06cdb74 improve `pure_getters` (#1786) - property access to `null` & `undefined` always has side effects - utilise `reduce_vars` to determine safe property access - may-be cases treated as side effects unless `unsafe` 06 April 2017, 03:18:59 UTC
ff289b9 implement delayed resolution for `reduce_vars` (#1788) Although it would be nice to enforce `AST_Node` cloning during transformation, that ship has sailed a long time ago. We now get the assigned value when resolving `AST_SymbolRef` instead of `reset_opt_flags()`, which has the added advantage of improved compressor efficiency. fixes #1787 05 April 2017, 13:06:42 UTC
9b6bc67 optimise `do{...}while(false)` (#1785) - better heuristics to avoid issues like #1532 - fix `TreeWalker.loopcontrol_target()` - `continue` cannot refer to `switch` blocks 04 April 2017, 15:48:22 UTC
4b90dc1 remove `--mangle-props` from fuzzing (#1777) The inherently unsafe nature makes this feature unsuitable to be tested this way. fixes #1774 04 April 2017, 08:24:16 UTC
951770f exclude mangling of special property names (#1779) - `null` - `true` - `false` - numeric literals 03 April 2017, 19:50:19 UTC
48b3fe9 fix `mangleProperties` on identifiers (#1776) - fix handling of "-Infinity" - add test case for "-0" reverts #1481 03 April 2017, 15:17:47 UTC
a400741 workaround Node.js bugs (#1775) Wrap test code in IIFE before passing to `vm` fixes #1768 fixes #1771 03 April 2017, 10:56:11 UTC
59a4e56 fix mangleProperties of `undefined` & `Infinity` (#1772) `NaN` already works by the happy accident of `Number.NaN` fixes #1770 03 April 2017, 04:31:05 UTC
1f1fccc extend `test/ufuzz.js` (#1769) New expressions: - property access - array literal - object literal Miscellaneous: - reduce execution timeout - test `toplevel` and `mangleProperties` 02 April 2017, 20:00:33 UTC
b7f6b73 v2.8.21 02 April 2017, 09:07:55 UTC
9469c03 fix corner case in `switch` (#1765) 02 April 2017, 09:07:20 UTC
d575276 avoid confusion of `NaN` & `Infinity` with `catch` symbol of the same name (#1763) fixes #1760 fixes #1761 02 April 2017, 08:14:09 UTC
f7ca4f2 fix corner cases in switch and undefined (#1762) - fix side effects in switch condition for singular blocks - fix `undefined` confusion with local variable - gate `OPT(AST_Switch)` with `switches` fixes #1758 fixes #1759 02 April 2017, 06:52:25 UTC
c076e7b speed up fuzzer code generation (#1757) - only output one top-level function or statement block - reduce `rng()` granularity from 2^32 to 65536 - fix overflow in `rng()` - track `canThrow` during `typeof` creation 01 April 2017, 21:11:29 UTC
4a55bb0 minor tweaks to `test/ufuzz.js` (#1756) - count iterations from `1` instead of `0` - remove `unsafe` from default set of `minify()` tests - improve usability of help 01 April 2017, 19:17:01 UTC
28ecea5 upgrade fuzzer (#1754) - configurable set of `minify()` options - test and report suspects upon failure - continue after failure if infinite iterations is specified 01 April 2017, 18:10:50 UTC
9a31170 fuzz regexp literals, more constant numbers, typeof expression (#1755) 01 April 2017, 18:08:46 UTC
back to top