@cloudflare/vite-plugin 1.23.1 → 1.25.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;ACgDK,KDMO,OCNP,CAAA,CAAA,CAAA,GDMoB,OCNpB,CDM4B,CCN5B,EAAA,SAA8B,CAAA;;;;AAA9B,KAjBO,YAAA,GAAe,IAiBtB,CAjB2B,eAiBG,EAAU,MAjBU,mBAiBV,CAA0B;KAAlE,8BAAA,UAAwC;KAExC,mBAAA,GACF,oCACA;KAEE,iCAAA,SACE;AC/BP,KDiCK,8BAAA,GACJ,8BClCuB,CAAA,aAAA,CAAA,CAAA,MAAA,CAAA;AAA8B;AAE5B;AAI0B;AAS1C,cDwBG,0BCtBJ,EAAA;EAGJ;AAEyB;AAMU;EAQnC,SAAA,cAAA,EAAsB;IAChB,SAAA,KAAA,EAAA;MAAR,SAAA,eAAA,EAAA,eAAA;MAES,SAAA,QAAA,EAAA,2DAAA;IACG,CAAA;IAED,SAAA,MAAA,EAAA;MACa,SAAA,eAAA,EAAA,QAAA;MAEX,SAAA,QAAA,EAAA,oDAAA;IAAR,CAAA;IAAO,SAAA,MAAA,EAAA;MAEE,SAAa,eAAA,EAAA,cAAA;MACV,SAAA,QAAA,EAAA,yDAAA;IACJ,CAAA;EAGA,CAAA;EALsB;;AAQtC;;EACe,SAAA,WAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA;CACA;;;AF3BH,KE9BA,YAAA,GF8BqB,OAAR,GAAA;;;UE5Bf,gBAAA;EDKE,eAAY,CAAA,EAAA;IAAQ,IAAA,CAAA,EAAA,MAAA;IAAuB,iBAAA,CAAA,EAAA,MAAA,EAAA;EAA5B,CAAA;;AAezB,UChBQ,iBAAA,SAA0B,gBDkBS,CAAA;EAExC,UAAA,CAAA,EAAA,MAAA;EAIA,MAAA,CAAA,ECtBK,sBDsBL,CAAA,IAAiC,CAAA;AACD;AAQrC,UC5BU,yBAAA,SAAkC,gBD4DlC,CAAA;;;UCxDA,2BAAA,SAAoC;EAflC,UAAA,CAAA,EAAA,MAAY;EAEd,MAAA,EAeD,sBAfiB,CAAA,KAAA,CAAA;AAAA;AAI0B,KAc/C,qBAAA,GACF,yBAVyC,GAWzC,2BAXyD;AAAA,UAalD,YAAA,CATA;EAKL;EAIK,iCAIS,CAAA,EAAA,OAAA;EAGd;EAKA,eAAA,CAAA,EARc,qBAQQ;;KALtB,yBAAA,GAA4B,IAM9B,CALF,wBAKE,EAAA,cAAA,GAAA,MAAA,CAAA;KADE,sBAGO,CAAA,uBAAA,OAAA,CAAA,GAFT,OAES,CAFD,YAEC,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA,EAAA,cAAA,SAAA,IAAA,GAAA,CAAA,MAAA,EACG,YADH,CAAA,GAAA,CACG,MAAA,EAED,YAFC,EAED;EACa,iBAAA,EAAA,yBAAA;AAEX,CAAA,CAAR,EAAA,GAAA,OAAA,CAAQ,YAAR,CAAA,GAAA,IAAA,CAAA;AAAO,UAEE,YAAA,SAAqB,iBAFvB,CAAA;EAEE,gBAAa,CAAA,EACV,qBADU,EAAA;EACV,YAAA,CAAA,EACJ,YADI;EACJ,aAAA,CAAA,EAAA,MAAA,GAAA,KAAA;EAGA,cAAA,CAAA,EAAA,OAAA;EALsB,YAAA,CAAA,EAKtB,YALsB;;AAQrB,UAAA,wBAAA,SAAiC,YAAR,CAAA;EACnB,YAAA,EAAR,OAAQ,CAAA,YAAA,CAAA,cAAA,CAAA,CAAA;EAAR,IAAA,EACR,OADQ,CACA,YADA,CAAA,MAAA,CAAA,CAAA;EACA,kBAAA,EACM,OADN,CACc,YADd,CAAA,oBAAA,CAAA,CAAA;;;;;AF3Bf;;;;ACvBA;;AAAuD,iBEcvC,UAAA,CFduC,YAAA,CAAA,EEcd,YFdc,CAAA,EEcM,IAAA,CAAK,MFdX,EAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;ACgDK,KDMO,OCNP,CAAA,CAAA,CAAA,GDMoB,OCNpB,CDM4B,CCN5B,EAAA,SAA8B,CAAA;;;;AAA9B,KAjBO,YAAA,GAAe,IAiBtB,CAjB2B,eAiBG,EAAU,MAjBU,mBAiBV,CAAA;KAAxC,8BAAA,UAAwC;KAExC,mBAAA,GACF,oCACA;KAEE,iCAAA,SACE;AC/BP,KDiCK,8BAAA,GACJ,8BClCuB,CAAA,aAAA,CAAA,CAAA,MAAA,CAAA;AAA8B;AAE5B;AAI0B;AAS1C,cDwBG,0BCtBJ,EAAA;EAGJ;AAEyB;AAMU;EAQnC,SAAA,cAAA,EAAsB;IAChB,SAAA,KAAA,EAAA;MAAR,SAAA,eAAA,EAAA,eAAA;MAES,SAAA,QAAA,EAAA,2DAAA;IACG,CAAA;IAED,SAAA,MAAA,EAAA;MACa,SAAA,eAAA,EAAA,QAAA;MAEX,SAAA,QAAA,EAAA,oDAAA;IAAR,CAAA;IAAO,SAAA,MAAA,EAAA;MAEE,SAAa,eAAA,EAAA,cAAA;MACV,SAAA,QAAA,EAAA,yDAAA;IACJ,CAAA;EAGA,CAAA;EALsB;;AAQtC;;EACe,SAAA,WAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA;CACA;;;AF3BH,KE9BA,YAAA,GF8BqB,OAAR,GAAA;;;UE5Bf,gBAAA;EDKE,eAAY,CAAA,EAAA;IAAQ,IAAA,CAAA,EAAA,MAAA;IAAuB,iBAAA,CAAA,EAAA,MAAA,EAAA;EAA5B,CAAA;;AAezB,UChBQ,iBAAA,SAA0B,gBDkBS,CAAA;EAExC,UAAA,CAAA,EAAA,MAAA;EAIA,MAAA,CAAA,ECtBK,sBDsBL,CAAA,IAAiC,CAAA;AACD;AAQrC,UC5BU,yBAAA,SAAkC,gBD4DlC,CAAA;;;UCxDA,2BAAA,SAAoC;EAflC,UAAA,CAAA,EAAA,MAAY;EAEd,MAAA,EAeD,sBAfiB,CAAA,KAAA,CAAA;AAAA;AAI0B,KAc/C,qBAAA,GACF,yBAVyC,GAWzC,2BAXyD;AAAA,UAalD,YAAA,CATA;EAKL;EAIK,iCAIS,CAAA,EAAA,OAAA;EAGd;EAKA,eAAA,CAAA,EARc,qBAQQ;;KALtB,yBAAA,GAA4B,IAM9B,CALF,wBAKE,EAAA,cAAA,GAAA,MAAA,CAAA;KADE,sBAGO,CAAA,uBAAA,OAAA,CAAA,GAFT,OAES,CAFD,YAEC,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA,EAAA,cAAA,SAAA,IAAA,GAAA,CAAA,MAAA,EACG,YADH,CAAA,GAAA,CACG,MAAA,EAED,YAFC,EAED;EACa,iBAAA,EAAA,yBAAA;AAEX,CAAA,CAAR,EAAA,GAAA,OAAA,CAAQ,YAAR,CAAA,GAAA,IAAA,CAAA;AAAO,UAEE,YAAA,SAAqB,iBAFvB,CAAA;EAEE,gBAAa,CAAA,EACV,qBADU,EAAA;EACV,YAAA,CAAA,EACJ,YADI;EACJ,aAAA,CAAA,EAAA,MAAA,GAAA,KAAA;EAGA,cAAA,CAAA,EAAA,OAAA;EALsB,YAAA,CAAA,EAKtB,YALsB;;AAQrB,UAAA,wBAAA,SAAiC,YAAR,CAAA;EACnB,YAAA,EAAR,OAAQ,CAAA,YAAA,CAAA,cAAA,CAAA,CAAA;EAAR,IAAA,EACR,OADQ,CACA,YADA,CAAA,MAAA,CAAA,CAAA;EACA,kBAAA,EACM,OADN,CACc,YADd,CAAA,oBAAA,CAAA,CAAA;;;;;AF3Bf;;;;ACvBA;;AAAuD,iBEevC,UAAA,CFfuC,YAAA,CAAA,EEed,YFfc,CAAA,EEeM,IAAA,CAAK,MFfX,EAAA"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  import module$1, { builtinModules, createRequire } from "node:module";
2
2
  import assert from "node:assert";
