Просмотр исходного кода

Bump async to 3.2.2 (#7618)

[all] Upgrade async package to 3.2.2

- [web] Fix usages of async library
- [project-history] Fix usage of async library
- [third-party-references] Fix usage of async library
- [track-changes] Fix usage of async library

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: June Kelly <june.kelly@overleaf.com>
GitOrigin-RevId: 90cf132f13da53b2bd6690ee3cdf4d6c8563ecd2
dependabot[bot] 4 лет назад
Родитель
Сommit
d55f4dfafa

+ 50 - 252
package-lock.json

@@ -7339,9 +7339,9 @@
       }
     },
     "node_modules/async": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
-      "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
+      "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g=="
     },
     "node_modules/async-limiter": {
       "version": "1.0.1",
@@ -31720,7 +31720,7 @@
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^3.2.0",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "express": "4.17.1",
         "mongodb": "^3.6.0"
@@ -31737,6 +31737,11 @@
         "timekeeper": "^2.2.0"
       }
     },
+    "services/chat/node_modules/async": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+      "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+    },
     "services/chat/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -31957,7 +31962,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "3.2.0",
+        "async": "3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "diskusage": "^1.1.3",
@@ -32057,7 +32062,7 @@
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "^4.17.1",
@@ -32074,14 +32079,6 @@
         "timekeeper": "2.2.0"
       }
     },
-    "services/contacts/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/contacts/node_modules/diff": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -32130,7 +32127,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/object-persistor": "^1.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "celebrate": "^13.0.4",
@@ -32184,14 +32181,6 @@
         "node": ">=10"
       }
     },
-    "services/docstore/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/docstore/node_modules/celebrate": {
       "version": "13.0.4",
       "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-13.0.4.tgz",
@@ -32313,7 +32302,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.5.0",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "diff-match-patch": "https://github.com/overleaf/diff-match-patch/archive/89805f9c671a77a263fc53461acd62aa7498f688.tar.gz",
@@ -32333,14 +32322,6 @@
         "timekeeper": "^2.0.0"
       }
     },
-    "services/document-updater/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/document-updater/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -32736,7 +32717,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "base64-stream": "^0.1.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
@@ -32757,14 +32738,6 @@
         "timekeeper": "2.2.0"
       }
     },
-    "services/github-sync/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/github-sync/node_modules/p-limit": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -33018,7 +32991,7 @@
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "4.17.1",
@@ -33035,14 +33008,6 @@
         "sinon": "^9.2.4"
       }
     },
-    "services/notifications/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/notifications/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -33269,7 +33234,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
         "archiver": "^5.3.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "^4.17.1",
@@ -33316,14 +33281,6 @@
         "node": ">=10"
       }
     },
-    "services/project-archiver/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/project-archiver/node_modules/date-and-time": {
       "version": "0.14.2",
       "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz",
@@ -33414,7 +33371,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.5.0",
+        "async": "^3.2.2",
         "aws-sdk": "^2.650.0",
         "bluebird": "^3.7.2",
         "body-parser": "^1.19.0",
@@ -33477,14 +33434,6 @@
         "@hapi/hoek": "^8.3.0"
       }
     },
-    "services/project-history/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/project-history/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -33838,7 +33787,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^0.9.0",
+        "async": "^3.2.2",
         "base64id": "0.1.0",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
@@ -33863,11 +33812,6 @@
         "uid-safe": "^2.1.5"
       }
     },
-    "services/real-time/node_modules/async": {
-      "version": "0.9.2",
-      "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-      "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
-    },
     "services/real-time/node_modules/sandboxed-module": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz",
@@ -33906,7 +33850,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.1.2",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "^4.17.1",
@@ -33925,14 +33869,6 @@
         "sinon": "^9.2.4"
       }
     },
-    "services/references/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/references/node_modules/uuid": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
@@ -33949,7 +33885,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "^4.17.1",
@@ -33966,14 +33902,6 @@
         "sinon": "^9.2.4"
       }
     },
-    "services/spelling/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/spelling/node_modules/underscore": {
       "version": "1.13.1",
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
@@ -33987,7 +33915,7 @@
         "@overleaf/settings": "^3.0.0",
         "algolia-search": "~1.5.5",
         "args-js": "0.10.12",
-        "async": "3.2.0",
+        "async": "3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "4.17.1",
@@ -34233,7 +34161,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "dropbox": "^10.24.0",
@@ -34255,14 +34183,6 @@
         "sinon-stub-promise": "^4.0.0"
       }
     },
