diff --git a/app/srv/ws/sync/editor/code/server-main.ts b/app/srv/ws/sync/editor/code/server-main.ts index 88c3ff88..c310afe9 100644 --- a/app/srv/ws/sync/editor/code/server-main.ts +++ b/app/srv/ws/sync/editor/code/server-main.ts @@ -1,8 +1,7 @@ -import { existsAsync } from "fs-jetpack"; -import { g } from "utils/global"; -import { code } from "./util-code"; import type { Server, WebSocketHandler } from "bun"; import _fs from "node:fs/promises"; +import { g } from "utils/global"; +import { code } from "./util-code"; type PrasiServer = { ws?: WebSocketHandler<{ url: string }>; @@ -14,56 +13,54 @@ type PrasiServer = { }) => Promise; }; -const _server = { - handler: {} as Record, - init_timeout: null as any, - init(site_id: string) { - clearTimeout(this.init_timeout); - this.init_timeout = setTimeout(() => { - console.log("server init", site_id); - try { - const server_src_path = code.path( - site_id, - "server", - "build", - "index.js" - ); - delete require.cache[server_src_path]; - const svr = require(server_src_path); - if (svr && svr.server) { - this.handler[site_id] = svr.server; - } - - Bun.write( - Bun.file(code.path(site_id, "site", "src", "server.log")), - "" - ); - } catch (e) { - console.log(`Failed to init server ${site_id}`); - } - }, 300); - }, - async serve( - site_id: string, - arg: Parameters>[0] - ) { - const handler = this.handler[site_id]; - console.log(this.handler); - - if (handler) { - try { - return await handler.http(arg); - } catch (e: any) { - _fs.appendFile( - code.path(site_id, "site", "src", "server.log"), - e.message + "\n" - ); - } - } - }, -}; - if (!g._server) { - g._server = _server; + g._server = { + handler: {} as Record, + init_timeout: null as any, + init(site_id: string) { + clearTimeout(this.init_timeout); + this.init_timeout = setTimeout(() => { + console.log("server init", site_id); + try { + const server_src_path = code.path( + site_id, + "server", + "build", + "index.js" + ); + delete require.cache[server_src_path]; + const svr = require(server_src_path); + if (svr && svr.server) { + this.handler[site_id] = svr.server; + } + + Bun.write( + Bun.file(code.path(site_id, "site", "src", "server.log")), + "" + ); + } catch (e) { + console.log(`Failed to init server ${site_id}`); + } + }, 300); + }, + async serve( + site_id: string, + arg: Parameters>[0] + ) { + const handler = this.handler[site_id]; + console.log(this.handler); + + if (handler) { + try { + return await handler.http(arg); + } catch (e: any) { + _fs.appendFile( + code.path(site_id, "site", "src", "server.log"), + e.message + "\n" + ); + } + } + }, + }; } export const server = g._server;