vike 0.4.144-commit-de18325 → 0.4.145-commit-2520555
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/node/plugin/plugins/buildConfig.js +1 -1
- package/dist/cjs/node/plugin/plugins/config/index.js +3 -3
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +5 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +4 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +18 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +2 -2
- package/dist/cjs/node/prerender/runPrerender.js +17 -8
- package/dist/cjs/node/runtime/renderPage/log404/index.js +2 -1
- package/dist/cjs/node/shared/getConfigVike.js +4 -1
- package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +8 -5
- package/dist/cjs/shared/route/noRouteMatch.js +4 -0
- package/dist/cjs/utils/isExternalLink.js +7 -0
- package/dist/cjs/utils/onPageVisibilityChange.js +19 -0
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/client/client-routing-runtime/createPageContext.js +0 -1
- package/dist/esm/client/client-routing-runtime/getBaseServer.d.ts +2 -1
- package/dist/esm/client/client-routing-runtime/getBaseServer.js +2 -1
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +39 -0
- package/dist/esm/client/client-routing-runtime/{getPageContext.js → getPageContextFromHooks.js} +48 -74
- package/dist/esm/client/client-routing-runtime/history.js +9 -5
- package/dist/esm/client/client-routing-runtime/installClientRouter.d.ts +0 -19
- package/dist/esm/client/client-routing-runtime/installClientRouter.js +11 -488
- package/dist/esm/client/client-routing-runtime/isClientSideRoutable.d.ts +3 -3
- package/dist/esm/client/client-routing-runtime/isClientSideRoutable.js +4 -7
- package/dist/esm/client/client-routing-runtime/navigate.js +2 -3
- package/dist/esm/client/client-routing-runtime/onBrowserHistoryNavigation.d.ts +4 -0
- package/dist/esm/client/client-routing-runtime/onBrowserHistoryNavigation.js +63 -0
- package/dist/esm/client/client-routing-runtime/onLinkClick.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/onLinkClick.js +40 -0
- package/dist/esm/client/client-routing-runtime/prefetch.js +7 -8
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +19 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +347 -0
- package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +6 -0
- package/dist/esm/client/client-routing-runtime/scrollRestoration.js +25 -0
- package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +7 -0
- package/dist/esm/client/client-routing-runtime/setScrollPosition.js +77 -0
- package/dist/esm/client/client-routing-runtime/skipLink.js +9 -4
- package/dist/esm/client/client-routing-runtime/utils.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/utils.js +2 -0
- package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/esm/node/plugin/plugins/config/index.js +4 -4
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +6 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +4 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +18 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +3 -3
- package/dist/esm/node/prerender/runPrerender.js +17 -8
- package/dist/esm/node/runtime/renderPage/log404/index.js +2 -1
- package/dist/esm/node/shared/getConfigVike.d.ts +2 -1
- package/dist/esm/node/shared/getConfigVike.js +4 -1
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +9 -3
- package/dist/esm/shared/route/noRouteMatch.d.ts +1 -0
- package/dist/esm/shared/route/noRouteMatch.js +1 -0
- package/dist/esm/utils/onPageVisibilityChange.d.ts +4 -0
- package/dist/esm/utils/onPageVisibilityChange.js +16 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/projectInfo.js +1 -1
- package/node/cli/bin-entry.js +1 -1
- package/package.json +1 -1
- package/dist/esm/client/client-routing-runtime/getPageContext.d.ts +0 -28
- package/dist/esm/client/client-routing-runtime/navigationState.d.ts +0 -5
- package/dist/esm/client/client-routing-runtime/navigationState.js +0 -14
- /package/dist/esm/{client/client-routing-runtime → utils}/isExternalLink.d.ts +0 -0
- /package/dist/esm/{client/client-routing-runtime → utils}/isExternalLink.js +0 -0
package/dist/esm/client/client-routing-runtime/{getPageContext.js → getPageContextFromHooks.js}
RENAMED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { getPageContextFromHooks_firstRender };
|
|
2
|
+
export { getPageContextFromHooks_uponNavigation };
|
|
3
|
+
export { getPageContextFromHooks_errorPage };
|
|
4
4
|
export { isAlreadyServerSideRouted };
|
|
5
|
-
import { navigationState } from './navigationState.js';
|
|
6
5
|
import { assert, assertUsage, hasProp, objectAssign, getProjectError, serverSideRouteTo, executeHook, isObject, getGlobalObject } from './utils.js';
|
|
7
6
|
import { parse } from '@brillout/json-serializer/parse';
|
|
8
7
|
import { getPageContextSerializedInHtml } from '../shared/getPageContextSerializedInHtml.js';
|
|
9
8
|
import { analyzePageServerSide } from '../../shared/getPageFiles/analyzePageServerSide.js';
|
|
10
|
-
import { route } from '../../shared/route/index.js';
|
|
11
9
|
import { getErrorPageId } from '../../shared/error-page.js';
|
|
12
10
|
import { getHook } from '../../shared/hooks/getHook.js';
|
|
13
11
|
import { preparePageContextForUserConsumptionClientSide } from '../shared/preparePageContextForUserConsumptionClientSide.js';
|
|
@@ -19,85 +17,75 @@ import { assertOnBeforeRenderHookReturn } from '../../shared/assertOnBeforeRende
|
|
|
19
17
|
import { executeGuardHook } from '../../shared/route/executeGuardHook.js';
|
|
20
18
|
import { AbortRender, isAbortPageContext } from '../../shared/route/abort.js';
|
|
21
19
|
const globalObject = getGlobalObject('router/getPageContext.ts', {});
|
|
22
|
-
async function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return pageContextAddendum;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const pageContextAddendum = await getPageContextUponNavigation(pageContext);
|
|
30
|
-
setPageContextInitHasClientData(pageContextAddendum);
|
|
31
|
-
return pageContextAddendum;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async function getPageContextFirstRender(pageContext) {
|
|
35
|
-
const pageContextAddendum = getPageContextSerializedInHtml();
|
|
36
|
-
removeBuiltInOverrides(pageContextAddendum);
|
|
37
|
-
objectAssign(pageContextAddendum, {
|
|
20
|
+
async function getPageContextFromHooks_firstRender(pageContext) {
|
|
21
|
+
const pageContextFromHooks = getPageContextSerializedInHtml();
|
|
22
|
+
removeBuiltInOverrides(pageContextFromHooks);
|
|
23
|
+
objectAssign(pageContextFromHooks, {
|
|
38
24
|
isHydration: true,
|
|
39
25
|
_hasPageContextFromClient: false
|
|
40
26
|
});
|
|
41
|
-
objectAssign(
|
|
27
|
+
objectAssign(pageContextFromHooks, await loadPageFilesClientSide(pageContextFromHooks._pageId, pageContext));
|
|
42
28
|
{
|
|
43
|
-
const pageContextForHook = { ...pageContext, ...
|
|
29
|
+
const pageContextForHook = { ...pageContext, ...pageContextFromHooks };
|
|
44
30
|
if (await onBeforeRenderClientOnlyExists(pageContextForHook)) {
|
|
45
31
|
const pageContextFromHook = await executeOnBeforeRenderHookClientSide(pageContextForHook);
|
|
46
|
-
objectAssign(
|
|
32
|
+
objectAssign(pageContextFromHooks, pageContextFromHook);
|
|
47
33
|
}
|
|
48
34
|
}
|
|
49
|
-
|
|
35
|
+
setPageContextInitHasClientData(pageContextFromHooks);
|
|
36
|
+
return pageContextFromHooks;
|
|
50
37
|
}
|
|
51
|
-
async function
|
|
38
|
+
async function getPageContextFromHooks_errorPage(pageContext) {
|
|
52
39
|
const errorPageId = getErrorPageId(pageContext._pageFilesAll, pageContext._pageConfigs);
|
|
53
40
|
if (!errorPageId)
|
|
54
41
|
throw new Error('No error page defined.');
|
|
55
|
-
const
|
|
42
|
+
const pageContextFromHooks = {
|
|
56
43
|
isHydration: false,
|
|
57
44
|
_pageId: errorPageId
|
|
58
45
|
};
|
|
59
|
-
objectAssign(
|
|
60
|
-
return
|
|
46
|
+
objectAssign(pageContextFromHooks, await getPageContextAlreadyRouted({ ...pageContext, ...pageContextFromHooks }, true));
|
|
47
|
+
return pageContextFromHooks;
|
|
61
48
|
}
|
|
62
|
-
async function
|
|
63
|
-
const
|
|
64
|
-
isHydration: false
|
|
49
|
+
async function getPageContextFromHooks_uponNavigation(pageContext) {
|
|
50
|
+
const pageContextFromHooks = {
|
|
51
|
+
isHydration: false,
|
|
52
|
+
_pageId: pageContext._pageId
|
|
65
53
|
};
|
|
66
|
-
objectAssign(
|
|
67
|
-
|
|
68
|
-
return
|
|
54
|
+
objectAssign(pageContextFromHooks, await getPageContextAlreadyRouted({ ...pageContext, ...pageContextFromHooks }, false));
|
|
55
|
+
setPageContextInitHasClientData(pageContextFromHooks);
|
|
56
|
+
return pageContextFromHooks;
|
|
69
57
|
}
|
|
70
58
|
async function getPageContextAlreadyRouted(pageContext, isErrorPage) {
|
|
71
|
-
let
|
|
72
|
-
objectAssign(
|
|
59
|
+
let pageContextFromHooks = {};
|
|
60
|
+
objectAssign(pageContextFromHooks, await loadPageFilesClientSide(pageContext._pageId, pageContext));
|
|
73
61
|
// Needs to be called before any client-side hook, because it may contain pageContextInit.user which is needed for guard() and onBeforeRender()
|
|
74
62
|
if (
|
|
75
63
|
// For the error page, we cannot fetch pageContext from the server because the pageContext JSON request is based on the URL
|
|
76
64
|
!isErrorPage &&
|
|
77
|
-
(await hasPageContextServer({ ...pageContext, ...
|
|
65
|
+
(await hasPageContextServer({ ...pageContext, ...pageContextFromHooks }))) {
|
|
78
66
|
const pageContextFromServer = await fetchPageContextFromServer(pageContext);
|
|
79
67
|
if (!pageContextFromServer['_isError']) {
|
|
80
|
-
objectAssign(
|
|
68
|
+
objectAssign(pageContextFromHooks, pageContextFromServer);
|
|
81
69
|
}
|
|
82
70
|
else {
|
|
83
71
|
const errorPageId = getErrorPageId(pageContext._pageFilesAll, pageContext._pageConfigs);
|
|
84
72
|
assert(errorPageId);
|
|
85
|
-
|
|
86
|
-
objectAssign(
|
|
73
|
+
pageContextFromHooks = {};
|
|
74
|
+
objectAssign(pageContextFromHooks, {
|
|
87
75
|
isHydration: false,
|
|
88
76
|
_pageId: errorPageId
|
|
89
77
|
});
|
|
90
|
-
objectAssign(
|
|
78
|
+
objectAssign(pageContextFromHooks, await loadPageFilesClientSide(pageContextFromHooks._pageId, pageContext));
|
|
91
79
|
assert(hasProp(pageContextFromServer, 'is404', 'boolean'));
|
|
92
80
|
assert(hasProp(pageContextFromServer, 'pageProps', 'object'));
|
|
93
81
|
assert(hasProp(pageContextFromServer.pageProps, 'is404', 'boolean'));
|
|
94
82
|
// When the user hasn't define a `_error.page.js` file: the mechanism with `serverSideError: true` is used instead
|
|
95
83
|
assert(!('serverSideError' in pageContextFromServer));
|
|
96
|
-
objectAssign(
|
|
84
|
+
objectAssign(pageContextFromHooks, pageContextFromServer);
|
|
97
85
|
}
|
|
98
86
|
}
|
|
99
87
|
else {
|
|
100
|
-
objectAssign(
|
|
88
|
+
objectAssign(pageContextFromHooks, { _hasPageContextFromServer: false });
|
|
101
89
|
// We don't need to call guard() on the client-side if we fetch pageContext from the server side. (Because the `${url}.pageContext.json` HTTP request will already trigger the routing and guard() hook on the serve-side.)
|
|
102
90
|
// We cannot call guard() before retrieving pageContext from server, since the server-side may define pageContextInit.user which is paramount for guard() hooks
|
|
103
91
|
if (!isErrorPage) {
|
|
@@ -105,41 +93,41 @@ async function getPageContextAlreadyRouted(pageContext, isErrorPage) {
|
|
|
105
93
|
await executeGuardHook({
|
|
106
94
|
_hasPageContextFromClient: false,
|
|
107
95
|
...pageContext,
|
|
108
|
-
...
|
|
96
|
+
...pageContextFromHooks
|
|
109
97
|
}, (pageContext) => preparePageContextForUserConsumptionClientSide(pageContext, true));
|
|
110
98
|
}
|
|
111
99
|
}
|
|
112
100
|
{
|
|
113
101
|
// For the error page, we also execute the client-side onBeforeRender() hook, but maybe we shouldn't? The server-side does it as well (but maybe it shouldn't).
|
|
114
|
-
const
|
|
115
|
-
|
|
102
|
+
const pageContextFromOnBeforeRender = await executeOnBeforeRenderHookClientSide({
|
|
103
|
+
...pageContext,
|
|
104
|
+
...pageContextFromHooks
|
|
105
|
+
});
|
|
106
|
+
objectAssign(pageContextFromHooks, pageContextFromOnBeforeRender);
|
|
116
107
|
}
|
|
117
|
-
return
|
|
108
|
+
return pageContextFromHooks;
|
|
118
109
|
}
|
|
119
110
|
async function executeOnBeforeRenderHookClientSide(pageContext) {
|
|
120
111
|
const hook = getHook(pageContext, 'onBeforeRender');
|
|
121
112
|
if (!hook) {
|
|
122
|
-
const
|
|
113
|
+
const pageContextFromOnBeforeRender = {
|
|
123
114
|
_hasPageContextFromClient: false
|
|
124
115
|
};
|
|
125
|
-
return
|
|
116
|
+
return pageContextFromOnBeforeRender;
|
|
126
117
|
}
|
|
127
118
|
const onBeforeRender = hook.hookFn;
|
|
128
|
-
const
|
|
119
|
+
const pageContextFromOnBeforeRender = {
|
|
129
120
|
_hasPageContextFromClient: true
|
|
130
121
|
};
|
|
131
122
|
const pageContextForUserConsumption = preparePageContextForUserConsumptionClientSide({
|
|
132
123
|
...pageContext,
|
|
133
|
-
...
|
|
124
|
+
...pageContextFromOnBeforeRender
|
|
134
125
|
}, true);
|
|
135
126
|
const hookResult = await executeHook(() => onBeforeRender(pageContextForUserConsumption), 'onBeforeRender', hook.hookFilePath);
|
|
136
127
|
assertOnBeforeRenderHookReturn(hookResult, hook.hookFilePath);
|
|
137
128
|
const pageContextFromHook = hookResult?.pageContext;
|
|
138
|
-
objectAssign(
|
|
139
|
-
return
|
|
140
|
-
}
|
|
141
|
-
async function hasPageContextServer(pageContext) {
|
|
142
|
-
return !!globalObject.pageContextInitHasClientData || (await onBeforeRenderServerOnlyExists(pageContext));
|
|
129
|
+
objectAssign(pageContextFromOnBeforeRender, pageContextFromHook);
|
|
130
|
+
return pageContextFromOnBeforeRender;
|
|
143
131
|
}
|
|
144
132
|
// Workaround for the fact that the client-side cannot known whether a pageContext JSON request is needed in order to fetch pageContextInit data passed to the client.
|
|
145
133
|
// - The workaround is reliable as long as the user sets additional pageContextInit to undefined instead of not defining the property:
|
|
@@ -158,6 +146,9 @@ function setPageContextInitHasClientData(pageContext) {
|
|
|
158
146
|
globalObject.pageContextInitHasClientData = true;
|
|
159
147
|
}
|
|
160
148
|
}
|
|
149
|
+
async function hasPageContextServer(pageContext) {
|
|
150
|
+
return !!globalObject.pageContextInitHasClientData || (await onBeforeRenderServerOnlyExists(pageContext));
|
|
151
|
+
}
|
|
161
152
|
async function onBeforeRenderServerOnlyExists(pageContext) {
|
|
162
153
|
if (pageContext._pageConfigs.length > 0) {
|
|
163
154
|
// V1
|
|
@@ -182,23 +173,6 @@ async function onBeforeRenderClientOnlyExists(pageContext) {
|
|
|
182
173
|
return false;
|
|
183
174
|
}
|
|
184
175
|
}
|
|
185
|
-
async function getPageContextFromRoute(pageContext) {
|
|
186
|
-
const pageContextFromRoute = await route(pageContext);
|
|
187
|
-
// We'll be able to remove this once async route functions are deprecated (because we'll be able to skip link hijacking if a link doesn't match a route (because whether to call event.preventDefault() needs to be determined synchronously))
|
|
188
|
-
if (!pageContextFromRoute._pageId) {
|
|
189
|
-
const err = new Error('No routing match');
|
|
190
|
-
markIs404(err);
|
|
191
|
-
throw err;
|
|
192
|
-
}
|
|
193
|
-
assert(hasProp(pageContextFromRoute, '_pageId', 'string'));
|
|
194
|
-
return pageContextFromRoute;
|
|
195
|
-
}
|
|
196
|
-
function markIs404(err) {
|
|
197
|
-
objectAssign(err, { _is404: true });
|
|
198
|
-
}
|
|
199
|
-
function checkIf404(err) {
|
|
200
|
-
return isObject(err) && err._is404 === true;
|
|
201
|
-
}
|
|
202
176
|
async function fetchPageContextFromServer(pageContext) {
|
|
203
177
|
const pageContextUrl = getPageContextRequestUrl(pageContext._urlRewrite ?? pageContext.urlOriginal);
|
|
204
178
|
const response = await fetch(pageContextUrl);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { initHistoryState, getHistoryState, pushHistory, saveScrollPosition, monkeyPatchHistoryPushState };
|
|
2
|
-
import { assert, assertUsage, hasProp, isObject } from './utils.js';
|
|
2
|
+
import { assert, assertUsage, getGlobalObject, hasProp, isObject } from './utils.js';
|
|
3
|
+
const globalObject = getGlobalObject('history.ts', {});
|
|
3
4
|
// Fill missing state information:
|
|
4
5
|
// - `history.state` can uninitialized (i.e. `null`):
|
|
5
6
|
// - The very first render
|
|
@@ -71,11 +72,11 @@ function replaceHistoryState(state, url) {
|
|
|
71
72
|
window.history.replaceState(state, '', url ?? /* Passing `undefined` chokes older Edge versions */ null);
|
|
72
73
|
}
|
|
73
74
|
function pushHistoryState(state, url) {
|
|
74
|
-
|
|
75
|
+
pushStateOriginal(state, '', url);
|
|
75
76
|
}
|
|
76
77
|
function monkeyPatchHistoryPushState() {
|
|
77
|
-
|
|
78
|
-
history.pushState = (stateFromUser = {}, ...rest) => {
|
|
78
|
+
globalObject.pushStateOriginal = globalObject.pushStateOriginal ?? window.history.pushState;
|
|
79
|
+
window.history.pushState = (stateFromUser = {}, ...rest) => {
|
|
79
80
|
assertUsage(null === stateFromUser || undefined === stateFromUser || isObject(stateFromUser), 'history.pushState(state) argument state must be an object');
|
|
80
81
|
const state = {
|
|
81
82
|
scrollPosition: getScrollPosition(),
|
|
@@ -84,6 +85,9 @@ function monkeyPatchHistoryPushState() {
|
|
|
84
85
|
// Don't allow user to overwrite triggedBy as it would break Vike's handling of the 'popstate' event
|
|
85
86
|
triggedBy: 'user'
|
|
86
87
|
};
|
|
87
|
-
return pushStateOriginal
|
|
88
|
+
return pushStateOriginal(state, ...rest);
|
|
88
89
|
};
|
|
89
90
|
}
|
|
91
|
+
function pushStateOriginal(...args) {
|
|
92
|
+
globalObject.pushStateOriginal.apply(history, args);
|
|
93
|
+
}
|
|
@@ -1,21 +1,2 @@
|
|
|
1
1
|
export { installClientRouter };
|
|
2
|
-
export { disableClientRouting };
|
|
3
|
-
export { isDisableAutomaticLinkInterception };
|
|
4
|
-
export { renderPageClientSide };
|
|
5
|
-
import { ScrollPosition } from './history.js';
|
|
6
|
-
import { PageContextFromRewrite } from '../../shared/route/abort.js';
|
|
7
2
|
declare function installClientRouter(): void;
|
|
8
|
-
type RenderArgs = {
|
|
9
|
-
scrollTarget: ScrollTarget;
|
|
10
|
-
isBackwardNavigation: boolean | null;
|
|
11
|
-
urlOriginal?: string;
|
|
12
|
-
overwriteLastHistoryEntry?: boolean;
|
|
13
|
-
checkIfClientSideRenderable?: boolean;
|
|
14
|
-
pageContextsFromRewrite?: PageContextFromRewrite[];
|
|
15
|
-
redirectCount?: number;
|
|
16
|
-
isUserLandNavigation?: boolean;
|
|
17
|
-
};
|
|
18
|
-
declare function renderPageClientSide(renderArgs: RenderArgs): Promise<void>;
|
|
19
|
-
type ScrollTarget = ScrollPosition | 'scroll-to-top-or-hash' | 'preserve-scroll';
|
|
20
|
-
declare function isDisableAutomaticLinkInterception(): boolean;
|
|
21
|
-
declare function disableClientRouting(err: unknown, log: boolean): void;
|