@cloudflare/vite-plugin 1.57.3 → 2.0.0-beta.sha-b747ec8ea

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,268 +1,3 @@
1
- //#region ../config/dist/public-BMg6-Hxh.mjs
2
- const bindings = {
3
- agentMemory: (options) => ({
4
- type: "agent-memory",
5
- ...options
6
- }),
7
- ai: (options) => ({
8
- type: "ai",
9
- ...options
10
- }),
11
- aiSearch: (options) => ({
12
- type: "ai-search",
13
- ...options
14
- }),
15
- aiSearchNamespace: (options) => ({
16
- type: "ai-search-namespace",
17
- ...options
18
- }),
19
- analyticsEngineDataset: (options) => ({
20
- type: "analytics-engine-dataset",
21
- ...options
22
- }),
23
- artifacts: (options) => ({
24
- type: "artifacts",
25
- ...options
26
- }),
27
- assets: () => ({ type: "assets" }),
28
- browser: (options) => ({
29
- type: "browser",
30
- ...options
31
- }),
32
- d1: (options) => ({
33
- type: "d1",
34
- ...options
35
- }),
36
- dispatchNamespace: (options) => ({
37
- type: "dispatch-namespace",
38
- ...options
39
- }),
40
- durableObject: (options) => ({
41
- type: "durable-object",
42
- ...options
43
- }),
44
- flagship: (options) => ({
45
- type: "flagship",
46
- ...options
47
- }),
48
- hyperdrive: (options) => ({
49
- type: "hyperdrive",
50
- ...options
51
- }),
52
- images: (options) => ({
53
- type: "images",
54
- ...options
55
- }),
56
- json: (value) => ({
57
- type: "json",
58
- value
59
- }),
60
- kv: (options) => ({
61
- type: "kv",
62
- ...options
63
- }),
64
- logfwdr: (options) => ({
65
- type: "logfwdr",
66
- ...options
67
- }),
68
- media: (options) => ({
69
- type: "media",
70
- ...options
71
- }),
72
- mtlsCertificate: (options) => ({
73
- type: "mtls-certificate",
74
- ...options
75
- }),
76
- pipeline: (options) => ({
77
- type: "pipeline",
78
- ...options
79
- }),
80
- queue: (options) => ({
81
- type: "queue",
82
- ...options
83
- }),
84
- rateLimit: (options) => ({
85
- type: "rate-limit",
86
- ...options
87
- }),
88
- r2: (options) => ({
89
- type: "r2",
90
- ...options
91
- }),
92
- secret: () => ({ type: "secret" }),
93
- secretsStoreSecret: (options) => ({
94
- type: "secrets-store-secret",
95
- ...options
96
- }),
97
- sendEmail: (options) => ({
98
- type: "send-email",
99
- ...options
100
- }),
101
- stream: (options) => ({
102
- type: "stream",
103
- ...options
104
- }),
105
- text: (value) => ({
106
- type: "text",
107
- value
108
- }),
109
- vectorize: (options) => ({
110
- type: "vectorize",
111
- ...options
112
- }),
113
- versionMetadata: () => ({ type: "version-metadata" }),
114
- vpcService: (options) => ({
115
- type: "vpc-service",
116
- ...options
117
- }),
118
- vpcNetwork: (options) => ({
119
- type: "vpc-network",
120
- ...options
121
- }),
122
- worker: (options) => ({
123
- type: "worker",
124
- ...options
125
- }),
126
- workerLoader: () => ({ type: "worker-loader" })
127
- };
128
- /**
129
- * Triggers builder for configuring event triggers.
130
- *
131
- * @example
132
- * ```typescript
133
- * import { defineConfig, triggers } from "@cloudflare/config";
134
- *
135
- * export default defineConfig({
136
- * worker: {
137
- * name: "my-worker",
138
- * compatibilityDate: "2026-09-17",
139
- * triggers: [
140
- * triggers.fetch({ pattern: "example.com/*", zone: "example.com" }),
141
- * triggers.queue({ name: "my-queue" }),
142
- * triggers.scheduled({ schedule: "0 * * * *" }),
143
- * triggers.scheduled({ schedule: "30 0 * * *" }),
144
- * triggers.email({ addresses: ["support@example.com"] }),
145
- * triggers.connect({ protocol: "tcp", port: 5432 }),
146
- * ],
147
- * },
148
- * });
149
- * ```
150
- */
151
- const triggers = {
152
- fetch: (options) => ({
153
- type: "fetch",
154
- ...options
155
- }),
156
- queue: (options) => ({
157
- type: "queue",
158
- ...options
159
- }),
160
- scheduled: (options) => ({
161
- type: "scheduled",
162
- ...options
163
- }),
164
- email: (options) => ({
165
- type: "email",
166
- ...options
167
- }),
168
- connect: (options) => ({
169
- type: "connect",
170
- ...options
171
- })
172
- };
173
- function durableObject(options) {
174
- return {
175
- type: "durable-object",
176
- ...options
177
- };
178
- }
179
- function worker(options = {}) {
180
- return {
181
- type: "worker",
182
- ...options
183
- };
184
- }
185
- /**
186
- * Exports builder for configuring Worker exports.
187
- *
188
- * @example
189
- * ```typescript
190
- * import { defineConfig, defineContainer, defineWorker, exports } from "@cloudflare/config";
191
- *
192
- * const myContainer = defineContainer({
193
- * name: "my-container",
194
- * image: { dockerfile: "./Dockerfile" },
195
- * });
196
- *
197
- * const worker = defineWorker({
198
- * exports: {
199
- * MyDurableObject: exports.durableObject({ storage: "sqlite" }),
200
- * MyContainerDO: exports.durableObject({ storage: "sqlite", container: myContainer }),
201
- * OldClass: exports.durableObject({ state: "deleted" }),
202
- * OldName: exports.durableObject({ state: "renamed", renamedTo: "NewName" }),
203
- * Outgoing: exports.durableObject({ state: "transferred", transferredTo: "target-worker" }),
204
- * Incoming: exports.durableObject({ state: "expecting-transfer", storage: "sqlite", transferFrom: "source-worker" }),
205
- * },
206
- * });
207
- *
208
- * export default defineConfig({ worker, containers: [myContainer] });
209
- * ```
210
- */
211
- const exports = {
212
- durableObject,
213
- worker
214
- };
215
- /** Create a type-safe identity helper for a configuration value or factory. */
216
- function createConfigDefiner() {
217
- return function define(config) {
218
- return config;
219
- };
220
- }
221
- /**
222
- * Used to define the default export in `cloudflare.config.ts`.
223
- *
224
- * @example
225
- * ```typescript
226
- * import { defineConfig } from "@cloudflare/config";
227
- *
228
- * export default defineConfig({
229
- * worker: {
230
- * name: "my-worker",
231
- * compatibilityDate: "2026-09-17",
232
- * },
233
- * });
234
- * ```
235
- */
236
- const defineConfig = createConfigDefiner();
237
- /**
238
- * Define a Container.
239
- *
240
- * @example
241
- * ```typescript
242
- * import { defineContainer } from "@cloudflare/config";
243
- *
244
- * const container = defineContainer({
245
- * name: "my-container",
246
- * image: { dockerfile: "./Dockerfile" },
247
- * });
248
- * ```
249
- */
250
- const defineContainer = createConfigDefiner();
251
- /**
252
- * Define a Worker.
253
- *
254
- * @example
255
- * ```typescript
256
- * import { defineWorker } from "@cloudflare/config";
257
- *
258
- * const worker = defineWorker({
259
- * name: "my-worker",
260
- * compatibilityDate: "2026-09-17",
261
- * });
262
- * ```
263
- */
264
- const defineWorker = createConfigDefiner();
1
+ export * from "@cloudflare/config/public"
265
2
 
