aboutsummaryrefslogtreecommitdiff
path: root/test/compress/loops.js
AgeCommit message (Collapse)Author
2021-04-26fix corner case with `for [await]...of` (#4872)Alex Lam S.L
2021-04-21document various ECMAScript bugs (#4857)Alex Lam S.L
2021-03-21document various v8 bugs (#4808)Alex Lam S.L
closes #4805
2021-02-24support nullish coalescing operator (#4678)Alex Lam S.L
2021-02-14improve fix for #4325 (#4649)Alex Lam S.L
2021-02-09support `for [await]...of` statements (#4627)Alex Lam S.L
2021-01-18fix corner case in `loops` (#4565)Alex Lam S.L
fixes #4564
2020-12-24replace `keep_fargs` default to `false` (#4443)Alex Lam S.L
2020-12-11improve fix for #4355 (#4357)Alex Lam S.L
2020-11-29fix corner case in `side_effects` (#4326)Alex Lam S.L
fixes #4325
2020-10-24fix corner case in `loops` & `unused` (#4241)Alex Lam S.L
fixes #4240
2020-10-12support `const` (#4190)Alex Lam S.L
2020-10-05fix corner case in `loops` (#4183)Alex Lam S.L
fixes #4182
2020-10-05enhance `loops` (#4180)Alex Lam S.L
2020-09-04fix corner case in `loops` & `unused` (#4092)Alex Lam S.L
fixes #4091
2020-09-02fix corner case in `loops` & `unused` (#4085)Alex Lam S.L
fixes #4084
2020-08-29fix corner case in `loops` & `unused` (#4083)Alex Lam S.L
fixes #4082
2020-08-26fix corner case in `loops` & `unused` (#4076)Alex Lam S.L
fixes #4075
2020-08-26enhance `loops` & `unused` (#4074)Alex Lam S.L
- extend `ufuzz` generation of for-in loops
2020-04-23gate various label-related transformations (#3812)Alex Lam S.L
2019-12-30enhance `booleans` (#3657)Alex Lam S.L
2019-12-11fix corner case in `loops` (#3635)Alex Lam S.L
fixes #3634
2019-12-10enhance `loops` (#3633)Alex Lam S.L
2019-11-17compress empty for-in loops (#3590)Alex Lam S.L
2019-05-14enhance `side_effects` (#3410)Alex Lam S.L
2019-04-21fix corner cases in `functions` (#3372)Alex Lam S.L
fixes #3371
2018-07-01fix corner case in `unused`alexlamsl
2018-03-15refactor brackets to braces (#3005)Alex Lam S.L
2018-02-12simplify `do-while` into `for` (#2907)Alex Lam S.L
fixes #2904
2018-01-08compress loops with immediate `break` (#2746)Alex Lam S.L
fixes #2740
2017-12-02fix `dead_code` on `for` (#2552)Alex Lam S.L
2017-12-01improve `AST_For.init` & `AST_Switch.expression` compression (#2546)Alex Lam S.L
2017-12-01improve compression of loop conditions (#2543)Alex Lam S.L
2017-07-03improve parenthesis emission (#2196)Alex Lam S.L
- eliminate `throw` usages - suppress extraneous parenthesis - `new function() {foo.bar()}.baz` - `for (function() { "foo" in bar; };;);`
2017-05-12remove support for `const` (#1910)Alex Lam S.L
As this is not part of ES5.
2017-04-15unify CLI & API under `minify()` (#1811)Alex Lam S.L
- 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
2017-04-04optimise `do{...}while(false)` (#1785)Alex Lam S.L
- better heuristics to avoid issues like #1532 - fix `TreeWalker.loopcontrol_target()` - `continue` cannot refer to `switch` blocks
2017-03-24fix corner case in `AST_For.init` (#1652)Alex Lam S.L
Enforce `null` as value for empty initialisation blocks. fixes #1648
2017-03-19make `expect_stdout` work on Node.js 0.12 (#1623)Alex Lam S.L
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.
2017-03-10support multi-line string in tests (#1590)Alex Lam S.L
`expect_exact` sometimes have multiple lines and `\n` are hard to read. Use array of strings to emulate line breaks and improve readability.
2017-03-08plan B for IE8 do-while semi-colon fix (#1572)Alex Lam S.L
- 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
2017-03-06suppress semicolons after do/while (#1556)Alex Lam S.L
- unless both `beautify` & `screw-ie8` are enabled - deprecate workaround for if-do-while-else fixes #186
2017-03-03disable do{...}while(false) optimisation (#1534)Alex Lam S.L
- fails to handle `break` in body fixes #1532
2017-02-21tweak do-while loopsalexlamsl
- `do{...}while(false)` => `{...}` - clean up `AST_While` logic closes #1452
2016-07-15Keep const in own scope while compressingAnthony Van de Gejuchte
- Fixes #1205 - Fix provided by @kzc
2015-12-18Disable loop optimization for parse-only testsAnthony Van de Gejuchte
2015-12-18Add testsAnthony Van de Gejuchte
2012-11-08optimization for if/break as first statement in a loop bodyMihai Bazon
for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.)