@cloudflare/vite-plugin 1.53.0 → 1.54.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,6 +1,6 @@
1
1
  import { Pipeline, PipelineRecord } from "cloudflare:pipelines";
2
2
 
3
- //#region ../config/dist/public-CwG0JcrK.d.mts
3
+ //#region ../config/dist/public-C3uXDKsB.d.mts
4
4
 
5
5
  //#region src/utils.d.ts
6
6
  /**
@@ -11,11 +11,16 @@ type Json = string | number | boolean | null | Json[] | {
11
11
  };
12
12
  //#endregion
13
13
  //#region src/bindings.d.ts
14
+ /** Options that control a binding during local development. */
15
+ interface BindingDevOptions {
16
+ /** Whether the binding should connect to the remote resource. */
17
+ remote?: boolean;
18
+ }
14
19
  interface AgentMemoryBindingOptions {
15
20
  /** The user-chosen namespace name. Must exist in Cloudflare at deploy time. */
16
21
  namespace: string;
17
- /** Whether the Agent Memory binding should be remote in local development. */
18
- remote?: boolean;
22
+ /** Options that only apply during local development. */
23
+ dev?: BindingDevOptions;
19
24
  }
20
25
  /**
21
26
  * Agent Memory namespace binding. Each binding is scoped to a namespace and
@@ -25,8 +30,8 @@ interface AgentMemoryBinding extends AgentMemoryBindingOptions {
25
30
  type: "agent-memory";
26
31
  }
27
32
  interface AiBindingOptions {
28
- /** Whether the AI binding should be remote or not in local development. */
29
- remote?: boolean;
33
+ /** Options that only apply during local development. */
34
+ dev?: BindingDevOptions;
30
35
  }
31
36
  /**
32
37
  * Binding to the Workers AI project.
@@ -48,8 +53,8 @@ interface TypedAiBinding<TAiModelList extends AiModelListType = AiModels> extend
48
53
  interface AiSearchBindingOptions {
49
54
  /** The user-chosen instance name. Must exist in Cloudflare at deploy time. */
50
55
  name: string;
51
- /** Whether the AI Search instance binding should be remote in local development. */
52
- remote?: boolean;
56
+ /** Options that only apply during local development. */
57
+ dev?: BindingDevOptions;
53
58
  }
54
59
  /**
55
60
  * AI Search instance binding. Each binding is bound directly to a single
@@ -61,8 +66,8 @@ interface AiSearchBinding extends AiSearchBindingOptions {
61
66
  interface AiSearchNamespaceBindingOptions {
62
67
  /** The user-chosen namespace name. Must exist in Cloudflare at deploy time. */
63
68
  namespace: string;
64
- /** Whether the AI Search namespace binding should be remote in local development. */
65
- remote?: boolean;
69
+ /** Options that only apply during local development. */
70
+ dev?: BindingDevOptions;
66
71
  }
67
72
  /**
68
73
  * AI Search namespace binding. Each binding is scoped to a namespace and
@@ -86,8 +91,8 @@ interface AnalyticsEngineDatasetBinding extends AnalyticsEngineDatasetBindingOpt
86
91
  interface ArtifactsBindingOptions {
87
92
  /** The namespace to use. */
88
93
  namespace: string;
89
- /** Whether to use the remote Artifacts service in local dev. */
90
- remote?: boolean;
94
+ /** Options that only apply during local development. */
95
+ dev?: BindingDevOptions;
91
96
  }
92
97
  /**
93
98
  * Binding to an Artifacts instance. Artifacts provides git-compatible file
@@ -105,8 +110,8 @@ interface AssetsBinding {
105
110
  type: "assets";
106
111
  }
107
112
  interface BrowserBindingOptions {
108
- /** Whether the Browser binding should be remote or not in local development. */
109
- remote?: boolean;
113
+ /** Options that only apply during local development. */
114
+ dev?: BindingDevOptions;
110
115
  }
111
116
  /**
112
117
  * Binding to a headless browser usable from the Worker.
@@ -121,8 +126,8 @@ interface D1BindingOptions {
121
126
  id?: string;
122
127
  /** The name of this D1 database. */
123
128
  name?: string;
