devflare 0.0.0 → 1.0.0-next.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.
Files changed (198) hide show
  1. package/README.md +737 -1
  2. package/bin/devflare.js +14 -0
  3. package/dist/account-rvrj687w.js +397 -0
  4. package/dist/ai-dx4fr9jh.js +107 -0
  5. package/dist/bridge/client.d.ts +82 -0
  6. package/dist/bridge/client.d.ts.map +1 -0
  7. package/dist/bridge/index.d.ts +7 -0
  8. package/dist/bridge/index.d.ts.map +1 -0
  9. package/dist/bridge/miniflare.d.ts +70 -0
  10. package/dist/bridge/miniflare.d.ts.map +1 -0
  11. package/dist/bridge/protocol.d.ts +146 -0
  12. package/dist/bridge/protocol.d.ts.map +1 -0
  13. package/dist/bridge/proxy.d.ts +49 -0
  14. package/dist/bridge/proxy.d.ts.map +1 -0
  15. package/dist/bridge/serialization.d.ts +83 -0
  16. package/dist/bridge/serialization.d.ts.map +1 -0
  17. package/dist/bridge/server.d.ts +8 -0
  18. package/dist/bridge/server.d.ts.map +1 -0
  19. package/dist/browser-shim/binding-worker.d.ts +7 -0
  20. package/dist/browser-shim/binding-worker.d.ts.map +1 -0
  21. package/dist/browser-shim/handler.d.ts +21 -0
  22. package/dist/browser-shim/handler.d.ts.map +1 -0
  23. package/dist/browser-shim/index.d.ts +3 -0
  24. package/dist/browser-shim/index.d.ts.map +1 -0
  25. package/dist/browser-shim/server.d.ts +25 -0
  26. package/dist/browser-shim/server.d.ts.map +1 -0
  27. package/dist/browser-shim/worker.d.ts +14 -0
  28. package/dist/browser-shim/worker.d.ts.map +1 -0
  29. package/dist/build-mnf6v8gd.js +53 -0
  30. package/dist/bundler/do-bundler.d.ts +42 -0
  31. package/dist/bundler/do-bundler.d.ts.map +1 -0
  32. package/dist/bundler/index.d.ts +2 -0
  33. package/dist/bundler/index.d.ts.map +1 -0
  34. package/dist/cli/bin.d.ts +3 -0
  35. package/dist/cli/bin.d.ts.map +1 -0
  36. package/dist/cli/colors.d.ts +11 -0
  37. package/dist/cli/colors.d.ts.map +1 -0
  38. package/dist/cli/commands/account.d.ts +4 -0
  39. package/dist/cli/commands/account.d.ts.map +1 -0
  40. package/dist/cli/commands/ai.d.ts +3 -0
  41. package/dist/cli/commands/ai.d.ts.map +1 -0
  42. package/dist/cli/commands/build.d.ts +4 -0
  43. package/dist/cli/commands/build.d.ts.map +1 -0
  44. package/dist/cli/commands/deploy.d.ts +4 -0
  45. package/dist/cli/commands/deploy.d.ts.map +1 -0
  46. package/dist/cli/commands/dev.d.ts +4 -0
  47. package/dist/cli/commands/dev.d.ts.map +1 -0
  48. package/dist/cli/commands/doctor.d.ts +4 -0
  49. package/dist/cli/commands/doctor.d.ts.map +1 -0
  50. package/dist/cli/commands/init.d.ts +4 -0
  51. package/dist/cli/commands/init.d.ts.map +1 -0
  52. package/dist/cli/commands/remote.d.ts +4 -0
  53. package/dist/cli/commands/remote.d.ts.map +1 -0
  54. package/dist/cli/commands/types.d.ts +4 -0
  55. package/dist/cli/commands/types.d.ts.map +1 -0
  56. package/dist/cli/dependencies.d.ts +90 -0
  57. package/dist/cli/dependencies.d.ts.map +1 -0
  58. package/dist/cli/index.d.ts +23 -0
  59. package/dist/cli/index.d.ts.map +1 -0
  60. package/dist/cli/wrangler-auth.d.ts +36 -0
  61. package/dist/cli/wrangler-auth.d.ts.map +1 -0
  62. package/dist/cloudflare/account.d.ts +65 -0
  63. package/dist/cloudflare/account.d.ts.map +1 -0
  64. package/dist/cloudflare/api.d.ts +51 -0
  65. package/dist/cloudflare/api.d.ts.map +1 -0
  66. package/dist/cloudflare/auth.d.ts +35 -0
  67. package/dist/cloudflare/auth.d.ts.map +1 -0
  68. package/dist/cloudflare/index.d.ts +107 -0
  69. package/dist/cloudflare/index.d.ts.map +1 -0
  70. package/dist/cloudflare/index.js +13 -0
  71. package/dist/cloudflare/preferences.d.ts +46 -0
  72. package/dist/cloudflare/preferences.d.ts.map +1 -0
  73. package/dist/cloudflare/pricing.d.ts +15 -0
  74. package/dist/cloudflare/pricing.d.ts.map +1 -0
  75. package/dist/cloudflare/remote-config.d.ts +37 -0
  76. package/dist/cloudflare/remote-config.d.ts.map +1 -0
  77. package/dist/cloudflare/types.d.ts +161 -0
  78. package/dist/cloudflare/types.d.ts.map +1 -0
  79. package/dist/cloudflare/usage.d.ts +77 -0
  80. package/dist/cloudflare/usage.d.ts.map +1 -0
  81. package/dist/config/compiler.d.ts +146 -0
  82. package/dist/config/compiler.d.ts.map +1 -0
  83. package/dist/config/define.d.ts +44 -0
  84. package/dist/config/define.d.ts.map +1 -0
  85. package/dist/config/index.d.ts +6 -0
  86. package/dist/config/index.d.ts.map +1 -0
  87. package/dist/config/loader.d.ts +52 -0
  88. package/dist/config/loader.d.ts.map +1 -0
  89. package/dist/config/ref.d.ts +160 -0
  90. package/dist/config/ref.d.ts.map +1 -0
  91. package/dist/config/schema.d.ts +3318 -0
  92. package/dist/config/schema.d.ts.map +1 -0
  93. package/dist/decorators/durable-object.d.ts +59 -0
  94. package/dist/decorators/durable-object.d.ts.map +1 -0
  95. package/dist/decorators/index.d.ts +3 -0
  96. package/dist/decorators/index.d.ts.map +1 -0
  97. package/dist/decorators/index.js +9 -0
  98. package/dist/deploy-nhceck39.js +70 -0
  99. package/dist/dev-qnxet3j9.js +2096 -0
  100. package/dist/dev-server/index.d.ts +2 -0
  101. package/dist/dev-server/index.d.ts.map +1 -0
  102. package/dist/dev-server/server.d.ts +30 -0
  103. package/dist/dev-server/server.d.ts.map +1 -0
  104. package/dist/doctor-e8fy6fj5.js +186 -0
  105. package/dist/durable-object-t4kbb0yt.js +13 -0
  106. package/dist/env.d.ts +48 -0
  107. package/dist/env.d.ts.map +1 -0
  108. package/dist/index-07q6yxyc.js +168 -0
  109. package/dist/index-1xpj0m4r.js +57 -0
  110. package/dist/index-37x76zdn.js +4 -0
  111. package/dist/index-3t6rypgc.js +13 -0
  112. package/dist/index-67qcae0f.js +183 -0
  113. package/dist/index-a855bdsx.js +18 -0
  114. package/dist/index-d8bdkx2h.js +109 -0
  115. package/dist/index-ep3445yc.js +2225 -0
  116. package/dist/index-gz1gndna.js +307 -0
  117. package/dist/index-hcex3rgh.js +266 -0
  118. package/dist/index-m2q41jwa.js +462 -0
  119. package/dist/index-n7rs26ft.js +77 -0
  120. package/dist/index-pf5s73n9.js +1413 -0
  121. package/dist/index-rbht7m9r.js +36 -0
  122. package/dist/index-tfyxa77h.js +850 -0
  123. package/dist/index-tk6ej9dj.js +94 -0
  124. package/dist/index-z14anrqp.js +226 -0
  125. package/dist/index.d.ts +13 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +298 -0
  128. package/dist/init-f9mgmew3.js +186 -0
  129. package/dist/remote-q59qk463.js +97 -0
  130. package/dist/runtime/context.d.ts +46 -0
  131. package/dist/runtime/context.d.ts.map +1 -0
  132. package/dist/runtime/exports.d.ts +118 -0
  133. package/dist/runtime/exports.d.ts.map +1 -0
  134. package/dist/runtime/index.d.ts +4 -0
  135. package/dist/runtime/index.d.ts.map +1 -0
  136. package/dist/runtime/index.js +111 -0
  137. package/dist/runtime/middleware.d.ts +82 -0
  138. package/dist/runtime/middleware.d.ts.map +1 -0
  139. package/dist/runtime/validation.d.ts +37 -0
  140. package/dist/runtime/validation.d.ts.map +1 -0
  141. package/dist/sveltekit/index.d.ts +2 -0
  142. package/dist/sveltekit/index.d.ts.map +1 -0
  143. package/dist/sveltekit/index.js +182 -0
  144. package/dist/sveltekit/platform.d.ts +141 -0
  145. package/dist/sveltekit/platform.d.ts.map +1 -0
  146. package/dist/test/bridge-context.d.ts +73 -0
  147. package/dist/test/bridge-context.d.ts.map +1 -0
  148. package/dist/test/cf.d.ts +130 -0
  149. package/dist/test/cf.d.ts.map +1 -0
  150. package/dist/test/email.d.ts +75 -0
  151. package/dist/test/email.d.ts.map +1 -0
  152. package/dist/test/index.d.ts +22 -0
  153. package/dist/test/index.d.ts.map +1 -0
  154. package/dist/test/index.js +71 -0
  155. package/dist/test/multi-worker-context.d.ts +114 -0
  156. package/dist/test/multi-worker-context.d.ts.map +1 -0
  157. package/dist/test/queue.d.ts +74 -0
  158. package/dist/test/queue.d.ts.map +1 -0
  159. package/dist/test/remote-ai.d.ts +6 -0
  160. package/dist/test/remote-ai.d.ts.map +1 -0
  161. package/dist/test/remote-vectorize.d.ts +6 -0
  162. package/dist/test/remote-vectorize.d.ts.map +1 -0
  163. package/dist/test/resolve-service-bindings.d.ts +68 -0
  164. package/dist/test/resolve-service-bindings.d.ts.map +1 -0
  165. package/dist/test/scheduled.d.ts +58 -0
  166. package/dist/test/scheduled.d.ts.map +1 -0
  167. package/dist/test/should-skip.d.ts +50 -0
  168. package/dist/test/should-skip.d.ts.map +1 -0
  169. package/dist/test/simple-context.d.ts +43 -0
  170. package/dist/test/simple-context.d.ts.map +1 -0
  171. package/dist/test/tail.d.ts +86 -0
  172. package/dist/test/tail.d.ts.map +1 -0
  173. package/dist/test/utilities.d.ts +99 -0
  174. package/dist/test/utilities.d.ts.map +1 -0
  175. package/dist/test/worker.d.ts +76 -0
  176. package/dist/test/worker.d.ts.map +1 -0
  177. package/dist/transform/durable-object.d.ts +46 -0
  178. package/dist/transform/durable-object.d.ts.map +1 -0
  179. package/dist/transform/index.d.ts +3 -0
  180. package/dist/transform/index.d.ts.map +1 -0
  181. package/dist/transform/worker-entrypoint.d.ts +66 -0
  182. package/dist/transform/worker-entrypoint.d.ts.map +1 -0
  183. package/dist/types-5nyrz1sz.js +454 -0
  184. package/dist/utils/entrypoint-discovery.d.ts +29 -0
  185. package/dist/utils/entrypoint-discovery.d.ts.map +1 -0
  186. package/dist/utils/glob.d.ts +33 -0
  187. package/dist/utils/glob.d.ts.map +1 -0
  188. package/dist/utils/resolve-package.d.ts +10 -0
  189. package/dist/utils/resolve-package.d.ts.map +1 -0
  190. package/dist/vite/index.d.ts +3 -0
  191. package/dist/vite/index.d.ts.map +1 -0
  192. package/dist/vite/index.js +339 -0
  193. package/dist/vite/plugin.d.ts +138 -0
  194. package/dist/vite/plugin.d.ts.map +1 -0
  195. package/dist/worker-entrypoint-m9th0rg0.js +13 -0
  196. package/dist/workerName.d.ts +17 -0
  197. package/dist/workerName.d.ts.map +1 -0
  198. package/package.json +111 -1
