diff --git a/package-lock.json b/package-lock.json index 6b8402c..c3f97c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "lodash-es": "^4.17.21", "morgan": "^1.9.1", "ms": "^2.1.2", + "p-map": "^7.0.1", "progress": "^2.0.3", "socket.io-client": "^4.5.1", "tail": "^2.2.6" @@ -3643,6 +3644,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.1.tgz", + "integrity": "sha512-2wnaR0XL/FDOj+TgpDuRb2KTjLnu3Fma6b1ZUwGY7LcqenMcvP/YFpjpbPKY6WVGsbuJZRuoUz8iPrt8ORnAFw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -7630,6 +7642,11 @@ "p-limit": "^3.0.2" } }, + "p-map": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.1.tgz", + "integrity": "sha512-2wnaR0XL/FDOj+TgpDuRb2KTjLnu3Fma6b1ZUwGY7LcqenMcvP/YFpjpbPKY6WVGsbuJZRuoUz8iPrt8ORnAFw==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", diff --git a/package.json b/package.json index 66becb5..8183acf 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "lodash-es": "^4.17.21", "morgan": "^1.9.1", "ms": "^2.1.2", + "p-map": "^7.0.1", "progress": "^2.0.3", "socket.io-client": "^4.5.1", "tail": "^2.2.6" diff --git a/src/cluster.ts b/src/cluster.ts index c9c852a..cfa73a5 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -15,6 +15,7 @@ import {clone, min, sum, template} from 'lodash-es' import morgan from 'morgan' import ms from 'ms' import {tmpdir} from 'os' +import pMap from 'p-map' import {dirname, join, sep} from 'path' import {cwd} from 'process' import ProgressBar from 'progress' @@ -120,7 +121,7 @@ export class Cluster { }) const parallel = parseInt(process.env.SYNC_PARALLEL ?? '1', 10) || 1 const noopen = process.env.FORCE_NOOPEN === 'true' && parallel === 1 ? '1' : '' - await Bluebird.map(missingFiles, async (file, i) => { + await pMap(missingFiles, async (file, i) => { const path = join(this.cacheDir, file.hash.substring(0, 2), file.hash) if (process.stderr.isTTY) { bar.interrupt(`${colors.green('downloading')} ${colors.underline(file.path)}`)