diff --git a/packages/http/src/server.tsx b/packages/http/src/server.tsx index 5a673f9..b584bda 100644 --- a/packages/http/src/server.tsx +++ b/packages/http/src/server.tsx @@ -2,15 +2,27 @@ import { serve } from "bun" import { nanoRemix } from "@workshop/nano-remix" import { join } from "node:path" -const server = serve({ - routes: { - "/*": (req) => nanoRemix(req, { routesDir: join(import.meta.dir, "routes") }), - }, +type StartOptions = { + routesDir?: string +} - development: process.env.NODE_ENV !== "production" && { - hmr: true, - console: true, - }, -}) +function startServer(opts: StartOptions) { + const server = serve({ + routes: { + "/*": (req) => nanoRemix(req, opts), + }, -console.log(`🤖 Server running at ${server.url}`) + development: process.env.NODE_ENV !== "production" && { + hmr: true, + console: true, + }, + }) + + console.log(`🤖 Server running at ${server.url}`) +} + +if (import.meta.main) { + startServer({ routesDir: join(import.meta.dir, "routes") }) +} + +export { startServer } \ No newline at end of file