@cloudflare/vite-plugin 0.1.9 → 0.1.11

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
@@ -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 {
@@ -8752,11 +8763,6 @@ function isNodeCompat(workerConfig) {
8752
8763
  if (nodeCompatMode === "v2") {
8753
8764
  return true;
8754
8765
  }
8755
- if (nodeCompatMode === "legacy") {
8756
- throw new Error(
8757
- "Unsupported Node.js compat mode (legacy). Remove the `node_compat` setting and add the `nodejs_compat` flag instead."
8758
- );
8759
- }
8760
8766
  if (nodeCompatMode === "v1") {
8761
8767
  throw new Error(
8762
8768
  `Unsupported Node.js compat mode (v1). Only the v2 mode is supported, either change your compat date to "2024-09-23" or later, or set the "nodejs_compat_v2" compatibility flag`
@@ -8863,7 +8869,6 @@ var nonApplicableWorkerConfigs = {
8863
8869
  "build",
8864
8870
  "find_additional_modules",
8865
8871
  "no_bundle",
8866
- "node_compat",
8867
8872
  "preserve_file_names",
8868
8873
  "site",
8869
8874
  "tsconfig",
@@ -8880,7 +8885,6 @@ var nullableNonApplicable = [
8880
8885
  "find_additional_modules",
8881
8886
  "minify",
8882
8887
  "no_bundle",
8883
- "node_compat",
8884
8888
  "preserve_file_names",
8885
8889
  "site",
8886
8890
  "tsconfig",
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.11",
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": "4.20250310.0",
42
+ "wrangler": "4.0.0"
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.16.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
  }