vike 0.4.266 → 0.4.267-commit-7884d91

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.
Files changed (159) hide show
  1. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +4 -0
  2. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +4 -0
  3. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +22 -2
  4. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +4 -5
  5. package/dist/client/runtime-client-routing/history.d.ts +19 -19
  6. package/dist/client/runtime-client-routing/history.js +89 -83
  7. package/dist/client/runtime-client-routing/renderPageClient.d.ts +472 -9
  8. package/dist/client/runtime-client-routing/renderPageClient.js +12 -11
  9. package/dist/client/runtime-client-routing/setScrollPosition.js +6 -5
  10. package/dist/client/runtime-client-routing/streamedValues.d.ts +5 -0
  11. package/dist/client/runtime-client-routing/streamedValues.js +23 -0
  12. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +4 -0
  13. package/dist/client/runtime-server-routing/entry.js +1 -1
  14. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +4 -0
  15. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +4 -0
  16. package/dist/client/shared/getJsonSerializedInHtml.d.ts +2 -2
  17. package/dist/client/shared/getJsonSerializedInHtml.js +9 -6
  18. package/dist/client/shared/streamedValues/asyncIterable.d.ts +4 -0
  19. package/dist/client/shared/streamedValues/asyncIterable.js +26 -0
  20. package/dist/client/shared/streamedValues/lines.d.ts +11 -0
  21. package/dist/client/shared/streamedValues/lines.js +19 -0
  22. package/dist/client/shared/streamedValues/promise.d.ts +4 -0
  23. package/dist/client/shared/streamedValues/promise.js +19 -0
  24. package/dist/client/shared/streamedValues/readableStream.d.ts +4 -0
  25. package/dist/client/shared/streamedValues/readableStream.js +44 -0
  26. package/dist/client/shared/streamedValues/registry.d.ts +21 -0
  27. package/dist/client/shared/streamedValues/registry.js +40 -0
  28. package/dist/client/shared/streamedValues.d.ts +7 -0
  29. package/dist/client/shared/streamedValues.js +82 -0
  30. package/dist/node/api/resolveViteConfigUser.js +2 -2
  31. package/dist/node/prerender/runPrerender.d.ts +12 -4
  32. package/dist/node/prerender/runPrerender.js +71 -15
  33. package/dist/node/vite/assertEnvVite.js +2 -2
  34. package/dist/node/vite/index.js +2 -0
  35. package/dist/node/vite/plugins/build/handleAssetsManifest.js +8 -3
  36. package/dist/node/vite/plugins/build/pluginBuildApp.js +25 -26
  37. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +2 -2
  38. package/dist/node/vite/plugins/build/pluginBuildConfig.js +24 -16
  39. package/dist/node/vite/plugins/build/pluginDistFileNames.js +70 -50
  40. package/dist/node/vite/plugins/build/pluginEnvironmentEntries.d.ts +6 -0
  41. package/dist/node/vite/plugins/build/pluginEnvironmentEntries.js +71 -0
  42. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +19 -17
  43. package/dist/node/vite/plugins/pluginCommon.js +9 -6
  44. package/dist/node/vite/plugins/pluginDev/logSkillHint.js +6 -4
  45. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +1 -1
  46. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +6 -4
  47. package/dist/node/vite/plugins/pluginUniversalDeploy.js +3 -2
  48. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -1
  49. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +29 -12
  50. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +3 -2
  51. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +7 -7
  52. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +7 -5
  53. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +4 -10
  54. package/dist/node/vite/plugins/pluginVirtualFiles.js +20 -0
  55. package/dist/node/vite/shared/addSsrMiddleware.js +13 -1
  56. package/dist/node/vite/shared/getAssetsDir.d.ts +3 -2
  57. package/dist/node/vite/shared/getAssetsDir.js +3 -3
  58. package/dist/node/vite/shared/isViteCli.d.ts +3 -3
  59. package/dist/node/vite/shared/isViteCli.js +80 -84
  60. package/dist/node/vite/shared/isViteServerSide.js +2 -7
  61. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFiles.d.ts +2 -2
  62. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFiles.js +3 -3
  63. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.d.ts +4 -4
  64. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +9 -9
  65. package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.d.ts +1 -1
  66. package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.js +12 -6
  67. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +3 -1
  68. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +18 -46
  69. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.d.ts +3 -3
  70. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +333 -212
  71. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -1
  72. package/dist/node/vite/shared/resolveVikeConfigInternal.js +97 -26
  73. package/dist/server/runtime/globalContext.d.ts +20 -0
  74. package/dist/server/runtime/renderPageServer/analyzePage.js +3 -3
  75. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +20 -7
  76. package/dist/server/runtime/renderPageServer/createHttpResponse.js +34 -15
  77. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +4 -0
  78. package/dist/server/runtime/renderPageServer/csp.d.ts +2 -1
  79. package/dist/server/runtime/renderPageServer/csp.js +2 -1
  80. package/dist/server/runtime/renderPageServer/execHookOnError.js +1 -1
  81. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +9 -0
  82. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +17 -5
  83. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +2 -2
  84. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +17 -2
  85. package/dist/server/runtime/renderPageServer/getPageContextJson.d.ts +8 -0
  86. package/dist/server/runtime/renderPageServer/getPageContextJson.js +47 -0
  87. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +2 -0
  88. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +1 -1
  89. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +11 -2
  90. package/dist/server/runtime/renderPageServer/headersResponse.js +22 -2
  91. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +5 -4
  92. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +3 -2
  93. package/dist/server/runtime/renderPageServer/html/injectAssets.js +7 -1
  94. package/dist/server/runtime/renderPageServer/html/renderHtml.js +4 -2
  95. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +5 -1
  96. package/dist/server/runtime/renderPageServer/html/serializeContext.js +12 -9
  97. package/dist/server/runtime/renderPageServer/html/stream.d.ts +13 -6
  98. package/dist/server/runtime/renderPageServer/html/stream.js +121 -31
  99. package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.d.ts +30 -0
  100. package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.js +92 -0
  101. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +4 -0
  102. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +5 -1
  103. package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.d.ts +15 -0
  104. package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.js +61 -0
  105. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +314 -1
  106. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +21 -12
  107. package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.d.ts +4 -0
  108. package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.js +12 -0
  109. package/dist/server/runtime/renderPageServer/streamedValues/lines.d.ts +10 -0
  110. package/dist/server/runtime/renderPageServer/streamedValues/lines.js +49 -0
  111. package/dist/server/runtime/renderPageServer/streamedValues/promise.d.ts +4 -0
  112. package/dist/server/runtime/renderPageServer/streamedValues/promise.js +14 -0
  113. package/dist/server/runtime/renderPageServer/streamedValues/pump.d.ts +10 -0
  114. package/dist/server/runtime/renderPageServer/streamedValues/pump.js +67 -0
  115. package/dist/server/runtime/renderPageServer/streamedValues/readableStream.d.ts +4 -0
  116. package/dist/server/runtime/renderPageServer/streamedValues/readableStream.js +12 -0
  117. package/dist/server/runtime/renderPageServer/streamedValues/registry.d.ts +28 -0
  118. package/dist/server/runtime/renderPageServer/streamedValues/registry.js +33 -0
  119. package/dist/server/runtime/renderPageServer.d.ts +4 -0
  120. package/dist/server/runtime/renderPageServer.js +17 -8
  121. package/dist/shared-server-client/createGlobalContextShared.d.ts +8 -0
  122. package/dist/shared-server-client/createGlobalContextShared.js +2 -1
  123. package/dist/shared-server-client/getPageContextPublicShared.js +0 -2
  124. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.d.ts +8 -0
  125. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.js +17 -7
  126. package/dist/shared-server-client/hooks/execHook.d.ts +1 -1
  127. package/dist/shared-server-client/hooks/execHook.js +2 -2
  128. package/dist/shared-server-client/route/abort.d.ts +1 -1
  129. package/dist/shared-server-client/route/abort.js +4 -2
  130. package/dist/shared-server-client/streamedValues.d.ts +22 -0
  131. package/dist/shared-server-client/streamedValues.js +24 -0
  132. package/dist/shared-server-node/vike-environments.d.ts +4 -0
  133. package/dist/shared-server-node/vike-environments.js +10 -0
  134. package/dist/shared-server-node/virtualFileId.d.ts +7 -5
  135. package/dist/shared-server-node/virtualFileId.js +42 -42
  136. package/dist/types/Config.d.ts +9 -1
  137. package/dist/types/PageConfig.d.ts +13 -5
  138. package/dist/types/PageContext.d.ts +18 -1
  139. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  140. package/dist/utils/PROJECT_VERSION.js +1 -1
  141. package/dist/utils/assertNodeVersion.d.ts +2 -0
  142. package/dist/utils/assertNodeVersion.js +4 -1
  143. package/dist/utils/assertViteVersion.d.ts +1 -3
  144. package/dist/utils/assertViteVersion.js +6 -9
  145. package/dist/utils/debug.d.ts +1 -1
  146. package/dist/utils/debug.js +1 -1
  147. package/dist/utils/deepEqual.d.ts +2 -1
  148. package/dist/utils/deepEqual.js +21 -6
  149. package/dist/utils/getContentTypeFromUrl.d.ts +2 -0
  150. package/dist/utils/getContentTypeFromUrl.js +39 -0
  151. package/dist/utils/injectRollupInputs.d.ts +2 -2
  152. package/dist/utils/injectRollupInputs.js +2 -2
  153. package/dist/utils/isDev.js +2 -7
  154. package/dist/utils/parseUrl-extras.js +4 -0
  155. package/dist/utils/requireResolve.d.ts +0 -6
  156. package/dist/utils/requireResolve.js +0 -8
  157. package/package.json +9 -10
  158. package/dist/shared-server-client/addIs404ToPageProps.d.ts +0 -2
  159. package/dist/shared-server-client/addIs404ToPageProps.js +0 -17
