one 1.12.1 → 1.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/cjs/Root.cjs +7 -1
  2. package/dist/cjs/Root.js +7 -2
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +8 -2
  5. package/dist/cjs/Root.native.js.map +1 -1
  6. package/dist/cjs/cli/build.cjs +24 -10
  7. package/dist/cjs/cli/build.js +24 -9
  8. package/dist/cjs/cli/build.js.map +1 -1
  9. package/dist/cjs/cli/build.native.js +29 -14
  10. package/dist/cjs/cli/build.native.js.map +1 -1
  11. package/dist/cjs/createApp.cjs +2 -2
  12. package/dist/cjs/createApp.js +2 -2
  13. package/dist/cjs/createApp.js.map +1 -1
  14. package/dist/cjs/createHandleRequest.cjs +5 -1
  15. package/dist/cjs/createHandleRequest.js +6 -2
  16. package/dist/cjs/createHandleRequest.js.map +1 -1
  17. package/dist/cjs/createHandleRequest.native.js +5 -1
  18. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  19. package/dist/cjs/fork/SSRNavigationContainer.cjs +18 -9
  20. package/dist/cjs/fork/SSRNavigationContainer.js +17 -6
  21. package/dist/cjs/fork/SSRNavigationContainer.js.map +1 -1
  22. package/dist/cjs/fork/SSRNavigationContainer.native.js +21 -10
  23. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
  24. package/dist/cjs/router/linkingConfig.cjs +2 -1
  25. package/dist/cjs/router/linkingConfig.js +2 -2
  26. package/dist/cjs/router/linkingConfig.js.map +1 -1
  27. package/dist/cjs/router/linkingConfig.native.js +2 -1
  28. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  29. package/dist/cjs/serve.cjs +67 -28
  30. package/dist/cjs/serve.js +68 -28
  31. package/dist/cjs/serve.js.map +1 -1
  32. package/dist/cjs/serve.native.js +96 -35
  33. package/dist/cjs/serve.native.js.map +1 -1
  34. package/dist/cjs/server/oneServe.cjs +112 -39
  35. package/dist/cjs/server/oneServe.js +94 -41
  36. package/dist/cjs/server/oneServe.js.map +2 -2
  37. package/dist/cjs/server/oneServe.native.js +180 -80
  38. package/dist/cjs/server/oneServe.native.js.map +1 -1
  39. package/dist/cjs/utils/evictOldest.cjs +34 -0
  40. package/dist/cjs/utils/evictOldest.js +29 -0
  41. package/dist/cjs/utils/evictOldest.js.map +6 -0
  42. package/dist/cjs/utils/evictOldest.native.js +34 -0
  43. package/dist/cjs/utils/evictOldest.native.js.map +1 -0
  44. package/dist/cjs/utils/isResponse.cjs +1 -1
  45. package/dist/cjs/utils/isResponse.js +1 -1
  46. package/dist/cjs/utils/isResponse.js.map +1 -1
  47. package/dist/cjs/utils/isResponse.native.js +1 -1
  48. package/dist/cjs/utils/isResponse.native.js.map +1 -1
  49. package/dist/cjs/vite/one-server-only.cjs +9 -6
  50. package/dist/cjs/vite/one-server-only.js +8 -7
  51. package/dist/cjs/vite/one-server-only.js.map +1 -1
  52. package/dist/cjs/vite/resolveResponse.cjs +17 -4
  53. package/dist/cjs/vite/resolveResponse.js +15 -2
  54. package/dist/cjs/vite/resolveResponse.js.map +1 -1
  55. package/dist/cjs/vite/resolveResponse.native.js +17 -4
  56. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  57. package/dist/esm/Root.js +7 -1
  58. package/dist/esm/Root.js.map +1 -1
  59. package/dist/esm/Root.mjs +7 -1
  60. package/dist/esm/Root.mjs.map +1 -1
  61. package/dist/esm/Root.native.js +7 -1
  62. package/dist/esm/Root.native.js.map +1 -1
  63. package/dist/esm/cli/build.js +24 -9
  64. package/dist/esm/cli/build.js.map +1 -1
  65. package/dist/esm/cli/build.mjs +26 -12
  66. package/dist/esm/cli/build.mjs.map +1 -1
  67. package/dist/esm/cli/build.native.js +29 -14
  68. package/dist/esm/cli/build.native.js.map +1 -1
  69. package/dist/esm/createApp.js +2 -2
  70. package/dist/esm/createApp.js.map +1 -1
  71. package/dist/esm/createApp.mjs +2 -2
  72. package/dist/esm/createApp.mjs.map +1 -1
  73. package/dist/esm/createHandleRequest.js +6 -2
  74. package/dist/esm/createHandleRequest.js.map +1 -1
  75. package/dist/esm/createHandleRequest.mjs +5 -2
  76. package/dist/esm/createHandleRequest.mjs.map +1 -1
  77. package/dist/esm/createHandleRequest.native.js +5 -2
  78. package/dist/esm/createHandleRequest.native.js.map +1 -1
  79. package/dist/esm/fork/SSRNavigationContainer.js +17 -6
  80. package/dist/esm/fork/SSRNavigationContainer.js.map +1 -1
  81. package/dist/esm/fork/SSRNavigationContainer.mjs +18 -9
  82. package/dist/esm/fork/SSRNavigationContainer.mjs.map +1 -1
  83. package/dist/esm/fork/SSRNavigationContainer.native.js +21 -10
  84. package/dist/esm/fork/SSRNavigationContainer.native.js.map +1 -1
  85. package/dist/esm/router/linkingConfig.js +2 -1
  86. package/dist/esm/router/linkingConfig.js.map +1 -1
  87. package/dist/esm/router/linkingConfig.mjs +2 -1
  88. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  89. package/dist/esm/router/linkingConfig.native.js +2 -1
  90. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  91. package/dist/esm/serve.js +68 -28
  92. package/dist/esm/serve.js.map +1 -1
  93. package/dist/esm/serve.mjs +67 -28
  94. package/dist/esm/serve.mjs.map +1 -1
  95. package/dist/esm/serve.native.js +96 -35
  96. package/dist/esm/serve.native.js.map +1 -1
  97. package/dist/esm/server/oneServe.js +95 -42
  98. package/dist/esm/server/oneServe.js.map +2 -2
  99. package/dist/esm/server/oneServe.mjs +113 -40
  100. package/dist/esm/server/oneServe.mjs.map +1 -1
  101. package/dist/esm/server/oneServe.native.js +181 -81
  102. package/dist/esm/server/oneServe.native.js.map +1 -1
  103. package/dist/esm/utils/evictOldest.js +13 -0
  104. package/dist/esm/utils/evictOldest.js.map +6 -0
  105. package/dist/esm/utils/evictOldest.mjs +11 -0
  106. package/dist/esm/utils/evictOldest.mjs.map +1 -0
  107. package/dist/esm/utils/evictOldest.native.js +8 -0
  108. package/dist/esm/utils/evictOldest.native.js.map +1 -0
  109. package/dist/esm/utils/isResponse.js +1 -1
  110. package/dist/esm/utils/isResponse.js.map +1 -1
  111. package/dist/esm/utils/isResponse.mjs +1 -1
  112. package/dist/esm/utils/isResponse.mjs.map +1 -1
  113. package/dist/esm/utils/isResponse.native.js +1 -1
  114. package/dist/esm/utils/isResponse.native.js.map +1 -1
  115. package/dist/esm/vite/one-server-only.js +8 -7
  116. package/dist/esm/vite/one-server-only.js.map +1 -1
  117. package/dist/esm/vite/one-server-only.mjs +9 -6
  118. package/dist/esm/vite/one-server-only.mjs.map +1 -1
  119. package/dist/esm/vite/resolveResponse.js +15 -2
  120. package/dist/esm/vite/resolveResponse.js.map +1 -1
  121. package/dist/esm/vite/resolveResponse.mjs +16 -4
  122. package/dist/esm/vite/resolveResponse.mjs.map +1 -1
  123. package/dist/esm/vite/resolveResponse.native.js +16 -4
  124. package/dist/esm/vite/resolveResponse.native.js.map +1 -1
  125. package/package.json +13 -11
  126. package/src/Root.tsx +14 -1
  127. package/src/cli/build.ts +38 -12
  128. package/src/createApp.tsx +8 -2
  129. package/src/createHandleRequest.ts +9 -2
  130. package/src/fork/SSRNavigationContainer.tsx +30 -7
  131. package/src/router/linkingConfig.ts +2 -2
  132. package/src/serve.ts +134 -48
  133. package/src/server/oneServe.ts +153 -47
  134. package/src/utils/evictOldest.ts +13 -0
  135. package/src/utils/isResponse.ts +4 -4
  136. package/src/vite/one-server-only.tsx +25 -11
  137. package/src/vite/resolveResponse.ts +20 -1
  138. package/src/vite/types.ts +20 -2
  139. package/types/Root.d.ts.map +1 -1
  140. package/types/cli/build.d.ts.map +1 -1
  141. package/types/createApp.d.ts.map +1 -1
  142. package/types/createHandleRequest.d.ts +4 -0
  143. package/types/createHandleRequest.d.ts.map +1 -1
  144. package/types/fork/SSRNavigationContainer.d.ts.map +1 -1
  145. package/types/router/linkingConfig.d.ts.map +1 -1
  146. package/types/serve.d.ts.map +1 -1
  147. package/types/server/oneServe.d.ts.map +1 -1
  148. package/types/utils/evictOldest.d.ts +6 -0
  149. package/types/utils/evictOldest.d.ts.map +1 -0
  150. package/types/vite/one-server-only.d.ts +9 -3
  151. package/types/vite/one-server-only.d.ts.map +1 -1
  152. package/types/vite/resolveResponse.d.ts +4 -0
  153. package/types/vite/resolveResponse.d.ts.map +1 -1
  154. package/types/vite/types.d.ts +18 -2
  155. package/types/vite/types.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { extname, join, resolve } from "node:path";
