@uniweb/runtime 0.28.4 → 0.28.6
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/ssr.js +10 -3
- package/dist/ssr.js.map +1 -1
- package/package.json +3 -3
- package/src/components/PageRenderer.jsx +22 -41
- package/src/default-fetcher.js +3 -1
- package/src/isolate-api.js +6 -0
- package/src/page-renderer.js +20 -3
- package/src/ssr.js +12 -4
package/dist/ssr.js
CHANGED
|
@@ -10,6 +10,7 @@ import { buildTheme, FONT_LINKS_MARKER, buildSectionOverrides } from "@uniweb/th
|
|
|
10
10
|
import "@uniweb/core/services";
|
|
11
11
|
import "@uniweb/core/tracker";
|
|
12
12
|
import DataStore, { deriveCacheKey as deriveCacheKey$1 } from "@uniweb/core/datastore";
|
|
13
|
+
import { RESOLUTION_STATUS, localeOfPath, localeUrl, resolveRoute, routeIndex } from "@uniweb/core/resolve-route";
|
|
13
14
|
import { resolveFetchConfigs } from "@uniweb/core/fetch-config";
|
|
14
15
|
import { resolveRecordsService } from "@uniweb/core/records-service";
|
|
15
16
|
function guaranteeItemStructure(item) {
|
|
@@ -1235,18 +1236,19 @@ function createPageRenderer({ website, shell }) {
|
|
|
1235
1236
|
const resolved = typeof target === "string" ? resolvePage(website, target) : target;
|
|
1236
1237
|
if (!resolved) return { outcome: "notFound", html: null, page: null, error: null };
|
|
1237
1238
|
const page = typeof resolved.getRenderableSelf === "function" ? resolved.getRenderableSelf() : resolved;
|
|
1239
|
+
const missing = page?.notFound === true;
|
|
1238
1240
|
let result;
|
|
1239
1241
|
try {
|
|
1240
1242
|
result = renderPage(page, website);
|
|
1241
1243
|
} catch (err) {
|
|
1242
|
-
return { outcome: "failed", html: null, page, error: classifyRenderError(err) };
|
|
1244
|
+
return { outcome: missing ? "notFound" : "failed", html: null, page, error: classifyRenderError(err) };
|
|
1243
1245
|
}
|
|
1244
|
-
if (result.error) return { outcome: "failed", html: null, page, error: result.error };
|
|
1246
|
+
if (result.error) return { outcome: missing ? "notFound" : "failed", html: null, page, error: result.error };
|
|
1245
1247
|
const html = injectPageContent(shell, result.renderedContent, page, {
|
|
1246
1248
|
...inject,
|
|
1247
1249
|
sectionOverrideCSS: result.sectionOverrideCSS
|
|
1248
1250
|
});
|
|
1249
|
-
return { outcome: "rendered", html, page, error: null };
|
|
1251
|
+
return { outcome: missing ? "notFound" : "rendered", html, page, error: null };
|
|
1250
1252
|
}
|
|
1251
1253
|
return { website, render };
|
|
1252
1254
|
}
|
|
@@ -1295,6 +1297,7 @@ function empty() {
|
|
|
1295
1297
|
return { records: {}, errors: null, meta: {} };
|
|
1296
1298
|
}
|
|
1297
1299
|
export {
|
|
1300
|
+
RESOLUTION_STATUS,
|
|
1298
1301
|
applyDefaults,
|
|
1299
1302
|
applySchemas,
|
|
1300
1303
|
classifyRenderError,
|
|
@@ -1312,6 +1315,8 @@ export {
|
|
|
1312
1315
|
initPrerenderForLocale,
|
|
1313
1316
|
injectPageContent,
|
|
1314
1317
|
loadPageData,
|
|
1318
|
+
localeOfPath,
|
|
1319
|
+
localeUrl,
|
|
1315
1320
|
prefetchAndHydrate,
|
|
1316
1321
|
prefetchIcons,
|
|
1317
1322
|
prepareProps,
|
|
@@ -1322,6 +1327,8 @@ export {
|
|
|
1322
1327
|
renderLayout,
|
|
1323
1328
|
renderPage,
|
|
1324
1329
|
resolvePage,
|
|
1330
|
+
resolveRoute,
|
|
1331
|
+
routeIndex,
|
|
1325
1332
|
sliceContentForLocale
|
|
1326
1333
|
};
|
|
1327
1334
|
//# sourceMappingURL=ssr.js.map
|