From 7ce95937474b7e53b2db9a33ca89e63d8e17345b Mon Sep 17 00:00:00 2001 From: v1rtl Date: Sat, 8 Mar 2025 22:40:52 +0200 Subject: [PATCH 1/2] fix(deps): remove `pump` dependency --- package-lock.json | 20 -------------------- package.json | 2 -- src/utils/deploy/hash-files.ts | 8 ++------ src/utils/deploy/hash-fns.ts | 8 ++------ 4 files changed, 4 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9061ab29707..c171470635a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -94,7 +94,6 @@ "parse-github-url": "1.0.3", "parse-gitignore": "2.0.0", "prettyjson": "1.2.5", - "pump": "3.0.2", "raw-body": "3.0.0", "read-package-up": "11.0.0", "readdirp": "4.1.1", @@ -144,7 +143,6 @@ "@types/parse-github-url": "^1.0.3", "@types/parse-gitignore": "1.0.2", "@types/prettyjson": "0.0.33", - "@types/pump": "^1.1.3", "@types/semver": "7.5.8", "@types/source-map-support": "^0.5.10", "@types/tabtab": "^3.0.4", @@ -6078,15 +6076,6 @@ "integrity": "sha512-hHZMkavT9OXFq8p6pTCiaREtPxMRfy9NMp+Qa4PWH0RINQjyh0crOhoqUFA/cvIZncpjBpdvxkoe7nmVbyBJXw==", "dev": true }, - "node_modules/@types/pump": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/pump/-/pump-1.1.3.tgz", - "integrity": "sha512-ZyooTTivmOwPfOwLVaszkF8Zq6mvavgjuHYitZhrIjfQAJDH+kIP3N+MzpG1zDAslsHvVz6Q8ECfivix3qLJaQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", @@ -28469,15 +28458,6 @@ "integrity": "sha512-hHZMkavT9OXFq8p6pTCiaREtPxMRfy9NMp+Qa4PWH0RINQjyh0crOhoqUFA/cvIZncpjBpdvxkoe7nmVbyBJXw==", "dev": true }, - "@types/pump": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/pump/-/pump-1.1.3.tgz", - "integrity": "sha512-ZyooTTivmOwPfOwLVaszkF8Zq6mvavgjuHYitZhrIjfQAJDH+kIP3N+MzpG1zDAslsHvVz6Q8ECfivix3qLJaQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", diff --git a/package.json b/package.json index 4535c026909..5f71ac29995 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,6 @@ "parse-github-url": "1.0.3", "parse-gitignore": "2.0.0", "prettyjson": "1.2.5", - "pump": "3.0.2", "raw-body": "3.0.0", "read-package-up": "11.0.0", "readdirp": "4.1.1", @@ -201,7 +200,6 @@ "@types/parse-github-url": "^1.0.3", "@types/parse-gitignore": "1.0.2", "@types/prettyjson": "0.0.33", - "@types/pump": "^1.1.3", "@types/semver": "7.5.8", "@types/source-map-support": "^0.5.10", "@types/tabtab": "^3.0.4", diff --git a/src/utils/deploy/hash-files.ts b/src/utils/deploy/hash-files.ts index 36be15f18af..90082e9ee35 100644 --- a/src/utils/deploy/hash-files.ts +++ b/src/utils/deploy/hash-files.ts @@ -1,13 +1,9 @@ -import { promisify } from 'util' +import { pipeline } from 'stream/promises' import walker from 'folder-walker' -import pumpModule, { type Stream } from 'pump' import { fileFilterCtor, fileNormalizerCtor, hasherCtor, manifestCollectorCtor } from './hasher-segments.js' -// Explicitly passing type parameter because inference isn't playing nicely with incompatible patterns for typing -// function spread parameters + function overloading -const pump = promisify(pumpModule) const hashFiles = async ({ assetType = 'file', @@ -37,7 +33,7 @@ const hashFiles = async ({ const filesShaMap = {} const manifestCollector = manifestCollectorCtor(files, filesShaMap, { statusCb, assetType }) - await pump([fileStream, fileFilter, hasher, fileNormalizer, manifestCollector] as const) + await pipeline([fileStream, fileFilter, hasher, fileNormalizer, manifestCollector]) return { files, filesShaMap } } diff --git a/src/utils/deploy/hash-fns.ts b/src/utils/deploy/hash-fns.ts index 69b501b91df..ebbb09866ad 100644 --- a/src/utils/deploy/hash-fns.ts +++ b/src/utils/deploy/hash-fns.ts @@ -1,11 +1,10 @@ import { readFile } from 'fs/promises' import path from 'path' -import { promisify } from 'util' +import { pipeline } from 'stream/promises' import { zipFunctions, type FunctionResult, type TrafficRules } from '@netlify/zip-it-and-ship-it' // @ts-expect-error TS(7016) FIXME: Could not find a declaration file for module 'from... Remove this comment to see the full error message import fromArray from 'from2-array' -import pumpModule, { type Stream } from 'pump' import BaseCommand from '../../commands/base-command.js' import { $TSFixMe } from '../../commands/types.js' @@ -13,9 +12,6 @@ import { INTERNAL_FUNCTIONS_FOLDER } from '../functions/functions.js' import { hasherCtor, manifestCollectorCtor } from './hasher-segments.js' -// Explicitly passing type parameter because inference isn't playing nicely with incompatible patterns for typing -// function spread parameters + function overloading -const pump = promisify(pumpModule) // Maximum age of functions manifest (2 minutes). const MANIFEST_FILE_TTL = 12e4 @@ -227,7 +223,7 @@ const hashFns = async ( const fnShaMap = {} const manifestCollector = manifestCollectorCtor(functions, fnShaMap, { statusCb, assetType }) - await pump([functionStream, hasher, manifestCollector] as const) + await pipeline([functionStream, hasher, manifestCollector]) return { functionSchedules, functions, functionsWithNativeModules, fnShaMap, fnConfig } } From 140e695a03d5d7015db8cf080dda85b6e216d80d Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Mon, 10 Mar 2025 16:45:00 +0100 Subject: [PATCH 2/2] style: fix formatting --- src/utils/deploy/hash-files.ts | 1 - src/utils/deploy/hash-fns.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/utils/deploy/hash-files.ts b/src/utils/deploy/hash-files.ts index 90082e9ee35..e6b5a5cab02 100644 --- a/src/utils/deploy/hash-files.ts +++ b/src/utils/deploy/hash-files.ts @@ -4,7 +4,6 @@ import walker from 'folder-walker' import { fileFilterCtor, fileNormalizerCtor, hasherCtor, manifestCollectorCtor } from './hasher-segments.js' - const hashFiles = async ({ assetType = 'file', // @ts-expect-error TS(7031) FIXME: Binding element 'concurrentHash' implicitly has an... Remove this comment to see the full error message diff --git a/src/utils/deploy/hash-fns.ts b/src/utils/deploy/hash-fns.ts index ebbb09866ad..2e1ea08ee6c 100644 --- a/src/utils/deploy/hash-fns.ts +++ b/src/utils/deploy/hash-fns.ts @@ -12,7 +12,6 @@ import { INTERNAL_FUNCTIONS_FOLDER } from '../functions/functions.js' import { hasherCtor, manifestCollectorCtor } from './hasher-segments.js' - // Maximum age of functions manifest (2 minutes). const MANIFEST_FILE_TTL = 12e4