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.
- package/dist/cjs/Root.cjs +7 -1
- package/dist/cjs/Root.js +7 -2
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js +8 -2
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/cli/build.cjs +24 -10
- package/dist/cjs/cli/build.js +24 -9
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +29 -14
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +2 -2
- package/dist/cjs/createApp.js +2 -2
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createHandleRequest.cjs +5 -1
- package/dist/cjs/createHandleRequest.js +6 -2
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +5 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/fork/SSRNavigationContainer.cjs +18 -9
- package/dist/cjs/fork/SSRNavigationContainer.js +17 -6
- package/dist/cjs/fork/SSRNavigationContainer.js.map +1 -1
- package/dist/cjs/fork/SSRNavigationContainer.native.js +21 -10
- package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.cjs +2 -1
- package/dist/cjs/router/linkingConfig.js +2 -2
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js +2 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/serve.cjs +67 -28
- package/dist/cjs/serve.js +68 -28
- package/dist/cjs/serve.js.map +1 -1
- package/dist/cjs/serve.native.js +96 -35
- package/dist/cjs/serve.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +112 -39
- package/dist/cjs/server/oneServe.js +94 -41
- package/dist/cjs/server/oneServe.js.map +2 -2
- package/dist/cjs/server/oneServe.native.js +180 -80
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/utils/evictOldest.cjs +34 -0
- package/dist/cjs/utils/evictOldest.js +29 -0
- package/dist/cjs/utils/evictOldest.js.map +6 -0
- package/dist/cjs/utils/evictOldest.native.js +34 -0
- package/dist/cjs/utils/evictOldest.native.js.map +1 -0
- package/dist/cjs/utils/isResponse.cjs +1 -1
- package/dist/cjs/utils/isResponse.js +1 -1
- package/dist/cjs/utils/isResponse.js.map +1 -1
- package/dist/cjs/utils/isResponse.native.js +1 -1
- package/dist/cjs/utils/isResponse.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.cjs +9 -6
- package/dist/cjs/vite/one-server-only.js +8 -7
- package/dist/cjs/vite/one-server-only.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.cjs +17 -4
- package/dist/cjs/vite/resolveResponse.js +15 -2
- package/dist/cjs/vite/resolveResponse.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js +17 -4
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/esm/Root.js +7 -1
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs +7 -1
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +7 -1
- package/dist/esm/Root.native.js.map +1 -1
- package/dist/esm/cli/build.js +24 -9
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +26 -12
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +29 -14
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/createApp.js +2 -2
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +2 -2
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.js +6 -2
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +5 -2
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +5 -2
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/fork/SSRNavigationContainer.js +17 -6
- package/dist/esm/fork/SSRNavigationContainer.js.map +1 -1
- package/dist/esm/fork/SSRNavigationContainer.mjs +18 -9
- package/dist/esm/fork/SSRNavigationContainer.mjs.map +1 -1
- package/dist/esm/fork/SSRNavigationContainer.native.js +21 -10
- package/dist/esm/fork/SSRNavigationContainer.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +2 -1
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs +2 -1
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js +2 -1
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/serve.js +68 -28
- package/dist/esm/serve.js.map +1 -1
- package/dist/esm/serve.mjs +67 -28
- package/dist/esm/serve.mjs.map +1 -1
- package/dist/esm/serve.native.js +96 -35
- package/dist/esm/serve.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +95 -42
- package/dist/esm/server/oneServe.js.map +2 -2
- package/dist/esm/server/oneServe.mjs +113 -40
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +181 -81
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/utils/evictOldest.js +13 -0
- package/dist/esm/utils/evictOldest.js.map +6 -0
- package/dist/esm/utils/evictOldest.mjs +11 -0
- package/dist/esm/utils/evictOldest.mjs.map +1 -0
- package/dist/esm/utils/evictOldest.native.js +8 -0
- package/dist/esm/utils/evictOldest.native.js.map +1 -0
- package/dist/esm/utils/isResponse.js +1 -1
- package/dist/esm/utils/isResponse.js.map +1 -1
- package/dist/esm/utils/isResponse.mjs +1 -1
- package/dist/esm/utils/isResponse.mjs.map +1 -1
- package/dist/esm/utils/isResponse.native.js +1 -1
- package/dist/esm/utils/isResponse.native.js.map +1 -1
- package/dist/esm/vite/one-server-only.js +8 -7
- package/dist/esm/vite/one-server-only.js.map +1 -1
- package/dist/esm/vite/one-server-only.mjs +9 -6
- package/dist/esm/vite/one-server-only.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.js +15 -2
- package/dist/esm/vite/resolveResponse.js.map +1 -1
- package/dist/esm/vite/resolveResponse.mjs +16 -4
- package/dist/esm/vite/resolveResponse.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.native.js +16 -4
- package/dist/esm/vite/resolveResponse.native.js.map +1 -1
- package/package.json +13 -11
- package/src/Root.tsx +14 -1
- package/src/cli/build.ts +38 -12
- package/src/createApp.tsx +8 -2
- package/src/createHandleRequest.ts +9 -2
- package/src/fork/SSRNavigationContainer.tsx +30 -7
- package/src/router/linkingConfig.ts +2 -2
- package/src/serve.ts +134 -48
- package/src/server/oneServe.ts +153 -47
- package/src/utils/evictOldest.ts +13 -0
- package/src/utils/isResponse.ts +4 -4
- package/src/vite/one-server-only.tsx +25 -11
- package/src/vite/resolveResponse.ts +20 -1
- package/src/vite/types.ts +20 -2
- package/types/Root.d.ts.map +1 -1
- package/types/cli/build.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +4 -0
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/fork/SSRNavigationContainer.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/serve.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/utils/evictOldest.d.ts +6 -0
- package/types/utils/evictOldest.d.ts.map +1 -0
- package/types/vite/one-server-only.d.ts +9 -3
- package/types/vite/one-server-only.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts +4 -0
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/types/vite/types.d.ts +18 -2
- package/types/vite/types.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
-
import {
|
|
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 =
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
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:
|
|
230
|
-
params:
|
|
240
|
+
pathname: matchPathname,
|
|
241
|
+
params: matchParams,
|
|
231
242
|
loaderData: result.loaderData
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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
|
|
264
|
-
if (
|
|
265
|
-
const stream = await
|
|
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
|
|
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
|
|
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
|
-
}))
|
|
307
|
-
|
|
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 (
|
|
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
|
-
|
|
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 {
|
|
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 =
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
247
|
-
params:
|
|
271
|
+
pathname: matchPathname,
|
|
272
|
+
params: matchParams,
|
|
248
273
|
loaderData: result.loaderData
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
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
|
|
282
|
-
|
|
283
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
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 (
|
|
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
|
-
|
|
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)) {
|