266
- //#endregion
267
- export { bindings, defineConfig, defineContainer, defineWorker, exports, triggers };
268
- //# sourceMappingURL=experimental-config.mjs.map
3
+ export { };
package/dist/index.d.mts CHANGED
@@ -1,52 +1,9 @@
1
- import { Miniflare, Request as Request$1, Response } from "miniflare";
2
- import { Unstable_Config } from "wrangler";
3
1
  import * as vite from "vite";
2
+ import { InputWorkerConfig, ParsedInputWorkerConfig, WorkerConfig } from "@cloudflare/config";
4
3
  import { CompatDate } from "@cloudflare/workers-utils";
5
4
 
6
- //#region src/utils.d.ts
7
-
8
- type Defined<T> = Exclude<T, undefined>;
9
- //#endregion
10
- //#region src/workers-configs.d.ts
11
-
12
- type WorkerConfig = Omit<Unstable_Config, keyof NonApplicableConfig>;
13
- type NonApplicableWorkerConfigsInfo = typeof nonApplicableWorkerConfigs;
14
- type NonApplicableConfig = NonApplicableConfigReplacedByVite | NonApplicableConfigNotRelevant;
15
- type NonApplicableConfigReplacedByVite = keyof NonApplicableWorkerConfigsInfo["replacedByVite"];
16
- type NonApplicableConfigNotRelevant = NonApplicableWorkerConfigsInfo["notRelevant"][number];
17
- /**
18
- * Set of worker config options that are not applicable when using Vite
19
- */
20
- declare const nonApplicableWorkerConfigs: {
21
- /**
22
- * Object containing configs that have a vite replacement, the object's field contain details about the config's replacement
23
- */
24
- readonly replacedByVite: {
25
- readonly alias: {
26
- readonly viteReplacement: "resolve.alias";
27
- readonly viteDocs: "https://vite.dev/config/shared-options.html#resolve-alias";
28
- };
29
- readonly define: {
30
- readonly viteReplacement: "define";
31
- readonly viteDocs: "https://vite.dev/config/shared-options.html#define";
32
- };
33
- readonly minify: {
34
- readonly viteReplacement: "build.minify";
35
- readonly viteDocs: "https://vite.dev/config/build-options.html#build-minify";
36
- };
37
- };
38
- /**
39
- * All the configs that are not relevant when using Vite (meaning that in the context of a Vite
40
- * application they lose their purpose/meaning)
41
- */
42
- readonly notRelevant: readonly ["base_dir", "build", "find_additional_modules", "no_bundle", "preserve_file_names", "rules", "site", "tsconfig"];
43
- /**
44
- * Configs that are only supported on the entry worker and will be ignored on auxiliary workers
45
- */
46
- readonly notSupportedOnAuxiliary: readonly ["assets"];
47
- };
48
- //#endregion
49
5
  //#region src/plugin-config.d.ts
