Add perpetual watcher reload in dev

This commit is contained in:
Benjamin Toby 2026-08-13 05:39:14 +01:00
parent 78e86b3999
commit 8d12329f01
3 changed files with 24 additions and 1 deletions

View File

@ -1,10 +1,21 @@
import _ from "lodash"; import _ from "lodash";
import { log } from "../../utils/log"; import { log } from "../../utils/log";
import serverParamsGen from "./server-params-gen"; import serverParamsGen from "./server-params-gen";
import isDevelopment from "../../utils/is-development";
import watcherEsbuildCTX from "./watcher-esbuild-ctx";
export default async function startServer() { export default async function startServer() {
const serverParams = await serverParamsGen(); const serverParams = await serverParamsGen();
const server = Bun.serve(serverParams); const server = Bun.serve(serverParams);
const is_dev = isDevelopment();
global.BUNEXT_SERVER = server; global.BUNEXT_SERVER = server;
log.server(`http://${server.hostname}:${server.port}`); 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; return server;
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/bunext", "name": "@moduletrace/bunext",
"version": "1.1.0", "version": "1.1.1",
"main": "dist/index.js", "main": "dist/index.js",
"module": "index.ts", "module": "index.ts",
"dependencies": { "dependencies": {

View File

@ -1,15 +1,27 @@
import _ from "lodash"; import _ from "lodash";
import { log } from "../../utils/log"; import { log } from "../../utils/log";
import serverParamsGen from "./server-params-gen"; import serverParamsGen from "./server-params-gen";
import isDevelopment from "../../utils/is-development";
import watcherEsbuildCTX from "./watcher-esbuild-ctx";
export default async function startServer() { export default async function startServer() {
const serverParams = await serverParamsGen(); const serverParams = await serverParamsGen();
const server = Bun.serve(serverParams); const server = Bun.serve(serverParams);
const is_dev = isDevelopment();
global.BUNEXT_SERVER = server; global.BUNEXT_SERVER = server;
log.server(`http://${server.hostname}:${server.port}`); 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; return server;
} }