124
- /** Whether the D1 database should be remote or not in local development. */
125
- remote?: boolean;
129
+ /** Options that only apply during local development. */
130
+ dev?: BindingDevOptions;
126
131
  }
127
132
  /**
128
133
  * Binding to a D1 database.
@@ -142,8 +147,8 @@ interface DispatchNamespaceBindingOptions {
142
147
  /** (Optional) List of parameter names, for sending context from your dispatch Worker to the outbound handler. */
143
148
  parameters?: string[];
144
149
  };
145
- /** Whether the Dispatch Namespace should be remote or not in local development. */
146
- remote?: boolean;
150
+ /** Options that only apply during local development. */
151
+ dev?: BindingDevOptions;
147
152
  }
148
153
  /**
149
154
  * Binding to a Workers for Platforms dispatch namespace.
@@ -183,8 +188,8 @@ interface TypedDurableObjectBinding<TConfig$1, TExportName$1 extends string> ext
183
188
  interface FlagshipBindingOptions {
184
189
  /** The Flagship app ID to bind to. */
185
190
  id?: string;
186
- /** Set to `true` to suppress the remote binding warning in local dev. Flagship bindings are always remote. */
187
- remote?: boolean;
191
+ /** Options that only apply during local development. */
192
+ dev?: BindingDevOptions;
188
193
  }
189
194
  /** Binding to a Flagship feature-flag service. */
190
195
  interface FlagshipBinding extends FlagshipBindingOptions {
@@ -193,8 +198,11 @@ interface FlagshipBinding extends FlagshipBindingOptions {
193
198
  interface HyperdriveBindingOptions {
194
199
  /** The ID of the Hyperdrive configuration. */
195
200
  id: string;
196
- /** The local database connection string used during local development. */
197
- localConnectionString?: string;
201
+ /** Options that only apply during local development. */
202
+ dev?: {
203
+ /** The database connection string used during local development. */
204
+ connectionString?: string;
205
+ };
198
206
  }
199
207
  /**
200
208
  * Binding to a Hyperdrive configuration.
@@ -205,8 +213,8 @@ interface HyperdriveBinding extends HyperdriveBindingOptions {
205
213
  type: "hyperdrive";
206
214
  }
207
215
  interface ImagesBindingOptions {
208
- /** Whether the Images binding should be remote or not in local development. */
209
- remote?: boolean;
216
+ /** Options that only apply during local development. */
217
+ dev?: BindingDevOptions;
210
218
  }
211
219
  /**
212
220
  * Binding to Cloudflare Images.
@@ -228,8 +236,8 @@ interface JsonBinding<T$1 extends Json = Json> {
228
236
  interface KvBindingOptions {
229
237
  /** The ID of the KV namespace. */
230
238
  id?: string;
231
- /** Whether the KV namespace should be remote or not in local development. */
232
- remote?: boolean;
239
+ /** Options that only apply during local development. */
240
+ dev?: BindingDevOptions;
233
241
  }
234
242
  /**
235
243
  * Binding to a Workers KV namespace.
@@ -257,8 +265,8 @@ interface LogfwdrBinding extends LogfwdrBindingOptions {
257
265
  type: "logfwdr";
258
266
  }
259
267
  interface MediaBindingOptions {
260
- /** Whether the Media binding should be remote or not. */
261
- remote?: boolean;
268
+ /** Options that only apply during local development. */
269
+ dev?: BindingDevOptions;
262
270
  }
263
271
  /** Binding to Cloudflare Media Transformations. */
