vike 0.4.252 → 0.4.253-commit-ca512c3

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 (375) hide show
  1. package/dist/client/assertEnvClient.js +2 -2
  2. package/dist/client/index.js +1 -1
  3. package/dist/client/node.js +1 -1
  4. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +2 -2
  5. package/dist/client/runtime-client-routing/createPageContextClient.js +1 -1
  6. package/dist/client/runtime-client-routing/entry.js +1 -5
  7. package/dist/client/runtime-client-routing/getBaseServer.d.ts +1 -1
  8. package/dist/client/runtime-client-routing/getBaseServer.js +1 -1
  9. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +2 -2
  10. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.js +1 -1
  11. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.d.ts +1 -1
  12. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +1 -1
  13. package/dist/client/runtime-client-routing/getPageContext.d.ts +1 -1
  14. package/dist/client/runtime-client-routing/getPageContext.js +1 -1
  15. package/dist/client/runtime-client-routing/getPageContextCurrent.d.ts +1 -1
  16. package/dist/client/runtime-client-routing/getPageContextCurrent.js +2 -2
  17. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +17 -9
  18. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +2 -2
  19. package/dist/client/runtime-client-routing/getPageContextPublicClient.d.ts +1 -1
  20. package/dist/client/runtime-client-routing/getPageContextPublicClient.js +1 -1
  21. package/dist/client/runtime-client-routing/history.d.ts +2 -2
  22. package/dist/client/runtime-client-routing/history.js +3 -3
  23. package/dist/client/runtime-client-routing/index.d.ts +1 -1
  24. package/dist/client/runtime-client-routing/index.js +1 -1
  25. package/dist/client/runtime-client-routing/initClientRouter.d.ts +2 -2
  26. package/dist/client/runtime-client-routing/initClientRouter.js +14 -7
  27. package/dist/client/runtime-client-routing/initOnLinkClick.d.ts +1 -1
  28. package/dist/client/runtime-client-routing/initOnLinkClick.js +1 -1
  29. package/dist/client/runtime-client-routing/initOnPopState.d.ts +1 -1
  30. package/dist/client/runtime-client-routing/initOnPopState.js +1 -1
  31. package/dist/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
  32. package/dist/client/runtime-client-routing/isClientSideRoutable.js +1 -1
  33. package/dist/client/runtime-client-routing/isLinkSkipped.d.ts +1 -1
  34. package/dist/client/runtime-client-routing/isLinkSkipped.js +1 -1
  35. package/dist/client/runtime-client-routing/logErrorClient.d.ts +1 -1
  36. package/dist/client/runtime-client-routing/logErrorClient.js +1 -1
  37. package/dist/client/runtime-client-routing/navigate.d.ts +1 -1
  38. package/dist/client/runtime-client-routing/navigate.js +5 -4
  39. package/dist/client/runtime-client-routing/normalizeUrlArgument.d.ts +1 -1
  40. package/dist/client/runtime-client-routing/normalizeUrlArgument.js +1 -1
  41. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +1 -1
  42. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.js +1 -1
  43. package/dist/client/runtime-client-routing/prefetch.d.ts +1 -1
  44. package/dist/client/runtime-client-routing/prefetch.js +2 -2
  45. package/dist/client/runtime-client-routing/renderPageClient.d.ts +5 -7
  46. package/dist/client/runtime-client-routing/renderPageClient.js +26 -20
  47. package/dist/client/runtime-client-routing/scrollRestoration.d.ts +1 -1
  48. package/dist/client/runtime-client-routing/scrollRestoration.js +2 -2
  49. package/dist/client/runtime-client-routing/setScrollPosition.d.ts +4 -1
  50. package/dist/client/runtime-client-routing/setScrollPosition.js +7 -3
  51. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +1 -1
  52. package/dist/client/runtime-server-routing/createPageContextClient.js +1 -1
  53. package/dist/client/runtime-server-routing/entry.js +1 -1
  54. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +1 -1
  55. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.js +1 -1
  56. package/dist/client/runtime-server-routing/getPageContextPublicClient.d.ts +1 -1
  57. package/dist/client/runtime-server-routing/getPageContextPublicClient.js +1 -1
  58. package/dist/client/runtime-server-routing/index.d.ts +1 -1
  59. package/dist/client/runtime-server-routing/index.js +1 -0
  60. package/dist/client/shared/execHookOnRenderClient.d.ts +1 -1
  61. package/dist/client/shared/execHookOnRenderClient.js +1 -1
  62. package/dist/client/shared/getCurrentUrl.d.ts +1 -1
  63. package/dist/client/shared/getCurrentUrl.js +1 -1
  64. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +1 -1
  65. package/dist/client/shared/getGlobalContextClientInternalShared.js +1 -1
  66. package/dist/client/shared/getJsonSerializedInHtml.d.ts +1 -1
  67. package/dist/client/shared/getJsonSerializedInHtml.js +1 -1
  68. package/dist/client/shared/getPageContextPublicClientShared.d.ts +1 -1
  69. package/dist/client/shared/getPageContextPublicClientShared.js +1 -1
  70. package/dist/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  71. package/dist/client/shared/loadPageConfigsLazyClientSide.js +1 -1
  72. package/dist/client/shared/normalizeClientSideUrl.d.ts +1 -1
  73. package/dist/client/shared/normalizeClientSideUrl.js +1 -1
  74. package/dist/client/shared/removeFoucBuster.d.ts +1 -1
  75. package/dist/client/shared/removeFoucBuster.js +1 -1
  76. package/dist/node/api/{assertEnvApi.js → assertEnvApiDev.js} +2 -2
  77. package/dist/node/api/assertEnvApiDevAndProd.d.ts +1 -0
  78. package/dist/node/api/assertEnvApiDevAndProd.js +9 -0
  79. package/dist/node/api/build.d.ts +1 -1
  80. package/dist/node/api/build.js +1 -1
  81. package/dist/node/api/dev.d.ts +1 -1
  82. package/dist/node/api/dev.js +3 -3
  83. package/dist/node/api/index.d.ts +1 -1
  84. package/dist/node/api/index.js +1 -1
  85. package/dist/node/api/prepareViteApiCall.d.ts +1 -1
  86. package/dist/node/api/prepareViteApiCall.js +1 -1
  87. package/dist/node/api/prerender.d.ts +1 -1
  88. package/dist/node/api/prerender.js +1 -1
  89. package/dist/node/api/preview.d.ts +1 -1
  90. package/dist/node/api/preview.js +1 -1
  91. package/dist/node/api/resolveViteConfigFromUser.d.ts +1 -1
  92. package/dist/node/api/resolveViteConfigFromUser.js +1 -1
  93. package/dist/node/cli/assertEnvCli.js +2 -2
  94. package/dist/node/cli/context.d.ts +1 -1
  95. package/dist/node/cli/context.js +1 -1
  96. package/dist/node/cli/entry.js +1 -1
  97. package/dist/node/cli/index.d.ts +1 -1
  98. package/dist/node/cli/index.js +1 -1
  99. package/dist/node/cli/parseCli.d.ts +1 -1
  100. package/dist/node/cli/parseCli.js +1 -1
  101. package/dist/node/prerender/runPrerender.d.ts +6 -4
  102. package/dist/node/vite/assertEnvVite.js +2 -2
  103. package/dist/node/vite/index.d.ts +1 -1
  104. package/dist/node/vite/index.js +1 -1
  105. package/dist/node/vite/plugins/build/handleAssetsManifest.d.ts +1 -1
  106. package/dist/node/vite/plugins/build/handleAssetsManifest.js +1 -1
  107. package/dist/node/vite/plugins/build/pluginBuildApp.d.ts +1 -1
  108. package/dist/node/vite/plugins/build/pluginBuildApp.js +1 -1
  109. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +1 -1
  110. package/dist/node/vite/plugins/build/pluginBuildConfig.js +1 -1
  111. package/dist/node/vite/plugins/build/pluginDistFileNames.d.ts +1 -1
  112. package/dist/node/vite/plugins/build/pluginDistFileNames.js +1 -1
  113. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.d.ts +1 -1
  114. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.js +1 -1
  115. package/dist/node/vite/plugins/build/pluginModuleBanner.d.ts +1 -1
  116. package/dist/node/vite/plugins/build/pluginModuleBanner.js +1 -1
  117. package/dist/node/vite/plugins/build/pluginProdBuildEntry.d.ts +1 -1
  118. package/dist/node/vite/plugins/build/pluginProdBuildEntry.js +1 -1
  119. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.d.ts +1 -1
  120. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +1 -1
  121. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +1 -1
  122. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +1 -1
  123. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.d.ts +1 -1
  124. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +1 -1
  125. package/dist/node/vite/plugins/pluginAssertFileEnv.d.ts +1 -1
  126. package/dist/node/vite/plugins/pluginAssertFileEnv.js +1 -1
  127. package/dist/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  128. package/dist/node/vite/plugins/pluginBaseUrls.js +1 -1
  129. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.d.ts +1 -1
  130. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
  131. package/dist/node/vite/plugins/pluginCommon.d.ts +1 -1
  132. package/dist/node/vite/plugins/pluginCommon.js +1 -3
  133. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.d.ts +1 -1
  134. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.js +1 -1
  135. package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -1
  136. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +27 -2
  137. package/dist/node/vite/plugins/pluginDev.d.ts +1 -1
  138. package/dist/node/vite/plugins/pluginDev.js +1 -1
  139. package/dist/node/vite/plugins/pluginExtractAssets.d.ts +1 -1
  140. package/dist/node/vite/plugins/pluginExtractAssets.js +1 -1
  141. package/dist/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  142. package/dist/node/vite/plugins/pluginExtractExportNames.js +1 -1
  143. package/dist/node/vite/plugins/pluginPreview.d.ts +1 -1
  144. package/dist/node/vite/plugins/pluginPreview.js +1 -1
  145. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.d.ts +1 -1
  146. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.js +28 -13
  147. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +3 -1
  148. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +2 -1
  149. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.d.ts +1 -1
  150. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.js +1 -1
  151. package/dist/node/vite/plugins/pluginSetGlobalContext.d.ts +1 -1
  152. package/dist/node/vite/plugins/pluginSetGlobalContext.js +1 -1
  153. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.d.ts +1 -1
  154. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.js +1 -1
  155. package/dist/node/vite/plugins/pluginStaticReplace.d.ts +1 -1
  156. package/dist/node/vite/plugins/pluginStaticReplace.js +1 -1
  157. package/dist/node/vite/plugins/pluginVirtualFiles/debug.js +1 -1
  158. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +1 -1
  159. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +1 -1
  160. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +1 -1
  161. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +1 -1
  162. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +1 -1
  163. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +1 -1
  164. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +1 -1
  165. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +1 -3
  166. package/dist/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  167. package/dist/node/vite/plugins/pluginVirtualFiles.js +1 -1
  168. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.d.ts +1 -1
  169. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.js +1 -1
  170. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  171. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
  172. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  173. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +1 -1
  174. package/dist/node/vite/shared/addSsrMiddleware.d.ts +1 -1
  175. package/dist/node/vite/shared/addSsrMiddleware.js +1 -1
  176. package/dist/node/vite/shared/findPageFiles.d.ts +1 -1
  177. package/dist/node/vite/shared/findPageFiles.js +1 -1
  178. package/dist/node/vite/shared/getAssetsDir.d.ts +1 -1
  179. package/dist/node/vite/shared/getAssetsDir.js +1 -1
  180. package/dist/node/vite/shared/getClientEntrySrcDev.d.ts +1 -1
  181. package/dist/node/vite/shared/getClientEntrySrcDev.js +1 -1
  182. package/dist/node/vite/shared/getEnvVarObject.d.ts +1 -1
  183. package/dist/node/vite/shared/getEnvVarObject.js +1 -1
  184. package/dist/node/vite/shared/getFilePath.d.ts +1 -1
  185. package/dist/node/vite/shared/getFilePath.js +1 -1
  186. package/dist/node/vite/shared/getMagicString.d.ts +1 -1
  187. package/dist/node/vite/shared/getMagicString.js +1 -1
  188. package/dist/node/vite/shared/getManifestFilePathRelative.d.ts +1 -1
  189. package/dist/node/vite/shared/getManifestFilePathRelative.js +1 -1
  190. package/dist/node/vite/shared/getOutDirs.d.ts +1 -1
  191. package/dist/node/vite/shared/getOutDirs.js +1 -1
  192. package/dist/node/vite/shared/getViteConfigRuntime.d.ts +1 -1
  193. package/dist/node/vite/shared/getViteConfigRuntime.js +1 -1
  194. package/dist/node/vite/shared/importString.d.ts +1 -1
  195. package/dist/node/vite/shared/importString.js +1 -1
  196. package/dist/node/vite/shared/isAsset.d.ts +1 -1
  197. package/dist/node/vite/shared/isAsset.js +1 -1
  198. package/dist/node/vite/shared/isViteCli.d.ts +1 -1
  199. package/dist/node/vite/shared/isViteCli.js +1 -1
  200. package/dist/node/vite/shared/isViteServerSide.d.ts +1 -1
  201. package/dist/node/vite/shared/isViteServerSide.js +1 -1
  202. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.d.ts +1 -1
  203. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.js +1 -1
  204. package/dist/node/vite/shared/loggerDev.d.ts +1 -1
  205. package/dist/node/vite/shared/loggerDev.js +1 -1
  206. package/dist/node/vite/shared/loggerVite.d.ts +1 -1
  207. package/dist/node/vite/shared/loggerVite.js +12 -5
  208. package/dist/node/vite/shared/normalizeId.d.ts +1 -1
  209. package/dist/node/vite/shared/normalizeId.js +1 -1
  210. package/dist/node/vite/shared/parseEsModule.d.ts +1 -1
  211. package/dist/node/vite/shared/parseEsModule.js +1 -1
  212. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.d.ts +1 -1
  213. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +1 -1
  214. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +1 -1
  215. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +8 -4
  216. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.d.ts +1 -1
  217. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.js +1 -1
  218. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.d.ts +1 -1
  219. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +1 -1
  220. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.d.ts +1 -1
  221. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +1 -1
  222. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.d.ts +1 -1
  223. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.js +1 -1
  224. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.d.ts +1 -1
  225. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
  226. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +1 -1
  227. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +1 -1
  228. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.d.ts +1 -1
  229. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +1 -1
  230. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.d.ts +1 -1
  231. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +19 -4
  232. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +1 -1
  233. package/dist/node/vite/shared/resolveVikeConfigInternal.js +1 -1
  234. package/dist/node/vite/shared/rollupIsEsm.d.ts +1 -1
  235. package/dist/node/vite/shared/rollupIsEsm.js +1 -1
  236. package/dist/server/__internal/index.d.ts +1 -1
  237. package/dist/server/__internal/index.js +1 -1
  238. package/dist/server/__internal/vite.d.ts +1 -1
  239. package/dist/server/__internal/vite.js +1 -1
  240. package/dist/server/assertEnvServer.js +2 -4
  241. package/dist/server/client/router.d.ts +1 -1
  242. package/dist/server/client/router.js +1 -1
  243. package/dist/server/createPageRenderer.d.ts +2 -2
  244. package/dist/server/createPageRenderer.js +2 -2
  245. package/dist/server/importBuild.js +1 -1
  246. package/dist/server/runtime/asyncHook.d.ts +1 -1
  247. package/dist/server/runtime/asyncHook.js +1 -3
  248. package/dist/server/runtime/createDevMiddleware.d.ts +1 -1
  249. package/dist/server/runtime/createDevMiddleware.js +1 -1
  250. package/dist/server/runtime/getPageContext.d.ts +1 -1
  251. package/dist/server/runtime/getPageContext.js +1 -1
  252. package/dist/server/runtime/globalContext.d.ts +11 -11
  253. package/dist/server/runtime/globalContext.js +1 -3
  254. package/dist/server/runtime/index-deprecated.d.ts +1 -1
  255. package/dist/server/runtime/index-deprecated.js +1 -1
  256. package/dist/server/runtime/index.d.ts +1 -1
  257. package/dist/server/runtime/index.js +1 -1
  258. package/dist/server/runtime/logErrorServer.d.ts +1 -1
  259. package/dist/server/runtime/logErrorServer.js +1 -3
  260. package/dist/server/runtime/loggerRuntime.d.ts +1 -1
  261. package/dist/server/runtime/loggerRuntime.js +1 -1
  262. package/dist/server/runtime/renderPageServer/addErrorHint/errors.js +1 -1
  263. package/dist/server/runtime/renderPageServer/addErrorHint.d.ts +1 -1
  264. package/dist/server/runtime/renderPageServer/addErrorHint.js +3 -2
  265. package/dist/server/runtime/renderPageServer/analyzePage.d.ts +1 -1
  266. package/dist/server/runtime/renderPageServer/analyzePage.js +1 -1
  267. package/dist/server/runtime/renderPageServer/assertArguments.d.ts +1 -1
  268. package/dist/server/runtime/renderPageServer/assertArguments.js +1 -1
  269. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +1 -1
  270. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
  271. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +1 -1
  272. package/dist/server/runtime/renderPageServer/createHttpResponse.js +1 -1
  273. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +10 -6
  274. package/dist/server/runtime/renderPageServer/createPageContextServer.js +1 -1
  275. package/dist/server/runtime/renderPageServer/csp.d.ts +1 -1
  276. package/dist/server/runtime/renderPageServer/csp.js +1 -1
  277. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.d.ts +1 -1
  278. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.js +1 -1
  279. package/dist/server/runtime/renderPageServer/execHookOnError.d.ts +1 -1
  280. package/dist/server/runtime/renderPageServer/execHookOnError.js +1 -1
  281. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +3 -3
  282. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +1 -1
  283. package/dist/server/runtime/renderPageServer/execHookServer.d.ts +1 -1
  284. package/dist/server/runtime/renderPageServer/execHookServer.js +1 -1
  285. package/dist/server/runtime/renderPageServer/getCacheControl.d.ts +1 -1
  286. package/dist/server/runtime/renderPageServer/getCacheControl.js +1 -1
  287. package/dist/server/runtime/renderPageServer/getEarlyHints.d.ts +1 -1
  288. package/dist/server/runtime/renderPageServer/getEarlyHints.js +1 -1
  289. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +1 -1
  290. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +1 -1
  291. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.d.ts +1 -1
  292. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.js +1 -1
  293. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.d.ts +1 -1
  294. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.js +1 -1
  295. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.d.ts +1 -1
  296. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.js +1 -1
  297. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
  298. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +1 -1
  299. package/dist/server/runtime/renderPageServer/getPageAssets.d.ts +1 -1
  300. package/dist/server/runtime/renderPageServer/getPageAssets.js +1 -1
  301. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.d.ts +1 -1
  302. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.js +1 -1
  303. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +1 -1
  304. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +1 -1
  305. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.d.ts +1 -1
  306. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +6 -6
  307. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +1 -1
  308. package/dist/server/runtime/renderPageServer/headersResponse.js +1 -1
  309. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.d.ts +1 -1
  310. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +1 -1
  311. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.d.ts +1 -1
  312. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.js +1 -1
  313. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.d.ts +1 -1
  314. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.js +1 -1
  315. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.d.ts +1 -1
  316. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.js +1 -1
  317. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.d.ts +1 -1
  318. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.js +1 -1
  319. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.d.ts +1 -1
  320. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.js +1 -1
  321. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.d.ts +1 -1
  322. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.js +1 -1
  323. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +1 -1
  324. package/dist/server/runtime/renderPageServer/html/injectAssets.js +1 -1
  325. package/dist/server/runtime/renderPageServer/html/propKeys.d.ts +1 -1
  326. package/dist/server/runtime/renderPageServer/html/propKeys.js +1 -1
  327. package/dist/server/runtime/renderPageServer/html/renderHtml.d.ts +1 -1
  328. package/dist/server/runtime/renderPageServer/html/renderHtml.js +1 -1
  329. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +1 -1
  330. package/dist/server/runtime/renderPageServer/html/serializeContext.js +1 -1
  331. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.d.ts +1 -1
  332. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.js +1 -1
  333. package/dist/server/runtime/renderPageServer/html/stream.d.ts +1 -1
  334. package/dist/server/runtime/renderPageServer/html/stream.js +1 -1
  335. package/dist/server/runtime/renderPageServer/inferMediaType.d.ts +1 -1
  336. package/dist/server/runtime/renderPageServer/inferMediaType.js +1 -1
  337. package/dist/server/runtime/renderPageServer/isFontFallback.d.ts +1 -1
  338. package/dist/server/runtime/renderPageServer/isFontFallback.js +1 -1
  339. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +7 -5
  340. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +1 -1
  341. package/dist/server/runtime/renderPageServer/log404/index.d.ts +1 -1
  342. package/dist/server/runtime/renderPageServer/log404/index.js +1 -1
  343. package/dist/server/runtime/renderPageServer/loggerProd.d.ts +1 -1
  344. package/dist/server/runtime/renderPageServer/loggerProd.js +1 -1
  345. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +25 -17
  346. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +1 -1
  347. package/dist/server/runtime/renderPageServer/resolveRedirects.d.ts +1 -1
  348. package/dist/server/runtime/renderPageServer/resolveRedirects.js +1 -3
  349. package/dist/server/runtime/renderPageServer.d.ts +7 -5
  350. package/dist/server/runtime/renderPageServer.js +1 -1
  351. package/dist/server/runtime/universal-middleware.d.ts +1 -1
  352. package/dist/server/runtime/universal-middleware.js +1 -1
  353. package/dist/shared-server-client/assertVirtualFileExports.js +3 -3
  354. package/dist/shared-server-client/createGlobalContextShared.d.ts +2 -2
  355. package/dist/shared-server-client/hooks/execHook.d.ts +13 -7
  356. package/dist/shared-server-client/hooks/execHook.js +1 -0
  357. package/dist/shared-server-client/hooks/getHook.d.ts +7 -7
  358. package/dist/shared-server-client/route/abort.js +1 -4
  359. package/dist/shared-server-client/route/deduceRouteStringFromFilesystemPath.js +1 -1
  360. package/dist/shared-server-client/route/loadPageRoutes.d.ts +3 -3
  361. package/dist/types/Config.d.ts +2 -5
  362. package/dist/types/PageContext.d.ts +2 -1
  363. package/dist/types/index.d.ts +1 -0
  364. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  365. package/dist/utils/PROJECT_VERSION.js +1 -1
  366. package/dist/utils/assertSingleInstance.js +1 -1
  367. package/dist/utils/debug.js +8 -12
  368. package/dist/utils/isBrowser.d.ts +1 -0
  369. package/dist/utils/isBrowser.js +5 -3
  370. package/dist/utils/isObjectWithKeys.js +1 -1
  371. package/dist/utils/isSameErrorMessage.js +1 -1
  372. package/dist/utils/slice.js +1 -1
  373. package/dist/utils/sorter.js +1 -1
  374. package/package.json +17 -18
  375. /package/dist/node/api/{assertEnvApi.d.ts → assertEnvApiDev.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  export { prefetch };
3
2
  export { getPageContextPrefetched };
4
3
  export { initLinkPrefetchHandlers };
@@ -23,8 +22,9 @@ import { getPageContextCurrent } from './getPageContextCurrent.js';
23
22
  import { PAGE_CONTEXT_MAX_AGE_DEFAULT, getPrefetchSettings, } from './prefetch/getPrefetchSettings.js';
24
23
  import pc from '@brillout/picocolors';
25
24
  import { normalizeUrlArgument } from './normalizeUrlArgument.js';
25
+ import '../assertEnvClient.js';
26
26
  assertClientRouting();
27
- const globalObject = getGlobalObject('runtime-client-routing/prefetch.ts', {
27
+ const globalObject = getGlobalObject('prefetch.ts', {
28
28
  linkPrefetchHandlerAdded: new WeakSet(),
29
29
  addLinkPrefetchHandlers_debounce: null,
30
30
  mutationObserver: new MutationObserver(addLinkPrefetchHandlers),
@@ -1,8 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { renderPageClient };
3
2
  export { getRenderCount };
4
3
  export { disableClientRouting };
5
- export { firstRenderStartPromise };
6
4
  export { getPageContextClient };
7
5
  export type { PageContextBegin };
8
6
  export type { PageContextInternalClientAfterRender };
@@ -13,8 +11,8 @@ import type { PageContextConfig } from '../../shared-server-client/getPageFiles.
13
11
  import type { PageContextClient } from '../../types/PageContext.js';
14
12
  import { type PageContextPublicClient } from './getPageContextPublicClient.js';
15
13
  import type { VikeGlobalInternal } from '../../types/VikeGlobalInternal.js';
14
+ import '../assertEnvClient.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").Hook | null;
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").Hook | null;
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").Hook | null;
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").Hook | null;
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 & {
@@ -1,8 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { renderPageClient };
3
2
  export { getRenderCount };
4
3
  export { disableClientRouting };
5
- export { firstRenderStartPromise };
6
4
  export { getPageContextClient };
7
5
  import { assert, assertInfo, assertWarning } from '../../utils/assert.js';
8
6
  import { catchInfiniteLoop } from '../../utils/catchInfiniteLoop.js';
@@ -19,11 +17,11 @@ import { createPageContextClient } from './createPageContextClient.js';
19
17
  import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
20
18
  import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js';
21
19
  import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide, } from '../shared/loadPageConfigsLazyClientSide.js';
22
- import { pushHistoryState } from './history.js';
20
+ import { pushHistoryState, saveScrollPosition } from './history.js';
23
21
  import { addNewPageContextAborted, getPageContextAddendumAbort, isAbortError, logAbort, } from '../../shared-server-client/route/abort.js';
24
22
  import { route } from '../../shared-server-client/route/index.js';
25
23
  import { isClientSideRoutable } from './isClientSideRoutable.js';
26
- import { setScrollPosition } from './setScrollPosition.js';
24
+ import { isScrollPosition, setScrollPosition } from './setScrollPosition.js';
27
25
  import { scrollRestoration_initialRenderIsDone } from './scrollRestoration.js';
28
26
  import { getErrorPageId, isErrorPage } from '../../shared-server-client/error-page.js';
29
27
  import { setPageContextCurrent } from './getPageContextCurrent.js';
@@ -34,15 +32,15 @@ import { getPageContextPublicClient } from './getPageContextPublicClient.js';
34
32
  import { getHooksFromPageContextNew } from '../../shared-server-client/hooks/getHook.js';
35
33
  import { getPageContextPublicClientMinimal } from '../shared/getPageContextPublicClientShared.js';
36
34
  import { logErrorClient } from './logErrorClient.js';
37
- const globalObject = getGlobalObject('runtime-client-routing/renderPageClient.ts', (() => {
38
- const { promise: firstRenderStartPromise, resolve: firstRenderStartPromiseResolve } = genPromise();
35
+ import '../assertEnvClient.js';
36
+ const globalObject = getGlobalObject('renderPageClient.ts', (() => {
37
+ const { promise: hydrationAwaitPromise, resolve: hydrationAwaitPromiseResolve } = genPromise();
39
38
  return {
40
39
  renderCounter: 0,
41
- firstRenderStartPromise,
42
- firstRenderStartPromiseResolve,
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
- globalObject.firstRenderStartPromiseResolve();
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
- assertWarning(!isReact(), 'You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vike.dev/hydrationCanBeAborted', { onlyOnce: true });
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) => {
@@ -1,5 +1,5 @@
1
- import '../assertEnvClient.js';
2
1
  export { scrollRestoration_init };
3
2
  export { scrollRestoration_initialRenderIsDone };
3
+ import '../assertEnvClient.js';
4
4
  declare function scrollRestoration_init(): void;
5
5
  declare function scrollRestoration_initialRenderIsDone(): void;
@@ -1,4 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  export { scrollRestoration_init };
3
2
  export { scrollRestoration_initialRenderIsDone };
4
3
  // Using `window.history.scrollRestoration` to recover scroll position when user reloads the page or Cmd-Shift-T back to it.
@@ -8,7 +7,8 @@ export { scrollRestoration_initialRenderIsDone };
8
7
  // See also: https://github.com/cyco130/knave/blob/e9e1bc7687848504293197f1b314b7d12ad0d228/design.md#scroll-restoration
9
8
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
10
9
  import { onPageHide, onPageShow } from '../../utils/onPageVisibilityChange.js';
11
- const globalObject = getGlobalObject('runtime-client-routing/scrollRestoration.ts', {});
10
+ import '../assertEnvClient.js';
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();
@@ -1,12 +1,15 @@
1
- import '../assertEnvClient.js';
2
1
  export { setScrollPosition };
3
2
  export { autoSaveScrollPosition };
4
3
  export { scrollToHashOrTop };
4
+ export { isScrollPosition };
5
5
  export type { ScrollTarget };
6
6
  import { type ScrollPosition } from './history.js';
7
+ import '../assertEnvClient.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;
@@ -1,18 +1,19 @@
1
- import '../assertEnvClient.js';
2
1
  export { setScrollPosition };
3
2
  export { autoSaveScrollPosition };
4
3
  export { scrollToHashOrTop };
4
+ export { isScrollPosition };
5
5
  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
9
  import { replaceHistoryStateOriginal, saveScrollPosition } from './history.js';
10
+ import '../assertEnvClient.js';
10
11
  function setScrollPosition(scrollTarget, url) {
11
12
  if (!scrollTarget && url && hasTextFragment(url)) {
12
13
  scrollToTextFragment(url);
13
14
  return;
14
15
  }
15
- if (scrollTarget && 'x' in 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, Math.ceil(1000 / 3)), { passive: true });
125
+ window.addEventListener('scroll', throttle(saveScrollPosition, 300), { passive: true });
122
126
  onPageHide(saveScrollPosition);
123
127
  }
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { createPageContextClient };
3
2
  export type PageContextCreatedClient_ServerRouting = Awaited<ReturnType<typeof createPageContextClient>>;
3
+ import '../assertEnvClient.js';
4
4
  declare function createPageContextClient(): Promise<{
5
5
  _isOriginalObject: true;
6
6
  isPageContext: true;
@@ -1,9 +1,9 @@
1
- import '../assertEnvClient.js';
2
1
  export { createPageContextClient };
3
2
  import { objectAssign } from '../../utils/objectAssign.js';
4
3
  import { updateType } from '../../utils/updateType.js';
5
4
  import { createPageContextObject, createPageContextShared } from '../../shared-server-client/createPageContextShared.js';
6
5
  import { getGlobalContextClientInternal } from './getGlobalContextClientInternal.js';
6
+ import '../assertEnvClient.js';
7
7
  async function createPageContextClient() {
8
8
  const pageContext = createPageContextBase();
9
9
  const globalContext = await getGlobalContextClientInternal();
@@ -1,5 +1,5 @@
1
- import '../assertEnvClient.js';
2
1
  import { assertServerRouting } from '../../utils/assertRoutingType.js';
2
+ import '../assertEnvClient.js';
3
3
  assertServerRouting();
4
4
  import { createPageContextClient } from './createPageContextClient.js';
5
5
  import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js';
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { getGlobalContextClientInternal };
3
2
  export type { GlobalContextClientInternalWithServerRouting };
3
+ import '../assertEnvClient.js';
4
4
  type GlobalContextClientInternalWithServerRouting = Awaited<ReturnType<typeof getGlobalContextClientInternal>>;
5
5
  declare function getGlobalContextClientInternal(): Promise<{
6
6
  _globalConfigPublic: {
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { getGlobalContextClientInternal };
3
2
  import { getGlobalContextClientInternalShared } from '../shared/getGlobalContextClientInternalShared.js';
3
+ import '../assertEnvClient.js';
4
4
  async function getGlobalContextClientInternal() {
5
5
  const globalContext = await getGlobalContextClientInternalShared();
6
6
  return globalContext;
@@ -1,9 +1,9 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextPublicClient };
3
2
  export type { PageContextPublicClient };
4
3
  import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js';
5
4
  import type { PageContextInternalClient_ServerRouting } from '../../types/PageContext.js';
6
5
  import type { PageContextPublicMinimum } from '../../shared-server-client/getPageContextPublicShared.js';
6
+ import '../assertEnvClient.js';
7
7
  type PageContextPublicClient = PageContextPublicMinimum & PageContextInternalClient_ServerRouting & PageContextConfig;
8
8
  declare function getPageContextPublicClient<PageContext extends PageContextPublicClient>(pageContext: PageContext): PageContext & {
9
9
  Page: unknown;
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextPublicClient };
3
2
  import { getPageContextPublicClientShared } from '../shared/getPageContextPublicClientShared.js';
3
+ import '../assertEnvClient.js';
4
4
  function getPageContextPublicClient(pageContext) {
5
5
  return getPageContextPublicClientShared(pageContext);
6
6
  }
@@ -1,5 +1,5 @@
1
- import '../assertEnvClient.js';
2
1
  import type { PageContextBuiltInClientWithServerRouting } from '../../types/PageContext.js';
2
+ import '../assertEnvClient.js';
3
3
  /** @deprecated
4
4
  * Replace:
5
5
  * ```
@@ -1 +1,2 @@
1
+ // TO-DO/next-major-release: remove this file
1
2
  import '../assertEnvClient.js';
@@ -1,10 +1,10 @@
1
- import '../assertEnvClient.js';
2
1
  export { execHookOnRenderClient };
3
2
  export type { PageContextBeforeRenderClient };
4
3
  import type { PageFile, PageContextConfig } from '../../shared-server-client/getPageFiles.js';
5
4
  import type { GlobalContextClientInternalShared } from './getGlobalContextClientInternalShared.js';
6
5
  import type { PageContextCreatedClient } from '../runtime-client-routing/createPageContextClient.js';
7
6
  import type { PageContextCreatedClient_ServerRouting } from '../runtime-server-routing/createPageContextClient.js';
7
+ import '../assertEnvClient.js';
8
8
  type PageContextCreatedClientShared = PageContextCreatedClient | PageContextCreatedClient_ServerRouting;
9
9
  type PageContextBeforeRenderClient = {
10
10
  _pageFilesLoaded: PageFile[];
@@ -1,8 +1,8 @@
1
- import '../assertEnvClient.js';
2
1
  export { execHookOnRenderClient };
3
2
  import { assert, assertUsage } from '../../utils/assert.js';
4
3
  import { getHookFromPageContext } from '../../shared-server-client/hooks/getHook.js';
5
4
  import { execHookSingle } from '../../shared-server-client/hooks/execHook.js';
5
+ import '../assertEnvClient.js';
6
6
  async function execHookOnRenderClient(pageContext, getPageContextPublic) {
7
7
  let hook = null;
8
8
  {
@@ -1,5 +1,5 @@
1
- import '../assertEnvClient.js';
2
1
  export { getCurrentUrl };
2
+ import '../assertEnvClient.js';
3
3
  declare function getCurrentUrl(options?: {
4
4
  withoutHash: true;
5
5
  }): `/${string}`;
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { getCurrentUrl };
3
2
  import { normalizeClientSideUrl } from './normalizeClientSideUrl.js';
3
+ import '../assertEnvClient.js';
4
4
  function getCurrentUrl(options) {
5
5
  return normalizeClientSideUrl(window.location.href, options);
6
6
  }
@@ -1,4 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  export { getGlobalContext };
3
2
  export { getGlobalContextSync };
4
3
  export { setVirtualFileExportsGlobalEntry };
@@ -6,6 +5,7 @@ export { getGlobalContextClientInternalShared };
6
5
  export type GlobalContextClientInternalShared = GlobalContextClientInternal | GlobalContextClientInternalWithServerRouting;
7
6
  import type { GlobalContextClientInternal } from '../runtime-client-routing/getGlobalContextClientInternal.js';
8
7
  import type { GlobalContextClientInternalWithServerRouting } from '../runtime-server-routing/getGlobalContextClientInternal.js';
8
+ import '../assertEnvClient.js';
9
9
  declare function getGlobalContextClientInternalShared(): Promise<{
10
10
  _globalConfigPublic: {
11
11
  pages: {
@@ -1,4 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  // Public usage
3
2
  export { getGlobalContext };
4
3
  export { getGlobalContextSync };
@@ -12,6 +11,7 @@ import { checkType } from '../../utils/checkType.js';
12
11
  import { genPromise } from '../../utils/genPromise.js';
13
12
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
14
13
  import { objectAssign } from '../../utils/objectAssign.js';
14
+ import '../assertEnvClient.js';
15
15
  const globalObject = getGlobalObject('getGlobalContextClientInternalShared.ts', (() => {
16
16
  const { promise: globalContextInitialPromise, resolve: globalContextInitialPromiseResolve } = genPromise();
17
17
  return {
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextSerializedInHtml };
3
2
  export { getGlobalContextSerializedInHtml };
3
+ import '../assertEnvClient.js';
4
4
  declare function getPageContextSerializedInHtml(): {
5
5
  pageId: string;
6
6
  routeParams: Record<string, string>;
@@ -1,10 +1,10 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextSerializedInHtml };
3
2
  export { getGlobalContextSerializedInHtml };
4
3
  import { parse } from '@brillout/json-serializer/parse';
5
4
  import { assert, assertUsage } from '../../utils/assert.js';
6
5
  import { hasProp } from '../../utils/hasProp.js';
7
6
  import { htmlElementId_globalContext, htmlElementId_pageContext } from '../../shared-server-client/htmlElementIds.js';
7
+ import '../assertEnvClient.js';
8
8
  // elements should exist because:
9
9
  // 1. <script id="vike_pageContext" type="application/json"> appears before the <script> that loads Vike's client runtime (which includes this file)
10
10
  // 2. <script id="vike_pageContext" type="application/json"> is neither async nor defer
@@ -1,9 +1,9 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextPublicClientShared };
3
2
  export { getPageContextPublicClientMinimal };
4
3
  import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js';
5
4
  import { type PageContextPublicMinimum } from '../../shared-server-client/getPageContextPublicShared.js';
6
5
  import type { PageContextInternalClient } from '../../types/PageContext.js';
6
+ import '../assertEnvClient.js';
7
7
  type PageContextPublicClientShared = PageContextPublicMinimum & PageContextInternalClient & PageContextConfig;
8
8
  declare function getPageContextPublicClientShared<PageContext extends PageContextPublicClientShared>(pageContext: PageContext): PageContext & {
9
9
  Page: unknown;
@@ -1,8 +1,8 @@
1
- import '../assertEnvClient.js';
2
1
  export { getPageContextPublicClientShared };
3
2
  export { getPageContextPublicClientMinimal };
4
3
  import { objectAssign } from '../../utils/objectAssign.js';
5
4
  import { assertPropertyGetters, getPageContextPublicShared, } from '../../shared-server-client/getPageContextPublicShared.js';
5
+ import '../assertEnvClient.js';
6
6
  function getPageContextPublicClientShared(pageContext) {
7
7
  // TO-DO/soon/proxy: use proxy
8
8
  const Page = pageContext.config?.Page ||
@@ -1,9 +1,9 @@
1
- import '../assertEnvClient.js';
2
1
  export { loadPageConfigsLazyClientSide };
3
2
  export type { PageContext_loadPageConfigsLazyClientSide };
4
3
  export { isErrorFetchingStaticAssets };
5
4
  import { type PageFile } from '../../shared-server-client/getPageFiles.js';
6
5
  import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/PageConfig.js';
6
+ import '../assertEnvClient.js';
7
7
  type PageContext_loadPageConfigsLazyClientSide = {
8
8
  pageId: string;
9
9
  _pageFilesAll: PageFile[];
@@ -1,4 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  export { loadPageConfigsLazyClientSide };
3
2
  export { isErrorFetchingStaticAssets };
4
3
  import { getPageFilesClientSide } from '../../shared-server-client/getPageFiles.js';
@@ -6,6 +5,7 @@ import { resolvePageContextConfig } from '../../shared-server-client/page-config
6
5
  import { findPageConfig } from '../../shared-server-client/page-configs/findPageConfig.js';
7
6
  import { loadAndParseVirtualFilePageEntry } from '../../shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js';
8
7
  import { objectAssign } from '../../utils/objectAssign.js';
8
+ import '../assertEnvClient.js';
9
9
  const errStamp = '_isAssetsError';
10
10
  async function loadPageConfigsLazyClientSide(pageId, pageFilesAll, pageConfigs, pageConfigGlobal) {
11
11
  const pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
@@ -1,5 +1,5 @@
1
- import '../assertEnvClient.js';
2
1
  export { normalizeClientSideUrl };
2
+ import '../assertEnvClient.js';
3
3
  /** Resolves relative URLs */
4
4
  declare function normalizeClientSideUrl(url: string, options?: {
5
5
  withoutHash: true;
@@ -1,7 +1,7 @@
1
- import '../assertEnvClient.js';
2
1
  export { normalizeClientSideUrl };
3
2
  import { assert } from '../../utils/assert.js';
4
3
  import { parseUrl } from '../../utils/parseUrl.js';
4
+ import '../assertEnvClient.js';
5
5
  /** Resolves relative URLs */
6
6
  function normalizeClientSideUrl(url, options) {
7
7
  // This function doesn't work for `url === '#some-hash'` because `searchOriginal` will be missing: if window.location.href has a search string then it's going to be missing in the returned `urlCurrent` value because `parseUrl(url)` returns `searchOriginal: null` since there isn't any search string in `url`.
@@ -1,3 +1,3 @@
1
- import '../assertEnvClient.js';
2
1
  export { removeFoucBuster };
2
+ import '../assertEnvClient.js';
3
3
  declare function removeFoucBuster(): void;
@@ -1,6 +1,6 @@
1
- import '../assertEnvClient.js';
2
1
  export { removeFoucBuster };
3
2
  import { assert } from '../../utils/assert.js';
3
+ import '../assertEnvClient.js';
4
4
  // See also:
5
5
  // - Alternative approach of exactly injecting what Vite injects:
6
6
  // - https://github.com/remix-run/remix/issues/8830#issuecomment-1968368351
@@ -1,8 +1,8 @@
1
1
  import '../../utils/trackLogs.js'; // should be loaded ASAP
2
2
  import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js';
3
3
  import { assertIsNotProductionRuntime } from '../../utils/assertSetup.js';
4
- assertEnv();
5
- function assertEnv() {
4
+ assertEnvApiDev();
5
+ function assertEnvApiDev() {
6
6
  assertIsNotBrowser();
7
7
  assertIsNotProductionRuntime();
8
8
  }
@@ -0,0 +1 @@
1
+ import '../../utils/trackLogs.js';
@@ -0,0 +1,9 @@
1
+ import '../../utils/trackLogs.js'; // should be loaded ASAP
2
+ import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js';
3
+ assertEnvApiDevAndProd();
4
+ function assertEnvApiDevAndProd() {
5
+ assertIsNotBrowser();
6
+ /* It's expected that users programmtically trigger the pre-rendering process in production (it's a common technique), we therefore tolerate `import { prerender } from 'vike/api'` in production. This means that, in this case, we tolerate the `vite` package to be loaded in production (we usually prevent users to do that).
7
+ assertIsNotProductionRuntime()
8
+ */
9
+ }
@@ -1,6 +1,6 @@
1
- import './assertEnvApi.js';
2
1
  export { build };
3
2
  import type { ApiOptions } from './types.js';
3
+ import './assertEnvApiDev.js';
4
4
  /**
5
5
  * Programmatically trigger `$ vike build`
6
6
  *
@@ -1,7 +1,7 @@
1
- import './assertEnvApi.js';
2
1
  export { build };
3
2
  import { prepareViteApiCall } from './prepareViteApiCall.js';
4
3
  import { createBuilder } from 'vite';
4
+ import './assertEnvApiDev.js';
5
5
  /**
6
6
  * Programmatically trigger `$ vike build`
7
7
  *
@@ -1,8 +1,8 @@
1
- import './assertEnvApi.js';
2
1
  export { dev };
3
2
  export { startupLog };
4
3
  import { type ResolvedConfig, type ViteDevServer } from 'vite';
5
4
  import type { ApiOptions } from './types.js';
5
+ import './assertEnvApiDev.js';
6
6
  /**
7
7
  * Programmatically trigger `$ vike dev`
8
8
  *
@@ -1,6 +1,5 @@
1
- import './assertEnvApi.js';
2
1
  export { dev };
3
- // TO-DO/eventually: remove if it doesn't end up being used
2
+ // Enable vike-photon to call startupLog() — TO-DO/eventually: remove if it doesn't end up being used https://github.com/vikejs/vike-photon/issues/57
4
3
  export { startupLog };
5
4
  import { prepareViteApiCall } from './prepareViteApiCall.js';
6
5
  import { createServer } from 'vite';
@@ -11,6 +10,7 @@ import { colorVite } from '../../utils/colorsServer.js';
11
10
  import { PROJECT_VERSION } from '../../utils/PROJECT_VERSION.js';
12
11
  import pc from '@brillout/picocolors';
13
12
  import { processStartupLog } from '../vite/shared/loggerVite.js';
13
+ import './assertEnvApiDev.js';
14
14
  assertIsNotProductionRuntime();
15
15
  /**
16
16
  * Programmatically trigger `$ vike dev`
@@ -31,7 +31,7 @@ async function dev(options = {}) {
31
31
  startupLog(viteServer.resolvedUrls, viteServer);
32
32
  }
33
33
  else {
34
- // TO-DO/eventually: remove if it doesn't end up being used
34
+ // Enable vike-photon to call startupLog() — TO-DO/eventually: remove if it doesn't end up being used https://github.com/vikejs/vike-photon/issues/57
35
35
  ;
36
36
  viteConfig.server.startupLog = (resolvedUrls) => startupLog(resolvedUrls, viteServer);
37
37
  }
@@ -1,4 +1,3 @@
1
- import './assertEnvApi.js';
2
1
  export { build_ as build };
3
2
  export { dev_ as dev };
4
3
  export { preview_ as preview };
@@ -7,6 +6,7 @@ import type { build } from './build.js';
7
6
  import type { dev } from './dev.js';
8
7
  import type { preview } from './preview.js';
9
8
  import type { prerender } from './prerender.js';
9
+ import './assertEnvApiDevAndProd.js';
10
10
  declare const build_: typeof build;
11
11
  declare const dev_: typeof dev;
12
12
  declare const preview_: typeof preview;