alchemy 0.1.15 → 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 (217) 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 -1
  6. package/src/apply.ts +1 -1
  7. package/src/destroy.ts +15 -10
  8. package/lib/$.d.ts +0 -12
  9. package/lib/$.d.ts.map +0 -1
  10. package/lib/$.js +0 -42
  11. package/lib/$.js.map +0 -1
  12. package/lib/alchemize.d.ts +0 -43
  13. package/lib/alchemize.d.ts.map +0 -1
  14. package/lib/alchemize.js +0 -112
  15. package/lib/alchemize.js.map +0 -1
  16. package/lib/apply.d.ts +0 -23
  17. package/lib/aws/account-id.d.ts +0 -5
  18. package/lib/aws/account-id.d.ts.map +0 -1
  19. package/lib/aws/account-id.js +0 -10
  20. package/lib/aws/account-id.js.map +0 -1
  21. package/lib/aws/bucket.d.ts +0 -21
  22. package/lib/aws/bucket.d.ts.map +0 -1
  23. package/lib/aws/bucket.js +0 -114
  24. package/lib/aws/bucket.js.map +0 -1
  25. package/lib/aws/function.d.ts +0 -53
  26. package/lib/aws/function.d.ts.map +0 -1
  27. package/lib/aws/function.js +0 -195
  28. package/lib/aws/function.js.map +0 -1
  29. package/lib/aws/index.d.ts +0 -9
  30. package/lib/aws/index.d.ts.map +0 -1
  31. package/lib/aws/index.js +0 -9
  32. package/lib/aws/index.js.map +0 -1
  33. package/lib/aws/oidc/github-oidc-provider.d.ts +0 -11
  34. package/lib/aws/oidc/github-oidc-provider.d.ts.map +0 -1
  35. package/lib/aws/oidc/github-oidc-provider.js +0 -22
  36. package/lib/aws/oidc/github-oidc-provider.js.map +0 -1
  37. package/lib/aws/oidc/index.d.ts +0 -3
  38. package/lib/aws/oidc/index.d.ts.map +0 -1
  39. package/lib/aws/oidc/index.js +0 -3
  40. package/lib/aws/oidc/index.js.map +0 -1
  41. package/lib/aws/oidc/oidc-provider.d.ts +0 -60
  42. package/lib/aws/oidc/oidc-provider.d.ts.map +0 -1
  43. package/lib/aws/oidc/oidc-provider.js +0 -140
  44. package/lib/aws/oidc/oidc-provider.js.map +0 -1
  45. package/lib/aws/policy.d.ts +0 -46
  46. package/lib/aws/policy.d.ts.map +0 -1
  47. package/lib/aws/policy.js +0 -139
  48. package/lib/aws/policy.js.map +0 -1
  49. package/lib/aws/queue.d.ts +0 -62
  50. package/lib/aws/queue.d.ts.map +0 -1
  51. package/lib/aws/queue.js +0 -167
  52. package/lib/aws/queue.js.map +0 -1
  53. package/lib/aws/role.d.ts +0 -27
  54. package/lib/aws/role.d.ts.map +0 -1
  55. package/lib/aws/role.js +0 -197
  56. package/lib/aws/role.js.map +0 -1
  57. package/lib/aws/ses.d.ts +0 -75
  58. package/lib/aws/ses.d.ts.map +0 -1
  59. package/lib/aws/ses.js +0 -189
  60. package/lib/aws/ses.js.map +0 -1
  61. package/lib/aws/table.d.ts +0 -26
  62. package/lib/aws/table.d.ts.map +0 -1
  63. package/lib/aws/table.js +0 -154
  64. package/lib/aws/table.js.map +0 -1
  65. package/lib/cloudflare/api.d.ts +0 -88
  66. package/lib/cloudflare/api.d.ts.map +0 -1
  67. package/lib/cloudflare/api.js +0 -184
  68. package/lib/cloudflare/api.js.map +0 -1
  69. package/lib/cloudflare/asset-manifest.d.ts +0 -15
  70. package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
  71. package/lib/cloudflare/asset-manifest.js +0 -2
  72. package/lib/cloudflare/asset-manifest.js.map +0 -1
  73. package/lib/cloudflare/auth.d.ts +0 -52
  74. package/lib/cloudflare/auth.d.ts.map +0 -1
  75. package/lib/cloudflare/auth.js +0 -114
  76. package/lib/cloudflare/auth.js.map +0 -1
  77. package/lib/cloudflare/bindings.d.ts +0 -259
  78. package/lib/cloudflare/bindings.d.ts.map +0 -1
  79. package/lib/cloudflare/bindings.js +0 -2
  80. package/lib/cloudflare/bindings.js.map +0 -1
  81. package/lib/cloudflare/durable-object-namespace.d.ts +0 -20
  82. package/lib/cloudflare/durable-object-namespace.d.ts.map +0 -1
  83. package/lib/cloudflare/durable-object-namespace.js +0 -21
  84. package/lib/cloudflare/durable-object-namespace.js.map +0 -1
  85. package/lib/cloudflare/generate-asset-manifest.d.ts +0 -3
  86. package/lib/cloudflare/generate-asset-manifest.d.ts.map +0 -1
  87. package/lib/cloudflare/generate-asset-manifest.js +0 -69
  88. package/lib/cloudflare/generate-asset-manifest.js.map +0 -1
  89. package/lib/cloudflare/index.d.ts +0 -7
  90. package/lib/cloudflare/index.d.ts.map +0 -1
  91. package/lib/cloudflare/index.js +0 -7
  92. package/lib/cloudflare/index.js.map +0 -1
  93. package/lib/cloudflare/kv-namespace.d.ts +0 -64
  94. package/lib/cloudflare/kv-namespace.d.ts.map +0 -1
  95. package/lib/cloudflare/kv-namespace.js +0 -114
  96. package/lib/cloudflare/kv-namespace.js.map +0 -1
  97. package/lib/cloudflare/state.d.ts +0 -83
  98. package/lib/cloudflare/state.d.ts.map +0 -1
  99. package/lib/cloudflare/state.js +0 -109
  100. package/lib/cloudflare/state.js.map +0 -1
  101. package/lib/cloudflare/static-site-router.d.ts +0 -19
  102. package/lib/cloudflare/static-site-router.d.ts.map +0 -1
  103. package/lib/cloudflare/static-site-router.js +0 -110
  104. package/lib/cloudflare/static-site-router.js.map +0 -1
  105. package/lib/cloudflare/static-site.d.ts +0 -166
  106. package/lib/cloudflare/static-site.d.ts.map +0 -1
  107. package/lib/cloudflare/static-site.js +0 -150
  108. package/lib/cloudflare/static-site.js.map +0 -1
  109. package/lib/cloudflare/types.d.ts +0 -52
  110. package/lib/cloudflare/types.d.ts.map +0 -1
  111. package/lib/cloudflare/types.js +0 -21
  112. package/lib/cloudflare/types.js.map +0 -1
  113. package/lib/cloudflare/upload-asset-manifest.d.ts +0 -12
  114. package/lib/cloudflare/upload-asset-manifest.d.ts.map +0 -1
  115. package/lib/cloudflare/upload-asset-manifest.js +0 -55
  116. package/lib/cloudflare/upload-asset-manifest.js.map +0 -1
  117. package/lib/cloudflare/worker-metadata.d.ts +0 -130
  118. package/lib/cloudflare/worker-metadata.d.ts.map +0 -1
  119. package/lib/cloudflare/worker-metadata.js +0 -2
  120. package/lib/cloudflare/worker-metadata.js.map +0 -1
  121. package/lib/cloudflare/worker-migration.d.ts +0 -110
  122. package/lib/cloudflare/worker-migration.d.ts.map +0 -1
  123. package/lib/cloudflare/worker-migration.js +0 -11
  124. package/lib/cloudflare/worker-migration.js.map +0 -1
  125. package/lib/cloudflare/worker.d.ts +0 -108
  126. package/lib/cloudflare/worker.d.ts.map +0 -1
  127. package/lib/cloudflare/worker.js +0 -399
  128. package/lib/cloudflare/worker.js.map +0 -1
  129. package/lib/destroy.d.ts +0 -19
  130. package/lib/error.d.ts +0 -2
  131. package/lib/error.d.ts.map +0 -1
  132. package/lib/error.js +0 -13
  133. package/lib/error.js.map +0 -1
  134. package/lib/esbuild.d.ts +0 -152
  135. package/lib/esbuild.d.ts.map +0 -1
  136. package/lib/esbuild.js +0 -67
  137. package/lib/esbuild.js.map +0 -1
  138. package/lib/fs.d.ts +0 -12
  139. package/lib/fs.d.ts.map +0 -1
  140. package/lib/fs.js +0 -41
  141. package/lib/fs.js.map +0 -1
  142. package/lib/github/client.d.ts +0 -34
  143. package/lib/github/client.d.ts.map +0 -1
  144. package/lib/github/client.js +0 -91
  145. package/lib/github/client.js.map +0 -1
  146. package/lib/github/index.d.ts +0 -2
  147. package/lib/github/index.d.ts.map +0 -1
  148. package/lib/github/index.js +0 -2
  149. package/lib/github/index.js.map +0 -1
  150. package/lib/github/secret.d.ts +0 -46
  151. package/lib/github/secret.d.ts.map +0 -1
  152. package/lib/github/secret.js +0 -103
  153. package/lib/github/secret.js.map +0 -1
  154. package/lib/global.d.ts +0 -16
  155. package/lib/global.d.ts.map +0 -1
  156. package/lib/global.js +0 -42
  157. package/lib/global.js.map +0 -1
  158. package/lib/index.d.ts +0 -10
  159. package/lib/index.d.ts.map +0 -1
  160. package/lib/index.js +0 -9
  161. package/lib/index.js.map +0 -1
  162. package/lib/input.d.ts +0 -6
  163. package/lib/input.d.ts.map +0 -1
  164. package/lib/input.js +0 -2
  165. package/lib/input.js.map +0 -1
  166. package/lib/main.d.ts +0 -3
  167. package/lib/main.d.ts.map +0 -1
  168. package/lib/main.js +0 -32
  169. package/lib/main.js.map +0 -1
  170. package/lib/output.d.ts +0 -24
  171. package/lib/output.d.ts.map +0 -1
  172. package/lib/output.js +0 -23
  173. package/lib/output.js.map +0 -1
  174. package/lib/print.d.ts +0 -7
  175. package/lib/print.d.ts.map +0 -1
  176. package/lib/print.js +0 -10
  177. package/lib/print.js.map +0 -1
  178. package/lib/resource.d.ts +0 -71
  179. package/lib/resource.d.ts.map +0 -1
  180. package/lib/resource.js +0 -276
  181. package/lib/resource.js.map +0 -1
  182. package/lib/scope.d.ts +0 -18
  183. package/lib/scope.d.ts.map +0 -1
  184. package/lib/scope.js +0 -30
  185. package/lib/scope.js.map +0 -1
  186. package/lib/slug.d.ts +0 -2
  187. package/lib/slug.d.ts.map +0 -1
  188. package/lib/slug.js +0 -4
  189. package/lib/slug.js.map +0 -1
  190. package/lib/state.d.ts +0 -40
  191. package/lib/state.d.ts.map +0 -1
  192. package/lib/state.js +0 -73
  193. package/lib/state.js.map +0 -1
  194. package/lib/stripe/index.d.ts +0 -4
  195. package/lib/stripe/index.d.ts.map +0 -1
  196. package/lib/stripe/index.js +0 -4
  197. package/lib/stripe/index.js.map +0 -1
  198. package/lib/stripe/price.d.ts +0 -109
  199. package/lib/stripe/price.d.ts.map +0 -1
  200. package/lib/stripe/price.js +0 -112
  201. package/lib/stripe/price.js.map +0 -1
  202. package/lib/stripe/product.d.ts +0 -86
  203. package/lib/stripe/product.d.ts.map +0 -1
  204. package/lib/stripe/product.js +0 -90
  205. package/lib/stripe/product.js.map +0 -1
  206. package/lib/stripe/webhook.d.ts +0 -73
  207. package/lib/stripe/webhook.d.ts.map +0 -1
  208. package/lib/stripe/webhook.js +0 -94
  209. package/lib/stripe/webhook.js.map +0 -1
  210. package/lib/utils/content-type.d.ts +0 -8
  211. package/lib/utils/content-type.d.ts.map +0 -1
  212. package/lib/utils/content-type.js +0 -41
  213. package/lib/utils/content-type.js.map +0 -1
  214. package/lib/utils/retry.d.ts +0 -13
  215. package/lib/utils/retry.d.ts.map +0 -1
  216. package/lib/utils/retry.js +0 -32
  217. package/lib/utils/retry.js.map +0 -1