264
272
  interface MediaBinding$1 extends MediaBindingOptions {
@@ -267,8 +275,8 @@ interface MediaBinding$1 extends MediaBindingOptions {
267
275
  interface MtlsCertificateBindingOptions {
268
276
  /** The UUID of the uploaded mTLS certificate. */
269
277
  id: string;
270
- /** Whether the mTLS fetcher should be remote or not in local development. */
271
- remote?: boolean;
278
+ /** Options that only apply during local development. */
279
+ dev?: BindingDevOptions;
272
280
  }
273
281
  /**
274
282
  * Binding to an uploaded mTLS certificate.
@@ -281,8 +289,8 @@ interface MtlsCertificateBinding extends MtlsCertificateBindingOptions {
281
289
  interface PipelineBindingOptions {
282
290
  /** Name of the Pipeline to bind. */
283
291
  name: string;
284
- /** Whether the pipeline should be remote or not in local development. */
285
- remote?: boolean;
292
+ /** Options that only apply during local development. */
293
+ dev?: BindingDevOptions;
286
294
  }
287
295
  /** Binding to a Cloudflare Pipeline. */
288
296
  interface PipelineBinding extends PipelineBindingOptions {
@@ -298,8 +306,8 @@ interface QueueBindingOptions {
298
306
  name?: string;
299
307
  /** The number of seconds to wait before delivering a message. */
300
308
  deliveryDelay?: number;
301
- /** Whether the Queue producer should be remote or not in local development. */
302
- remote?: boolean;
309
+ /** Options that only apply during local development. */
310
+ dev?: BindingDevOptions;
303
311
  }
304
312
  /**
305
313
  * Producer binding to a Cloudflare Queue.
@@ -323,8 +331,14 @@ interface R2BindingOptions {
323
331
  name?: string;
324
332
  /** The jurisdiction that the bucket exists in. Default if not present. */
325
333
  jurisdiction?: string;
326
- /** Whether the R2 bucket should be remote or not in local development. */
327
- remote?: boolean;
334
+ /** Settings that only apply to local development. */
335
+ dev?: BindingDevOptions & {
336
+ /** EXPERIMENTAL: credentials for the local S3-compatible endpoint. */
337
+ experimentalS3Credentials?: {
338
+ accessKeyId: string;
339
+ secretAccessKey: string;
340
+ };
341
+ };
328
342
  }
329
343
  /**
330
344
  * Binding to an R2 bucket.
@@ -372,27 +386,35 @@ interface SecretsStoreSecretBindingOptions {
372
386
  interface SecretsStoreSecretBinding extends SecretsStoreSecretBindingOptions {
373
387
  type: "secrets-store-secret";
374
388
  }
375
- interface SendEmailBindingOptions {
389
+ type SendEmailDestinationOptions = {
376
390
  /** If this binding should be restricted to a specific verified address. */
377
- destinationAddress?: string;
391
+ destinationAddress: string;
392
+ allowedDestinationAddresses?: never;
393
+ } | {
394
+ destinationAddress?: never;
378
395
  /** If this binding should be restricted to a set of verified addresses. */
379
- allowedDestinationAddresses?: string[];
396
+ allowedDestinationAddresses: string[];
397
+ } | {
398
+ destinationAddress?: never;
399
+ allowedDestinationAddresses?: never;
400
+ };
401
+ type SendEmailBindingOptions = SendEmailDestinationOptions & {
380
402
  /** If this binding should be restricted to a set of sender addresses. */
381
403
  allowedSenderAddresses?: string[];
382
- /** Whether the binding should be remote or not in local development. */
383
- remote?: boolean;
384
- }
404
+ /** Options that only apply during local development. */
405
+ dev?: BindingDevOptions;
406
+ };
385
407
  /**
386
408
  * Binding for sending email from inside the Worker.
387
409
  *
388
410
  * For reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#email-bindings
389
411
  */
390
- interface SendEmailBinding extends SendEmailBindingOptions {
412
+ type SendEmailBinding = SendEmailBindingOptions & {
391
413
  type: "send-email";
392
- }
414
+ };
393
415
  interface StreamBindingOptions {
394
- /** Whether the Stream binding should be remote or not in local development. */
395
- remote?: boolean;
416
+ /** Options that only apply during local development. */
417
+ dev?: BindingDevOptions;
396
418
  }
397
419
  /** Binding to Cloudflare Stream. */
