alchemy 0.1.14 → 0.1.16

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 (222) hide show
  1. package/lib/apply.js +1 -1
  2. package/lib/apply.js.map +1 -1
  3. package/lib/destroy.js +9 -3
  4. package/lib/destroy.js.map +1 -1
  5. package/package.json +1 -2
  6. package/src/apply.ts +1 -1
  7. package/src/aws/table.ts +30 -8
  8. package/src/cloudflare/kv-namespace.ts +34 -15
  9. package/src/cloudflare/worker.ts +66 -41
  10. package/src/destroy.ts +15 -10
  11. package/src/utils/retry.ts +1 -0
  12. package/README.md +0 -334
  13. package/lib/$.d.ts +0 -12
  14. package/lib/$.d.ts.map +0 -1
  15. package/lib/$.js +0 -42
  16. package/lib/$.js.map +0 -1
  17. package/lib/alchemize.d.ts +0 -43
  18. package/lib/alchemize.d.ts.map +0 -1
  19. package/lib/alchemize.js +0 -112
  20. package/lib/alchemize.js.map +0 -1
  21. package/lib/apply.d.ts +0 -23
  22. package/lib/aws/account-id.d.ts +0 -5
  23. package/lib/aws/account-id.d.ts.map +0 -1
  24. package/lib/aws/account-id.js +0 -10
  25. package/lib/aws/account-id.js.map +0 -1
  26. package/lib/aws/bucket.d.ts +0 -21
  27. package/lib/aws/bucket.d.ts.map +0 -1
  28. package/lib/aws/bucket.js +0 -114
  29. package/lib/aws/bucket.js.map +0 -1
  30. package/lib/aws/function.d.ts +0 -53
  31. package/lib/aws/function.d.ts.map +0 -1
  32. package/lib/aws/function.js +0 -195
  33. package/lib/aws/function.js.map +0 -1
  34. package/lib/aws/index.d.ts +0 -9
  35. package/lib/aws/index.d.ts.map +0 -1
  36. package/lib/aws/index.js +0 -9
  37. package/lib/aws/index.js.map +0 -1
  38. package/lib/aws/oidc/github-oidc-provider.d.ts +0 -11
  39. package/lib/aws/oidc/github-oidc-provider.d.ts.map +0 -1
  40. package/lib/aws/oidc/github-oidc-provider.js +0 -22
  41. package/lib/aws/oidc/github-oidc-provider.js.map +0 -1
  42. package/lib/aws/oidc/index.d.ts +0 -3
  43. package/lib/aws/oidc/index.d.ts.map +0 -1
  44. package/lib/aws/oidc/index.js +0 -3
  45. package/lib/aws/oidc/index.js.map +0 -1
  46. package/lib/aws/oidc/oidc-provider.d.ts +0 -60
  47. package/lib/aws/oidc/oidc-provider.d.ts.map +0 -1
  48. package/lib/aws/oidc/oidc-provider.js +0 -140
  49. package/lib/aws/oidc/oidc-provider.js.map +0 -1
  50. package/lib/aws/policy.d.ts +0 -46
  51. package/lib/aws/policy.d.ts.map +0 -1
  52. package/lib/aws/policy.js +0 -139
  53. package/lib/aws/policy.js.map +0 -1
  54. package/lib/aws/queue.d.ts +0 -62
  55. package/lib/aws/queue.d.ts.map +0 -1
  56. package/lib/aws/queue.js +0 -167
  57. package/lib/aws/queue.js.map +0 -1
  58. package/lib/aws/role.d.ts +0 -27
  59. package/lib/aws/role.d.ts.map +0 -1
  60. package/lib/aws/role.js +0 -197
  61. package/lib/aws/role.js.map +0 -1
  62. package/lib/aws/ses.d.ts +0 -75
  63. package/lib/aws/ses.d.ts.map +0 -1
  64. package/lib/aws/ses.js +0 -189
  65. package/lib/aws/ses.js.map +0 -1
  66. package/lib/aws/table.d.ts +0 -26
  67. package/lib/aws/table.d.ts.map +0 -1
  68. package/lib/aws/table.js +0 -142
  69. package/lib/aws/table.js.map +0 -1
  70. package/lib/cloudflare/api.d.ts +0 -88
  71. package/lib/cloudflare/api.d.ts.map +0 -1
  72. package/lib/cloudflare/api.js +0 -184
  73. package/lib/cloudflare/api.js.map +0 -1
  74. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  75. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  76. package/lib/cloudflare/asset-manifest.js +0 -2
  77. package/lib/cloudflare/asset-manifest.js.map +0 -1
  78. package/lib/cloudflare/auth.d.ts +0 -52
  79. package/lib/cloudflare/auth.d.ts.map +0 -1
  80. package/lib/cloudflare/auth.js +0 -114
  81. package/lib/cloudflare/auth.js.map +0 -1
  82. package/lib/cloudflare/bindings.d.ts +0 -259
  83. package/lib/cloudflare/bindings.d.ts.map +0 -1
  84. package/lib/cloudflare/bindings.js +0 -2
  85. package/lib/cloudflare/bindings.js.map +0 -1
  86. package/lib/cloudflare/durable-object-namespace.d.ts +0 -20
  87. package/lib/cloudflare/durable-object-namespace.d.ts.map +0 -1
  88. package/lib/cloudflare/durable-object-namespace.js +0 -21
  89. package/lib/cloudflare/durable-object-namespace.js.map +0 -1
  90. package/lib/cloudflare/generate-asset-manifest.d.ts +0 -3
  91. package/lib/cloudflare/generate-asset-manifest.d.ts.map +0 -1
  92. package/lib/cloudflare/generate-asset-manifest.js +0 -69
  93. package/lib/cloudflare/generate-asset-manifest.js.map +0 -1
  94. package/lib/cloudflare/index.d.ts +0 -7
  95. package/lib/cloudflare/index.d.ts.map +0 -1
  96. package/lib/cloudflare/index.js +0 -7
  97. package/lib/cloudflare/index.js.map +0 -1
  98. package/lib/cloudflare/kv-namespace.d.ts +0 -64
  99. package/lib/cloudflare/kv-namespace.d.ts.map +0 -1
  100. package/lib/cloudflare/kv-namespace.js +0 -97
  101. package/lib/cloudflare/kv-namespace.js.map +0 -1
  102. package/lib/cloudflare/state.d.ts +0 -83
  103. package/lib/cloudflare/state.d.ts.map +0 -1
  104. package/lib/cloudflare/state.js +0 -109
  105. package/lib/cloudflare/state.js.map +0 -1
  106. package/lib/cloudflare/static-site-router.d.ts +0 -19
  107. package/lib/cloudflare/static-site-router.d.ts.map +0 -1
  108. package/lib/cloudflare/static-site-router.js +0 -110
  109. package/lib/cloudflare/static-site-router.js.map +0 -1
  110. package/lib/cloudflare/static-site.d.ts +0 -166
  111. package/lib/cloudflare/static-site.d.ts.map +0 -1
  112. package/lib/cloudflare/static-site.js +0 -150
  113. package/lib/cloudflare/static-site.js.map +0 -1
  114. package/lib/cloudflare/types.d.ts +0 -52
  115. package/lib/cloudflare/types.d.ts.map +0 -1
  116. package/lib/cloudflare/types.js +0 -21
  117. package/lib/cloudflare/types.js.map +0 -1
  118. package/lib/cloudflare/upload-asset-manifest.d.ts +0 -12
  119. package/lib/cloudflare/upload-asset-manifest.d.ts.map +0 -1
  120. package/lib/cloudflare/upload-asset-manifest.js +0 -55
  121. package/lib/cloudflare/upload-asset-manifest.js.map +0 -1
  122. package/lib/cloudflare/worker-metadata.d.ts +0 -130
  123. package/lib/cloudflare/worker-metadata.d.ts.map +0 -1
  124. package/lib/cloudflare/worker-metadata.js +0 -2
  125. package/lib/cloudflare/worker-metadata.js.map +0 -1
  126. package/lib/cloudflare/worker-migration.d.ts +0 -110
  127. package/lib/cloudflare/worker-migration.d.ts.map +0 -1
  128. package/lib/cloudflare/worker-migration.js +0 -11
  129. package/lib/cloudflare/worker-migration.js.map +0 -1
  130. package/lib/cloudflare/worker.d.ts +0 -108
  131. package/lib/cloudflare/worker.d.ts.map +0 -1
  132. package/lib/cloudflare/worker.js +0 -384
  133. package/lib/cloudflare/worker.js.map +0 -1
  134. package/lib/destroy.d.ts +0 -19
  135. package/lib/error.d.ts +0 -2
  136. package/lib/error.d.ts.map +0 -1
  137. package/lib/error.js +0 -13
  138. package/lib/error.js.map +0 -1
  139. package/lib/esbuild.d.ts +0 -152
  140. package/lib/esbuild.d.ts.map +0 -1
  141. package/lib/esbuild.js +0 -67
  142. package/lib/esbuild.js.map +0 -1
  143. package/lib/fs.d.ts +0 -12
  144. package/lib/fs.d.ts.map +0 -1
  145. package/lib/fs.js +0 -41
  146. package/lib/fs.js.map +0 -1
  147. package/lib/github/client.d.ts +0 -34
  148. package/lib/github/client.d.ts.map +0 -1
  149. package/lib/github/client.js +0 -91
  150. package/lib/github/client.js.map +0 -1
  151. package/lib/github/index.d.ts +0 -2
  152. package/lib/github/index.d.ts.map +0 -1
  153. package/lib/github/index.js +0 -2
  154. package/lib/github/index.js.map +0 -1
  155. package/lib/github/secret.d.ts +0 -46
  156. package/lib/github/secret.d.ts.map +0 -1
  157. package/lib/github/secret.js +0 -103
  158. package/lib/github/secret.js.map +0 -1
  159. package/lib/global.d.ts +0 -16
  160. package/lib/global.d.ts.map +0 -1
  161. package/lib/global.js +0 -42
  162. package/lib/global.js.map +0 -1
  163. package/lib/index.d.ts +0 -10
  164. package/lib/index.d.ts.map +0 -1
  165. package/lib/index.js +0 -9
  166. package/lib/index.js.map +0 -1
  167. package/lib/input.d.ts +0 -6
  168. package/lib/input.d.ts.map +0 -1
  169. package/lib/input.js +0 -2
  170. package/lib/input.js.map +0 -1
  171. package/lib/main.d.ts +0 -3
  172. package/lib/main.d.ts.map +0 -1
  173. package/lib/main.js +0 -32
  174. package/lib/main.js.map +0 -1
  175. package/lib/output.d.ts +0 -24
  176. package/lib/output.d.ts.map +0 -1
  177. package/lib/output.js +0 -23
  178. package/lib/output.js.map +0 -1
  179. package/lib/print.d.ts +0 -7
  180. package/lib/print.d.ts.map +0 -1
  181. package/lib/print.js +0 -10
  182. package/lib/print.js.map +0 -1
  183. package/lib/resource.d.ts +0 -71
  184. package/lib/resource.d.ts.map +0 -1
  185. package/lib/resource.js +0 -276
  186. package/lib/resource.js.map +0 -1
  187. package/lib/scope.d.ts +0 -18
  188. package/lib/scope.d.ts.map +0 -1
  189. package/lib/scope.js +0 -30
  190. package/lib/scope.js.map +0 -1
  191. package/lib/slug.d.ts +0 -2
  192. package/lib/slug.d.ts.map +0 -1
  193. package/lib/slug.js +0 -4
  194. package/lib/slug.js.map +0 -1
  195. package/lib/state.d.ts +0 -40
  196. package/lib/state.d.ts.map +0 -1
  197. package/lib/state.js +0 -73
  198. package/lib/state.js.map +0 -1
  199. package/lib/stripe/index.d.ts +0 -4
  200. package/lib/stripe/index.d.ts.map +0 -1
  201. package/lib/stripe/index.js +0 -4
  202. package/lib/stripe/index.js.map +0 -1
  203. package/lib/stripe/price.d.ts +0 -109
  204. package/lib/stripe/price.d.ts.map +0 -1
  205. package/lib/stripe/price.js +0 -112
  206. package/lib/stripe/price.js.map +0 -1
  207. package/lib/stripe/product.d.ts +0 -86
  208. package/lib/stripe/product.d.ts.map +0 -1
  209. package/lib/stripe/product.js +0 -90
  210. package/lib/stripe/product.js.map +0 -1
  211. package/lib/stripe/webhook.d.ts +0 -73
  212. package/lib/stripe/webhook.d.ts.map +0 -1
  213. package/lib/stripe/webhook.js +0 -94
  214. package/lib/stripe/webhook.js.map +0 -1
  215. package/lib/utils/content-type.d.ts +0 -8
  216. package/lib/utils/content-type.d.ts.map +0 -1
  217. package/lib/utils/content-type.js +0 -41
  218. package/lib/utils/content-type.js.map +0 -1
  219. package/lib/utils/retry.d.ts +0 -13
  220. package/lib/utils/retry.d.ts.map +0 -1
  221. package/lib/utils/retry.js +0 -31
  222. package/lib/utils/retry.js.map +0 -1
