alchemy 0.49.0 → 0.50.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.
- package/bin/alchemy.mjs +2 -2
- package/lib/alchemy.d.ts +7 -1
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +2 -1
- package/lib/alchemy.js.map +1 -1
- package/lib/apply.js +10 -7
- package/lib/apply.js.map +1 -1
- package/lib/aws/s3-state-store.d.ts +0 -1
- package/lib/aws/s3-state-store.d.ts.map +1 -1
- package/lib/aws/s3-state-store.js +1 -3
- package/lib/aws/s3-state-store.js.map +1 -1
- package/lib/cloudflare/api-response.d.ts +2 -2
- package/lib/cloudflare/api-response.d.ts.map +1 -1
- package/lib/cloudflare/api-response.js +2 -1
- package/lib/cloudflare/api-response.js.map +1 -1
- package/lib/cloudflare/bucket.d.ts +70 -105
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +127 -244
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/nuxt.js +1 -1
- package/lib/cloudflare/nuxt.js.map +1 -1
- package/lib/cloudflare/orange.d.ts.map +1 -1
- package/lib/cloudflare/orange.js +4 -1
- package/lib/cloudflare/orange.js.map +1 -1
- package/lib/cloudflare/redwood.d.ts.map +1 -1
- package/lib/cloudflare/redwood.js +5 -1
- package/lib/cloudflare/redwood.js.map +1 -1
- package/lib/cloudflare/route.d.ts.map +1 -1
- package/lib/cloudflare/route.js +3 -0
- package/lib/cloudflare/route.js.map +1 -1
- package/lib/cloudflare/vite.d.ts.map +1 -1
- package/lib/cloudflare/vite.js +2 -10
- package/lib/cloudflare/vite.js.map +1 -1
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +1 -0
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +1 -0
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/destroy.d.ts +3 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +23 -4
- package/lib/destroy.js.map +1 -1
- package/lib/os/exec.d.ts +1 -1
- package/lib/os/exec.d.ts.map +1 -1
- package/lib/os/exec.js +1 -1
- package/lib/os/exec.js.map +1 -1
- package/lib/resource.d.ts +9 -0
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +2 -0
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +8 -0
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +6 -2
- package/lib/scope.js.map +1 -1
- package/lib/test/options.d.ts +7 -0
- package/lib/test/options.d.ts.map +1 -1
- package/lib/util/safe-fetch.d.ts.map +1 -1
- package/lib/util/safe-fetch.js +9 -5
- package/lib/util/safe-fetch.js.map +1 -1
- package/package.json +2 -2
- package/src/alchemy.ts +9 -2
- package/src/apply.ts +10 -9
- package/src/aws/s3-state-store.ts +2 -2
- package/src/cloudflare/api-response.ts +7 -3
- package/src/cloudflare/bucket.ts +276 -468
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/nuxt.ts +1 -1
- package/src/cloudflare/orange.ts +4 -1
- package/src/cloudflare/redwood.ts +6 -1
- package/src/cloudflare/route.ts +4 -0
- package/src/cloudflare/vite.ts +2 -10
- package/src/cloudflare/website.ts +1 -0
- package/src/cloudflare/worker.ts +2 -1
- package/src/destroy.ts +27 -5
- package/src/os/exec.ts +2 -2
- package/src/resource.ts +11 -0
- package/src/scope.ts +12 -3
- package/src/test/options.ts +8 -0
- package/src/util/safe-fetch.ts +12 -5
package/lib/cloudflare/bucket.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isDeepStrictEqual } from "node:util";
|
|
2
2
|
import { Resource, ResourceKind } from "../resource.js";
|
|
3
3
|
import { bind } from "../runtime/bind.js";
|
|
4
|
-
import { logger } from "../util/logger.js";
|
|
5
4
|
import { withExponentialBackoff } from "../util/retry.js";
|
|
6
|
-
import { CloudflareApiError
|
|
7
|
-
import {
|
|
5
|
+
import { CloudflareApiError } from "./api-error.js";
|
|
6
|
+
import { extractCloudflareError, extractCloudflareResult, } from "./api-response.js";
|
|
7
|
+
import { createCloudflareApi, } from "./api.js";
|
|
8
8
|
export function isBucket(resource) {
|
|
9
9
|
return resource[ResourceKind] === "cloudflare::R2Bucket";
|
|
10
10
|
}
|
|
@@ -69,78 +69,64 @@ export async function R2Bucket(name, props = {}) {
|
|
|
69
69
|
const R2BucketResource = Resource("cloudflare::R2Bucket", async function (_id, props = {}) {
|
|
70
70
|
const api = await createCloudflareApi(props);
|
|
71
71
|
const bucketName = props.name || this.id;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
72
|
+
const allowPublicAccess = props.allowPublicAccess === true;
|
|
73
|
+
switch (this.phase) {
|
|
74
|
+
case "create": {
|
|
75
|
+
const bucket = await createBucket(api, bucketName, props).catch(async (err) => {
|
|
76
|
+
if (err instanceof CloudflareApiError &&
|
|
77
|
+
err.status === 409 &&
|
|
78
|
+
props.adopt) {
|
|
79
|
+
return await getBucket(api, bucketName, props);
|
|
80
|
+
}
|
|
81
|
+
throw err;
|
|
82
|
+
});
|
|
83
|
+
const domain = await putManagedDomain(api, bucketName, allowPublicAccess, props.jurisdiction);
|
|
84
|
+
if (props.cors?.length) {
|
|
85
|
+
await putBucketCORS(api, bucketName, props);
|
|
84
86
|
}
|
|
85
|
-
|
|
87
|
+
return this({
|
|
88
|
+
name: bucketName,
|
|
89
|
+
location: bucket.location,
|
|
90
|
+
creationDate: new Date(bucket.creation_date),
|
|
91
|
+
jurisdiction: bucket.jurisdiction,
|
|
92
|
+
allowPublicAccess,
|
|
93
|
+
domain,
|
|
94
|
+
type: "r2_bucket",
|
|
95
|
+
accountId: api.accountId,
|
|
96
|
+
cors: props.cors,
|
|
97
|
+
dev: props.dev,
|
|
98
|
+
});
|
|
86
99
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
100
|
+
case "update": {
|
|
101
|
+
if (bucketName !== this.output.name) {
|
|
102
|
+
throw new Error(`Cannot update R2Bucket name after creation. Bucket name is immutable. Before: ${this.output.name}, After: ${bucketName}`);
|
|
103
|
+
}
|
|
104
|
+
let domain = this.output.domain;
|
|
105
|
+
if (!!domain !== allowPublicAccess) {
|
|
106
|
+
domain = await putManagedDomain(api, bucketName, allowPublicAccess, props.jurisdiction);
|
|
107
|
+
}
|
|
108
|
+
if (!isDeepStrictEqual(this.output.cors ?? [], props.cors ?? [])) {
|
|
109
|
+
await putBucketCORS(api, bucketName, props);
|
|
110
|
+
}
|
|
111
|
+
return this({
|
|
112
|
+
...this.output,
|
|
113
|
+
allowPublicAccess,
|
|
114
|
+
dev: props.dev,
|
|
115
|
+
cors: props.cors,
|
|
116
|
+
domain,
|
|
117
|
+
});
|
|
93
118
|
}
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
if (
|
|
97
|
-
|
|
119
|
+
case "delete": {
|
|
120
|
+
if (props.delete !== false) {
|
|
121
|
+
if (props.empty) {
|
|
122
|
+
await emptyBucket(api, bucketName, props);
|
|
98
123
|
}
|
|
124
|
+
await deleteBucket(api, bucketName, props);
|
|
99
125
|
}
|
|
100
|
-
|
|
101
|
-
throw err;
|
|
102
|
-
}
|
|
126
|
+
return this.destroy();
|
|
103
127
|
}
|
|
104
128
|
}
|
|
105
|
-
if (this.phase === "update" && bucketName !== this.output.name) {
|
|
106
|
-
throw new Error(`Cannot update R2Bucket name after creation. Bucket name is immutable. Before: ${this.output.name}, After: ${bucketName}`);
|
|
107
|
-
}
|
|
108
|
-
await updatePublicAccess(api, bucketName, props.allowPublicAccess === true, props.jurisdiction);
|
|
109
|
-
return this({
|
|
110
|
-
name: bucketName,
|
|
111
|
-
location: props.locationHint || "default",
|
|
112
|
-
creationDate: new Date(),
|
|
113
|
-
jurisdiction: props.jurisdiction || "default",
|
|
114
|
-
type: "r2_bucket",
|
|
115
|
-
accountId: api.accountId,
|
|
116
|
-
dev: props.dev,
|
|
117
|
-
});
|
|
118
129
|
});
|
|
119
|
-
/**
|
|
120
|
-
* Creates an aws4fetch client configured for Cloudflare R2
|
|
121
|
-
*
|
|
122
|
-
* @see https://developers.cloudflare.com/r2/examples/aws/aws-sdk-js-v3/
|
|
123
|
-
*/
|
|
124
|
-
export function createR2Client(config) {
|
|
125
|
-
const accountId = config?.accountId ?? process.env.CLOUDFLARE_ACCOUNT_ID;
|
|
126
|
-
const accessKeyId = config?.accessKeyId?.unencrypted || process.env.R2_ACCESS_KEY_ID;
|
|
127
|
-
const secretAccessKey = config?.secretAccessKey?.unencrypted || process.env.R2_SECRET_ACCESS_KEY;
|
|
128
|
-
if (!accountId) {
|
|
129
|
-
throw new Error("CLOUDFLARE_ACCOUNT_ID environment variable is required");
|
|
130
|
-
}
|
|
131
|
-
if (!accessKeyId || !secretAccessKey) {
|
|
132
|
-
throw new Error("R2_ACCESS_KEY_ID and R2_SECRET_ACCESS_KEY environment variables are required");
|
|
133
|
-
}
|
|
134
|
-
// Create aws4fetch client with Cloudflare R2 endpoint
|
|
135
|
-
const client = new AwsClient({
|
|
136
|
-
accessKeyId,
|
|
137
|
-
secretAccessKey,
|
|
138
|
-
service: "s3",
|
|
139
|
-
region: "auto",
|
|
140
|
-
});
|
|
141
|
-
client.accountId = accountId;
|
|
142
|
-
return client;
|
|
143
|
-
}
|
|
144
130
|
/**
|
|
145
131
|
* Adds jurisdiction header to the headers object if specified in props
|
|
146
132
|
*
|
|
@@ -148,203 +134,93 @@ export function createR2Client(config) {
|
|
|
148
134
|
* @param props Props or jurisdiction string
|
|
149
135
|
* @returns Modified headers object
|
|
150
136
|
*/
|
|
151
|
-
export function withJurisdiction(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
let jurisdiction;
|
|
155
|
-
if (typeof props === "string") {
|
|
156
|
-
jurisdiction = props;
|
|
157
|
-
}
|
|
158
|
-
else if (props && "jurisdiction" in props) {
|
|
159
|
-
jurisdiction = props.jurisdiction;
|
|
137
|
+
export function withJurisdiction(props, headers = {}) {
|
|
138
|
+
if (props.jurisdiction && props.jurisdiction !== "default") {
|
|
139
|
+
headers["cf-r2-jurisdiction"] = props.jurisdiction;
|
|
160
140
|
}
|
|
161
|
-
|
|
162
|
-
result["cf-r2-jurisdiction"] = jurisdiction;
|
|
163
|
-
}
|
|
164
|
-
return result;
|
|
141
|
+
return headers;
|
|
165
142
|
}
|
|
166
143
|
/**
|
|
167
144
|
* Get a bucket
|
|
168
145
|
*/
|
|
169
146
|
export async function getBucket(api, bucketName, props = {}) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (!getResponse.ok) {
|
|
173
|
-
return await handleApiError(getResponse, "get", "R2 bucket", bucketName);
|
|
174
|
-
}
|
|
175
|
-
if (getResponse.status === 200) {
|
|
176
|
-
return (await getResponse.json());
|
|
177
|
-
}
|
|
178
|
-
const errorData = await getResponse.json().catch(() => ({
|
|
179
|
-
errors: [{ message: getResponse.statusText }],
|
|
147
|
+
return await extractCloudflareResult(`get R2 bucket "${bucketName}"`, api.get(`/accounts/${api.accountId}/r2/buckets/${bucketName}`, {
|
|
148
|
+
headers: withJurisdiction(props),
|
|
180
149
|
}));
|
|
181
|
-
throw new CloudflareApiError(`Error getting R2 bucket '${bucketName}': ${errorData.errors?.[0]?.message || getResponse.statusText}`, getResponse);
|
|
182
150
|
}
|
|
183
151
|
/**
|
|
184
152
|
* Create a new bucket
|
|
185
153
|
*/
|
|
186
154
|
export async function createBucket(api, bucketName, props = {}) {
|
|
187
|
-
|
|
188
|
-
const createPayload = {
|
|
155
|
+
return await extractCloudflareResult(`create R2 bucket "${bucketName}"`, api.post(`/accounts/${api.accountId}/r2/buckets`, {
|
|
189
156
|
name: bucketName,
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const createResponse = await api.post(`/accounts/${api.accountId}/r2/buckets`, createPayload, { headers });
|
|
196
|
-
if (!createResponse.ok) {
|
|
197
|
-
return await handleApiError(createResponse, "creating", "R2 bucket", bucketName);
|
|
198
|
-
}
|
|
199
|
-
return (await createResponse.json());
|
|
157
|
+
locationHint: props.locationHint,
|
|
158
|
+
storageClass: props.storageClass,
|
|
159
|
+
}, {
|
|
160
|
+
headers: withJurisdiction(props),
|
|
161
|
+
}));
|
|
200
162
|
}
|
|
201
163
|
/**
|
|
202
164
|
* Delete a bucket
|
|
203
165
|
*/
|
|
204
166
|
export async function deleteBucket(api, bucketName, props) {
|
|
205
|
-
// Delete R2 bucket
|
|
206
|
-
const headers = withJurisdiction({}, props);
|
|
207
|
-
const deleteResponse = await api.delete(`/accounts/${api.accountId}/r2/buckets/${bucketName}`, { headers });
|
|
208
|
-
if (!deleteResponse.ok && deleteResponse.status !== 404) {
|
|
209
|
-
const errorData = await deleteResponse.json().catch(() => ({
|
|
210
|
-
errors: [{ message: deleteResponse.statusText }],
|
|
211
|
-
}));
|
|
212
|
-
throw new CloudflareApiError(`Error deleting R2 bucket '${bucketName}': ${errorData.errors?.[0]?.message || deleteResponse.statusText}`, deleteResponse);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* List objects in an R2 bucket
|
|
217
|
-
*
|
|
218
|
-
* @param r2 R2Client instance
|
|
219
|
-
* @param bucketName Name of the bucket
|
|
220
|
-
* @param continuationToken Optional token for pagination
|
|
221
|
-
* @param jurisdiction Optional jurisdiction for the bucket
|
|
222
|
-
* @returns Object containing the list of objects and the next continuation token
|
|
223
|
-
*/
|
|
224
|
-
export async function listObjects(r2, bucketName, continuationToken, jurisdiction) {
|
|
225
|
-
// List objects in the bucket
|
|
226
|
-
const url = new URL(`https://${r2.accountId}.r2.cloudflarestorage.com/${bucketName}`);
|
|
227
|
-
if (continuationToken) {
|
|
228
|
-
url.searchParams.set("continuation-token", continuationToken);
|
|
229
|
-
}
|
|
230
|
-
url.searchParams.set("list-type", "2");
|
|
231
|
-
const headers = withJurisdiction({}, jurisdiction);
|
|
232
|
-
const listResponse = await r2.fetch(url.toString(), { headers });
|
|
233
|
-
if (!listResponse.ok) {
|
|
234
|
-
throw new CloudflareApiError(`Failed to list objects: ${listResponse.statusText}`, listResponse);
|
|
235
|
-
}
|
|
236
|
-
const responseText = await listResponse.text();
|
|
237
|
-
// Extract objects from XML response using regex
|
|
238
|
-
const keyRegex = /<Key>([^<]+)<\/Key>/g;
|
|
239
|
-
const objects = [];
|
|
240
|
-
let match;
|
|
241
|
-
while ((match = keyRegex.exec(responseText)) !== null) {
|
|
242
|
-
objects.push({ Key: match[1] });
|
|
243
|
-
}
|
|
244
|
-
// Get continuation token if present using regex
|
|
245
|
-
const tokenMatch = /<NextContinuationToken>([^<]+)<\/NextContinuationToken>/.exec(responseText);
|
|
246
|
-
const nextContinuationToken = tokenMatch ? tokenMatch[1] : undefined;
|
|
247
|
-
return { objects, continuationToken: nextContinuationToken };
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Helper function to empty a bucket by deleting all objects
|
|
251
|
-
*/
|
|
252
|
-
export async function emptyBucket(r2, bucketName, jurisdiction) {
|
|
253
|
-
let continuationToken;
|
|
254
|
-
let totalDeleted = 0;
|
|
255
167
|
try {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
const { objects, continuationToken: nextToken } = await listObjects(r2, bucketName, continuationToken, jurisdiction);
|
|
260
|
-
continuationToken = nextToken;
|
|
261
|
-
logger.log(`Found ${objects.length} objects in bucket ${bucketName}`);
|
|
262
|
-
// Delete objects in batches
|
|
263
|
-
if (objects.length > 0) {
|
|
264
|
-
// Process delete in batches of 1000 (S3 limit)
|
|
265
|
-
for (let i = 0; i < objects.length; i += 1000) {
|
|
266
|
-
const batch = objects.slice(i, i + 1000);
|
|
267
|
-
// Create DeleteObjects request XML
|
|
268
|
-
const deleteXml = `
|
|
269
|
-
<Delete>
|
|
270
|
-
${batch.map((obj) => `<Object><Key>${obj.Key}</Key></Object>`).join("")}
|
|
271
|
-
</Delete>
|
|
272
|
-
`;
|
|
273
|
-
const deleteUrl = new URL(`https://${r2.accountId}.r2.cloudflarestorage.com/${bucketName}?delete`);
|
|
274
|
-
logger.log(`Deleting ${batch.length} objects from bucket ${bucketName}`);
|
|
275
|
-
const headers = withJurisdiction({ "Content-Type": "application/xml" }, jurisdiction);
|
|
276
|
-
const deleteResponse = await r2.fetch(deleteUrl.toString(), {
|
|
277
|
-
method: "POST",
|
|
278
|
-
body: deleteXml,
|
|
279
|
-
headers,
|
|
280
|
-
});
|
|
281
|
-
if (!deleteResponse.ok) {
|
|
282
|
-
throw new CloudflareApiError(`Failed to delete objects: ${deleteResponse.statusText}`, deleteResponse);
|
|
283
|
-
}
|
|
284
|
-
totalDeleted += batch.length;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
} while (continuationToken);
|
|
288
|
-
logger.log(`Successfully emptied bucket ${bucketName}, deleted ${totalDeleted} objects total`);
|
|
168
|
+
await extractCloudflareResult(`delete R2 bucket "${bucketName}"`, api.delete(`/accounts/${api.accountId}/r2/buckets/${bucketName}`, {
|
|
169
|
+
headers: withJurisdiction(props),
|
|
170
|
+
}));
|
|
289
171
|
}
|
|
290
172
|
catch (error) {
|
|
291
173
|
if (error instanceof CloudflareApiError && error.status === 404) {
|
|
292
|
-
// the bucket was not found
|
|
293
174
|
return;
|
|
294
175
|
}
|
|
295
|
-
logger.error(`Failed to empty bucket ${bucketName}:`, error);
|
|
296
176
|
throw error;
|
|
297
177
|
}
|
|
298
178
|
}
|
|
299
179
|
/**
|
|
300
|
-
* Update
|
|
301
|
-
*
|
|
302
|
-
* This operation is not available through the S3 API for R2,
|
|
303
|
-
* so we still use the Cloudflare API directly.
|
|
180
|
+
* Update the managed domain setting for a bucket
|
|
304
181
|
*/
|
|
305
|
-
export async function
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
enabled: allowPublicAccess,
|
|
310
|
-
}, { headers });
|
|
311
|
-
if (!response.ok) {
|
|
312
|
-
await handleApiError(response, "updating public access for", "R2 bucket", bucketName);
|
|
313
|
-
}
|
|
182
|
+
export async function putManagedDomain(api, bucketName, enabled, jurisdiction) {
|
|
183
|
+
return await withExponentialBackoff(async () => {
|
|
184
|
+
const result = await extractCloudflareResult(`put R2 bucket managed domain for "${bucketName}"`, api.put(`/accounts/${api.accountId}/r2/buckets/${bucketName}/domains/managed`, { enabled }, { headers: withJurisdiction({ jurisdiction }) }));
|
|
185
|
+
return result.enabled ? result.domain : undefined;
|
|
314
186
|
}, (err) => err.status === 404, 10, 1000);
|
|
315
187
|
}
|
|
316
188
|
/**
|
|
317
|
-
*
|
|
189
|
+
* Delete all objects in a bucket
|
|
318
190
|
*/
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
${allowedHeaders.map((header) => `<AllowedHeader>${header}</AllowedHeader>`).join("")}
|
|
328
|
-
<ExposeHeader>ETag</ExposeHeader>
|
|
329
|
-
<MaxAgeSeconds>${maxAgeSeconds}</MaxAgeSeconds>
|
|
330
|
-
</CORSRule>
|
|
331
|
-
</CORSConfiguration>
|
|
332
|
-
`;
|
|
333
|
-
const url = new URL(`https://${r2.accountId}.r2.cloudflarestorage.com/${bucketName}?cors`);
|
|
334
|
-
const headers = withJurisdiction({ "Content-Type": "application/xml" }, jurisdiction);
|
|
335
|
-
const response = await r2.fetch(url.toString(), {
|
|
336
|
-
method: "PUT",
|
|
337
|
-
body: corsXml,
|
|
338
|
-
headers,
|
|
339
|
-
});
|
|
340
|
-
if (!response.ok) {
|
|
341
|
-
throw new CloudflareApiError(`Failed to set CORS configuration: ${response.statusText}`, response);
|
|
191
|
+
async function emptyBucket(api, bucketName, props) {
|
|
192
|
+
let batch = [];
|
|
193
|
+
for await (const key of listObjects(api, bucketName, props)) {
|
|
194
|
+
batch.push(extractCloudflareResult(`delete R2 object "${key}"`, api.delete(`/accounts/${api.accountId}/r2/buckets/${bucketName}/objects/${key}`, { headers: withJurisdiction(props) })));
|
|
195
|
+
if (batch.length >= 10) {
|
|
196
|
+
// this is an arbitary batch size, open to feedback
|
|
197
|
+
await Promise.all(batch);
|
|
198
|
+
batch = [];
|
|
342
199
|
}
|
|
343
|
-
logger.log(`Successfully set CORS configuration for bucket ${bucketName}`);
|
|
344
200
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
201
|
+
await Promise.all(batch);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Returns an async iterable of all object keys in a bucket,
|
|
205
|
+
* handling pagination automatically.
|
|
206
|
+
*/
|
|
207
|
+
export async function* listObjects(api, bucketName, props, cursor) {
|
|
208
|
+
const params = new URLSearchParams({
|
|
209
|
+
per_page: "1000",
|
|
210
|
+
});
|
|
211
|
+
if (cursor) {
|
|
212
|
+
params.set("cursor", cursor);
|
|
213
|
+
}
|
|
214
|
+
const response = await api.get(`/accounts/${api.accountId}/r2/buckets/${bucketName}/objects?${params.toString()}`, { headers: withJurisdiction(props) });
|
|
215
|
+
if (!response.ok) {
|
|
216
|
+
throw new Error(`Failed to list objects in bucket "${bucketName}": ${await extractCloudflareError(response)}`);
|
|
217
|
+
}
|
|
218
|
+
const json = await response.json();
|
|
219
|
+
for (const object of json.result) {
|
|
220
|
+
yield object.key;
|
|
221
|
+
}
|
|
222
|
+
if (json.result_info?.is_truncated && json.result_info.cursor) {
|
|
223
|
+
yield* listObjects(api, bucketName, props, json.result_info.cursor);
|
|
348
224
|
}
|
|
349
225
|
}
|
|
350
226
|
/**
|
|
@@ -371,22 +247,29 @@ export async function listBuckets(api, options = {}) {
|
|
|
371
247
|
}
|
|
372
248
|
// Build URL with query parameters
|
|
373
249
|
const path = `/accounts/${api.accountId}/r2/buckets${params.toString() ? `?${params.toString()}` : ""}`;
|
|
374
|
-
// Set jurisdiction header if provided
|
|
375
|
-
const headers = withJurisdiction({}, options.jurisdiction);
|
|
376
250
|
// Make the API request
|
|
377
|
-
const
|
|
378
|
-
|
|
379
|
-
|
|
251
|
+
const result = await extractCloudflareResult("list R2 buckets", api.get(path, {
|
|
252
|
+
headers: withJurisdiction(options),
|
|
253
|
+
}));
|
|
254
|
+
return result.buckets;
|
|
255
|
+
}
|
|
256
|
+
export async function putBucketCORS(api, bucketName, props) {
|
|
257
|
+
let request;
|
|
258
|
+
if (props.cors?.length) {
|
|
259
|
+
request = {
|
|
260
|
+
method: "PUT",
|
|
261
|
+
body: JSON.stringify({ rules: props.cors }),
|
|
262
|
+
headers: withJurisdiction(props, {
|
|
263
|
+
"Content-Type": "application/json",
|
|
264
|
+
}),
|
|
265
|
+
};
|
|
380
266
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
267
|
+
else {
|
|
268
|
+
request = {
|
|
269
|
+
method: "DELETE",
|
|
270
|
+
headers: withJurisdiction(props),
|
|
271
|
+
};
|
|
385
272
|
}
|
|
386
|
-
|
|
387
|
-
return (data.result?.buckets || []).map((bucket) => ({
|
|
388
|
-
Name: bucket.name,
|
|
389
|
-
CreationDate: new Date(bucket.creation_date),
|
|
390
|
-
}));
|
|
273
|
+
await extractCloudflareResult(`${request.method} R2 bucket CORS rules for "${bucketName}"`, api.fetch(`/accounts/${api.accountId}/r2/buckets/${bucketName}/cors`, request));
|
|
391
274
|
}
|
|
392
275
|
//# sourceMappingURL=bucket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../src/cloudflare/bucket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../src/cloudflare/bucket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
|
|
3
3
|
*/
|
|
4
|
-
export declare const DEFAULT_COMPATIBILITY_DATE = "2025-07-
|
|
4
|
+
export declare const DEFAULT_COMPATIBILITY_DATE = "2025-07-19";
|
|
5
5
|
//# sourceMappingURL=compatibility-date.gen.d.ts.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
|
|
5
5
|
*/
|
|
6
|
-
export const DEFAULT_COMPATIBILITY_DATE = "2025-07-
|
|
6
|
+
export const DEFAULT_COMPATIBILITY_DATE = "2025-07-19";
|
|
7
7
|
//# sourceMappingURL=compatibility-date.gen.js.map
|
package/lib/cloudflare/nuxt.js
CHANGED
|
@@ -33,7 +33,7 @@ export async function Nuxt(id, props) {
|
|
|
33
33
|
...props,
|
|
34
34
|
noBundle: props?.noBundle ?? true,
|
|
35
35
|
// Default build command, can be overridden by props.command
|
|
36
|
-
command: props?.command ?? "
|
|
36
|
+
command: props?.command ?? "nuxt build",
|
|
37
37
|
// Default entry point for cloudflare-module preset
|
|
38
38
|
main: props?.main ?? "./.output/server/index.mjs",
|
|
39
39
|
// Default static assets directory for cloudflare-module preset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nuxt.js","sourceRoot":"","sources":["../../src/cloudflare/nuxt.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAkB1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAU,EACV,KAA6B;IAE7B,0DAA0D;IAC1D,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;QACjC,4DAA4D;QAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"nuxt.js","sourceRoot":"","sources":["../../src/cloudflare/nuxt.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAkB1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAU,EACV,KAA6B;IAE7B,0DAA0D;IAC1D,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;QACjC,4DAA4D;QAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,YAAY;QACvC,mDAAmD;QACnD,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,4BAA4B;QACjD,+DAA+D;QAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QACvD,+DAA+D;QAC/D,kBAAkB,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC3E,qEAAqE;QACrE,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;QACjC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;YACjB,OAAO,EAAE,UAAU;SACpB;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orange.d.ts","sourceRoot":"","sources":["../../src/cloudflare/orange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAG3E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,QAAQ,EAC7C,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"orange.d.ts","sourceRoot":"","sources":["../../src/cloudflare/orange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAG3E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,QAAQ,EAC7C,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAwBpB"}
|
package/lib/cloudflare/orange.js
CHANGED
|
@@ -26,7 +26,10 @@ import { Website } from "./website.js";
|
|
|
26
26
|
export async function Orange(id, props) {
|
|
27
27
|
return Website(id, {
|
|
28
28
|
...props,
|
|
29
|
-
command: props?.command ?? "
|
|
29
|
+
command: props?.command ?? "vite build",
|
|
30
|
+
dev: props?.dev ?? {
|
|
31
|
+
command: "vite dev",
|
|
32
|
+
},
|
|
30
33
|
// The entrypoint and the Wrangler main must differ for the Cloudflare vite plugin
|
|
31
34
|
// to bundle the application correctly, and alchemy must run our bundler on the Vite
|
|
32
35
|
// output since we don't resolve vite imports.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orange.js","sourceRoot":"","sources":["../../src/cloudflare/orange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAU1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAU,EACV,KAA+B;IAE/B,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"orange.js","sourceRoot":"","sources":["../../src/cloudflare/orange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAU1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAU,EACV,KAA+B;IAE/B,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,YAAY;QACvC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;YACjB,OAAO,EAAE,UAAU;SACpB;QACD,kFAAkF;QAClF,oFAAoF;QACpF,8CAA8C;QAC9C,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI;YAC3B,IAAI,EAAE,qBAAqB;SAC5B;QACD,kFAAkF;QAClF,mFAAmF;QACnF,qFAAqF;QACrF,qFAAqF;QACrF,gBAAgB;QAChB,QAAQ,EAAE,IAAI;QACd,2DAA2D;QAC3D,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,0BAA0B;QAC/C,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,aAAa;QACtC,kBAAkB,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;KAC5E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redwood.d.ts","sourceRoot":"","sources":["../../src/cloudflare/redwood.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAG5E,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"redwood.d.ts","sourceRoot":"","sources":["../../src/cloudflare/redwood.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAG5E,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAqBrB"}
|
|
@@ -29,7 +29,11 @@ import { Website } from "./website.js";
|
|
|
29
29
|
export async function Redwood(id, props) {
|
|
30
30
|
return Website(id, {
|
|
31
31
|
...props,
|
|
32
|
-
command: props?.command ??
|
|
32
|
+
command: props?.command ??
|
|
33
|
+
"rm -rf ./node_modules/.vite && RWSDK_DEPLOY=1 vite build",
|
|
34
|
+
dev: props?.dev ?? {
|
|
35
|
+
command: "vite dev",
|
|
36
|
+
},
|
|
33
37
|
noBundle: props?.noBundle ?? true,
|
|
34
38
|
wrangler: props?.wrangler === false
|
|
35
39
|
? false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redwood.js","sourceRoot":"","sources":["../../src/cloudflare/redwood.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAU1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,KAAgC;IAEhC,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,OAAO,
|
|
1
|
+
{"version":3,"file":"redwood.js","sourceRoot":"","sources":["../../src/cloudflare/redwood.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAU1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,KAAgC;IAEhC,OAAO,OAAO,CAAC,EAAE,EAAE;QACjB,GAAG,KAAK;QACR,OAAO,EACL,KAAK,EAAE,OAAO;YACd,0DAA0D;QAC5D,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;YACjB,OAAO,EAAE,UAAU;SACpB;QACD,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;QACjC,QAAQ,EACN,KAAK,EAAE,QAAQ,KAAK,KAAK;YACvB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC;gBACE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;aACpD;QACP,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpD,kBAAkB,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC3E,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,IAAI,YAAY;KAC5D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/cloudflare/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,EAAE,UAAU;IACtE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,KAAK,yFAGR,OAAO,CAAC,KAAK,CAAC,OACf,MAAM,SACJ,UAAU,KAChB,OAAO,CAAC,KAAK,CAAC,CAoGlB,CAAC;AAEF,UAAU,uBAAuB;IAC/B,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/cloudflare/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,EAAE,UAAU;IACtE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,KAAK,yFAGR,OAAO,CAAC,KAAK,CAAC,OACf,MAAM,SACJ,UAAU,KAChB,OAAO,CAAC,KAAK,CAAC,CAoGlB,CAAC;AAEF,UAAU,uBAAuB;IAC/B,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4ED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC,CAWlC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,CAAC,CAWlC;AA4DD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
|
package/lib/cloudflare/route.js
CHANGED
|
@@ -137,6 +137,9 @@ async function updateRoute(api, zoneId, routeId, pattern, script) {
|
|
|
137
137
|
pattern,
|
|
138
138
|
script,
|
|
139
139
|
});
|
|
140
|
+
if (updateResponse.status === 404) {
|
|
141
|
+
return await createRoute(api, zoneId, pattern, script);
|
|
142
|
+
}
|
|
140
143
|
if (!updateResponse.ok) {
|
|
141
144
|
return await handleApiError(updateResponse, "updating", "Route", pattern);
|
|
142
145
|
}
|