diff --git a/.changeset/sixty-bees-explain.md b/.changeset/sixty-bees-explain.md new file mode 100644 index 000000000000..8cc793564c52 --- /dev/null +++ b/.changeset/sixty-bees-explain.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-cloudflare': minor +--- + +Expose Cloudflare Worker Cache API through `caches` in Platform diff --git a/packages/adapter-cloudflare/README.md b/packages/adapter-cloudflare/README.md index d4243d7ebebd..eb1deb4c433f 100644 --- a/packages/adapter-cloudflare/README.md +++ b/packages/adapter-cloudflare/README.md @@ -53,7 +53,7 @@ When configuring your project settings, you must use the following settings: ## Environment variables -The [`env`](https://developers.cloudflare.com/workers/runtime-apis/fetch-event#parameters) object, containing KV namespaces etc, is passed to SvelteKit via the `platform` property along with `context`, meaning you can access it in hooks and endpoints: +The [`env`](https://developers.cloudflare.com/workers/runtime-apis/fetch-event#parameters) object, containing KV namespaces etc, is passed to SvelteKit via the `platform` property along with `context` and `caches`, meaning you can access it in hooks and endpoints: ```diff // src/app.d.ts @@ -66,7 +66,8 @@ declare namespace App { + }; + context: { + waitUntil(promise: Promise): void; -+ } ++ }; ++ caches: CacheStorage & { default: Cache } + } interface Session {} diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index 4a53b71ea0ee..1ba1bf8d145a 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -54,7 +54,7 @@ const worker = { } else { // dynamically-generated pages res = await server.respond(req, { - platform: { env, context }, + platform: { env, context, caches }, getClientAddress() { return req.headers.get('cf-connecting-ip'); }