vike 0.4.268-commit-45c1759 → 0.4.268-commit-ca58695
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/client/__internal/index.d.ts +1 -0
- package/dist/client/__internal/index.js +1 -0
- package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -0
- package/dist/client/runtime-client-routing/getPageContextFromHooks.js +1 -0
- package/dist/client/runtime-client-routing/renderPageClient.d.ts +9 -0
- package/dist/client/runtime-client-routing/renderPageClient.js +33 -2
- package/dist/shared-server-client/getPageContextPublicShared.js +1 -1
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ export { getPageContextFromHooksClient_firstRender };
|
|
|
3
3
|
export { getPageContextFromHooksServer };
|
|
4
4
|
export { getPageContextFromHooksServer_firstRender };
|
|
5
5
|
export { setPageContextInitIsPassedToClient };
|
|
6
|
+
export { processPageContextFromServer };
|
|
6
7
|
export type { PageContextFromHooksServer };
|
|
7
8
|
import type { PageContextConfig, PageFile } from '../../shared-server-client/getPageFiles.js';
|
|
8
9
|
import type { PageContextCreatedClient } from './createPageContextClient.js';
|
|
@@ -509,3 +510,4 @@ declare function getPageContextFromHooksClient(pageContext: {
|
|
|
509
510
|
urlOriginal: string;
|
|
510
511
|
}>;
|
|
511
512
|
declare function setPageContextInitIsPassedToClient(pageContext: Record<string, unknown>): void;
|
|
513
|
+
declare function processPageContextFromServer(pageContext: Record<string, unknown>): void;
|
|
@@ -3,6 +3,7 @@ export { getPageContextFromHooksClient_firstRender };
|
|
|
3
3
|
export { getPageContextFromHooksServer };
|
|
4
4
|
export { getPageContextFromHooksServer_firstRender };
|
|
5
5
|
export { setPageContextInitIsPassedToClient };
|
|
6
|
+
export { processPageContextFromServer };
|
|
6
7
|
import { assert, assertUsage, getProjectError } from '../../utils/assert.js';
|
|
7
8
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
8
9
|
import { hasProp } from '../../utils/hasProp.js';
|
|
@@ -2,6 +2,7 @@ export { renderPageClient };
|
|
|
2
2
|
export { getRenderCount };
|
|
3
3
|
export { disableClientRouting };
|
|
4
4
|
export { getPageContextClient };
|
|
5
|
+
export { createPageContextFromServer_experimentalRSC };
|
|
5
6
|
export type { PageContextBegin };
|
|
6
7
|
export type { PageContextInternalClientAfterRender };
|
|
7
8
|
import { type PageContextAbort, type PageContextAborted } from '../../shared-server-client/route/abort.js';
|
|
@@ -798,3 +799,11 @@ declare function getRenderCount(): number;
|
|
|
798
799
|
* https://vike.dev/getPageContextClient
|
|
799
800
|
*/
|
|
800
801
|
declare function getPageContextClient(): PageContextClient | null;
|
|
802
|
+
/**
|
|
803
|
+
* Creates a new `pageContext` for the page that `pageContext` renders, with the values of `pageContextFromServer` on top.
|
|
804
|
+
* - `pageContext` is the `pageContext` of the page rendered last
|
|
805
|
+
* - `pageContext` and `pageContextFromServer` aren't modified
|
|
806
|
+
* - The new `pageContext` is the `pageContext.previousPageContext` of the next navigation, including a navigation that has already started
|
|
807
|
+
* - Unless a navigation has started, `getPageContextClient()` returns the new `pageContext`
|
|
808
|
+
*/
|
|
809
|
+
declare function createPageContextFromServer_experimentalRSC(pageContext: PageContextClient, pageContextFromServer: Record<string, unknown>): PageContextClient;
|
|
@@ -2,6 +2,7 @@ export { renderPageClient };
|
|
|
2
2
|
export { getRenderCount };
|
|
3
3
|
export { disableClientRouting };
|
|
4
4
|
export { getPageContextClient };
|
|
5
|
+
export { createPageContextFromServer_experimentalRSC };
|
|
5
6
|
import { assert, assertInfo, assertWarning } from '../../utils/assert.js';
|
|
6
7
|
import { catchInfiniteLoop } from '../../utils/catchInfiniteLoop.js';
|
|
7
8
|
import { genPromise } from '../../utils/genPromise.js';
|
|
@@ -12,7 +13,7 @@ import { isReact } from '../../utils/isReact.js';
|
|
|
12
13
|
import { objectAssign } from '../../utils/objectAssign.js';
|
|
13
14
|
import { redirectHard } from '../../utils/redirectHard.js';
|
|
14
15
|
import { updateType } from '../../utils/updateType.js';
|
|
15
|
-
import { getPageContextFromHooksClient, getPageContextFromHooksServer, getPageContextFromHooksClient_firstRender, getPageContextFromHooksServer_firstRender, setPageContextInitIsPassedToClient, } from './getPageContextFromHooks.js';
|
|
16
|
+
import { getPageContextFromHooksClient, getPageContextFromHooksServer, getPageContextFromHooksClient_firstRender, getPageContextFromHooksServer_firstRender, setPageContextInitIsPassedToClient, processPageContextFromServer, } from './getPageContextFromHooks.js';
|
|
16
17
|
import { cancelStreamedValues } from './streamedValues.js';
|
|
17
18
|
import { createPageContextClient } from './createPageContextClient.js';
|
|
18
19
|
import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
|
|
@@ -21,6 +22,7 @@ import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide, } from '../
|
|
|
21
22
|
import { changeUrl, saveScrollPosition } from './history.js';
|
|
22
23
|
import { addNewPageContextAborted, getPageContextAddendumAbort, isAbortError, logAbort, } from '../../shared-server-client/route/abort.js';
|
|
23
24
|
import { route } from '../../shared-server-client/route/index.js';
|
|
25
|
+
import { forkPageContext } from '../../shared-server-client/forkPageContext.js';
|
|
24
26
|
import { isClientSideRoutable } from './isClientSideRoutable.js';
|
|
25
27
|
import { isScrollPosition, setScrollPosition } from './setScrollPosition.js';
|
|
26
28
|
import { scrollRestoration_initialRenderIsDone } from './scrollRestoration.js';
|
|
@@ -401,6 +403,12 @@ async function renderPageClient(renderArgs) {
|
|
|
401
403
|
}
|
|
402
404
|
};
|
|
403
405
|
changeUrl(urlOriginal, overwriteLastHistoryEntry);
|
|
406
|
+
{
|
|
407
|
+
const previousPageContextBefore = globalObject.renderedPageContext?.previousPageContext;
|
|
408
|
+
// Remove previousPageContext of past pages (otherwise all the past pageContext are kept in memory)
|
|
409
|
+
if (previousPageContextBefore)
|
|
410
|
+
previousPageContextBefore.previousPageContext = null;
|
|
411
|
+
}
|
|
404
412
|
globalObject.previousPageContext = pageContext;
|
|
405
413
|
// There should never be concurrent onRenderClient() calls
|
|
406
414
|
assert(globalObject.onRenderClientPreviousPromise === undefined);
|
|
@@ -509,7 +517,7 @@ async function getPageContextBegin(isForErrorPage, { urlOriginal, isBackwardNavi
|
|
|
509
517
|
showStackTrace: true,
|
|
510
518
|
onlyOnce: true,
|
|
511
519
|
});
|
|
512
|
-
return previousPageContext;
|
|
520
|
+
return this.previousPageContext;
|
|
513
521
|
},
|
|
514
522
|
enumerable: false,
|
|
515
523
|
});
|
|
@@ -608,6 +616,29 @@ function getPageContextClient() {
|
|
|
608
616
|
return null;
|
|
609
617
|
return getPageContextPublicClient(pageContext);
|
|
610
618
|
}
|
|
619
|
+
// TODO/soon: check whether this is the right API
|
|
620
|
+
/**
|
|
621
|
+
* Creates a new `pageContext` for the page that `pageContext` renders, with the values of `pageContextFromServer` on top.
|
|
622
|
+
* - `pageContext` is the `pageContext` of the page rendered last
|
|
623
|
+
* - `pageContext` and `pageContextFromServer` aren't modified
|
|
624
|
+
* - The new `pageContext` is the `pageContext.previousPageContext` of the next navigation, including a navigation that has already started
|
|
625
|
+
* - Unless a navigation has started, `getPageContextClient()` returns the new `pageContext`
|
|
626
|
+
*/
|
|
627
|
+
function createPageContextFromServer_experimentalRSC(pageContext, pageContextFromServer) {
|
|
628
|
+
const pageContextFromServerCopy = { ...pageContextFromServer };
|
|
629
|
+
processPageContextFromServer(pageContextFromServerCopy);
|
|
630
|
+
const pageContextNew = forkPageContext(pageContext._originalObject);
|
|
631
|
+
objectAssign(pageContextNew, pageContextFromServerCopy);
|
|
632
|
+
// A navigation sets currentPageContext and reads previousPageContext when it starts, and sets previousPageContext when it renders
|
|
633
|
+
if (globalObject.currentPageContext === globalObject.previousPageContext) {
|
|
634
|
+
globalObject.currentPageContext = pageContextNew;
|
|
635
|
+
}
|
|
636
|
+
else {
|
|
637
|
+
globalObject.currentPageContext.previousPageContext = getPageContextPublicClient(pageContextNew);
|
|
638
|
+
}
|
|
639
|
+
globalObject.previousPageContext = pageContextNew;
|
|
640
|
+
return getPageContextPublicClient(pageContextNew);
|
|
641
|
+
}
|
|
611
642
|
async function loadPageConfigsLazyClientSideAndExecHook(pageContext, isFirstRender, isRenderOutdated) {
|
|
612
643
|
let hasErr = false;
|
|
613
644
|
let err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: '0.4.268-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: '0.4.268-commit-ca58695';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.268-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.268-commit-ca58695';
|