@cloudflare/vite-plugin 0.0.0-c412a3198 → 0.0.0-c4fa349da
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/README.md +9 -0
- package/dist/asset-workers/asset-worker.js +1597 -1745
- package/dist/asset-workers/router-worker.js +1277 -1585
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7747 -632
- package/dist/runner-worker/index.js +50 -20
- package/package.json +20 -12
|
@@ -5,23 +5,22 @@ import {
|
|
|
5
5
|
WorkflowEntrypoint
|
|
6
6
|
} from "cloudflare:workers";
|
|
7
7
|
|
|
8
|
+
// src/constants.ts
|
|
9
|
+
var MODULE_TYPES = ["CompiledWasm"];
|
|
10
|
+
|
|
8
11
|
// src/shared.ts
|
|
9
12
|
var UNKNOWN_HOST = "http://localhost";
|
|
10
13
|
var INIT_PATH = "/__vite_plugin_cloudflare_init__";
|
|
14
|
+
var MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${MODULE_TYPES.join("|")})__(.*?)__`;
|
|
15
|
+
var VITE_DEV_METADATA_HEADER = "__VITE_DEV_METADATA__";
|
|
11
16
|
|
|
12
17
|
// src/runner-worker/env.ts
|
|
13
18
|
function stripInternalEnv(internalEnv) {
|
|
14
|
-
const {
|
|
15
|
-
__VITE_ROOT__,
|
|
16
|
-
__VITE_ENTRY_PATH__,
|
|
17
|
-
__VITE_INVOKE_MODULE__,
|
|
18
|
-
__VITE_UNSAFE_EVAL__,
|
|
19
|
-
...userEnv
|
|
20
|
-
} = internalEnv;
|
|
19
|
+
const { __VITE_INVOKE_MODULE__, __VITE_UNSAFE_EVAL__, ...userEnv } = internalEnv;
|
|
21
20
|
return userEnv;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
// ../../node_modules/.pnpm/vite@6.
|
|
23
|
+
// ../../node_modules/.pnpm/vite@6.1.0_@types+node@18.19.76_jiti@2.4.2/node_modules/vite/dist/node/module-runner.js
|
|
25
24
|
var VALID_ID_PREFIX = "/@id/";
|
|
26
25
|
var NULL_BYTE_PLACEHOLDER = "__x00__";
|
|
27
26
|
var SOURCEMAPPING_URL = "sourceMa";
|
|
@@ -1352,7 +1351,7 @@ function exportAll(exports, sourceModule) {
|
|
|
1352
1351
|
|
|
1353
1352
|
// src/runner-worker/module-runner.ts
|
|
1354
1353
|
var moduleRunner;
|
|
1355
|
-
async function createModuleRunner(env, webSocket) {
|
|
1354
|
+
async function createModuleRunner(env, webSocket, viteRoot) {
|
|
1356
1355
|
if (moduleRunner) {
|
|
1357
1356
|
throw new Error("Runner already initialized");
|
|
1358
1357
|
}
|
|
@@ -1364,7 +1363,7 @@ async function createModuleRunner(env, webSocket) {
|
|
|
1364
1363
|
});
|
|
1365
1364
|
moduleRunner = new ModuleRunner(
|
|
1366
1365
|
{
|
|
1367
|
-
root:
|
|
1366
|
+
root: viteRoot,
|
|
1368
1367
|
sourcemapInterceptor: "prepareStackTrace",
|
|
1369
1368
|
transport: {
|
|
1370
1369
|
...transport,
|
|
@@ -1409,7 +1408,8 @@ async function createModuleRunner(env, webSocket) {
|
|
|
1409
1408
|
}
|
|
1410
1409
|
},
|
|
1411
1410
|
async runExternalModule(filepath) {
|
|
1412
|
-
|
|
1411
|
+
const moduleRE = new RegExp(MODULE_PATTERN);
|
|
1412
|
+
if (!moduleRE.test(filepath) && filepath.includes("/node_modules") && !filepath.includes("/node_modules/.vite")) {
|
|
1413
1413
|
throw new Error(
|
|
1414
1414
|
`[Error] Trying to import non-prebundled module (only prebundled modules are allowed): ${filepath}
|
|
1415
1415
|
|
|
@@ -1448,6 +1448,7 @@ var DURABLE_OBJECT_KEYS = [
|
|
|
1448
1448
|
"webSocketError"
|
|
1449
1449
|
];
|
|
1450
1450
|
var WORKFLOW_ENTRYPOINT_KEYS = ["run"];
|
|
1451
|
+
var entryPath = "";
|
|
1451
1452
|
function getRpcProperty(ctor, instance, key) {
|
|
1452
1453
|
const prototypeHasKey = Reflect.has(ctor.prototype, key);
|
|
1453
1454
|
if (!prototypeHasKey) {
|
|
@@ -1480,7 +1481,6 @@ function getRpcPropertyCallableThenable(key, property) {
|
|
|
1480
1481
|
return fn;
|
|
1481
1482
|
}
|
|
1482
1483
|
async function getWorkerEntrypointRpcProperty(entrypoint, key) {
|
|
1483
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1484
1484
|
const ctor = await getWorkerEntryExport(
|
|
1485
1485
|
entryPath,
|
|
1486
1486
|
entrypoint
|
|
@@ -1525,21 +1525,27 @@ function createWorkerEntrypointWrapper(entrypoint) {
|
|
|
1525
1525
|
}
|
|
1526
1526
|
for (const key of WORKER_ENTRYPOINT_KEYS) {
|
|
1527
1527
|
Wrapper.prototype[key] = async function(arg) {
|
|
1528
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1529
1528
|
if (key === "fetch") {
|
|
1530
1529
|
const request = arg;
|
|
1531
1530
|
const url = new URL(request.url);
|
|
1531
|
+
let webSocket;
|
|
1532
1532
|
if (url.pathname === INIT_PATH) {
|
|
1533
|
-
const { 0: client, 1: server } = new WebSocketPair();
|
|
1534
1533
|
try {
|
|
1535
|
-
|
|
1534
|
+
const viteDevMetadata = getViteDevMetadata(request);
|
|
1535
|
+
entryPath = viteDevMetadata.entryPath;
|
|
1536
|
+
const { 0: client, 1: server } = new WebSocketPair();
|
|
1537
|
+
webSocket = client;
|
|
1538
|
+
await createModuleRunner(this.env, server, viteDevMetadata.root);
|
|
1536
1539
|
} catch (e) {
|
|
1537
1540
|
return new Response(
|
|
1538
1541
|
e instanceof Error ? e.message : JSON.stringify(e),
|
|
1539
1542
|
{ status: 500 }
|
|
1540
1543
|
);
|
|
1541
1544
|
}
|
|
1542
|
-
return new Response(null, {
|
|
1545
|
+
return new Response(null, {
|
|
1546
|
+
status: 101,
|
|
1547
|
+
webSocket
|
|
1548
|
+
});
|
|
1543
1549
|
}
|
|
1544
1550
|
}
|
|
1545
1551
|
const entrypointValue = await getWorkerEntryExport(entryPath, entrypoint);
|
|
@@ -1579,7 +1585,6 @@ function createWorkerEntrypointWrapper(entrypoint) {
|
|
|
1579
1585
|
var kInstance = Symbol("kInstance");
|
|
1580
1586
|
var kEnsureInstance = Symbol("kEnsureInstance");
|
|
1581
1587
|
async function getDurableObjectRpcProperty(className, key) {
|
|
1582
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1583
1588
|
const { ctor, instance } = await this[kEnsureInstance]();
|
|
1584
1589
|
if (!(instance instanceof DurableObject)) {
|
|
1585
1590
|
throw new TypeError(
|
|
@@ -1616,7 +1621,6 @@ function createDurableObjectWrapper(className) {
|
|
|
1616
1621
|
});
|
|
1617
1622
|
}
|
|
1618
1623
|
async [kEnsureInstance]() {
|
|
1619
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1620
1624
|
const ctor = await getWorkerEntryExport(
|
|
1621
1625
|
entryPath,
|
|
1622
1626
|
className
|
|
@@ -1638,7 +1642,6 @@ function createDurableObjectWrapper(className) {
|
|
|
1638
1642
|
}
|
|
1639
1643
|
for (const key of DURABLE_OBJECT_KEYS) {
|
|
1640
1644
|
Wrapper.prototype[key] = async function(...args) {
|
|
1641
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1642
1645
|
const { instance } = await this[kEnsureInstance]();
|
|
1643
1646
|
const maybeFn = instance[key];
|
|
1644
1647
|
if (typeof maybeFn !== "function") {
|
|
@@ -1656,7 +1659,6 @@ function createWorkflowEntrypointWrapper(className) {
|
|
|
1656
1659
|
}
|
|
1657
1660
|
for (const key of WORKFLOW_ENTRYPOINT_KEYS) {
|
|
1658
1661
|
Wrapper.prototype[key] = async function(...args) {
|
|
1659
|
-
const entryPath = this.env.__VITE_ENTRY_PATH__;
|
|
1660
1662
|
const ctor = await getWorkerEntryExport(
|
|
1661
1663
|
entryPath,
|
|
1662
1664
|
className
|
|
@@ -1679,6 +1681,34 @@ function createWorkflowEntrypointWrapper(className) {
|
|
|
1679
1681
|
}
|
|
1680
1682
|
return Wrapper;
|
|
1681
1683
|
}
|
|
1684
|
+
function getViteDevMetadata(request) {
|
|
1685
|
+
const viteDevMetadataHeader = request.headers.get(VITE_DEV_METADATA_HEADER);
|
|
1686
|
+
if (viteDevMetadataHeader === null) {
|
|
1687
|
+
throw new Error(
|
|
1688
|
+
"Unexpected internal error, vite dev metadata header not set"
|
|
1689
|
+
);
|
|
1690
|
+
}
|
|
1691
|
+
let parsedViteDevMetadataHeader;
|
|
1692
|
+
try {
|
|
1693
|
+
parsedViteDevMetadataHeader = JSON.parse(viteDevMetadataHeader);
|
|
1694
|
+
} catch {
|
|
1695
|
+
throw new Error(
|
|
1696
|
+
`Unexpected internal error, vite dev metadata header JSON parsing failed, value = ${viteDevMetadataHeader}`
|
|
1697
|
+
);
|
|
1698
|
+
}
|
|
1699
|
+
const { root, entryPath: entryPath2 } = parsedViteDevMetadataHeader;
|
|
1700
|
+
if (root === void 0) {
|
|
1701
|
+
throw new Error(
|
|
1702
|
+
"Unexpected internal error, vite dev metadata header doesn't contain a root value"
|
|
1703
|
+
);
|
|
1704
|
+
}
|
|
1705
|
+
if (entryPath2 === void 0) {
|
|
1706
|
+
throw new Error(
|
|
1707
|
+
"Unexpected internal error, vite dev metadata header doesn't contain an entryPath value"
|
|
1708
|
+
);
|
|
1709
|
+
}
|
|
1710
|
+
return { root, entryPath: entryPath2 };
|
|
1711
|
+
}
|
|
1682
1712
|
export {
|
|
1683
1713
|
createDurableObjectWrapper,
|
|
1684
1714
|
createWorkerEntrypointWrapper,
|
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-c4fa349da",
|
|
4
4
|
"description": "Cloudflare plugin for Vite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -33,26 +33,32 @@
|
|
|
33
33
|
"dist"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
+
"@cloudflare/unenv-preset": "1.1.1",
|
|
36
37
|
"@hattip/adapter-node": "^0.0.49",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
38
|
+
"tinyglobby": "^0.2.12",
|
|
39
|
+
"unenv": "2.0.0-rc.1",
|
|
40
|
+
"ws": "8.18.0",
|
|
41
|
+
"wrangler": "0.0.0-c4fa349da",
|
|
42
|
+
"miniflare": "0.0.0-c4fa349da"
|
|
40
43
|
},
|
|
41
44
|
"devDependencies": {
|
|
42
|
-
"@cloudflare/workers-types": "^4.
|
|
45
|
+
"@cloudflare/workers-types": "^4.20250317.0",
|
|
43
46
|
"@types/node": "^22.10.1",
|
|
44
47
|
"@types/ws": "^8.5.13",
|
|
45
48
|
"magic-string": "^0.30.12",
|
|
49
|
+
"mlly": "^1.7.4",
|
|
46
50
|
"tsup": "8.3.0",
|
|
47
51
|
"typescript": "^5.7.2",
|
|
48
|
-
"
|
|
52
|
+
"undici": "^5.28.5",
|
|
53
|
+
"vite": "^6.1.0",
|
|
54
|
+
"vitest": "~3.0.5",
|
|
49
55
|
"@cloudflare/workers-tsconfig": "0.0.0",
|
|
50
|
-
"
|
|
51
|
-
"@cloudflare/workers-shared": "0.0.0-
|
|
56
|
+
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
57
|
+
"@cloudflare/workers-shared": "0.0.0-c4fa349da"
|
|
52
58
|
},
|
|
53
59
|
"peerDependencies": {
|
|
54
|
-
"vite": "^6.0
|
|
55
|
-
"wrangler": "^3.101.0"
|
|
60
|
+
"vite": "^6.1.0",
|
|
61
|
+
"wrangler": "^3.101.0 || ^4.0.0"
|
|
56
62
|
},
|
|
57
63
|
"publishConfig": {
|
|
58
64
|
"access": "public"
|
|
@@ -64,7 +70,9 @@
|
|
|
64
70
|
"build": "tsup",
|
|
65
71
|
"check:type": "tsc --build",
|
|
66
72
|
"dev": "tsup --watch",
|
|
67
|
-
"test": "vitest",
|
|
68
|
-
"test:ci": "
|
|
73
|
+
"test": "vitest run",
|
|
74
|
+
"test:ci": "pnpm test",
|
|
75
|
+
"test:e2e": "vitest run -c e2e/vitest.config.ts",
|
|
76
|
+
"test:watch": "vitest"
|
|
69
77
|
}
|
|
70
78
|
}
|