diff --git a/.changeset/famous-hornets-invite.md b/.changeset/famous-hornets-invite.md new file mode 100644 index 000000000000..7dec00bed289 --- /dev/null +++ b/.changeset/famous-hornets-invite.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +chore: polyfill File from node:buffer diff --git a/packages/kit/src/exports/node/polyfills.js b/packages/kit/src/exports/node/polyfills.js index 28f9de5f9d9d..950c645258bc 100644 --- a/packages/kit/src/exports/node/polyfills.js +++ b/packages/kit/src/exports/node/polyfills.js @@ -1,6 +1,10 @@ import { ReadableStream, TransformStream, WritableStream } from 'node:stream/web'; +import buffer from 'node:buffer'; import { webcrypto as crypto } from 'node:crypto'; -import { fetch, Response, Request, Headers, FormData } from 'undici'; +import { fetch, Response, Request, Headers, FormData, File as UndiciFile } from 'undici'; + +// @ts-expect-error +const File = buffer.File ?? UndiciFile; /** @type {Record} */ const globals = { @@ -12,7 +16,8 @@ const globals = { ReadableStream, TransformStream, WritableStream, - FormData + FormData, + File }; // exported for dev/preview and node environments