398
420
  interface StreamBinding$1 extends StreamBindingOptions {
@@ -433,8 +455,8 @@ interface UnsafeBinding extends UnsafeBindingOptions {
433
455
  interface VectorizeBindingOptions {
434
456
  /** The name of the Vectorize index. */
435
457
  name: string;
436
- /** Whether the Vectorize index should be remote or not in local development. */
437
- remote?: boolean;
458
+ /** Options that only apply during local development. */
459
+ dev?: BindingDevOptions;
438
460
  }
439
461
  /**
440
462
  * Binding to a Vectorize index.
@@ -451,13 +473,15 @@ interface VersionMetadataBinding {
451
473
  type VpcNetworkBindingOptions = {
452
474
  /** The tunnel ID of the Cloudflare Tunnel to route traffic through. Mutually exclusive with `networkId`. */
453
475
  tunnelId: string;
454
- /** Whether the VPC network is remote or not. */
455
- remote?: boolean;
476
+ networkId?: never;
477
+ /** Options that only apply during local development. */
478
+ dev?: BindingDevOptions;
456
479
  } | {
480
+ tunnelId?: never;
457
481
  /** The network ID to route traffic through. Mutually exclusive with `tunnelId`. */
458
482
  networkId: string;
459
- /** Whether the VPC network is remote or not. */
460
- remote?: boolean;
483
+ /** Options that only apply during local development. */
484
+ dev?: BindingDevOptions;
461
485
  };
462
486
  /** Binding to a VPC network. */
463
487
  type VpcNetworkBinding = VpcNetworkBindingOptions & {
@@ -466,16 +490,16 @@ type VpcNetworkBinding = VpcNetworkBindingOptions & {
466
490
  interface VpcServiceBindingOptions {
467
491
  /** The service ID of the VPC connectivity service. */
468
492
  id: string;
469
- /** Whether the VPC service is remote or not. */
470
- remote?: boolean;
493
+ /** Options that only apply during local development. */
494
+ dev?: BindingDevOptions;
471
495
  }
472
496
  /** Binding to a VPC service. */
473
497
  interface VpcServiceBinding extends VpcServiceBindingOptions {
474
498
  type: "vpc-service";
475
499
  }
476
500
  interface WebSearchBindingOptions {
477
- /** Whether the Web Search binding should be remote or not in local development. */
478
- remote?: boolean;
501
+ /** Options that only apply during local development. */
502
+ dev?: BindingDevOptions;
479
503
  }
480
504
  /**
481
505
  * Cloudflare Web Search binding. There is exactly one shared web corpus, so
@@ -491,8 +515,8 @@ interface WorkerBindingOptions {
491
515
  exportName?: string;
492
516
  /** Optional properties that will be made available to the service via `ctx.props`. */
493
517
  props?: Record<string, unknown>;
494
- /** Whether the service binding should be remote or not in local development. */
495
- remote?: boolean;
518
+ /** Options that only apply during local development. */
519
+ dev?: BindingDevOptions;
496
520
  }
497
521
  /**
498
522
  * Service binding (Worker-to-Worker). `workerName` is the name of the bound
@@ -526,8 +550,6 @@ interface WorkflowBindingOptions {
526
550
  workerName: string;
527
551
  /** The exported class name of the Workflow. */
528
552
  exportName: string;
529
- /** Whether the Workflow binding should be remote or not in local development. */
530
- remote?: boolean;
531
553
  }
532
554
  /**
533
555
  * Binding to a Workflow. `workerName` is the name of the Worker that defines
@@ -806,11 +828,27 @@ interface EmailTriggerOptions {
806
828
  interface EmailTrigger extends EmailTriggerOptions {
807
829
  type: "email";
808
830
  }
831
+ interface ConnectTriggerOptions {
832
+ /** The transport protocol to listen for. */
833
+ protocol: "tcp";
834
+ /** The port to listen on. */
835
+ port: number;
836
+ /** The address to bind to. Defaults to `127.0.0.1`. */
837
+ address?: string;
838
+ }
839
+ /**
840
+ * Connect trigger — invokes this Worker's `connect(socket, env, ctx)`
841
+ * handler for raw socket connections received on the configured
842
+ * protocol/port.
843
+ */
844
+ interface ConnectTrigger extends ConnectTriggerOptions {
845
+ type: "connect";
846
+ }
809
847
  /**
810
- * Event triggers — fetch routes, queue consumers, cron schedules, and Email
811
- * Routing addresses — that invoke this Worker. Construct entries with
812
- * `triggers.fetch(...)`, `triggers.queue(...)`, `triggers.scheduled(...)`, or
813
- * `triggers.email(...)`.
848
+ * Event triggers — fetch routes, queue consumers, cron schedules, Email
849
+ * Routing addresses, and raw sockets — that invoke this Worker.
850
+ * Construct entries with `triggers.fetch(...)`, `triggers.queue(...)`,
851
+ * `triggers.scheduled(...)`, `triggers.email(...)`, or `triggers.connect(...)`.
814
852
  *
815
853
  * For reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#triggers
816
854
  */