@@ -0,0 +1,161 @@
1
+ export interface CloudflareAccount {
2
+ id: string;
3
+ name: string;
4
+ type: 'standard' | 'enterprise' | string;
5
+ settings?: {
6
+ enforce_twofactor?: boolean;
7
+ use_account_custom_ns_by_default?: boolean;
8
+ };
9
+ created_on?: string;
10
+ }
11
+ export interface AccountInfo {
12
+ id: string;
13
+ name: string;
14
+ type: string;
15
+ createdOn?: Date;
16
+ }
17
+ export type CloudflareService = 'workers' | 'kv' | 'd1' | 'r2' | 'ai' | 'vectorize' | 'durable_objects' | 'queues' | 'hyperdrive' | 'browser';
18
+ export interface ServiceStatus {
19
+ service: CloudflareService;
20
+ available: boolean;
21
+ count?: number;
22
+ details?: Record<string, unknown>;
23
+ }
24
+ export interface WorkerScript {
25
+ id: string;
26
+ name?: string;
27
+ created_on: string;
28
+ modified_on: string;
29
+ etag?: string;
30
+ }
31
+ export interface WorkerInfo {
32
+ name: string;
33
+ createdOn: Date;
34
+ modifiedOn: Date;
35
+ }
36
+ export interface KVNamespace {
37
+ id: string;
38
+ title: string;
39
+ supports_url_encoding?: boolean;
40
+ }
41
+ export interface KVNamespaceInfo {
42
+ id: string;
43
+ name: string;
44
+ }
45
+ export interface D1Database {
46
+ uuid: string;
47
+ name: string;
48
+ version: string;
49
+ num_tables?: number;
50
+ file_size?: number;
51
+ created_at?: string;
52
+ }
53
+ export interface D1DatabaseInfo {
54
+ id: string;
55
+ name: string;
56
+ version: string;
57
+ tableCount?: number;
58
+ sizeBytes?: number;
59
+ }
60
+ export interface R2Bucket {
61
+ name: string;
62
+ creation_date: string;
63
+ location?: string;
64
+ }
65
+ export interface R2BucketInfo {
66
+ name: string;
67
+ createdOn: Date;
68
+ location?: string;
69
+ }
70
+ export interface VectorizeIndex {
71
+ name: string;
72
+ description?: string;
73
+ config: {
74
+ dimensions: number;
75
+ metric: 'cosine' | 'euclidean' | 'dot-product';
76
+ };
77
+ created_on?: string;
78
+ modified_on?: string;
79
+ }
80
+ export interface VectorizeIndexInfo {
81
+ name: string;
82
+ dimensions: number;
83
+ metric: string;
84
+ description?: string;
85
+ }
86
+ export interface AIModel {
87
+ id: string;
88
+ name: string;
89
+ description?: string;
90
+ task?: {
91
+ id: string;
92
+ name: string;
93
+ description?: string;
94
+ };
95
+ properties?: Array<{
96
+ property_id: string;
97
+ value: string;
98
+ }>;
99
+ }
100
+ export interface AIModelInfo {
101
+ id: string;
102
+ name: string;
103
+ task?: string;
104
+ description?: string;
105
+ }
106
+ export interface UsageRecord {
107
+ service: CloudflareService;
108
+ /** ISO date string (YYYY-MM-DD) */
109
+ date: string;
110
+ /** Usage count (requests, tokens, bytes, etc.) */
111
+ count: number;
112
+ /** Last updated timestamp */
113
+ updatedAt: string;
114
+ }
115
+ export interface UsageLimits {
116
+ /** Daily limit for AI tokens (across all models) */
117
+ aiTokensPerDay?: number;
118
+ /** Daily limit for AI requests */
119
+ aiRequestsPerDay?: number;
120
+ /** Daily limit for Vectorize operations */
121
+ vectorizeOpsPerDay?: number;
122
+ /** Whether limits are enabled */
123
+ enabled: boolean;
124
+ }
125
+ export interface UsageSummary {
126
+ service: CloudflareService;
127
+ today: number;
128
+ limit?: number;
129
+ withinLimit: boolean;
130
+ percentUsed?: number;
131
+ }
132
+ export interface CloudflareAPIResponse<T> {
133
+ success: boolean;
134
+ errors: Array<{
135
+ code: number;
136
+ message: string;
137
+ }>;
138
+ messages: Array<{
139
+ code: number;
140
+ message: string;
141
+ }>;
142
+ result: T;
143
+ result_info?: {
144
+ page: number;
145
+ per_page: number;
146
+ total_pages: number;
147
+ count: number;
148
+ total_count: number;
149
+ };
150
+ }
151
+ export interface WranglerAuth {
152
+ /** OAuth token from wrangler config */
153
+ oauthToken?: string;
154
+ /** API token (if explicitly set) */
155
+ apiToken?: string;
156
+ /** Refresh token for OAuth */
157
+ refreshToken?: string;
158
+ /** Token expiry time */
159
+ expiresAt?: Date;
160
+ }
161
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cloudflare/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { CloudflareService, UsageLimits, UsageRecord, UsageSummary } from './types';
2
+ /**
3
+ * Get usage for a specific service on a specific date
4
+ */
5
+ export declare function getUsage(accountId: string, service: CloudflareService, date?: string): Promise<UsageRecord | null>;
6
+ /**
7
+ * Record usage for a service
8
+ */
9
+ export declare function recordUsage(accountId: string, service: CloudflareService, count?: number): Promise<UsageRecord>;
10
+ /**
11
+ * Reset usage for a service (typically called when limits are adjusted)
12
+ */
13
+ export declare function resetUsage(accountId: string, service: CloudflareService): Promise<void>;
14
+ /**
15
+ * Get the current usage limits
16
+ */
17
+ export declare function getLimits(accountId: string): Promise<UsageLimits>;
18
+ /**
19
+ * Update usage limits
20
+ */
21
+ export declare function setLimits(accountId: string, limits: Partial<UsageLimits>): Promise<UsageLimits>;
22
+ /**
23
+ * Enable or disable limits enforcement
24
+ */
25
+ export declare function setLimitsEnabled(accountId: string, enabled: boolean): Promise<UsageLimits>;
26
+ /**
27
+ * Check if usage is within limits for a service
28
+ */
29
+ export declare function isWithinLimits(accountId: string, service: CloudflareService): Promise<boolean>;
30
+ /**
31
+ * Get usage summary for a service
32
+ */
33
+ export declare function getUsageSummary(accountId: string, service: CloudflareService): Promise<UsageSummary>;
34
+ /**
35
+ * Get usage summary for all tracked services
36
+ */
37
+ export declare function getAllUsageSummaries(accountId: string): Promise<UsageSummary[]>;
38
+ /**
39
+ * Check if we can proceed with testing for a specific service
40
+ * Returns true if within limits, false if limits exceeded
41
+ *
42
+ * Use this before running tests that use remote bindings
43
+ */
44
+ export declare function canProceedWithTest(accountId: string, service: CloudflareService): Promise<{
45
+ allowed: boolean;
46
+ reason?: string;
47
+ }>;
48
+ /**
49
+ * Record that a test used a remote service
50
+ * Call this after successful test execution
51
+ */
52
+ export declare function recordTestUsage(accountId: string, service: CloudflareService, count?: number): Promise<void>;
53
+ /**
54
+ * Check if tests for a service should be skipped
55
+ *
56
+ * Returns `true` if tests should be SKIPPED (service not available)
57
+ * Returns `false` if tests can proceed
58
+ *
59
+ * Automatically logs the skip reason to console.
60
+ *
61
+ * NOTE: This function is read-only and catches all errors gracefully.
62
+ * If Cloudflare is unreachable, auth fails, or limits can't be checked,
63
+ * it will return true (skip) with an appropriate message.
64
+ *
65
+ * Usage:
66
+ * ```ts
67
+ * import { account } from 'devflare/cloudflare'
68
+ *
69
+ * const skipAI = await account.shouldSkip('ai')
70
+ *
71
+ * describe.skipIf(skipAI)('AI tests', () => {
72
+ * // ...
73
+ * })
74
+ * ```
75
+ */
76
+ export declare function shouldSkip(service: CloudflareService): Promise<boolean>;
77
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cloudflare/usage.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,EAEZ,MAAM,SAAS,CAAA;AA+DhB;;GAEG;AACH,wBAAsB,QAAQ,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAiB7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,GAAE,MAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC,CAaf;AAMD;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAavE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAC1B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,WAAW,CAAC,CAEtB;AAMD;;GAEG;AACH,wBAAsB,cAAc,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAMrF;AAMD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBhD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,GAAE,MAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;AAWD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsC7E"}
@@ -0,0 +1,146 @@
1
+ import { type DevflareConfig } from './schema';
2
+ /**
3
+ * Wrangler config type — represents the output format for wrangler.jsonc
4
+ */
5
+ export interface WranglerConfig {
6
+ name: string;
7
+ account_id?: string;
8
+ main?: string;
9
+ compatibility_date: string;
10
+ compatibility_flags?: string[];
11
+ kv_namespaces?: Array<{
12
+ binding: string;
13
+ id: string;
14
+ }>;
15
+ d1_databases?: Array<{
16
+ binding: string;
17
+ database_id: string;
18
+ }>;
19
+ r2_buckets?: Array<{
20
+ binding: string;
21
+ bucket_name: string;
22
+ }>;
23
+ durable_objects?: {
24
+ bindings: Array<{
25
+ name: string;
26
+ class_name: string;
27
+ script_name?: string;
28
+ }>;
29
+ };
30
+ queues?: {
31
+ producers?: Array<{
32
+ binding: string;
33
+ queue: string;
34
+ }>;
35
+ consumers?: Array<{
36
+ queue: string;
37
+ max_batch_size?: number;
38
+ max_batch_timeout?: number;
39
+ max_retries?: number;
40
+ dead_letter_queue?: string;
41
+ max_concurrency?: number;
42
+ retry_delay?: number;
43
+ }>;
44
+ };
45
+ services?: Array<{
46
+ binding: string;
47
+ service: string;
48
+ environment?: string;
49
+ }>;
50
+ ai?: {
51
+ binding: string;
52
+ };
53
+ vectorize?: Array<{
54
+ binding: string;
55
+ index_name: string;
56
+ }>;
57
+ hyperdrive?: Array<{
58
+ binding: string;
59
+ id: string;
60
+ }>;
61
+ browser?: {
62
+ binding: string;
63
+ };
64
+ analytics_engine_datasets?: Array<{
65
+ binding: string;
66
+ dataset: string;
67
+ }>;
68
+ triggers?: {
69
+ crons?: string[];
70
+ };
71
+ vars?: Record<string, string>;
72
+ routes?: Array<{
73
+ pattern: string;
74
+ zone_name?: string;
75
+ zone_id?: string;
76
+ custom_domain?: boolean;
77
+ }>;
78
+ assets?: {
79
+ directory: string;
80
+ binding?: string;
81
+ };
82
+ observability?: {
83
+ enabled?: boolean;
84
+ head_sampling_rate?: number;
85
+ };
86
+ limits?: {
87
+ cpu_ms?: number;
88
+ };
89
+ migrations?: Array<{
90
+ tag: string;
91
+ new_classes?: string[];
92
+ renamed_classes?: Array<{
93
+ from: string;
94
+ to: string;
95
+ }>;
96
+ deleted_classes?: string[];
97
+ new_sqlite_classes?: string[];
98
+ }>;
99
+ [key: string]: unknown;
100
+ }
101
+ /**
102
+ * Compile DevflareConfig to WranglerConfig
103
+ *
104
+ * @param config - The devflare configuration
105
+ * @param environment - Optional environment name for env-specific overrides
106
+ * @returns Wrangler-compatible configuration object
107
+ */
108
+ export declare function compileConfig(config: DevflareConfig, environment?: string): WranglerConfig;
109
+ /**
110
+ * Compile DevflareConfig to programmatic config for @cloudflare/vite-plugin
111
+ * This is used instead of wrangler.jsonc in dev mode
112
+ *
113
+ * @param config - The devflare configuration
114
+ * @param environment - Optional environment name for env-specific overrides
115
+ * @returns Config object compatible with cloudflare({ config: ... })
116
+ */
117
+ export declare function compileToProgrammaticConfig(config: DevflareConfig, environment?: string): Record<string, unknown>;
118
+ /**
119
+ * Convert WranglerConfig to JSONC string with comments
120
+ */
121
+ export declare function stringifyConfig(config: WranglerConfig): string;
122
+ /**
123
+ * Write wrangler.jsonc file to the specified directory
124
+ *
125
+ * @param cwd - Working directory to write to
126
+ * @param config - Wrangler configuration to write
127
+ * @param filename - Optional filename (default: 'wrangler.jsonc')
128
+ * @returns Path to the written file
129
+ */
130
+ export declare function writeWranglerConfig(cwd: string, config: WranglerConfig, filename?: string): Promise<string>;
131
+ /**
132
+ * Compile DO Worker config from DevflareConfig
133
+ * This creates a separate worker config that exports the DO classes
134
+ *
135
+ * @param config - The devflare configuration
136
+ * @param doWorkerEntry - Path to the DO worker entry file (e.g., 'src/workers/do-worker.ts')
137
+ * @param options - Additional options
138
+ * @param options.absoluteMain - If true, resolve main to absolute path using cwd
139
+ * @param options.cwd - Working directory for resolving absolute paths
140
+ * @returns Wrangler config for the DO worker, or null if no DOs configured
141
+ */
142
+ export declare function compileDOWorkerConfig(config: DevflareConfig, doWorkerEntry: string, options?: {
143
+ absoluteMain?: boolean;
144
+ cwd?: string;
145
+ }): WranglerConfig | null;
146
+ //# sourceMappingURL=compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/config/compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { DevflareConfigInput } from './schema';
2
+ /**
3
+ * Input type for defineConfig - can be object, function, or async function
4
+ * Uses the Zod input type so optional fields with defaults are truly optional
5
+ */
6
+ export type DefineConfigInput = DevflareConfigInput | (() => DevflareConfigInput) | (() => Promise<DevflareConfigInput>);
7
+ /**
8
+ * Configuration with entrypoints type attached for ref() type inference.
9
+ * This is used by ref() to provide autocomplete for entrypoint names.
10
+ */
11
+ export interface TypedConfig<TEntrypoints extends string = string> extends DevflareConfigInput {
12
+ /** @internal Type marker for entrypoint names - used by ref() for autocomplete */
13
+ readonly __entrypoints?: TEntrypoints;
14
+ }
15
+ /**
16
+ * Type-safe helper for defining devflare configuration.
17
+ *
18
+ * @typeParam TEntrypoints - Union of valid entrypoint names (from generated types)
19
+ *
20
+ * @example
21
+ * // Basic usage (entrypoints default to string)
22
+ * export default defineConfig({
23
+ * name: 'my-worker'
24
+ * })
25
+ *
26
+ * @example
27
+ * // With generated entrypoints type (after `devflare types`)
28
+ * // env.d.ts exports: type Entrypoints = 'AdminEntrypoint' | 'OtherEntrypoint'
29
+ * export default defineConfig<import('./env').Entrypoints>({
30
+ * name: 'my-worker',
31
+ * files: { fetch: 'worker.ts' }
32
+ * })
33
+ *
34
+ * @example
35
+ * // Function config
36
+ * export default defineConfig(() => ({
37
+ * name: process.env.WORKER_NAME ?? 'my-worker',
38
+ * compatibilityDate: '2025-01-07'
39
+ * }))
40
+ */
41
+ export declare function defineConfig<TEntrypoints extends string = string>(config: DevflareConfigInput): TypedConfig<TEntrypoints>;
42
+ export declare function defineConfig<TEntrypoints extends string = string>(config: () => DevflareConfigInput): TypedConfig<TEntrypoints>;
43
+ export declare function defineConfig<TEntrypoints extends string = string>(config: () => Promise<DevflareConfigInput>): Promise<TypedConfig<TEntrypoints>>;
44
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAC1B,mBAAmB,GACnB,CAAC,MAAM,mBAAmB,CAAC,GAC3B,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,mBAAmB;IAC7F,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,EAChE,MAAM,EAAE,mBAAmB,GACzB,WAAW,CAAC,YAAY,CAAC,CAAA;AAC5B,wBAAgB,YAAY,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,EAChE,MAAM,EAAE,MAAM,mBAAmB,GAC/B,WAAW,CAAC,YAAY,CAAC,CAAA;AAC5B,wBAAgB,YAAY,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,EAChE,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GACxC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { defineConfig } from './define';
2
+ export { configSchema, normalizeDOBinding, type DevflareConfig, type DevflareConfigInput, type DevflareEnvConfig, type DurableObjectBinding, type NormalizedDOBinding, type QueueConsumer, type QueuesConfig, type ServiceBinding, type RouteConfig, type WsRouteConfig, type AssetsConfig, type BuildConfig, type MigrationConfig } from './schema';
3
+ export { compileConfig, stringifyConfig, writeWranglerConfig, type WranglerConfig } from './compiler';
4
+ export { loadConfig, resolveConfigPath, ConfigNotFoundError, ConfigValidationError, type LoadConfigOptions } from './loader';
5
+ export { ref, resolveRef, serviceBinding, type RefResult, type WorkerBinding, type WorkerBindingAccessor, type DOBindingRef } from './ref';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACrG,OAAO,EACN,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACN,GAAG,EACH,UAAU,EACV,cAAc,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,MAAM,OAAO,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { type DevflareConfig } from './schema';
2
+ /**
3
+ * Options for loading config
4
+ */
5
+ export interface LoadConfigOptions {
6
+ /** Working directory to search for config */
7
+ cwd?: string;
8
+ /** Custom config file name */
9
+ configFile?: string;
10
+ /** Environment name for env-specific overrides */
11
+ environment?: string;
12
+ }
13
+ /**
14
+ * Resolve the config file path in a directory
15
+ *
16
+ * @param cwd - Directory to search in
17
+ * @returns Path to config file or undefined
18
+ */
19
+ export declare function resolveConfigPath(cwd: string): Promise<string | undefined>;
20
+ /**
21
+ * Load and validate devflare configuration
22
+ *
23
+ * @param options - Loading options
24
+ * @returns Validated DevflareConfig
25
+ * @throws When config file not found or validation fails
26
+ */
27
+ export declare function loadConfig(options?: LoadConfigOptions): Promise<DevflareConfig>;
28
+ /**
29
+ * Error thrown when config file is not found
30
+ */
31
+ export declare class ConfigNotFoundError extends Error {
32
+ readonly cwd: string;
33
+ readonly configFile: string;
34
+ readonly code = "CONFIG_NOT_FOUND";
35
+ constructor(cwd: string, configFile: string);
36
+ }
37
+ /**
38
+ * Error thrown when config validation fails
39
+ */
40
+ export declare class ConfigValidationError extends Error {
41
+ readonly issues: Array<{
42
+ path: (string | number)[];
43
+ message: string;
44
+ }>;
45
+ readonly configFile: string;
46
+ readonly code = "CONFIG_VALIDATION_ERROR";
47
+ constructor(issues: Array<{
48
+ path: (string | number)[];
49
+ message: string;
50
+ }>, configFile: string);
51
+ }
52
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQhF;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BzF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAI5B,GAAG,EAAE,MAAM;aACX,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,sBAAqB;IAElC,YACiB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAQlC;CACD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAI9B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;aAC7D,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,YACiB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7D,UAAU,EAAE,MAAM,EAUlC;CACD"}