6
+
50
7
  type PersistState = boolean | {
51
8
  path: string;
52
9
  };
@@ -54,7 +11,7 @@ type TunnelConfig = {
54
11
  autoStart?: boolean;
55
12
  name?: string;
56
13
  };
57
- interface BaseWorkerConfig {
14
+ interface BaseWorkerOptions {
58
15
  viteEnvironment?: {
59
16
  name?: string;
60
17
  childEnvironments?: string[];
@@ -66,91 +23,64 @@ interface BaseWorkerConfig {
66
23
  * at build time, allowing frameworks to provide the value after initialization.
67
24
  */
68
25
  type DevOnly = boolean | (() => boolean);
69
- interface EntryWorkerConfig extends BaseWorkerConfig {
70
- configPath?: string;
71
- config?: WorkerConfigCustomizer<true>;
26
+ interface EntryWorkerOptions extends BaseWorkerOptions {
27
+ config?: EntryWorkerConfigCustomizer;
72
28
  /**
73
29
  * Whether the entry Worker should be omitted from the production build.
74
30
  * Can be a boolean or a function that returns a boolean. The function is
75
31
  * evaluated lazily at build time, allowing frameworks to provide the value
76
32
  * after initialization.
77
33
  *
78
- * When set, an assets-only Wrangler config is emitted to the client output
79
- * directory. This enables using server-side code in development but producing
80
- * a fully static app for deployment.
34
+ * When set, an assets-only Build Output config is emitted. This enables using
35
+ * server-side code in development but producing a fully static app for
36
+ * deployment.
81
37
  */
82
38
  assetsOnly?: DevOnly;
83
39
  }
84
- interface AuxiliaryWorkerFileConfig extends BaseWorkerConfig {
85
- configPath: string;
86
- devOnly?: DevOnly;
87
- }
88
- interface AuxiliaryWorkerInlineConfig extends BaseWorkerConfig {
89
- configPath?: string;
90
- config: WorkerConfigCustomizer<false>;
40
+ interface AuxiliaryWorkerOptions extends BaseWorkerOptions {
41
+ /** Configure an auxiliary Worker. */
42
+ config: WorkerConfigProvider;
91
43
  devOnly?: DevOnly;
92
44
  }
93
- type AuxiliaryWorkerConfig = AuxiliaryWorkerFileConfig | AuxiliaryWorkerInlineConfig;
94
- interface PrerenderWorkerFileConfig extends BaseWorkerConfig {
95
- configPath: string;
96
- }
97
- interface PrerenderWorkerInlineConfig extends BaseWorkerConfig {
98
- configPath?: string;
99
- config: WorkerConfigCustomizer<false>;
45
+ interface PrerenderWorkerOptions extends BaseWorkerOptions {
46
+ config: WorkerConfigProvider;
100
47
  }
101
- type PrerenderWorkerConfig = PrerenderWorkerFileConfig | PrerenderWorkerInlineConfig;
102
- interface ExperimentalNewConfig {
103
- /** Options for type generation. */
104
- types?: {
105
- /**
106
- * Whether to auto-generate `worker-configuration.d.ts` at the project
107
- * root. Defaults to `true`.
108
- */
109
- generate?: boolean;
110
- /**
111
- * Whether to include the Worker's runtime types (generated from the
112
- * project's compatibility date and flags) in the generated
113
- * `worker-configuration.d.ts`. Defaults to `true`.
114
- */
115
- includeRuntime?: boolean;
116
- };
48
+ interface TypeGenerationOptions {
49
+ /**
50
+ * Whether to auto-generate `worker-configuration.d.ts` at the project
51
+ * root. Defaults to `true`.
52
+ */
53
+ generate?: boolean;
117
54
  /**
118
- * Whether to emit the experimental Build Output Specification (`.cloudflare/output/v0/`)
119
- * intended for consumption by the new `cf` CLI.
55
+ * Whether to include the Worker's runtime types (generated from the
56
+ * project's compatibility date and flags) in the generated
57
+ * `worker-configuration.d.ts`. Defaults to `true`.
120
58
  */
121
- cfBuildOutput?: boolean;
59
+ includeRuntime?: boolean;
122
60
  }
123
61
  interface Experimental {
124
62
  /** Experimental support for handling the _headers and _redirects files during Vite dev mode. */
125
63
  headersAndRedirectsDevModeSupport?: boolean;
126
- /** Experimental support for a dedicated prerender Worker */
127
- prerenderWorker?: PrerenderWorkerConfig;
128
- /**
129
- * Experimental support for loading the entry Worker's configuration from
130
- * `cloudflare.config.ts` instead of `wrangler.json` /
131
- * `wrangler.jsonc` / `wrangler.toml`.
132
- *
133
- * Pass `true` for defaults, or an object to customize behaviour.
134
- */
135
- newConfig?: boolean | ExperimentalNewConfig;
136
64
  }
137
- type FilteredEntryWorkerConfig = Omit<ResolvedAssetsOnlyConfig, "topLevelName" | "name">;
138
- type WorkerConfigCustomizer<TIsEntryWorker extends boolean> = Partial<WorkerConfig> | ((...args: TIsEntryWorker extends true ? [config: WorkerConfig] : [config: WorkerConfig, {
139
- entryWorkerConfig: FilteredEntryWorkerConfig;
140
- }]) => Partial<WorkerConfig> | void);
141
- interface PluginConfig extends EntryWorkerConfig {
142
- auxiliaryWorkers?: AuxiliaryWorkerConfig[];
65
+ type EntryWorkerConfigCustomizer = Partial<ParsedInputWorkerConfig> | ((config: ParsedInputWorkerConfig) => Partial<ParsedInputWorkerConfig> | void);
66
+ type WorkerConfigProvider = InputWorkerConfig | ((options: {
67
+ entryWorkerConfig: ParsedInputWorkerConfig;
68
+ }) => InputWorkerConfig);
69
+ interface PluginConfig extends EntryWorkerOptions {
70
+ auxiliaryWorkers?: AuxiliaryWorkerOptions[];
71
+ /** Configuration for a dedicated prerender Worker. */
72
+ prerenderWorker?: PrerenderWorkerOptions;
143
73
  persistState?: PersistState;
144
74
  inspectorPort?: number | false;
145
75
  remoteBindings?: boolean;
146
76
  tunnel?: boolean | TunnelConfig;
77
+ /**
78
+ * Options for generating Worker types from `cloudflare.config.ts`. Type
79
+ * generation is skipped when the file does not exist.
80
+ */
81
+ types?: TypeGenerationOptions;
147
82
  experimental?: Experimental;
148
83
  }
149
- interface ResolvedAssetsOnlyConfig extends WorkerConfig {
150
- topLevelName: Defined<WorkerConfig["topLevelName"]>;
151
- name: Defined<WorkerConfig["name"]>;
152
- compatibility_date: Defined<WorkerConfig["compatibility_date"]>;
153
- }
154
84
  //#endregion
155
85
  //#region src/index.d.ts
156
86
  /**
@@ -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":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;AA2CY,KADA,YAAA,GACY,OAAA,GAAA;EAKd,IAAA,EAAA,MAAA;AAAiB,CAAA;AAWjB,KAhBE,YAAA,GAgBiB;EACnB,SAAA,CAAA,EAAA,OAAA;EAWI,IAAA,CAAA,EAAA,MAAA;CAZuB;UAX3B,iBAAA,CAW4C;EAe5C,eAAA,CAAA,EAAA;IAED,IAAA,CAAA,EAAA,MAAA;IACE,iBAAA,CAAA,EAAA,MAAA,EAAA;EAH8B,CAAA;;AAAiB;AAMA;AAkBnB;AAKjB;;KA9CjB,OAAA,GA6DF,OAAA,GAAA,CAAA,GAAA,GAAA,OAAA,CAAA;UA3DO,kBAAA,SAA2B,iBA6D1B,CAAA;EACK,MAAA,CAAA,EA7DN,2BA6DM;EAAR;;AAAO;;;;;AAQf;;;EAIgB,UAAA,CAAA,EA9DF,OA8DE;;UA3DN,sBAAA,SAA+B,iBAmEhC,CAAA;EACO;EAbsB,MAAA,EArD7B,oBAqD6B;EAAkB,OAAA,CAAA,EApD7C,OAoD6C;;UAjD9C,sBAAA,SAA+B;UAChC;ACtCT;AAsBA,UDmBU,qBAAA,CCnB+B;;;;;;;;;;;;;UDsC/B,YAAA;;;;KAcL,2BAAA,GACF,QAAQ,qCAEA,4BACH,QAAQ;KAEX,oBAAA,GACF;qBAEmB;MACb;UAEQ,YAAA,SAAqB;qBAClB;;oBAED;iBACH;;;qBAGI;;;;;UAKX;iBACO;;;;;;AApGhB;AACA;AAGE;AAEyB;AASf;;;;;AAiBF,iBC/BM,gCAAA,CD+BiB,QAGtB,CAHsB,EAAA;EAExB,WAAA,CAAA,EAAA,MAAA;CACE,CAAA,EAAA;EAH8B,IAAA,EC7B7B,UD6B6B;EAAiB,MAAA,EAAA,SAAA,GAAA,UAAA;AAAA,CAAA;AA6BpC;;;;;;;AAoBjB,iBC1DW,UAAA,CD0DS,YAAA,CAAA,EC1DgB,YD0DhB,CAAA,EC1DoC,IAAA,CAAK,MD0DzC,EAAA"}