alchemy 0.1.12 → 0.1.13
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/lib/$.d.ts +12 -0
- package/lib/$.d.ts.map +1 -0
- package/lib/$.js +42 -0
- package/lib/$.js.map +1 -0
- package/lib/alchemize.d.ts.map +1 -1
- package/lib/alchemize.js +7 -0
- package/lib/alchemize.js.map +1 -1
- package/lib/apply.d.ts +2 -2
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +1 -1
- package/lib/apply.js.map +1 -1
- package/lib/cloudflare/api.d.ts +4 -0
- package/lib/cloudflare/api.d.ts.map +1 -1
- package/lib/cloudflare/api.js +6 -0
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +14 -4
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bindings.js +0 -5
- package/lib/cloudflare/bindings.js.map +1 -1
- package/lib/cloudflare/durable-object-namespace.d.ts +23 -0
- package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -0
- package/lib/cloudflare/durable-object-namespace.js +26 -0
- package/lib/cloudflare/durable-object-namespace.js.map +1 -0
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/kv-namespace.js +1 -1
- package/lib/cloudflare/kv-namespace.js.map +1 -1
- package/lib/cloudflare/static-site-router.d.ts +11 -2
- package/lib/cloudflare/static-site-router.d.ts.map +1 -1
- package/lib/cloudflare/static-site-router.js +98 -76
- package/lib/cloudflare/static-site-router.js.map +1 -1
- package/lib/cloudflare/static-site.d.ts +15 -15
- package/lib/cloudflare/static-site.d.ts.map +1 -1
- package/lib/cloudflare/static-site.js +41 -25
- package/lib/cloudflare/static-site.js.map +1 -1
- package/lib/cloudflare/worker-metadata.d.ts +130 -0
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -0
- package/lib/cloudflare/worker-metadata.js +2 -0
- package/lib/cloudflare/worker-metadata.js.map +1 -0
- package/lib/cloudflare/worker-migration.d.ts +110 -0
- package/lib/cloudflare/worker-migration.d.ts.map +1 -0
- package/lib/cloudflare/worker-migration.js +11 -0
- package/lib/cloudflare/worker-migration.js.map +1 -0
- package/lib/cloudflare/worker.d.ts +29 -11
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +316 -322
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/destroy.d.ts +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +2 -1
- package/lib/destroy.js.map +1 -1
- package/lib/esbuild.d.ts +1 -1
- package/lib/esbuild.d.ts.map +1 -1
- package/lib/esbuild.js +3 -1
- package/lib/esbuild.js.map +1 -1
- package/lib/global.d.ts +0 -2
- package/lib/global.d.ts.map +1 -1
- package/lib/global.js +0 -2
- package/lib/global.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/output.d.ts +4 -3
- package/lib/output.d.ts.map +1 -1
- package/lib/output.js +10 -3
- package/lib/output.js.map +1 -1
- package/lib/print.d.ts +7 -0
- package/lib/print.d.ts.map +1 -0
- package/lib/print.js +10 -0
- package/lib/print.js.map +1 -0
- package/lib/resource.d.ts +8 -4
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +125 -91
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +3 -0
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +4 -12
- package/lib/scope.js.map +1 -1
- package/package.json +3 -2
- package/src/$.ts +69 -0
- package/src/alchemize.ts +12 -0
- package/src/apply.ts +4 -4
- package/src/cloudflare/api.ts +6 -0
- package/src/cloudflare/bindings.ts +37 -26
- package/src/cloudflare/durable-object-namespace.ts +43 -0
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/kv-namespace.ts +1 -1
- package/src/cloudflare/static-site-router.ts +124 -82
- package/src/cloudflare/static-site.ts +63 -47
- package/src/cloudflare/worker-metadata.ts +154 -0
- package/src/cloudflare/worker-migration.ts +145 -0
- package/src/cloudflare/worker.ts +526 -428
- package/src/destroy.ts +2 -2
- package/src/esbuild.ts +3 -0
- package/src/global.ts +0 -3
- package/src/index.ts +2 -1
- package/src/output.ts +24 -8
- package/src/print.ts +18 -0
- package/src/resource.ts +156 -115
- package/src/scope.ts +7 -12
|
@@ -1,88 +1,110 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
let isInit = false;
|
|
3
|
+
const app = new Hono();
|
|
1
4
|
export default {
|
|
2
5
|
async fetch(request, env) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
if (!isInit) {
|
|
7
|
+
isInit = true;
|
|
8
|
+
for (const [key, value] of Object.entries(env)) {
|
|
9
|
+
if (key.startsWith("ROUTE_")) {
|
|
10
|
+
console.log(key, value);
|
|
11
|
+
const service = value;
|
|
12
|
+
const patternKey = `__${key}`;
|
|
13
|
+
if (!(patternKey in env)) {
|
|
14
|
+
throw new Error(`Missing pattern key: ${patternKey}`);
|
|
15
|
+
}
|
|
16
|
+
const pattern = env[`__${key}`];
|
|
17
|
+
console.log("pattern", pattern);
|
|
18
|
+
// TODO(sam): we should support narrowing down METHOD
|
|
19
|
+
app.all(pattern, (ctx) => service.fetch(ctx.req.raw));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
16
22
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
return app.fetch(request, env);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
// fall back to assuming the request is a static file
|
|
27
|
+
app.notFound(async (ctx) => {
|
|
28
|
+
console.log("not found");
|
|
29
|
+
const request = ctx.req;
|
|
30
|
+
const env = ctx.env;
|
|
31
|
+
const url = new URL(request.url);
|
|
32
|
+
const pathname = url.pathname.replace(/^\//, "");
|
|
33
|
+
const filePath = pathname === "" ? env.INDEX_PAGE : pathname;
|
|
34
|
+
// Return from cache if available
|
|
35
|
+
const cachedResponse = await lookupCache();
|
|
36
|
+
if (cachedResponse) {
|
|
37
|
+
return cachedResponse;
|
|
38
|
+
}
|
|
39
|
+
// Fetch from KV
|
|
40
|
+
{
|
|
41
|
+
const object = await env.ASSETS.getWithMetadata(filePath);
|
|
42
|
+
if (object.value) {
|
|
43
|
+
return await respond(200, filePath, object);
|
|
22
44
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
45
|
+
}
|
|
46
|
+
{
|
|
47
|
+
const guess = filePath + (filePath.endsWith("/") ? "" : "/") + "index.html";
|
|
48
|
+
const object = await env.ASSETS.getWithMetadata(guess);
|
|
49
|
+
if (object.value) {
|
|
50
|
+
return await respond(200, guess, object);
|
|
28
51
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
52
|
+
}
|
|
53
|
+
{
|
|
54
|
+
const guess = filePath + ".html";
|
|
55
|
+
const object = await env.ASSETS.getWithMetadata(guess);
|
|
56
|
+
if (object.value) {
|
|
57
|
+
return await respond(200, guess, object);
|
|
34
58
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
}
|
|
60
|
+
// Handle error page
|
|
61
|
+
if (env.ERROR_PAGE) {
|
|
62
|
+
const object = await env.ASSETS.getWithMetadata(env.ERROR_PAGE);
|
|
63
|
+
if (object.value) {
|
|
64
|
+
return await respond(404, env.ERROR_PAGE, object);
|
|
39
65
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// cache does not exist
|
|
46
|
-
if (!r)
|
|
47
|
-
return;
|
|
48
|
-
// cache exists but etag does not match
|
|
49
|
-
if (r.headers.get("etag") !== __ASSET_MANIFEST__[filePath])
|
|
50
|
-
return;
|
|
51
|
-
// cache exists
|
|
52
|
-
return r;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const object = await env.ASSETS.getWithMetadata(env.INDEX_PAGE);
|
|
69
|
+
if (object.value) {
|
|
70
|
+
return await respond(200, env.INDEX_PAGE, object);
|
|
53
71
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
72
|
+
}
|
|
73
|
+
return new Response("Page Not Found", { status: 404 });
|
|
74
|
+
async function lookupCache() {
|
|
75
|
+
const cache = caches.default;
|
|
76
|
+
const r = await cache.match(request.url);
|
|
77
|
+
// cache does not exist
|
|
78
|
+
if (!r)
|
|
79
|
+
return;
|
|
80
|
+
// cache exists but etag does not match
|
|
81
|
+
if (r.headers.get("etag") !== __ASSET_MANIFEST__[filePath])
|
|
82
|
+
return;
|
|
83
|
+
// cache exists
|
|
84
|
+
return r;
|
|
85
|
+
}
|
|
86
|
+
async function saveCache(response) {
|
|
87
|
+
const cache = caches.default;
|
|
88
|
+
await cache.put(request.url, response.clone());
|
|
89
|
+
}
|
|
90
|
+
async function respond(status, filePath, object) {
|
|
91
|
+
// build response
|
|
92
|
+
const headers = new Headers();
|
|
93
|
+
if (__ASSET_MANIFEST__[filePath]) {
|
|
94
|
+
headers.set("etag", __ASSET_MANIFEST__[filePath]);
|
|
95
|
+
headers.set("content-type", object.metadata.contentType);
|
|
96
|
+
headers.set("cache-control", object.metadata.cacheControl);
|
|
57
97
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// TODO: do we need base64 encoded here?
|
|
67
|
-
// const response = new Response(base64ToArrayBuffer(object.value), {
|
|
68
|
-
const response = new Response(object.value, {
|
|
69
|
-
status,
|
|
70
|
-
headers,
|
|
71
|
-
});
|
|
72
|
-
if (request.method === "GET") {
|
|
73
|
-
await saveCache(response);
|
|
74
|
-
}
|
|
75
|
-
return response;
|
|
98
|
+
// TODO: do we need base64 encoded here?
|
|
99
|
+
// const response = new Response(base64ToArrayBuffer(object.value), {
|
|
100
|
+
const response = new Response(object.value, {
|
|
101
|
+
status,
|
|
102
|
+
headers,
|
|
103
|
+
});
|
|
104
|
+
if (request.method === "GET") {
|
|
105
|
+
await saveCache(response);
|
|
76
106
|
}
|
|
77
|
-
|
|
78
|
-
};
|
|
79
|
-
function base64ToArrayBuffer(base64) {
|
|
80
|
-
const binaryString = atob(base64);
|
|
81
|
-
const len = binaryString.length;
|
|
82
|
-
const bytes = new Uint8Array(len);
|
|
83
|
-
for (let i = 0; i < len; i++) {
|
|
84
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
107
|
+
return response;
|
|
85
108
|
}
|
|
86
|
-
|
|
87
|
-
}
|
|
109
|
+
});
|
|
88
110
|
//# sourceMappingURL=static-site-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-site-router.js","sourceRoot":"","sources":["../../src/cloudflare/static-site-router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"static-site-router.js","sourceRoot":"","sources":["../../src/cloudflare/static-site-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BundleProps } from "../esbuild";
|
|
2
|
-
import
|
|
2
|
+
import { Worker } from "./worker";
|
|
3
3
|
/**
|
|
4
4
|
* Idea of using KV with timeout inspired by SST: https://github.com/sst/sst/blob/dev/platform/src/components/cloudflare/static-site.ts
|
|
5
5
|
*/
|
|
@@ -16,11 +16,6 @@ export interface StaticSiteProps {
|
|
|
16
16
|
* Path to the directory containing static assets
|
|
17
17
|
*/
|
|
18
18
|
dir: string;
|
|
19
|
-
/**
|
|
20
|
-
* Routes to associate with this site
|
|
21
|
-
* Format: example.com/* or *.example.com/*
|
|
22
|
-
*/
|
|
23
|
-
routes?: string[];
|
|
24
19
|
/**
|
|
25
20
|
* Custom Worker script to serve the site
|
|
26
21
|
* If not provided, a default script will be used
|
|
@@ -70,10 +65,6 @@ export interface StaticSiteProps {
|
|
|
70
65
|
contentType?: string;
|
|
71
66
|
}[];
|
|
72
67
|
};
|
|
73
|
-
/**
|
|
74
|
-
* Additional Worker bindings to include
|
|
75
|
-
*/
|
|
76
|
-
additionalBindings?: WorkerProps["bindings"];
|
|
77
68
|
/**
|
|
78
69
|
* Whether the site should be deployed to production
|
|
79
70
|
* @default true
|
|
@@ -93,7 +84,16 @@ export interface StaticSiteProps {
|
|
|
93
84
|
*/
|
|
94
85
|
command?: string;
|
|
95
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* Bundle options for the worker script
|
|
89
|
+
*/
|
|
96
90
|
bundle?: Partial<BundleProps>;
|
|
91
|
+
/**
|
|
92
|
+
* Additional workers to route requests to.
|
|
93
|
+
*/
|
|
94
|
+
routes?: {
|
|
95
|
+
[key: string]: Worker;
|
|
96
|
+
};
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Output returned after StaticSite creation/update
|
|
@@ -115,10 +115,6 @@ export interface StaticSiteOutput {
|
|
|
115
115
|
* Path to the directory containing static assets
|
|
116
116
|
*/
|
|
117
117
|
directory: string;
|
|
118
|
-
/**
|
|
119
|
-
* Routes to associate with this site
|
|
120
|
-
*/
|
|
121
|
-
routes?: string[];
|
|
122
118
|
/**
|
|
123
119
|
* Worker script format
|
|
124
120
|
*/
|
|
@@ -158,8 +154,12 @@ export interface StaticSiteOutput {
|
|
|
158
154
|
* The URL of the deployed site
|
|
159
155
|
*/
|
|
160
156
|
url?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Information about the backend worker if configured
|
|
159
|
+
*/
|
|
160
|
+
routes?: Record<string, string>;
|
|
161
161
|
}
|
|
162
|
-
declare const StaticSite_base: import("../resource").Provider<
|
|
162
|
+
declare const StaticSite_base: import("../resource").Provider<string, [props: StaticSiteProps], StaticSiteOutput>;
|
|
163
163
|
export declare class StaticSite extends StaticSite_base {
|
|
164
164
|
}
|
|
165
165
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-site.d.ts","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"static-site.d.ts","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,WAAW,CAAC,EAAE;YACZ;;;eAGG;YACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAEzB;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAE3B;;eAEG;YACH,YAAY,EAAE,MAAM,CAAC;YAErB;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;;AAED,qBAAa,UAAW,SAAQ,eAwL/B;CAAG"}
|
|
@@ -9,6 +9,7 @@ import { generateAssetManifest } from "./generate-asset-manifest";
|
|
|
9
9
|
import { KVNamespace } from "./kv-namespace";
|
|
10
10
|
import { uploadAssetManifest } from "./upload-asset-manifest";
|
|
11
11
|
import { Worker } from "./worker";
|
|
12
|
+
const __dirname = import.meta.dirname;
|
|
12
13
|
export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
13
14
|
alwaysUpdate: true,
|
|
14
15
|
}, async (ctx, props) => {
|
|
@@ -37,12 +38,14 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
37
38
|
// Run build command if provided
|
|
38
39
|
if (props.build?.command) {
|
|
39
40
|
try {
|
|
40
|
-
|
|
41
|
+
if (!ctx.quiet) {
|
|
42
|
+
console.log(props.build.command);
|
|
43
|
+
}
|
|
41
44
|
const execAsync = promisify(exec);
|
|
42
45
|
const { stdout, stderr } = await execAsync(props.build.command, {
|
|
43
46
|
cwd: process.cwd(),
|
|
44
47
|
});
|
|
45
|
-
if (stdout)
|
|
48
|
+
if (stdout && !ctx.quiet)
|
|
46
49
|
console.log(stdout);
|
|
47
50
|
}
|
|
48
51
|
catch (error) {
|
|
@@ -66,13 +69,13 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
66
69
|
title: `${siteName}-assets`,
|
|
67
70
|
});
|
|
68
71
|
const [{ id: kvNamespaceId }, assetManifest] = await Promise.all([
|
|
69
|
-
apply(namespace
|
|
72
|
+
apply(namespace, {
|
|
73
|
+
quiet: ctx.quiet,
|
|
74
|
+
}),
|
|
70
75
|
generateAssetManifest(props.dir),
|
|
71
76
|
]);
|
|
72
77
|
// Step 3: Upload assets to KV
|
|
73
78
|
await uploadAssetManifest(api, kvNamespaceId, assetManifest);
|
|
74
|
-
// Define the worker script path
|
|
75
|
-
const routerScriptPath = path.resolve(__dirname, "static-site-router.ts");
|
|
76
79
|
// Prepare the bindings for the worker
|
|
77
80
|
const bindings = [
|
|
78
81
|
{
|
|
@@ -94,48 +97,60 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
94
97
|
text: props.errorPage,
|
|
95
98
|
});
|
|
96
99
|
}
|
|
97
|
-
|
|
98
|
-
if
|
|
99
|
-
|
|
100
|
+
const routes = {};
|
|
101
|
+
// Create backend worker if configured
|
|
102
|
+
if (props.routes) {
|
|
103
|
+
for (const [path, entrypoint] of Object.entries(props.routes)) {
|
|
104
|
+
// @ts-ignore - TODO: need to use Resolved<Worker> to get the string ...
|
|
105
|
+
routes[path] = entrypoint.id;
|
|
106
|
+
bindings.push({
|
|
107
|
+
type: "service",
|
|
108
|
+
name: `ROUTE_${entrypoint.id}`,
|
|
109
|
+
service: entrypoint.id,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
100
112
|
}
|
|
101
113
|
// Create asset manifest banner for static site router
|
|
102
114
|
const assetManifestBanner = `const __ASSET_MANIFEST__ = ${JSON.stringify(Object.fromEntries(assetManifest.map((item) => [item.key, item.hash])))};\n`;
|
|
115
|
+
const bundleOptions = {
|
|
116
|
+
...props.bundle,
|
|
117
|
+
options: {
|
|
118
|
+
...props.bundle?.options,
|
|
119
|
+
banner: {
|
|
120
|
+
js: assetManifestBanner,
|
|
121
|
+
...props.bundle?.options?.banner,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
103
125
|
const worker = new Worker("worker", {
|
|
104
126
|
name: siteName,
|
|
105
127
|
url: true,
|
|
106
128
|
format: props.format || "esm",
|
|
107
|
-
routes: props.routes || [],
|
|
108
129
|
// If a custom worker script is provided, use it, otherwise use the entrypoint from router
|
|
109
130
|
...(props.workerScript
|
|
110
131
|
? { script: props.workerScript }
|
|
111
132
|
: {
|
|
112
|
-
entrypoint:
|
|
113
|
-
|
|
114
|
-
...props.bundle,
|
|
115
|
-
options: {
|
|
116
|
-
...props.bundle?.options,
|
|
117
|
-
banner: {
|
|
118
|
-
js: assetManifestBanner,
|
|
119
|
-
...props.bundle?.options?.banner,
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
},
|
|
133
|
+
entrypoint: path.resolve(__dirname, "static-site-router.ts"),
|
|
134
|
+
bundle: bundleOptions,
|
|
123
135
|
}),
|
|
124
136
|
bindings,
|
|
137
|
+
env: {
|
|
138
|
+
...Object.fromEntries(Object.entries(routes).map(([key, value]) => [
|
|
139
|
+
`__ROUTE_${value}`,
|
|
140
|
+
key,
|
|
141
|
+
])),
|
|
142
|
+
},
|
|
125
143
|
},
|
|
126
144
|
// place a dependency on the namespace
|
|
127
145
|
namespace.id);
|
|
128
|
-
// Step 4: Create or update the worker
|
|
129
|
-
const { id: workerId, url } = await apply(worker);
|
|
130
146
|
// Get current timestamp
|
|
131
147
|
const now = Date.now();
|
|
132
148
|
// Construct the output
|
|
133
149
|
const output = {
|
|
134
150
|
id: siteName,
|
|
135
|
-
workerId,
|
|
151
|
+
workerId: worker.id,
|
|
136
152
|
name: siteName,
|
|
137
153
|
directory: props.dir,
|
|
138
|
-
routes: props.routes || [],
|
|
139
154
|
format: props.format || "esm",
|
|
140
155
|
errorPage: props.errorPage,
|
|
141
156
|
indexPage,
|
|
@@ -144,7 +159,8 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
144
159
|
updatedAt: now,
|
|
145
160
|
domain: props.domain,
|
|
146
161
|
production: props.production !== false,
|
|
147
|
-
url,
|
|
162
|
+
url: worker.url,
|
|
163
|
+
routes,
|
|
148
164
|
};
|
|
149
165
|
return output;
|
|
150
166
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-site.js","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"static-site.js","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata returned by Cloudflare API for a worker script
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkerScriptMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* Worker ID
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* Default environment information
|
|
11
|
+
*/
|
|
12
|
+
default_environment?: WorkerDefaultEnvironment;
|
|
13
|
+
/**
|
|
14
|
+
* Worker creation timestamp
|
|
15
|
+
*/
|
|
16
|
+
created_on: string;
|
|
17
|
+
/**
|
|
18
|
+
* Worker last modification timestamp
|
|
19
|
+
*/
|
|
20
|
+
modified_on: string;
|
|
21
|
+
/**
|
|
22
|
+
* Worker usage model
|
|
23
|
+
*/
|
|
24
|
+
usage_model: string;
|
|
25
|
+
/**
|
|
26
|
+
* Worker environments
|
|
27
|
+
*/
|
|
28
|
+
environments?: WorkerEnvironment[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Worker script information
|
|
32
|
+
*/
|
|
33
|
+
export interface WorkerScriptInfo {
|
|
34
|
+
/**
|
|
35
|
+
* Script creation timestamp
|
|
36
|
+
*/
|
|
37
|
+
created_on: string;
|
|
38
|
+
/**
|
|
39
|
+
* Script last modification timestamp
|
|
40
|
+
*/
|
|
41
|
+
modified_on: string;
|
|
42
|
+
/**
|
|
43
|
+
* Script ID
|
|
44
|
+
*/
|
|
45
|
+
id: string;
|
|
46
|
+
/**
|
|
47
|
+
* Script tag
|
|
48
|
+
*/
|
|
49
|
+
tag: string;
|
|
50
|
+
/**
|
|
51
|
+
* Script tags
|
|
52
|
+
*/
|
|
53
|
+
tags: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Deployment ID
|
|
56
|
+
*/
|
|
57
|
+
deployment_id: string;
|
|
58
|
+
/**
|
|
59
|
+
* Tail consumers
|
|
60
|
+
*/
|
|
61
|
+
tail_consumers: any;
|
|
62
|
+
/**
|
|
63
|
+
* Whether logpush is enabled
|
|
64
|
+
*/
|
|
65
|
+
logpush: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Observability settings
|
|
68
|
+
*/
|
|
69
|
+
observability: {
|
|
70
|
+
/**
|
|
71
|
+
* Whether observability is enabled
|
|
72
|
+
*/
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Head sampling rate
|
|
76
|
+
*/
|
|
77
|
+
head_sampling_rate: number | null;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Whether the script has assets
|
|
81
|
+
*/
|
|
82
|
+
has_assets: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the script has modules
|
|
85
|
+
*/
|
|
86
|
+
has_modules: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Script etag
|
|
89
|
+
*/
|
|
90
|
+
etag: string;
|
|
91
|
+
/**
|
|
92
|
+
* Script handlers
|
|
93
|
+
*/
|
|
94
|
+
handlers: string[];
|
|
95
|
+
/**
|
|
96
|
+
* Where the script was last deployed from
|
|
97
|
+
*/
|
|
98
|
+
last_deployed_from: string;
|
|
99
|
+
/**
|
|
100
|
+
* Script usage model
|
|
101
|
+
*/
|
|
102
|
+
usage_model: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Worker environment information
|
|
106
|
+
*/
|
|
107
|
+
export interface WorkerEnvironment {
|
|
108
|
+
/**
|
|
109
|
+
* Environment name
|
|
110
|
+
*/
|
|
111
|
+
environment: string;
|
|
112
|
+
/**
|
|
113
|
+
* Environment creation timestamp
|
|
114
|
+
*/
|
|
115
|
+
created_on: string;
|
|
116
|
+
/**
|
|
117
|
+
* Environment last modification timestamp
|
|
118
|
+
*/
|
|
119
|
+
modified_on: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Default environment with script information
|
|
123
|
+
*/
|
|
124
|
+
export interface WorkerDefaultEnvironment extends WorkerEnvironment {
|
|
125
|
+
/**
|
|
126
|
+
* Script information
|
|
127
|
+
*/
|
|
128
|
+
script: WorkerScriptInfo;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=worker-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-metadata.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE;QACb;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QAEjB;;WAEG;QACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-metadata.js","sourceRoot":"","sources":["../../src/cloudflare/worker-metadata.ts"],"names":[],"mappings":""}
|