aboutsummaryrefslogtreecommitdiff
path: root/test/compress/loops.js
AgeCommit message (Expand)Author
2020-11-29fix corner case in `side_effects` (#4326)...fixes #4325Alex Lam S.L
2020-10-24fix corner case in `loops` & `unused` (#4241)...fixes #4240Alex Lam S.L
2020-10-12support `const` (#4190)Alex Lam S.L
2020-10-05fix corner case in `loops` (#4183)...fixes #4182Alex Lam S.L
2020-10-05enhance `loops` (#4180)Alex Lam S.L
2020-09-04fix corner case in `loops` & `unused` (#4092)...fixes #4091Alex Lam S.L
2020-09-02fix corner case in `loops` & `unused` (#4085)...fixes #4084Alex Lam S.L
2020-08-29fix corner case in `loops` & `unused` (#4083)...fixes #4082Alex Lam S.L
2020-08-26fix corner case in `loops` & `unused` (#4076)...fixes #4075Alex Lam S.L
2020-08-26enhance `loops` & `unused` (#4074)...- extend `ufuzz` generation of for-in loopsAlex Lam S.L
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)...fixes #3634Alex Lam S.L
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)...fixes #3371Alex Lam S.L
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)...fixes #2904Alex Lam S.L
2018-01-08compress loops with immediate `break` (#2746)...fixes #2740Alex Lam S.L
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)...- eliminate `throw` usages - suppress extraneous parenthesis - `new function() {foo.bar()}.baz` - `for (function() { "foo" in bar; };;);`Alex Lam S.L
2017-05-12remove support for `const` (#1910)...As this is not part of ES5.Alex Lam S.L
2017-04-15unify 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 #1368Alex Lam S.L
2017-04-04optimise `do{...}while(false)` (#1785)...- better heuristics to avoid issues like #1532 - fix `TreeWalker.loopcontrol_target()` - `continue` cannot refer to `switch` blocksAlex Lam S.L
2017-03-24fix corner case in `AST_For.init` (#1652)...Enforce `null` as value for empty initialisation blocks. fixes #1648Alex Lam S.L
2017-03-19make `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-10support 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-08plan 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 #1568Alex Lam S.L
2017-03-06suppress semicolons after do/while (#1556)...- unless both `beautify` & `screw-ie8` are enabled - deprecate workaround for if-do-while-else fixes #186Alex Lam S.L
2017-03-03disable do{...}while(false) optimisation (#1534)...- fails to handle `break` in body fixes #1532Alex Lam S.L
2017-02-21tweak do-while loops...- `do{...}while(false)` => `{...}` - clean up `AST_While` logic closes #1452 alexlamsl
2016-07-15Keep const in own scope while compressing...- Fixes #1205 - Fix provided by @kzc Anthony Van de Gejuchte
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 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