From c39cb024d2c33a1a042a894a285d063019701307 Mon Sep 17 00:00:00 2001 From: jake champion Date: Fri, 6 Dec 2024 18:21:15 +0000 Subject: [PATCH 1/2] fix: ensure we pass an ArrayBufferLike to blobStore.set and not a NodeJS Buffer --- packages/build/src/plugins_core/blobs_upload/index.ts | 3 ++- packages/build/src/plugins_core/dev_blobs_upload/index.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/build/src/plugins_core/blobs_upload/index.ts b/packages/build/src/plugins_core/blobs_upload/index.ts index b7d76a52a7..40124d47b7 100644 --- a/packages/build/src/plugins_core/blobs_upload/index.ts +++ b/packages/build/src/plugins_core/blobs_upload/index.ts @@ -72,7 +72,8 @@ const coreStep: CoreStepFunction = async function ({ systemLog(`Uploading blob ${key}`) const { data, metadata } = await getFileWithMetadata(key, contentPath, metadataPath) - await blobStore.set(key, data, { metadata }) + const buffer = new Uint8Array(data.buffer, data.byteOffset, data.length) + await blobStore.set(key, buffer.buffer, { metadata }) }, { concurrency: 10 }, ) diff --git a/packages/build/src/plugins_core/dev_blobs_upload/index.ts b/packages/build/src/plugins_core/dev_blobs_upload/index.ts index 525a8066b2..0950aefec8 100644 --- a/packages/build/src/plugins_core/dev_blobs_upload/index.ts +++ b/packages/build/src/plugins_core/dev_blobs_upload/index.ts @@ -77,7 +77,8 @@ const coreStep: CoreStepFunction = async function ({ log(logs, `- Uploading blob ${key}`, { indent: true }) } const { data, metadata } = await getFileWithMetadata(key, contentPath, metadataPath) - await blobStore.set(key, data, { metadata }) + const buffer = new Uint8Array(data.buffer, data.byteOffset, data.length) + await blobStore.set(key, buffer.buffer, { metadata }) }, { concurrency: 10 }, ) From 065e8f9c9f31ecb9e4174721de3d6303214e258f Mon Sep 17 00:00:00 2001 From: Yujohn Nattrass Date: Fri, 6 Dec 2024 17:47:13 -0800 Subject: [PATCH 2/2] fix: use buffer.slice to create ArrayBuffer --- packages/build/src/plugins_core/blobs_upload/index.ts | 4 ++-- packages/build/src/plugins_core/dev_blobs_upload/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/build/src/plugins_core/blobs_upload/index.ts b/packages/build/src/plugins_core/blobs_upload/index.ts index 40124d47b7..7ee7596146 100644 --- a/packages/build/src/plugins_core/blobs_upload/index.ts +++ b/packages/build/src/plugins_core/blobs_upload/index.ts @@ -72,8 +72,8 @@ const coreStep: CoreStepFunction = async function ({ systemLog(`Uploading blob ${key}`) const { data, metadata } = await getFileWithMetadata(key, contentPath, metadataPath) - const buffer = new Uint8Array(data.buffer, data.byteOffset, data.length) - await blobStore.set(key, buffer.buffer, { metadata }) + const arrayBuffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.length) + await blobStore.set(key, arrayBuffer, { metadata }) }, { concurrency: 10 }, ) diff --git a/packages/build/src/plugins_core/dev_blobs_upload/index.ts b/packages/build/src/plugins_core/dev_blobs_upload/index.ts index 0950aefec8..2b7a645067 100644 --- a/packages/build/src/plugins_core/dev_blobs_upload/index.ts +++ b/packages/build/src/plugins_core/dev_blobs_upload/index.ts @@ -77,8 +77,8 @@ const coreStep: CoreStepFunction = async function ({ log(logs, `- Uploading blob ${key}`, { indent: true }) } const { data, metadata } = await getFileWithMetadata(key, contentPath, metadataPath) - const buffer = new Uint8Array(data.buffer, data.byteOffset, data.length) - await blobStore.set(key, buffer.buffer, { metadata }) + const arrayBuffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.length) + await blobStore.set(key, arrayBuffer, { metadata }) }, { concurrency: 10 }, )