From bdc44f025f993d8b3c51443212990680b0f41dc2 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 28 Sep 2022 19:54:28 +0200 Subject: [PATCH] release-manifests: workaround for no Promise.any in Node 14 Signed-off-by: Patrik Oldsberg --- packages/release-manifests/src/manifest.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/release-manifests/src/manifest.ts b/packages/release-manifests/src/manifest.ts index 004ccfc77c..d3b0c8ed5d 100644 --- a/packages/release-manifests/src/manifest.ts +++ b/packages/release-manifests/src/manifest.ts @@ -73,7 +73,25 @@ export async function withFallback( return res; }); - return Promise.any([promise1, promise2]).catch(() => promise1); + // TODO(Rugvip): Replace with this once we no longer support Node 14 + // return Promise.any([promise1, promise2]).catch(() => promise1); + return new Promise((resolve, reject) => { + let rejection: Error | undefined = undefined; + promise1.then(resolve, e => { + if (rejection) { + reject(e); + } else { + rejection = e; + } + }); + promise2.then(resolve, e => { + if (rejection) { + reject(rejection); + } else { + rejection = e; + } + }); + }); } /**