vike 0.4.228-commit-c2f6e1f → 0.4.228-commit-558224a
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/__internal/index.js +2 -2
- package/dist/cjs/client/client-routing-runtime/globalContext.js +49 -0
- package/dist/cjs/client/server-routing-runtime/globalContext.js +41 -0
- package/dist/cjs/client/shared/createGetGlobalContext.js +31 -0
- package/dist/cjs/client/shared/getJsonSerializedInHtml.js +31 -0
- package/dist/cjs/client/shared/utils.js +21 -0
- package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +1 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/cjs/node/prerender/runPrerender.js +42 -40
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +87 -119
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
- package/dist/cjs/node/runtime/html/propKeys.js +47 -0
- package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
- package/dist/cjs/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +37 -67
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +14 -13
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
- package/dist/cjs/node/runtime/renderPage.js +10 -10
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/shared/createGlobalContextShared.js +45 -0
- package/dist/cjs/shared/createPageContextShared.js +2 -2
- package/dist/cjs/{node/runtime/renderPage → shared/hooks}/executeHookGeneric.js +4 -4
- package/dist/cjs/shared/htmlElementIds.js +5 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/catchInfiniteLoop.js +3 -3
- package/dist/cjs/utils/getPublicProxy.js +27 -0
- package/dist/cjs/utils/objectAssign.js +5 -5
- package/dist/cjs/utils/objectReplace.js +4 -4
- package/dist/esm/__internal/index.js +2 -2
- package/dist/esm/client/client-routing-runtime/{createPageContextClientSide.d.ts → createPageContext.d.ts} +17 -8
- package/dist/esm/client/client-routing-runtime/{createPageContextClientSide.js → createPageContext.js} +14 -16
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
- package/dist/esm/client/client-routing-runtime/globalContext.d.ts +16 -0
- package/dist/esm/client/client-routing-runtime/globalContext.js +13 -0
- package/dist/esm/client/client-routing-runtime/prefetch.js +1 -1
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +2 -3
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +13 -4
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +16 -15
- package/dist/esm/client/server-routing-runtime/globalContext.d.ts +13 -0
- package/dist/esm/client/server-routing-runtime/globalContext.js +5 -0
- package/dist/esm/client/shared/createGetGlobalContext.d.ts +11 -0
- package/dist/esm/client/shared/createGetGlobalContext.js +29 -0
- package/dist/esm/client/shared/{getPageContextSerializedInHtml.d.ts → getJsonSerializedInHtml.d.ts} +2 -0
- package/dist/esm/client/shared/getJsonSerializedInHtml.js +29 -0
- package/dist/esm/client/shared/utils.d.ts +3 -0
- package/dist/esm/client/shared/utils.js +3 -0
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +1 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +300 -5
- package/dist/esm/node/prerender/runPrerender.js +43 -41
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +393 -46
- package/dist/esm/node/runtime/globalContext.js +88 -120
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
- package/dist/esm/node/runtime/html/injectAssets.d.ts +1 -1
- package/dist/esm/node/runtime/html/propKeys.d.ts +8 -0
- package/dist/esm/node/runtime/html/propKeys.js +45 -0
- package/dist/esm/node/runtime/html/renderHtml.js +1 -1
- package/dist/esm/node/runtime/html/{serializePageContextClientSide.d.ts → serializeContext.d.ts} +7 -6
- package/dist/esm/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +36 -67
- package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +95 -35
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +14 -13
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/esm/node/runtime/renderPage/log404/index.js +1 -1
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +186 -64
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
- package/dist/esm/node/runtime/renderPage.d.ts +95 -34
- package/dist/esm/node/runtime/renderPage.js +10 -10
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/shared/VikeNamespace.d.ts +6 -0
- package/dist/esm/shared/createGlobalContextShared.d.ts +25 -0
- package/dist/esm/shared/createGlobalContextShared.js +43 -0
- package/dist/esm/shared/createPageContextShared.js +2 -2
- package/dist/esm/shared/hooks/executeHookGeneric.d.ts +8 -0
- package/dist/esm/{node/runtime/renderPage → shared/hooks}/executeHookGeneric.js +4 -4
- package/dist/esm/shared/htmlElementIds.d.ts +2 -0
- package/dist/esm/shared/htmlElementIds.js +2 -0
- package/dist/esm/shared/page-configs/Config.d.ts +7 -2
- package/dist/esm/shared/types.d.ts +20 -13
- package/dist/esm/types/index.d.ts +1 -5
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/catchInfiniteLoop.js +4 -4
- package/dist/esm/utils/getGlobalObject.d.ts +1 -1
- package/dist/esm/utils/getPublicProxy.d.ts +2 -0
- package/dist/esm/utils/getPublicProxy.js +25 -0
- package/dist/esm/utils/objectAssign.d.ts +1 -1
- package/dist/esm/utils/objectAssign.js +5 -5
- package/dist/esm/utils/objectReplace.d.ts +1 -1
- package/dist/esm/utils/objectReplace.js +4 -4
- package/package.json +2 -2
- package/dist/cjs/client/client-routing-runtime/globalContextClientSide.js +0 -10
- package/dist/cjs/client/client-routing-runtime/onLoad.js +0 -10
- package/dist/cjs/client/client-routing-runtime/utils.js +0 -43
- package/dist/cjs/utils/makePublicCopy.js +0 -32
- package/dist/esm/client/client-routing-runtime/globalContextClientSide.d.ts +0 -5
- package/dist/esm/client/client-routing-runtime/globalContextClientSide.js +0 -8
- package/dist/esm/client/shared/getPageContextSerializedInHtml.js +0 -20
- package/dist/esm/node/runtime/renderPage/executeHookGeneric.d.ts +0 -8
- package/dist/esm/utils/makePublicCopy.d.ts +0 -3
- package/dist/esm/utils/makePublicCopy.js +0 -30
|
@@ -5,30 +5,31 @@ exports.createPageContextServerSideWithoutGlobalContext = createPageContextServe
|
|
|
5
5
|
const utils_js_1 = require("../utils.js");
|
|
6
6
|
const getPageContextUrlComputed_js_1 = require("../../../shared/getPageContextUrlComputed.js");
|
|
7
7
|
const createPageContextShared_js_1 = require("../../../shared/createPageContextShared.js");
|
|
8
|
-
async function createPageContextServerSide(pageContextInit, globalContext, { isPrerendering, ssr: { urlHandler, isClientSideNavigation } = {
|
|
8
|
+
async function createPageContextServerSide(pageContextInit, globalContext, globalObject_public, { isPrerendering, ssr: { urlHandler, isClientSideNavigation } = {
|
|
9
9
|
urlHandler: null,
|
|
10
10
|
isClientSideNavigation: false
|
|
11
11
|
} }) {
|
|
12
12
|
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
|
|
13
13
|
const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
|
|
14
|
-
(0, utils_js_1.objectAssign)(pageContextCreated, pageContextInit);
|
|
15
14
|
(0, utils_js_1.objectAssign)(pageContextCreated, {
|
|
15
|
+
/* Don't spread globalContext for now? Or never spread it as it leads to confusion? The convenience isn't worth the added confusion?
|
|
16
|
+
// We must use Flatten<T> otherwise TypeScript complains upon assigning types
|
|
17
|
+
...(globalContext as Flatten<typeof globalContext>), // least precedence
|
|
18
|
+
*/
|
|
19
|
+
globalContext: globalObject_public,
|
|
20
|
+
_globalContext: globalContext,
|
|
16
21
|
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
17
22
|
_baseServer: globalContext.baseServer,
|
|
18
23
|
_baseAssets: globalContext.baseAssets,
|
|
19
24
|
// TODO/now: add meta.default
|
|
20
25
|
_includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
|
|
21
26
|
// TODO/soon: use GloablContext instead
|
|
22
|
-
_pageFilesAll: globalContext.
|
|
23
|
-
_pageConfigs: globalContext.
|
|
24
|
-
_pageConfigGlobal: globalContext.
|
|
25
|
-
_allPageIds: globalContext.
|
|
26
|
-
_pageRoutes: globalContext.
|
|
27
|
-
_onBeforeRouteHook: globalContext.
|
|
28
|
-
_globalContext: globalContext,
|
|
29
|
-
// TODO/now: add PageContext['globalContext']
|
|
30
|
-
/** @experimental This is a beta feature https://vike.dev/getGlobalContext */
|
|
31
|
-
globalContext: globalContext.globalContext_public,
|
|
27
|
+
_pageFilesAll: globalContext._pageFilesAll,
|
|
28
|
+
_pageConfigs: globalContext._pageConfigs,
|
|
29
|
+
_pageConfigGlobal: globalContext._pageConfigGlobal,
|
|
30
|
+
_allPageIds: globalContext._allPageIds,
|
|
31
|
+
_pageRoutes: globalContext._pageRoutes,
|
|
32
|
+
_onBeforeRouteHook: globalContext._onBeforeRouteHook,
|
|
32
33
|
_pageContextInit: pageContextInit,
|
|
33
34
|
_urlRewrite: null,
|
|
34
35
|
_urlHandler: urlHandler,
|
|
@@ -54,7 +55,7 @@ async function createPageContextServerSide(pageContextInit, globalContext, { isP
|
|
|
54
55
|
}
|
|
55
56
|
(0, utils_js_1.objectAssign)(pageContextCreated, { headers });
|
|
56
57
|
}
|
|
57
|
-
const pageContextAugmented = await (0, createPageContextShared_js_1.createPageContextShared)(pageContextCreated, globalContext.
|
|
58
|
+
const pageContextAugmented = await (0, createPageContextShared_js_1.createPageContextShared)(pageContextCreated, globalContext._pageConfigGlobal);
|
|
58
59
|
(0, utils_js_1.augmentType)(pageContextCreated, pageContextAugmented);
|
|
59
60
|
return pageContextCreated;
|
|
60
61
|
}
|
|
@@ -13,12 +13,12 @@ const globalObject = (0, utils_js_1.getGlobalObject)('renderPage/getPageAssets.t
|
|
|
13
13
|
});
|
|
14
14
|
async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
15
15
|
const globalContext = pageContext._globalContext;
|
|
16
|
-
const { isProduction } = globalContext;
|
|
16
|
+
const { _isProduction: isProduction } = globalContext;
|
|
17
17
|
const isDev = !isProduction;
|
|
18
18
|
let assetUrls;
|
|
19
19
|
let clientEntriesSrc;
|
|
20
20
|
if (isDev) {
|
|
21
|
-
const { viteDevServer } = globalContext;
|
|
21
|
+
const { _viteDevServer: viteDevServer } = globalContext;
|
|
22
22
|
clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer)));
|
|
23
23
|
assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
|
|
24
24
|
}
|
|
@@ -14,7 +14,7 @@ async function handleErrorWithoutErrorPage(pageContext) {
|
|
|
14
14
|
(0, utils_js_1.assert)(pageContext.errorWhileRendering || pageContext.is404);
|
|
15
15
|
{
|
|
16
16
|
const isV1 = pageContext._pageConfigs.length > 0;
|
|
17
|
-
await warnMissingErrorPage(isV1, pageContext._globalContext.
|
|
17
|
+
await warnMissingErrorPage(isV1, pageContext._globalContext._isProduction);
|
|
18
18
|
}
|
|
19
19
|
if (!pageContext.isClientSideNavigation) {
|
|
20
20
|
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseError)(pageContext);
|
|
@@ -14,7 +14,7 @@ async function loadUserFilesServerSide(pageContext) {
|
|
|
14
14
|
const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig?
|
|
15
15
|
const globalContext = pageContext._globalContext;
|
|
16
16
|
const [{ pageFilesLoaded, pageContextExports }] = await Promise.all([
|
|
17
|
-
loadPageUserFiles(pageContext._pageFilesAll, pageConfig, globalContext.
|
|
17
|
+
loadPageUserFiles(pageContext._pageFilesAll, pageConfig, globalContext._pageConfigGlobal, pageContext.pageId, !globalContext._isProduction),
|
|
18
18
|
(0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._pageFilesAll, pageContext.pageId, { sharedPageFilesAlreadyLoaded: true })
|
|
19
19
|
]);
|
|
20
20
|
const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await (0, analyzePage_js_1.analyzePage)(pageContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
|
|
@@ -17,7 +17,7 @@ async function log404(pageContext) {
|
|
|
17
17
|
*/
|
|
18
18
|
);
|
|
19
19
|
const globalContext = pageContext._globalContext;
|
|
20
|
-
if (!globalContext.
|
|
20
|
+
if (!globalContext._isProduction && !isFileRequest(urlPathname) && !pageContext.isClientSideNavigation) {
|
|
21
21
|
const routesInfo = getRoutesInfo(pageRoutes);
|
|
22
22
|
let msg = `URL ${picocolors_1.default.cyan(urlPathname)} ${noRouteMatch_js_1.noRouteMatch}`;
|
|
23
23
|
const outro = 'See https://vike.dev/routing for more information about routing.';
|
|
@@ -8,7 +8,7 @@ exports.prerenderPage = prerenderPage;
|
|
|
8
8
|
const error_page_js_1 = require("../../../shared/error-page.js");
|
|
9
9
|
const renderHtml_js_1 = require("../html/renderHtml.js");
|
|
10
10
|
const utils_js_1 = require("../utils.js");
|
|
11
|
-
const
|
|
11
|
+
const serializeContext_js_1 = require("../html/serializeContext.js");
|
|
12
12
|
const createHttpResponse_js_1 = require("./createHttpResponse.js");
|
|
13
13
|
const loadUserFilesServerSide_js_1 = require("./loadUserFilesServerSide.js");
|
|
14
14
|
const executeOnRenderHtmlHook_js_1 = require("./executeOnRenderHtmlHook.js");
|
|
@@ -47,7 +47,7 @@ async function renderPageAlreadyRouted(pageContext) {
|
|
|
47
47
|
if (isError) {
|
|
48
48
|
(0, utils_js_1.objectAssign)(pageContext, { [isServerSideError_js_1.isServerSideError]: true });
|
|
49
49
|
}
|
|
50
|
-
const pageContextSerialized = (0,
|
|
50
|
+
const pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerialized)(pageContext);
|
|
51
51
|
const httpResponse = await (0, createHttpResponse_js_1.createHttpResponsePageContextJson)(pageContextSerialized);
|
|
52
52
|
(0, utils_js_1.objectAssign)(pageContext, { httpResponse });
|
|
53
53
|
return pageContext;
|
|
@@ -77,7 +77,7 @@ async function prerenderPage(pageContext) {
|
|
|
77
77
|
return { documentHtml, pageContextSerialized: null, pageContext };
|
|
78
78
|
}
|
|
79
79
|
else {
|
|
80
|
-
const pageContextSerialized = (0,
|
|
80
|
+
const pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerialized)(pageContext);
|
|
81
81
|
return { documentHtml, pageContextSerialized, pageContext };
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -19,7 +19,7 @@ const assertArguments_js_1 = require("./renderPage/assertArguments.js");
|
|
|
19
19
|
const index_js_2 = require("./renderPage/log404/index.js");
|
|
20
20
|
const isVikeConfigInvalid_js_1 = require("./renderPage/isVikeConfigInvalid.js");
|
|
21
21
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
22
|
-
const
|
|
22
|
+
const serializeContext_js_1 = require("./html/serializeContext.js");
|
|
23
23
|
const error_page_js_1 = require("../../shared/error-page.js");
|
|
24
24
|
const handleErrorWithoutErrorPage_js_1 = require("./renderPage/handleErrorWithoutErrorPage.js");
|
|
25
25
|
const loadUserFilesServerSide_js_1 = require("./renderPage/loadUserFilesServerSide.js");
|
|
@@ -81,8 +81,8 @@ async function renderPagePrepare(pageContextInit, httpRequestId) {
|
|
|
81
81
|
else {
|
|
82
82
|
// `globalContext` now contains the entire Vike config and getVikeConfig() isn't called anymore for this request.
|
|
83
83
|
}
|
|
84
|
-
const globalContext = await (0, globalContext_js_1.getGlobalContextInternal)();
|
|
85
|
-
const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, httpRequestId);
|
|
84
|
+
const { globalContext, globalContext_public } = await (0, globalContext_js_1.getGlobalContextInternal)();
|
|
85
|
+
const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, globalContext_public, httpRequestId);
|
|
86
86
|
// Check Base URL
|
|
87
87
|
{
|
|
88
88
|
const pageContextHttpResponse = await checkBaseUrl(pageContextBegin, globalContext);
|
|
@@ -159,7 +159,7 @@ async function renderPageAlreadyPrepared(pageContextBegin, globalContext, httpRe
|
|
|
159
159
|
Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
|
|
160
160
|
}
|
|
161
161
|
{
|
|
162
|
-
const errorPageId = (0, error_page_js_1.getErrorPageId)(globalContext.
|
|
162
|
+
const errorPageId = (0, error_page_js_1.getErrorPageId)(globalContext._pageFilesAll, globalContext._pageConfigs);
|
|
163
163
|
if (!errorPageId) {
|
|
164
164
|
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: null });
|
|
165
165
|
return (0, handleErrorWithoutErrorPage_js_1.handleErrorWithoutErrorPage)(pageContextErrorPageInit);
|
|
@@ -304,9 +304,9 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
|
|
|
304
304
|
(0, utils_js_1.assert)(pageContext.errorWhileRendering);
|
|
305
305
|
return pageContext;
|
|
306
306
|
}
|
|
307
|
-
async function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
|
|
307
|
+
async function getPageContextBegin(pageContextInit, globalContext, globalContext_public, httpRequestId) {
|
|
308
308
|
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
309
|
-
const pageContextBegin = await (0, createPageContextServerSide_js_1.createPageContextServerSide)(pageContextInit, globalContext, {
|
|
309
|
+
const pageContextBegin = await (0, createPageContextServerSide_js_1.createPageContextServerSide)(pageContextInit, globalContext, globalContext_public, {
|
|
310
310
|
isPrerendering: false,
|
|
311
311
|
ssr: {
|
|
312
312
|
urlHandler: _urlHandler,
|
|
@@ -402,12 +402,12 @@ function normalize(url) {
|
|
|
402
402
|
async function handleAbortError(errAbort, pageContextsFromRewrite, pageContextBegin,
|
|
403
403
|
// handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageBegin to it: we only use some pageContextNominalPageBegin information.
|
|
404
404
|
pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext) {
|
|
405
|
-
(0, abort_js_1.logAbortErrorHandled)(errAbort, globalContext.
|
|
405
|
+
(0, abort_js_1.logAbortErrorHandled)(errAbort, globalContext._isProduction, pageContextNominalPageBegin);
|
|
406
406
|
const pageContextAbort = errAbort._pageContextAbort;
|
|
407
407
|
let pageContextSerialized;
|
|
408
408
|
if (pageContextNominalPageBegin.isClientSideNavigation) {
|
|
409
409
|
if (pageContextAbort.abortStatusCode) {
|
|
410
|
-
const errorPageId = (0, error_page_js_1.getErrorPageId)(globalContext.
|
|
410
|
+
const errorPageId = (0, error_page_js_1.getErrorPageId)(globalContext._pageFilesAll, globalContext._pageConfigs);
|
|
411
411
|
const abortCall = pageContextAbort._abortCall;
|
|
412
412
|
(0, utils_js_1.assert)(abortCall);
|
|
413
413
|
(0, utils_js_1.assertUsage)(errorPageId, `You called ${picocolors_1.default.cyan(abortCall)} but you didn't define an error page, make sure to define one https://vike.dev/error-page`);
|
|
@@ -417,10 +417,10 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
|
|
|
417
417
|
(0, utils_js_1.objectAssign)(pageContext, pageContextErrorPageInit, true);
|
|
418
418
|
(0, utils_js_1.objectAssign)(pageContext, await (0, loadUserFilesServerSide_js_1.loadUserFilesServerSide)(pageContext));
|
|
419
419
|
// We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
|
|
420
|
-
pageContextSerialized = (0,
|
|
420
|
+
pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerialized)(pageContext);
|
|
421
421
|
}
|
|
422
422
|
else {
|
|
423
|
-
pageContextSerialized = (0,
|
|
423
|
+
pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerializedAbort)(pageContextAbort);
|
|
424
424
|
}
|
|
425
425
|
const httpResponse = await (0, createHttpResponse_js_1.createHttpResponsePageContextJson)(pageContextSerialized);
|
|
426
426
|
const pageContextReturn = { httpResponse };
|
|
@@ -74,5 +74,5 @@ __exportStar(require("../../utils/isVikeReactApp.js"), exports);
|
|
|
74
74
|
__exportStar(require("../../utils/getPropAccessNotation.js"), exports);
|
|
75
75
|
__exportStar(require("../../utils/PROJECT_VERSION.js"), exports);
|
|
76
76
|
__exportStar(require("../../utils/genPromise.js"), exports);
|
|
77
|
-
__exportStar(require("../../utils/
|
|
77
|
+
__exportStar(require("../../utils/getPublicProxy.js"), exports);
|
|
78
78
|
__exportStar(require("../../utils/augmentType.js"), exports);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGlobalContextShared = createGlobalContextShared;
|
|
4
|
+
const getPageConfigsRuntime_js_1 = require("./getPageConfigsRuntime.js");
|
|
5
|
+
const executeHookGeneric_js_1 = require("./hooks/executeHookGeneric.js");
|
|
6
|
+
const utils_js_1 = require("./utils.js");
|
|
7
|
+
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext) {
|
|
8
|
+
const globalContext = createGlobalContextBase(virtualFileExports);
|
|
9
|
+
const globalContextAddendum = await addGlobalContext?.(globalContext);
|
|
10
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAddendum);
|
|
11
|
+
if (!globalObject.globalContext) {
|
|
12
|
+
globalObject.globalContext = globalContext;
|
|
13
|
+
// - We deliberately call onCreateGlobalContext() only at the beginning and only once per process.
|
|
14
|
+
// - TO-DO/eventually: HMR
|
|
15
|
+
// - Once Photon supports it: `server.hot.send({ type: 'full-server-reload' })`
|
|
16
|
+
// - Either use:
|
|
17
|
+
// - import.meta.hot
|
|
18
|
+
// - https://vite.dev/guide/api-hmr.html
|
|
19
|
+
// - Use a Vite transformer to inject import.meta.hot code into each user-land `+onCreateGlobalContext.js` file
|
|
20
|
+
// - Seems more idiomatic
|
|
21
|
+
// - globalContext._viteDevServer.hot.send()
|
|
22
|
+
// - Send 'full-server-reload' signal whenever a onCreateGlobalContext() function is modified => we need a globalObject to track all hooks and see if one of them is new/modified.
|
|
23
|
+
// - Seems less idiomatic
|
|
24
|
+
await (0, executeHookGeneric_js_1.executeHookGenericGlobalCumulative)('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Singleton: ensure all `globalContext` user-land references are preserved & updated.
|
|
28
|
+
// We don't use objectReplace() in order to keep user-land properties.
|
|
29
|
+
(0, utils_js_1.objectAssign)(globalObject.globalContext, globalContext);
|
|
30
|
+
}
|
|
31
|
+
return globalObject.globalContext;
|
|
32
|
+
}
|
|
33
|
+
function createGlobalContextBase(virtualFileExports) {
|
|
34
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly } = (0, getPageConfigsRuntime_js_1.getPageConfigsRuntime)(virtualFileExports);
|
|
35
|
+
const globalContext = {
|
|
36
|
+
_virtualFileExports: virtualFileExports,
|
|
37
|
+
_pageFilesAll: pageFilesAll,
|
|
38
|
+
_pageConfigs: pageConfigs,
|
|
39
|
+
_pageConfigGlobal: pageConfigGlobal,
|
|
40
|
+
_allPageIds: allPageIds,
|
|
41
|
+
config: globalConfig.config,
|
|
42
|
+
pages: pageConfigsUserFriendly
|
|
43
|
+
};
|
|
44
|
+
return globalContext;
|
|
45
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPageContextShared = createPageContextShared;
|
|
4
|
-
const executeHookGeneric_js_1 = require("
|
|
4
|
+
const executeHookGeneric_js_1 = require("./hooks/executeHookGeneric.js");
|
|
5
5
|
const getPageConfigUserFriendly_js_1 = require("./page-configs/getPageConfigUserFriendly.js");
|
|
6
6
|
const utils_js_1 = require("./utils.js");
|
|
7
7
|
async function createPageContextShared(pageContextCreated, pageConfigGlobal) {
|
|
@@ -12,6 +12,6 @@ async function createPageContextShared(pageContextCreated, pageConfigGlobal) {
|
|
|
12
12
|
_isPageContextObject: true,
|
|
13
13
|
...pageConfigGlobalUserFriendly
|
|
14
14
|
}, true);
|
|
15
|
-
await (0, executeHookGeneric_js_1.executeHookGenericGlobalCumulative)('onCreatePageContext', pageConfigGlobal, pageContextCreated);
|
|
15
|
+
await (0, executeHookGeneric_js_1.executeHookGenericGlobalCumulative)('onCreatePageContext', pageConfigGlobal, pageContextCreated, pageContextCreated);
|
|
16
16
|
return pageContextCreated;
|
|
17
17
|
}
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.executeHookGeneric = executeHookGeneric;
|
|
4
4
|
exports.executeHookGenericGlobalCumulative = executeHookGenericGlobalCumulative;
|
|
5
|
-
const executeHook_js_1 = require("
|
|
6
|
-
const getHook_js_1 = require("
|
|
5
|
+
const executeHook_js_1 = require("./executeHook.js");
|
|
6
|
+
const getHook_js_1 = require("./getHook.js");
|
|
7
7
|
async function executeHookGeneric(hookName, pageContext) {
|
|
8
8
|
const hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, hookName);
|
|
9
9
|
if (!hook)
|
|
10
10
|
return;
|
|
11
11
|
await (0, executeHook_js_1.executeHook)(() => hook.hookFn(pageContext), hook, pageContext);
|
|
12
12
|
}
|
|
13
|
-
async function executeHookGenericGlobalCumulative(hookName, pageConfigGlobal, pageContext) {
|
|
13
|
+
async function executeHookGenericGlobalCumulative(hookName, pageConfigGlobal, pageContext, arg) {
|
|
14
14
|
const hooks = (0, getHook_js_1.getHookFromPageConfigGlobalCumulative)(pageConfigGlobal, hookName);
|
|
15
15
|
await Promise.all(hooks.map(async (hook) => {
|
|
16
|
-
await (0, executeHook_js_1.executeHook)(() => hook.hookFn(
|
|
16
|
+
await (0, executeHook_js_1.executeHook)(() => hook.hookFn(arg), hook, pageContext);
|
|
17
17
|
}));
|
|
18
18
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.htmlElementId_globalContext = exports.htmlElementId_pageContext = void 0;
|
|
4
|
+
exports.htmlElementId_pageContext = 'vike_pageContext';
|
|
5
|
+
exports.htmlElementId_globalContext = 'vike_globalContext';
|
|
@@ -14,14 +14,14 @@ function catchInfiniteLoop(functionName, maxNumberOfCalls = 100, withinSeconds =
|
|
|
14
14
|
// Count
|
|
15
15
|
tracker.count++;
|
|
16
16
|
// Error
|
|
17
|
-
const msg = `[Infinite Loop]
|
|
17
|
+
const msg = `[Infinite Loop] Rendering ${tracker.count} times within ${withinSeconds} seconds [${functionName}]`;
|
|
18
18
|
if (tracker.count > maxNumberOfCalls) {
|
|
19
|
-
(0, assert_js_1.
|
|
19
|
+
(0, assert_js_1.assertUsage)(false, msg);
|
|
20
20
|
}
|
|
21
21
|
// Warning, at 50% threshold
|
|
22
22
|
if (!tracker.warned && tracker.count > maxNumberOfCalls * 0.5) {
|
|
23
23
|
// Warning is shown upon 10 calls a second, on average during 5 seconds, given the default parameters
|
|
24
|
-
(0, assert_js_1.assertWarning)(false, msg, { onlyOnce: false });
|
|
24
|
+
(0, assert_js_1.assertWarning)(false, msg, { onlyOnce: false, showStackTrace: true });
|
|
25
25
|
tracker.warned = true;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPublicProxy = getPublicProxy;
|
|
4
|
+
// We use a proxy instead of property getters.
|
|
5
|
+
// - The issue with property getters is that they can't be `writable: true` but we do want the user to be able to modify the value of internal properties.
|
|
6
|
+
// ```console
|
|
7
|
+
// TypeError: Invalid property descriptor. Cannot both specify accessors and a value or writable attribute, #<Object>
|
|
8
|
+
// ```
|
|
9
|
+
// - Previous implementation using property getters: https://github.com/vikejs/vike/blob/main/vike/utils/makePublicCopy.ts
|
|
10
|
+
const assert_js_1 = require("./assert.js");
|
|
11
|
+
// Show warning when user is accessing internal `_` properties.
|
|
12
|
+
function getPublicProxy(obj, objName, propsPublic, expectCustomUserLandProps) {
|
|
13
|
+
if (!expectCustomUserLandProps) {
|
|
14
|
+
Object.keys(obj).forEach((key) => (0, assert_js_1.assert)(key.startsWith('_') || propsPublic.includes(key)));
|
|
15
|
+
propsPublic.forEach((prop) => prop in obj);
|
|
16
|
+
}
|
|
17
|
+
return new Proxy(obj, {
|
|
18
|
+
get(_, prop) {
|
|
19
|
+
const propStr = String(prop);
|
|
20
|
+
if (propStr.startsWith('_')) {
|
|
21
|
+
(0, assert_js_1.assertWarning)(false, `Using internal ${objName}.${propStr} which may break in any minor version update. Reach out on GitHub and elaborate your use case so that the Vike team can add official support for your use case.`, { onlyOnce: true });
|
|
22
|
+
}
|
|
23
|
+
// @ts-ignore Seems to be TypeScript bug
|
|
24
|
+
return Reflect.get(...arguments);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -6,9 +6,9 @@ const assert_js_1 = require("./assert.js");
|
|
|
6
6
|
// - With type inference
|
|
7
7
|
// - Preserves property descriptors, which we need for preserving the getters of getPageContextUrlComputed()
|
|
8
8
|
function objectAssign(obj, objAddendum, objAddendumCanBePageContextObject) {
|
|
9
|
-
if (objAddendum)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
if (!objAddendum)
|
|
10
|
+
return;
|
|
11
|
+
if (!objAddendumCanBePageContextObject)
|
|
12
|
+
(0, assert_js_1.assert)(!('_isPageContextObject' in objAddendum));
|
|
13
|
+
Object.defineProperties(obj, Object.getOwnPropertyDescriptors(objAddendum));
|
|
14
14
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.objectReplace = objectReplace;
|
|
4
|
-
function objectReplace(
|
|
5
|
-
Object.keys(
|
|
4
|
+
function objectReplace(objOld, objNew, except) {
|
|
5
|
+
Object.keys(objOld)
|
|
6
6
|
.filter((key) => !except?.includes(key))
|
|
7
|
-
.forEach((key) => delete
|
|
8
|
-
Object.
|
|
7
|
+
.forEach((key) => delete objOld[key]);
|
|
8
|
+
Object.defineProperties(objOld, Object.getOwnPropertyDescriptors(objNew));
|
|
9
9
|
}
|
|
@@ -13,10 +13,10 @@ import { setNodeEnvProduction } from '../utils/assertSetup.js';
|
|
|
13
13
|
async function getPagesAndRoutes() {
|
|
14
14
|
setNodeEnvProduction();
|
|
15
15
|
await initGlobalContext_getPagesAndRoutes();
|
|
16
|
-
const globalContext = await getGlobalContextInternal();
|
|
16
|
+
const { globalContext } = await getGlobalContextInternal();
|
|
17
17
|
const {
|
|
18
18
|
//
|
|
19
|
-
pageRoutes, pageFilesAll, pageConfigs, allPageIds } = globalContext;
|
|
19
|
+
_pageRoutes: pageRoutes, _pageFilesAll: pageFilesAll, _pageConfigs: pageConfigs, _allPageIds: allPageIds } = globalContext;
|
|
20
20
|
return {
|
|
21
21
|
pageRoutes,
|
|
22
22
|
pageFilesAll,
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
2
|
declare function createPageContextClientSide(urlOriginal: string): Promise<{
|
|
3
|
-
isClientSide: boolean;
|
|
4
|
-
isPrerendering: boolean;
|
|
5
|
-
urlOriginal: string;
|
|
6
3
|
globalContext: {
|
|
7
|
-
|
|
4
|
+
_virtualFileExports: unknown;
|
|
5
|
+
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
6
|
+
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
7
|
+
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
8
|
+
_allPageIds: string[];
|
|
9
|
+
config: import("../../types/index.js").ConfigResolved;
|
|
10
|
+
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
11
|
+
} & object & {
|
|
12
|
+
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
13
|
+
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
8
14
|
};
|
|
9
|
-
_urlHandler: null;
|
|
10
|
-
_urlRewrite: null;
|
|
11
|
-
_baseServer: string;
|
|
12
15
|
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
13
16
|
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
14
17
|
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
15
18
|
_allPageIds: string[];
|
|
16
|
-
_pageRoutes: import("../../
|
|
19
|
+
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
17
20
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
21
|
+
isClientSide: boolean;
|
|
22
|
+
isPrerendering: boolean;
|
|
23
|
+
urlOriginal: string;
|
|
24
|
+
_urlHandler: null;
|
|
25
|
+
_urlRewrite: null;
|
|
26
|
+
_baseServer: string;
|
|
18
27
|
} & {
|
|
19
28
|
urlParsed: import("./utils.js").UrlPublic;
|
|
20
29
|
urlPathname: string;
|
|
@@ -1,36 +1,34 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
2
|
import { createPageContextShared } from '../../shared/createPageContextShared.js';
|
|
3
|
-
import { getPageConfigsRuntime } from '../../shared/getPageConfigsRuntime.js';
|
|
4
3
|
import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js';
|
|
5
|
-
import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
|
|
6
4
|
import { getBaseServer } from './getBaseServer.js';
|
|
7
|
-
import { getGlobalContext } from './
|
|
5
|
+
import { getGlobalContext } from './globalContext.js';
|
|
8
6
|
import { assert, augmentType, isBaseServer, objectAssign } from './utils.js';
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
import * as virtualFileExports from 'virtual:vike:importUserCode:client:client-routing';
|
|
11
|
-
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal } = getPageConfigsRuntime(virtualFileExports);
|
|
12
7
|
async function createPageContextClientSide(urlOriginal) {
|
|
13
|
-
const
|
|
8
|
+
const globalContext = await getGlobalContext();
|
|
14
9
|
const baseServer = getBaseServer();
|
|
15
10
|
assert(isBaseServer(baseServer));
|
|
16
11
|
const pageContextCreated = {
|
|
12
|
+
/* Don't spread globalContext for now? Or never spread it as it leads to confusion? The convenience isn't worth the added confusion?
|
|
13
|
+
...globalContext, // least precedence
|
|
14
|
+
*/
|
|
15
|
+
globalContext,
|
|
16
|
+
_pageFilesAll: globalContext._pageFilesAll,
|
|
17
|
+
_pageConfigs: globalContext._pageConfigs,
|
|
18
|
+
_pageConfigGlobal: globalContext._pageConfigGlobal,
|
|
19
|
+
_allPageIds: globalContext._allPageIds,
|
|
20
|
+
_pageRoutes: globalContext._pageRoutes,
|
|
21
|
+
_onBeforeRouteHook: globalContext._onBeforeRouteHook,
|
|
17
22
|
isClientSide: true,
|
|
18
23
|
isPrerendering: false,
|
|
19
24
|
urlOriginal,
|
|
20
|
-
globalContext: getGlobalContext(),
|
|
21
25
|
_urlHandler: null,
|
|
22
26
|
_urlRewrite: null,
|
|
23
|
-
_baseServer: baseServer
|
|
24
|
-
_pageFilesAll: pageFilesAll,
|
|
25
|
-
_pageConfigs: pageConfigs,
|
|
26
|
-
_pageConfigGlobal: pageConfigGlobal,
|
|
27
|
-
_allPageIds: allPageIds,
|
|
28
|
-
_pageRoutes: pageRoutes,
|
|
29
|
-
_onBeforeRouteHook: onBeforeRouteHook
|
|
27
|
+
_baseServer: baseServer
|
|
30
28
|
};
|
|
31
29
|
const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
|
|
32
30
|
objectAssign(pageContextCreated, pageContextUrlComputed);
|
|
33
|
-
const pageContextAugmented = await createPageContextShared(pageContextCreated,
|
|
31
|
+
const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal);
|
|
34
32
|
augmentType(pageContextCreated, pageContextAugmented);
|
|
35
33
|
return pageContextCreated;
|
|
36
34
|
}
|
|
@@ -5,7 +5,7 @@ export { getPageContextFromClientHooks };
|
|
|
5
5
|
export { setPageContextInitIsPassedToClient };
|
|
6
6
|
import { assert, assertUsage, hasProp, objectAssign, getProjectError, redirectHard, isObject, getGlobalObject } from './utils.js';
|
|
7
7
|
import { parse } from '@brillout/json-serializer/parse';
|
|
8
|
-
import { getPageContextSerializedInHtml } from '../shared/
|
|
8
|
+
import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
|
|
9
9
|
import { analyzePageServerSide } from '../../shared/getPageFiles/analyzePageServerSide.js';
|
|
10
10
|
import { getHookFromPageContext } from '../../shared/hooks/getHook.js';
|
|
11
11
|
import { preparePageContextForUserConsumptionClientSide } from '../shared/preparePageContextForUserConsumptionClientSide.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { getGlobalContext };
|
|
2
|
+
export type { GlobalContextClient };
|
|
3
|
+
import type { GlobalContextSharedPublic } from '../../shared/createGlobalContextShared.js';
|
|
4
|
+
type GlobalContextClient = GlobalContextSharedPublic & Vike.GlobalContext & {};
|
|
5
|
+
declare const getGlobalContext: () => Promise<{
|
|
6
|
+
_virtualFileExports: unknown;
|
|
7
|
+
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
8
|
+
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
9
|
+
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
10
|
+
_allPageIds: string[];
|
|
11
|
+
config: import("../../types/index.js").ConfigResolved;
|
|
12
|
+
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
13
|
+
} & object & {
|
|
14
|
+
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
15
|
+
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { getGlobalContext };
|
|
2
|
+
import { createGetGlobalContext } from '../shared/createGetGlobalContext.js';
|
|
3
|
+
import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import * as virtualFileExports from 'virtual:vike:importUserCode:client:client-routing';
|
|
6
|
+
const getGlobalContext = createGetGlobalContext(virtualFileExports, true, addGlobalContext);
|
|
7
|
+
async function addGlobalContext(globalContext) {
|
|
8
|
+
const { pageRoutes, onBeforeRouteHook } = await loadPageRoutes(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
|
|
9
|
+
return {
|
|
10
|
+
_pageRoutes: pageRoutes,
|
|
11
|
+
_onBeforeRouteHook: onBeforeRouteHook
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -10,7 +10,7 @@ import { isErrorFetchingStaticAssets, loadUserFilesClientSide } from '../shared/
|
|
|
10
10
|
import { skipLink } from './skipLink.js';
|
|
11
11
|
import { disableClientRouting } from './renderPageClientSide.js';
|
|
12
12
|
import { isClientSideRoutable } from './isClientSideRoutable.js';
|
|
13
|
-
import { createPageContextClientSide } from './
|
|
13
|
+
import { createPageContextClientSide } from './createPageContext.js';
|
|
14
14
|
import { route } from '../../shared/route/index.js';
|
|
15
15
|
import { noRouteMatch } from '../../shared/route/noRouteMatch.js';
|
|
16
16
|
import { getPageContextFromServerHooks } from './getPageContextFromHooks.js';
|
|
@@ -5,7 +5,7 @@ export { firstRenderStartPromise };
|
|
|
5
5
|
export { getPageContextClient };
|
|
6
6
|
import { assert, isSameErrorMessage, objectAssign, redirectHard, getGlobalObject, hasProp, augmentType, genPromise, isCallable, catchInfiniteLoop } from './utils.js';
|
|
7
7
|
import { getPageContextFromClientHooks, getPageContextFromServerHooks, getPageContextFromHooks_isHydration, getPageContextFromHooks_serialized, setPageContextInitIsPassedToClient } from './getPageContextFromHooks.js';
|
|
8
|
-
import { createPageContextClientSide } from './
|
|
8
|
+
import { createPageContextClientSide } from './createPageContext.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';
|
|
@@ -27,8 +27,7 @@ const globalObject = getGlobalObject('client-routing-runtime/renderPageClientSid
|
|
|
27
27
|
return {
|
|
28
28
|
renderCounter: 0,
|
|
29
29
|
firstRenderStartPromise,
|
|
30
|
-
firstRenderStartPromiseResolve
|
|
31
|
-
globalContext: {}
|
|
30
|
+
firstRenderStartPromiseResolve
|
|
32
31
|
};
|
|
33
32
|
})());
|
|
34
33
|
const { firstRenderStartPromise } = globalObject;
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
2
|
declare function createPageContextClientSide(): Promise<{
|
|
3
|
+
globalContext: {
|
|
4
|
+
_virtualFileExports: unknown;
|
|
5
|
+
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
6
|
+
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
7
|
+
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
8
|
+
_allPageIds: string[];
|
|
9
|
+
config: import("../../types/index.js").ConfigResolved;
|
|
10
|
+
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
11
|
+
} & object;
|
|
12
|
+
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
13
|
+
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
14
|
+
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
15
|
+
_allPageIds: string[];
|
|
3
16
|
isPrerendering: boolean;
|
|
4
17
|
isClientSide: boolean;
|
|
5
18
|
isHydration: true;
|
|
@@ -9,10 +22,6 @@ declare function createPageContextClientSide(): Promise<{
|
|
|
9
22
|
} & {
|
|
10
23
|
pageId: string;
|
|
11
24
|
routeParams: Record<string, string>;
|
|
12
|
-
} & {
|
|
13
|
-
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
14
|
-
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
15
|
-
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
16
25
|
} & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
|
|
17
26
|
_pageFilesLoaded: import("../../shared/getPageFiles.js").PageFile[];
|
|
18
27
|
} & {
|