@cloudflare/pages-shared 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,6 +74,7 @@ type FullHandlerContext<AssetEntry, ContentNegotiation, Asset> = {
74
74
  request: Request;
75
75
  metadata: Metadata;
76
76
  xServerEnvHeader?: string;
77
+ xDeploymentIdHeader?: boolean;
77
78
  logError: (err: Error) => void;
78
79
  findAssetEntryForPath: FindAssetEntryForPath<AssetEntry>;
79
80
  getAssetKey(assetEntry: AssetEntry, content: ContentNegotiation): string;
@@ -120,6 +121,7 @@ export async function generateHandler<
120
121
  request,
121
122
  metadata,
122
123
  xServerEnvHeader,
124
+ xDeploymentIdHeader,
123
125
  logError,
124
126
  findAssetEntryForPath,
125
127
  getAssetKey,
@@ -480,6 +482,10 @@ export async function generateHandler<
480
482
  headers["x-server-env"] = xServerEnvHeader;
481
483
  }
482
484
 
485
+ if (xDeploymentIdHeader && metadata.deploymentId) {
486
+ headers["x-deployment-id"] = metadata.deploymentId;
487
+ }
488
+
483
489
  if (content.encoding) {
484
490
  encodeBody = "manual";
485
491
  headers["cache-control"] = "no-transform";
@@ -1,12 +1,12 @@
1
1
  type HeadersInit = ConstructorParameters<typeof Headers>[0];
2
2
 
3
3
  function mergeHeaders(base: HeadersInit, extra: HeadersInit) {
4
- base = new Headers(base ?? {});
5
- extra = new Headers(extra ?? {});
4
+ const baseHeaders = new Headers(base ?? {});
5
+ const extraHeaders = new Headers(extra ?? {});
6
6
 
7
7
  return new Headers({
8
- ...Object.fromEntries(base.entries()),
9
- ...Object.fromEntries(extra.entries()),
8
+ ...Object.fromEntries(baseHeaders.entries()),
9
+ ...Object.fromEntries(extraHeaders.entries()),
10
10
  });
11
11
  }
12
12
 
@@ -1,8 +1,7 @@
1
1
  import { polyfill } from ".";
2
2
 
3
3
  export default async () => {
4
- const mf = await import("@miniflare/core");
5
-
4
+ const mf = await import("miniflare");
6
5
  polyfill({
7
6
  fetch: mf.fetch,
8
7
  Headers: mf.Headers,
@@ -1,35 +1,25 @@
1
1
  import {
2
- Headers as MiniflareHeaders,
3
- Request as MiniflareRequest,
4
- Response as MiniflareResponse,
5
- } from "@miniflare/core";
6
- import { HTMLRewriter as MiniflareHTMLRewriter } from "@miniflare/html-rewriter";
7
- import type { CacheInterface as MiniflareCacheInterface } from "@miniflare/cache";
8
- import type { fetch as miniflareFetch } from "@miniflare/core";
9
- import type { ReadableStream as SimilarReadableStream } from "stream/web";
2
+ Headers as WorkerHeaders,
3
+ Request as WorkerRequest,
4
+ Response as WorkerResponse,
5
+ HTMLRewriter as WorkerHTMLRewriter,
6
+ } from "@cloudflare/workers-types/experimental";
7
+ import type {
8
+ fetch as workerFetch,
9
+ ReadableStream as WorkerReadableStream,
10
+ CacheStorage as WorkerCacheStorage,
11
+ } from "@cloudflare/workers-types/experimental";
10
12
 
11
13
  declare global {
12
- const fetch: typeof miniflareFetch;
13
- class Headers extends MiniflareHeaders {}
14
- class Request extends MiniflareRequest {}
15
- class Response extends MiniflareResponse {}
14
+ const fetch: typeof workerFetch;
15
+ class Headers extends WorkerHeaders {}
16
+ class Request extends WorkerRequest {}
17
+ class Response extends WorkerResponse {}
16
18
 
17
- type CacheInterface = Omit<MiniflareCacheInterface, "match"> & {
18
- match(
19
- ...args: Parameters<MiniflareCacheInterface["match"]>
20
- ): Promise<Response | undefined>;
21
- };
22
-
23
- class CacheStorage {
24
- get default(): CacheInterface;
25
- open(cacheName: string): Promise<CacheInterface>;
26
- }
27
-
28
- class HTMLRewriter extends MiniflareHTMLRewriter {
29
- transform(response: Response): Response;
30
- }
31
-
32
- type ReadableStream = SimilarReadableStream;
19
+ // Not polyfilled
20
+ type ReadableStream = WorkerReadableStream;
21
+ type CacheStorage = WorkerCacheStorage;
22
+ class HTMLRewriter extends WorkerHTMLRewriter {}
33
23
  }
34
24
 
35
25
  export type PolyfilledRuntimeEnvironment = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/pages-shared",
3
- "version": "0.4.2",
3
+ "version": "0.5.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/cloudflare/workers-sdk.git",
@@ -43,11 +43,10 @@
43
43
  ]
44
44
  },
45
45
  "dependencies": {
46
- "@miniflare/core": "2.13.0"
46
+ "miniflare": "^3.0.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@miniflare/cache": "2.13.0",
50
- "@miniflare/html-rewriter": "2.13.0",
49
+ "@cloudflare/workers-types": "^4.20230511.0",
51
50
  "@types/service-worker-mock": "^2.0.1",
52
51
  "concurrently": "^7.3.0",
53
52
  "glob": "^8.0.3",
@@ -1,12 +0,0 @@
1
- import { polyfill } from ".";
2
-
3
- export default async () => {
4
- const mf = await import("@miniflare/tre");
5
-
6
- polyfill({
7
- fetch: mf.fetch,
8
- Headers: mf.Headers,
9
- Request: mf.Request,
10
- Response: mf.Response,
11
- });
12
- };