3
+ import { randomUUID } from "node:crypto";
3
4
  import { CoreHeaders, Log, LogLevel, Miniflare, Request as Request$1, Response as Response$1, coupleWebSocket, getDefaultDevRegistryPath, getNodeCompat, getWorkerRegistry, kUnsafeEphemeralUniqueKey } from "miniflare";
4
5
  import * as wrangler from "wrangler";
5
6
  import * as nodePath from "node:path";
@@ -19,7 +20,6 @@ import { defineEnv } from "unenv";
19
20
  import * as fsp from "node:fs/promises";
20
21
  import net from "node:net";
21
22
  import { execFileSync, spawn } from "node:child_process";
22
- import { randomUUID } from "node:crypto";
23
23
  import path, { posix } from "path";
24
24
  import { WebSocketServer } from "ws";
25
25
 
@@ -1584,13 +1584,13 @@ function cleanUrl(url) {
1584
1584
  function withTrailingSlash(path$1) {
1585
1585
  return path$1.endsWith("/") ? path$1 : `${path$1}/`;
1586
1586
  }
1587
- function createRequestHandler(handler) {
1587
+ function createRequestHandler(ctx, handler) {
1588
1588
  return async (req, res, next) => {
1589
1589
  let request$1;
1590
1590
  try {
1591
1591
  if (req.originalUrl) req.url = req.originalUrl;
1592
1592
  request$1 = createRequest(req, res);
1593
- let response = await handler(toMiniflareRequest(request$1), req);
1593
+ let response = await handler(toMiniflareRequest(ctx, request$1), req);
1594
1594
  if (req.httpVersionMajor === 2) {
1595
1595
  response = new Response$1(response.body, response);
1596
1596
  response.headers.delete("transfer-encoding");
@@ -1605,10 +1605,11 @@ function createRequestHandler(handler) {
1605
1605
  function satisfiesViteVersion(minVersion$2) {
1606
1606
  return (0, import_gte.default)(version, minVersion$2);
1607
1607
  }
1608
- function toMiniflareRequest(request$1) {
1608
+ function toMiniflareRequest(ctx, request$1) {
1609
1609
  const host = request$1.headers.get("Host");
1610
1610
  const xForwardedHost = request$1.headers.get("X-Forwarded-Host");
1611
1611
  if (host && !xForwardedHost) request$1.headers.set("X-Forwarded-Host", host);
1612
+ request$1.headers.set(CoreHeaders.PROXY_SHARED_SECRET, ctx.proxySharedSecret);
1612
1613
  const secFetchMode = request$1.headers.get("Sec-Fetch-Mode");
1613
1614
  if (secFetchMode) request$1.headers.set(CoreHeaders.SEC_FETCH_MODE, secFetchMode);
1614
1615
  return new Request$1(request$1.url, {
@@ -1709,8 +1710,10 @@ var PluginContext = class {
1709
1710
  #sharedContext;
1710
1711
  #resolvedPluginConfig;
1711
1712
  #resolvedViteConfig;
1713
+ #proxySharedSecret;
1712
1714
  constructor(sharedContext$1) {
1713
1715
  this.#sharedContext = sharedContext$1;
1716
+ this.#proxySharedSecret = randomUUID();
1714
1717
  }
1715
1718
  /** Creates a new Miniflare instance or updates the existing instance */
1716
1719
  async startOrUpdateMiniflare(options) {
@@ -1800,6 +1803,9 @@ var PluginContext = class {
1800
1803
  getNodeJsCompat(environmentName) {
1801
1804
  return this.#getWorker(environmentName)?.nodeJsCompat;
1802
1805
  }
1806
+ get proxySharedSecret() {
1807
+ return this.#proxySharedSecret;
1808
+ }
1803
1809
  };
1804
1810
  function assertIsNotPreview(ctx) {
1805
1811
  assert(ctx.resolvedPluginConfig.type !== "preview", `Expected "assets-only" or "workers" plugin config`);
@@ -5346,7 +5352,7 @@ function assertOneOf(choices, value) {
5346
5352
  __name(assertOneOf, "assertOneOf");
5347
5353
  var getC3CommandFromEnv = getEnvironmentVariableFactory({
5348
5354
  variableName: "WRANGLER_C3_COMMAND",
5349
- defaultValue: /* @__PURE__ */ __name(() => "create cloudflare@^2.5.0", "defaultValue")
5355
+ defaultValue: /* @__PURE__ */ __name(() => "create cloudflare", "defaultValue")
5350
5356
  });
5351
5357
  var getWranglerSendMetricsFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "WRANGLER_SEND_METRICS" });
5352
5358
  var getWranglerSendErrorReportsFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "WRANGLER_SEND_ERROR_REPORTS" });
@@ -5437,6 +5443,11 @@ var getLocalExplorerEnabledFromEnv = getBooleanEnvironmentVariableFactory({
5437
5443
  variableName: "X_LOCAL_EXPLORER",
5438
5444
  defaultValue: false
5439
5445
  });
5446
+ var getCfFetchEnabledFromEnv = getBooleanEnvironmentVariableFactory({
5447
+ variableName: "CLOUDFLARE_CF_FETCH_ENABLED",
5448
+ defaultValue: true
5449
+ });
5450
+ var getCfFetchPathFromEnv = getEnvironmentVariableFactory({ variableName: "CLOUDFLARE_CF_FETCH_PATH" });
5440
5451
  var Diagnostics = class {
5441
5452
  /**
5442
5453
  * Create a new Diagnostics object.
@@ -5723,6 +5734,48 @@ var friendlyBindingNames = {
5723
5734
  worker_loaders: "Worker Loader",
5724
5735
  vpc_services: "VPC Service"
5725
5736
  };
5737
+ var bindingTypeFriendlyNames = {
5738
+ plain_text: "Environment Variable",
5739
+ secret_text: "Environment Variable",
5740
+ json: "Environment Variable",
5741
+ kv_namespace: "KV Namespace",
5742
+ send_email: "Send Email",
5743
+ wasm_module: "Wasm Module",
5744
+ text_blob: "Text Blob",
5745
+ browser: "Browser",
5746
+ ai: "AI",
5747
+ images: "Images",
5748
+ version_metadata: "Worker Version Metadata",
5749
+ data_blob: "Data Blob",
5750
+ durable_object_namespace: "Durable Object",
5751
+ workflow: "Workflow",
5752
+ queue: "Queue",
5753
+ r2_bucket: "R2 Bucket",
5754
+ d1: "D1 Database",
5755
+ vectorize: "Vectorize Index",
5756
+ hyperdrive: "Hyperdrive Config",
5757
+ service: "Worker",
5758
+ fetcher: "Service Binding",
5759
+ analytics_engine: "Analytics Engine Dataset",
5760
+ dispatch_namespace: "Dispatch Namespace",
5761
+ mtls_certificate: "mTLS Certificate",
5762
+ pipeline: "Pipeline",
5763
+ secrets_store_secret: "Secrets Store Secret",
5764
+ logfwdr: "logfwdr",
5765
+ unsafe_hello_world: "Hello World",
5766
+ ratelimit: "Rate Limit",
5767
+ worker_loader: "Worker Loader",
5768
+ vpc_service: "VPC Service",
5769
+ media: "Media",
5770
+ assets: "Assets",
5771
+ inherit: "Inherited"
5772
+ };
5773
+ function getBindingTypeFriendlyName(bindingType) {
5774
+ if (bindingType in bindingTypeFriendlyNames) return bindingTypeFriendlyNames[bindingType];
5775
+ if (bindingType.startsWith("unsafe_")) return "Unsafe Metadata";
5776
+ return bindingType;
5777
+ }
5778
+ __name(getBindingTypeFriendlyName, "getBindingTypeFriendlyName");
5726
5779
  var ENGLISH = new Intl.ListFormat("en-US");
5727
5780
  var ALLOWED_INSTANCE_TYPES = [
5728
5781
  "lite",
@@ -15938,7 +15991,7 @@ function parseRedirects(input, { htmlHandling = void 0, maxStaticRules = MAX_STA
15938
15991
  invalid.push({ message: `Ignoring line ${i$1 + 1} as it exceeds the maximum allowed length of ${maxLineLength}.` });
15939
15992
  continue;
15940
15993
  }
15941
- const tokens = line.split(/\s+/);
15994
+ const tokens = line.replace(/\s+#.*$/, "").split(/\s+/);
15942
15995
  if (tokens.length < 2 || tokens.length > 3) {
15943
15996
  invalid.push({
15944
15997
  line,
@@ -21588,6 +21641,7 @@ function createCloudflareEnvironmentOptions({ workerConfig, userConfig, mode, en
21588
21641
  },
21589
21642
  define: define$1,
21590
21643
  dev: { createEnvironment(name, config) {
21644
+ if (!config.plugins.some((plugin) => plugin.name === "vite-plugin-cloudflare:dev" && plugin.configureServer !== void 0)) return vite.createRunnableDevEnvironment(name, config);
21591
21645
  return new CloudflareDevEnvironment(name, config);
21592
21646
  } },
21593
21647
  build: {
@@ -21697,7 +21751,7 @@ function initRunners(resolvedPluginConfig, viteDevServer, miniflare) {
21697
21751
  function getLocalDevVarsForPreview(configPath, cloudflareEnv) {
21698
21752
  const dotDevDotVars = wrangler.unstable_getVarsForDev(configPath, void 0, {}, cloudflareEnv);
21699
21753
  const dotDevDotVarsEntries = Array.from(Object.entries(dotDevDotVars));
21700
- if (dotDevDotVarsEntries.length > 0) return dotDevDotVarsEntries.map(([key, value]) => {
21754
+ if (dotDevDotVarsEntries.length > 0) return dotDevDotVarsEntries.map(([key, { value }]) => {
21701
21755
  return `${key} = "${value?.toString().replaceAll(`"`, `\\"`)}"\n`;
21702
21756
  }).join("");
21703
21757
  }
@@ -25996,6 +26050,7 @@ async function getDevMiniflareOptions(ctx, viteDevServer) {
25996
26050
  return {
25997
26051
  miniflareOptions: {
25998
26052
  log: logger,
26053
+ unsafeProxySharedSecret: ctx.proxySharedSecret,
25999
26054
  logRequests: false,
26000
26055
  inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
26001
26056
  unsafeDevRegistryPath: getDefaultDevRegistryPath(),
@@ -26100,6 +26155,7 @@ async function getPreviewMiniflareOptions(ctx, vitePreviewServer) {
26100
26155
  return {
26101
26156
  miniflareOptions: {
26102
26157
  log: logger,
26158
+ unsafeProxySharedSecret: ctx.proxySharedSecret,
26103
26159
  inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
26104
26160
  unsafeDevRegistryPath: getDefaultDevRegistryPath(),
26105
26161
  unsafeTriggerHandlers: true,
@@ -26240,7 +26296,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
26240
26296
  if (staticRouting) {
26241
26297
  const excludeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.asset_worker ?? []);
26242
26298
  const includeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.user_worker);
26243
- const userWorkerHandler = createRequestHandler(async (request$1) => {
26299
+ const userWorkerHandler = createRequestHandler(ctx, async (request$1) => {
26244
26300
  request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
26245
26301
  return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
26246
26302
  });
@@ -26282,7 +26338,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
26282
26338
  handle: preMiddleware
26283
26339
  });
26284
26340
  }
26285
- viteDevServer.middlewares.use(createRequestHandler(async (request$1, req) => {
26341
+ viteDevServer.middlewares.use(createRequestHandler(ctx, async (request$1, req) => {
26286
26342
  if (req[kRequestType] === "asset") {
26287
26343
  request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, ASSET_WORKER_NAME);
26288
26344
  return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
@@ -26432,6 +26488,7 @@ const outputConfigPlugin = createPlugin("output-config", (ctx) => {
26432
26488
  directory: getAssetsDirectory(this.environment.config.build.outDir, ctx.resolvedViteConfig)
26433
26489
  } : void 0
26434
26490
  };
26491
+ if (inputWorkerConfig.upload_source_maps === void 0 && this.environment.config.build.sourcemap) outputConfig.upload_source_maps = true;
26435
26492
  if (inputWorkerConfig.configPath) {
26436
26493
  const localDevVars = getLocalDevVarsForPreview(inputWorkerConfig.configPath, ctx.resolvedPluginConfig.cloudflareEnv);
26437
26494
  if (localDevVars) this.emitFile({
@@ -26514,12 +26571,26 @@ const previewPlugin = createPlugin("preview", (ctx) => {
26514
26571
  };
26515
26572
  }
26516
26573
  handleWebSocket(vitePreviewServer.httpServer, ctx.miniflare);
26517
- vitePreviewServer.middlewares.use(createRequestHandler((request$1) => {
26574
+ vitePreviewServer.middlewares.use(createRequestHandler(ctx, (request$1) => {
26518
26575
  return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
26519
26576
  }));
26520
26577
  } };
26521
26578
  });
26522
26579
 
26580
+ //#endregion
26581
+ //#region src/plugins/rsc.ts
26582
+ /**
26583
+ * Plugin to pass options to `@vitejs/plugin-rsc`
26584
+ */
26585
+ const rscPlugin = createPlugin("rsc", () => {
26586
+ return {
26587
+ enforce: "pre",
26588
+ config() {
26589
+ return { rsc: { serverHandler: false } };
26590
+ }
26591
+ };
26592
+ });
26593
+
26523
26594
  //#endregion
26524
26595
  //#region src/plugins/shortcuts.ts
26525
26596
  var import_picocolors = /* @__PURE__ */ __toESM$1(require_picocolors(), 1);
@@ -26548,28 +26619,16 @@ function addBindingsShortcut(server, ctx) {
26548
26619
  description: "list configured Cloudflare bindings",
26549
26620
  action: (viteServer) => {
26550
26621
  viteServer.config.logger.info("");
26551
- for (const workerConfig of workerConfigs) wrangler.unstable_printBindings({
26552
- ...workerConfig,
26553
- assets: workerConfig.assets?.binding ? {
26554
- ...workerConfig.assets,
26555
- binding: workerConfig.assets.binding
26556
- } : void 0,
26557
- unsafe: {
26558
- bindings: workerConfig.unsafe.bindings,
26559
- metadata: workerConfig.unsafe.metadata,
26560
- capnp: workerConfig.unsafe.capnp
26561
- },
26562
- queues: workerConfig.queues.producers?.map((queue) => ({
26563
- ...queue,
26564
- queue_name: queue.queue
26565
- }))
26566
- }, workerConfig.tail_consumers, workerConfig.streaming_tail_consumers, workerConfig.containers, {
26567
- warnIfNoBindings: true,
26568
- isMultiWorker: workerConfigs.length > 1,
26569
- name: workerConfig.name ?? "Your Worker",
26570
- registry: getWorkerRegistry(registryPath),
26571
- log: (message) => viteServer.config.logger.info(message)
26572
- });
26622
+ for (const workerConfig of workerConfigs) {
26623
+ const bindings = wrangler.unstable_convertConfigBindingsToStartWorkerBindings(workerConfig);
26624
+ wrangler.unstable_printBindings(bindings, workerConfig.tail_consumers, workerConfig.streaming_tail_consumers, workerConfig.containers, {
26625
+ warnIfNoBindings: true,
26626
+ isMultiWorker: workerConfigs.length > 1,
26627
+ name: workerConfig.name ?? "Your Worker",
26628
+ registry: getWorkerRegistry(registryPath),
26629
+ log: (message) => viteServer.config.logger.info(message)
26630
+ });
26631
+ }
26573
26632
  }
26574
26633
  };
26575
26634
  const bindCLIShortcuts = server.bindCLIShortcuts.bind(server);
@@ -26592,7 +26651,7 @@ const triggerHandlersPlugin = createPlugin("trigger-handlers", (ctx) => {
26592
26651
  const entryWorkerConfig = ctx.entryWorkerConfig;
26593
26652
  if (!entryWorkerConfig) return;
26594
26653
  const entryWorkerName = entryWorkerConfig.name;
26595
- const requestHandler = createRequestHandler((request$1) => {
26654
+ const requestHandler = createRequestHandler(ctx, (request$1) => {
26596
26655
  request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
26597
26656
  return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
26598
26657
  });
@@ -26667,6 +26726,7 @@ function cloudflare(pluginConfig = {}) {
26667
26726
  }
26668
26727
  },
26669
26728
  configPlugin(ctx),
26729
+ rscPlugin(ctx),
26670
26730
  devPlugin(ctx),
26671
26731
  previewPlugin(ctx),
26672
26732
  shortcutsPlugin(ctx),