@cloudflare/vite-plugin 1.4.0 → 1.5.0

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.
@@ -5994,6 +5994,7 @@ var ADDITIONAL_MODULE_TYPES = [
5994
5994
  "Data",
5995
5995
  "Text"
5996
5996
  ];
5997
+ var kRequestType = Symbol("kRequestType");
5997
5998
 
5998
5999
  // src/shared.ts
5999
6000
  var UNKNOWN_HOST = "http://localhost";
@@ -6017,7 +6018,7 @@ var CustomAssetWorker = class extends worker_default {
6017
6018
  const url = new URL(eTag, UNKNOWN_HOST);
6018
6019
  const response = await this.env.__VITE_FETCH_ASSET__.fetch(url);
6019
6020
  if (!response.body) {
6020
- throw new Error(`Unexpected error. No HTML found for ${eTag}.`);
6021
+ throw new Error(`Unexpected error. No HTML found for "${eTag}".`);
6021
6022
  }
6022
6023
  return {
6023
6024
  readableStream: response.body,
package/dist/index.js CHANGED
@@ -1571,6 +1571,7 @@ var ADDITIONAL_MODULE_TYPES = [
1571
1571
  "Text"
1572
1572
  ];
1573
1573
  var DEFAULT_INSPECTOR_PORT = 9229;
1574
+ var kRequestType = Symbol("kRequestType");
1574
1575
 
1575
1576
  // src/additional-modules.ts
1576
1577
  var moduleRules = [
@@ -12648,8 +12649,8 @@ function packageResolve(specifier, base, conditions) {
12648
12649
  let packageJsonPath = fileURLToPath$1(packageJsonUrl);
12649
12650
  let lastPath;
12650
12651
  do {
12651
- const stat = tryStatSync(packageJsonPath.slice(0, -13));
12652
- if (!stat || !stat.isDirectory()) {
12652
+ const stat2 = tryStatSync(packageJsonPath.slice(0, -13));
12653
+ if (!stat2 || !stat2.isDirectory()) {
12653
12654
  lastPath = packageJsonPath;
12654
12655
  packageJsonUrl = new URL$1(
12655
12656
  (isScoped ? "../../../../node_modules/" : "../../../node_modules/") + packageName + "/package.json",
@@ -12779,8 +12780,8 @@ function _resolve(id, options = {}) {
12779
12780
  }
12780
12781
  if (isAbsolute(id)) {
12781
12782
  try {
12782
- const stat = statSync(id);
12783
- if (stat.isFile()) {
12783
+ const stat2 = statSync(id);
12784
+ if (stat2.isFile()) {
12784
12785
  return pathToFileURL(id);
12785
12786
  }
12786
12787
  } catch (error) {
@@ -13010,9 +13011,6 @@ function getOutputDirectory(userConfig, environmentName) {
13010
13011
  const rootOutputDirectory = userConfig.build?.outDir ?? "dist";
13011
13012
  return userConfig.environments?.[environmentName]?.build?.outDir ?? path4.join(rootOutputDirectory, environmentName);
13012
13013
  }
13013
- function getRouterWorker(miniflare2) {
13014
- return miniflare2.getWorker(ROUTER_WORKER_NAME);
13015
- }
13016
13014
  function toMiniflareRequest(request) {
13017
13015
  const host = request.headers.get("Host");
13018
13016
  if (host) {
@@ -13522,12 +13520,14 @@ async function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspe
13522
13520
  serviceBindings: {
13523
13521
  __VITE_ASSET_EXISTS__: async (request) => {
13524
13522
  const { pathname } = new URL(request.url);
13525
- const filePath = path6.join(resolvedViteConfig.root, pathname);
13526
- let exists;
13527
- try {
13528
- exists = fs3.statSync(filePath).isFile();
13529
- } catch (error) {
13530
- exists = false;
13523
+ let exists = false;
13524
+ if (pathname.endsWith(".html")) {
13525
+ try {
13526
+ const filePath = path6.join(resolvedViteConfig.root, pathname);
13527
+ const stats = await fsp.stat(filePath);
13528
+ exists = stats.isFile();
13529
+ } catch (error) {
13530
+ }
13531
13531
  }
13532
13532
  return MiniflareResponse.json(exists);
13533
13533
  },
@@ -13541,7 +13541,7 @@ async function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspe
13541
13541
  headers: { "Content-Type": "text/html" }
13542
13542
  });
13543
13543
  } catch (error) {
13544
- throw new Error(`Unexpected error. Failed to load ${pathname}`);
13544
+ throw new Error(`Unexpected error. Failed to load "${pathname}".`);
13545
13545
  }
13546
13546
  }
13547
13547
  }
@@ -13579,7 +13579,12 @@ async function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspe
13579
13579
  serviceBindings: {
13580
13580
  ...workerOptions.serviceBindings,
13581
13581
  ...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
13582
- [workerConfig.assets.binding]: ASSET_WORKER_NAME
13582
+ [workerConfig.assets.binding]: {
13583
+ node: (req, res) => {
13584
+ req[kRequestType] = "asset";
13585
+ viteDevServer.middlewares(req, res);
13586
+ }
13587
+ }
13583
13588
  } : {},
13584
13589
  __VITE_INVOKE_MODULE__: async (request) => {
13585
13590
  const payload = await request.json();
@@ -14522,7 +14527,7 @@ function cloudflare2(pluginConfig = {}) {
14522
14527
  if (viteDevServer.httpServer) {
14523
14528
  handleWebSocket(viteDevServer.httpServer, async () => {
14524
14529
  assert10(miniflare, `Miniflare not defined`);
14525
- const routerWorker = await getRouterWorker(miniflare);
14530
+ const routerWorker = await miniflare.getWorker(ROUTER_WORKER_NAME);
14526
14531
  return routerWorker.fetch;
14527
14532
  });
14528
14533
  }
@@ -14530,14 +14535,21 @@ function cloudflare2(pluginConfig = {}) {
14530
14535
  viteDevServer.middlewares.use(async (req, res, next) => {
14531
14536
  try {
14532
14537
  assert10(miniflare, `Miniflare not defined`);
14533
- const routerWorker = await getRouterWorker(miniflare);
14534
14538
  const request = createRequest(req, res);
14535
- const response = await routerWorker.fetch(
14536
- toMiniflareRequest(request),
14537
- {
14538
- redirect: "manual"
14539
- }
14540
- );
14539
+ let response;
14540
+ if (req[kRequestType] === "asset") {
14541
+ const assetWorker = await miniflare.getWorker(ASSET_WORKER_NAME);
14542
+ response = await assetWorker.fetch(
14543
+ toMiniflareRequest(request),
14544
+ { redirect: "manual" }
14545
+ );
14546
+ } else {
14547
+ const routerWorker = await miniflare.getWorker(ROUTER_WORKER_NAME);
14548
+ response = await routerWorker.fetch(
14549
+ toMiniflareRequest(request),
14550
+ { redirect: "manual" }
14551
+ );
14552
+ }
14541
14553
  if (req.httpVersionMajor === 2) {
14542
14554
  response.headers.delete("transfer-encoding");
14543
14555
  }
@@ -11,6 +11,7 @@ var ADDITIONAL_MODULE_TYPES = [
11
11
  "Data",
12
12
  "Text"
13
13
  ];
14
+ var kRequestType = Symbol("kRequestType");
14
15
 
15
16
  // src/shared.ts
16
17
  var UNKNOWN_HOST = "http://localhost";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -41,8 +41,8 @@
41
41
  "tinyglobby": "^0.2.12",
42
42
  "unenv": "2.0.0-rc.17",
43
43
  "ws": "8.18.0",
44
- "wrangler": "4.19.0",
45
- "miniflare": "4.20250525.1"
44
+ "miniflare": "4.20250525.1",
45
+ "wrangler": "4.19.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@cloudflare/workers-types": "^4.20250525.0",
@@ -52,7 +52,6 @@
52
52
  "mlly": "^1.7.4",
53
53
  "tsup": "8.3.0",
54
54
  "typescript": "^5.7.2",
55
- "undici": "^5.28.5",
56
55
  "vite": "^6.1.0",
57
56
  "vitest": "~3.1.1",
58
57
  "@cloudflare/mock-npm-registry": "0.0.0",