@cloudflare/vite-plugin 0.0.0-c48dce61d → 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.
@@ -12,16 +12,11 @@ var MODULE_TYPES = ["CompiledWasm"];
12
12
  var UNKNOWN_HOST = "http://localhost";
13
13
  var INIT_PATH = "/__vite_plugin_cloudflare_init__";
14
14
  var MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${MODULE_TYPES.join("|")})__(.*?)__`;
15
+ var VITE_DEV_METADATA_HEADER = "__VITE_DEV_METADATA__";
15
16
 
16
17
  // src/runner-worker/env.ts
17
18
  function stripInternalEnv(internalEnv) {
18
- const {
19
- __VITE_ROOT__,
20
- __VITE_ENTRY_PATH__,
21
- __VITE_INVOKE_MODULE__,
22
- __VITE_UNSAFE_EVAL__,
23
- ...userEnv
24
- } = internalEnv;
19
+ const { __VITE_INVOKE_MODULE__, __VITE_UNSAFE_EVAL__, ...userEnv } = internalEnv;
25
20
  return userEnv;
26
21
  }
27
22
 
@@ -1356,7 +1351,7 @@ function exportAll(exports, sourceModule) {
1356
1351
 
1357
1352
  // src/runner-worker/module-runner.ts
1358
1353
  var moduleRunner;
1359
- async function createModuleRunner(env, webSocket) {
1354
+ async function createModuleRunner(env, webSocket, viteRoot) {
1360
1355
  if (moduleRunner) {
1361
1356
  throw new Error("Runner already initialized");
1362
1357
  }
@@ -1368,7 +1363,7 @@ async function createModuleRunner(env, webSocket) {
1368
1363
  });
1369
1364
  moduleRunner = new ModuleRunner(
1370
1365
  {
1371
- root: env.__VITE_ROOT__,
1366
+ root: viteRoot,
1372
1367
  sourcemapInterceptor: "prepareStackTrace",
1373
1368
  transport: {
1374
1369
  ...transport,
@@ -1453,6 +1448,7 @@ var DURABLE_OBJECT_KEYS = [
1453
1448
  "webSocketError"
1454
1449
  ];
1455
1450
  var WORKFLOW_ENTRYPOINT_KEYS = ["run"];
1451
+ var entryPath = "";
1456
1452
  function getRpcProperty(ctor, instance, key) {
1457
1453
  const prototypeHasKey = Reflect.has(ctor.prototype, key);
1458
1454
  if (!prototypeHasKey) {
@@ -1485,7 +1481,6 @@ function getRpcPropertyCallableThenable(key, property) {
1485
1481
  return fn;
1486
1482
  }
1487
1483
  async function getWorkerEntrypointRpcProperty(entrypoint, key) {
1488
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1489
1484
  const ctor = await getWorkerEntryExport(
1490
1485
  entryPath,
1491
1486
  entrypoint
@@ -1530,21 +1525,27 @@ function createWorkerEntrypointWrapper(entrypoint) {
1530
1525
  }
1531
1526
  for (const key of WORKER_ENTRYPOINT_KEYS) {
1532
1527
  Wrapper.prototype[key] = async function(arg) {
1533
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1534
1528
  if (key === "fetch") {
1535
1529
  const request = arg;
1536
1530
  const url = new URL(request.url);
1531
+ let webSocket;
1537
1532
  if (url.pathname === INIT_PATH) {
1538
- const { 0: client, 1: server } = new WebSocketPair();
1539
1533
  try {
1540
- await createModuleRunner(this.env, server);
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);
1541
1539
  } catch (e) {
1542
1540
  return new Response(
1543
1541
  e instanceof Error ? e.message : JSON.stringify(e),
1544
1542
  { status: 500 }
1545
1543
  );
1546
1544
  }
1547
- return new Response(null, { status: 101, webSocket: client });
1545
+ return new Response(null, {
1546
+ status: 101,
1547
+ webSocket
1548
+ });
1548
1549
  }
1549
1550
  }
1550
1551
  const entrypointValue = await getWorkerEntryExport(entryPath, entrypoint);
@@ -1584,7 +1585,6 @@ function createWorkerEntrypointWrapper(entrypoint) {
1584
1585
  var kInstance = Symbol("kInstance");
1585
1586
  var kEnsureInstance = Symbol("kEnsureInstance");
1586
1587
  async function getDurableObjectRpcProperty(className, key) {
1587
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1588
1588
  const { ctor, instance } = await this[kEnsureInstance]();
1589
1589
  if (!(instance instanceof DurableObject)) {
1590
1590
  throw new TypeError(
@@ -1621,7 +1621,6 @@ function createDurableObjectWrapper(className) {
1621
1621
  });
1622
1622
  }
1623
1623
  async [kEnsureInstance]() {
1624
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1625
1624
  const ctor = await getWorkerEntryExport(
1626
1625
  entryPath,
1627
1626
  className
@@ -1643,7 +1642,6 @@ function createDurableObjectWrapper(className) {
1643
1642
  }
1644
1643
  for (const key of DURABLE_OBJECT_KEYS) {
1645
1644
  Wrapper.prototype[key] = async function(...args) {
1646
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1647
1645
  const { instance } = await this[kEnsureInstance]();
1648
1646
  const maybeFn = instance[key];
1649
1647
  if (typeof maybeFn !== "function") {
@@ -1661,7 +1659,6 @@ function createWorkflowEntrypointWrapper(className) {
1661
1659
  }
1662
1660
  for (const key of WORKFLOW_ENTRYPOINT_KEYS) {
1663
1661
  Wrapper.prototype[key] = async function(...args) {
1664
- const entryPath = this.env.__VITE_ENTRY_PATH__;
1665
1662
  const ctor = await getWorkerEntryExport(
1666
1663
  entryPath,
1667
1664
  className
@@ -1684,6 +1681,34 @@ function createWorkflowEntrypointWrapper(className) {
1684
1681
  }
1685
1682
  return Wrapper;
1686
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
+ }
1687
1712
  export {
1688
1713
  createDurableObjectWrapper,
1689
1714
  createWorkerEntrypointWrapper,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "0.0.0-c48dce61d",
3
+ "version": "0.0.0-c4fa349da",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -38,11 +38,11 @@
38
38
  "tinyglobby": "^0.2.12",
39
39
  "unenv": "2.0.0-rc.1",
40
40
  "ws": "8.18.0",
41
- "miniflare": "0.0.0-c48dce61d",
42
- "wrangler": "0.0.0-c48dce61d"
41
+ "wrangler": "0.0.0-c4fa349da",
42
+ "miniflare": "0.0.0-c4fa349da"
43
43
  },
44
44
  "devDependencies": {
45
- "@cloudflare/workers-types": "^4.20250310.0",
45
+ "@cloudflare/workers-types": "^4.20250317.0",
46
46
  "@types/node": "^22.10.1",
47
47
  "@types/ws": "^8.5.13",
48
48
  "magic-string": "^0.30.12",
@@ -52,13 +52,13 @@
52
52
  "undici": "^5.28.5",
53
53
  "vite": "^6.1.0",
54
54
  "vitest": "~3.0.5",
55
+ "@cloudflare/workers-tsconfig": "0.0.0",
55
56
  "@cloudflare/mock-npm-registry": "0.0.0",
56
- "@cloudflare/workers-shared": "0.0.0-c48dce61d",
57
- "@cloudflare/workers-tsconfig": "0.0.0"
57
+ "@cloudflare/workers-shared": "0.0.0-c4fa349da"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "vite": "^6.1.0",
61
- "wrangler": "^3.101.0"
61
+ "wrangler": "^3.101.0 || ^4.0.0"
62
62
  },
63
63
  "publishConfig": {
64
64
  "access": "public"