@cloudflare/vite-plugin 0.0.0-d033a7da1 → 0.0.0-d0d62e6e4
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 +37 -35
- package/package.json +8 -8
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 {
|
|
492
|
+
import { createMiddleware } from "@hattip/adapter-node";
|
|
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
|
|
@@ -13029,6 +13029,19 @@ function toMiniflareRequest(request) {
|
|
|
13029
13029
|
duplex: "half"
|
|
13030
13030
|
});
|
|
13031
13031
|
}
|
|
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
|
+
}
|
|
13032
13045
|
var postfixRE = /[?#].*$/;
|
|
13033
13046
|
function cleanUrl(url) {
|
|
13034
13047
|
return url.replace(postfixRE, "");
|
|
@@ -14169,7 +14182,6 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
|
|
|
14169
14182
|
}
|
|
14170
14183
|
|
|
14171
14184
|
// src/websockets.ts
|
|
14172
|
-
import { createHeaders } from "@mjackson/node-fetch-server";
|
|
14173
14185
|
import { coupleWebSocket } from "miniflare";
|
|
14174
14186
|
import { WebSocketServer } from "ws";
|
|
14175
14187
|
function handleWebSocket(httpServer, getFetcher) {
|
|
@@ -14181,7 +14193,7 @@ function handleWebSocket(httpServer, getFetcher) {
|
|
|
14181
14193
|
if (request.headers["sec-websocket-protocol"]?.startsWith("vite")) {
|
|
14182
14194
|
return;
|
|
14183
14195
|
}
|
|
14184
|
-
const headers =
|
|
14196
|
+
const headers = nodeHeadersToWebHeaders(request.headers);
|
|
14185
14197
|
const fetcher = await getFetcher();
|
|
14186
14198
|
const response = await fetcher(url, {
|
|
14187
14199
|
headers,
|
|
@@ -14470,6 +14482,16 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14470
14482
|
);
|
|
14471
14483
|
}
|
|
14472
14484
|
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
|
+
);
|
|
14473
14495
|
if (viteDevServer.httpServer) {
|
|
14474
14496
|
handleWebSocket(viteDevServer.httpServer, async () => {
|
|
14475
14497
|
assert10(miniflare, `Miniflare not defined`);
|
|
@@ -14478,24 +14500,8 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14478
14500
|
});
|
|
14479
14501
|
}
|
|
14480
14502
|
return () => {
|
|
14481
|
-
viteDevServer.middlewares.use(
|
|
14482
|
-
|
|
14483
|
-
assert10(miniflare, `Miniflare not defined`);
|
|
14484
|
-
const routerWorker = await getRouterWorker(miniflare);
|
|
14485
|
-
const request = createRequest(req, res);
|
|
14486
|
-
const response = await routerWorker.fetch(
|
|
14487
|
-
toMiniflareRequest(request),
|
|
14488
|
-
{
|
|
14489
|
-
redirect: "manual"
|
|
14490
|
-
}
|
|
14491
|
-
);
|
|
14492
|
-
if (req.httpVersionMajor === 2) {
|
|
14493
|
-
response.headers.delete("transfer-encoding");
|
|
14494
|
-
}
|
|
14495
|
-
await sendResponse(res, response);
|
|
14496
|
-
} catch (error) {
|
|
14497
|
-
next(error);
|
|
14498
|
-
}
|
|
14503
|
+
viteDevServer.middlewares.use((req, res, next) => {
|
|
14504
|
+
middleware(req, res, next);
|
|
14499
14505
|
});
|
|
14500
14506
|
};
|
|
14501
14507
|
},
|
|
@@ -14513,24 +14519,20 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14513
14519
|
inputInspectorPort
|
|
14514
14520
|
)
|
|
14515
14521
|
);
|
|
14522
|
+
const middleware = createMiddleware(
|
|
14523
|
+
({ request }) => {
|
|
14524
|
+
return miniflare2.dispatchFetch(toMiniflareRequest(request), {
|
|
14525
|
+
redirect: "manual"
|
|
14526
|
+
});
|
|
14527
|
+
},
|
|
14528
|
+
{ alwaysCallNext: false }
|
|
14529
|
+
);
|
|
14516
14530
|
handleWebSocket(
|
|
14517
14531
|
vitePreviewServer.httpServer,
|
|
14518
14532
|
() => miniflare2.dispatchFetch
|
|
14519
14533
|
);
|
|
14520
|
-
vitePreviewServer.middlewares.use(
|
|
14521
|
-
|
|
14522
|
-
const request = createRequest(req, res);
|
|
14523
|
-
const response = await miniflare2.dispatchFetch(
|
|
14524
|
-
toMiniflareRequest(request),
|
|
14525
|
-
{ redirect: "manual" }
|
|
14526
|
-
);
|
|
14527
|
-
if (req.httpVersionMajor === 2) {
|
|
14528
|
-
response.headers.delete("transfer-encoding");
|
|
14529
|
-
}
|
|
14530
|
-
await sendResponse(res, response);
|
|
14531
|
-
} catch (error) {
|
|
14532
|
-
next(error);
|
|
14533
|
-
}
|
|
14534
|
+
vitePreviewServer.middlewares.use((req, res, next) => {
|
|
14535
|
+
middleware(req, res, next);
|
|
14534
14536
|
});
|
|
14535
14537
|
}
|
|
14536
14538
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/vite-plugin",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-d0d62e6e4",
|
|
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
|
-
"@
|
|
37
|
-
"@mjackson/node-fetch-server": "^0.6.1",
|
|
36
|
+
"@hattip/adapter-node": "^0.0.49",
|
|
38
37
|
"@rollup/plugin-replace": "^6.0.1",
|
|
39
38
|
"get-port": "^7.1.0",
|
|
40
39
|
"picocolors": "^1.1.1",
|
|
41
40
|
"tinyglobby": "^0.2.12",
|
|
42
41
|
"unenv": "2.0.0-rc.15",
|
|
43
42
|
"ws": "8.18.0",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
43
|
+
"@cloudflare/unenv-preset": "0.0.0-d0d62e6e4",
|
|
44
|
+
"miniflare": "0.0.0-d0d62e6e4",
|
|
45
|
+
"wrangler": "0.0.0-d0d62e6e4"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@cloudflare/workers-types": "^4.
|
|
48
|
+
"@cloudflare/workers-types": "^4.20250507.0",
|
|
49
49
|
"@types/node": "^22.10.1",
|
|
50
50
|
"@types/ws": "^8.5.13",
|
|
51
51
|
"magic-string": "^0.30.12",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"vite": "^6.1.0",
|
|
57
57
|
"vitest": "~3.1.1",
|
|
58
58
|
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
59
|
-
"@cloudflare/workers-
|
|
60
|
-
"@cloudflare/workers-
|
|
59
|
+
"@cloudflare/workers-shared": "0.0.0-d0d62e6e4",
|
|
60
|
+
"@cloudflare/workers-tsconfig": "0.0.0"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"vite": "^6.1.0",
|