//// // This is the child process that runs a single webapp. import { Hono } from "hono" import { appPath, toResponse } from "./utils" const appName = Bun.argv[2] if (!appName) { console.log("usage: bun run ./src/webapp/worker.ts ") process.exit(1) } const path = await appPath(appName) if (!path) throw `Can't find app: ${appName}` const mod = await import(path) const handler = mod.default if (typeof handler !== "function") throw `no default export in ${appName}` const app = new Hono() app.all("*", async c => toResponse(await handler(c))) const port = Number(process.env.PORT || 4000) Bun.serve({ port, fetch: app.fetch }) console.log(`[child:${appName}] listening on localhost:${port}`)