@@ -839,6 +877,12 @@ interface Triggers {
839
877
  * addresses.
840
878
  */
841
879
  email(options: EmailTriggerOptions): EmailTrigger;
880
+ /**
881
+ * Connect trigger — invokes this Worker's `connect(socket, env, ctx)`
882
+ * handler for raw socket connections received on the configured
883
+ * protocol/port.
884
+ */
885
+ connect(options: ConnectTriggerOptions): ConnectTrigger;
842
886
  }
843
887
  /**
844
888
  * Triggers builder for configuring event triggers.
@@ -854,6 +898,7 @@ interface Triggers {
854
898
  * triggers.scheduled({ schedule: "0 * * * *" }),
855
899
  * triggers.scheduled({ schedule: "30 0 * * *" }),
856
900
  * triggers.email({ addresses: ["support@example.com"] }),
901
+ * triggers.connect({ protocol: "tcp", port: 5432 }),
857
902
  * ],
858
903
  * });
859
904
  * ```
@@ -1055,7 +1100,7 @@ type Binding = AgentMemoryBinding | AiBinding | AiSearchBinding | AiSearchNamesp
1055
1100
  /**
1056
1101
  * Union of all trigger definitions accepted in `triggers`.
1057
1102
  */
1058
- type Trigger = EmailTrigger | FetchTrigger | QueueConsumerTrigger | ScheduledTrigger;
1103
+ type Trigger = ConnectTrigger | EmailTrigger | FetchTrigger | QueueConsumerTrigger | ScheduledTrigger;
1059
1104
  /**
1060
1105
  * Union of all export definitions accepted in `exports`. Worker entries
1061
1106
  * configure WorkerEntrypoint exports. Durable Object entries configure live
@@ -1136,10 +1181,11 @@ interface WorkerConfig {
1136
1181
  */
1137
1182
  domains?: string[];
1138
1183
  /**
1139
- * Event triggers — fetch routes, queue consumers, cron schedules, and Email
1140
- * Routing addresses
1141
- * — that invoke this Worker. Construct entries with `triggers.fetch(...)`,
1142
- * `triggers.queue(...)`, `triggers.scheduled(...)`, or `triggers.email(...)`.
1184
+ * Event triggers — fetch routes, queue consumers, cron schedules, Email
1185
+ * Routing addresses, and raw sockets — that invoke this Worker.
1186
+ * Construct entries with `triggers.fetch(...)`, `triggers.queue(...)`,
1187
+ * `triggers.scheduled(...)`, `triggers.email(...)`, or
1188
+ * `triggers.connect(...)`.
1143
1189
  *
1144
1190
  * For reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#triggers
1145
1191
  */
@@ -1386,7 +1432,7 @@ interface TypedWorkerDefinition<TConfig$1 extends WorkerConfig, TWorkerName exte
1386
1432
  workerName: TWorkerName;
1387
1433
  exportName?: TExportName$1;
1388
1434
  props?: Record<string, unknown>;
1389
- remote?: boolean;
1435
+ dev?: BindingDevOptions;
1390
1436
  }): TypedWorkerBinding<TConfig$1, TExportName$1 extends string ? TExportName$1 : "default">;
1391
1437
  }
1392
1438
  type WorkerConfigExport<T$1 extends WorkerConfig = WorkerConfig> = ConfigInput<T$1>;
