summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Mikkel Ricafrente <37487746+helloimalastair@users.noreply.github.com> 2023-10-10 18:08:17 +0200
committerGravatar GitHub <noreply@github.com> 2023-10-10 18:08:17 +0200
commit75781643a2f53656fc3fde3a7f28cb62db40b015 (patch)
treea3f40a4165c578d05d4cca3cef18efe0813e2d13
parent9cd6a6657b328cec4ad98020e2bcd73c34a869ce (diff)
downloadastro-75781643a2f53656fc3fde3a7f28cb62db40b015.tar.gz
astro-75781643a2f53656fc3fde3a7f28cb62db40b015.tar.zst
astro-75781643a2f53656fc3fde3a7f28cb62db40b015.zip
fix(cloudflare): runtime types for Cloudflare caches (#8782)
* fix cachestorage reference in cloudflare integration * add cachestorage to serverdirectorymode * add changeset * remove global caches type * update unlucky-avocados-brake.md
-rw-r--r--.changeset/unlucky-avocados-brake.md5
-rw-r--r--packages/integrations/cloudflare/src/entrypoints/server.advanced.ts10
-rw-r--r--packages/integrations/cloudflare/src/entrypoints/server.directory.ts7
3 files changed, 15 insertions, 7 deletions
diff --git a/.changeset/unlucky-avocados-brake.md b/.changeset/unlucky-avocados-brake.md
new file mode 100644
index 000000000..b64fc24c7
--- /dev/null
+++ b/.changeset/unlucky-avocados-brake.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/cloudflare': patch
+---
+
+fixes `AdvancedRuntime` & `DirectoryRuntime` types to work woth Cloudflare caches
diff --git a/packages/integrations/cloudflare/src/entrypoints/server.advanced.ts b/packages/integrations/cloudflare/src/entrypoints/server.advanced.ts
index 957c1791d..471ca5270 100644
--- a/packages/integrations/cloudflare/src/entrypoints/server.advanced.ts
+++ b/packages/integrations/cloudflare/src/entrypoints/server.advanced.ts
@@ -1,4 +1,8 @@
-import type { Request as CFRequest, ExecutionContext } from '@cloudflare/workers-types';
+import type {
+ Request as CFRequest,
+ ExecutionContext,
+ CacheStorage,
+} from '@cloudflare/workers-types';
import type { SSRManifest } from 'astro';
import { App } from 'astro/app';
import { getProcessEnvProxy, isNode } from '../util.js';
@@ -16,7 +20,7 @@ export interface AdvancedRuntime<T extends object = object> {
waitUntil: (promise: Promise<any>) => void;
env: Env & T;
cf: CFRequest['cf'];
- caches: typeof caches;
+ caches: CacheStorage;
};
}
@@ -50,7 +54,7 @@ export function createExports(manifest: SSRManifest) {
},
env: env,
cf: request.cf,
- caches: caches,
+ caches: caches as unknown as CacheStorage,
},
};
diff --git a/packages/integrations/cloudflare/src/entrypoints/server.directory.ts b/packages/integrations/cloudflare/src/entrypoints/server.directory.ts
index 3542279b0..ada773bf6 100644
--- a/packages/integrations/cloudflare/src/entrypoints/server.directory.ts
+++ b/packages/integrations/cloudflare/src/entrypoints/server.directory.ts
@@ -1,4 +1,4 @@
-import type { Request as CFRequest, EventContext } from '@cloudflare/workers-types';
+import type { Request as CFRequest, EventContext, CacheStorage } from '@cloudflare/workers-types';
import type { SSRManifest } from 'astro';
import { App } from 'astro/app';
import { getProcessEnvProxy, isNode } from '../util.js';
@@ -6,13 +6,12 @@ import { getProcessEnvProxy, isNode } from '../util.js';
if (!isNode) {
process.env = getProcessEnvProxy();
}
-
export interface DirectoryRuntime<T extends object = object> {
runtime: {
waitUntil: (promise: Promise<any>) => void;
env: EventContext<unknown, string, unknown>['env'] & T;
cf: CFRequest['cf'];
- caches: typeof caches;
+ caches: CacheStorage;
};
}
@@ -48,7 +47,7 @@ export function createExports(manifest: SSRManifest) {
},
env: context.env,
cf: request.cf,
- caches: caches,
+ caches: caches as unknown as CacheStorage,
},
};