wrangler 3.28.0 → 3.28.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrangler",
3
- "version": "3.28.0",
3
+ "version": "3.28.2",
4
4
  "description": "Command-line interface for all things Cloudflare Workers",
5
5
  "keywords": [
6
6
  "wrangler",
@@ -83,7 +83,6 @@
83
83
  }
84
84
  },
85
85
  "dependencies": {
86
- "@cloudflare/kv-asset-handler": "^0.2.0",
87
86
  "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
88
87
  "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
89
88
  "blake3-wasm": "^2.1.5",
@@ -96,7 +95,8 @@
96
95
  "selfsigned": "^2.0.1",
97
96
  "source-map": "0.6.1",
98
97
  "xxhash-wasm": "^1.0.1",
99
- "miniflare": "3.20240129.1"
98
+ "@cloudflare/kv-asset-handler": "0.3.1",
99
+ "miniflare": "3.20240129.2"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@cloudflare/ai": "^1.0.35",
@@ -187,7 +187,7 @@
187
187
  "yargs": "^17.7.2",
188
188
  "yoga-layout": "file:../../vendor/yoga-layout-2.0.0-beta.1.tgz",
189
189
  "@cloudflare/cli": "1.1.1",
190
- "@cloudflare/pages-shared": "^0.11.11",
190
+ "@cloudflare/pages-shared": "^0.11.12",
191
191
  "@cloudflare/workers-tsconfig": "0.0.0"
192
192
  },
193
193
  "optionalDependencies": {
@@ -220,7 +220,7 @@
220
220
  "test": "pnpm run assert-git-version && jest",
221
221
  "test:ci": "pnpm run test --coverage",
222
222
  "test:debug": "pnpm run test --silent=false --verbose=true",
223
- "test:e2e": "vitest --test-timeout 240000 --single-thread --dir ./e2e --retry 2 run",
223
+ "test:e2e": "vitest --test-timeout 240000 --poolOptions.threads.singleThread --dir ./e2e --retry 2 run",
224
224
  "test:watch": "pnpm run test --testTimeout=50000 --watch",
225
225
  "type:tests": "tsc -p ./src/__tests__/tsconfig.json && tsc -p ./e2e/tsconfig.json"
226
226
  }
@@ -113,10 +113,11 @@ export class ProxyWorker implements DurableObject {
113
113
  this.requestRetryQueue.delete(request);
114
114
  this.requestQueue.delete(request);
115
115
 
116
- const userWorkerUrl = new URL(request.url);
116
+ const outerUrl = new URL(request.url);
117
117
  const headers = new Headers(request.headers);
118
118
 
119
119
  // override url parts for proxying
120
+ const userWorkerUrl = new URL(request.url);
120
121
  Object.assign(userWorkerUrl, proxyData.userWorkerUrl);
121
122
 
122
123
  // set request.url in the UserWorker
@@ -125,6 +126,8 @@ export class ProxyWorker implements DurableObject {
125
126
  headers.set("MF-Original-URL", innerUrl.href);
126
127
  headers.set("MF-Disable-Pretty-Error", "true"); // disables the UserWorker miniflare instance from rendering the pretty error -- instead the ProxyWorker miniflare instance will intercept the json error response and render the pretty error page
127
128
 
129
+ rewriteUrlRelatedHeaders(headers, outerUrl, innerUrl);
130
+
128
131
  // merge proxyData headers with the request headers
129
132
  for (const [key, value] of Object.entries(proxyData.headers ?? {})) {
130
133
  if (value === undefined) continue;
@@ -140,6 +143,9 @@ export class ProxyWorker implements DurableObject {
140
143
  // explicitly NOT await-ing this promise, we are in a loop and want to process the whole queue quickly + synchronously
141
144
  void fetch(userWorkerUrl, new Request(request, { headers }))
142
145
  .then((res) => {
146
+ res = new Response(res.body, res);
147
+ rewriteUrlRelatedHeaders(res.headers, innerUrl, outerUrl);
148
+
143
149
  if (isHtmlResponse(res)) {
144
150
  res = insertLiveReloadScript(request, res, this.env, proxyData);
145
151
  }
@@ -290,3 +296,20 @@ function insertLiveReloadScript(
290
296
 
291
297
  return htmlRewriter.transform(response);
292
298
  }
299
+
300
+ /**
301
+ * Rewrite references to URLs in request/response headers.
302
+ *
303
+ * This function is used to map the URLs in headers like Origin and Access-Control-Allow-Origin
304
+ * so that this proxy is transparent to the Client Browser and User Worker.
305
+ */
306
+ function rewriteUrlRelatedHeaders(headers: Headers, from: URL, to: URL) {
307
+ headers.forEach((value, key) => {
308
+ if (typeof value === "string" && value.includes(from.host)) {
309
+ headers.set(
310
+ key,
311
+ value.replaceAll(from.origin, to.origin).replaceAll(from.host, to.host)
312
+ );
313
+ }
314
+ });
315
+ }
@@ -90,13 +90,15 @@ var ProxyWorker = class {
90
90
  for (const [request, deferredResponse] of this.getOrderedQueue()) {
91
91
  this.requestRetryQueue.delete(request);
92
92
  this.requestQueue.delete(request);
93
- const userWorkerUrl = new URL(request.url);
93
+ const outerUrl = new URL(request.url);
94
94
  const headers = new Headers(request.headers);
95
+ const userWorkerUrl = new URL(request.url);
95
96
  Object.assign(userWorkerUrl, proxyData.userWorkerUrl);
96
97
  const innerUrl = new URL(request.url);
97
98
  Object.assign(innerUrl, proxyData.userWorkerInnerUrlOverrides);
98
99
  headers.set("MF-Original-URL", innerUrl.href);
99
100
  headers.set("MF-Disable-Pretty-Error", "true");
101
+ rewriteUrlRelatedHeaders(headers, outerUrl, innerUrl);
100
102
  for (const [key, value] of Object.entries(proxyData.headers ?? {})) {
101
103
  if (value === void 0)
102
104
  continue;
@@ -108,6 +110,8 @@ var ProxyWorker = class {
108
110
  }
109
111
  }
110
112
  void fetch(userWorkerUrl, new Request(request, { headers })).then((res) => {
113
+ res = new Response(res.body, res);
114
+ rewriteUrlRelatedHeaders(res.headers, innerUrl, outerUrl);
111
115
  if (isHtmlResponse(res)) {
112
116
  res = insertLiveReloadScript(request, res, this.env, proxyData);
113
117
  }
@@ -205,6 +209,16 @@ function insertLiveReloadScript(request, response, env, proxyData) {
205
209
  });
206
210
  return htmlRewriter.transform(response);
207
211
  }
212
+ function rewriteUrlRelatedHeaders(headers, from, to) {
213
+ headers.forEach((value, key) => {
214
+ if (typeof value === "string" && value.includes(from.host)) {
215
+ headers.set(
216
+ key,
217
+ value.replaceAll(from.origin, to.origin).replaceAll(from.host, to.host)
218
+ );
219
+ }
220
+ });
221
+ }
208
222
  export {
209
223
  ProxyWorker,
210
224
  ProxyWorker_default as default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/api/startDevWorker/utils.ts", "../templates/startDevWorker/ProxyWorker.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -137,27 +137,11 @@ declare type Binding = {
137
137
  /**
138
138
  * Result of the `getBindingsProxy` utility
139
139
  */
140
- export declare type BindingsProxy<Bindings = Record<string, unknown>, CfProperties extends Record<string, unknown> = IncomingRequestCfProperties_2> = {
140
+ export declare type BindingsProxy<Bindings = Record<string, unknown>, CfProperties extends Record<string, unknown> = IncomingRequestCfProperties_2> = Omit<PlatformProxy<Bindings, CfProperties>, "env"> & {
141
141
  /**
142
142
  * Object containing the various proxies
143
143
  */
144
144
  bindings: Bindings;
145
- /**
146
- * Mock of the context object that Workers received in their request handler, all the object's methods are no-op
147
- */
148
- cf: CfProperties;
149
- /**
150
- * Mock of the context object that Workers received in their request handler, all the object's methods are no-op
151
- */
152
- ctx: ExecutionContext_2;
153
- /**
154
- * Caches object emulating the Workers Cache runtime API
155
- */
156
- caches: CacheStorage_3;
157
- /**
158
- * Function used to dispose of the child process providing the bindings implementation
159
- */
160
- dispose: () => Promise<void>;
161
145
  };
162
146
 
163
147
  declare interface BlobPropertyBag {
@@ -353,7 +337,7 @@ declare const CacheStorage_2: {
353
337
  *
354
338
  * We are not using miniflare's implementation because that would require the user to provide
355
339
  * miniflare-specific Request objects and they would receive back miniflare-specific Response
356
- * objects, this (in particular the Request part) is not really suitable for `getBindingsProxy`
340
+ * objects, this (in particular the Request part) is not really suitable for `getPlatformProxy`
357
341
  * as people would ideally interact with their bindings in a very production-like manner and
358
342
  * requiring them to deal with miniflare-specific classes defeats a bit the purpose of the utility.
359
343
  *
@@ -2280,15 +2264,36 @@ declare type FormDataEntryValue = string | File_2
2280
2264
  * By reading from a `wrangler.toml` file this function generates proxy binding objects that can be
2281
2265
  * used to simulate the interaction with bindings during local development in a Node.js environment
2282
2266
  *
2267
+ * @deprecated use `getPlatformProxy` instead
2268
+ *
2283
2269
  * @param options The various options that can tweak this function's behavior
2284
2270
  * @returns An Object containing the generated proxies alongside other related utilities
2285
2271
  */
2286
2272
  export declare function getBindingsProxy<Bindings = Record<string, unknown>, CfProperties extends Record<string, unknown> = IncomingRequestCfProperties_2>(options?: GetBindingsProxyOptions): Promise<BindingsProxy<Bindings, CfProperties>>;
2287
2273
 
2274
+ /** Options for the `getBindingsProxy` utility */
2275
+ export declare type GetBindingsProxyOptions = GetPlatformProxyOptions;
2276
+
2277
+ declare function getCookies (headers: Headers_2): Record<string, string>
2278
+
2279
+ declare function getGlobalDispatcher(): Dispatcher;
2280
+
2281
+ declare function getGlobalOrigin(): URL | undefined;
2282
+
2283
+ /**
2284
+ * By reading from a `wrangler.toml` file this function generates proxy objects that can be
2285
+ * used to simulate the interaction with the Cloudflare platform during local development
2286
+ * in a Node.js environment
2287
+ *
2288
+ * @param options The various options that can tweak this function's behavior
2289
+ * @returns An Object containing the generated proxies alongside other related utilities
2290
+ */
2291
+ export declare function getPlatformProxy<Env = Record<string, unknown>, CfProperties extends Record<string, unknown> = IncomingRequestCfProperties_2>(options?: GetPlatformProxyOptions): Promise<PlatformProxy<Env, CfProperties>>;
2292
+
2288
2293
  /**
2289
- * Options for the `getBindingsProxy` utility
2294
+ * Options for the `getPlatformProxy` utility
2290
2295
  */
2291
- export declare type GetBindingsProxyOptions = {
2296
+ export declare type GetPlatformProxyOptions = {
2292
2297
  /**
2293
2298
  * The path to the config object to use (default `wrangler.toml`)
2294
2299
  */
@@ -2310,12 +2315,6 @@ export declare type GetBindingsProxyOptions = {
2310
2315
  };
2311
2316
  };
2312
2317
 
2313
- declare function getCookies (headers: Headers_2): Record<string, string>
2314
-
2315
- declare function getGlobalDispatcher(): Dispatcher;
2316
-
2317
- declare function getGlobalOrigin(): URL | undefined;
2318
-
2319
2318
  declare function getSetCookies (headers: Headers_2): Cookie[]
2320
2319
 
2321
2320
  declare class Headers_2 implements SpecIterable<[string, string]> {
@@ -2660,6 +2659,32 @@ options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions, 'origin'
2660
2659
  handler: Dispatcher.PipelineHandler
2661
2660
  ): Duplex;
2662
2661
 
2662
+ /**
2663
+ * Result of the `getPlatformProxy` utility
2664
+ */
2665
+ export declare type PlatformProxy<Env = Record<string, unknown>, CfProperties extends Record<string, unknown> = IncomingRequestCfProperties_2> = {
2666
+ /**
2667
+ * Environment object containing the various Cloudflare bindings
2668
+ */
2669
+ env: Env;
2670
+ /**
2671
+ * Mock of the context object that Workers received in their request handler, all the object's methods are no-op
2672
+ */
2673
+ cf: CfProperties;
2674
+ /**
2675
+ * Mock of the context object that Workers received in their request handler, all the object's methods are no-op
2676
+ */
2677
+ ctx: ExecutionContext_2;
2678
+ /**
2679
+ * Caches object emulating the Workers Cache runtime API
2680
+ */
2681
+ caches: CacheStorage_3;
2682
+ /**
2683
+ * Function used to dispose of the child process providing the bindings implementation
2684
+ */
2685
+ dispose: () => Promise<void>;
2686
+ };
2687
+
2663
2688
  declare class Pool extends Dispatcher {
2664
2689
  constructor(url: string | URL_2, options?: Pool.Options)
2665
2690
  /** `true` after `pool.close()` has been called. */
@@ -23018,7 +23043,7 @@ declare type ProxyData = {
23018
23043
  userWorkerUrl: UrlOriginParts;
23019
23044
  userWorkerInspectorUrl: UrlOriginAndPathnameParts;
23020
23045
  userWorkerInnerUrlOverrides: Partial<UrlOriginParts>;
23021
- headers: Record<string, string | undefined>;
23046
+ headers: Record<string, string>;
23022
23047
  liveReload?: boolean;
23023
23048
  proxyLogsToController?: boolean;
23024
23049
  internalDurableObjects?: CfDurableObject[];