Age | Commit message (Expand) | Author |
---|---|---|
2019-12-11 | fix corner case in `loops` (#3635)...fixes #3634 | Alex Lam S.L |
2019-12-10 | enhance `loops` (#3633) | Alex Lam S.L |
2019-11-17 | compress empty for-in loops (#3590) | Alex Lam S.L |
2019-05-14 | enhance `side_effects` (#3410) | Alex Lam S.L |
2019-04-21 | fix corner cases in `functions` (#3372)...fixes #3371 | Alex Lam S.L |
2018-07-01 | fix corner case in `unused` | alexlamsl |
2018-03-15 | refactor brackets to braces (#3005) | Alex Lam S.L |
2018-02-12 | simplify `do-while` into `for` (#2907)...fixes #2904 | Alex Lam S.L |
2018-01-08 | compress loops with immediate `break` (#2746)...fixes #2740 | Alex Lam S.L |
2017-12-02 | fix `dead_code` on `for` (#2552) | Alex Lam S.L |
2017-12-01 | improve `AST_For.init` & `AST_Switch.expression` compression (#2546) | Alex Lam S.L |
2017-12-01 | improve compression of loop conditions (#2543) | Alex Lam S.L |
2017-07-03 | improve parenthesis emission (#2196)...- eliminate `throw` usages - suppress extraneous parenthesis - `new function() {foo.bar()}.baz` - `for (function() { "foo" in bar; };;);` | Alex Lam S.L |
2017-05-12 | remove support for `const` (#1910)...As this is not part of ES5. | 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-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-24 | fix corner case in `AST_For.init` (#1652)...Enforce `null` as value for empty initialisation blocks. fixes #1648 | Alex Lam S.L |
2017-03-19 | make `expect_stdout` work on Node.js 0.12 (#1623)...That particular version of Node.js has messed up error messages, so provide a version-specific workaround. Also fixed an formatting issue which would cause `expect_stdout` to fail if error message contains excerpts of input. Apply `expect_stdout` to more applicable tests. | Alex Lam S.L |
2017-03-10 | support multi-line string in tests (#1590)...`expect_exact` sometimes have multiple lines and `\n` are hard to read. Use array of strings to emulate line breaks and improve readability. | Alex Lam S.L |
2017-03-08 | plan B for IE8 do-while semi-colon fix (#1572)...- omitting trailing semi-colon in do-while breaks non-browser parser, e.g. uglify-js 1.x - trailing semi-colon only breaks IE8 if followed by `else` or `while` - always use braces in do-while body to workaround 2nd case with no size loss in compression fixes #1568 | Alex Lam S.L |
2017-03-06 | suppress semicolons after do/while (#1556)...- unless both `beautify` & `screw-ie8` are enabled - deprecate workaround for if-do-while-else fixes #186 | Alex Lam S.L |
2017-03-03 | disable do{...}while(false) optimisation (#1534)...- fails to handle `break` in body fixes #1532 | Alex Lam S.L |
2017-02-21 | tweak do-while loops...- `do{...}while(false)` => `{...}` - clean up `AST_While` logic closes #1452 | alexlamsl |
2016-07-15 | Keep const in own scope while compressing...- Fixes #1205 - Fix provided by @kzc | Anthony Van de Gejuchte |
2015-12-18 | Disable loop optimization for parse-only tests | Anthony Van de Gejuchte |
2015-12-18 | Add tests | Anthony Van de Gejuchte |
2012-11-08 | optimization for if/break as first statement in a loop body... for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.) | Mihai Bazon |