From 8d12329f01f61c22439543d65f1782579b53f3dc Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Thu, 13 Aug 2026 05:39:14 +0100 Subject: [PATCH] Add perpetual watcher reload in dev --- dist/functions/server/start-server.js | 11 +++++++++++ package.json | 2 +- src/functions/server/start-server.ts | 12 ++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/dist/functions/server/start-server.js b/dist/functions/server/start-server.js index 4378cba..6ae8ea8 100644 --- a/dist/functions/server/start-server.js +++ b/dist/functions/server/start-server.js @@ -1,10 +1,21 @@ import _ from "lodash"; import { log } from "../../utils/log"; import serverParamsGen from "./server-params-gen"; +import isDevelopment from "../../utils/is-development"; +import watcherEsbuildCTX 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) { + setInterval(() => { + if (global.BUNEXT_PAGES_SRC_WATCHER) { + global.BUNEXT_PAGES_SRC_WATCHER.close(); + watcherEsbuildCTX(); + } + }, 5000); + } return server; } diff --git a/package.json b/package.json index e60c038..397ff85 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/bunext", - "version": "1.1.0", + "version": "1.1.1", "main": "dist/index.js", "module": "index.ts", "dependencies": { diff --git a/src/functions/server/start-server.ts b/src/functions/server/start-server.ts index cbe5607..73e8711 100644 --- a/src/functions/server/start-server.ts +++ b/src/functions/server/start-server.ts @@ -1,15 +1,27 @@ import _ from "lodash"; import { log } from "../../utils/log"; import serverParamsGen from "./server-params-gen"; +import isDevelopment from "../../utils/is-development"; +import watcherEsbuildCTX 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) { + setInterval(() => { + if (global.BUNEXT_PAGES_SRC_WATCHER) { + global.BUNEXT_PAGES_SRC_WATCHER.close(); + watcherEsbuildCTX(); + } + }, 5000); + } + return server; }