vike 0.4.195-commit-486b49a → 0.4.195-commit-3f77496
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/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/client/client-routing-runtime/installClientRouter.js +2 -4
- package/dist/esm/client/client-routing-runtime/navigate.js +3 -1
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +14 -2
- package/dist/esm/client/client-routing-runtime/skipLink.js +1 -1
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/utils.js +1 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/genPromise.d.ts +1 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +1 -1
|
@@ -16,15 +16,13 @@ async function installClientRouter() {
|
|
|
16
16
|
// Preserve stack track
|
|
17
17
|
await renderPromise;
|
|
18
18
|
}
|
|
19
|
-
function render() {
|
|
19
|
+
async function render() {
|
|
20
20
|
assert(getRenderCount() === 0);
|
|
21
|
-
|
|
21
|
+
await renderPageClientSide({
|
|
22
22
|
scrollTarget: { preserveScroll: true },
|
|
23
23
|
isBackwardNavigation: null,
|
|
24
24
|
isClientSideNavigation: false
|
|
25
25
|
});
|
|
26
|
-
assert(getRenderCount() === 1);
|
|
27
|
-
return renderPromise;
|
|
28
26
|
}
|
|
29
27
|
function initHistoryAndScroll() {
|
|
30
28
|
setupNativeScrollRestoration();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { navigate };
|
|
2
2
|
export { reload };
|
|
3
|
-
import { renderPageClientSide } from './renderPageClientSide.js';
|
|
3
|
+
import { firstRenderStartPromise, renderPageClientSide } from './renderPageClientSide.js';
|
|
4
4
|
import { assertClientRouting, assertUsageUrlPathname, getCurrentUrl } from './utils.js';
|
|
5
5
|
assertClientRouting();
|
|
6
6
|
/** Programmatically navigate to a new page.
|
|
@@ -13,6 +13,8 @@ assertClientRouting();
|
|
|
13
13
|
*/
|
|
14
14
|
async function navigate(url, { keepScrollPosition = false, overwriteLastHistoryEntry = false } = {}) {
|
|
15
15
|
assertUsageUrlPathname(url, '[navigate(url)] url');
|
|
16
|
+
// If `hydrationCanBeAborted === false` (e.g. Vue) then we can apply navigate() only after hydration is done
|
|
17
|
+
await firstRenderStartPromise;
|
|
16
18
|
const scrollTarget = { preserveScroll: keepScrollPosition };
|
|
17
19
|
await renderPageClientSide({
|
|
18
20
|
scrollTarget,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { renderPageClientSide };
|
|
2
2
|
export { getRenderCount };
|
|
3
3
|
export { disableClientRouting };
|
|
4
|
+
export { firstRenderStartPromise };
|
|
4
5
|
import { type PageContextFromRewrite } from '../../shared/route/abort.js';
|
|
5
6
|
import { type ScrollTarget } from './setScrollPosition.js';
|
|
7
|
+
declare const firstRenderStartPromise: Promise<void>;
|
|
6
8
|
type RenderArgs = {
|
|
7
9
|
scrollTarget: ScrollTarget;
|
|
8
10
|
isBackwardNavigation: boolean | null;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { renderPageClientSide };
|
|
2
2
|
export { getRenderCount };
|
|
3
3
|
export { disableClientRouting };
|
|
4
|
-
|
|
4
|
+
export { firstRenderStartPromise };
|
|
5
|
+
import { assert, getCurrentUrl, isSameErrorMessage, objectAssign, redirectHard, getGlobalObject, executeHook, hasProp, augmentType, genPromise } from './utils.js';
|
|
5
6
|
import { getPageContextFromHooks_isHydration, getPageContextFromHooks_isNotHydration, getPageContextFromHooks_serialized } from './getPageContextFromHooks.js';
|
|
6
7
|
import { createPageContext } from './createPageContext.js';
|
|
7
8
|
import { addLinkPrefetchHandlers } from './prefetch.js';
|
|
@@ -17,7 +18,15 @@ import { setScrollPosition } from './setScrollPosition.js';
|
|
|
17
18
|
import { updateState } from './onBrowserHistoryNavigation.js';
|
|
18
19
|
import { browserNativeScrollRestoration_disable, setInitialRenderIsDone } from './scrollRestoration.js';
|
|
19
20
|
import { getErrorPageId } from '../../shared/error-page.js';
|
|
20
|
-
const globalObject = getGlobalObject('renderPageClientSide.ts',
|
|
21
|
+
const globalObject = getGlobalObject('renderPageClientSide.ts', (() => {
|
|
22
|
+
const { promise: firstRenderStartPromise, resolve: firstRenderStartPromiseResolve } = genPromise();
|
|
23
|
+
return {
|
|
24
|
+
renderCounter: 0,
|
|
25
|
+
firstRenderStartPromise,
|
|
26
|
+
firstRenderStartPromiseResolve
|
|
27
|
+
};
|
|
28
|
+
})());
|
|
29
|
+
const { firstRenderStartPromise } = globalObject;
|
|
21
30
|
async function renderPageClientSide(renderArgs) {
|
|
22
31
|
const { scrollTarget, urlOriginal = getCurrentUrl(), overwriteLastHistoryEntry = false, isBackwardNavigation, pageContextsFromRewrite = [], redirectCount = 0, isUserLandPushStateNavigation, isClientSideNavigation = true } = renderArgs;
|
|
23
32
|
const { previousPageContext } = globalObject;
|
|
@@ -31,6 +40,9 @@ async function renderPageClientSide(renderArgs) {
|
|
|
31
40
|
redirectHard(urlOriginal);
|
|
32
41
|
return;
|
|
33
42
|
}
|
|
43
|
+
globalObject.firstRenderStartPromiseResolve();
|
|
44
|
+
if (isRenderOutdated())
|
|
45
|
+
return;
|
|
34
46
|
await renderPageNominal();
|
|
35
47
|
return;
|
|
36
48
|
async function renderPageNominal() {
|
|
@@ -34,7 +34,7 @@ function isHashUrl(url) {
|
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
const removeHash = (url) => url.split('#')[0];
|
|
37
|
-
if (url.includes('#') && removeHash(url) === removeHash(window.location.
|
|
37
|
+
if (url.includes('#') && removeHash(url) === removeHash(window.location.pathname)) {
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.195-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.195-commit-3f77496";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.195-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.195-commit-3f77496';
|