-    "services/third-party-datastore/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/third-party-datastore/node_modules/diff": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -34334,7 +34254,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "express": "^4.17.1",
@@ -34354,14 +34274,6 @@
         "sinon-chai": "^3.7.0"
       }
     },
-    "services/third-party-references/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/third-party-references/node_modules/diff": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -34437,7 +34349,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "aws-sdk": "^2.643.0",
         "body-parser": "^1.19.0",
         "bson": "^1.1.5",
@@ -34468,14 +34380,6 @@
         "timekeeper": "2.2.0"
       }
     },
-    "services/track-changes/node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
     "services/track-changes/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -34785,7 +34689,7 @@
         "angular": "~1.8.0",
         "angular-sanitize": "~1.8.0",
         "archiver": "^5.3.0",
-        "async": "0.6.2",
+        "async": "3.2.2",
         "backbone": "^1.3.3",
         "basic-auth": "^2.0.1",
         "bcrypt": "^5.0.0",
@@ -35068,11 +34972,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "services/web/node_modules/async": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/async/-/async-0.6.2.tgz",
-      "integrity": "sha1-Qf0DijgSwKi8GELs8IumPrA5K+8="
-    },
     "services/web/node_modules/body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -39747,7 +39646,7 @@
         "@overleaf/settings": "^3.0.0",
         "acorn": "^7.1.1",
         "ajv": "^6.12.0",
-        "async": "^3.2.0",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "chai": "^4.3.6",
         "chai-as-promised": "^7.1.1",
@@ -39760,6 +39659,11 @@
         "timekeeper": "^2.2.0"
       },
       "dependencies": {
+        "async": {
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+          "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -39945,7 +39849,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "3.2.0",
+        "async": "3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -40032,7 +39936,7 @@
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -40047,14 +39951,6 @@
         "underscore": "~1.13.1"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "diff": {
           "version": "4.0.2",
           "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -40096,7 +39992,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/object-persistor": "^1.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "celebrate": "^13.0.4",
@@ -40144,14 +40040,6 @@
             "xdg-basedir": "^4.0.0"
           }
         },
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "celebrate": {
           "version": "13.0.4",
           "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-13.0.4.tgz",
@@ -40250,7 +40138,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.5.0",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -40268,14 +40156,6 @@
         "timekeeper": "^2.0.0"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -40605,7 +40485,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "base64-stream": "^0.1.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
@@ -40624,14 +40504,6 @@
         "timekeeper": "2.2.0"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "p-limit": {
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -40790,7 +40662,7 @@
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -40805,14 +40677,6 @@
         "underscore": "1.13.1"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -41118,7 +40982,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/settings": "^3.0.0",
         "archiver": "^5.3.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -41160,14 +41024,6 @@
             "xdg-basedir": "^4.0.0"
           }
         },
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "date-and-time": {
           "version": "0.14.2",
           "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz",
@@ -41241,7 +41097,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.5.0",
+        "async": "^3.2.2",
         "aws-sdk": "^2.650.0",
         "bluebird": "^3.7.2",
         "body-parser": "^1.19.0",
@@ -41299,14 +41155,6 @@
             "@hapi/hoek": "^8.3.0"
           }
         },
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -41609,7 +41457,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^0.9.0",
+        "async": "^3.2.2",
         "base64id": "0.1.0",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