@@ -4,18 +4,13 @@ export { disableClientRouting };
4
4
  export { getPageContextClient };
5
5
  export type { PageContextBegin };
6
6
  export type { PageContextInternalClientAfterRender };
7
- import { type PageContextCreatedClient } from './createPageContextClient.js';
8
7
  import { type PageContextAbort, type PageContextAborted } from '../../shared-server-client/route/abort.js';
9
8
  import { type ScrollTarget } from './setScrollPosition.js';
10
9
  import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js';
11
10
  import type { PageContextClient } from '../../types/PageContext.js';
12
- import { type PageContextPublicClient } from './getPageContextPublicClient.js';
13
11
  import type { VikeGlobalInternal } from '../../types/VikeGlobalInternal.js';
14
12
  import '../assertEnvClient.js';
15
13
  type PageContextInternalClientAfterRender = NonNullable<Awaited<ReturnType<typeof renderPageClient>>>;
16
- type PreviousPageContext = {
17
- pageId: string;
18
- } & PageContextConfig & PageContextRouted & PageContextCreatedClient & PageContextPublicClient;
19
14
  type PageContextRouted = {
20
15
  pageId: string;
21
16
  routeParams: Record<string, string>;
@@ -76,6 +71,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
76
71
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
77
72
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
78
73
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
74
+ _environmentEntries: Record<string, {
75
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
76
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
77
+ } | null>;
79
78
  _allPageIds: string[];
80
79
  } & {
81
80
  isClientSide: true;
@@ -89,7 +88,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
89
88
  isHistoryNavigation: boolean;
90
89
  isClientSideNavigation: boolean;
91
90
  isHydration: boolean;
92
- previousPageContext: PreviousPageContext | null;
91
+ previousPageContext: ({
92
+ pageId: string;
93
+ } & PageContextConfig & PageContextRouted & {
94
+ _isOriginalObject: true;
95
+ isPageContext: true;
96
+ } & {
97
+ isClientSide: true;
98
+ isPrerendering: false;
99
+ urlOriginal: string;
100
+ _urlHandler: null;
101
+ } & {
102
+ _baseServer: string;
103
+ } & {
104
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
105
+ urlPathname: string;
106
+ url: string;
107
+ } & {
108
+ _globalContext: {
109
+ config: import("../../types/index.js").ConfigResolved;
110
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
111
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
112
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
113
+ pages: {
114
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
115
+ };
116
+ _globalConfigPublic: {
117
+ config: import("../../types/index.js").ConfigResolved;
118
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
119
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
120
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
121
+ pages: {
122
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
123
+ };
124
+ };
125
+ isGlobalContext: true;
126
+ _isOriginalObject: true;
127
+ _virtualFileExportsGlobalEntry: unknown;
128
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
129
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
130
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
131
+ _environmentEntries: Record<string, {
132
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
133
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
134
+ } | null>;
135
+ _allPageIds: string[];
136
+ } & {
137
+ isClientSide: true;
138
+ } & {
139
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
140
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
141
+ };
142
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
143
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
144
+ isPageContext: true;
145
+ Page: import("../../types/Config.js").Config['Page'];
146
+ routeParams: Record<string, string>;
147
+ data: unknown;
148
+ headersResponse: Headers;
149
+ is404: boolean | null;
150
+ isClientSideNavigation: boolean;
151
+ abortReason?: unknown;
152
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
153
+ errorWhileRendering?: unknown;
154
+ pageId: string | null;
155
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
156
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
157
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
158
+ pageExports: Record<string, unknown>;
159
+ isBaseMissing?: true;
160
+ }> & Pick<PageContextConfig & {
161
+ isPageContext: true;
162
+ Page: import("../../types/Config.js").Config['Page'];
163
+ routeParams: Record<string, string>;
164
+ data: unknown;
165
+ headersResponse: Headers;
166
+ is404: boolean | null;
167
+ isClientSideNavigation: boolean;
168
+ abortReason?: unknown;
169
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
170
+ errorWhileRendering?: unknown;
171
+ pageId: string | null;
172
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
173
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
174
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
175
+ pageExports: Record<string, unknown>;
176
+ isBaseMissing?: true;
177
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
178
+ isClientSide: true;
179
+ isPrerendering: false;
180
+ cspNonce?: undefined;
181
+ headers?: undefined;
182
+ } & {
183
+ urlOriginal: string;
184
+ isHydration: boolean;
185
+ isBackwardNavigation: boolean | null;
186
+ isHistoryNavigation: boolean;
187
+ previousPageContext: PageContextClient<unknown> | null;
188
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
189
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
190
+ } & {
191
+ urlOriginal: string;
192
+ } & {
193
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
194
+ urlPathname: string;
195
+ url: string;
196
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
197
+ previousPageContext: {
198
+ pageId: string;
199
+ } | null;
200
+ } & {
201
+ urlOriginal: string;
202
+ } & {
203
+ Page: unknown;
204
+ }) | null;
93
205
  pageContextsAborted: PageContextAborted[];
94
206
  } & {
95
207
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -149,6 +261,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
149
261
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
150
262
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
151
263
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
264
+ _environmentEntries: Record<string, {
265
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
266
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
267
+ } | null>;
152
268
  _allPageIds: string[];
153
269
  } & {
154
270
  isClientSide: true;
@@ -162,7 +278,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
162
278
  isHistoryNavigation: boolean;
163
279
  isClientSideNavigation: boolean;
164
280
  isHydration: boolean;
165
- previousPageContext: PreviousPageContext | null;
281
+ previousPageContext: ({
282
+ pageId: string;
283
+ } & PageContextConfig & PageContextRouted & {
284
+ _isOriginalObject: true;
285
+ isPageContext: true;
286
+ } & {
287
+ isClientSide: true;
288
+ isPrerendering: false;
289
+ urlOriginal: string;
290
+ _urlHandler: null;
291
+ } & {
292
+ _baseServer: string;
293
+ } & {
294
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
295
+ urlPathname: string;
296
+ url: string;
297
+ } & {
298
+ _globalContext: {
299
+ config: import("../../types/index.js").ConfigResolved;
300
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
301
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
302
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
303
+ pages: {
304
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
305
+ };
306
+ _globalConfigPublic: {
307
+ config: import("../../types/index.js").ConfigResolved;
308
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
309
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
310
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
311
+ pages: {
312
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
313
+ };
314
+ };
315
+ isGlobalContext: true;
316
+ _isOriginalObject: true;
317
+ _virtualFileExportsGlobalEntry: unknown;
318
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
319
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
320
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
321
+ _environmentEntries: Record<string, {
322
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
323
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
324
+ } | null>;
325
+ _allPageIds: string[];
326
+ } & {
327
+ isClientSide: true;
328
+ } & {
329
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
330
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
331
+ };
332
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
333
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
334
+ isPageContext: true;
335
+ Page: import("../../types/Config.js").Config['Page'];
336
+ routeParams: Record<string, string>;
337
+ data: unknown;
338
+ headersResponse: Headers;
339
+ is404: boolean | null;
340
+ isClientSideNavigation: boolean;
341
+ abortReason?: unknown;
342
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
343
+ errorWhileRendering?: unknown;
344
+ pageId: string | null;
345
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
346
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
347
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
348
+ pageExports: Record<string, unknown>;
349
+ isBaseMissing?: true;
350
+ }> & Pick<PageContextConfig & {
351
+ isPageContext: true;
352
+ Page: import("../../types/Config.js").Config['Page'];
353
+ routeParams: Record<string, string>;
354
+ data: unknown;
355
+ headersResponse: Headers;
356
+ is404: boolean | null;
357
+ isClientSideNavigation: boolean;
358
+ abortReason?: unknown;
359
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
360
+ errorWhileRendering?: unknown;
361
+ pageId: string | null;
362
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
363
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
364
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
365
+ pageExports: Record<string, unknown>;
366
+ isBaseMissing?: true;
367
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
368
+ isClientSide: true;
369
+ isPrerendering: false;
370
+ cspNonce?: undefined;
371
+ headers?: undefined;
372
+ } & {
373
+ urlOriginal: string;
374
+ isHydration: boolean;
375
+ isBackwardNavigation: boolean | null;
376
+ isHistoryNavigation: boolean;
377
+ previousPageContext: PageContextClient<unknown> | null;
378
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
379
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
380
+ } & {
381
+ urlOriginal: string;
382
+ } & {
383
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
384
+ urlPathname: string;
385
+ url: string;
386
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
387
+ previousPageContext: {
388
+ pageId: string;
389
+ } | null;
390
+ } & {
391
+ urlOriginal: string;
392
+ } & {
393
+ Page: unknown;
394
+ }) | null;
166
395
  pageContextsAborted: PageContextAborted[];
167
396
  } & {
168
397
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -223,6 +452,10 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
223
452
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
224
453
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
225
454
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
455
+ _environmentEntries: Record<string, {
456
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
457
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
458
+ } | null>;
226
459
  _allPageIds: string[];
227
460
  } & {
228
461
  isClientSide: true;
@@ -236,7 +469,120 @@ declare function renderPageClient(renderArgs: RenderArgs): Promise<({
236
469
  isHistoryNavigation: boolean;
237
470
  isClientSideNavigation: boolean;
238
471
  isHydration: boolean;
239
- previousPageContext: PreviousPageContext | null;
472
+ previousPageContext: ({
473
+ pageId: string;
474
+ } & PageContextConfig & PageContextRouted & {
475
+ _isOriginalObject: true;
476
+ isPageContext: true;
477
+ } & {
478
+ isClientSide: true;
479
+ isPrerendering: false;
480
+ urlOriginal: string;
481
+ _urlHandler: null;
482
+ } & {
483
+ _baseServer: string;
484
+ } & {
485
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
486
+ urlPathname: string;
487
+ url: string;
488
+ } & {
489
+ _globalContext: {
490
+ config: import("../../types/index.js").ConfigResolved;
491
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
492
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
493
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
494
+ pages: {
495
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
496
+ };
497
+ _globalConfigPublic: {
498
+ config: import("../../types/index.js").ConfigResolved;
499
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
500
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
501
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
502
+ pages: {
503
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
504
+ };
505
+ };
506
+ isGlobalContext: true;
507
+ _isOriginalObject: true;
508
+ _virtualFileExportsGlobalEntry: unknown;
509
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
510
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
511
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
512
+ _environmentEntries: Record<string, {
513
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
514
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
515
+ } | null>;
516
+ _allPageIds: string[];
517
+ } & {
518
+ isClientSide: true;
519
+ } & {
520
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
521
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
522
+ };
523
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
524
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
525
+ isPageContext: true;
526
+ Page: import("../../types/Config.js").Config['Page'];
527
+ routeParams: Record<string, string>;
528
+ data: unknown;
529
+ headersResponse: Headers;
530
+ is404: boolean | null;
531
+ isClientSideNavigation: boolean;
532
+ abortReason?: unknown;
533
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
534
+ errorWhileRendering?: unknown;
535
+ pageId: string | null;
536
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
537
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
538
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
539
+ pageExports: Record<string, unknown>;
540
+ isBaseMissing?: true;
541
+ }> & Pick<PageContextConfig & {
542
+ isPageContext: true;
543
+ Page: import("../../types/Config.js").Config['Page'];
544
+ routeParams: Record<string, string>;
545
+ data: unknown;
546
+ headersResponse: Headers;
547
+ is404: boolean | null;
548
+ isClientSideNavigation: boolean;
549
+ abortReason?: unknown;
550
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
551
+ errorWhileRendering?: unknown;
552
+ pageId: string | null;
553
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
554
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
555
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
556
+ pageExports: Record<string, unknown>;
557
+ isBaseMissing?: true;
558
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
559
+ isClientSide: true;
560
+ isPrerendering: false;
561
+ cspNonce?: undefined;
562
+ headers?: undefined;
563
+ } & {
564
+ urlOriginal: string;
565
+ isHydration: boolean;
566
+ isBackwardNavigation: boolean | null;
567
+ isHistoryNavigation: boolean;
568
+ previousPageContext: PageContextClient<unknown> | null;
569
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
570
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
571
+ } & {
572
+ urlOriginal: string;
573
+ } & {
574
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
575
+ urlPathname: string;
576
+ url: string;
577
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
578
+ previousPageContext: {
579
+ pageId: string;
580
+ } | null;
581
+ } & {
582
+ urlOriginal: string;
583
+ } & {
584
+ Page: unknown;
585
+ }) | null;
240
586
  pageContextsAborted: PageContextAborted[];
241
587
  } & {
242
588
  _abortCall: "RenderErrorPage()" | `redirect(${string})` | `render(${string})`;
@@ -300,6 +646,10 @@ declare function getPageContextBegin(isForErrorPage: boolean, { urlOriginal, isB
300
646
  _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
301
647
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
302
648
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
649
+ _environmentEntries: Record<string, {
650
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
651
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
652
+ } | null>;
303
653
  _allPageIds: string[];
304
654
  } & {
305
655
  isClientSide: true;
@@ -313,7 +663,120 @@ declare function getPageContextBegin(isForErrorPage: boolean, { urlOriginal, isB
313
663
  isHistoryNavigation: boolean;
314
664
  isClientSideNavigation: boolean;
315
665
  isHydration: boolean;
316
- previousPageContext: PreviousPageContext | null;
666
+ previousPageContext: ({
667
+ pageId: string;
668
+ } & PageContextConfig & PageContextRouted & {
669
+ _isOriginalObject: true;
670
+ isPageContext: true;
671
+ } & {
672
+ isClientSide: true;
673
+ isPrerendering: false;
674
+ urlOriginal: string;
675
+ _urlHandler: null;
676
+ } & {
677
+ _baseServer: string;
678
+ } & {
679
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
680
+ urlPathname: string;
681
+ url: string;
682
+ } & {
683
+ _globalContext: {
684
+ config: import("../../types/index.js").ConfigResolved;
685
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
686
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
687
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
688
+ pages: {
689
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
690
+ };
691
+ _globalConfigPublic: {
692
+ config: import("../../types/index.js").ConfigResolved;
693
+ _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
694
+ _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
695
+ _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
696
+ pages: {
697
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
698
+ };
699
+ };
700
+ isGlobalContext: true;
701
+ _isOriginalObject: true;
702
+ _virtualFileExportsGlobalEntry: unknown;
703
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
704
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
705
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
706
+ _environmentEntries: Record<string, {
707
+ pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
708
+ pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
709
+ } | null>;
710
+ _allPageIds: string[];
711
+ } & {
712
+ isClientSide: true;
713
+ } & {
714
+ _pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
715
+ _onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
716
+ };
717
+ _pageFilesAll: import("../../shared-server-client/getPageFiles.js").PageFile[];
718
+ } & import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").GlobalConfigPublic & import("../../shared-server-client/createPageContextShared.js").PageContextCreated & Omit<Partial<PageContextConfig & {
719
+ isPageContext: true;
720
+ Page: import("../../types/Config.js").Config['Page'];
721
+ routeParams: Record<string, string>;
722
+ data: unknown;
723
+ headersResponse: Headers;
724
+ is404: boolean | null;
725
+ isClientSideNavigation: boolean;
726
+ abortReason?: unknown;
727
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
728
+ errorWhileRendering?: unknown;
729
+ pageId: string | null;
730
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
731
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
732
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
733
+ pageExports: Record<string, unknown>;
734
+ isBaseMissing?: true;
735
+ }> & Pick<PageContextConfig & {
736
+ isPageContext: true;
737
+ Page: import("../../types/Config.js").Config['Page'];
738
+ routeParams: Record<string, string>;
739
+ data: unknown;
740
+ headersResponse: Headers;
741
+ is404: boolean | null;
742
+ isClientSideNavigation: boolean;
743
+ abortReason?: unknown;
744
+ abortStatusCode?: import("../../shared-server-client/route/abort.js").AbortStatusCode;
745
+ errorWhileRendering?: unknown;
746
+ pageId: string | null;
747
+ from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
748
+ source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
749
+ sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
750
+ pageExports: Record<string, unknown>;
751
+ isBaseMissing?: true;
752
+ }, "Page" | "abortReason" | "config" | "configEntries" | "data" | "exports" | "exportsAll" | "from" | "pageExports" | "pageId" | "routeParams" | "source" | "sources"> & {
753
+ isClientSide: true;
754
+ isPrerendering: false;
755
+ cspNonce?: undefined;
756
+ headers?: undefined;
757
+ } & {
758
+ urlOriginal: string;
759
+ isHydration: boolean;
760
+ isBackwardNavigation: boolean | null;
761
+ isHistoryNavigation: boolean;
762
+ previousPageContext: PageContextClient<unknown> | null;
763
+ pageContextsAborted: Partial<PageContextClient<unknown>>[];
764
+ globalContext: import("../../types/GlobalContext.js").GlobalContextClient;
765
+ } & {
766
+ urlOriginal: string;
767
+ } & {
768
+ urlParsed: import("../../utils/parseUrl.js").UrlPublic;
769
+ urlPathname: string;
770
+ url: string;
771
+ }, "pageContextsAborted" | "previousPageContext" | ("Page" | "data" | "globalContext")> & {
772
+ previousPageContext: {
773
+ pageId: string;
774
+ } | null;
775
+ } & {
776
+ urlOriginal: string;
777
+ } & {
778
+ Page: unknown;
779
+ }) | null;
317
780
  pageContextsAborted: PageContextAborted[];
318
781
  } & (PageContextAbort | null)>;
319
782
  declare global {
@@ -13,11 +13,12 @@ import { objectAssign } from '../../utils/objectAssign.js';
13
13
  import { redirectHard } from '../../utils/redirectHard.js';
14
14
  import { updateType } from '../../utils/updateType.js';
15
15
  import { getPageContextFromHooksClient, getPageContextFromHooksServer, getPageContextFromHooksClient_firstRender, getPageContextFromHooksServer_firstRender, setPageContextInitIsPassedToClient, } from './getPageContextFromHooks.js';
16
+ import { cancelStreamedValues } from './streamedValues.js';
16
17
  import { createPageContextClient } from './createPageContextClient.js';
17
18
  import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
18
19
  import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js';
19
20
  import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide, } from '../shared/loadPageConfigsLazyClientSide.js';
20
- import { pushHistoryState, saveScrollPosition } from './history.js';
21
+ import { changeUrl, saveScrollPosition } from './history.js';
21
22
  import { addNewPageContextAborted, getPageContextAddendumAbort, isAbortError, logAbort, } from '../../shared-server-client/route/abort.js';
22
23
  import { route } from '../../shared-server-client/route/index.js';
23
24
  import { isClientSideRoutable } from './isClientSideRoutable.js';
@@ -101,7 +102,7 @@ async function renderPageClient(renderArgs) {
101
102
  }
102
103
  // Get pageContext serialized in <script id="vike_pageContext" type="application/json">
103
104
  if (isFirstRender) {
104
- const pageContextSerialized = getPageContextFromHooksServer_firstRender();
105
+ const pageContextSerialized = await getPageContextFromHooksServer_firstRender();
105
106
  // TO-DO/eventually: create helper assertPageContextFromHook()
106
107
  assert(!('urlOriginal' in pageContextSerialized));
107
108
  objectAssign(pageContext, pageContextSerialized);
@@ -226,8 +227,10 @@ async function renderPageClient(renderArgs) {
226
227
  return;
227
228
  }
228
229
  }
229
- if (isRenderOutdated())
230
+ if (isRenderOutdated()) {
231
+ cancelStreamedValues(pageContextFromHooksServer, false);
230
232
  return;
233
+ }
231
234
  // TO-DO/eventually: create helper assertPageContextFromHook()
232
235
  assert(!('urlOriginal' in pageContextFromHooksServer));
233
236
  objectAssign(pageContext, pageContextFromHooksServer);
@@ -363,7 +366,7 @@ async function renderPageClient(renderArgs) {
363
366
  const errAbort = err;
364
367
  logAbort(err, !import.meta.env.DEV, pageContext);
365
368
  const pageContextAbort = errAbort._pageContextAbort;
366
- addNewPageContextAborted(pageContextsAborted, pageContext, pageContextAbort);
369
+ addNewPageContextAborted(pageContextsAborted, pageContext, pageContextAbort, getPageContextPublicClientMinimal);
367
370
  // throw render('/some-url')
368
371
  if (pageContextAbort._urlRewrite) {
369
372
  await renderPageClient({
@@ -447,6 +450,7 @@ async function renderPageClient(renderArgs) {
447
450
  // We purposely abort *after* onHydrationEnd() is called (see comment above).
448
451
  if (isRenderOutdated(true))
449
452
  return;
453
+ cancelStreamedValues(pageContext, true);
450
454
  // onPageTransitionEnd()
451
455
  if (globalObject.isTransitioning) {
452
456
  globalObject.isTransitioning = undefined;
@@ -491,7 +495,9 @@ async function renderPageClient(renderArgs) {
491
495
  }
492
496
  }
493
497
  async function getPageContextBegin(isForErrorPage, { urlOriginal, isBackwardNavigation, isHistoryNavigation, pageContextsAborted, isClientSideNavigation, pageContextInitClient, isFirstRender, }) {
494
- const previousPageContext = globalObject.previousPageContext ?? null;
498
+ const previousPageContext = globalObject.previousPageContext
499
+ ? getPageContextPublicClient(globalObject.previousPageContext)
500
+ : null;
495
501
  const pageContext = await createPageContextClient(urlOriginal);
496
502
  objectAssign(pageContext, {
497
503
  isBackwardNavigation,
@@ -527,11 +533,6 @@ function stampFinished(urlOriginal) {
527
533
  window._vike ?? (window._vike = {});
528
534
  window._vike.fullyRenderedUrl = urlOriginal;
529
535
  }
530
- function changeUrl(url, overwriteLastHistoryEntry) {
531
- if (getCurrentUrl() === url)
532
- return;
533
- pushHistoryState(url, overwriteLastHistoryEntry);
534
- }
535
536
  function disableClientRouting(err, log) {
536
537
  globalObject.clientRoutingIsDisabled = true;
537
538
  assert(isErrorFetchingStaticAssets(err));
@@ -586,7 +587,7 @@ function getKeepScrollPositionSetting(pageContext) {
586
587
  assert(configDefinedAt);
587
588
  const routeParameterList = getRouteStringParameterList(configDefinedAt);
588
589
  if (isCallable(val))
589
- val = val(pageContext, {
590
+ val = val(getPageContextPublicClient(pageContext), {
590
591
  configDefinedAt: c.definedAt,
591
592
  /* We don't pass routeParameterList because it's useless: the user knows the parameter list.
592
593
  routeParameterList
@@ -6,7 +6,7 @@ import { assert } from '../../utils/assert.js';
6
6
  import { onPageHide } from '../../utils/onPageVisibilityChange.js';
7
7
  import { sleep } from '../../utils/sleep.js';
8
8
  import { throttle } from '../../utils/throttle.js';
9
- import { replaceHistoryStateOriginal, saveScrollPosition } from './history.js';
9
+ import { historyApiReplaceStateOriginal, saveScrollPosition } from './history.js';
10
10
  import '../assertEnvClient.js';
11
11
  function setScrollPosition(scrollTarget, url) {
12
12
  if (!scrollTarget && url && hasTextFragment(url)) {
@@ -23,17 +23,18 @@ function setScrollPosition(scrollTarget, url) {
23
23
  const hash = getUrlHash();
24
24
  scrollToHashOrTop(hash);
25
25
  }
26
- // https://github.com/vikejs/vike/issues/2114
27
- // https://github.com/WICG/scroll-to-text-fragment/issues/261
26
+ // Scroll to the DOM element the URL fragment points to, using window.locale.replace()
27
+ // - https://github.com/vikejs/vike/issues/2114
28
+ // - https://github.com/WICG/scroll-to-text-fragment/issues/261
28
29
  function scrollToTextFragment(url) {
29
30
  const stateOriginal = window.history.state;
30
- replaceHistoryStateOriginal(null, url);
31
+ historyApiReplaceStateOriginal(null, url);
31
32
  // We need `history.state===null` before location.replace() so that our 'popstate' handling is correct
32
33
  assert(window.history.state === null);
33
34
  // - Chrome's location.replace() keeps the current state (`history.state===stateOriginal`)
34
35
  // - Firefox's location.replace() replaces the current state with `null` (`history.state===null`)
35
36
  window.location.replace(url);
36
- replaceHistoryStateOriginal(stateOriginal, url);
37
+ historyApiReplaceStateOriginal(stateOriginal, url);
37
38
  }
38
39
  function hasTextFragment(url) {
39
40
  return url.includes('#') && url.includes(':~:text');