From baba15ab981a3b090eaabefe3425f5f4ea9a8074 Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Thu, 5 Feb 2026 00:31:33 +0800 Subject: [PATCH] fix: avoid 'node:crypto' cloudflare warnings (#17612) * fix: avoid 'node:crypto' cloudflare warnings * format * changeset * Apply suggestion from @teemingc --- .changeset/violet-pans-know.md | 5 +++++ packages/svelte/src/internal/server/crypto.js | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/violet-pans-know.md diff --git a/.changeset/violet-pans-know.md b/.changeset/violet-pans-know.md new file mode 100644 index 0000000000..59bf1dcaaf --- /dev/null +++ b/.changeset/violet-pans-know.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: avoid Cloudflare warnings about not having the "node:crypto" module diff --git a/packages/svelte/src/internal/server/crypto.js b/packages/svelte/src/internal/server/crypto.js index 8727635481..9bb6ecdd39 100644 --- a/packages/svelte/src/internal/server/crypto.js +++ b/packages/svelte/src/internal/server/crypto.js @@ -12,7 +12,8 @@ export async function sha256(data) { crypto ??= globalThis.crypto?.subtle?.digest ? globalThis.crypto : // @ts-ignore - we don't install node types in the prod build - (await import('node:crypto')).webcrypto; + // don't use 'node:crypto' because static analysers will think we rely on node when we don't + (await import('node:' + 'crypto')).webcrypto; const hash_buffer = await crypto.subtle.digest('SHA-256', text_encoder.encode(data));