2
+ import { join, resolve } from "node:path";
3
3
  import {
4
4
  CSS_PRELOAD_JS_POSTFIX,
5
5
  LOADER_JS_POSTFIX_UNCACHED,
@@ -28,7 +28,7 @@ async function readStaticHtml(htmlPath, outDir = "dist") {
28
28
  }
29
29
  }
30
30
  async function oneServe(oneOptions, buildInfo, app, options) {
31
- const outDir = buildInfo.outDir || "dist", { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), isAPIRequest = /* @__PURE__ */ new WeakMap(), redirects = oneOptions.web?.redirects;
31
+ const outDir = buildInfo.outDir || "dist", { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), { withRequestContext } = await import("../vite/resolveResponse"), isAPIRequest = /* @__PURE__ */ new WeakMap(), redirects = oneOptions.web?.redirects;
32
32
  if (redirects)
33
33
  for (const redirect of redirects)
34
34
  app.get(redirect.source, (context) => {
@@ -59,7 +59,7 @@ async function oneServe(oneOptions, buildInfo, app, options) {
59
59
  const serverOptions = {
60
60
  ...oneOptions,
61
61
  root: "."
62
- }, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", loaderCache = /* @__PURE__ */ new Map(), moduleImportCache = /* @__PURE__ */ new Map(), loaderCacheFnMap = /* @__PURE__ */ new Map(), pendingLoaderResults = /* @__PURE__ */ new Map();
62
+ }, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", useStreaming = !process.env.ONE_BUFFERED_SSR, htmlHeaders = { "content-type": "text/html" }, ssrHtmlHeaders = { "content-type": "text/html", "cache-control": "no-cache" }, loaderCache = /* @__PURE__ */ new Map(), moduleImportCache = /* @__PURE__ */ new Map(), loaderCacheFnMap = /* @__PURE__ */ new Map(), pendingLoaderResults = /* @__PURE__ */ new Map();
63
63
  function resolveLoaderSync(serverPath, lazyKey) {
64
64
  const cacheKey = lazyKey || serverPath || "", cached = loaderCache.get(cacheKey);
65
65
  return cached !== void 0 ? cached : (async () => {
@@ -182,15 +182,19 @@ async function oneServe(oneOptions, buildInfo, app, options) {
182
182
  `)}`
183
183
  );
184
184
  try {
185
- const layoutRoutes = route.layouts || [], layoutLoaderPromises = layoutRoutes.map((layout) => {
186
- const serverPath = layout.loaderServerPath || layout.contextKey;
187
- return importAndRunLoader(
188
- layout.contextKey,
189
- serverPath,
190
- layout.contextKey,
191
- loaderProps
185
+ const layoutRoutes = route.layouts || [], layoutLoaderPromises = [], noLoaderResults = [];
186
+ for (const layout of layoutRoutes) {
187
+ const serverPath = layout.loaderServerPath || layout.contextKey, cacheKey = layout.contextKey || serverPath || "";
188
+ loaderCache.get(cacheKey) === null ? noLoaderResults.push({ loaderData: void 0, routeId: layout.contextKey }) : layoutLoaderPromises.push(
189
+ importAndRunLoader(
190
+ layout.contextKey,
191
+ serverPath,
192
+ layout.contextKey,
193
+ loaderProps
194
+ )
192
195
  );
193
- }), pageLoaderPromise = importAndRunLoader(
196
+ }
197
+ const pageLoaderPromise = importAndRunLoader(
194
198
  route.file,
195
199
  buildInfo2.serverJsPath,
196
200
  route.file,
@@ -198,10 +202,15 @@ async function oneServe(oneOptions, buildInfo, app, options) {
198
202
  );
199
203
  let layoutResults, pageResult;
200
204
  try {
201
- [layoutResults, pageResult] = await Promise.all([
202
- Promise.all(layoutLoaderPromises),
203
- pageLoaderPromise
204
- ]);
205
+ if (layoutLoaderPromises.length === 0)
206
+ layoutResults = noLoaderResults, pageResult = await pageLoaderPromise;
207
+ else {
208
+ const [asyncLayoutResults, pr] = await Promise.all([
209
+ Promise.all(layoutLoaderPromises),
210
+ pageLoaderPromise
211
+ ]);
212
+ layoutResults = [...noLoaderResults, ...asyncLayoutResults], pageResult = pr;
213
+ }
205
214
  } catch (err) {
206
215
  if (isResponse(err))
207
216
  return err;
@@ -223,20 +232,23 @@ async function oneServe(oneOptions, buildInfo, app, options) {
223
232
  }
224
233
  return new Response("404 Not Found", { status: 404 });
225
234
  }
226
- const matches = [
227
- ...layoutResults.map((result) => ({
235
+ const matchPathname = loaderProps?.path || "/", matchParams = loaderProps?.params || {}, matches = new Array(layoutResults.length + 1);
236
+ for (let i = 0; i < layoutResults.length; i++) {
237
+ const result = layoutResults[i];
238
+ matches[i] = {
228
239
  routeId: result.routeId,
229
- pathname: loaderProps?.path || "/",
230
- params: loaderProps?.params || {},
240
+ pathname: matchPathname,
241
+ params: matchParams,
231
242
  loaderData: result.loaderData
232
- })),
233
- {
234
- routeId: pageResult.routeId,
235
- pathname: loaderProps?.path || "/",
236
- params: loaderProps?.params || {},
237
- loaderData: pageResult.loaderData
238
- }
239
- ], loaderData = pageResult.loaderData;
243
+ };
244
+ }
245
+ matches[layoutResults.length] = {
246
+ routeId: pageResult.routeId,
247
+ pathname: matchPathname,
248
+ params: matchParams,
249
+ loaderData: pageResult.loaderData
250
+ };
251
+ const loaderData = pageResult.loaderData;
240
252
  for (const layout of layoutRoutes) {
241
253
  const key = layout.contextKey, loaderFn = loaderCache.get(key);
242
254
  if (loaderFn) {
@@ -245,9 +257,7 @@ async function oneServe(oneOptions, buildInfo, app, options) {
245
257
  }
246
258
  }
247
259
  const pageLoaderFn = loaderCache.get(route.file);
248
- pageLoaderFn && setSSRLoaderData(pageLoaderFn, pageResult.loaderData);
249
- const headers = new Headers();
250
- headers.set("content-type", "text/html"), globalThis.__vxrnresetState?.();
260
+ pageLoaderFn && setSSRLoaderData(pageLoaderFn, pageResult.loaderData), globalThis.__vxrnresetState?.();
251
261
  const renderProps = {
252
262
  mode: route.type,
253
263
  loaderData,
@@ -260,18 +270,18 @@ async function oneServe(oneOptions, buildInfo, app, options) {
260
270
  matches
261
271
  }, _rl = ensureRenderLoaded();
262
272
  _rl && await _rl;
263
- const streamFn = process.env.ONE_BUFFERED_SSR ? null : renderStream;
264
- if (streamFn) {
265
- const stream = await streamFn(renderProps);
273
+ const status = route.isNotFound ? 404 : 200, responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;
274
+ if (useStreaming) {
275
+ const stream = await renderStream(renderProps);
266
276
  return new Response(stream, {
267
- headers,
268
- status: route.isNotFound ? 404 : 200
277
+ headers: responseHeaders,
278
+ status
269
279
  });
270
280
  }
271
281
  const rendered = await render(renderProps);
272
282
  return new Response(rendered, {
273
- headers,
274
- status: route.isNotFound ? 404 : 200
283
+ headers: responseHeaders,
284
+ status
275
285
  });
276
286
  } catch (err) {
277
287
  if (isResponse(err))
@@ -303,8 +313,8 @@ url: ${url}`);
303
313
  pathname: loaderProps?.path || "/",
304
314
  params: loaderProps?.params || {},
305
315
  loaderData: result.loaderData
306
- })), headers = new Headers();
307
- headers.set("content-type", "text/html"), globalThis.__vxrnresetState?.();
316
+ }));
317
+ globalThis.__vxrnresetState?.();
308
318
  const _rl3 = ensureRenderLoaded();
309
319
  _rl3 && await _rl3;
310
320
  const rendered = await render({
@@ -321,7 +331,7 @@ url: ${url}`);
321
331
  matches
322
332
  });
323
333
  return new Response(rendered, {
324
- headers,
334
+ headers: htmlHeaders,
325
335
  status: route.isNotFound ? 404 : 200
326
336
  });
327
337
  } catch (err) {
@@ -362,10 +372,11 @@ url: ${url}`
362
372
  }
363
373
  };
364
374
  function createHonoHandler(route) {
375
+ const isDynamicOrNotFound = route.page.endsWith("/+not-found") || Object.keys(route.routeKeys).length > 0;
365
376
  return async (context, next) => {
366
377
  try {
367
378
  const request = context.req.raw;
368
- if ((route.page.endsWith("/+not-found") || Reflect.ownKeys(route.routeKeys).length > 0) && options?.serveStaticAssets) {
379
+ if (isDynamicOrNotFound && options?.serveStaticAssets) {
369
380
  const staticAssetResponse = await options.serveStaticAssets({
370
381
  context
371
382
  });
@@ -377,8 +388,50 @@ url: ${url}`
377
388
  async () => staticAssetResponse
378
389
  );
379
390
  }
380
- if (extname(request.url) === ".js" || extname(request.url) === ".css")
391
+ const reqPath = context.req.path;
392
+ if (reqPath.endsWith(".js") || reqPath.endsWith(".css"))
393
+ return next();
394
+ if (route.type === "ssr" && !route.middlewares?.length && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
395
+ debugRouter && console.info(`[one] \u26A1 ${reqPath} \u2192 matched page route: ${route.page} (ssr)`);
396
+ const pathname = reqPath, rawUrl = request.url, qIdx = rawUrl.indexOf("?"), search = qIdx >= 0 ? rawUrl.slice(qIdx) : "", params = {}, match = route.compiledRegex.exec(pathname);
397
+ if (match?.groups)
398
+ for (const [key, value] of Object.entries(match.groups)) {
399
+ const namedKey = route.routeKeys[key];
400
+ params[namedKey] = value;
401
+ }
402
+ const loaderProps = {
403
+ path: pathname,
404
+ search,
405
+ request,
406
+ params
407
+ }, url2 = getURLfromRequestURL(request), response2 = await withRequestContext(async () => {
408
+ try {
409
+ return await requestHandlers.handlePage({
410
+ request,
411
+ route,
412
+ url: url2,
413
+ loaderProps
414
+ });
415
+ } catch (err) {
416
+ if (isResponse(err))
417
+ return err;
418
+ throw err;
419
+ }
420
+ });
421
+ if (response2) {
422
+ if (isResponse(response2)) {
423
+ if (isStatusRedirect(response2.status)) {
424
+ const location = `${response2.headers.get("location") || ""}`;
425
+ return response2.headers.forEach((value, key) => {
426
+ context.header(key, value);
427
+ }), context.redirect(location, response2.status);
428
+ }
429
+ return response2;
430
+ }
431
+ return next();
432
+ }
381
433
  return next();
434
+ }
382
435
  const url = getURLfromRequestURL(request), response = await (() => {
383
436
  if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
384
437
  const originalUrl = getPathFromLoaderPath(url.pathname);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/server/oneServe.ts"],
4
- "mappings": "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",
5
- "names": ["buildInfo"]
4
+ "mappings": "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",
5
+ "names": ["buildInfo", "url", "response"]
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { extname, join, resolve } from "node:path";
2
+ import { join, resolve } from "node:path";
3
3
  import { CSS_PRELOAD_JS_POSTFIX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX } from "../constants.mjs";
4
4
  import { compileManifest, getURLfromRequestURL, runMiddlewares } from "../createHandleRequest.mjs";
5
5
  import { getPathFromLoaderPath } from "../utils/cleanUrl.mjs";
@@ -32,6 +32,9 @@ async function oneServe(oneOptions, buildInfo, app, options) {
32
32
  {
33
33
  isStatusRedirect
34
34
  } = await import("../utils/isStatus.mjs"),
35
+ {
36
+ withRequestContext
37
+ } = await import("../vite/resolveResponse.mjs"),
35
38
  isAPIRequest = /* @__PURE__ */new WeakMap(),
36
39
  redirects = oneOptions.web?.redirects;
37
40
  if (redirects) for (const redirect of redirects) app.get(redirect.source, context => {
@@ -65,6 +68,14 @@ async function oneServe(oneOptions, buildInfo, app, options) {
65
68
  root: "."
66
69
  },
67
70
  apiCJS = oneOptions.build?.api?.outputFormat === "cjs",
71
+ useStreaming = !process.env.ONE_BUFFERED_SSR,
72
+ htmlHeaders = {
73
+ "content-type": "text/html"
74
+ },
75
+ ssrHtmlHeaders = {
76
+ "content-type": "text/html",
77
+ "cache-control": "no-cache"
78
+ },
68
79
  loaderCache = /* @__PURE__ */new Map(),
69
80
  moduleImportCache = /* @__PURE__ */new Map(),
70
81
  loaderCacheFnMap = /* @__PURE__ */new Map(),
@@ -213,14 +224,23 @@ async function oneServe(oneOptions, buildInfo, app, options) {
213
224
  `)}`);
214
225
  try {
215
226
  const layoutRoutes = route.layouts || [],
216
- layoutLoaderPromises = layoutRoutes.map(layout => {
217
- const serverPath = layout.loaderServerPath || layout.contextKey;
218
- return importAndRunLoader(layout.contextKey, serverPath, layout.contextKey, loaderProps);
219
- }),
220
- pageLoaderPromise = importAndRunLoader(route.file, buildInfo2.serverJsPath, route.file, loaderProps);
227
+ layoutLoaderPromises = [],
228
+ noLoaderResults = [];
229
+ for (const layout of layoutRoutes) {
230
+ const serverPath = layout.loaderServerPath || layout.contextKey,
231
+ cacheKey = layout.contextKey || serverPath || "";
232
+ loaderCache.get(cacheKey) === null ? noLoaderResults.push({
233
+ loaderData: void 0,
234
+ routeId: layout.contextKey
235
+ }) : layoutLoaderPromises.push(importAndRunLoader(layout.contextKey, serverPath, layout.contextKey, loaderProps));
236
+ }
237
+ const pageLoaderPromise = importAndRunLoader(route.file, buildInfo2.serverJsPath, route.file, loaderProps);
221
238
  let layoutResults, pageResult;
222
239
  try {
223
- [layoutResults, pageResult] = await Promise.all([Promise.all(layoutLoaderPromises), pageLoaderPromise]);
240
+ if (layoutLoaderPromises.length === 0) layoutResults = noLoaderResults, pageResult = await pageLoaderPromise;else {
241
+ const [asyncLayoutResults, pr] = await Promise.all([Promise.all(layoutLoaderPromises), pageLoaderPromise]);
242
+ layoutResults = [...noLoaderResults, ...asyncLayoutResults], pageResult = pr;
243
+ }
224
244
  } catch (err) {
225
245
  if (isResponse(err)) return err;
226
246
  throw err;
@@ -241,18 +261,25 @@ async function oneServe(oneOptions, buildInfo, app, options) {
241
261
  status: 404
242
262
  });
243
263
  }
244
- const matches = [...layoutResults.map(result => ({
264
+ const matchPathname = loaderProps?.path || "/",
265
+ matchParams = loaderProps?.params || {},
266
+ matches = new Array(layoutResults.length + 1);
267
+ for (let i = 0; i < layoutResults.length; i++) {
268
+ const result = layoutResults[i];
269
+ matches[i] = {
245
270
  routeId: result.routeId,
246
- pathname: loaderProps?.path || "/",
247
- params: loaderProps?.params || {},
271
+ pathname: matchPathname,
272
+ params: matchParams,
248
273
  loaderData: result.loaderData
249
- })), {
250
- routeId: pageResult.routeId,
251
- pathname: loaderProps?.path || "/",
252
- params: loaderProps?.params || {},
253
- loaderData: pageResult.loaderData
254
- }],
255
- loaderData = pageResult.loaderData;
274
+ };
275
+ }
276
+ matches[layoutResults.length] = {
277
+ routeId: pageResult.routeId,
278
+ pathname: matchPathname,
279
+ params: matchParams,
280
+ loaderData: pageResult.loaderData
281
+ };
282
+ const loaderData = pageResult.loaderData;
256
283
  for (const layout of layoutRoutes) {
257
284
  const key = layout.contextKey,
258
285
  loaderFn = loaderCache.get(key);
@@ -262,9 +289,7 @@ async function oneServe(oneOptions, buildInfo, app, options) {
262
289
  }
263
290
  }
264
291
  const pageLoaderFn = loaderCache.get(route.file);
265
- pageLoaderFn && setSSRLoaderData(pageLoaderFn, pageResult.loaderData);
266
- const headers = new Headers();
267
- headers.set("content-type", "text/html"), globalThis.__vxrnresetState?.();
292
+ pageLoaderFn && setSSRLoaderData(pageLoaderFn, pageResult.loaderData), globalThis.__vxrnresetState?.();
268
293
  const renderProps = {
269
294
  mode: route.type,
270
295
  loaderData,
@@ -278,18 +303,19 @@ async function oneServe(oneOptions, buildInfo, app, options) {
278
303
  },
279
304
  _rl = ensureRenderLoaded();
280
305
  _rl && (await _rl);
281
- const streamFn = process.env.ONE_BUFFERED_SSR ? null : renderStream;
282
- if (streamFn) {
283
- const stream = await streamFn(renderProps);
306
+ const status = route.isNotFound ? 404 : 200,
307
+ responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;
308
+ if (useStreaming) {
309
+ const stream = await renderStream(renderProps);
284
310
  return new Response(stream, {
285
- headers,
286
- status: route.isNotFound ? 404 : 200
311
+ headers: responseHeaders,
312
+ status
287
313
  });
288
314
  }
289
315
  const rendered = await render(renderProps);
290
316
  return new Response(rendered, {
291
- headers,
292
- status: route.isNotFound ? 404 : 200
317
+ headers: responseHeaders,
318
+ status
293
319
  });
294
320
  } catch (err) {
295
321
  if (isResponse(err)) return err;
@@ -303,16 +329,15 @@ url: ${url}`);
303
329
  const layoutRoutes = route.layouts || [];
304
330
  if (route.type === "spa" && layoutRoutes.some(layout => layout.layoutRenderMode === "ssg" || layout.layoutRenderMode === "ssr")) try {
305
331
  const matches = (await Promise.all(layoutRoutes.map(layout => {
306
- const serverPath = layout.loaderServerPath || layout.contextKey;
307
- return importAndRunLoader(layout.contextKey, serverPath, layout.contextKey, loaderProps);
308
- }))).map(result => ({
309
- routeId: result.routeId,
310
- pathname: loaderProps?.path || "/",
311
- params: loaderProps?.params || {},
312
- loaderData: result.loaderData
313
- })),
314
- headers = new Headers();
315
- headers.set("content-type", "text/html"), globalThis.__vxrnresetState?.();
332
+ const serverPath = layout.loaderServerPath || layout.contextKey;
333
+ return importAndRunLoader(layout.contextKey, serverPath, layout.contextKey, loaderProps);
334
+ }))).map(result => ({
335
+ routeId: result.routeId,
336
+ pathname: loaderProps?.path || "/",
337
+ params: loaderProps?.params || {},
338
+ loaderData: result.loaderData
339
+ }));
340
+ globalThis.__vxrnresetState?.();
316
341
  const _rl3 = ensureRenderLoaded();
317
342
  _rl3 && (await _rl3);
318
343
  const rendered = await render({
@@ -329,7 +354,7 @@ url: ${url}`);
329
354
  matches
330
355
  });
331
356
  return new Response(rendered, {
332
- headers,
357
+ headers: htmlHeaders,
333
358
  status: route.isNotFound ? 404 : 200
334
359
  });
335
360
  } catch (err) {
@@ -375,16 +400,64 @@ url: ${url}`);
375
400
  }
376
401
  };
377
402
  function createHonoHandler(route) {
403
+ const isDynamicOrNotFound = route.page.endsWith("/+not-found") || Object.keys(route.routeKeys).length > 0;
378
404
  return async (context, next) => {
379
405
  try {
380
406
  const request = context.req.raw;
381
- if ((route.page.endsWith("/+not-found") || Reflect.ownKeys(route.routeKeys).length > 0) && options?.serveStaticAssets) {
407
+ if (isDynamicOrNotFound && options?.serveStaticAssets) {
382
408
  const staticAssetResponse = await options.serveStaticAssets({
383
409
  context
384
410
  });
385
411
  if (staticAssetResponse) return await runMiddlewares(requestHandlers, request, route, async () => staticAssetResponse);
386
412
  }
387
- if (extname(request.url) === ".js" || extname(request.url) === ".css") return next();
413
+ const reqPath = context.req.path;
414
+ if (reqPath.endsWith(".js") || reqPath.endsWith(".css")) return next();
415
+ if (route.type === "ssr" && !route.middlewares?.length && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
416
+ debugRouter && console.info(`[one] \u26A1 ${reqPath} \u2192 matched page route: ${route.page} (ssr)`);
417
+ const pathname = reqPath,
418
+ rawUrl = request.url,
419
+ qIdx = rawUrl.indexOf("?"),
420
+ search = qIdx >= 0 ? rawUrl.slice(qIdx) : "",
421
+ params = {},
422
+ match = route.compiledRegex.exec(pathname);
423
+ if (match?.groups) for (const [key, value] of Object.entries(match.groups)) {
424
+ const namedKey = route.routeKeys[key];
425
+ params[namedKey] = value;
426
+ }
427
+ const loaderProps = {
428
+ path: pathname,
429
+ search,
430
+ request,
431
+ params
432
+ },
433
+ url2 = getURLfromRequestURL(request),
434
+ response2 = await withRequestContext(async () => {
435
+ try {
436
+ return await requestHandlers.handlePage({
437
+ request,
438
+ route,
439
+ url: url2,
440
+ loaderProps
441
+ });
442
+ } catch (err) {
443
+ if (isResponse(err)) return err;
444
+ throw err;
445
+ }
446
+ });
447
+ if (response2) {
448
+ if (isResponse(response2)) {
449
+ if (isStatusRedirect(response2.status)) {
450
+ const location = `${response2.headers.get("location") || ""}`;
451
+ return response2.headers.forEach((value, key) => {
452
+ context.header(key, value);
453
+ }), context.redirect(location, response2.status);
454
+ }
455
+ return response2;
456
+ }
457
+ return next();
458
+ }
459
+ return next();
460
+ }
388
461
  const url = getURLfromRequestURL(request),
389
462
  response = await (() => {
390
463
  if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {