@cloudflare/vite-plugin 0.0.0-6bda16093 → 0.0.0-6c03bde33

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/dist/index.js CHANGED
@@ -489,7 +489,7 @@ import assert10 from "node:assert";
489
489
  import * as fs5 from "node:fs";
490
490
  import * as fsp2 from "node:fs/promises";
491
491
  import * as path9 from "node:path";
492
- import { createMiddleware } from "@hattip/adapter-node";
492
+ import { createRequest, sendResponse } from "@mjackson/node-fetch-server";
493
493
  import replace from "@rollup/plugin-replace";
494
494
 
495
495
  // ../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
@@ -1589,7 +1589,7 @@ function matchAdditionalModule(source) {
1589
1589
  return null;
1590
1590
  }
1591
1591
  function createModuleReference(type, id) {
1592
- return `__CLOUDFLARE_MODULE__${type}__${id}__`;
1592
+ return `__CLOUDFLARE_MODULE__${type}__${id}__CLOUDFLARE_MODULE__`;
1593
1593
  }
1594
1594
 
1595
1595
  // src/asset-config.ts
@@ -5787,8 +5787,14 @@ var InternalConfigSchema = z.object({
5787
5787
  script_id: z.number().optional(),
5788
5788
  debug: z.boolean().optional()
5789
5789
  });
5790
+ var StaticRoutingSchema = z.object({
5791
+ version: z.literal(1),
5792
+ include: z.array(z.string()),
5793
+ exclude: z.array(z.string()).optional()
5794
+ });
5790
5795
  var RouterConfigSchema = z.object({
5791
5796
  invoke_user_worker_ahead_of_assets: z.boolean().optional(),
5797
+ static_routing: StaticRoutingSchema.optional(),
5792
5798
  has_user_worker: z.boolean().optional(),
5793
5799
  ...InternalConfigSchema.shape
5794
5800
  });
@@ -5829,6 +5835,7 @@ var AssetConfigSchema = z.object({
5829
5835
  not_found_handling: z.enum(["single-page-application", "404-page", "none"]).optional(),
5830
5836
  redirects: RedirectsSchema,
5831
5837
  headers: HeadersSchema,
5838
+ has_static_routing: z.boolean().optional(),
5832
5839
  ...InternalConfigSchema.shape
5833
5840
  });
5834
5841
 
