Add Sites worker entrypoint

This commit is contained in:
rosetta
2026-07-30 16:35:19 -07:00
parent 856fb60579
commit c81c3a1189
3 changed files with 30 additions and 1 deletions

View File

@@ -0,0 +1,11 @@
import { copyFile, mkdir } from 'node:fs/promises';
import { resolve } from 'node:path';
const root = process.cwd();
const serverDirectory = resolve(root, 'dist', 'server');
await mkdir(serverDirectory, { recursive: true });
await copyFile(
resolve(root, 'worker', 'index.js'),
resolve(serverDirectory, 'index.js'),
);

View File

@@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"build": "tsc -b && vite build && node build/prepare-sites-build.mjs",
"lint": "eslint .",
"preview": "vite preview"
},

18
worker/index.js Normal file
View File

@@ -0,0 +1,18 @@
const worker = {
async fetch(request, env) {
const response = await env.ASSETS.fetch(request);
if (
response.status !== 404 ||
request.method !== 'GET' ||
!request.headers.get('accept')?.includes('text/html')
) {
return response;
}
const indexUrl = new URL('/index.html', request.url);
return env.ASSETS.fetch(new Request(indexUrl, request));
},
};
export default worker;