@@ -1,399 +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 { withExponentialBackoff } from "../utils/retry";
6
- import { createCloudflareApi } from "./api";
7
- import { isDurableObjectNamespace } from "./durable-object-namespace";
8
- import { isKVNamespace } from "./kv-namespace";
9
- export function isWorker(resource) {
10
- return resource && typeof resource === "object" && resource.type === "worker";
11
- }
12
- export class Worker extends Resource("cloudflare::Worker", {
13
- alwaysUpdate: true,
14
- }, async (ctx, props) => {
15
- // Create Cloudflare API client with automatic account discovery
16
- const api = await createCloudflareApi();
17
- // Use the provided name
18
- const workerName = props.name;
19
- // Validate input - we need either script, entryPoint, or bundle
20
- if (!props.script && !props.entrypoint) {
21
- throw new Error("One of script or entryPoint must be provided");
22
- }
23
- if (ctx.event === "delete") {
24
- return deleteWorker(ctx, api, workerName);
25
- }
26
- else if (ctx.event === "create") {
27
- await assertWorkerDoesNotExist(ctx, api, workerName);
28
- }
29
- const oldBindings = await ctx.get("bindings");
30
- const scriptMetadata = await prepareWorkerMetadata(ctx, oldBindings, props);
31
- // Get the script content - either from props.script, or by bundling
32
- const scriptContent = props.script ?? (await bundleWorkerScript(ctx, props));
33
- // Upload the worker script
34
- await putWorker(ctx, api, workerName, scriptContent, scriptMetadata);
35
- // TODO: it is less than ideal that this can fail, resulting in state problem
36
- await ctx.set("bindings", props.bindings);
37
- // Handle routes if requested
38
- await setupRoutes(api, workerName, props.routes || []);
39
- // Handle worker URL if requested
40
- const workerUrl = await configureURL(ctx, api, workerName, props.url ?? false);
41
- // Get current timestamp
42
- const now = Date.now();
43
- // Construct the output
44
- const output = {
45
- type: "service",
46
- id: workerName,
47
- name: workerName,
48
- script: scriptContent,
49
- format: props.format || "esm", // Include format in the output
50
- routes: props.routes || [],
51
- bindings: props.bindings ?? {},
52
- env: props.env,
53
- observability: scriptMetadata.observability,
54
- createdAt: now,
55
- updatedAt: now,
56
- url: workerUrl,
57
- };
58
- return output;
59
- }) {
60
- }
61
- async function deleteWorker(ctx, api, workerName) {
62
- // Delete worker
63
- const deleteResponse = await api.delete(`/accounts/${api.accountId}/workers/scripts/${workerName}`);
64
- // Check for success (2xx status code)
65
- if (!deleteResponse.ok && deleteResponse.status !== 404) {
66
- const errorData = await deleteResponse
67
- .json()
68
- .catch(() => ({ errors: [{ message: deleteResponse.statusText }] }));
69
- console.error("Error deleting worker:", errorData.errors?.[0]?.message || deleteResponse.statusText);
70
- }
71
- // Also remove any associated routes if they exist
72
- if (ctx.output?.routes && ctx.output.routes.length > 0 && api.zoneId) {
73
- // First get existing routes to find their IDs
74
- const routesResponse = await api.get(`/zones/${api.zoneId}/workers/routes`);
75
- if (!routesResponse.ok) {
76
- throw new Error(`Could not fetch routes for cleanup: ${routesResponse.status} ${routesResponse.statusText}`);
77
- }
78
- const routesData = await routesResponse.json();
79
- const existingRoutes = routesData.result || [];
80
- for (const route of existingRoutes) {
81
- if (ctx.output.routes.includes(route.pattern)) {
82
- // Delete the route
83
- const routeDeleteResponse = await api.delete(`/zones/${api.zoneId}/workers/routes/${route.id}`);
84
- if (!routeDeleteResponse.ok) {
85
- console.warn(`Failed to delete route ${route.pattern}: ${routeDeleteResponse.status} ${routeDeleteResponse.statusText}`);
86
- }
87
- }
88
- }
89
- }
90
- // Disable the URL if it was enabled
91
- if (ctx.output?.url) {
92
- try {
93
- await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, JSON.stringify({ enabled: false }), {
94
- headers: { "Content-Type": "application/json" },
95
- });
96
- }
97
- catch (error) {
98
- console.warn("Failed to disable worker URL during deletion:", error);
99
- }
100
- }
101
- // Return minimal output for deleted state
102
- return;
103
- }
104
- async function putWorker(ctx, api, workerName, scriptContent, scriptMetadata) {
105
- return withExponentialBackoff(async () => {
106
- const scriptName = scriptMetadata.main_module ?? scriptMetadata.body_part;
107
- // Create FormData for the upload
108
- const formData = new FormData();
109
- // Add the actual script content as a named file part
110
- formData.append(scriptName, new Blob([scriptContent], {
111
- type: scriptMetadata.main_module
112
- ? "application/javascript+module"
113
- : "application/javascript",
114
- }), scriptName);
115
- // console.log("Script Metadata:", JSON.stringify(scriptMetadata, null, 2));
116
- // Add metadata as JSON
117
- formData.append("metadata", new Blob([JSON.stringify(scriptMetadata)], {
118
- type: "application/json",
119
- }));
120
- await new Promise((resolve) => setTimeout(resolve, 1000));
121
- // Upload worker script with bindings
122
- const uploadResponse = await api.put(`/accounts/${api.accountId}/workers/scripts/${workerName}`, formData, {
123
- headers: {
124
- "Content-Type": "multipart/form-data",
125
- },
126
- });
127
- // Check if the upload was successful
128
- if (!uploadResponse.ok) {
129
- const errorData = await uploadResponse
130
- .json()
131
- .catch(() => ({ errors: [{ message: uploadResponse.statusText }] }));
132
- const errorMessage = `Error (HTTP ${uploadResponse.status}) uploading worker script '${workerName}': ${errorData.errors?.[0]?.message || uploadResponse.statusText}`;
133
- if (uploadResponse.status === 400 &&
134
- errorMessage.includes("not found")) {
135
- throw new NotFoundError(errorMessage);
136
- }
137
- throw new Error(errorMessage);
138
- }
139
- return formData;
140
- }, (err) => err instanceof NotFoundError, 10, 100);
141
- }
142
- class NotFoundError extends Error {
143
- constructor(message) {
144
- super(message);
145
- this.name = "NotFoundError";
146
- }
147
- }
148
- async function prepareWorkerMetadata(ctx, oldBindings, props) {
149
- // Prepare metadata with bindings
150
- const meta = {
151
- bindings: [],
152
- observability: {
153
- enabled: props.observability?.enabled !== false,
154
- },
155
- tags: [`alchemy:id:${ctx.resourceFQN}`],
156
- migrations: {
157
- new_classes: props.migrations?.new_classes ?? [],
158
- deleted_classes: props.migrations?.deleted_classes ?? [],
159
- renamed_classes: props.migrations?.renamed_classes ?? [],
160
- transferred_classes: props.migrations?.transferred_classes ?? [],
161
- new_sqlite_classes: props.migrations?.new_sqlite_classes ?? [],
162
- },
163
- };
164
- const bindings = (props.bindings ?? {});
165
- // Convert bindings to the format expected by the API
166
- for (const [bindingName, binding] of Object.entries(bindings)) {
167
- // Create a copy of the binding to avoid modifying the original
168
- if (isKVNamespace(binding)) {
169
- meta.bindings.push({
170
- type: "kv_namespace",
171
- name: bindingName,
172
- namespace_id: binding.id,
173
- });
174
- }
175
- else if (typeof binding === "string") {
176
- meta.bindings.push({
177
- type: "plain_text",
178
- name: bindingName,
179
- text: binding,
180
- });
181
- }
182
- else if (binding.type === "service") {
183
- meta.bindings.push({
184
- type: "service",
185
- name: bindingName,
186
- service: binding.id,
187
- });
188
- }
189
- else if (isDurableObjectNamespace(binding)) {
190
- const stableId = binding.id;
191
- const className = binding.className;
192
- meta.bindings.push({
193
- type: "durable_object_namespace",
194
- name: bindingName,
195
- class_name: className,
196
- script_name: binding.scriptName,
197
- environment: binding.environment,
198
- namespace_id: binding.namespaceId,
199
- });
200
- const oldBinding = Object.values(oldBindings ?? {})
201
- ?.filter(isDurableObjectNamespace)
202
- ?.find((b) => b.id === stableId);
203
- if (!oldBinding) {
204
- if (binding.sqlite) {
205
- meta.migrations.new_sqlite_classes.push(className);
206
- }
207
- else {
208
- meta.migrations.new_classes.push(className);
209
- }
210
- }
211
- else if (oldBinding.className !== className) {
212
- meta.migrations.renamed_classes.push({
213
- from: oldBinding.className,
214
- to: className,
215
- });
216
- }
217
- }
218
- else {
219
- // @ts-expect-error - we should never reach here
220
- throw new Error(`Unsupported binding type: ${binding.type}`);
221
- }
222
- }
223
- // Convert env variables to plain_text bindings
224
- if (props.env) {
225
- for (const [key, value] of Object.entries(props.env)) {
226
- meta.bindings.push({
227
- name: key,
228
- type: "plain_text",
229
- text: value,
230
- });
231
- }
232
- }
233
- // Determine if we're using ESM or service worker format
234
- const isEsModule = props.format !== "cjs"; // Default to ESM unless CJS is specified
235
- const scriptName = isEsModule ? "worker.js" : "script";
236
- if (isEsModule) {
237
- // For ES modules format
238
- meta.main_module = scriptName;
239
- }
240
- else {
241
- // For service worker format (CJS)
242
- meta.body_part = scriptName;
243
- }
244
- return meta;
245
- }
246
- async function assertWorkerDoesNotExist(ctx, api, workerName) {
247
- const response = await api.get(`/accounts/${api.accountId}/workers/scripts/${workerName}`);
248
- if (response.status === 404) {
249
- return true;
250
- }
251
- if (response.status === 200) {
252
- const metadata = await getWorkerScriptMetadata(api, workerName);
253
- if (!metadata) {
254
- throw new Error(`Worker exists but failed to fetch metadata: ${response.status} ${response.statusText}`);
255
- }
256
- if (metadata.default_environment?.script.tags.includes(`alchemy:id:${ctx.resourceFQN}`)) {
257
- return true;
258
- }
259
- throw new Error(`Worker with name '${workerName}' already exists. Please use a unique name.`);
260
- }
261
- else {
262
- throw new Error(`Error checking if worker exists: ${response.status} ${response.statusText}`);
263
- }
264
- }
265
- async function bundleWorkerScript(ctx, props) {
266
- // Get the script content - either from props.script, or by bundling
267
- // Create and use a Bundle resource with worker-optimized configuration
268
- const defaultBundleOptions = {
269
- format: props.format === "cjs" ? "cjs" : "esm", // Use the specified format or default to ESM
270
- target: "es2020",
271
- platform: "browser",
272
- minify: true,
273
- options: {
274
- keepNames: true, // Important for Durable Object classes
275
- },
276
- };
277
- // Merge with user-provided options
278
- const bundleOptions = {
279
- ...defaultBundleOptions,
280
- ...(props.bundle || {}),
281
- };
282
- // Create the bundle
283
- const bundle = new Bundle("bundle", {
284
- entryPoint: props.entrypoint,
285
- ...bundleOptions,
286
- external: [...(bundleOptions.external ?? []), "cloudflare:workers"],
287
- });
288
- // Get the bundled content
289
- const bundleOutput = await apply(bundle, {
290
- quiet: ctx.quiet,
291
- });
292
- try {
293
- return await fs.readFile(bundleOutput.path, "utf-8");
294
- }
295
- catch (error) {
296
- console.error("Error reading bundle:", error);
297
- throw new Error("Error reading bundle");
298
- }
299
- }
300
- async function setupRoutes(api, workerName, routes) {
301
- // Set up routes if provided
302
- if (routes && routes.length > 0 && api.zoneId) {
303
- // First get existing routes
304
- const routesResponse = await api.get(`/zones/${api.zoneId}/workers/routes`);
305
- if (!routesResponse.ok) {
306
- throw new Error(`Could not fetch routes: ${routesResponse.status} ${routesResponse.statusText}`);
307
- }
308
- const routesData = await routesResponse.json();
309
- const existingRoutes = routesData.result || [];
310
- // For each desired route
311
- for (const pattern of routes) {
312
- const existingRoute = existingRoutes.find((r) => r.pattern === pattern);
313
- if (existingRoute) {
314
- // Update if script name doesn't match
315
- if (existingRoute.script !== workerName) {
316
- const updateRouteResponse = await api.put(`/zones/${api.zoneId}/workers/routes/${existingRoute.id}`, {
317
- pattern,
318
- script: workerName,
319
- });
320
- if (!updateRouteResponse.ok) {
321
- console.warn(`Failed to update route ${pattern}: ${updateRouteResponse.status} ${updateRouteResponse.statusText}`);
322
- }
323
- }
324
- }
325
- else {
326
- // Create new route
327
- const createRouteResponse = await api.post(`/zones/${api.zoneId}/workers/routes`, {
328
- pattern,
329
- script: workerName,
330
- });
331
- if (!createRouteResponse.ok) {
332
- throw new Error(`Failed to create route ${pattern}: ${createRouteResponse.status} ${createRouteResponse.statusText}`);
333
- }
334
- }
335
- }
336
- }
337
- }
338
- async function configureURL(ctx, api, workerName, url) {
339
- let workerUrl;
340
- if (url) {
341
- // Enable the workers.dev subdomain for this worker
342
- await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, { enabled: true, previews_enabled: true }, {
343
- headers: { "Content-Type": "application/json" },
344
- });
345
- // Get the account's workers.dev subdomain
346
- const subdomainResponse = await api.get(`/accounts/${api.accountId}/workers/subdomain`);
347
- if (!subdomainResponse.ok) {
348
- throw new Error(`Could not fetch workers.dev subdomain: ${subdomainResponse.status} ${subdomainResponse.statusText}`);
349
- }
350
- const subdomainData = await subdomainResponse.json();
351
- const subdomain = subdomainData.result?.subdomain;
352
- if (subdomain) {
353
- workerUrl = `https://${workerName}.${subdomain}.workers.dev`;
354
- // Add a delay when the subdomain is first created.
355
- // This is to prevent an issue where a negative cache-hit
356
- // causes the subdomain to be unavailable for 30 seconds.
357
- if (ctx.event === "create" || !ctx.output?.url) {
358
- await new Promise((resolve) => setTimeout(resolve, 3000));
359
- }
360
- }
361
- }
362
- else if (url === false && ctx.output?.url) {
363
- // Explicitly disable URL if it was previously enabled
364
- const response = await api.post(`/accounts/${api.accountId}/workers/scripts/${workerName}/subdomain`, JSON.stringify({ enabled: false }), {
365
- headers: { "Content-Type": "application/json" },
366
- });
367
- if (!response.ok) {
368
- throw new Error(`Failed to disable worker URL: ${response.status} ${response.statusText}`);
369
- }
370
- }
371
- return workerUrl;
372
- }
373
- async function getWorkerScriptMetadata(api, workerName) {
374
- const response = await api.get(`/accounts/${api.accountId}/workers/services/${workerName}`);
375
- if (response.status === 404) {
376
- return undefined;
377
- }
378
- if (!response.ok) {
379
- throw new Error(`Error getting worker script metadata: ${response.status} ${response.statusText}`);
380
- }
381
- return (await response.json()).result;
382
- }
383
- async function getWorkerBindings(api, workerName, environment = "production") {
384
- const response = await api.get(`/accounts/${api.accountId}/workers/services/${workerName}/environments/${environment}/bindings`, {
385
- headers: {
386
- Authorization: `Bearer ${process.env.CLOUDFLARE_API_TOKEN}`,
387
- "Content-Type": "application/json",
388
- },
389
- });
390
- if (response.status === 404) {
391
- return undefined;
392
- }
393
- if (!response.ok) {
394
- throw new Error(`Failed to fetch bindings: ${response.status} ${response.statusText}`);
395
- }
396
- const data = await response.json();
397
- return data.result;
398
- }
399
- //# 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"}