Loading pkgs/build-support/node/fetch-yarn-deps/index.js +11 −1 Original line number Diff line number Diff line Loading @@ -141,10 +141,20 @@ const performParallel = tasks => { return Promise.all(workers) } // This could be implemented using [`Map.groupBy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/groupBy), // but that method is only supported starting with Node 21 const uniqueBy = (arr, callback) => { const map = new Map() for (const elem of arr) { map.set(callback(elem), elem) } return [...map.values()] } const prefetchYarnDeps = async (lockContents, verbose) => { const lockData = lockfile.parse(lockContents) await performParallel( Object.entries(lockData.object) uniqueBy(Object.entries(lockData.object), ([_, value]) => value.resolved) .map(([key, value]) => () => downloadPkg({ key, ...value }, verbose)) ) await fs.promises.writeFile('yarn.lock', lockContents) Loading Loading
pkgs/build-support/node/fetch-yarn-deps/index.js +11 −1 Original line number Diff line number Diff line Loading @@ -141,10 +141,20 @@ const performParallel = tasks => { return Promise.all(workers) } // This could be implemented using [`Map.groupBy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/groupBy), // but that method is only supported starting with Node 21 const uniqueBy = (arr, callback) => { const map = new Map() for (const elem of arr) { map.set(callback(elem), elem) } return [...map.values()] } const prefetchYarnDeps = async (lockContents, verbose) => { const lockData = lockfile.parse(lockContents) await performParallel( Object.entries(lockData.object) uniqueBy(Object.entries(lockData.object), ([_, value]) => value.resolved) .map(([key, value]) => () => downloadPkg({ key, ...value }, verbose)) ) await fs.promises.writeFile('yarn.lock', lockContents) Loading