@@ -41632,11 +41480,6 @@
         "underscore": "1.13.1"
       },
       "dependencies": {
-        "async": {
-          "version": "0.9.2",
-          "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
-        },
         "sandboxed-module": {
           "version": "0.3.0",
           "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz",
@@ -41686,7 +41529,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.1.2",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bson": "^1.1.5",
         "bunyan": "^1.8.15",
@@ -41703,14 +41546,6 @@
         "uuid": "^7.0.3"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "uuid": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
@@ -41728,7 +41563,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -41743,14 +41578,6 @@
         "underscore": "1.13.1"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "underscore": {
           "version": "1.13.1",
           "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
@@ -41766,7 +41593,7 @@
         "@overleaf/settings": "^3.0.0",
         "algolia-search": "~1.5.5",
         "args-js": "0.10.12",
-        "async": "3.2.0",
+        "async": "3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -41975,7 +41802,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.1",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -41995,14 +41822,6 @@
         "uuid": "^8.3.2"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "diff": {
           "version": "4.0.2",
           "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -42062,7 +41881,7 @@
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "body-parser": "^1.19.0",
         "bunyan": "^1.8.15",
         "chai": "^4.3.6",
@@ -42080,14 +41899,6 @@
         "sinon-chai": "^3.7.0"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "diff": {
           "version": "4.0.2",
           "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -42153,7 +41964,7 @@
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/redis-wrapper": "^2.0.0",
         "@overleaf/settings": "^3.0.0",
-        "async": "^2.6.3",
+        "async": "^3.2.2",
         "aws-sdk": "^2.643.0",
         "body-parser": "^1.19.0",
         "bson": "^1.1.5",
@@ -42182,14 +41993,6 @@
         "yazl": "^2.5.1"
       },
       "dependencies": {
-        "async": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-          "requires": {
-            "lodash": "^4.17.14"
-          }
-        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -42472,7 +42275,7 @@
         "angular-mocks": "~1.8.0",
         "angular-sanitize": "~1.8.0",
         "archiver": "^5.3.0",
-        "async": "0.6.2",
+        "async": "3.2.2",
         "autoprefixer": "^9.7.6",
         "babel-loader": "^8.2.4",
         "babel-plugin-angularjs-annotate": "^0.10.0",
@@ -42716,11 +42519,6 @@
           "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==",
           "dev": true
         },
-        "async": {
-          "version": "0.6.2",
-          "resolved": "https://registry.npmjs.org/async/-/async-0.6.2.tgz",
-          "integrity": "sha1-Qf0DijgSwKi8GELs8IumPrA5K+8="
-        },
         "body-parser": {
           "version": "1.19.0",
           "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -46406,9 +46204,9 @@
       "dev": true
     },
     "async": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
-      "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
+      "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g=="
     },
     "async-limiter": {
       "version": "1.0.1",

+ 1 - 1
services/chat/package.json

@@ -19,7 +19,7 @@
     "@overleaf/logger": "^3.1.0",
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^3.2.0",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "express": "4.17.1",
     "mongodb": "^3.6.0"

+ 1 - 1
services/clsi/package.json

@@ -20,7 +20,7 @@
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "3.2.0",
+    "async": "3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "diskusage": "^1.1.3",

+ 1 - 1
services/contacts/package.json

@@ -19,7 +19,7 @@
     "@overleaf/logger": "^3.1.0",
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.6.3",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "express": "^4.17.1",

+ 1 - 1
services/docstore/package.json

@@ -21,7 +21,7 @@
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/object-persistor": "^1.0.1",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.6.3",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "celebrate": "^13.0.4",

+ 1 - 1
services/document-updater/package.json

@@ -21,7 +21,7 @@
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/redis-wrapper": "^2.0.1",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.5.0",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "diff-match-patch": "https://github.com/overleaf/diff-match-patch/archive/89805f9c671a77a263fc53461acd62aa7498f688.tar.gz",

+ 1 - 1
services/notifications/package.json

@@ -21,7 +21,7 @@
     "@overleaf/logger": "^3.1.0",
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.6.3",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "express": "4.17.1",

+ 1 - 1
services/real-time/package.json

@@ -22,7 +22,7 @@
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/redis-wrapper": "^2.0.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^0.9.0",
+    "async": "^3.2.2",
     "base64id": "0.1.0",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",

+ 1 - 1
services/spelling/package.json

@@ -26,7 +26,7 @@
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.6.3",
+    "async": "^3.2.2",
     "body-parser": "^1.19.0",
     "bunyan": "^1.8.15",
     "express": "^4.17.1",

+ 7 - 5
services/track-changes/app/js/UpdatesManager.js

@@ -591,11 +591,13 @@ module.exports = UpdatesManager = {
             }
             // repeatedly get updates and pass them through the summariser to get an final output with user info
             return async.whilst(
-              () =>
+              cb =>
                 // console.log "checking iterator.done", iterator.done()
-                summarizedUpdates.length < options.min_count &&
-                !iterator.done(),
-
+                cb(
+                  null,
+                  summarizedUpdates.length < options.min_count &&
+                    !iterator.done()
+                ),
               cb =>
                 iterator.next(function (err, partialUpdates) {
                   if (err != null) {
@@ -651,7 +653,7 @@ module.exports = UpdatesManager = {
         const accumulatedUserIds = new Set()
 
         async.whilst(
-          () => !iterator.done(),
+          cb => cb(null, !iterator.done()),
 
           cb =>
             iterator.next((err, updatesFromASinglePack) => {

+ 1 - 1
services/track-changes/package.json

@@ -21,7 +21,7 @@
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/redis-wrapper": "^2.0.0",
     "@overleaf/settings": "^3.0.0",
-    "async": "^2.6.3",
+    "async": "^3.2.2",
     "aws-sdk": "^2.643.0",
     "body-parser": "^1.19.0",
     "bson": "^1.1.5",

+ 1 - 1
services/web/app/src/Features/Exports/ExportsHandler.js

@@ -72,7 +72,7 @@ module.exports = ExportsHandler = {
       // TODO: when we update async, signature will change from (cb, results) to (results, cb)
       rootDoc: [
         'project',
-        (cb, results) =>
+        (results, cb) =>
           ProjectRootDocManager.ensureRootDocumentIsValid(
             project_id,
             function (error) {

+ 1 - 1
services/web/app/src/Features/Project/ProjectController.js

@@ -778,7 +778,7 @@ const ProjectController = {
         },
         brandVariation: [
           'project',
-          (cb, results) => {
+          (results, cb) => {
             if (
               (results.project != null
                 ? results.project.brandVariationId

+ 1 - 1
services/web/app/src/Features/Project/ProjectRootDocManager.js

@@ -95,7 +95,7 @@ module.exports = ProjectRootDocManager = {
             let doc = null
 
             return async.until(
-              () => doc != null || files.length === 0,
+              cb => cb(null, doc != null || files.length === 0),
               function (cb) {
                 const file = files.shift()
                 return fs.readFile(

+ 3 - 3
services/web/app/src/Features/Subscription/SubscriptionViewModelBuilder.js

@@ -62,7 +62,7 @@ function buildUsersSubscriptionViewModel(user, callback) {
       },
       recurlySubscription: [
         'personalSubscription',
-        (cb, { personalSubscription }) => {
+        ({ personalSubscription }, cb) => {
           if (
             personalSubscription == null ||
             personalSubscription.recurlySubscription_id == null ||
@@ -79,7 +79,7 @@ function buildUsersSubscriptionViewModel(user, callback) {
       ],
       recurlyCoupons: [
         'recurlySubscription',
-        (cb, { recurlySubscription }) => {
+        ({ recurlySubscription }, cb) => {
           if (!recurlySubscription) {
             return cb(null, null)
           }
@@ -89,7 +89,7 @@ function buildUsersSubscriptionViewModel(user, callback) {
       ],
       plan: [
         'personalSubscription',
-        (cb, { personalSubscription }) => {
+        ({ personalSubscription }, cb) => {
           if (personalSubscription == null) {
             return cb()
           }

+ 1 - 1
services/web/package.json

@@ -82,7 +82,7 @@
     "angular": "~1.8.0",
     "angular-sanitize": "~1.8.0",
     "archiver": "^5.3.0",
-    "async": "0.6.2",
+    "async": "3.2.2",
     "backbone": "^1.3.3",
     "basic-auth": "^2.0.1",
     "bcrypt": "^5.0.0",

+ 17 - 31
services/web/test/unit/src/User/UserSessionsManagerTests.js

@@ -89,7 +89,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call(err => {
-        expect(err).to.not.be.instanceof(Error)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -144,8 +144,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -181,8 +180,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -227,8 +225,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call(err => {
-        expect(err).to.not.be.instanceof(Error)
-        expect(err).to.equal(undefined)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -283,8 +280,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -320,8 +316,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -363,8 +358,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call(err => {
-        expect(err).to.not.be.instanceof(Error)
-        expect(err).to.equal(null)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -407,8 +401,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -474,8 +467,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -497,8 +489,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -524,8 +515,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call(err => {
-        expect(err).to.not.be.instanceof(Error)
-        expect(err).to.equal(null)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -559,8 +549,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -598,7 +587,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call((err, sessions) => {
-        expect(err).to.equal(null)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -635,7 +624,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call((err, sessions) => {
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -713,8 +702,7 @@ describe('UserSessionsManager', function () {
 
     it('should not produce an error', function (done) {
       return this.call(err => {
-        expect(err).to.not.be.instanceof(Error)
-        expect(err).to.equal(undefined)
+        expect(err).to.not.exist
         return done()
       })
     })
@@ -736,8 +724,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(undefined)
+          expect(err).to.not.exist
           return done()
         })
       })
@@ -762,8 +749,7 @@ describe('UserSessionsManager', function () {
 
       it('should not produce an error', function (done) {
         return this.call(err => {
-          expect(err).to.not.be.instanceof(Error)
-          expect(err).to.equal(null)
+          expect(err).to.not.exist
           return done()
         })
       })