Bump async from 1.5.2 to 3.2.3 in /rio-server
Bumps async from 1.5.2 to 3.2.3.
Release notes
Sourced from async's releases.
v2.3.0
- Added support for ES2017
asyncfunctions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass anasyncfunction. Previously, you had to wrapasyncfunctions withasyncify. The caveat is that it will only work ifasyncfunctions are supported natively in your environment, transpiled implementations can't be detected. (#1386, #1390)v2.2.0
- Added
groupBy, and theSeries/Limitequivalents, analogous to_.groupBy(#1364)- Fixed
transformbug whencallbackwas not passed (#1381)v2.1.5
- Fix
autobug when function names collided with Array.prototype (#1358)- Improve some error messages (#1349)
- Avoid stack overflow case in queue
- Fixed an issue in
some,everyandfindwhere processing would continue after the result was determined.- Cleanup implementations of
some,everyandfindv2.1.3
- Make bundle size smaller
- Create optimized hotpath for
filterin array case.v2.1.2
- Fixed a stackoverflow bug with
detect,some,everyon large inputs (#1293).v2.1.0
retryandretryablenow support an optionalerrorFilterfunction that determines if thetaskshould retry on the error (#1256, #1261)- Optimized array iteration in
race,cargo,queue, andpriorityQueue(#1253)v2.0.0
Lots of changes here!
First and foremost, we have a slick new site for docs. Special thanks to
@hargasinskifor his work converting our old docs tojsdocformat and implementing the new website. Also huge ups to@ivanseidelfor designing our new logo. It was a long process for both of these tasks, but I think these changes turned out extraordinary well.The biggest feature is modularization. You can now
require("async/series")to only require theseriesfunction. Every Async library function is available this way. You still canrequire("async")to require the entire library, like you could do before.We also provide Async as a collection of ES2015 modules. You can now
import {each} from 'async-es'orimport waterfall from 'async-es/waterfall'. If you are using only a few Async functions, and are using a ES bundler such as Rollup, this can significantly lower your build size.Major thanks to
@Kikobeats,@aearlyand@megawacfor doing the majority of the modularization work, as well as@jdaltonand@Rich-Harrisfor advisory work on the general modularization strategy.Another one of the general themes of the 2.0 release is standardization of what an "async" function is. We are now more strictly following the node-style continuation passing style. That is, an async function is a function that:
- Takes a variable number of arguments
- The last argument is always a callback
- The callback can accept any number of arguments
- The first argument passed to the callback will be treated as an error result, if the argument is truthy
- Any number of result arguments can be passed after the "error" argument
- The callback is called once and exactly once, either on the same tick or later tick of the JavaScript event loop.
There were several cases where Async accepted some functions that did not strictly have these properties, most notably
auto,every,some, andfilter.Another theme is performance. We have eliminated internal deferrals in all cases where they make sense. For example, in
waterfallandauto, there was asetImmediatebetween each task -- these deferrals have been removed. AsetImmediatecall can add up to 1ms of delay. This might not seem like a lot, but it can add up if you are using many Async functions in the course of processing a HTTP request, for example. Nearly all asynchronous functions that do I/O already have some sort of deferral built in, so the extra deferral is unnecessary. The trade-off of this change is removing our built-in stack-overflow defense. Many synchronous callback calls in series can quickly overflow the JS call stack. If you do have a function that is sometimes synchronous (calling its callback on the same tick), and are running into stack overflows, wrap it withasync.ensureAsync().Another big performance win has been re-implementing
queue,cargo, andpriorityQueuewith doubly linked lists instead of arrays. This has lead to queues being an order of magnitude faster on large sets of tasks.
... (truncated)
Changelog
Sourced from async's changelog.
v3.2.3
v3.2.2
- Fix potential prototype pollution exploit
v3.2.1
- Use
queueMicrotaskif available to the environment (#1761)- Minor perf improvement in
priorityQueue(#1727)- More examples in documentation (#1726)
- Various doc fixes (#1708, #1712, #1717, #1740, #1739, #1749, #1756)
- Improved test coverage (#1754)
v3.2.0
- Fix a bug in Safari related to overwriting
func.name- Remove built-in browserify configuration (#1653)
- Varios doc fixes (#1688, #1703, #1704)
v3.1.1
- Allow redefining
nameproperty on wrapped functions.v3.1.0
- Added
q.pushAsyncandq.unshiftAsync, analagous toq.pushandq.unshift, except they always do not accept a callback, and reject if processing the task errors. (#1659)- Promises returned from
q.pushandq.unshiftwhen a callback is not passed now resolve even if an error ocurred. (#1659)- Fixed a parsing bug in
autoInjectwith complicated function bodies (#1663)- Added ES6+ configuration for Browserify bundlers (#1653)
- Various doc fixes (#1664, #1658, #1665, #1652)
v3.0.1
Bug fixes
- Fixed a regression where arrays passed to
queueandcargowould be completely flattened. (#1645)- Clarified Async's browser support (#1643)
v3.0.0
The
async/awaitrelease!There are a lot of new features and subtle breaking changes in this major version, but the biggest feature is that most Async methods return a Promise if you omit the callback, meaning you can
awaitthem from within anasyncfunction.const results = await async.mapLimit(urls, 5, async url => { const resp = await fetch(url) return resp.body })Breaking Changes
... (truncated)
Commits
62943caVersion 3.2.3d2c9d51Update built filesde8d4c4Update changelog for v3.2.3b015d34fix: address edge case in comment stripping (#1780)e27aaabchore: remove unused Travis CI config (#1781)a038c8fci: setup GitHub Actions (#1782)e74bd18Core: const, let, arrow-fn and unused variables (#1776)2ee673fHousekeeping (#1772)cdfb491Fix an inefficient regex in autoInject (#1767)bb41f2abe explicit (#1769)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.