vike 0.4.232-commit-ec54a7e → 0.4.232
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/node/prerender/runPrerender.js +2 -7
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +4 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +12 -17
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/runtime/renderPage.js +48 -55
- package/dist/cjs/shared/createPageContextShared.js +3 -1
- package/dist/cjs/shared/route/index.js +0 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/styleFileRE.js +0 -1
- package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +9 -21
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +4 -11
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +2 -12
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -2
- package/dist/esm/node/prerender/runPrerender.d.ts +4 -250
- package/dist/esm/node/prerender/runPrerender.js +2 -7
- package/dist/esm/node/runtime/renderPage/execHookServer.js +4 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +5 -14
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +12 -17
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -2
- package/dist/esm/node/runtime/renderPage.js +49 -56
- package/dist/esm/shared/createPageContextShared.js +3 -1
- package/dist/esm/shared/hooks/execHook.d.ts +2 -3
- package/dist/esm/shared/route/index.js +0 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/styleFileRE.js +0 -1
- package/package.json +1 -1
|
@@ -67,7 +67,6 @@ const getOutDirs_js_1 = require("../vite/shared/getOutDirs.js");
|
|
|
67
67
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
68
68
|
const getProxyForPublicUsage_js_1 = require("../../shared/getProxyForPublicUsage.js");
|
|
69
69
|
const resolveRedirects_js_1 = require("../runtime/renderPage/resolveRedirects.js");
|
|
70
|
-
const utils_js_2 = require("../runtime/utils.js");
|
|
71
70
|
const docLink = 'https://vike.dev/i18n#pre-rendering';
|
|
72
71
|
async function runPrerender(options = {}, trigger) {
|
|
73
72
|
(0, context_js_1.setWasPrerenderRun)(trigger);
|
|
@@ -361,7 +360,7 @@ async function createPageContextPrerendering(urlOriginal, prerenderContext, glob
|
|
|
361
360
|
routeParams: {},
|
|
362
361
|
});
|
|
363
362
|
}
|
|
364
|
-
(0,
|
|
363
|
+
(0, utils_js_1.objectAssign)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSide)(pageContext));
|
|
365
364
|
let usesClientRouter;
|
|
366
365
|
{
|
|
367
366
|
const { pageId } = pageContext;
|
|
@@ -764,13 +763,9 @@ function getRedirectHtml(urlTarget) {
|
|
|
764
763
|
<meta charset="UTF-8">
|
|
765
764
|
<meta http-equiv="refresh" content="0;url=${urlTargetSafe}">
|
|
766
765
|
<title>Redirect ${urlTargetSafe}</title>
|
|
767
|
-
<style>body{opacity:0}</style>
|
|
768
|
-
<noscript>
|
|
769
|
-
<style>body{opacity:1}</style>
|
|
770
|
-
</noscript>
|
|
771
766
|
</head>
|
|
772
767
|
<body style="min-height: 100vh; margin: 0; font-family: sans-serif; display: flex; justify-content: center; align-items: center; transition: opacity 0.3s;">
|
|
773
|
-
<script>setTimeout(()=>{document.body.style.opacity=1},
|
|
768
|
+
<script>document.body.style.opacity=0; setTimeout(()=>{document.body.style.opacity=1},1000);</script>
|
|
774
769
|
<div>
|
|
775
770
|
<h1>Redirect <a href="${urlTargetSafe}"><code style="background-color: #eaeaea; padding: 3px 5px; border-radius: 4px;">${urlTargetSafe}</code></a></h1>
|
|
776
771
|
<p>If you aren't redirected, click the link above.</p>
|
|
@@ -4,5 +4,8 @@ exports.execHookServer = execHookServer;
|
|
|
4
4
|
const execHook_js_1 = require("../../../shared/hooks/execHook.js");
|
|
5
5
|
const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContextForPublicUsageServer.js");
|
|
6
6
|
async function execHookServer(hookName, pageContext) {
|
|
7
|
-
return await (0, execHook_js_1.execHook)(hookName, pageContext,
|
|
7
|
+
return await (0, execHook_js_1.execHook)(hookName, pageContext, (p) => {
|
|
8
|
+
(0, preparePageContextForPublicUsageServer_js_1.preparePageContextForPublicUsageServer)(p);
|
|
9
|
+
return p;
|
|
10
|
+
});
|
|
8
11
|
}
|
|
@@ -10,14 +10,7 @@ const debugPageFiles_js_1 = require("./debugPageFiles.js");
|
|
|
10
10
|
const findPageConfig_js_1 = require("../../../shared/page-configs/findPageConfig.js");
|
|
11
11
|
const analyzePage_js_1 = require("./analyzePage.js");
|
|
12
12
|
const loadConfigValues_js_1 = require("../../../shared/page-configs/loadConfigValues.js");
|
|
13
|
-
const execHookServer_js_1 = require("./execHookServer.js");
|
|
14
13
|
async function loadPageConfigsLazyServerSide(pageContext) {
|
|
15
|
-
const pageContextAddendum = await loadPageConfigsLazy(pageContext);
|
|
16
|
-
(0, utils_js_1.objectAssign)(pageContext, pageContextAddendum);
|
|
17
|
-
await (0, execHookServer_js_1.execHookServer)('onCreatePageContext', pageContext);
|
|
18
|
-
return pageContext;
|
|
19
|
-
}
|
|
20
|
-
async function loadPageConfigsLazy(pageContext) {
|
|
21
14
|
const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
|
|
22
15
|
const globalContext = pageContext._globalContext;
|
|
23
16
|
const [{ pageFilesLoaded, pageContextExports }] = await Promise.all([
|
|
@@ -93,16 +86,18 @@ async function loadPageConfigsLazy(pageContext) {
|
|
|
93
86
|
return pageAssetsOldFormat;
|
|
94
87
|
},
|
|
95
88
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
{
|
|
90
|
+
(0, debugPageFiles_js_1.debugPageFiles)({
|
|
91
|
+
pageContext,
|
|
92
|
+
isHtmlOnly,
|
|
93
|
+
isClientRouting,
|
|
94
|
+
pageFilesLoaded,
|
|
95
|
+
pageFilesClientSide,
|
|
96
|
+
pageFilesServerSide,
|
|
97
|
+
clientEntries,
|
|
98
|
+
clientDependencies,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
106
101
|
return pageContextAddendum;
|
|
107
102
|
}
|
|
108
103
|
async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
@@ -28,7 +28,7 @@ async function renderPageAlreadyRouted(pageContext) {
|
|
|
28
28
|
(0, utils_js_1.assert)(isError ===
|
|
29
29
|
(pageContext.pageId ===
|
|
30
30
|
(0, error_page_js_1.getErrorPageId)(pageContext._globalContext._pageFilesAll, pageContext._globalContext._pageConfigs)));
|
|
31
|
-
(0, utils_js_1.
|
|
31
|
+
(0, utils_js_1.objectAssign)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSide)(pageContext));
|
|
32
32
|
if (!isError) {
|
|
33
33
|
await (0, executeGuardHook_js_1.executeGuardHook)(pageContext, (pageContext) => (0, preparePageContextForPublicUsageServer_js_1.preparePageContextForPublicUsageServer)(pageContext));
|
|
34
34
|
}
|
|
@@ -143,66 +143,59 @@ async function renderPageAlreadyPrepared(pageContextBegin, globalContext, httpRe
|
|
|
143
143
|
else {
|
|
144
144
|
(0, utils_js_1.assert)(errNominalPage);
|
|
145
145
|
(0, utils_js_1.assert)(pageContextNominalPageSuccess === undefined);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
// - throw render(url)
|
|
163
|
-
// - throw render(abortStatusCode) if .pageContext.json request
|
|
164
|
-
return handled.pageContextReturn;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
// - throw render(abortStatusCode) if not .pageContext.json request
|
|
146
|
+
(0, utils_js_1.assert)(pageContextNominalPageBegin);
|
|
147
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextNominalPageBegin, 'urlOriginal', 'string'));
|
|
148
|
+
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPageBegin);
|
|
149
|
+
// Handle `throw redirect()` and `throw render()` while rendering nominal page
|
|
150
|
+
if ((0, abort_js_1.isAbortError)(errNominalPage)) {
|
|
151
|
+
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
152
|
+
if (handled.pageContextReturn) {
|
|
153
|
+
// - throw redirect()
|
|
154
|
+
// - throw render(url)
|
|
155
|
+
// - throw render(abortStatusCode) if .pageContext.json request
|
|
156
|
+
return handled.pageContextReturn;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// - throw render(abortStatusCode) if not .pageContext.json request
|
|
160
|
+
}
|
|
161
|
+
Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
|
|
168
162
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
163
|
+
{
|
|
164
|
+
const errorPageId = (0, error_page_js_1.getErrorPageId)(globalContext._pageFilesAll, globalContext._pageConfigs);
|
|
165
|
+
if (!errorPageId) {
|
|
166
|
+
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: null });
|
|
167
|
+
return (0, handleErrorWithoutErrorPage_js_1.handleErrorWithoutErrorPage)(pageContextErrorPageInit);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: errorPageId });
|
|
171
|
+
}
|
|
176
172
|
}
|
|
177
|
-
|
|
178
|
-
|
|
173
|
+
let pageContextErrorPage;
|
|
174
|
+
try {
|
|
175
|
+
pageContextErrorPage = await (0, renderPageAlreadyRouted_js_1.renderPageAlreadyRouted)(pageContextErrorPageInit);
|
|
179
176
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const pageContextHttpWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
194
|
-
return pageContextHttpWithError;
|
|
177
|
+
catch (errErrorPage) {
|
|
178
|
+
// Handle `throw redirect()` and `throw render()` while rendering error page
|
|
179
|
+
if ((0, abort_js_1.isAbortError)(errErrorPage)) {
|
|
180
|
+
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
181
|
+
// throw render(abortStatusCode)
|
|
182
|
+
if (!handled.pageContextReturn) {
|
|
183
|
+
const pageContextAbort = errErrorPage._pageContextAbort;
|
|
184
|
+
(0, utils_js_1.assertWarning)(false, `Failed to render error page because ${picocolors_1.default.cyan(pageContextAbort._abortCall)} was called: make sure ${picocolors_1.default.cyan(pageContextAbort._abortCaller)} doesn't occur while the error page is being rendered.`, { onlyOnce: false });
|
|
185
|
+
const pageContextHttpWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
186
|
+
return pageContextHttpWithError;
|
|
187
|
+
}
|
|
188
|
+
// `throw redirect()` / `throw render(url)`
|
|
189
|
+
return handled.pageContextReturn;
|
|
195
190
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
191
|
+
if ((0, isNewError_js_1.isNewError)(errErrorPage, errNominalPage)) {
|
|
192
|
+
(0, loggerRuntime_js_1.logRuntimeError)(errErrorPage, httpRequestId);
|
|
193
|
+
}
|
|
194
|
+
const pageContextWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
195
|
+
return pageContextWithError;
|
|
201
196
|
}
|
|
202
|
-
|
|
203
|
-
return pageContextWithError;
|
|
197
|
+
return pageContextErrorPage;
|
|
204
198
|
}
|
|
205
|
-
return pageContextErrorPage;
|
|
206
199
|
}
|
|
207
200
|
function logHttpRequest(urlOriginal, httpRequestId) {
|
|
208
201
|
(0, loggerRuntime_js_1.logRuntimeInfo)?.(getRequestInfoMessage(urlOriginal), httpRequestId, 'info');
|
|
@@ -424,7 +417,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
|
|
|
424
417
|
(0, utils_js_1.objectAssign)(pageContext, { pageId: errorPageId });
|
|
425
418
|
(0, utils_js_1.objectAssign)(pageContext, pageContextAbort);
|
|
426
419
|
(0, utils_js_1.objectAssign)(pageContext, pageContextErrorPageInit, true);
|
|
427
|
-
(0, utils_js_1.
|
|
420
|
+
(0, utils_js_1.objectAssign)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSide)(pageContext));
|
|
428
421
|
// We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
|
|
429
422
|
pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerialized)(pageContext);
|
|
430
423
|
}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPageContextShared = createPageContextShared;
|
|
4
4
|
exports.createPageContextObject = createPageContextObject;
|
|
5
|
+
const execHook_js_1 = require("./hooks/execHook.js");
|
|
6
|
+
const preparePageContextForPublicUsage_js_1 = require("./preparePageContextForPublicUsage.js");
|
|
5
7
|
const utils_js_1 = require("./utils.js");
|
|
6
|
-
// TODO/now: make this and parents sync
|
|
7
8
|
async function createPageContextShared(pageContextCreated, pageConfigGlobal, vikeConfigPublicGlobal) {
|
|
8
9
|
(0, utils_js_1.objectAssign)(pageContextCreated, vikeConfigPublicGlobal);
|
|
10
|
+
await (0, execHook_js_1.execHookGlobal)('onCreatePageContext', pageConfigGlobal, pageContextCreated, pageContextCreated, preparePageContextForPublicUsage_js_1.preparePageContextForPublicUsage);
|
|
9
11
|
return pageContextCreated;
|
|
10
12
|
}
|
|
11
13
|
function createPageContextObject() {
|
|
@@ -17,7 +17,6 @@ const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
|
|
|
17
17
|
const executeOnBeforeRouteHook_js_1 = require("./executeOnBeforeRouteHook.js");
|
|
18
18
|
const debug_js_1 = require("./debug.js");
|
|
19
19
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
20
|
-
// TODO/next-major-release: make it sync
|
|
21
20
|
async function route(pageContext, skipOnBeforeRouteHook) {
|
|
22
21
|
(0, debug_js_1.debug)('Pages routes:', pageContext._globalContext._pageRoutes);
|
|
23
22
|
const pageContextFromRoute = {};
|
|
@@ -2,5 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.styleFileRE = void 0;
|
|
4
4
|
// Copied from https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/css.ts#L90-L91
|
|
5
|
-
// spellcheck-ignore
|
|
6
5
|
exports.styleFileRE = /\.(css|less|sass|scss|styl|stylus|pcss|postcss)($|\?)/;
|
|
@@ -6,7 +6,7 @@ export { addLinkPrefetchHandlers };
|
|
|
6
6
|
export { addLinkPrefetchHandlers_watch };
|
|
7
7
|
export { addLinkPrefetchHandlers_unwatch };
|
|
8
8
|
import { assert, assertClientRouting, assertUsage, assertWarning, checkIfClientRouting, getGlobalObject, hasProp, objectAssign, } from './utils.js';
|
|
9
|
-
import { isErrorFetchingStaticAssets,
|
|
9
|
+
import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide } from '../shared/loadPageConfigsLazyClientSide.js';
|
|
10
10
|
import { skipLink } from './skipLink.js';
|
|
11
11
|
import { disableClientRouting } from './renderPageClientSide.js';
|
|
12
12
|
import { isClientSideRoutable } from './isClientSideRoutable.js';
|
|
@@ -45,7 +45,7 @@ function getPageContextPrefetched(pageContext) {
|
|
|
45
45
|
}
|
|
46
46
|
async function prefetchAssets(pageContextLink) {
|
|
47
47
|
try {
|
|
48
|
-
await
|
|
48
|
+
await loadPageConfigsLazyClientSide(pageContextLink.pageId, pageContextLink._pageFilesAll, pageContextLink._globalContext._pageConfigs, pageContextLink._globalContext._pageConfigGlobal);
|
|
49
49
|
}
|
|
50
50
|
catch (err) {
|
|
51
51
|
if (isErrorFetchingStaticAssets(err)) {
|
|
@@ -9,7 +9,7 @@ import { createPageContextClientSide } from './createPageContextClientSide.js';
|
|
|
9
9
|
import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
|
|
10
10
|
import { assertInfo, assertWarning, isReact } from './utils.js';
|
|
11
11
|
import { executeOnRenderClientHook } from '../shared/executeOnRenderClientHook.js';
|
|
12
|
-
import { isErrorFetchingStaticAssets,
|
|
12
|
+
import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide } from '../shared/loadPageConfigsLazyClientSide.js';
|
|
13
13
|
import { pushHistoryState } from './history.js';
|
|
14
14
|
import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled, } from '../../shared/route/abort.js';
|
|
15
15
|
import { route } from '../../shared/route/index.js';
|
|
@@ -20,7 +20,7 @@ import { getErrorPageId } from '../../shared/error-page.js';
|
|
|
20
20
|
import { setPageContextCurrent } from './getPageContextCurrent.js';
|
|
21
21
|
import { getRouteStringParameterList } from '../../shared/route/resolveRouteString.js';
|
|
22
22
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
23
|
-
import { execHooksErrorHandling, execHookErrorHandling,
|
|
23
|
+
import { execHooksErrorHandling, execHookErrorHandling, } from '../../shared/hooks/execHook.js';
|
|
24
24
|
import { preparePageContextForPublicUsageClient, } from './preparePageContextForPublicUsageClient.js';
|
|
25
25
|
import { getHookFromPageContextNew } from '../../shared/hooks/getHook.js';
|
|
26
26
|
import { preparePageContextForPublicUsageClientMinimal } from '../shared/preparePageContextForPublicUsageClientShared.js';
|
|
@@ -60,7 +60,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
60
60
|
return;
|
|
61
61
|
async function renderPageNominal() {
|
|
62
62
|
const onError = async (err) => {
|
|
63
|
-
await
|
|
63
|
+
await renderErrorPage({ err });
|
|
64
64
|
};
|
|
65
65
|
const pageContext = await getPageContextBegin(false, pageContextBeginArgs);
|
|
66
66
|
if (isRenderOutdated())
|
|
@@ -134,9 +134,8 @@ async function renderPageClientSide(renderArgs) {
|
|
|
134
134
|
assert(!('urlOriginal' in pageContextFromRoute));
|
|
135
135
|
objectAssign(pageContext, pageContextFromRoute);
|
|
136
136
|
}
|
|
137
|
-
let pageContextAugmented;
|
|
138
137
|
try {
|
|
139
|
-
|
|
138
|
+
objectAssign(pageContext, await loadPageConfigsLazyClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._globalContext._pageConfigs, pageContext._globalContext._pageConfigGlobal));
|
|
140
139
|
}
|
|
141
140
|
catch (err) {
|
|
142
141
|
if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
|
|
@@ -148,7 +147,6 @@ async function renderPageClientSide(renderArgs) {
|
|
|
148
147
|
return;
|
|
149
148
|
}
|
|
150
149
|
}
|
|
151
|
-
augmentType(pageContext, pageContextAugmented);
|
|
152
150
|
if (isRenderOutdated())
|
|
153
151
|
return;
|
|
154
152
|
setPageContextCurrent(pageContext);
|
|
@@ -220,11 +218,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
220
218
|
await renderPageView(pageContext);
|
|
221
219
|
}
|
|
222
220
|
}
|
|
223
|
-
|
|
224
|
-
// - Can be a URL rewrite upon `throw render('/some-url')`
|
|
225
|
-
// - Can be rendering the error page
|
|
226
|
-
// - Can be rendering Vike's generic error page (if no error page is defined, or if the error page throws an error)
|
|
227
|
-
async function renderPageOnError(args) {
|
|
221
|
+
async function renderErrorPage(args) {
|
|
228
222
|
const onError = (err) => {
|
|
229
223
|
if (!isSameErrorMessage(err, args.err)) {
|
|
230
224
|
/* When we can't render the error page, we prefer showing a blank page over letting the server-side try because otherwise:
|
|
@@ -253,6 +247,8 @@ async function renderPageClientSide(renderArgs) {
|
|
|
253
247
|
if (isRenderOutdated())
|
|
254
248
|
return;
|
|
255
249
|
objectAssign(pageContext, { routeParams: {} });
|
|
250
|
+
if (args.is404)
|
|
251
|
+
objectAssign(pageContext, { is404: true });
|
|
256
252
|
if (args.pageContextError)
|
|
257
253
|
objectAssign(pageContext, args.pageContextError);
|
|
258
254
|
if ('err' in args) {
|
|
@@ -317,9 +313,8 @@ async function renderPageClientSide(renderArgs) {
|
|
|
317
313
|
redirectHard(urlOriginal);
|
|
318
314
|
return;
|
|
319
315
|
}
|
|
320
|
-
let pageContextAugmented;
|
|
321
316
|
try {
|
|
322
|
-
|
|
317
|
+
objectAssign(pageContext, await loadPageConfigsLazyClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._globalContext._pageConfigs, pageContext._globalContext._pageConfigGlobal));
|
|
323
318
|
}
|
|
324
319
|
catch (err) {
|
|
325
320
|
if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
|
|
@@ -331,7 +326,6 @@ async function renderPageClientSide(renderArgs) {
|
|
|
331
326
|
return;
|
|
332
327
|
}
|
|
333
328
|
}
|
|
334
|
-
augmentType(pageContext, pageContextAugmented);
|
|
335
329
|
if (isRenderOutdated())
|
|
336
330
|
return;
|
|
337
331
|
setPageContextCurrent(pageContext);
|
|
@@ -367,7 +361,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
367
361
|
async function renderPageView(pageContext, isErrorPage) {
|
|
368
362
|
const onError = async (err) => {
|
|
369
363
|
if (!isErrorPage) {
|
|
370
|
-
await
|
|
364
|
+
await renderErrorPage({ err });
|
|
371
365
|
}
|
|
372
366
|
else {
|
|
373
367
|
if (!isSameErrorMessage(err, isErrorPage.err)) {
|
|
@@ -602,9 +596,3 @@ function areKeysEqual(key1, key2) {
|
|
|
602
596
|
function getPageContextClient() {
|
|
603
597
|
return globalObject.renderedPageContext ?? null;
|
|
604
598
|
}
|
|
605
|
-
async function loadPageConfigsLazyClientSide(pageContext) {
|
|
606
|
-
const pageContextAddendum = await loadPageConfigsLazy(pageContext.pageId, pageContext._pageFilesAll, pageContext._globalContext._pageConfigs, pageContext._globalContext._pageConfigGlobal);
|
|
607
|
-
objectAssign(pageContext, pageContextAddendum);
|
|
608
|
-
await execHook('onCreatePageContext', pageContext, preparePageContextForPublicUsageClient);
|
|
609
|
-
return pageContext;
|
|
610
|
-
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
2
|
import { assertUsage, augmentType, objectAssign } from './utils.js';
|
|
3
3
|
import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
|
|
4
|
-
import {
|
|
4
|
+
import { loadPageConfigsLazyClientSide } from '../shared/loadPageConfigsLazyClientSide.js';
|
|
5
5
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
6
6
|
import { createPageContextObject, createPageContextShared } from '../../shared/createPageContextShared.js';
|
|
7
7
|
import { getGlobalContextClientInternal } from './globalContext.js';
|
|
8
|
-
import { preparePageContextForPublicUsageClient, } from './preparePageContextForPublicUsageClient.js';
|
|
9
|
-
import { execHook } from '../../shared/hooks/execHook.js';
|
|
10
8
|
const urlFirst = getCurrentUrl({ withoutHash: true });
|
|
11
9
|
async function createPageContextClientSide() {
|
|
12
10
|
const globalContext = await getGlobalContextClientInternal();
|
|
@@ -22,9 +20,10 @@ async function createPageContextClientSide() {
|
|
|
22
20
|
});
|
|
23
21
|
objectAssign(pageContextCreated, getPageContextSerializedInHtml());
|
|
24
22
|
// Sets pageContext.config to global configs
|
|
25
|
-
|
|
23
|
+
const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal, globalContext._vikeConfigPublicGlobal);
|
|
24
|
+
augmentType(pageContextCreated, pageContextAugmented);
|
|
26
25
|
// Sets pageContext.config to local configs (overrides the pageContext.config set above)
|
|
27
|
-
|
|
26
|
+
objectAssign(pageContextCreated, await loadPageConfigsLazyClientSide(pageContextCreated.pageId, globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal));
|
|
28
27
|
assertPristineUrl();
|
|
29
28
|
return pageContextCreated;
|
|
30
29
|
}
|
|
@@ -32,9 +31,3 @@ function assertPristineUrl() {
|
|
|
32
31
|
const urlCurrent = getCurrentUrl({ withoutHash: true });
|
|
33
32
|
assertUsage(urlFirst === urlCurrent, `The URL was manipulated before the hydration finished ('${urlFirst}' to '${urlCurrent}'). Ensure the hydration has finished before manipulating the URL. Consider using the onHydrationEnd() hook.`);
|
|
34
33
|
}
|
|
35
|
-
async function loadPageConfigsLazyClientSide(pageContext) {
|
|
36
|
-
const pageContextAddendum = await loadPageConfigsLazy(pageContext.pageId, pageContext._pageFilesAll, pageContext._globalContext._pageConfigs, pageContext._globalContext._pageConfigGlobal);
|
|
37
|
-
objectAssign(pageContext, pageContextAddendum);
|
|
38
|
-
await execHook('onCreatePageContext', pageContext, preparePageContextForPublicUsageClient);
|
|
39
|
-
return pageContext;
|
|
40
|
-
}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type { PageContext_loadPageConfigsLazyClientSide };
|
|
1
|
+
export { loadPageConfigsLazyClientSide };
|
|
3
2
|
export { isErrorFetchingStaticAssets };
|
|
4
3
|
import { type PageFile, type VikeConfigPublicPageLazy } from '../../shared/getPageFiles.js';
|
|
5
4
|
import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/PageConfig.js';
|
|
6
|
-
import { PageContextPrepareMinimum } from '../../shared/preparePageContextForPublicUsage.js';
|
|
7
|
-
type PageContext_loadPageConfigsLazyClientSide = {
|
|
8
|
-
pageId: string;
|
|
9
|
-
_pageFilesAll: PageFile[];
|
|
10
|
-
_globalContext: {
|
|
11
|
-
_pageConfigs: PageConfigRuntime[];
|
|
12
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
13
|
-
};
|
|
14
|
-
} & PageContextPrepareMinimum;
|
|
15
5
|
type PageContextUserFilesLoaded = VikeConfigPublicPageLazy & {
|
|
16
6
|
_pageFilesLoaded: PageFile[];
|
|
17
7
|
};
|
|
18
|
-
declare function
|
|
8
|
+
declare function loadPageConfigsLazyClientSide(pageId: string, pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime): Promise<PageContextUserFilesLoaded>;
|
|
19
9
|
declare function isErrorFetchingStaticAssets(err: unknown): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { loadPageConfigsLazyClientSide };
|
|
2
2
|
export { isErrorFetchingStaticAssets };
|
|
3
3
|
import { getPageFilesClientSide } from '../../shared/getPageFiles.js';
|
|
4
4
|
import { resolveVikeConfigPublicPageLazy } from '../../shared/page-configs/resolveVikeConfigPublic.js';
|
|
@@ -6,7 +6,7 @@ import { findPageConfig } from '../../shared/page-configs/findPageConfig.js';
|
|
|
6
6
|
import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
|
|
7
7
|
import { objectAssign } from '../runtime-server-routing/utils.js';
|
|
8
8
|
const stamp = '__whileFetchingAssets';
|
|
9
|
-
async function
|
|
9
|
+
async function loadPageConfigsLazyClientSide(pageId, pageFilesAll, pageConfigs, pageConfigGlobal) {
|
|
10
10
|
const pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
|
|
11
11
|
const pageConfig = findPageConfig(pageConfigs, pageId);
|
|
12
12
|
let pageConfigLoaded;
|
|
@@ -171,7 +171,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
171
171
|
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
172
172
|
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
173
173
|
} & {
|
|
174
|
-
urlParsed: import("../
|
|
174
|
+
urlParsed: import("../shared/utils.js").UrlPublic;
|
|
175
175
|
urlPathname: string;
|
|
176
176
|
url: string;
|
|
177
177
|
} & {
|
|
@@ -292,7 +292,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
292
292
|
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
293
293
|
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
294
294
|
} & {
|
|
295
|
-
urlParsed: import("../
|
|
295
|
+
urlParsed: import("../shared/utils.js").UrlPublic;
|
|
296
296
|
urlPathname: string;
|
|
297
297
|
url: string;
|
|
298
298
|
} & {
|
|
@@ -310,259 +310,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
310
310
|
pageId: string;
|
|
311
311
|
_debugRouteMatches: never[];
|
|
312
312
|
routeParams: {};
|
|
313
|
-
})) & (
|
|
314
|
-
_isOriginalObject: true;
|
|
315
|
-
isPageContext: true;
|
|
316
|
-
} & {
|
|
317
|
-
isClientSide: false;
|
|
318
|
-
isPrerendering: boolean;
|
|
319
|
-
} & Pick<import("../../types/PageContext.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
|
|
320
|
-
url?: string;
|
|
321
|
-
headers?: Record<string, string>;
|
|
322
|
-
} & {
|
|
323
|
-
_globalContext: {
|
|
324
|
-
isGlobalContext: true;
|
|
325
|
-
_isOriginalObject: true;
|
|
326
|
-
_virtualFileExports: unknown;
|
|
327
|
-
_pageFilesAll: PageFile[];
|
|
328
|
-
_pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
|
|
329
|
-
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
330
|
-
_allPageIds: string[];
|
|
331
|
-
_vikeConfigPublicGlobal: {
|
|
332
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
333
|
-
_source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
|
|
334
|
-
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
335
|
-
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
336
|
-
};
|
|
337
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
338
|
-
pages: {
|
|
339
|
-
[k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
|
|
340
|
-
};
|
|
341
|
-
} & ({
|
|
342
|
-
_isProduction: false;
|
|
343
|
-
_isPrerendering: false;
|
|
344
|
-
assetsManifest: null;
|
|
345
|
-
_viteDevServer: import("vite").ViteDevServer;
|
|
346
|
-
viteConfig: ResolvedConfig;
|
|
347
|
-
viteConfigRuntime: {
|
|
348
|
-
root: string;
|
|
349
|
-
build: {
|
|
350
|
-
outDir: string;
|
|
351
|
-
};
|
|
352
|
-
_baseViteOriginal: string;
|
|
353
|
-
vitePluginServerEntry: {
|
|
354
|
-
inject: boolean | undefined;
|
|
355
|
-
};
|
|
356
|
-
};
|
|
357
|
-
baseServer: string;
|
|
358
|
-
baseAssets: string;
|
|
359
|
-
isClientSide: false;
|
|
360
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
361
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
362
|
-
} | {
|
|
363
|
-
_isPrerendering: true;
|
|
364
|
-
viteConfig: ResolvedConfig;
|
|
365
|
-
_isProduction: true;
|
|
366
|
-
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
367
|
-
_viteDevServer: null;
|
|
368
|
-
viteConfigRuntime: {
|
|
369
|
-
root: string;
|
|
370
|
-
build: {
|
|
371
|
-
outDir: string;
|
|
372
|
-
};
|
|
373
|
-
_baseViteOriginal: string;
|
|
374
|
-
vitePluginServerEntry: {
|
|
375
|
-
inject: boolean | undefined;
|
|
376
|
-
};
|
|
377
|
-
};
|
|
378
|
-
_usesClientRouter: boolean;
|
|
379
|
-
baseServer: string;
|
|
380
|
-
baseAssets: string;
|
|
381
|
-
isClientSide: false;
|
|
382
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
383
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
384
|
-
} | {
|
|
385
|
-
_isPrerendering: false;
|
|
386
|
-
viteConfig: null;
|
|
387
|
-
_isProduction: true;
|
|
388
|
-
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
389
|
-
_viteDevServer: null;
|
|
390
|
-
viteConfigRuntime: {
|
|
391
|
-
root: string;
|
|
392
|
-
build: {
|
|
393
|
-
outDir: string;
|
|
394
|
-
};
|
|
395
|
-
_baseViteOriginal: string;
|
|
396
|
-
vitePluginServerEntry: {
|
|
397
|
-
inject: boolean | undefined;
|
|
398
|
-
};
|
|
399
|
-
};
|
|
400
|
-
_usesClientRouter: boolean;
|
|
401
|
-
baseServer: string;
|
|
402
|
-
baseAssets: string;
|
|
403
|
-
isClientSide: false;
|
|
404
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
405
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
406
|
-
});
|
|
407
|
-
_pageFilesAll: PageFile[];
|
|
408
|
-
_baseServer: string;
|
|
409
|
-
_baseAssets: string;
|
|
410
|
-
_pageContextInit: import("../runtime/renderPage.js").PageContextInit;
|
|
411
|
-
_urlRewrite: null;
|
|
412
|
-
_urlHandler: ((url: string) => string) | null;
|
|
413
|
-
isClientSideNavigation: boolean;
|
|
414
|
-
} & {
|
|
415
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
416
|
-
_source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
|
|
417
|
-
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
418
|
-
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
419
|
-
} & {
|
|
420
|
-
urlParsed: import("../runtime/utils.js").UrlPublic;
|
|
421
|
-
urlPathname: string;
|
|
422
|
-
url: string;
|
|
423
|
-
} & {
|
|
424
|
-
headers: Record<string, string> | null;
|
|
425
|
-
} & {
|
|
426
|
-
_urlHandler: null;
|
|
427
|
-
_httpRequestId: null;
|
|
428
|
-
_urlRewrite: null;
|
|
429
|
-
_noExtraDir: boolean | null;
|
|
430
|
-
_prerenderContext: PrerenderContext;
|
|
431
|
-
_providedByHook: ProvidedByHook;
|
|
432
|
-
_urlOriginalModifiedByHook: ProvidedByHookTransformer;
|
|
433
|
-
is404: boolean;
|
|
434
|
-
} & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({
|
|
435
|
-
_isOriginalObject: true;
|
|
436
|
-
isPageContext: true;
|
|
437
|
-
} & {
|
|
438
|
-
isClientSide: false;
|
|
439
|
-
isPrerendering: boolean;
|
|
440
|
-
} & Pick<import("../../types/PageContext.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
|
|
441
|
-
url?: string;
|
|
442
|
-
headers?: Record<string, string>;
|
|
443
|
-
} & {
|
|
444
|
-
_globalContext: {
|
|
445
|
-
isGlobalContext: true;
|
|
446
|
-
_isOriginalObject: true;
|
|
447
|
-
_virtualFileExports: unknown;
|
|
448
|
-
_pageFilesAll: PageFile[];
|
|
449
|
-
_pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
|
|
450
|
-
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
451
|
-
_allPageIds: string[];
|
|
452
|
-
_vikeConfigPublicGlobal: {
|
|
453
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
454
|
-
_source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
|
|
455
|
-
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
456
|
-
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
457
|
-
};
|
|
458
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
459
|
-
pages: {
|
|
460
|
-
[k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
|
|
461
|
-
};
|
|
462
|
-
} & ({
|
|
463
|
-
_isProduction: false;
|
|
464
|
-
_isPrerendering: false;
|
|
465
|
-
assetsManifest: null;
|
|
466
|
-
_viteDevServer: import("vite").ViteDevServer;
|
|
467
|
-
viteConfig: ResolvedConfig;
|
|
468
|
-
viteConfigRuntime: {
|
|
469
|
-
root: string;
|
|
470
|
-
build: {
|
|
471
|
-
outDir: string;
|
|
472
|
-
};
|
|
473
|
-
_baseViteOriginal: string;
|
|
474
|
-
vitePluginServerEntry: {
|
|
475
|
-
inject: boolean | undefined;
|
|
476
|
-
};
|
|
477
|
-
};
|
|
478
|
-
baseServer: string;
|
|
479
|
-
baseAssets: string;
|
|
480
|
-
isClientSide: false;
|
|
481
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
482
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
483
|
-
} | {
|
|
484
|
-
_isPrerendering: true;
|
|
485
|
-
viteConfig: ResolvedConfig;
|
|
486
|
-
_isProduction: true;
|
|
487
|
-
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
488
|
-
_viteDevServer: null;
|
|
489
|
-
viteConfigRuntime: {
|
|
490
|
-
root: string;
|
|
491
|
-
build: {
|
|
492
|
-
outDir: string;
|
|
493
|
-
};
|
|
494
|
-
_baseViteOriginal: string;
|
|
495
|
-
vitePluginServerEntry: {
|
|
496
|
-
inject: boolean | undefined;
|
|
497
|
-
};
|
|
498
|
-
};
|
|
499
|
-
_usesClientRouter: boolean;
|
|
500
|
-
baseServer: string;
|
|
501
|
-
baseAssets: string;
|
|
502
|
-
isClientSide: false;
|
|
503
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
504
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
505
|
-
} | {
|
|
506
|
-
_isPrerendering: false;
|
|
507
|
-
viteConfig: null;
|
|
508
|
-
_isProduction: true;
|
|
509
|
-
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
510
|
-
_viteDevServer: null;
|
|
511
|
-
viteConfigRuntime: {
|
|
512
|
-
root: string;
|
|
513
|
-
build: {
|
|
514
|
-
outDir: string;
|
|
515
|
-
};
|
|
516
|
-
_baseViteOriginal: string;
|
|
517
|
-
vitePluginServerEntry: {
|
|
518
|
-
inject: boolean | undefined;
|
|
519
|
-
};
|
|
520
|
-
};
|
|
521
|
-
_usesClientRouter: boolean;
|
|
522
|
-
baseServer: string;
|
|
523
|
-
baseAssets: string;
|
|
524
|
-
isClientSide: false;
|
|
525
|
-
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
526
|
-
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
527
|
-
});
|
|
528
|
-
_pageFilesAll: PageFile[];
|
|
529
|
-
_baseServer: string;
|
|
530
|
-
_baseAssets: string;
|
|
531
|
-
_pageContextInit: import("../runtime/renderPage.js").PageContextInit;
|
|
532
|
-
_urlRewrite: null;
|
|
533
|
-
_urlHandler: ((url: string) => string) | null;
|
|
534
|
-
isClientSideNavigation: boolean;
|
|
535
|
-
} & {
|
|
536
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
537
|
-
_source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
|
|
538
|
-
_sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
|
|
539
|
-
_from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
|
|
540
|
-
} & {
|
|
541
|
-
urlParsed: import("../runtime/utils.js").UrlPublic;
|
|
542
|
-
urlPathname: string;
|
|
543
|
-
url: string;
|
|
544
|
-
} & {
|
|
545
|
-
headers: Record<string, string> | null;
|
|
546
|
-
} & {
|
|
547
|
-
_urlHandler: null;
|
|
548
|
-
_httpRequestId: null;
|
|
549
|
-
_urlRewrite: null;
|
|
550
|
-
_noExtraDir: boolean | null;
|
|
551
|
-
_prerenderContext: PrerenderContext;
|
|
552
|
-
_providedByHook: ProvidedByHook;
|
|
553
|
-
_urlOriginalModifiedByHook: ProvidedByHookTransformer;
|
|
554
|
-
is404: boolean;
|
|
555
|
-
} & {
|
|
556
|
-
pageId: string;
|
|
557
|
-
_debugRouteMatches: never[];
|
|
558
|
-
routeParams: {};
|
|
559
|
-
})) & import("../../shared/getPageFiles.js").VikeConfigPublicPageLazy) & {
|
|
313
|
+
})) & import("../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
|
|
560
314
|
Page: unknown;
|
|
561
315
|
_isHtmlOnly: boolean;
|
|
562
316
|
_passToClient: string[];
|
|
563
317
|
_pageFilePathsLoaded: string[];
|
|
564
318
|
} & {
|
|
565
319
|
__getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>;
|
|
566
|
-
})
|
|
320
|
+
}) & {
|
|
567
321
|
_usesClientRouter: boolean;
|
|
568
322
|
}>;
|
|
@@ -29,7 +29,6 @@ import { getOutDirs } from '../vite/shared/getOutDirs.js';
|
|
|
29
29
|
import fs from 'node:fs';
|
|
30
30
|
import { getProxyForPublicUsage } from '../../shared/getProxyForPublicUsage.js';
|
|
31
31
|
import { getStaticRedirectsForPrerender } from '../runtime/renderPage/resolveRedirects.js';
|
|
32
|
-
import { augmentType } from '../runtime/utils.js';
|
|
33
32
|
const docLink = 'https://vike.dev/i18n#pre-rendering';
|
|
34
33
|
async function runPrerender(options = {}, trigger) {
|
|
35
34
|
setWasPrerenderRun(trigger);
|
|
@@ -323,7 +322,7 @@ async function createPageContextPrerendering(urlOriginal, prerenderContext, glob
|
|
|
323
322
|
routeParams: {},
|
|
324
323
|
});
|
|
325
324
|
}
|
|
326
|
-
|
|
325
|
+
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
327
326
|
let usesClientRouter;
|
|
328
327
|
{
|
|
329
328
|
const { pageId } = pageContext;
|
|
@@ -726,13 +725,9 @@ function getRedirectHtml(urlTarget) {
|
|
|
726
725
|
<meta charset="UTF-8">
|
|
727
726
|
<meta http-equiv="refresh" content="0;url=${urlTargetSafe}">
|
|
728
727
|
<title>Redirect ${urlTargetSafe}</title>
|
|
729
|
-
<style>body{opacity:0}</style>
|
|
730
|
-
<noscript>
|
|
731
|
-
<style>body{opacity:1}</style>
|
|
732
|
-
</noscript>
|
|
733
728
|
</head>
|
|
734
729
|
<body style="min-height: 100vh; margin: 0; font-family: sans-serif; display: flex; justify-content: center; align-items: center; transition: opacity 0.3s;">
|
|
735
|
-
<script>setTimeout(()=>{document.body.style.opacity=1},
|
|
730
|
+
<script>document.body.style.opacity=0; setTimeout(()=>{document.body.style.opacity=1},1000);</script>
|
|
736
731
|
<div>
|
|
737
732
|
<h1>Redirect <a href="${urlTargetSafe}"><code style="background-color: #eaeaea; padding: 3px 5px; border-radius: 4px;">${urlTargetSafe}</code></a></h1>
|
|
738
733
|
<p>If you aren't redirected, click the link above.</p>
|
|
@@ -2,5 +2,8 @@ export { execHookServer };
|
|
|
2
2
|
import { execHook } from '../../../shared/hooks/execHook.js';
|
|
3
3
|
import { preparePageContextForPublicUsageServer, } from './preparePageContextForPublicUsageServer.js';
|
|
4
4
|
async function execHookServer(hookName, pageContext) {
|
|
5
|
-
return await execHook(hookName, pageContext,
|
|
5
|
+
return await execHook(hookName, pageContext, (p) => {
|
|
6
|
+
preparePageContextForPublicUsageServer(p);
|
|
7
|
+
return p;
|
|
8
|
+
});
|
|
6
9
|
}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
export { loadPageConfigsLazyServerSide };
|
|
2
|
+
export type { PageFiles };
|
|
2
3
|
export type { PageContext_loadPageConfigsLazyServerSide };
|
|
3
|
-
export type { PageConfigsLazy };
|
|
4
4
|
import { PromiseType } from '../utils.js';
|
|
5
5
|
import { PageContextGetPageAssets, type PageAsset } from './getPageAssets.js';
|
|
6
6
|
import { type PageContextDebugRouteMatches } from './debugPageFiles.js';
|
|
7
7
|
import type { GlobalContextServerInternal } from '../globalContext.js';
|
|
8
|
-
import { type PageContextExecuteHookServer } from './execHookServer.js';
|
|
9
|
-
type PageContextExecute = Omit<PageContextExecuteHookServer, keyof Awaited<ReturnType<typeof loadPageConfigsLazy>>>;
|
|
10
8
|
type PageContext_loadPageConfigsLazyServerSide = PageContextGetPageAssets & PageContextDebugRouteMatches & {
|
|
11
|
-
pageId: string;
|
|
12
9
|
urlOriginal: string;
|
|
13
10
|
_globalContext: GlobalContextServerInternal;
|
|
14
11
|
};
|
|
15
|
-
type
|
|
16
|
-
declare function loadPageConfigsLazyServerSide
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
_passToClient: string[];
|
|
20
|
-
_pageFilePathsLoaded: string[];
|
|
21
|
-
} & {
|
|
22
|
-
__getPageAssets: () => Promise<PageAsset[]>;
|
|
23
|
-
}>;
|
|
24
|
-
declare function loadPageConfigsLazy(pageContext: PageContext_loadPageConfigsLazyServerSide): Promise<import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
|
|
12
|
+
type PageFiles = PromiseType<ReturnType<typeof loadPageConfigsLazyServerSide>>;
|
|
13
|
+
declare function loadPageConfigsLazyServerSide(pageContext: {
|
|
14
|
+
pageId: string;
|
|
15
|
+
} & PageContext_loadPageConfigsLazyServerSide): Promise<import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
|
|
25
16
|
Page: unknown;
|
|
26
17
|
_isHtmlOnly: boolean;
|
|
27
18
|
_passToClient: string[];
|
|
@@ -8,14 +8,7 @@ import { debugPageFiles } from './debugPageFiles.js';
|
|
|
8
8
|
import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
|
|
9
9
|
import { analyzePage } from './analyzePage.js';
|
|
10
10
|
import { loadConfigValues } from '../../../shared/page-configs/loadConfigValues.js';
|
|
11
|
-
import { execHookServer } from './execHookServer.js';
|
|
12
11
|
async function loadPageConfigsLazyServerSide(pageContext) {
|
|
13
|
-
const pageContextAddendum = await loadPageConfigsLazy(pageContext);
|
|
14
|
-
objectAssign(pageContext, pageContextAddendum);
|
|
15
|
-
await execHookServer('onCreatePageContext', pageContext);
|
|
16
|
-
return pageContext;
|
|
17
|
-
}
|
|
18
|
-
async function loadPageConfigsLazy(pageContext) {
|
|
19
12
|
const pageConfig = findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
|
|
20
13
|
const globalContext = pageContext._globalContext;
|
|
21
14
|
const [{ pageFilesLoaded, pageContextExports }] = await Promise.all([
|
|
@@ -91,16 +84,18 @@ async function loadPageConfigsLazy(pageContext) {
|
|
|
91
84
|
return pageAssetsOldFormat;
|
|
92
85
|
},
|
|
93
86
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
87
|
+
{
|
|
88
|
+
debugPageFiles({
|
|
89
|
+
pageContext,
|
|
90
|
+
isHtmlOnly,
|
|
91
|
+
isClientRouting,
|
|
92
|
+
pageFilesLoaded,
|
|
93
|
+
pageFilesClientSide,
|
|
94
|
+
pageFilesServerSide,
|
|
95
|
+
clientEntries,
|
|
96
|
+
clientDependencies,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
104
99
|
return pageContextAddendum;
|
|
105
100
|
}
|
|
106
101
|
async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
@@ -3,7 +3,7 @@ export { prerenderPage };
|
|
|
3
3
|
export type { PageContextAfterRender };
|
|
4
4
|
import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
5
5
|
import { HttpResponse } from './createHttpResponse.js';
|
|
6
|
-
import { PageContext_loadPageConfigsLazyServerSide, type
|
|
6
|
+
import { PageContext_loadPageConfigsLazyServerSide, type PageFiles } from './loadPageConfigsLazyServerSide.js';
|
|
7
7
|
import type { PageContextCreated } from './createPageContextServerSide.js';
|
|
8
8
|
type PageContextAfterRender = {
|
|
9
9
|
httpResponse: HttpResponse;
|
|
@@ -17,7 +17,7 @@ declare function renderPageAlreadyRouted<PageContext extends {
|
|
|
17
17
|
errorWhileRendering: null | Error;
|
|
18
18
|
_httpRequestId: number;
|
|
19
19
|
} & PageContextCreated & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
|
|
20
|
-
declare function prerenderPage(pageContext: PageContextCreated &
|
|
20
|
+
declare function prerenderPage(pageContext: PageContextCreated & PageFiles & {
|
|
21
21
|
routeParams: Record<string, string>;
|
|
22
22
|
pageId: string;
|
|
23
23
|
_urlRewrite: null;
|
|
@@ -2,7 +2,7 @@ export { renderPageAlreadyRouted };
|
|
|
2
2
|
export { prerenderPage };
|
|
3
3
|
import { getErrorPageId } from '../../../shared/error-page.js';
|
|
4
4
|
import { getHtmlString } from '../html/renderHtml.js';
|
|
5
|
-
import { assert, assertUsage,
|
|
5
|
+
import { assert, assertUsage, hasProp, objectAssign } from '../utils.js';
|
|
6
6
|
import { getPageContextClientSerialized } from '../html/serializeContext.js';
|
|
7
7
|
import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
|
|
8
8
|
import { loadPageConfigsLazyServerSide, } from './loadPageConfigsLazyServerSide.js';
|
|
@@ -23,7 +23,7 @@ async function renderPageAlreadyRouted(pageContext) {
|
|
|
23
23
|
assert(isError ===
|
|
24
24
|
(pageContext.pageId ===
|
|
25
25
|
getErrorPageId(pageContext._globalContext._pageFilesAll, pageContext._globalContext._pageConfigs)));
|
|
26
|
-
|
|
26
|
+
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
27
27
|
if (!isError) {
|
|
28
28
|
await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
|
|
29
29
|
}
|
|
@@ -3,7 +3,7 @@ export { renderPage_addAsyncHookwrapper };
|
|
|
3
3
|
import { renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
|
|
4
4
|
import { createPageContextServerSide, createPageContextServerSideWithoutGlobalContext, } from './renderPage/createPageContextServerSide.js';
|
|
5
5
|
import { route } from '../../shared/route/index.js';
|
|
6
|
-
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, isUri, getUrlPretty,
|
|
6
|
+
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, isUri, getUrlPretty, } from './utils.js';
|
|
7
7
|
import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled, } from '../../shared/route/abort.js';
|
|
8
8
|
import { getGlobalContextServerInternal, initGlobalContext_renderPage, } from './globalContext.js';
|
|
9
9
|
import { handlePageContextRequestUrl } from './renderPage/handlePageContextRequestUrl.js';
|
|
@@ -138,66 +138,59 @@ async function renderPageAlreadyPrepared(pageContextBegin, globalContext, httpRe
|
|
|
138
138
|
else {
|
|
139
139
|
assert(errNominalPage);
|
|
140
140
|
assert(pageContextNominalPageSuccess === undefined);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
// - throw render(url)
|
|
158
|
-
// - throw render(abortStatusCode) if .pageContext.json request
|
|
159
|
-
return handled.pageContextReturn;
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
// - throw render(abortStatusCode) if not .pageContext.json request
|
|
141
|
+
assert(pageContextNominalPageBegin);
|
|
142
|
+
assert(hasProp(pageContextNominalPageBegin, 'urlOriginal', 'string'));
|
|
143
|
+
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPageBegin);
|
|
144
|
+
// Handle `throw redirect()` and `throw render()` while rendering nominal page
|
|
145
|
+
if (isAbortError(errNominalPage)) {
|
|
146
|
+
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
147
|
+
if (handled.pageContextReturn) {
|
|
148
|
+
// - throw redirect()
|
|
149
|
+
// - throw render(url)
|
|
150
|
+
// - throw render(abortStatusCode) if .pageContext.json request
|
|
151
|
+
return handled.pageContextReturn;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// - throw render(abortStatusCode) if not .pageContext.json request
|
|
155
|
+
}
|
|
156
|
+
Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
|
|
163
157
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
158
|
+
{
|
|
159
|
+
const errorPageId = getErrorPageId(globalContext._pageFilesAll, globalContext._pageConfigs);
|
|
160
|
+
if (!errorPageId) {
|
|
161
|
+
objectAssign(pageContextErrorPageInit, { pageId: null });
|
|
162
|
+
return handleErrorWithoutErrorPage(pageContextErrorPageInit);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
objectAssign(pageContextErrorPageInit, { pageId: errorPageId });
|
|
166
|
+
}
|
|
171
167
|
}
|
|
172
|
-
|
|
173
|
-
|
|
168
|
+
let pageContextErrorPage;
|
|
169
|
+
try {
|
|
170
|
+
pageContextErrorPage = await renderPageAlreadyRouted(pageContextErrorPageInit);
|
|
174
171
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const pageContextHttpWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
189
|
-
return pageContextHttpWithError;
|
|
172
|
+
catch (errErrorPage) {
|
|
173
|
+
// Handle `throw redirect()` and `throw render()` while rendering error page
|
|
174
|
+
if (isAbortError(errErrorPage)) {
|
|
175
|
+
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
176
|
+
// throw render(abortStatusCode)
|
|
177
|
+
if (!handled.pageContextReturn) {
|
|
178
|
+
const pageContextAbort = errErrorPage._pageContextAbort;
|
|
179
|
+
assertWarning(false, `Failed to render error page because ${pc.cyan(pageContextAbort._abortCall)} was called: make sure ${pc.cyan(pageContextAbort._abortCaller)} doesn't occur while the error page is being rendered.`, { onlyOnce: false });
|
|
180
|
+
const pageContextHttpWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
181
|
+
return pageContextHttpWithError;
|
|
182
|
+
}
|
|
183
|
+
// `throw redirect()` / `throw render(url)`
|
|
184
|
+
return handled.pageContextReturn;
|
|
190
185
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
186
|
+
if (isNewError(errErrorPage, errNominalPage)) {
|
|
187
|
+
logRuntimeError(errErrorPage, httpRequestId);
|
|
188
|
+
}
|
|
189
|
+
const pageContextWithError = getPageContextHttpResponseError(errNominalPage, pageContextBegin);
|
|
190
|
+
return pageContextWithError;
|
|
196
191
|
}
|
|
197
|
-
|
|
198
|
-
return pageContextWithError;
|
|
192
|
+
return pageContextErrorPage;
|
|
199
193
|
}
|
|
200
|
-
return pageContextErrorPage;
|
|
201
194
|
}
|
|
202
195
|
function logHttpRequest(urlOriginal, httpRequestId) {
|
|
203
196
|
logRuntimeInfo?.(getRequestInfoMessage(urlOriginal), httpRequestId, 'info');
|
|
@@ -419,7 +412,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
|
|
|
419
412
|
objectAssign(pageContext, { pageId: errorPageId });
|
|
420
413
|
objectAssign(pageContext, pageContextAbort);
|
|
421
414
|
objectAssign(pageContext, pageContextErrorPageInit, true);
|
|
422
|
-
|
|
415
|
+
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
423
416
|
// We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
|
|
424
417
|
pageContextSerialized = getPageContextClientSerialized(pageContext);
|
|
425
418
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export { createPageContextShared };
|
|
2
2
|
export { createPageContextObject };
|
|
3
|
+
import { execHookGlobal } from './hooks/execHook.js';
|
|
4
|
+
import { preparePageContextForPublicUsage } from './preparePageContextForPublicUsage.js';
|
|
3
5
|
import { changeEnumerable, objectAssign } from './utils.js';
|
|
4
|
-
// TODO/now: make this and parents sync
|
|
5
6
|
async function createPageContextShared(pageContextCreated, pageConfigGlobal, vikeConfigPublicGlobal) {
|
|
6
7
|
objectAssign(pageContextCreated, vikeConfigPublicGlobal);
|
|
8
|
+
await execHookGlobal('onCreatePageContext', pageConfigGlobal, pageContextCreated, pageContextCreated, preparePageContextForPublicUsage);
|
|
7
9
|
return pageContextCreated;
|
|
8
10
|
}
|
|
9
11
|
function createPageContextObject() {
|
|
@@ -19,7 +19,6 @@ import type { PageContextForPublicUsageServer } from '../../node/runtime/renderP
|
|
|
19
19
|
import type { PageContextForPublicUsageClientShared } from '../../client/shared/preparePageContextForPublicUsageClientShared.js';
|
|
20
20
|
import { type PageContextPrepareMinimum } from '../preparePageContextForPublicUsage.js';
|
|
21
21
|
import type { GlobalContextPrepareMinimum } from '../prepareGlobalContextForPublicUsage.js';
|
|
22
|
-
type PageContextPrepareMinimum2 = PageContextPrepareMinimum & VikeConfigPublicPageLazy;
|
|
23
22
|
type PageContextExecuteHook = VikeConfigPublicPageLazy & PageContextForPublicUsage;
|
|
24
23
|
type PageContextForPublicUsage = PageContextForPublicUsageServer | PageContextForPublicUsageClientShared;
|
|
25
24
|
type HookWithResult = Hook & {
|
|
@@ -29,8 +28,8 @@ declare function execHookSingle<PageContext extends PageContextExecuteHook>(hook
|
|
|
29
28
|
declare function execHookSingleWithReturn<PageContext extends PageContextExecuteHook>(hook: Hook, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<{
|
|
30
29
|
hookReturn: unknown;
|
|
31
30
|
}>;
|
|
32
|
-
declare function execHook<PageContext extends
|
|
33
|
-
declare function execHookErrorHandling<PageContext extends
|
|
31
|
+
declare function execHook<PageContext extends PageContextExecuteHook>(hookName: HookName, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>;
|
|
32
|
+
declare function execHookErrorHandling<PageContext extends PageContextExecuteHook>(hookName: HookName, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<{
|
|
34
33
|
hooks: HookWithResult[];
|
|
35
34
|
err?: undefined;
|
|
36
35
|
} | {
|
|
@@ -12,7 +12,6 @@ import { resolveRouteFunction } from './resolveRouteFunction.js';
|
|
|
12
12
|
import { executeOnBeforeRouteHook } from './executeOnBeforeRouteHook.js';
|
|
13
13
|
import { debug } from './debug.js';
|
|
14
14
|
import pc from '@brillout/picocolors';
|
|
15
|
-
// TODO/next-major-release: make it sync
|
|
16
15
|
async function route(pageContext, skipOnBeforeRouteHook) {
|
|
17
16
|
debug('Pages routes:', pageContext._globalContext._pageRoutes);
|
|
18
17
|
const pageContextFromRoute = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.232
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.232";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.232
|
|
2
|
+
export const PROJECT_VERSION = '0.4.232';
|