vike 0.4.252-commit-1d0a050 → 0.4.252-commit-a938132
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/runtime-client-routing/createPageContextClient.d.ts +1 -1
- package/dist/client/runtime-client-routing/entry.js +0 -4
- package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -1
- package/dist/client/runtime-client-routing/getPageContextCurrent.js +1 -1
- package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +4 -4
- package/dist/client/runtime-client-routing/getPageContextFromHooks.js +1 -1
- package/dist/client/runtime-client-routing/history.d.ts +1 -1
- package/dist/client/runtime-client-routing/history.js +2 -2
- package/dist/client/runtime-client-routing/initClientRouter.d.ts +1 -1
- package/dist/client/runtime-client-routing/initClientRouter.js +13 -6
- package/dist/client/runtime-client-routing/navigate.js +4 -3
- package/dist/client/runtime-client-routing/prefetch.js +1 -1
- package/dist/client/runtime-client-routing/renderPageClient.d.ts +4 -6
- package/dist/client/runtime-client-routing/renderPageClient.js +25 -19
- package/dist/client/runtime-client-routing/scrollRestoration.js +1 -1
- package/dist/client/runtime-client-routing/setScrollPosition.d.ts +3 -0
- package/dist/client/runtime-client-routing/setScrollPosition.js +6 -2
- package/dist/node/prerender/runPrerender.d.ts +3 -3
- package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +7 -3
- package/dist/server/runtime/globalContext.d.ts +10 -10
- package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +3 -3
- package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +2 -2
- package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +3 -3
- package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +12 -12
- package/dist/server/runtime/renderPageServer.d.ts +3 -3
- package/dist/shared-server-client/assertVirtualFileExports.js +3 -3
- package/dist/shared-server-client/createGlobalContextShared.d.ts +2 -2
- package/dist/shared-server-client/hooks/execHook.d.ts +13 -7
- package/dist/shared-server-client/hooks/execHook.js +1 -0
- package/dist/shared-server-client/hooks/getHook.d.ts +7 -7
- package/dist/shared-server-client/route/loadPageRoutes.d.ts +3 -3
- package/dist/types/Config.d.ts +2 -5
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/package.json +2 -2
|
@@ -66,7 +66,7 @@ declare function createPageContextClient(urlOriginal: string): Promise<{
|
|
|
66
66
|
isClientSide: true;
|
|
67
67
|
} & {
|
|
68
68
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
69
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
69
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
70
70
|
};
|
|
71
71
|
_pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
|
|
72
72
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic>;
|
|
@@ -4,11 +4,7 @@ assertClientRouting();
|
|
|
4
4
|
import { initClientRouter } from './initClientRouter.js';
|
|
5
5
|
import { assertSingleInstance_onClientEntryClientRouting } from '../../utils/assertSingleInstance.js';
|
|
6
6
|
import { removeFoucBuster } from '../shared/removeFoucBuster.js';
|
|
7
|
-
import { setVirtualFileExportsGlobalEntry } from '../shared/getGlobalContextClientInternalShared.js';
|
|
8
|
-
// @ts-expect-error
|
|
9
|
-
import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:client-routing';
|
|
10
7
|
assertSingleInstance_onClientEntryClientRouting(import.meta.env.PROD);
|
|
11
|
-
setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry);
|
|
12
8
|
initClientRouter();
|
|
13
9
|
if (import.meta.env.DEV)
|
|
14
10
|
removeFoucBuster();
|
|
@@ -52,5 +52,5 @@ declare function getGlobalContextClientInternal(): Promise<{
|
|
|
52
52
|
isClientSide: true;
|
|
53
53
|
} & {
|
|
54
54
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
55
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
55
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
56
56
|
}>;
|
|
@@ -2,7 +2,7 @@ import '../assertEnvClient.js';
|
|
|
2
2
|
export { setPageContextCurrent };
|
|
3
3
|
export { getPageContextCurrent };
|
|
4
4
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
5
|
-
const globalObject = getGlobalObject('
|
|
5
|
+
const globalObject = getGlobalObject('getPageContextCurrent.ts', {
|
|
6
6
|
pageContextCurrent: null,
|
|
7
7
|
});
|
|
8
8
|
function getPageContextCurrent() {
|
|
@@ -84,7 +84,7 @@ declare function getPageContextFromHooksClient_firstRender(pageContext: PageCont
|
|
|
84
84
|
isClientSide: true;
|
|
85
85
|
} & {
|
|
86
86
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
87
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
87
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
88
88
|
};
|
|
89
89
|
_pageFilesAll: PageFile[];
|
|
90
90
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & {
|
|
@@ -162,7 +162,7 @@ declare function getPageContextFromHooksClient_firstRender(pageContext: PageCont
|
|
|
162
162
|
isClientSide: true;
|
|
163
163
|
} & {
|
|
164
164
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
165
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
165
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
166
166
|
};
|
|
167
167
|
_pageFilesAll: PageFile[];
|
|
168
168
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
|
|
@@ -366,7 +366,7 @@ declare function getPageContextFromHooksClient(pageContext: {
|
|
|
366
366
|
isClientSide: true;
|
|
367
367
|
} & {
|
|
368
368
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
369
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
369
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
370
370
|
};
|
|
371
371
|
_pageFilesAll: PageFile[];
|
|
372
372
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & {
|
|
@@ -444,7 +444,7 @@ declare function getPageContextFromHooksClient(pageContext: {
|
|
|
444
444
|
isClientSide: true;
|
|
445
445
|
} & {
|
|
446
446
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
447
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
447
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
448
448
|
};
|
|
449
449
|
_pageFilesAll: PageFile[];
|
|
450
450
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
|
|
@@ -24,7 +24,7 @@ import { pageContextInitIsPassedToClient } from '../../shared-server-client/misc
|
|
|
24
24
|
import { isServerSideError } from '../../shared-server-client/misc/isServerSideError.js';
|
|
25
25
|
import { execHook } from '../../shared-server-client/hooks/execHook.js';
|
|
26
26
|
import { getPageContextPublicClient } from './getPageContextPublicClient.js';
|
|
27
|
-
const globalObject = getGlobalObject('
|
|
27
|
+
const globalObject = getGlobalObject('getPageContextFromHooks.ts', {});
|
|
28
28
|
// TO-DO/soon/cumulative-hooks: filter & execute all client-only hooks (see other TO-DO/soon/cumulative-hooks comments)
|
|
29
29
|
// - The client-side needs to know what hooks are client-only
|
|
30
30
|
// - Possible implementation: new computed prop `clientOnlyHooks: string[]` (list of hook ids) and add `hookId` to serialized config values
|
|
@@ -17,7 +17,7 @@ type ScrollPosition = {
|
|
|
17
17
|
x: number;
|
|
18
18
|
y: number;
|
|
19
19
|
};
|
|
20
|
-
declare function saveScrollPosition(): void;
|
|
20
|
+
declare function saveScrollPosition(scrollPosition?: ScrollPosition): void;
|
|
21
21
|
declare function pushHistoryState(url: string, overwriteLastHistoryEntry: boolean): void;
|
|
22
22
|
declare function replaceHistoryStateOriginal(state: unknown, url?: Parameters<typeof window.history.replaceState>[2]): void;
|
|
23
23
|
type HistoryInfo = {
|
|
@@ -48,8 +48,8 @@ function getScrollPosition() {
|
|
|
48
48
|
function getTimestamp() {
|
|
49
49
|
return new Date().getTime();
|
|
50
50
|
}
|
|
51
|
-
function saveScrollPosition() {
|
|
52
|
-
|
|
51
|
+
function saveScrollPosition(scrollPosition) {
|
|
52
|
+
scrollPosition || (scrollPosition = getScrollPosition());
|
|
53
53
|
// Don't overwrite history.state if it was set by a non-Vike history.pushState() call.
|
|
54
54
|
// https://github.com/vikejs/vike/issues/2801#issuecomment-3490431479
|
|
55
55
|
if (!isEnhanced(window.history.state))
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import '../assertEnvClient.js';
|
|
2
2
|
export { initClientRouter };
|
|
3
3
|
import { assert } from '../../utils/assert.js';
|
|
4
|
+
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
4
5
|
import { getRenderCount, renderPageClient } from './renderPageClient.js';
|
|
5
6
|
import { initOnPopState } from './initOnPopState.js';
|
|
6
7
|
import { initOnLinkClick } from './initOnLinkClick.js';
|
|
@@ -8,21 +9,27 @@ import { scrollRestoration_init } from './scrollRestoration.js';
|
|
|
8
9
|
import { autoSaveScrollPosition } from './setScrollPosition.js';
|
|
9
10
|
import { initLinkPrefetchHandlers } from './prefetch.js';
|
|
10
11
|
import { initHistory } from './history.js';
|
|
11
|
-
|
|
12
|
+
import { setVirtualFileExportsGlobalEntry } from '../shared/getGlobalContextClientInternalShared.js';
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:client-routing';
|
|
15
|
+
const globalObject = getGlobalObject('initClientRouter.ts', {});
|
|
16
|
+
function initClientRouter() {
|
|
17
|
+
setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry);
|
|
18
|
+
if (globalObject.done)
|
|
19
|
+
return;
|
|
20
|
+
globalObject.done = true;
|
|
12
21
|
// Init navigation history and scroll restoration
|
|
13
22
|
initHistoryAndScroll();
|
|
14
23
|
// Render/hydrate
|
|
15
|
-
|
|
24
|
+
renderFirstPage();
|
|
16
25
|
// Intercept <a> clicks
|
|
17
26
|
initOnLinkClick();
|
|
18
27
|
// Add <a> prefetch handlers
|
|
19
28
|
initLinkPrefetchHandlers();
|
|
20
|
-
// Preserve stack track
|
|
21
|
-
await renderFirstPagePromise;
|
|
22
29
|
}
|
|
23
|
-
|
|
30
|
+
function renderFirstPage() {
|
|
24
31
|
assert(getRenderCount() === 0);
|
|
25
|
-
|
|
32
|
+
renderPageClient({
|
|
26
33
|
scrollTarget: { preserveScroll: true },
|
|
27
34
|
isClientSideNavigation: false,
|
|
28
35
|
});
|
|
@@ -4,8 +4,9 @@ export { reload };
|
|
|
4
4
|
// import { modifyUrlSameOrigin, ModifyUrlSameOriginOptions } from '../../shared/modifyUrlSameOrigin.js'
|
|
5
5
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
6
6
|
import { normalizeUrlArgument } from './normalizeUrlArgument.js';
|
|
7
|
-
import {
|
|
7
|
+
import { renderPageClient } from './renderPageClient.js';
|
|
8
8
|
import { assertClientRouting } from '../../utils/assertRoutingType.js';
|
|
9
|
+
import { initClientRouter } from './initClientRouter.js';
|
|
9
10
|
assertClientRouting();
|
|
10
11
|
/** Programmatically navigate to a new page.
|
|
11
12
|
*
|
|
@@ -19,8 +20,8 @@ async function navigate(url, options) {
|
|
|
19
20
|
// let url = normalizeUrlArgument(options.url ?? getCurrentUrl(), 'navigate')
|
|
20
21
|
// url = modifyUrlSameOrigin(url, options)
|
|
21
22
|
normalizeUrlArgument(url, 'navigate');
|
|
22
|
-
//
|
|
23
|
-
|
|
23
|
+
// Ensure initClientRouter() is called before navigate() — otherwise race condition when +client.js calls navigate() before initClientRouter() is called in runtime-client-routing/entry.ts
|
|
24
|
+
initClientRouter();
|
|
24
25
|
const { keepScrollPosition, overwriteLastHistoryEntry, pageContext } = options ?? {};
|
|
25
26
|
const scrollTarget = { preserveScroll: keepScrollPosition ?? false };
|
|
26
27
|
await renderPageClient({
|
|
@@ -24,7 +24,7 @@ import { PAGE_CONTEXT_MAX_AGE_DEFAULT, getPrefetchSettings, } from './prefetch/g
|
|
|
24
24
|
import pc from '@brillout/picocolors';
|
|
25
25
|
import { normalizeUrlArgument } from './normalizeUrlArgument.js';
|
|
26
26
|
assertClientRouting();
|
|
27
|
-
const globalObject = getGlobalObject('
|
|
27
|
+
const globalObject = getGlobalObject('prefetch.ts', {
|
|
28
28
|
linkPrefetchHandlerAdded: new WeakSet(),
|
|
29
29
|
addLinkPrefetchHandlers_debounce: null,
|
|
30
30
|
mutationObserver: new MutationObserver(addLinkPrefetchHandlers),
|
|
@@ -2,7 +2,6 @@ import '../assertEnvClient.js';
|
|
|
2
2
|
export { renderPageClient };
|
|
3
3
|
export { getRenderCount };
|
|
4
4
|
export { disableClientRouting };
|
|
5
|
-
export { firstRenderStartPromise };
|
|
6
5
|
export { getPageContextClient };
|
|
7
6
|
export type { PageContextBegin };
|
|
8
7
|
export type { PageContextInternalClientAfterRender };
|
|
@@ -14,7 +13,6 @@ import type { PageContextClient } from '../../types/PageContext.js';
|
|
|
14
13
|
import { type PageContextPublicClient } from './getPageContextPublicClient.js';
|
|
15
14
|
import type { VikeGlobalInternal } from '../../types/VikeGlobalInternal.js';
|
|
16
15
|
type PageContextInternalClientAfterRender = NonNullable<Awaited<ReturnType<typeof renderPageClient>>>;
|
|
17
|
-
declare const firstRenderStartPromise: Promise<void>;
|
|
18
16
|
type PreviousPageContext = {
|
|
19
17
|
pageId: string;
|
|
20
18
|
} & PageContextConfig & PageContextRouted & PageContextCreatedClient & PageContextPublicClient;
|
|
@@ -105,7 +103,7 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
|
|
|
105
103
|
isClientSide: true;
|
|
106
104
|
} & {
|
|
107
105
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
108
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
106
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
109
107
|
};
|
|
110
108
|
_pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
|
|
111
109
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & PageContextConfig & {
|
|
@@ -200,7 +198,7 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
|
|
|
200
198
|
isClientSide: true;
|
|
201
199
|
} & {
|
|
202
200
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
203
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
201
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
204
202
|
};
|
|
205
203
|
_pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
|
|
206
204
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & PageContextConfig & {
|
|
@@ -296,7 +294,7 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
|
|
|
296
294
|
isClientSide: true;
|
|
297
295
|
} & {
|
|
298
296
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
299
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
297
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
300
298
|
};
|
|
301
299
|
_pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
|
|
302
300
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & PageContextConfig & {
|
|
@@ -395,7 +393,7 @@ declare function getPageContextBegin(isForErrorPage: boolean, { urlOriginal, isB
|
|
|
395
393
|
isClientSide: true;
|
|
396
394
|
} & {
|
|
397
395
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
398
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
396
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
399
397
|
};
|
|
400
398
|
_pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
|
|
401
399
|
} & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & {
|
|
@@ -2,7 +2,6 @@ import '../assertEnvClient.js';
|
|
|
2
2
|
export { renderPageClient };
|
|
3
3
|
export { getRenderCount };
|
|
4
4
|
export { disableClientRouting };
|
|
5
|
-
export { firstRenderStartPromise };
|
|
6
5
|
export { getPageContextClient };
|
|
7
6
|
import { assert, assertInfo, assertWarning } from '../../utils/assert.js';
|
|
8
7
|
import { catchInfiniteLoop } from '../../utils/catchInfiniteLoop.js';
|
|
@@ -19,11 +18,11 @@ import { createPageContextClient } from './createPageContextClient.js';
|
|
|
19
18
|
import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
|
|
20
19
|
import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js';
|
|
21
20
|
import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide, } from '../shared/loadPageConfigsLazyClientSide.js';
|
|
22
|
-
import { pushHistoryState } from './history.js';
|
|
21
|
+
import { pushHistoryState, saveScrollPosition } from './history.js';
|
|
23
22
|
import { addNewPageContextAborted, getPageContextAddendumAbort, isAbortError, logAbort, } from '../../shared-server-client/route/abort.js';
|
|
24
23
|
import { route } from '../../shared-server-client/route/index.js';
|
|
25
24
|
import { isClientSideRoutable } from './isClientSideRoutable.js';
|
|
26
|
-
import { setScrollPosition } from './setScrollPosition.js';
|
|
25
|
+
import { isScrollPosition, setScrollPosition } from './setScrollPosition.js';
|
|
27
26
|
import { scrollRestoration_initialRenderIsDone } from './scrollRestoration.js';
|
|
28
27
|
import { getErrorPageId, isErrorPage } from '../../shared-server-client/error-page.js';
|
|
29
28
|
import { setPageContextCurrent } from './getPageContextCurrent.js';
|
|
@@ -34,15 +33,14 @@ import { getPageContextPublicClient } from './getPageContextPublicClient.js';
|
|
|
34
33
|
import { getHooksFromPageContextNew } from '../../shared-server-client/hooks/getHook.js';
|
|
35
34
|
import { getPageContextPublicClientMinimal } from '../shared/getPageContextPublicClientShared.js';
|
|
36
35
|
import { logErrorClient } from './logErrorClient.js';
|
|
37
|
-
const globalObject = getGlobalObject('
|
|
38
|
-
const { promise:
|
|
36
|
+
const globalObject = getGlobalObject('renderPageClient.ts', (() => {
|
|
37
|
+
const { promise: hydrationAwaitPromise, resolve: hydrationAwaitPromiseResolve } = genPromise();
|
|
39
38
|
return {
|
|
40
39
|
renderCounter: 0,
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
hydrationAwaitPromise,
|
|
41
|
+
hydrationAwaitPromiseResolve,
|
|
43
42
|
};
|
|
44
43
|
})());
|
|
45
|
-
const { firstRenderStartPromise } = globalObject;
|
|
46
44
|
async function renderPageClient(renderArgs) {
|
|
47
45
|
catchInfiniteLoop('renderPageClient()');
|
|
48
46
|
const { urlOriginal = getCurrentUrl(), overwriteLastHistoryEntry = false, isBackwardNavigation = false, isHistoryNavigation = false, doNotRenderIfSamePage, isClientSideNavigation = true, pageContextInitClient, pageContextsAborted = [], } = renderArgs;
|
|
@@ -63,7 +61,15 @@ async function renderPageClient(renderArgs) {
|
|
|
63
61
|
redirectHard(urlOriginal);
|
|
64
62
|
return;
|
|
65
63
|
}
|
|
66
|
-
|
|
64
|
+
// Await hydration (unless +hydrationCanBeAborted)
|
|
65
|
+
if (!isFirstRender) {
|
|
66
|
+
await globalObject.hydrationAwaitPromise;
|
|
67
|
+
if (isRenderOutdated())
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Ensure no concurrent onRenderClient() calls.
|
|
71
|
+
// - We could `await globalObject.onRenderClientPreviousPromise` later just before execHookOnRenderClient() but we prefer doing it early to ensure `getPageContext() === usePageContext()` (and maybe it prevents other potential inconsistencies?).
|
|
72
|
+
await globalObject.onRenderClientPreviousPromise;
|
|
67
73
|
if (isRenderOutdated())
|
|
68
74
|
return;
|
|
69
75
|
return await renderPageNominal();
|
|
@@ -175,7 +181,9 @@ async function renderPageClient(renderArgs) {
|
|
|
175
181
|
setHydrationCanBeAborted();
|
|
176
182
|
}
|
|
177
183
|
else {
|
|
178
|
-
|
|
184
|
+
if (globalThis.__VIKE__IS_DEV) {
|
|
185
|
+
assertWarning(!isReact(), 'You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vike.dev/hydrationCanBeAborted', { onlyOnce: true });
|
|
186
|
+
}
|
|
179
187
|
}
|
|
180
188
|
// There wasn't any `await` but the isRenderOutdated() return value may have changed because we called setHydrationCanBeAborted()
|
|
181
189
|
if (isRenderOutdated())
|
|
@@ -396,16 +404,9 @@ async function renderPageClient(renderArgs) {
|
|
|
396
404
|
logErrorClient(err);
|
|
397
405
|
}
|
|
398
406
|
};
|
|
399
|
-
// We use globalObject.onRenderClientPreviousPromise in order to ensure that there is never two concurrent onRenderClient() calls
|
|
400
|
-
if (globalObject.onRenderClientPreviousPromise) {
|
|
401
|
-
// Make sure that the previous render has finished
|
|
402
|
-
await globalObject.onRenderClientPreviousPromise;
|
|
403
|
-
assert(globalObject.onRenderClientPreviousPromise === undefined);
|
|
404
|
-
if (isRenderOutdated())
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
407
|
changeUrl(urlOriginal, overwriteLastHistoryEntry);
|
|
408
408
|
globalObject.previousPageContext = pageContext;
|
|
409
|
+
// There should never be concurrent onRenderClient() calls
|
|
409
410
|
assert(globalObject.onRenderClientPreviousPromise === undefined);
|
|
410
411
|
const onRenderClientPromise = (async () => {
|
|
411
412
|
let onRenderClientError;
|
|
@@ -422,7 +423,6 @@ async function renderPageClient(renderArgs) {
|
|
|
422
423
|
})();
|
|
423
424
|
globalObject.onRenderClientPreviousPromise = onRenderClientPromise;
|
|
424
425
|
const onRenderClientError = await onRenderClientPromise;
|
|
425
|
-
assert(globalObject.onRenderClientPreviousPromise === undefined);
|
|
426
426
|
if (onRenderClientError) {
|
|
427
427
|
await onError(onRenderClientError);
|
|
428
428
|
if (!isErrorPage)
|
|
@@ -474,6 +474,10 @@ async function renderPageClient(renderArgs) {
|
|
|
474
474
|
}
|
|
475
475
|
// Page scrolling
|
|
476
476
|
setScrollPosition(scrollTarget, urlOriginal);
|
|
477
|
+
if (isScrollPosition(scrollTarget)) {
|
|
478
|
+
// Restore window.history.state.vike.scrollPosition (in case scrolling occurred during rendering)
|
|
479
|
+
saveScrollPosition(scrollTarget);
|
|
480
|
+
}
|
|
477
481
|
scrollRestoration_initialRenderIsDone();
|
|
478
482
|
if (pageContext._hasPageContextFromServer)
|
|
479
483
|
setPageContextInitIsPassedToClient(pageContext);
|
|
@@ -482,6 +486,7 @@ async function renderPageClient(renderArgs) {
|
|
|
482
486
|
addLinkPrefetchHandlers();
|
|
483
487
|
globalObject.renderedPageContext = pageContext;
|
|
484
488
|
stampFinished(urlOriginal);
|
|
489
|
+
globalObject.hydrationAwaitPromiseResolve();
|
|
485
490
|
return pageContext;
|
|
486
491
|
}
|
|
487
492
|
}
|
|
@@ -549,6 +554,7 @@ function getIsRenderOutdated() {
|
|
|
549
554
|
let hydrationCanBeAborted = false;
|
|
550
555
|
const setHydrationCanBeAborted = () => {
|
|
551
556
|
hydrationCanBeAborted = true;
|
|
557
|
+
globalObject.hydrationAwaitPromiseResolve();
|
|
552
558
|
};
|
|
553
559
|
/** Whether the rendering should be aborted because a new rendering has started. We should call this after each `await`. */
|
|
554
560
|
const isRenderOutdated = (isRenderCleanup) => {
|
|
@@ -8,7 +8,7 @@ export { scrollRestoration_initialRenderIsDone };
|
|
|
8
8
|
// See also: https://github.com/cyco130/knave/blob/e9e1bc7687848504293197f1b314b7d12ad0d228/design.md#scroll-restoration
|
|
9
9
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
10
10
|
import { onPageHide, onPageShow } from '../../utils/onPageVisibilityChange.js';
|
|
11
|
-
const globalObject = getGlobalObject('
|
|
11
|
+
const globalObject = getGlobalObject('scrollRestoration.ts', {});
|
|
12
12
|
function scrollRestoration_init() {
|
|
13
13
|
// Use the native scroll restoration mechanism only for the first render
|
|
14
14
|
scrollRestoration_enable();
|
|
@@ -2,11 +2,14 @@ import '../assertEnvClient.js';
|
|
|
2
2
|
export { setScrollPosition };
|
|
3
3
|
export { autoSaveScrollPosition };
|
|
4
4
|
export { scrollToHashOrTop };
|
|
5
|
+
export { isScrollPosition };
|
|
5
6
|
export type { ScrollTarget };
|
|
6
7
|
import { type ScrollPosition } from './history.js';
|
|
7
8
|
type ScrollTarget = undefined | {
|
|
8
9
|
preserveScroll: boolean;
|
|
10
|
+
y?: undefined;
|
|
9
11
|
} | ScrollPosition;
|
|
10
12
|
declare function setScrollPosition(scrollTarget: ScrollTarget, url?: string): void;
|
|
11
13
|
declare function scrollToHashOrTop(hash: null | string): void;
|
|
14
|
+
declare function isScrollPosition(scrollTarget: ScrollTarget | undefined): scrollTarget is ScrollPosition;
|
|
12
15
|
declare function autoSaveScrollPosition(): void;
|
|
@@ -2,6 +2,7 @@ import '../assertEnvClient.js';
|
|
|
2
2
|
export { setScrollPosition };
|
|
3
3
|
export { autoSaveScrollPosition };
|
|
4
4
|
export { scrollToHashOrTop };
|
|
5
|
+
export { isScrollPosition };
|
|
5
6
|
import { assert } from '../../utils/assert.js';
|
|
6
7
|
import { onPageHide } from '../../utils/onPageVisibilityChange.js';
|
|
7
8
|
import { sleep } from '../../utils/sleep.js';
|
|
@@ -12,7 +13,7 @@ function setScrollPosition(scrollTarget, url) {
|
|
|
12
13
|
scrollToTextFragment(url);
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
|
-
if (scrollTarget
|
|
16
|
+
if (isScrollPosition(scrollTarget)) {
|
|
16
17
|
setScroll(scrollTarget);
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
@@ -58,6 +59,9 @@ function scrollToHashOrTop(hash) {
|
|
|
58
59
|
function scrollToTop() {
|
|
59
60
|
setScroll({ x: 0, y: 0 });
|
|
60
61
|
}
|
|
62
|
+
function isScrollPosition(scrollTarget) {
|
|
63
|
+
return scrollTarget?.y !== undefined;
|
|
64
|
+
}
|
|
61
65
|
/**
|
|
62
66
|
* Change the browser's scroll position, in a way that works during a repaint.
|
|
63
67
|
*
|
|
@@ -118,6 +122,6 @@ function getUrlHash() {
|
|
|
118
122
|
// Save scroll position (needed for back-/forward navigation)
|
|
119
123
|
function autoSaveScrollPosition() {
|
|
120
124
|
// Safari cannot handle more than 100 `history.replaceState()` calls within 30 seconds (https://github.com/vikejs/vike/issues/46)
|
|
121
|
-
window.addEventListener('scroll', throttle(saveScrollPosition,
|
|
125
|
+
window.addEventListener('scroll', throttle(saveScrollPosition, 300), { passive: true });
|
|
122
126
|
onPageHide(saveScrollPosition);
|
|
123
127
|
}
|
|
@@ -127,7 +127,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
127
127
|
viteConfig: ResolvedConfig | undefined;
|
|
128
128
|
isClientSide: false;
|
|
129
129
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
130
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
130
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
131
131
|
} | {
|
|
132
132
|
_isPrerendering: true;
|
|
133
133
|
viteConfig: ResolvedConfig;
|
|
@@ -137,7 +137,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
137
137
|
_usesClientRouter: boolean;
|
|
138
138
|
isClientSide: false;
|
|
139
139
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
140
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
140
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
141
141
|
} | {
|
|
142
142
|
_isPrerendering: false;
|
|
143
143
|
viteConfig: null;
|
|
@@ -147,7 +147,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
147
147
|
_usesClientRouter: boolean;
|
|
148
148
|
isClientSide: false;
|
|
149
149
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
150
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
150
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
151
151
|
}) & {
|
|
152
152
|
baseServer: string;
|
|
153
153
|
baseAssets: string;
|
|
@@ -35,7 +35,7 @@ const configDefinitionsBuiltIn = {
|
|
|
35
35
|
cumulative: true,
|
|
36
36
|
},
|
|
37
37
|
onHookCall: {
|
|
38
|
-
env: { server: true
|
|
38
|
+
env: { server: true },
|
|
39
39
|
global: true,
|
|
40
40
|
cumulative: true,
|
|
41
41
|
},
|
|
@@ -219,7 +219,12 @@ const configDefinitionsBuiltIn = {
|
|
|
219
219
|
keepScrollPosition: {
|
|
220
220
|
env: { client: true },
|
|
221
221
|
},
|
|
222
|
-
middleware: {
|
|
222
|
+
middleware: {
|
|
223
|
+
env: { server: true },
|
|
224
|
+
cumulative: true,
|
|
225
|
+
eager: true,
|
|
226
|
+
global: true,
|
|
227
|
+
},
|
|
223
228
|
cli: {
|
|
224
229
|
env: { config: true },
|
|
225
230
|
global: true,
|
|
@@ -229,7 +234,6 @@ const configDefinitionsBuiltIn = {
|
|
|
229
234
|
eager: true,
|
|
230
235
|
global: true,
|
|
231
236
|
},
|
|
232
|
-
// TODO: align all meta configs
|
|
233
237
|
prerender: {
|
|
234
238
|
env: { config: true },
|
|
235
239
|
global: (value, { isGlobalLocation }) => typeof value === 'object' || isGlobalLocation,
|
|
@@ -26,7 +26,7 @@ import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
|
26
26
|
import { type PageRoutes } from '../../shared-server-client/route/loadPageRoutes.js';
|
|
27
27
|
import type { ViteConfigRuntime } from '../../node/vite/shared/getViteConfigRuntime.js';
|
|
28
28
|
import type { GlobalContext } from '../../types/GlobalContext.js';
|
|
29
|
-
import type {
|
|
29
|
+
import type { HookInternal } from '../../shared-server-client/hooks/getHook.js';
|
|
30
30
|
import type { PrerenderContext } from '../../types/index.js';
|
|
31
31
|
declare const vikeConfigErrorRecoverMsg: "Vike config loaded";
|
|
32
32
|
type GlobalContextServerInternal = Awaited<ReturnType<typeof createGlobalContext>>;
|
|
@@ -85,7 +85,7 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
85
85
|
viteConfig: ResolvedConfig | undefined;
|
|
86
86
|
isClientSide: false;
|
|
87
87
|
_pageRoutes: PageRoutes;
|
|
88
|
-
_onBeforeRouteHook:
|
|
88
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
89
89
|
} & {
|
|
90
90
|
baseServer: string;
|
|
91
91
|
baseAssets: string;
|
|
@@ -156,7 +156,7 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
156
156
|
_usesClientRouter: boolean;
|
|
157
157
|
isClientSide: false;
|
|
158
158
|
_pageRoutes: PageRoutes;
|
|
159
|
-
_onBeforeRouteHook:
|
|
159
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
160
160
|
} & {
|
|
161
161
|
baseServer: string;
|
|
162
162
|
baseAssets: string;
|
|
@@ -227,7 +227,7 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
227
227
|
_usesClientRouter: boolean;
|
|
228
228
|
isClientSide: false;
|
|
229
229
|
_pageRoutes: PageRoutes;
|
|
230
|
-
_onBeforeRouteHook:
|
|
230
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
231
231
|
} & {
|
|
232
232
|
baseServer: string;
|
|
233
233
|
baseAssets: string;
|
|
@@ -299,7 +299,7 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
299
299
|
viteConfig: ResolvedConfig | undefined;
|
|
300
300
|
isClientSide: false;
|
|
301
301
|
_pageRoutes: PageRoutes;
|
|
302
|
-
_onBeforeRouteHook:
|
|
302
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
303
303
|
} | {
|
|
304
304
|
_isPrerendering: true;
|
|
305
305
|
viteConfig: ResolvedConfig;
|
|
@@ -309,7 +309,7 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
309
309
|
_usesClientRouter: boolean;
|
|
310
310
|
isClientSide: false;
|
|
311
311
|
_pageRoutes: PageRoutes;
|
|
312
|
-
_onBeforeRouteHook:
|
|
312
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
313
313
|
} | {
|
|
314
314
|
_isPrerendering: false;
|
|
315
315
|
viteConfig: null;
|
|
@@ -319,7 +319,7 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
319
319
|
_usesClientRouter: boolean;
|
|
320
320
|
isClientSide: false;
|
|
321
321
|
_pageRoutes: PageRoutes;
|
|
322
|
-
_onBeforeRouteHook:
|
|
322
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
323
323
|
}) & {
|
|
324
324
|
baseServer: string;
|
|
325
325
|
baseAssets: string;
|
|
@@ -428,7 +428,7 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
428
428
|
viteConfig: ResolvedConfig | undefined;
|
|
429
429
|
isClientSide: false;
|
|
430
430
|
_pageRoutes: PageRoutes;
|
|
431
|
-
_onBeforeRouteHook:
|
|
431
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
432
432
|
} | {
|
|
433
433
|
_isPrerendering: true;
|
|
434
434
|
viteConfig: ResolvedConfig;
|
|
@@ -438,7 +438,7 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
438
438
|
_usesClientRouter: boolean;
|
|
439
439
|
isClientSide: false;
|
|
440
440
|
_pageRoutes: PageRoutes;
|
|
441
|
-
_onBeforeRouteHook:
|
|
441
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
442
442
|
} | {
|
|
443
443
|
_isPrerendering: false;
|
|
444
444
|
viteConfig: null;
|
|
@@ -448,7 +448,7 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
448
448
|
_usesClientRouter: boolean;
|
|
449
449
|
isClientSide: false;
|
|
450
450
|
_pageRoutes: PageRoutes;
|
|
451
|
-
_onBeforeRouteHook:
|
|
451
|
+
_onBeforeRouteHook: HookInternal | null;
|
|
452
452
|
}) & {
|
|
453
453
|
baseServer: string;
|
|
454
454
|
baseAssets: string;
|
|
@@ -76,7 +76,7 @@ declare function createPageContextServer(pageContextInit: PageContextInit, globa
|
|
|
76
76
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
77
77
|
isClientSide: false;
|
|
78
78
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
79
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
79
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
80
80
|
} | {
|
|
81
81
|
_isPrerendering: true;
|
|
82
82
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -86,7 +86,7 @@ declare function createPageContextServer(pageContextInit: PageContextInit, globa
|
|
|
86
86
|
_usesClientRouter: boolean;
|
|
87
87
|
isClientSide: false;
|
|
88
88
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
89
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
89
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
90
90
|
} | {
|
|
91
91
|
_isPrerendering: false;
|
|
92
92
|
viteConfig: null;
|
|
@@ -96,7 +96,7 @@ declare function createPageContextServer(pageContextInit: PageContextInit, globa
|
|
|
96
96
|
_usesClientRouter: boolean;
|
|
97
97
|
isClientSide: false;
|
|
98
98
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
99
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
99
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
100
100
|
}) & {
|
|
101
101
|
baseServer: string;
|
|
102
102
|
baseAssets: string;
|
|
@@ -2,14 +2,14 @@ import '../../assertEnvServer.js';
|
|
|
2
2
|
export { execHookOnRenderHtml };
|
|
3
3
|
export type { RenderHook };
|
|
4
4
|
import { type HtmlRender } from './html/renderHtml.js';
|
|
5
|
-
import { type
|
|
5
|
+
import { type HookInternal } from '../../../shared-server-client/hooks/getHook.js';
|
|
6
6
|
import type { PageAsset } from './getPageAssets.js';
|
|
7
7
|
import type { PageContextSerialization } from './html/serializeContext.js';
|
|
8
8
|
import { type PageContextExecHook } from '../../../shared-server-client/hooks/execHook.js';
|
|
9
9
|
import type { PageContextConfig } from '../../../shared-server-client/getPageFiles.js';
|
|
10
10
|
import type { PageContextInternalServer } from '../../../types/PageContext.js';
|
|
11
11
|
type GetPageAssets = () => Promise<PageAsset[]>;
|
|
12
|
-
type RenderHook =
|
|
12
|
+
type RenderHook = HookInternal & {
|
|
13
13
|
hookName: HookName;
|
|
14
14
|
};
|
|
15
15
|
type HookName = 'onRenderHtml' | 'render';
|
|
@@ -77,7 +77,7 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
77
77
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
78
78
|
isClientSide: false;
|
|
79
79
|
_pageRoutes: import("../../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
80
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
80
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
81
81
|
} | {
|
|
82
82
|
_isPrerendering: true;
|
|
83
83
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -87,7 +87,7 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
87
87
|
_usesClientRouter: boolean;
|
|
88
88
|
isClientSide: false;
|
|
89
89
|
_pageRoutes: import("../../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
90
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
90
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
91
91
|
} | {
|
|
92
92
|
_isPrerendering: false;
|
|
93
93
|
viteConfig: null;
|
|
@@ -97,7 +97,7 @@ declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPage
|
|
|
97
97
|
_usesClientRouter: boolean;
|
|
98
98
|
isClientSide: false;
|
|
99
99
|
_pageRoutes: import("../../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
100
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
100
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
101
101
|
}) & {
|
|
102
102
|
baseServer: string;
|
|
103
103
|
baseAssets: string;
|
|
@@ -85,7 +85,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
85
85
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
86
86
|
isClientSide: false;
|
|
87
87
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
88
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
88
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
89
89
|
} | {
|
|
90
90
|
_isPrerendering: true;
|
|
91
91
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -95,7 +95,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
95
95
|
_usesClientRouter: boolean;
|
|
96
96
|
isClientSide: false;
|
|
97
97
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
98
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
98
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
99
99
|
} | {
|
|
100
100
|
_isPrerendering: false;
|
|
101
101
|
viteConfig: null;
|
|
@@ -105,7 +105,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
105
105
|
_usesClientRouter: boolean;
|
|
106
106
|
isClientSide: false;
|
|
107
107
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
108
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
108
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
109
109
|
}) & {
|
|
110
110
|
baseServer: string;
|
|
111
111
|
baseAssets: string;
|
|
@@ -246,7 +246,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
246
246
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
247
247
|
isClientSide: false;
|
|
248
248
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
249
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
249
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
250
250
|
} | {
|
|
251
251
|
_isPrerendering: true;
|
|
252
252
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -256,7 +256,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
256
256
|
_usesClientRouter: boolean;
|
|
257
257
|
isClientSide: false;
|
|
258
258
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
259
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
259
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
260
260
|
} | {
|
|
261
261
|
_isPrerendering: false;
|
|
262
262
|
viteConfig: null;
|
|
@@ -266,7 +266,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
|
|
|
266
266
|
_usesClientRouter: boolean;
|
|
267
267
|
isClientSide: false;
|
|
268
268
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
269
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
269
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
270
270
|
}) & {
|
|
271
271
|
baseServer: string;
|
|
272
272
|
baseAssets: string;
|
|
@@ -415,7 +415,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
415
415
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
416
416
|
isClientSide: false;
|
|
417
417
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
418
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
418
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
419
419
|
} | {
|
|
420
420
|
_isPrerendering: true;
|
|
421
421
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -425,7 +425,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
425
425
|
_usesClientRouter: boolean;
|
|
426
426
|
isClientSide: false;
|
|
427
427
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
428
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
428
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
429
429
|
} | {
|
|
430
430
|
_isPrerendering: false;
|
|
431
431
|
viteConfig: null;
|
|
@@ -435,7 +435,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
435
435
|
_usesClientRouter: boolean;
|
|
436
436
|
isClientSide: false;
|
|
437
437
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
438
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
438
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
439
439
|
}) & {
|
|
440
440
|
baseServer: string;
|
|
441
441
|
baseAssets: string;
|
|
@@ -576,7 +576,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
576
576
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
577
577
|
isClientSide: false;
|
|
578
578
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
579
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
579
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
580
580
|
} | {
|
|
581
581
|
_isPrerendering: true;
|
|
582
582
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -586,7 +586,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
586
586
|
_usesClientRouter: boolean;
|
|
587
587
|
isClientSide: false;
|
|
588
588
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
589
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
589
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
590
590
|
} | {
|
|
591
591
|
_isPrerendering: false;
|
|
592
592
|
viteConfig: null;
|
|
@@ -596,7 +596,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
|
|
|
596
596
|
_usesClientRouter: boolean;
|
|
597
597
|
isClientSide: false;
|
|
598
598
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
599
|
-
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").
|
|
599
|
+
_onBeforeRouteHook: import("../../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
600
600
|
}) & {
|
|
601
601
|
baseServer: string;
|
|
602
602
|
baseAssets: string;
|
|
@@ -76,7 +76,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
76
76
|
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
77
77
|
isClientSide: false;
|
|
78
78
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
79
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
79
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
80
80
|
} | {
|
|
81
81
|
_isPrerendering: true;
|
|
82
82
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -86,7 +86,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
86
86
|
_usesClientRouter: boolean;
|
|
87
87
|
isClientSide: false;
|
|
88
88
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
89
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
89
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
90
90
|
} | {
|
|
91
91
|
_isPrerendering: false;
|
|
92
92
|
viteConfig: null;
|
|
@@ -96,7 +96,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
96
96
|
_usesClientRouter: boolean;
|
|
97
97
|
isClientSide: false;
|
|
98
98
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
99
|
-
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").
|
|
99
|
+
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
100
100
|
}) & {
|
|
101
101
|
baseServer: string;
|
|
102
102
|
baseAssets: string;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
// TO-DO/eventually: remove
|
|
1
2
|
export { assertVirtualFileExports };
|
|
2
3
|
import { assert } from '../utils/assert.js';
|
|
3
4
|
function assertVirtualFileExports(moduleExports, test, moduleId) {
|
|
4
|
-
|
|
5
|
+
assert(moduleExports, typeof moduleExports);
|
|
6
|
+
if (!test(moduleExports)) {
|
|
5
7
|
/* https://github.com/vikejs/vike/issues/2903#issuecomment-3642285811
|
|
6
8
|
throw getProjectError('@cloudflare/vite-plugin error https://github.com/vikejs/vike/issues/2903#issuecomment-3642285811')
|
|
7
9
|
/*/
|
|
@@ -10,7 +12,5 @@ function assertVirtualFileExports(moduleExports, test, moduleId) {
|
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
14
|
function getKeys(obj) {
|
|
13
|
-
if (obj === undefined)
|
|
14
|
-
return null;
|
|
15
15
|
return [...Object.getOwnPropertyNames(obj), ...Object.getOwnPropertySymbols(obj), ...Object.keys(obj)];
|
|
16
16
|
}
|
|
@@ -8,11 +8,11 @@ import type { PageConfigRuntime } from '../types/PageConfig.js';
|
|
|
8
8
|
import { type GlobalContextPublicMinimum } from './getGlobalContextPublicShared.js';
|
|
9
9
|
import type { GlobalContextServerInternal } from '../server/runtime/globalContext.js';
|
|
10
10
|
import type { GlobalContextClientInternal } from '../client/runtime-client-routing/getGlobalContextClientInternal.js';
|
|
11
|
-
import { type
|
|
11
|
+
import { type HookInternal } from './hooks/getHook.js';
|
|
12
12
|
declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
13
13
|
declare function createGlobalContextShared<GlobalContextAdded extends {}, GlobalContextAddedAsync extends {}>(virtualFileExportsGlobalEntry: unknown, globalObject: {
|
|
14
14
|
globalContext?: {};
|
|
15
|
-
onCreateGlobalContextHooks?:
|
|
15
|
+
onCreateGlobalContextHooks?: HookInternal<GlobalContextPublicMinimum>[];
|
|
16
16
|
previousCreateGlobalContextPromise?: Promise<void>;
|
|
17
17
|
}, addGlobalContext?: (globalContext: GlobalContextBase) => GlobalContextAdded, addGlobalContextTmp?: (globalContext: GlobalContextBase) => Promise<GlobalContextAdded>, addGlobalContextAsync?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddedAsync>): Promise<{
|
|
18
18
|
_globalConfigPublic: {
|
|
@@ -9,28 +9,34 @@ export { getPageContext_sync };
|
|
|
9
9
|
export { providePageContext };
|
|
10
10
|
export { isUserHookError };
|
|
11
11
|
export type { PageContextExecHook };
|
|
12
|
+
export type { HookPublic };
|
|
12
13
|
import type { PageContextClient, PageContextServer } from '../../types/PageContext.js';
|
|
13
|
-
import type {
|
|
14
|
+
import type { HookInternal, HookLoc } from './getHook.js';
|
|
14
15
|
import type { PageContextConfig } from '../getPageFiles.js';
|
|
15
16
|
import type { HookName, HookNameGlobal } from '../../types/Config.js';
|
|
16
17
|
import { type PageContextPublicMinimum } from '../getPageContextPublicShared.js';
|
|
17
18
|
import type { GlobalContextPublicMinimum } from '../getGlobalContextPublicShared.js';
|
|
18
|
-
type HookWithResult =
|
|
19
|
+
type HookWithResult = HookInternal & {
|
|
19
20
|
hookReturn: unknown;
|
|
20
21
|
};
|
|
21
22
|
type PageContextExecHook = PageContextPublicMinimum;
|
|
22
23
|
declare function execHook<PageContext extends PageContextExecHook & PageContextConfig>(hookName: HookName, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>;
|
|
23
24
|
declare function execHookGlobal(hookName: HookNameGlobal, globalContext: GlobalContextPublicMinimum, getGlobalContextPublic: (globalContext: GlobalContextPublicMinimum) => GlobalContextPublicMinimum): Promise<void>;
|
|
24
|
-
declare function execHookList<PageContext extends PageContextExecHook>(hooks:
|
|
25
|
-
declare function execHookSingle<PageContext extends PageContextExecHook>(hook:
|
|
26
|
-
declare function execHookSingleWithReturn<PageContext extends PageContextExecHook>(hook:
|
|
25
|
+
declare function execHookList<PageContext extends PageContextExecHook>(hooks: HookInternal[], pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>;
|
|
26
|
+
declare function execHookSingle<PageContext extends PageContextExecHook>(hook: HookInternal, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<void>;
|
|
27
|
+
declare function execHookSingleWithReturn<PageContext extends PageContextExecHook>(hook: HookInternal, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<{
|
|
27
28
|
hookReturn: unknown;
|
|
28
29
|
}>;
|
|
29
30
|
declare function isUserHookError(err: unknown): false | HookLoc;
|
|
30
|
-
declare function execHookSingleWithoutPageContext<HookReturn>(hook: Omit<
|
|
31
|
-
declare function execHookSingleSync<PageContext extends PageContextExecHook>(hook: Omit<
|
|
31
|
+
declare function execHookSingleWithoutPageContext<HookReturn>(hook: Omit<HookInternal, 'hookFn'>, globalContext: GlobalContextPublicMinimum, hookFnCaller: () => HookReturn): Promise<HookReturn>;
|
|
32
|
+
declare function execHookSingleSync<PageContext extends PageContextExecHook>(hook: Omit<HookInternal<PageContext>, 'hookTimeout'>, globalContext: GlobalContextPublicMinimum, pageContext: PageContext | null, getPageContextPublic: (pageContext: PageContext) => PageContext, hookFnCaller?: () => unknown): {
|
|
32
33
|
hookReturn: unknown;
|
|
33
34
|
};
|
|
35
|
+
type HookPublic = {
|
|
36
|
+
name: HookName;
|
|
37
|
+
filePath: string;
|
|
38
|
+
call: () => void | Promise<void>;
|
|
39
|
+
};
|
|
34
40
|
declare function getPageContext_sync<PageContext = PageContextClient | PageContextServer>(): null | PageContext;
|
|
35
41
|
/**
|
|
36
42
|
* Provide `pageContext` for universal hooks.
|
|
@@ -136,6 +136,7 @@ function execHookBase(hookFnCaller, hook, globalContext, pageContext) {
|
|
|
136
136
|
return originalReturn;
|
|
137
137
|
};
|
|
138
138
|
for (const onHookCall of configValue.value) {
|
|
139
|
+
// @ts-expect-error
|
|
139
140
|
const hookPublic = { name: hookName, filePath: hookFilePath, call };
|
|
140
141
|
// Recursively wrap callOriginal() so +onHookCall can use async hooks. (E.g. vike-react-sentry integrates Sentry's `Tracer.startActiveSpan()`.)
|
|
141
142
|
call = () => {
|
|
@@ -4,7 +4,7 @@ export { getHookFromPageConfig };
|
|
|
4
4
|
export { getHookFromPageConfigGlobal };
|
|
5
5
|
export { getHooksFromPageConfigGlobalCumulative };
|
|
6
6
|
export { getHook_setIsPrerenderering };
|
|
7
|
-
export type {
|
|
7
|
+
export type { HookInternal };
|
|
8
8
|
export type { HookLoc };
|
|
9
9
|
export type { HookTimeout };
|
|
10
10
|
export type { HooksTimeoutProvidedByUser };
|
|
@@ -15,7 +15,7 @@ import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/Pag
|
|
|
15
15
|
import type { GlobalContextPublicMinimum } from '../getGlobalContextPublicShared.js';
|
|
16
16
|
import type { PageContextPublicMinimum } from '../getPageContextPublicShared.js';
|
|
17
17
|
type HookArgDefault = PageContextPublicMinimum;
|
|
18
|
-
type
|
|
18
|
+
type HookInternal<HookArg = HookArgDefault> = HookLoc & {
|
|
19
19
|
hookFn: HookFn<HookArg>;
|
|
20
20
|
hookTimeout: HookTimeout;
|
|
21
21
|
};
|
|
@@ -29,10 +29,10 @@ type HookTimeout = {
|
|
|
29
29
|
warning: number | false;
|
|
30
30
|
};
|
|
31
31
|
type HooksTimeoutProvidedByUser = false | Partial<Record<HookNameOld, false | Partial<HookTimeout>>>;
|
|
32
|
-
declare function getHookFromPageContext(pageContext: PageContextConfig, hookName: HookNameOld): null |
|
|
33
|
-
declare function getHooksFromPageContextNew(hookName: HookName, pageContext: PageContextConfig):
|
|
34
|
-
declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null |
|
|
35
|
-
declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null |
|
|
36
|
-
declare function getHooksFromPageConfigGlobalCumulative<HookArg = GlobalContextPublicMinimum>(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal):
|
|
32
|
+
declare function getHookFromPageContext(pageContext: PageContextConfig, hookName: HookNameOld): null | HookInternal;
|
|
33
|
+
declare function getHooksFromPageContextNew(hookName: HookName, pageContext: PageContextConfig): HookInternal[];
|
|
34
|
+
declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | HookInternal;
|
|
35
|
+
declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | HookInternal;
|
|
36
|
+
declare function getHooksFromPageConfigGlobalCumulative<HookArg = GlobalContextPublicMinimum>(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): HookInternal<HookArg>[];
|
|
37
37
|
declare function getHookTimeoutDefault(hookName: HookNameOld): HookTimeout;
|
|
38
38
|
declare function getHook_setIsPrerenderering(): void;
|
|
@@ -4,7 +4,7 @@ export type { PageRoutes };
|
|
|
4
4
|
export type { RouteType };
|
|
5
5
|
import type { PageFile } from '../getPageFiles.js';
|
|
6
6
|
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../types/PageConfig.js';
|
|
7
|
-
import { type
|
|
7
|
+
import { type HookInternal } from '../hooks/getHook.js';
|
|
8
8
|
type PageRoute = {
|
|
9
9
|
pageId: string;
|
|
10
10
|
comesFromV1PageConfig: boolean;
|
|
@@ -27,9 +27,9 @@ type PageRoutes = PageRoute[];
|
|
|
27
27
|
type RouteType = 'STRING' | 'FUNCTION' | 'FILESYSTEM';
|
|
28
28
|
declare function loadPageRoutes(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime, allPageIds: string[]): Promise<{
|
|
29
29
|
pageRoutes: PageRoutes;
|
|
30
|
-
onBeforeRouteHook: null |
|
|
30
|
+
onBeforeRouteHook: null | HookInternal;
|
|
31
31
|
}>;
|
|
32
32
|
declare function loadPageRoutesSync(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime, allPageIds: string[]): {
|
|
33
33
|
pageRoutes: PageRoutes;
|
|
34
|
-
onBeforeRouteHook: null |
|
|
34
|
+
onBeforeRouteHook: null | HookInternal;
|
|
35
35
|
};
|
package/dist/types/Config.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ import type { PassToClientPublic } from '../server/runtime/renderPageServer/html
|
|
|
48
48
|
import type { CliPreviewConfig } from '../node/api/preview.js';
|
|
49
49
|
import type { StaticReplace } from '../node/vite/plugins/pluginStaticReplace/applyStaticReplace.js';
|
|
50
50
|
import type { ImportStringList } from '../node/vite/shared/importString.js';
|
|
51
|
+
import type { HookPublic } from '../shared-server-client/hooks/execHook.js';
|
|
51
52
|
type HookNameOld = HookName | HookNameOldDesign;
|
|
52
53
|
type HookName = HookNamePage | HookNameGlobal;
|
|
53
54
|
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
|
|
@@ -296,11 +297,7 @@ type ConfigBuiltIn = {
|
|
|
296
297
|
*
|
|
297
298
|
* https://vike.dev/onHookCall
|
|
298
299
|
*/
|
|
299
|
-
onHookCall?: ((hook:
|
|
300
|
-
name: HookName;
|
|
301
|
-
filePath: string;
|
|
302
|
-
call: () => void | Promise<void>;
|
|
303
|
-
}, pageContext: PageContextClient | PageContextServer | null) => void | Promise<void>) | ImportStringList;
|
|
300
|
+
onHookCall?: ((hook: HookPublic, pageContext: PageContextServer | null) => void | Promise<void>) | ImportStringList;
|
|
304
301
|
/** Hook for fetching data.
|
|
305
302
|
*
|
|
306
303
|
* https://vike.dev/data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.252-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.252-commit-a938132";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.252-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.252-commit-a938132';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.252-commit-
|
|
3
|
+
"version": "0.4.252-commit-a938132",
|
|
4
4
|
"repository": "https://github.com/vikejs/vike",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"node": ">=20.19.0"
|
|
154
154
|
},
|
|
155
155
|
"license": "MIT",
|
|
156
|
-
"description": "(Replaces Next.js/Nuxt) 🔨 Composable framework to build
|
|
156
|
+
"description": "(Replaces Next.js/Nuxt) 🔨 Composable framework to build advanced applications with flexibility and stability.",
|
|
157
157
|
"keywords": [
|
|
158
158
|
"vite-plugin",
|
|
159
159
|
"ssr",
|