@@ -1,384 +0,0 @@
1
- import * as fs from "fs/promises";
2
- import { apply } from "../apply";
3
- import { Bundle } from "../esbuild";
4
- import { Resource } from "../resource";
5
- import { createCloudflareApi } from "./api";
6
- import { isDurableObjectNamespace } from "./durable-object-namespace";
7
- import { isKVNamespace } from "./kv-namespace";
8
- export function isWorker(resource) {
9
- return resource && typeof resource === "object" && resource.type === "worker";
10
- }
11
- export class Worker extends Resource("cloudflare::Worker", {
12
- alwaysUpdate: true,
13
- }, async (ctx, props) => {
14
- // Create Cloudflare API client with automatic account discovery
15
- const api = await createCloudflareApi();
16
- // Use the provided name
17
- const workerName = props.name;
18
- // Validate input - we need either script, entryPoint, or bundle
19
- if (!props.script && !props.entrypoint) {
20
- throw new Error("One of script or entryPoint must be provided");
21
- }
22
- if (ctx.event === "delete") {
23
- return deleteWorker(ctx, api, workerName);
24
- }
25
- else if (ctx.event === "create") {
26
- await assertWorkerDoesNotExist(ctx, api, workerName);
27
- }
28
- const oldBindings = await ctx.get("bindings");
29
- const scriptMetadata = await prepareWorkerMetadata(ctx, oldBindings, props);
30
- // Get the script content - either from props.script, or by bundling
31
- const scriptContent = props.script ?? (await bundleWorkerScript(ctx, props));
32
- // Upload the worker script
33
- await putWorker(ctx, api, workerName, scriptContent, scriptMetadata);
34
- // TODO: it is less than ideal that this can fail, resulting in state problem
35
- await ctx.set("bindings", props.bindings);
36
- // Handle routes if requested
37
- await setupRoutes(api, workerName, props.routes || []);
38
- // Handle worker URL if requested
39
- const workerUrl = await configureURL(ctx, api, workerName, props.url ?? false);
40
- // Get current timestamp
41
- const now = Date.now();
42
- // Construct the output
43
- const output = {
44
- type: "service",
45
- id: workerName,
46
- name: workerName,
47
- script: scriptContent,
48
- format: props.format || "esm", // Include format in the output
49
- routes: props.routes || [],
50
- bindings: props.bindings ?? {},
51
- env: props.env,
52
- observability: scriptMetadata.observability,
53
- createdAt: now,
54
- updatedAt: now,
55
- url: workerUrl,
56
- };
57
- return output;
58
- }) {
59
- }
60
- async function deleteWorker(ctx, api, workerName) {
61
- // Delete worker
62
- const deleteResponse = await api.delete(`/accounts/${api.accountId}/workers/scripts/${workerName}`);
63
- // Check for success (2xx status code)
64
- if (!deleteResponse.ok && deleteResponse.status !== 404) {
65
- const errorData = await deleteResponse
66
- .json()
67
- .catch(() => ({ errors: [{ message: deleteResponse.statusText }] }));
68
- console.error("Error deleting worker:", errorData.errors?.[0]?.message || deleteResponse.statusText);
69
- }
70
- // Also remove any associated routes if they exist
71
- if (ctx.output?.routes && ctx.output.routes.length > 0 && api.zoneId) {
72
- // First get existing routes to find their IDs
73
- const routesResponse = await api.get(`/zones/${api.zoneId}/workers/routes`);
74
- if (!routesResponse.ok) {
75
- throw new Error(`Could not fetch routes for cleanup: ${routesResponse.status} ${routesResponse.statusText}`);
76
- }
77
- const routesData = await routesResponse.json();
78
- const existingRoutes = routesData.result || [];
79
- for (const route of existingRoutes) {
80
- if (ctx.output.routes.includes(route.pattern)) {
81
- // Delete the route
82
- const routeDeleteResponse = await api.delete(`/zones/${api.zoneId}/workers/routes/${route.id}`);
83
- if (!routeDeleteResponse.ok) {
84
- console.warn(`Failed to delete route ${route.pattern}: ${routeDeleteResponse.status} ${routeDeleteResponse.statusText}`);
85
- }
86
- }
87
- }
88
- }
89
- // Disable the URL if it was enabled
90
- if (ctx.output?.url) {
91
- try {
92
- await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, JSON.stringify({ enabled: false }), {
93
- headers: { "Content-Type": "application/json" },
94
- });
95
- }
96
- catch (error) {
97
- console.warn("Failed to disable worker URL during deletion:", error);
98
- }
99
- }
100
- // Return minimal output for deleted state
101
- return;
102
- }
103
- async function putWorker(ctx, api, workerName, scriptContent, scriptMetadata) {
104
- const scriptName = scriptMetadata.main_module ?? scriptMetadata.body_part;
105
- // Create FormData for the upload
106
- const formData = new FormData();
107
- // Add the actual script content as a named file part
108
- formData.append(scriptName, new Blob([scriptContent], {
109
- type: scriptMetadata.main_module
110
- ? "application/javascript+module"
111
- : "application/javascript",
112
- }), scriptName);
113
- // console.log("Script Metadata:", JSON.stringify(scriptMetadata, null, 2));
114
- // Add metadata as JSON
115
- formData.append("metadata", new Blob([JSON.stringify(scriptMetadata)], {
116
- type: "application/json",
117
- }));
118
- // Upload worker script with bindings
119
- const uploadResponse = await api.put(`/accounts/${api.accountId}/workers/scripts/${workerName}`, formData, {
120
- headers: {
121
- "Content-Type": "multipart/form-data",
122
- },
123
- });
124
- // Check if the upload was successful
125
- if (!uploadResponse.ok) {
126
- const errorData = await uploadResponse
127
- .json()
128
- .catch(() => ({ errors: [{ message: uploadResponse.statusText }] }));
129
- throw new Error(`Error uploading worker script '${workerName}': ${errorData.errors?.[0]?.message || uploadResponse.statusText}`);
130
- }
131
- return formData;
132
- }
133
- async function prepareWorkerMetadata(ctx, oldBindings, props) {
134
- // Prepare metadata with bindings
135
- const meta = {
136
- bindings: [],
137
- observability: {
138
- enabled: props.observability?.enabled !== false,
139
- },
140
- tags: [`alchemy:id:${ctx.resourceFQN}`],
141
- migrations: {
142
- new_classes: props.migrations?.new_classes ?? [],
143
- deleted_classes: props.migrations?.deleted_classes ?? [],
144
- renamed_classes: props.migrations?.renamed_classes ?? [],
145
- transferred_classes: props.migrations?.transferred_classes ?? [],
146
- new_sqlite_classes: props.migrations?.new_sqlite_classes ?? [],
147
- },
148
- };
149
- const bindings = (props.bindings ?? {});
150
- // Convert bindings to the format expected by the API
151
- for (const [bindingName, binding] of Object.entries(bindings)) {
152
- // Create a copy of the binding to avoid modifying the original
153
- if (isKVNamespace(binding)) {
154
- meta.bindings.push({
155
- type: "kv_namespace",
156
- name: bindingName,
157
- namespace_id: binding.id,
158
- });
159
- }
160
- else if (typeof binding === "string") {
161
- meta.bindings.push({
162
- type: "plain_text",
163
- name: bindingName,
164
- text: binding,
165
- });
166
- }
167
- else if (binding.type === "service") {
168
- meta.bindings.push({
169
- type: "service",
170
- name: bindingName,
171
- service: binding.id,
172
- });
173
- }
174
- else if (isDurableObjectNamespace(binding)) {
175
- const stableId = binding.id;
176
- const className = binding.className;
177
- meta.bindings.push({
178
- type: "durable_object_namespace",
179
- name: bindingName,
180
- class_name: className,
181
- script_name: binding.scriptName,
182
- environment: binding.environment,
183
- namespace_id: binding.namespaceId,
184
- });
185
- const oldBinding = Object.values(oldBindings ?? {})
186
- ?.filter(isDurableObjectNamespace)
187
- ?.find((b) => b.id === stableId);
188
- if (!oldBinding) {
189
- if (binding.sqlite) {
190
- meta.migrations.new_sqlite_classes.push(className);
191
- }
192
- else {
193
- meta.migrations.new_classes.push(className);
194
- }
195
- }
196
- else if (oldBinding.className !== className) {
197
- meta.migrations.renamed_classes.push({
198
- from: oldBinding.className,
199
- to: className,
200
- });
201
- }
202
- }
203
- else {
204
- // @ts-expect-error - we should never reach here
205
- throw new Error(`Unsupported binding type: ${binding.type}`);
206
- }
207
- }
208
- // Convert env variables to plain_text bindings
209
- if (props.env) {
210
- for (const [key, value] of Object.entries(props.env)) {
211
- meta.bindings.push({
212
- name: key,
213
- type: "plain_text",
214
- text: value,
215
- });
216
- }
217
- }
218
- // Determine if we're using ESM or service worker format
219
- const isEsModule = props.format !== "cjs"; // Default to ESM unless CJS is specified
220
- const scriptName = isEsModule ? "worker.js" : "script";
221
- if (isEsModule) {
222
- // For ES modules format
223
- meta.main_module = scriptName;
224
- }
225
- else {
226
- // For service worker format (CJS)
227
- meta.body_part = scriptName;
228
- }
229
- return meta;
230
- }
231
- async function assertWorkerDoesNotExist(ctx, api, workerName) {
232
- const response = await api.get(`/accounts/${api.accountId}/workers/scripts/${workerName}`);
233
- if (response.status === 404) {
234
- return true;
235
- }
236
- if (response.status === 200) {
237
- const metadata = await getWorkerScriptMetadata(api, workerName);
238
- if (!metadata) {
239
- throw new Error(`Worker exists but failed to fetch metadata: ${response.status} ${response.statusText}`);
240
- }
241
- if (metadata.default_environment?.script.tags.includes(`alchemy:id:${ctx.resourceFQN}`)) {
242
- return true;
243
- }
244
- throw new Error(`Worker with name '${workerName}' already exists. Please use a unique name.`);
245
- }
246
- else {
247
- throw new Error(`Error checking if worker exists: ${response.status} ${response.statusText}`);
248
- }
249
- }
250
- async function bundleWorkerScript(ctx, props) {
251
- // Get the script content - either from props.script, or by bundling
252
- // Create and use a Bundle resource with worker-optimized configuration
253
- const defaultBundleOptions = {
254
- format: props.format === "cjs" ? "cjs" : "esm", // Use the specified format or default to ESM
255
- target: "es2020",
256
- platform: "browser",
257
- minify: true,
258
- options: {
259
- keepNames: true, // Important for Durable Object classes
260
- },
261
- };
262
- // Merge with user-provided options
263
- const bundleOptions = {
264
- ...defaultBundleOptions,
265
- ...(props.bundle || {}),
266
- };
267
- // Create the bundle
268
- const bundle = new Bundle("bundle", {
269
- entryPoint: props.entrypoint,
270
- ...bundleOptions,
271
- external: [...(bundleOptions.external ?? []), "cloudflare:workers"],
272
- });
273
- // Get the bundled content
274
- const bundleOutput = await apply(bundle, {
275
- quiet: ctx.quiet,
276
- });
277
- try {
278
- return await fs.readFile(bundleOutput.path, "utf-8");
279
- }
280
- catch (error) {
281
- console.error("Error reading bundle:", error);
282
- throw new Error("Error reading bundle");
283
- }
284
- }
285
- async function setupRoutes(api, workerName, routes) {
286
- // Set up routes if provided
287
- if (routes && routes.length > 0 && api.zoneId) {
288
- // First get existing routes
289
- const routesResponse = await api.get(`/zones/${api.zoneId}/workers/routes`);
290
- if (!routesResponse.ok) {
291
- throw new Error(`Could not fetch routes: ${routesResponse.status} ${routesResponse.statusText}`);
292
- }
293
- const routesData = await routesResponse.json();
294
- const existingRoutes = routesData.result || [];
295
- // For each desired route
296
- for (const pattern of routes) {
297
- const existingRoute = existingRoutes.find((r) => r.pattern === pattern);
298
- if (existingRoute) {
299
- // Update if script name doesn't match
300
- if (existingRoute.script !== workerName) {
301
- const updateRouteResponse = await api.put(`/zones/${api.zoneId}/workers/routes/${existingRoute.id}`, {
302
- pattern,
303
- script: workerName,
304
- });
305
- if (!updateRouteResponse.ok) {
306
- console.warn(`Failed to update route ${pattern}: ${updateRouteResponse.status} ${updateRouteResponse.statusText}`);
307
- }
308
- }
309
- }
310
- else {
311
- // Create new route
312
- const createRouteResponse = await api.post(`/zones/${api.zoneId}/workers/routes`, {
313
- pattern,
314
- script: workerName,
315
- });
316
- if (!createRouteResponse.ok) {
317
- throw new Error(`Failed to create route ${pattern}: ${createRouteResponse.status} ${createRouteResponse.statusText}`);
318
- }
319
- }
320
- }
321
- }
322
- }
323
- async function configureURL(ctx, api, workerName, url) {
324
- let workerUrl;
325
- if (url) {
326
- // Enable the workers.dev subdomain for this worker
327
- await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, { enabled: true, previews_enabled: true }, {
328
- headers: { "Content-Type": "application/json" },
329
- });
330
- // Get the account's workers.dev subdomain
331
- const subdomainResponse = await api.get(`/accounts/${api.accountId}/workers/subdomain`);
332
- if (!subdomainResponse.ok) {
333
- throw new Error(`Could not fetch workers.dev subdomain: ${subdomainResponse.status} ${subdomainResponse.statusText}`);
334
- }
335
- const subdomainData = await subdomainResponse.json();
336
- const subdomain = subdomainData.result?.subdomain;
337
- if (subdomain) {
338
- workerUrl = `https://${workerName}.${subdomain}.workers.dev`;
339
- // Add a delay when the subdomain is first created.
340
- // This is to prevent an issue where a negative cache-hit
341
- // causes the subdomain to be unavailable for 30 seconds.
342
- if (ctx.event === "create" || !ctx.output?.url) {
343
- await new Promise((resolve) => setTimeout(resolve, 3000));
344
- }
345
- }
346
- }
347
- else if (url === false && ctx.output?.url) {
348
- // Explicitly disable URL if it was previously enabled
349
- const response = await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, JSON.stringify({ enabled: false }), {
350
- headers: { "Content-Type": "application/json" },
351
- });
352
- if (!response.ok) {
353
- throw new Error(`Failed to disable worker URL: ${response.status} ${response.statusText}`);
354
- }
355
- }
356
- return workerUrl;
357
- }
358
- async function getWorkerScriptMetadata(api, workerName) {
359
- const response = await api.get(`/accounts/${api.accountId}/workers/services/${workerName}`);
360
- if (response.status === 404) {
361
- return undefined;
362
- }
363
- if (!response.ok) {
364
- throw new Error(`Error getting worker script metadata: ${response.status} ${response.statusText}`);
365
- }
366
- return (await response.json()).result;
367
- }
368
- async function getWorkerBindings(api, workerName, environment = "production") {
369
- const response = await api.get(`/accounts/${api.accountId}/workers/services/${workerName}/environments/${environment}/bindings`, {
370
- headers: {
371
- Authorization: `Bearer ${process.env.CLOUDFLARE_API_TOKEN}`,
372
- "Content-Type": "application/json",
373
- },
374
- });
375
- if (response.status === 404) {
376
- return undefined;
377
- }
378
- if (!response.ok) {
379
- throw new Error(`Failed to fetch bindings: ${response.status} ${response.statusText}`);
380
- }
381
- const data = await response.json();
382
- return data.result;
383
- }
384
- //# sourceMappingURL=worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
package/lib/destroy.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import type { Output } from "./output";
2
- import { Provider, ResourceID } from "./resource";
3
- import { type Scope } from "./scope";
4
- import type { State, StateStore } from "./state";
5
- export interface DestroyOptions {
6
- stage?: string;
7
- stateStore?: StateStore;
8
- scope?: Scope;
9
- quiet?: boolean;
10
- }
11
- /**
12
- * Prune all resources from an Output and "down", i.e. that branches from it.
13
- */
14
- export declare function destroy<T>(output: Output<T>, options?: DestroyOptions): Promise<void>;
15
- /**
16
- * @internal
17
- */
18
- export declare function destroy<T>(stage: string, scope: Scope, resourceID: ResourceID, resourceState: State, resourceProvider: Provider, stateStore: StateStore, options: DestroyOptions): Promise<void>;
19
- //# sourceMappingURL=destroy.d.ts.map
package/lib/error.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function ignore<T>(codes: string | string[], fn: () => Promise<T>): Promise<T | undefined>;
2
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,wBAAsB,MAAM,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAYxB"}
package/lib/error.js DELETED
@@ -1,13 +0,0 @@
1
- export async function ignore(codes, fn) {
2
- try {
3
- return await fn();
4
- }
5
- catch (error) {
6
- const errorCode = error.code || error.name;
7
- if (Array.isArray(codes) ? codes.includes(errorCode) : errorCode === codes) {
8
- return undefined;
9
- }
10
- throw error;
11
- }
12
- }
13
- //# sourceMappingURL=error.js.map
package/lib/error.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAwB,EACxB,EAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QAC3C,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,EACtE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/lib/esbuild.d.ts DELETED
@@ -1,152 +0,0 @@
1
- import * as esbuild from "esbuild";
2
- export interface BundleProps {
3
- /**
4
- * Entry point for the bundle
5
- */
6
- entryPoint: string;
7
- /**
8
- * Output directory for the bundle
9
- */
10
- outdir?: string;
11
- /**
12
- * Output filename for the bundle
13
- */
14
- outfile?: string;
15
- /**
16
- * Bundle format (iife, cjs, esm)
17
- */
18
- format?: "iife" | "cjs" | "esm";
19
- /**
20
- * Target environment (e.g., 'node16', 'es2020')
21
- */
22
- target?: string | string[];
23
- /**
24
- * Whether to minify the output
25
- */
26
- minify?: boolean;
27
- /**
28
- * Whether to generate sourcemaps
29
- */
30
- sourcemap?: boolean | "inline" | "external" | "both";
31
- /**
32
- * External packages to exclude from bundle
33
- */
34
- external?: string[];
35
- /**
36
- * Platform to target (browser, node, neutral)
37
- */
38
- platform?: "browser" | "node" | "neutral";
39
- /**
40
- * Additional esbuild options
41
- */
42
- options?: Partial<esbuild.BuildOptions>;
43
- }
44
- export interface BundleOutput {
45
- /**
46
- * Path to the bundled file
47
- */
48
- path: string;
49
- /**
50
- * SHA-256 hash of the bundle contents
51
- */
52
- hash: string;
53
- }
54
- declare const Bundle_base: import("./resource").Provider<string, [props: BundleProps], BundleOutput>;
55
- export declare class Bundle extends Bundle_base {
56
- /**
57
- * Get the metafile from the last build
58
- */
59
- getMetafile(ctx: {
60
- get<T>(key: string): Promise<T | undefined>;
61
- }): Promise<esbuild.Metafile | undefined>;
62
- /**
63
- * Get the hash from the last build
64
- */
65
- getHash(ctx: {
66
- get<T>(key: string): Promise<T | undefined>;
67
- }): Promise<string | undefined>;
68
- }
69
- export declare function bundle(props: BundleProps): Promise<esbuild.BuildResult<{
70
- bundle: boolean;
71
- splitting?: boolean;
72
- preserveSymlinks?: boolean;
73
- outfile: string;
74
- metafile: boolean;
75
- outdir?: string;
76
- outbase?: string;
77
- external: string[];
78
- packages?: "bundle" | "external";
79
- alias?: Record<string, string>;
80
- loader?: {
81
- [ext: string]: esbuild.Loader;
82
- };
83
- resolveExtensions?: string[];
84
- mainFields?: string[];
85
- conditions?: string[];
86
- write: boolean;
87
- allowOverwrite?: boolean;
88
- tsconfig?: string;
89
- outExtension?: {
90
- [ext: string]: string;
91
- };
92
- publicPath?: string;
93
- entryNames?: string;
94
- chunkNames?: string;
95
- assetNames?: string;
96
- inject?: string[];
97
- banner?: {
98
- [type: string]: string;
99
- };
100
- footer?: {
101
- [type: string]: string;
102
- };
103
- entryPoints: string[] | Record<string, string> | {
104
- in: string;
105
- out: string;
106
- }[];
107
- stdin?: esbuild.StdinOptions;
108
- plugins?: esbuild.Plugin[];
109
- absWorkingDir?: string;
110
- nodePaths?: string[];
111
- sourcemap: boolean | "linked" | "inline" | "external" | "both";
112
- legalComments?: "none" | "inline" | "eof" | "linked" | "external";
113
- sourceRoot?: string;
114
- sourcesContent?: boolean;
115
- format: esbuild.Format;
116
- globalName?: string;
117
- target: string | string[];
118
- supported?: Record<string, boolean>;
119
- platform: esbuild.Platform;
120
- mangleProps?: RegExp;
121
- reserveProps?: RegExp;
122
- mangleQuoted?: boolean;
123
- mangleCache?: Record<string, string | false>;
124
- drop?: esbuild.Drop[];
125
- dropLabels?: string[];
126
- minify: boolean;
127
- minifyWhitespace?: boolean;
128
- minifyIdentifiers?: boolean;
129
- minifySyntax?: boolean;
130
- lineLimit?: number;
131
- charset?: esbuild.Charset;
132
- treeShaking?: boolean;
133
- ignoreAnnotations?: boolean;
134
- jsx?: "transform" | "preserve" | "automatic";
135
- jsxFactory?: string;
136
- jsxFragment?: string;
137
- jsxImportSource?: string;
138
- jsxDev?: boolean;
139
- jsxSideEffects?: boolean;
140
- define?: {
141
- [key: string]: string;
142
- };
143
- pure?: string[];
144
- keepNames?: boolean;
145
- color?: boolean;
146
- logLevel?: esbuild.LogLevel;
147
- logLimit?: number;
148
- logOverride?: Record<string, esbuild.LogLevel>;
149
- tsconfigRaw?: string | esbuild.TsconfigRaw;
150
- }>>;
151
- export {};
152
- //# sourceMappingURL=esbuild.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../src/esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;;AAED,qBAAa,MAAO,SAAQ,WAkC3B;IACC;;OAEG;IACU,WAAW,CAAC,GAAG,EAAE;QAC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;KAC7C;IAID;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;KAAE;CAG1E;AAED,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiB9C"}