import _ from "lodash"; import { log } from "../../utils/log"; import serverParamsGen from "./server-params-gen"; import isDevelopment from "../../utils/is-development"; import { watcherWatchdogTick } from "./watcher-esbuild-ctx"; export default async function startServer() { const serverParams = await serverParamsGen(); const server = Bun.serve(serverParams); const is_dev = isDevelopment(); global.BUNEXT_SERVER = server; log.server(`http://${server.hostname}:${server.port}`); if (is_dev) { // Watchdog: re-create the FS watcher if it went stale and stopped // receiving events. setInterval(watcherWatchdogTick, 5000); } return server; }