@cloudflare/vite-plugin 0.1.9 → 0.1.10

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.
@@ -2000,8 +2000,7 @@ var Bc = { async fetch(t, e, n) {
2000
2000
  let p = await e.ASSET_WORKER.unstable_canFetch(t);
2001
2001
  return c.has_user_worker && !p ? (s.setData({ dispatchtype: "worker" }), await e.JAEGER.enterSpan("dispatch_worker", async (l) => (l.setTags({ hasUserWorker: c.has_user_worker, asset: p, dispatchType: "worker" }), o = true, e.USER_WORKER.fetch(f)))) : (s.setData({ dispatchtype: "asset" }), await e.JAEGER.enterSpan("dispatch_assets", async (l) => (l.setTags({ hasUserWorker: c.has_user_worker, asset: p, dispatchType: "asset" }), e.ASSET_WORKER.fetch(f))));
2002
2002
  } catch (c) {
2003
- if (o) return;
2004
- throw c instanceof Error && s.setData({ error: c.message }), r && r.captureException(c), c;
2003
+ throw o || (c instanceof Error && s.setData({ error: c.message }), r && r.captureException(c)), c;
2005
2004
  } finally {
2006
2005
  s.setData({ requestTime: i.now() - a }), s.write();
2007
2006
  }
package/dist/index.js CHANGED
@@ -1552,7 +1552,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
1552
1552
  }
1553
1553
  }
1554
1554
  ];
1555
- const userWorkers = resolvedPluginConfig.type === "workers" ? Object.entries(resolvedPluginConfig.workers).map(
1555
+ const workersFromConfig = resolvedPluginConfig.type === "workers" ? Object.entries(resolvedPluginConfig.workers).map(
1556
1556
  ([environmentName, workerConfig]) => {
1557
1557
  const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
1558
1558
  {
@@ -1561,51 +1561,58 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
1561
1561
  },
1562
1562
  resolvedPluginConfig.cloudflareEnv
1563
1563
  );
1564
+ const { externalWorkers: externalWorkers2 } = miniflareWorkerOptions;
1564
1565
  const { ratelimits, ...workerOptions } = miniflareWorkerOptions.workerOptions;
1565
1566
  return {
1566
- ...workerOptions,
1567
- // We have to add the name again because `unstable_getMiniflareWorkerOptions` sets it to `undefined`
1568
- name: workerConfig.name,
1569
- modulesRoot: miniflareModulesRoot,
1570
- unsafeEvalBinding: "__VITE_UNSAFE_EVAL__",
1571
- bindings: {
1572
- ...workerOptions.bindings,
1573
- __VITE_ROOT__: resolvedViteConfig.root,
1574
- __VITE_ENTRY_PATH__: workerConfig.main
1575
- },
1576
- serviceBindings: {
1577
- ...workerOptions.serviceBindings,
1578
- ...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
1579
- [workerConfig.assets.binding]: ASSET_WORKER_NAME
1580
- } : {},
1581
- __VITE_INVOKE_MODULE__: async (request) => {
1582
- const payload = await request.json();
1583
- const invokePayloadData = payload.data;
1584
- assert4(
1585
- invokePayloadData.name === "fetchModule",
1586
- `Invalid invoke event: ${invokePayloadData.name}`
1587
- );
1588
- const [moduleId] = invokePayloadData.data;
1589
- const moduleRE = new RegExp(MODULE_PATTERN);
1590
- const shouldExternalize = (
1591
- // Worker modules (CompiledWasm, Text, Data)
1592
- moduleRE.test(moduleId)
1593
- );
1594
- if (shouldExternalize) {
1595
- const result2 = {
1596
- externalize: moduleId,
1597
- type: "module"
1598
- };
1599
- return MiniflareResponse.json({ result: result2 });
1567
+ externalWorkers: externalWorkers2,
1568
+ worker: {
1569
+ ...workerOptions,
1570
+ name: workerOptions.name ?? workerConfig.name,
1571
+ modulesRoot: miniflareModulesRoot,
1572
+ unsafeEvalBinding: "__VITE_UNSAFE_EVAL__",
1573
+ bindings: {
1574
+ ...workerOptions.bindings,
1575
+ __VITE_ROOT__: resolvedViteConfig.root,
1576
+ __VITE_ENTRY_PATH__: workerConfig.main
1577
+ },
1578
+ serviceBindings: {
1579
+ ...workerOptions.serviceBindings,
1580
+ ...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
1581
+ [workerConfig.assets.binding]: ASSET_WORKER_NAME
1582
+ } : {},
1583
+ __VITE_INVOKE_MODULE__: async (request) => {
1584
+ const payload = await request.json();
1585
+ const invokePayloadData = payload.data;
1586
+ assert4(
1587
+ invokePayloadData.name === "fetchModule",
1588
+ `Invalid invoke event: ${invokePayloadData.name}`
1589
+ );
1590
+ const [moduleId] = invokePayloadData.data;
1591
+ const moduleRE = new RegExp(MODULE_PATTERN);
1592
+ const shouldExternalize = (
1593
+ // Worker modules (CompiledWasm, Text, Data)
1594
+ moduleRE.test(moduleId)
1595
+ );
1596
+ if (shouldExternalize) {
1597
+ const result2 = {
1598
+ externalize: moduleId,
1599
+ type: "module"
1600
+ };
1601
+ return MiniflareResponse.json({ result: result2 });
1602
+ }
1603
+ const devEnvironment = viteDevServer.environments[environmentName];
1604
+ const result = await devEnvironment.hot.handleInvoke(payload);
1605
+ return MiniflareResponse.json(result);
1600
1606
  }
1601
- const devEnvironment = viteDevServer.environments[environmentName];
1602
- const result = await devEnvironment.hot.handleInvoke(payload);
1603
- return MiniflareResponse.json(result);
1604
1607
  }
1605
1608
  }
1606
1609
  };
1607
1610
  }
1608
1611
  ) : [];
1612
+ const userWorkers = workersFromConfig.map((options) => options.worker);
1613
+ const externalWorkers = workersFromConfig.flatMap(
1614
+ (options) => options.externalWorkers
1615
+ );
1609
1616
  const workerToWorkerEntrypointNamesMap = getWorkerToWorkerEntrypointNamesMap(userWorkers);
1610
1617
  const workerToDurableObjectClassNamesMap = getWorkerToDurableObjectClassNamesMap(userWorkers);
1611
1618
  const workerToWorkflowEntrypointClassNamesMap = getWorkerToWorkflowEntrypointClassNamesMap(userWorkers);
@@ -1625,6 +1632,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
1625
1632
  ),