@@ -12993,7 +13000,7 @@ var NodeJsCompatWarnings = class {
12993
13000
  // src/shared.ts
12994
13001
  var UNKNOWN_HOST = "http://localhost";
12995
13002
  var INIT_PATH = "/__vite_plugin_cloudflare_init__";
12996
- var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__`;
13003
+ var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
12997
13004
  var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
12998
13005
  var additionalModuleGlobalRE = new RegExp(
12999
13006
  ADDITIONAL_MODULE_PATTERN,
@@ -13029,19 +13036,6 @@ function toMiniflareRequest(request) {
13029
13036
  duplex: "half"
13030
13037
  });
13031
13038
  }
13032
- function nodeHeadersToWebHeaders(nodeHeaders) {
13033
- const headers = new Headers();
13034
- for (const [key, value] of Object.entries(nodeHeaders)) {
13035
- if (typeof value === "string") {
13036
- headers.append(key, value);
13037
- } else if (Array.isArray(value)) {
13038
- for (const item of value) {
13039
- headers.append(key, item);
13040
- }
13041
- }
13042
- }
13043
- return headers;
13044
- }
13045
13039
  var postfixRE = /[?#].*$/;
13046
13040
  function cleanUrl(url) {
13047
13041
  return url.replace(postfixRE, "");
@@ -14182,6 +14176,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
14182
14176
  }
14183
14177
 
14184
14178
  // src/websockets.ts
14179
+ import { createHeaders } from "@mjackson/node-fetch-server";
14185
14180
  import { coupleWebSocket } from "miniflare";
14186
14181
  import { WebSocketServer } from "ws";
14187
14182
  function handleWebSocket(httpServer, getFetcher) {
@@ -14193,7 +14188,7 @@ function handleWebSocket(httpServer, getFetcher) {
14193
14188
  if (request.headers["sec-websocket-protocol"]?.startsWith("vite")) {
14194
14189
  return;
14195
14190
  }
14196
- const headers = nodeHeadersToWebHeaders(request.headers);
14191
+ const headers = createHeaders(request);
14197
14192
  const fetcher = await getFetcher();
14198
14193
  const response = await fetcher(url, {
14199
14194
  headers,
@@ -14482,16 +14477,6 @@ function cloudflare2(pluginConfig = {}) {
14482
14477
  );
14483
14478
  }
14484
14479
  await initRunners(resolvedPluginConfig, viteDevServer, miniflare);
14485
- const middleware = createMiddleware(
14486
- async ({ request }) => {
14487
- assert10(miniflare, `Miniflare not defined`);
14488
- const routerWorker = await getRouterWorker(miniflare);
14489
- return routerWorker.fetch(toMiniflareRequest(request), {
14490
- redirect: "manual"
14491
- });
14492
- },
14493
- { alwaysCallNext: false }
14494
- );
14495
14480
  if (viteDevServer.httpServer) {
14496
14481
  handleWebSocket(viteDevServer.httpServer, async () => {
14497
14482
  assert10(miniflare, `Miniflare not defined`);
@@ -14500,8 +14485,24 @@ function cloudflare2(pluginConfig = {}) {
14500
14485
  });
14501
14486
  }
14502
14487
  return () => {
14503
- viteDevServer.middlewares.use((req, res, next) => {
14504
- middleware(req, res, next);
14488
+ viteDevServer.middlewares.use(async (req, res, next) => {
14489
+ try {
14490
+ assert10(miniflare, `Miniflare not defined`);
14491
+ const routerWorker = await getRouterWorker(miniflare);
14492
+ const request = createRequest(req, res);
14493
+ const response = await routerWorker.fetch(
14494
+ toMiniflareRequest(request),
14495
+ {
14496
+ redirect: "manual"
14497
+ }
14498
+ );
14499
+ if (req.httpVersionMajor === 2) {
14500
+ response.headers.delete("transfer-encoding");
14501
+ }
14502
+ await sendResponse(res, response);
14503
+ } catch (error) {
14504
+ next(error);
14505
+ }
14505
14506
  });
14506
14507
  };
14507
14508
  },
@@ -14519,20 +14520,24 @@ function cloudflare2(pluginConfig = {}) {
14519
14520
  inputInspectorPort
14520
14521
  )
14521
14522
  );
14522
- const middleware = createMiddleware(
14523
- ({ request }) => {
14524
- return miniflare2.dispatchFetch(toMiniflareRequest(request), {
14525
- redirect: "manual"
14526
- });
14527
- },
14528
- { alwaysCallNext: false }
14529
- );
14530
14523
  handleWebSocket(
14531
14524
  vitePreviewServer.httpServer,
14532
14525
  () => miniflare2.dispatchFetch
14533
14526
  );
14534
- vitePreviewServer.middlewares.use((req, res, next) => {
14535
- middleware(req, res, next);
14527
+ vitePreviewServer.middlewares.use(async (req, res, next) => {
14528
+ try {
14529
+ const request = createRequest(req, res);
14530
+ const response = await miniflare2.dispatchFetch(
14531
+ toMiniflareRequest(request),
14532
+ { redirect: "manual" }
14533
+ );
14534
+ if (req.httpVersionMajor === 2) {
14535
+ response.headers.delete("transfer-encoding");
14536
+ }
14537
+ await sendResponse(res, response);
14538
+ } catch (error) {
14539
+ next(error);
14540
+ }
14536
14541
  });
14537
14542
  }
14538
14543
  },
@@ -15,7 +15,7 @@ var ADDITIONAL_MODULE_TYPES = [
15
15
  // src/shared.ts
16
16
  var UNKNOWN_HOST = "http://localhost";
17
17
  var INIT_PATH = "/__vite_plugin_cloudflare_init__";
18
- var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__`;
18
+ var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
19
19
  var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
20
20
  var additionalModuleGlobalRE = new RegExp(
21
21
  ADDITIONAL_MODULE_PATTERN,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "0.0.0-6bda16093",
3
+ "version": "0.0.0-6c03bde33",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -33,19 +33,19 @@
33
33
  "dist"
34
34
  ],
35
35
  "dependencies": {
36
- "@hattip/adapter-node": "^0.0.49",
36
+ "@cloudflare/unenv-preset": "2.3.2",
37
+ "@mjackson/node-fetch-server": "^0.6.1",
37
38
  "@rollup/plugin-replace": "^6.0.1",
38
39
  "get-port": "^7.1.0",
39
40
  "picocolors": "^1.1.1",
40
41
  "tinyglobby": "^0.2.12",
41
- "unenv": "2.0.0-rc.15",
42
+ "unenv": "2.0.0-rc.17",
42
43
  "ws": "8.18.0",
43
- "@cloudflare/unenv-preset": "0.0.0-6bda16093",
44
- "miniflare": "0.0.0-6bda16093",
45
- "wrangler": "0.0.0-6bda16093"
44
+ "miniflare": "0.0.0-6c03bde33",
45
+ "wrangler": "0.0.0-6c03bde33"
46
46
  },
47
47
  "devDependencies": {
48
- "@cloudflare/workers-types": "^4.20250507.0",
48
+ "@cloudflare/workers-types": "^4.20250523.0",
49
49
  "@types/node": "^22.10.1",
50
50
  "@types/ws": "^8.5.13",
51
51
  "magic-string": "^0.30.12",
@@ -55,9 +55,9 @@
55
55
  "undici": "^5.28.5",
56
56
  "vite": "^6.1.0",
57
57
  "vitest": "~3.1.1",
58
- "@cloudflare/mock-npm-registry": "0.0.0",
59
- "@cloudflare/workers-shared": "0.0.0-6bda16093",
60
- "@cloudflare/workers-tsconfig": "0.0.0"
58
+ "@cloudflare/workers-shared": "0.0.0-6c03bde33",
59
+ "@cloudflare/workers-tsconfig": "0.0.0",
60
+ "@cloudflare/mock-npm-registry": "0.0.0"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "vite": "^6.1.0",