@@ -1615,16 +1661,20 @@ type InferMainModule<TUnwrappedConfig$1> = TUnwrappedConfig$1 extends {
1615
1661
  */
1616
1662
  type SettingsConfigInput = Omit<SettingsConfig, "type">;
1617
1663
  /**
1618
- * Declare shared settings.
1619
- * Authored as a named `settings` export.
1664
+ * A settings definition created by {@link defineSettings}.
1620
1665
  */
1621
- declare function defineSettings(config: ConfigInput<SettingsConfigInput>): {
1666
+ interface SettingsDefinition {
1622
1667
  [DEFINITION]: {
1623
1668
  config: ConfigInput<SettingsConfigInput>;
1624
- type: string;
1669
+ type: "settings";
1625
1670
  };
1626
- };
1671
+ }
1672
+ /**
1673
+ * Declare shared settings.
1674
+ * Authored as a named `settings` export.
1675
+ */
1676
+ declare function defineSettings(config: ConfigInput<SettingsConfigInput>): SettingsDefinition;
1627
1677
  //#endregion
1628
1678
  //#endregion
1629
- export { AgentMemoryBinding, AiBinding, AiSearchBinding, AiSearchNamespaceBinding, AnalyticsEngineDatasetBinding, ArtifactsBinding, AssetsBinding, Bindings, BrowserBinding, ConfigContext, D1Binding, DispatchNamespaceBinding, DurableObjectBinding, DurableObjectCreatedExport, DurableObjectDeletedExport, DurableObjectExpectingTransferExport, DurableObjectRenamedExport, DurableObjectTransferredExport, EmailTrigger, Exports, FetchTrigger, FlagshipBinding, HyperdriveBinding, ImagesBinding$1 as ImagesBinding, InferDurableNamespaces, InferEnv, InferMainModule, JsonBinding, KvBinding, LogfwdrBinding, MediaBinding$1 as MediaBinding, MtlsCertificateBinding, PipelineBinding, QueueBinding, QueueConsumerTrigger, R2Binding, RateLimitBinding, ScheduledTrigger, SecretBinding, SecretsStoreSecretBinding, SendEmailBinding, SettingsConfig, SettingsConfigInput, StreamBinding$1 as StreamBinding, TextBinding, Triggers, TypedAiBinding, TypedDurableObjectBinding, TypedKvBinding, TypedPipelineBinding, TypedQueueBinding, TypedWorkerBinding, TypedWorkerDefinition, TypedWorkflowBinding, UnsafeBinding, UnwrapConfig, VectorizeBinding, VersionMetadataBinding, VpcNetworkBinding, VpcServiceBinding, WebSearchBinding, WorkerBinding, WorkerConfig, WorkerConfigExport, WorkerConfigInput, WorkerEntrypointExport, WorkerEntrypointExportOptions, WorkerLoaderBinding, WorkflowBinding, bindings, defineSettings, defineWorker, exports, triggers };
1679
+ export { AgentMemoryBinding, AiBinding, AiSearchBinding, AiSearchNamespaceBinding, AnalyticsEngineDatasetBinding, ArtifactsBinding, AssetsBinding, BindingDevOptions, Bindings, BrowserBinding, ConfigContext, ConnectTrigger, D1Binding, DispatchNamespaceBinding, DurableObjectBinding, DurableObjectCreatedExport, DurableObjectDeletedExport, DurableObjectExpectingTransferExport, DurableObjectRenamedExport, DurableObjectTransferredExport, EmailTrigger, Exports, FetchTrigger, FlagshipBinding, HyperdriveBinding, ImagesBinding$1 as ImagesBinding, InferDurableNamespaces, InferEnv, InferMainModule, JsonBinding, KvBinding, LogfwdrBinding, MediaBinding$1 as MediaBinding, MtlsCertificateBinding, PipelineBinding, QueueBinding, QueueConsumerTrigger, R2Binding, RateLimitBinding, ScheduledTrigger, SecretBinding, SecretsStoreSecretBinding, SendEmailBinding, SettingsConfig, SettingsConfigInput, SettingsDefinition, StreamBinding$1 as StreamBinding, TextBinding, Triggers, TypedAiBinding, TypedDurableObjectBinding, TypedKvBinding, TypedPipelineBinding, TypedQueueBinding, TypedWorkerBinding, TypedWorkerDefinition, TypedWorkflowBinding, UnsafeBinding, UnwrapConfig, VectorizeBinding, VersionMetadataBinding, VpcNetworkBinding, VpcServiceBinding, WebSearchBinding, WorkerBinding, WorkerConfig, WorkerConfigExport, WorkerConfigInput, WorkerEntrypointExport, WorkerEntrypointExportOptions, WorkerLoaderBinding, WorkflowBinding, bindings, defineSettings, defineWorker, exports, triggers };
1630
1680
  //# sourceMappingURL=experimental-config.d.mts.map