From 2b170d24e173ca657c38f289f85a5f5b5ffe4729 Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Sun, 29 Mar 2026 17:08:10 +0100 Subject: [PATCH] Updates --- dist/functions/server/bunext-req-handler.d.ts | 3 ++- dist/functions/server/bunext-req-handler.js | 6 +++++- dist/functions/server/server-params-gen.js | 2 +- dist/functions/server/server-post-build-fn.js | 2 +- dist/functions/server/web-pages/generate-web-html.js | 2 +- examples/custom-server/server.ts | 4 ++-- package.json | 2 +- src/functions/server/bunext-req-handler.ts | 8 ++++++++ src/functions/server/server-params-gen.ts | 2 +- src/functions/server/server-post-build-fn.ts | 7 ++++--- src/functions/server/web-pages/generate-web-html.tsx | 2 +- 11 files changed, 27 insertions(+), 13 deletions(-) diff --git a/dist/functions/server/bunext-req-handler.d.ts b/dist/functions/server/bunext-req-handler.d.ts index 9c363c6..3fb2e83 100644 --- a/dist/functions/server/bunext-req-handler.d.ts +++ b/dist/functions/server/bunext-req-handler.d.ts @@ -1,5 +1,6 @@ type Params = { req: Request; + server: Bun.Server; }; -export default function bunextRequestHandler({ req: initial_req, }: Params): Promise; +export default function bunextRequestHandler({ req: initial_req, server, }: Params): Promise; export {}; diff --git a/dist/functions/server/bunext-req-handler.js b/dist/functions/server/bunext-req-handler.js index 705b763..2413196 100644 --- a/dist/functions/server/bunext-req-handler.js +++ b/dist/functions/server/bunext-req-handler.js @@ -6,7 +6,7 @@ import handleHmr from "./handle-hmr"; import handlePublic from "./handle-public"; import handleFiles from "./handle-files"; import handleBunextPublicAssets from "./handle-bunext-public-assets"; -export default async function bunextRequestHandler({ req: initial_req, }) { +export default async function bunextRequestHandler({ req: initial_req, server, }) { const is_dev = isDevelopment(); let req = initial_req.clone(); try { @@ -25,6 +25,10 @@ export default async function bunextRequestHandler({ req: initial_req, }) { req = middleware_res; } } + // const server_upgrade = server.upgrade(req); + // if (server_upgrade) { + // return undefined; + // } if (url.pathname === "/__hmr" && is_dev) { response = await handleHmr({ req }); } diff --git a/dist/functions/server/server-params-gen.js b/dist/functions/server/server-params-gen.js index d8032d7..156419b 100644 --- a/dist/functions/server/server-params-gen.js +++ b/dist/functions/server/server-params-gen.js @@ -9,7 +9,7 @@ export default async function () { const config = await grabConfig(); return { async fetch(req, server) { - return await bunextRequestHandler({ req }); + return await bunextRequestHandler({ req, server }); }, port, idleTimeout: development ? 0 : undefined, diff --git a/dist/functions/server/server-post-build-fn.js b/dist/functions/server/server-post-build-fn.js index 14196cf..74d5c1b 100644 --- a/dist/functions/server/server-post-build-fn.js +++ b/dist/functions/server/server-post-build-fn.js @@ -14,7 +14,7 @@ export default async function serverPostBuildFn() { } const target_artifact = global.BUNDLER_CTX_MAP[controller.target_map.local_path]; const mock_req = new Request(controller.page_url); - const { serverRes } = await grabPageComponent({ + const { serverRes, bundledMap, module, root_module } = await grabPageComponent({ req: mock_req, }); const final_artifact = { diff --git a/dist/functions/server/web-pages/generate-web-html.js b/dist/functions/server/web-pages/generate-web-html.js index 12239a5..bdc074a 100644 --- a/dist/functions/server/web-pages/generate-web-html.js +++ b/dist/functions/server/web-pages/generate-web-html.js @@ -62,7 +62,7 @@ export default async function genWebHTML({ component, pageProps, bundledMap, mod __html: `window.${ClientWindowPagePropsName} = ${serializedProps}`, } }), bundledMap?.path ? (_jsxs(_Fragment, { children: [_jsx("script", { type: "importmap", dangerouslySetInnerHTML: { __html: importMap, - }, fetchPriority: "high" }), _jsx("script", { src: `/${bundledMap.path}`, type: "module", id: AppData["BunextClientHydrationScriptID"], defer: true })] })) : null, is_dev ? (_jsx("script", { defer: true, dangerouslySetInnerHTML: { + }, defer: true }), _jsx("script", { src: `/${bundledMap.path}`, type: "module", id: AppData["BunextClientHydrationScriptID"], defer: true })] })) : null, is_dev ? (_jsx("script", { defer: true, dangerouslySetInnerHTML: { __html: page_hydration_script, } })) : null, RootHead ? (_jsx(RootHead, { serverRes: pageProps, ctx: routeParams })) : null, Head ? _jsx(Head, { serverRes: pageProps, ctx: routeParams }) : null] }), _jsx("body", { children: _jsx("div", { id: ClientRootElementIDName, suppressHydrationWarning: !dev, children: component }) })] })); let html = `\n`; diff --git a/examples/custom-server/server.ts b/examples/custom-server/server.ts index 9fc1802..cb2c503 100644 --- a/examples/custom-server/server.ts +++ b/examples/custom-server/server.ts @@ -14,8 +14,8 @@ await bunext.bunextInit(); const server = Bun.serve({ routes: { "/*": { - async GET(req) { - return await bunext.bunextRequestHandler({ req }); + async GET(req, server) { + return await bunext.bunextRequestHandler({ req, server }); }, }, }, diff --git a/package.json b/package.json index ba06f66..e4da0dd 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@moduletrace/bunext", "module": "index.ts", "type": "module", - "version": "1.0.40", + "version": "1.0.41", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { diff --git a/src/functions/server/bunext-req-handler.ts b/src/functions/server/bunext-req-handler.ts index 52cb371..f5c7e6f 100644 --- a/src/functions/server/bunext-req-handler.ts +++ b/src/functions/server/bunext-req-handler.ts @@ -8,10 +8,12 @@ import handleFiles from "./handle-files"; import handleBunextPublicAssets from "./handle-bunext-public-assets"; type Params = { req: Request; + server: Bun.Server; }; export default async function bunextRequestHandler({ req: initial_req, + server, }: Params): Promise { const is_dev = isDevelopment(); let req = initial_req.clone(); @@ -38,6 +40,12 @@ export default async function bunextRequestHandler({ } } + // const server_upgrade = server.upgrade(req); + + // if (server_upgrade) { + // return undefined; + // } + if (url.pathname === "/__hmr" && is_dev) { response = await handleHmr({ req }); } else if (url.pathname.startsWith("/.bunext/public/pages")) { diff --git a/src/functions/server/server-params-gen.ts b/src/functions/server/server-params-gen.ts index 56bee09..4176410 100644 --- a/src/functions/server/server-params-gen.ts +++ b/src/functions/server/server-params-gen.ts @@ -12,7 +12,7 @@ export default async function (): Promise> { return { async fetch(req, server) { - return await bunextRequestHandler({ req }); + return await bunextRequestHandler({ req, server }); }, port, idleTimeout: development ? 0 : undefined, diff --git a/src/functions/server/server-post-build-fn.ts b/src/functions/server/server-post-build-fn.ts index 4ee9b74..0aced28 100644 --- a/src/functions/server/server-post-build-fn.ts +++ b/src/functions/server/server-post-build-fn.ts @@ -23,9 +23,10 @@ export default async function serverPostBuildFn() { const mock_req = new Request(controller.page_url); - const { serverRes } = await grabPageComponent({ - req: mock_req, - }); + const { serverRes, bundledMap, module, root_module } = + await grabPageComponent({ + req: mock_req, + }); const final_artifact: Omit = { ..._.omit(controller, ["controller"]), diff --git a/src/functions/server/web-pages/generate-web-html.tsx b/src/functions/server/web-pages/generate-web-html.tsx index bd74cc2..26e9fc1 100644 --- a/src/functions/server/web-pages/generate-web-html.tsx +++ b/src/functions/server/web-pages/generate-web-html.tsx @@ -125,7 +125,7 @@ export default async function genWebHTML({ dangerouslySetInnerHTML={{ __html: importMap, }} - fetchPriority="high" + defer />