diff --git a/package-lock.json b/package-lock.json index 5bc93034e..450522dde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -84,7 +84,6 @@ "@types/json-bigint": "^1.0.4", "@types/node": "^24.12.0", "@types/pg": "^8.6.4", - "@types/stream-buffers": "^3.0.7", "@types/xml2js": "^0.4.14", "@vitest/coverage-v8": "^4.1.5", "esbuild": "^0.25.8", @@ -95,7 +94,6 @@ "pino-pretty": "^13.1.3", "prettier": "^2.8.8", "resolve-tspaths": "^0.8.19", - "stream-buffers": "^3.0.2", "tsx": "^4.21.0", "tus-js-client": "^4.3.1", "typescript": "5.9.3", diff --git a/package.json b/package.json index c001c14af..1b0308b63 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,6 @@ "@types/json-bigint": "^1.0.4", "@types/node": "^24.12.0", "@types/pg": "^8.6.4", - "@types/stream-buffers": "^3.0.7", "@types/xml2js": "^0.4.14", "@vitest/coverage-v8": "^4.1.5", "esbuild": "^0.25.8", @@ -122,7 +121,6 @@ "pino-pretty": "^13.1.3", "prettier": "^2.8.8", "resolve-tspaths": "^0.8.19", - "stream-buffers": "^3.0.2", "tsx": "^4.21.0", "tus-js-client": "^4.3.1", "typescript": "5.9.3", diff --git a/src/test/s3-protocol.test.ts b/src/test/s3-protocol.test.ts index b1860a7d3..783420afb 100644 --- a/src/test/s3-protocol.test.ts +++ b/src/test/s3-protocol.test.ts @@ -1,3 +1,5 @@ +import { Readable } from 'node:stream' +import { setTimeout as sleep } from 'node:timers/promises' import { AbortMultipartUploadCommand, CompleteMultipartUploadCommand, @@ -35,7 +37,6 @@ import { StorageKnexDB } from '@storage/database' import { Uploader } from '@storage/uploader' import { createHash, createHmac, randomUUID } from 'crypto' import { FastifyInstance } from 'fastify' -import { ReadableStreamBuffer } from 'stream-buffers' import app from '../app' import { getConfig, mergeConfig } from '../config' import { EMPTY_SHA256_HASH, SignatureV4, SignatureV4Service } from '../storage/protocols/s3' @@ -1524,13 +1525,17 @@ describe('S3 Protocol', () => { const resp = await client.send(createMultiPartUpload) expect(resp.UploadId).toBeTruthy() - const readable = new ReadableStreamBuffer({ - frequency: 500, - chunkSize: 1024 * 3, - }) - - readable.put(Buffer.alloc(1024 * 12)) - readable.stop() + const readable = Readable.from( + (async function* () { + const buffer = Buffer.alloc(1024 * 12) + const chunkSize = 1024 * 3 + for (let i = 0; i < buffer.length; i += chunkSize) { + await sleep(500) + yield buffer.subarray(i, i + chunkSize) + } + })(), + { objectMode: false } + ) const uploadPart = new UploadPartCommand({ Bucket: bucketName,