1626
1633
  workers: [
1627
1634
  ...assetWorkers,
1635
+ ...externalWorkers,
1628
1636
  ...userWorkers.map((workerOptions) => {
1629
1637
  const wrappers = [
1630
1638
  `import { createWorkerEntrypointWrapper, createDurableObjectWrapper, createWorkflowEntrypointWrapper } from '${RUNNER_PATH}';`,
@@ -1740,15 +1748,18 @@ function getPreviewMiniflareOptions(vitePreviewServer, persistState) {
1740
1748
  const workerConfigs = configPaths.map(
1741
1749
  (configPath) => unstable_readConfig({ config: configPath })
1742
1750
  );
1743
- const workers = workerConfigs.map((config) => {
1751
+ const workers = workerConfigs.flatMap((config) => {
1744
1752
  const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(config);
1753
+ const { externalWorkers } = miniflareWorkerOptions;
1745
1754
  const { ratelimits, modulesRules, ...workerOptions } = miniflareWorkerOptions.workerOptions;
1746
- return {
1747
- ...workerOptions,
1748
- // We have to add the name again because `unstable_getMiniflareWorkerOptions` sets it to `undefined`
1749
- name: config.name,
1750
- ...miniflareWorkerOptions.main ? getPreviewModules(miniflareWorkerOptions.main, modulesRules) : { modules: true, script: "" }
1751
- };
1755
+ return [
1756
+ {
1757
+ ...workerOptions,
1758
+ name: workerOptions.name ?? config.name,
1759
+ ...miniflareWorkerOptions.main ? getPreviewModules(miniflareWorkerOptions.main, modulesRules) : { modules: true, script: "" }
1760
+ },
1761
+ ...externalWorkers
1762
+ ];
1752
1763
  });
1753
1764
  const logger = new ViteMiniflareLogger(resolvedViteConfig);
1754
1765
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -38,10 +38,11 @@
38
38
  "tinyglobby": "^0.2.12",
39
39
  "unenv": "2.0.0-rc.1",
40
40
  "ws": "8.18.0",
41
- "miniflare": "3.20250224.0"
41
+ "miniflare": "3.20250310.0",
42
+ "wrangler": "3.114.1"
42
43
  },
43
44
  "devDependencies": {
44
- "@cloudflare/workers-types": "^4.20250224.0",
45
+ "@cloudflare/workers-types": "^4.20250310.0",
45
46
  "@types/node": "^22.10.1",
46
47
  "@types/ws": "^8.5.13",
47
48
  "magic-string": "^0.30.12",
@@ -52,9 +53,8 @@
52
53
  "vite": "^6.1.0",
53
54
  "vitest": "~3.0.5",
54
55
  "@cloudflare/mock-npm-registry": "0.0.0",
55
- "@cloudflare/workers-shared": "0.14.5",
56
- "@cloudflare/workers-tsconfig": "0.0.0",
57
- "wrangler": "3.113.0"
56
+ "@cloudflare/workers-shared": "0.15.0",
57
+ "@cloudflare/workers-tsconfig": "0.0.0"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "vite": "^6.1.0",
@@ -71,7 +71,7 @@
71
71
  "check:type": "tsc --build",
72
72
  "dev": "tsup --watch",
73
73
  "test": "vitest run",
74
- "test:ci": "pnpm test && pnpm test:e2e",
74
+ "test:ci": "pnpm test",
75
75
  "test:e2e": "vitest run -c e2e/vitest.config.ts",
76
76
  "test:watch": "vitest"
77
77
  }