vike 0.4.250 → 0.4.251-commit-9c5fb90

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 (518) hide show
  1. package/dist/client/assertEnvClient.d.ts +1 -0
  2. package/dist/client/assertEnvClient.js +5 -0
  3. package/dist/client/index.d.ts +1 -0
  4. package/dist/client/index.js +1 -0
  5. package/dist/client/node.d.ts +1 -1
  6. package/dist/client/node.js +1 -0
  7. package/dist/client/runtime-client-routing/{createPageContextClientSide.d.ts → createPageContextClient.d.ts} +12 -9
  8. package/dist/client/runtime-client-routing/{createPageContextClientSide.js → createPageContextClient.js} +26 -14
  9. package/dist/client/runtime-client-routing/entry.d.ts +1 -1
  10. package/dist/client/runtime-client-routing/entry.js +2 -1
  11. package/dist/client/runtime-client-routing/getBaseServer.d.ts +1 -0
  12. package/dist/client/runtime-client-routing/getBaseServer.js +2 -1
  13. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -0
  14. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.js +2 -1
  15. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.d.ts +1 -0
  16. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +2 -1
  17. package/dist/client/runtime-client-routing/getPageContext.d.ts +1 -0
  18. package/dist/client/runtime-client-routing/getPageContext.js +1 -0
  19. package/dist/client/runtime-client-routing/getPageContextCurrent.d.ts +1 -0
  20. package/dist/client/runtime-client-routing/getPageContextCurrent.js +2 -1
  21. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +178 -65
  22. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +10 -4
  23. package/dist/client/runtime-client-routing/getPageContextPublicClient.d.ts +14 -0
  24. package/dist/client/runtime-client-routing/getPageContextPublicClient.js +6 -0
  25. package/dist/client/runtime-client-routing/history.d.ts +1 -0
  26. package/dist/client/runtime-client-routing/history.js +5 -1
  27. package/dist/client/runtime-client-routing/index.d.ts +2 -1
  28. package/dist/client/runtime-client-routing/index.js +2 -1
  29. package/dist/client/runtime-client-routing/initClientRouter.d.ts +1 -0
  30. package/dist/client/runtime-client-routing/initClientRouter.js +2 -1
  31. package/dist/client/runtime-client-routing/initOnLinkClick.d.ts +1 -0
  32. package/dist/client/runtime-client-routing/initOnLinkClick.js +1 -0
  33. package/dist/client/runtime-client-routing/initOnPopState.d.ts +1 -0
  34. package/dist/client/runtime-client-routing/initOnPopState.js +2 -1
  35. package/dist/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -0
  36. package/dist/client/runtime-client-routing/isClientSideRoutable.js +1 -0
  37. package/dist/client/runtime-client-routing/isLinkSkipped.d.ts +1 -0
  38. package/dist/client/runtime-client-routing/isLinkSkipped.js +3 -1
  39. package/dist/client/runtime-client-routing/logErrorClient.d.ts +1 -0
  40. package/dist/client/runtime-client-routing/logErrorClient.js +2 -1
  41. package/dist/client/runtime-client-routing/navigate.d.ts +1 -0
  42. package/dist/client/runtime-client-routing/navigate.js +2 -1
  43. package/dist/client/runtime-client-routing/normalizeUrlArgument.d.ts +1 -0
  44. package/dist/client/runtime-client-routing/normalizeUrlArgument.js +3 -1
  45. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +1 -0
  46. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.js +2 -1
  47. package/dist/client/runtime-client-routing/prefetch.d.ts +3 -2
  48. package/dist/client/runtime-client-routing/prefetch.js +8 -3
  49. package/dist/client/runtime-client-routing/renderPageClient.d.ts +225 -144
  50. package/dist/client/runtime-client-routing/renderPageClient.js +25 -16
  51. package/dist/client/runtime-client-routing/scrollRestoration.d.ts +1 -0
  52. package/dist/client/runtime-client-routing/scrollRestoration.js +3 -1
  53. package/dist/client/runtime-client-routing/setScrollPosition.d.ts +1 -0
  54. package/dist/client/runtime-client-routing/setScrollPosition.js +5 -1
  55. package/dist/client/runtime-server-routing/{createPageContextClientSide.d.ts → createPageContextClient.d.ts} +9 -11
  56. package/dist/client/runtime-server-routing/createPageContextClient.js +29 -0
  57. package/dist/client/runtime-server-routing/entry.d.ts +1 -1
  58. package/dist/client/runtime-server-routing/entry.js +23 -6
  59. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +1 -0
  60. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.js +1 -0
  61. package/dist/client/runtime-server-routing/getPageContextPublicClient.d.ts +10 -0
  62. package/dist/client/runtime-server-routing/getPageContextPublicClient.js +6 -0
  63. package/dist/client/runtime-server-routing/index.d.ts +1 -0
  64. package/dist/client/runtime-server-routing/index.js +1 -2
  65. package/dist/client/shared/execHookOnRenderClient.d.ts +6 -3
  66. package/dist/client/shared/execHookOnRenderClient.js +6 -5
  67. package/dist/client/shared/getCurrentUrl.d.ts +1 -0
  68. package/dist/client/shared/getCurrentUrl.js +1 -0
  69. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +1 -0
  70. package/dist/client/shared/getGlobalContextClientInternalShared.js +6 -1
  71. package/dist/client/shared/getJsonSerializedInHtml.d.ts +1 -0
  72. package/dist/client/shared/getJsonSerializedInHtml.js +3 -1
  73. package/dist/client/shared/getPageContextPublicClientShared.d.ts +16 -0
  74. package/dist/client/shared/{preparePageContextForPublicUsageClientShared.js → getPageContextPublicClientShared.js} +10 -9
  75. package/dist/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -0
  76. package/dist/client/shared/loadPageConfigsLazyClientSide.js +2 -1
  77. package/dist/client/shared/normalizeClientSideUrl.d.ts +1 -0
  78. package/dist/client/shared/normalizeClientSideUrl.js +3 -1
  79. package/dist/client/shared/removeFoucBuster.d.ts +1 -0
  80. package/dist/client/shared/removeFoucBuster.js +2 -1
  81. package/dist/node/api/assertEnvApi.d.ts +1 -0
  82. package/dist/node/api/{onLoad.js → assertEnvApi.js} +3 -2
  83. package/dist/node/api/build.d.ts +1 -0
  84. package/dist/node/api/build.js +1 -0
  85. package/dist/node/api/dev.d.ts +1 -0
  86. package/dist/node/api/dev.js +6 -1
  87. package/dist/node/api/index.d.ts +1 -0
  88. package/dist/node/api/index.js +1 -0
  89. package/dist/node/api/prepareViteApiCall.d.ts +1 -0
  90. package/dist/node/api/prepareViteApiCall.js +1 -0
  91. package/dist/node/api/prerender.d.ts +1 -0
  92. package/dist/node/api/prerender.js +1 -0
  93. package/dist/node/api/preview.d.ts +1 -0
  94. package/dist/node/api/preview.js +4 -1
  95. package/dist/node/api/resolveViteConfigFromUser.d.ts +1 -0
  96. package/dist/node/api/resolveViteConfigFromUser.js +5 -1
  97. package/dist/node/cli/assertEnvCli.d.ts +1 -0
  98. package/dist/node/cli/{onLoad.js → assertEnvCli.js} +3 -2
  99. package/dist/node/cli/context.d.ts +1 -0
  100. package/dist/node/cli/context.js +3 -1
  101. package/dist/node/cli/entry.d.ts +1 -1
  102. package/dist/node/cli/entry.js +1 -0
  103. package/dist/node/cli/index.d.ts +1 -0
  104. package/dist/node/cli/index.js +2 -1
  105. package/dist/node/cli/parseCli.d.ts +1 -0
  106. package/dist/node/cli/parseCli.js +4 -1
  107. package/dist/node/prerender/context.d.ts +1 -1
  108. package/dist/node/prerender/context.js +2 -2
  109. package/dist/node/prerender/resolvePrerenderConfig.d.ts +4 -4
  110. package/dist/node/prerender/resolvePrerenderConfig.js +21 -12
  111. package/dist/node/prerender/runPrerender.d.ts +2 -5
  112. package/dist/node/prerender/runPrerender.js +32 -17
  113. package/dist/node/prerender/runPrerenderEntry.js +1 -1
  114. package/dist/node/vite/assertEnvVite.d.ts +1 -0
  115. package/dist/node/vite/{onLoad.js → assertEnvVite.js} +9 -4
  116. package/dist/node/vite/index.d.ts +2 -1
  117. package/dist/node/vite/index.js +5 -2
  118. package/dist/node/vite/plugins/build/handleAssetsManifest.d.ts +1 -0
  119. package/dist/node/vite/plugins/build/handleAssetsManifest.js +7 -1
  120. package/dist/node/vite/plugins/build/pluginBuildApp.d.ts +1 -0
  121. package/dist/node/vite/plugins/build/pluginBuildApp.js +5 -2
  122. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +1 -0
  123. package/dist/node/vite/plugins/build/pluginBuildConfig.js +8 -1
  124. package/dist/node/vite/plugins/build/pluginDistFileNames.d.ts +1 -0
  125. package/dist/node/vite/plugins/build/pluginDistFileNames.js +5 -1
  126. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.d.ts +1 -0
  127. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.js +1 -0
  128. package/dist/node/vite/plugins/build/pluginModuleBanner.d.ts +1 -0
  129. package/dist/node/vite/plugins/build/pluginModuleBanner.js +5 -2
  130. package/dist/node/vite/plugins/build/pluginProdBuildEntry.d.ts +1 -0
  131. package/dist/node/vite/plugins/build/pluginProdBuildEntry.js +4 -1
  132. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.d.ts +1 -0
  133. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +1 -0
  134. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +1 -0
  135. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +4 -1
  136. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.d.ts +1 -0
  137. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +3 -1
  138. package/dist/node/vite/plugins/pluginAssertFileEnv.d.ts +1 -0
  139. package/dist/node/vite/plugins/pluginAssertFileEnv.js +7 -1
  140. package/dist/node/vite/plugins/pluginBaseUrls.d.ts +1 -0
  141. package/dist/node/vite/plugins/pluginBaseUrls.js +2 -1
  142. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.d.ts +1 -0
  143. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.js +4 -1
  144. package/dist/node/vite/plugins/pluginCommon.d.ts +1 -0
  145. package/dist/node/vite/plugins/pluginCommon.js +13 -1
  146. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.d.ts +1 -0
  147. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.js +4 -1
  148. package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -0
  149. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +8 -1
  150. package/dist/node/vite/plugins/pluginDev.d.ts +1 -0
  151. package/dist/node/vite/plugins/pluginDev.js +5 -1
  152. package/dist/node/vite/plugins/pluginExtractAssets.d.ts +1 -0
  153. package/dist/node/vite/plugins/pluginExtractAssets.js +8 -1
  154. package/dist/node/vite/plugins/pluginExtractExportNames.d.ts +1 -0
  155. package/dist/node/vite/plugins/pluginExtractExportNames.js +6 -1
  156. package/dist/node/vite/plugins/pluginPreview.d.ts +1 -0
  157. package/dist/node/vite/plugins/pluginPreview.js +3 -1
  158. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.d.ts +1 -0
  159. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.js +7 -1
  160. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +1 -0
  161. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +5 -1
  162. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.d.ts +1 -0
  163. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.js +3 -1
  164. package/dist/node/vite/plugins/pluginSetGlobalContext.d.ts +1 -0
  165. package/dist/node/vite/plugins/pluginSetGlobalContext.js +3 -1
  166. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.d.ts +1 -0
  167. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.js +2 -1
  168. package/dist/node/vite/plugins/pluginStaticReplace.d.ts +1 -0
  169. package/dist/node/vite/plugins/pluginStaticReplace.js +3 -1
  170. package/dist/node/vite/plugins/pluginVirtualFiles/debug.d.ts +1 -0
  171. package/dist/node/vite/plugins/pluginVirtualFiles/debug.js +2 -1
  172. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +1 -0
  173. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +1 -0
  174. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +1 -0
  175. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +6 -1
  176. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +1 -0
  177. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +2 -1
  178. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +1 -0
  179. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +3 -1
  180. package/dist/node/vite/plugins/pluginVirtualFiles.d.ts +1 -0
  181. package/dist/node/vite/plugins/pluginVirtualFiles.js +9 -6
  182. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.d.ts +1 -0
  183. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.js +4 -1
  184. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -0
  185. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -0
  186. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -0
  187. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +1 -0
  188. package/dist/node/vite/shared/addSsrMiddleware.d.ts +1 -0
  189. package/dist/node/vite/shared/addSsrMiddleware.js +2 -1
  190. package/dist/node/vite/shared/findPageFiles.d.ts +1 -0
  191. package/dist/node/vite/shared/findPageFiles.js +4 -1
  192. package/dist/node/vite/shared/getAssetsDir.d.ts +1 -0
  193. package/dist/node/vite/shared/getAssetsDir.js +2 -1
  194. package/dist/node/vite/shared/getClientEntrySrcDev.d.ts +1 -0
  195. package/dist/node/vite/shared/getClientEntrySrcDev.js +7 -1
  196. package/dist/node/vite/shared/getEnvVarObject.d.ts +1 -0
  197. package/dist/node/vite/shared/getEnvVarObject.js +3 -1
  198. package/dist/node/vite/shared/getFilePath.d.ts +1 -0
  199. package/dist/node/vite/shared/getFilePath.js +6 -1
  200. package/dist/node/vite/shared/getMagicString.d.ts +1 -0
  201. package/dist/node/vite/shared/getMagicString.js +1 -0
  202. package/dist/node/vite/shared/getManifestFilePathRelative.d.ts +1 -0
  203. package/dist/node/vite/shared/getManifestFilePathRelative.js +2 -1
  204. package/dist/node/vite/shared/getOutDirs.d.ts +1 -0
  205. package/dist/node/vite/shared/getOutDirs.js +5 -1
  206. package/dist/node/vite/shared/getViteConfigRuntime.d.ts +1 -0
  207. package/dist/node/vite/shared/getViteConfigRuntime.js +4 -1
  208. package/dist/node/vite/shared/importString.d.ts +1 -0
  209. package/dist/node/vite/shared/importString.js +2 -1
  210. package/dist/node/vite/shared/isAsset.d.ts +1 -0
  211. package/dist/node/vite/shared/isAsset.js +1 -0
  212. package/dist/node/vite/shared/isViteCli.d.ts +1 -0
  213. package/dist/node/vite/shared/isViteCli.js +4 -1
  214. package/dist/node/vite/shared/isViteServerSide.d.ts +1 -0
  215. package/dist/node/vite/shared/isViteServerSide.js +3 -1
  216. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelReact.d.ts +1 -0
  217. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -0
  218. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelSolid.d.ts +1 -0
  219. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -0
  220. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errEsbuild.d.ts +1 -0
  221. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errEsbuild.js +1 -0
  222. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx1.d.ts +1 -0
  223. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx1.js +1 -0
  224. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx2.d.ts +1 -0
  225. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx2.js +1 -0
  226. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errPostcss.d.ts +1 -0
  227. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errPostcss.js +1 -0
  228. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwc.d.ts +1 -0
  229. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwc.js +1 -0
  230. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwcBig.d.ts +1 -0
  231. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwcBig.js +1 -0
  232. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueCss.d.ts +1 -0
  233. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueCss.js +1 -0
  234. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueHtml.d.ts +1 -0
  235. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -0
  236. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueJavascript.d.ts +1 -0
  237. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -0
  238. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.d.ts +1 -0
  239. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.js +6 -1
  240. package/dist/node/vite/shared/loggerDev.d.ts +4 -3
  241. package/dist/node/vite/shared/loggerDev.js +12 -4
  242. package/dist/node/vite/shared/loggerVite.d.ts +1 -0
  243. package/dist/node/vite/shared/loggerVite.js +6 -1
  244. package/dist/node/vite/shared/normalizeId.d.ts +1 -0
  245. package/dist/node/vite/shared/normalizeId.js +2 -1
  246. package/dist/node/vite/shared/parseEsModule.d.ts +1 -0
  247. package/dist/node/vite/shared/parseEsModule.js +2 -1
  248. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.d.ts +1 -0
  249. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +5 -1
  250. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +3 -0
  251. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +32 -13
  252. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.d.ts +1 -0
  253. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.js +1 -0
  254. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.d.ts +1 -0
  255. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.js +12 -1
  256. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.d.ts +1 -0
  257. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +5 -1
  258. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.d.ts +1 -0
  259. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +3 -1
  260. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.d.ts +1 -0
  261. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.js +2 -1
  262. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.d.ts +1 -0
  263. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +5 -1
  264. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +1 -0
  265. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -1
  266. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.d.ts +1 -0
  267. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +7 -1
  268. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.d.ts +1 -0
  269. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +22 -5
  270. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -1
  271. package/dist/node/vite/shared/resolveVikeConfigInternal.js +71 -19
  272. package/dist/node/vite/shared/rollupIsEsm.d.ts +3 -1
  273. package/dist/node/vite/shared/rollupIsEsm.js +4 -2
  274. package/dist/server/__internal/index.d.ts +1 -0
  275. package/dist/server/__internal/index.js +1 -0
  276. package/dist/server/__internal/vite.d.ts +1 -0
  277. package/dist/server/__internal/vite.js +1 -0
  278. package/dist/server/assertEnvServer.d.ts +1 -0
  279. package/dist/server/{onLoad.js → assertEnvServer.js} +10 -4
  280. package/dist/server/client/router.d.ts +1 -0
  281. package/dist/server/client/router.js +1 -0
  282. package/dist/server/createPageRenderer.d.ts +1 -0
  283. package/dist/server/createPageRenderer.js +2 -1
  284. package/dist/server/importBuild.d.ts +1 -1
  285. package/dist/server/importBuild.js +1 -1
  286. package/dist/server/runtime/asyncHook.d.ts +1 -0
  287. package/dist/server/runtime/asyncHook.js +7 -3
  288. package/dist/server/runtime/createDevMiddleware.d.ts +1 -0
  289. package/dist/server/runtime/createDevMiddleware.js +1 -0
  290. package/dist/server/runtime/getPageContext.d.ts +1 -0
  291. package/dist/server/runtime/getPageContext.js +1 -0
  292. package/dist/server/runtime/globalContext.d.ts +1 -0
  293. package/dist/server/runtime/globalContext.js +23 -7
  294. package/dist/server/runtime/index-deprecated.d.ts +1 -0
  295. package/dist/server/runtime/index-deprecated.js +2 -1
  296. package/dist/server/runtime/index.d.ts +2 -1
  297. package/dist/server/runtime/index.js +3 -5
  298. package/dist/server/runtime/logErrorServer.d.ts +3 -2
  299. package/dist/server/runtime/logErrorServer.js +7 -3
  300. package/dist/server/runtime/loggerRuntime.d.ts +4 -2
  301. package/dist/server/runtime/loggerRuntime.js +2 -1
  302. package/dist/server/runtime/page-files/setup.d.ts +1 -1
  303. package/dist/server/runtime/page-files/setup.js +1 -1
  304. package/dist/server/runtime/renderPageServer/addErrorHint/errors.d.ts +1 -0
  305. package/dist/server/runtime/renderPageServer/addErrorHint/errors.js +1 -0
  306. package/dist/server/runtime/renderPageServer/addErrorHint.d.ts +1 -0
  307. package/dist/server/runtime/renderPageServer/addErrorHint.js +5 -1
  308. package/dist/server/runtime/renderPageServer/analyzePage.d.ts +1 -0
  309. package/dist/server/runtime/renderPageServer/analyzePage.js +1 -0
  310. package/dist/server/runtime/renderPageServer/assertArguments.d.ts +1 -0
  311. package/dist/server/runtime/renderPageServer/assertArguments.js +4 -1
  312. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +1 -0
  313. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.js +4 -1
  314. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +5 -2
  315. package/dist/server/runtime/renderPageServer/createHttpResponse.js +19 -9
  316. package/dist/server/runtime/renderPageServer/{createPageContextServerSide.d.ts → createPageContextServer.d.ts} +13 -15
  317. package/dist/server/runtime/renderPageServer/{createPageContextServerSide.js → createPageContextServer.js} +21 -16
  318. package/dist/server/runtime/renderPageServer/csp.d.ts +1 -0
  319. package/dist/server/runtime/renderPageServer/csp.js +2 -1
  320. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.d.ts +1 -0
  321. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.js +1 -0
  322. package/dist/server/runtime/renderPageServer/execHookOnError.d.ts +3 -2
  323. package/dist/server/runtime/renderPageServer/execHookOnError.js +10 -4
  324. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +5 -4
  325. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +9 -4
  326. package/dist/server/runtime/renderPageServer/execHookServer.d.ts +6 -3
  327. package/dist/server/runtime/renderPageServer/execHookServer.js +6 -5
  328. package/dist/server/runtime/renderPageServer/getCacheControl.d.ts +1 -0
  329. package/dist/server/runtime/renderPageServer/getCacheControl.js +1 -0
  330. package/dist/server/runtime/renderPageServer/getEarlyHints.d.ts +1 -0
  331. package/dist/server/runtime/renderPageServer/getEarlyHints.js +1 -0
  332. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +1 -0
  333. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +2 -1
  334. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.d.ts +1 -0
  335. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.js +4 -1
  336. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.d.ts +1 -0
  337. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.js +4 -1
  338. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.d.ts +1 -0
  339. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.js +3 -1
  340. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -0
  341. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -1
  342. package/dist/server/runtime/renderPageServer/getPageAssets.d.ts +1 -0
  343. package/dist/server/runtime/renderPageServer/getPageAssets.js +6 -1
  344. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.d.ts +11 -0
  345. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.js +9 -0
  346. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +5 -4
  347. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +6 -5
  348. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.d.ts +1 -0
  349. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +7 -1
  350. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +1 -0
  351. package/dist/server/runtime/renderPageServer/headersResponse.js +2 -1
  352. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.d.ts +1 -0
  353. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +4 -1
  354. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.d.ts +1 -0
  355. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.js +3 -1
  356. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.d.ts +1 -0
  357. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.js +2 -1
  358. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.d.ts +1 -0
  359. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.js +4 -1
  360. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.d.ts +1 -0
  361. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.js +3 -1
  362. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.d.ts +1 -0
  363. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.js +2 -1
  364. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.d.ts +2 -0
  365. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.js +2 -1
  366. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +1 -0
  367. package/dist/server/runtime/renderPageServer/html/injectAssets.js +4 -1
  368. package/dist/server/runtime/renderPageServer/html/propKeys.d.ts +1 -0
  369. package/dist/server/runtime/renderPageServer/html/propKeys.js +2 -1
  370. package/dist/server/runtime/renderPageServer/html/renderHtml.d.ts +1 -0
  371. package/dist/server/runtime/renderPageServer/html/renderHtml.js +8 -1
  372. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +3 -2
  373. package/dist/server/runtime/renderPageServer/html/serializeContext.js +5 -1
  374. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.d.ts +1 -0
  375. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.js +4 -1
  376. package/dist/server/runtime/renderPageServer/html/stream.d.ts +1 -0
  377. package/dist/server/runtime/renderPageServer/html/stream.js +9 -1
  378. package/dist/server/runtime/renderPageServer/inferMediaType.d.ts +1 -0
  379. package/dist/server/runtime/renderPageServer/inferMediaType.js +3 -1
  380. package/dist/server/runtime/renderPageServer/isFontFallback.d.ts +1 -0
  381. package/dist/server/runtime/renderPageServer/isFontFallback.js +1 -0
  382. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +6 -8
  383. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +7 -1
  384. package/dist/server/runtime/renderPageServer/log404/index.d.ts +3 -2
  385. package/dist/server/runtime/renderPageServer/log404/index.js +6 -1
  386. package/dist/server/runtime/renderPageServer/loggerProd.d.ts +1 -0
  387. package/dist/server/runtime/renderPageServer/loggerProd.js +1 -0
  388. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +12 -23
  389. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +11 -6
  390. package/dist/server/runtime/renderPageServer/resolveRedirects.d.ts +1 -0
  391. package/dist/server/runtime/renderPageServer/resolveRedirects.js +3 -1
  392. package/dist/server/runtime/renderPageServer.d.ts +8 -10
  393. package/dist/server/runtime/renderPageServer.js +40 -25
  394. package/dist/server/runtime/universal-middleware.d.ts +3 -1
  395. package/dist/server/runtime/universal-middleware.js +3 -1
  396. package/dist/shared-server-client/addIs404ToPageProps.js +2 -1
  397. package/dist/shared-server-client/assertHookReturnedObject.js +2 -1
  398. package/dist/shared-server-client/assertOnBeforeRenderHookReturn.js +2 -1
  399. package/dist/shared-server-client/assertPageContextProvidedByUser.js +2 -1
  400. package/dist/shared-server-client/assertVirtualFileExports.js +1 -1
  401. package/dist/shared-server-client/createGlobalContextShared.d.ts +2 -2
  402. package/dist/shared-server-client/createGlobalContextShared.js +10 -5
  403. package/dist/shared-server-client/createPageContextShared.d.ts +9 -2
  404. package/dist/shared-server-client/createPageContextShared.js +2 -1
  405. package/dist/shared-server-client/determinePageIdOld.js +2 -1
  406. package/dist/shared-server-client/error-page.js +2 -1
  407. package/dist/shared-server-client/forkPageContext.js +1 -1
  408. package/dist/shared-server-client/getGlobalContextPublicShared.d.ts +14 -0
  409. package/dist/shared-server-client/getGlobalContextPublicShared.js +8 -0
  410. package/dist/shared-server-client/getPageContextPublicShared.d.ts +12 -0
  411. package/dist/shared-server-client/{preparePageContextForPublicUsage.js → getPageContextPublicShared.js} +9 -7
  412. package/dist/shared-server-client/getPageContextUrlComputed.d.ts +4 -3
  413. package/dist/shared-server-client/getPageContextUrlComputed.js +5 -2
  414. package/dist/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
  415. package/dist/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.js +1 -1
  416. package/dist/shared-server-client/getPageFiles/analyzePageClientSide.js +1 -1
  417. package/dist/shared-server-client/getPageFiles/analyzePageServerSide.js +1 -1
  418. package/dist/shared-server-client/getPageFiles/assert_exports_old_design.js +1 -1
  419. package/dist/shared-server-client/getPageFiles/fileTypes.js +1 -1
  420. package/dist/shared-server-client/getPageFiles/getAllPageIdFiles.js +2 -1
  421. package/dist/shared-server-client/getPageFiles/getPageFileObject.js +2 -1
  422. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.js +6 -1
  423. package/dist/shared-server-client/getPublicProxy.d.ts +12 -0
  424. package/dist/shared-server-client/{getProxyForPublicUsage.js → getPublicProxy.js} +7 -5
  425. package/dist/shared-server-client/hooks/execHook.d.ts +15 -19
  426. package/dist/shared-server-client/hooks/execHook.js +100 -35
  427. package/dist/shared-server-client/hooks/getHook.d.ts +7 -7
  428. package/dist/shared-server-client/hooks/getHook.js +10 -6
  429. package/dist/shared-server-client/modifyUrl.js +1 -1
  430. package/dist/shared-server-client/modifyUrlSameOrigin.js +3 -1
  431. package/dist/shared-server-client/page-configs/assertPlusFileExport.js +1 -1
  432. package/dist/shared-server-client/page-configs/findPageConfig.js +1 -1
  433. package/dist/shared-server-client/page-configs/getConfigDefinedAt.js +3 -1
  434. package/dist/shared-server-client/page-configs/getConfigValueBuildTime.d.ts +1 -1
  435. package/dist/shared-server-client/page-configs/getConfigValueBuildTime.js +1 -1
  436. package/dist/shared-server-client/page-configs/getConfigValueRuntime.d.ts +1 -1
  437. package/dist/shared-server-client/page-configs/getConfigValueTyped.d.ts +1 -1
  438. package/dist/shared-server-client/page-configs/getConfigValueTyped.js +2 -1
  439. package/dist/shared-server-client/page-configs/getExportPath.js +1 -1
  440. package/dist/shared-server-client/page-configs/helpers.js +2 -1
  441. package/dist/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js +1 -1
  442. package/dist/shared-server-client/page-configs/resolveVikeConfigPublic.js +6 -1
  443. package/dist/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.js +2 -1
  444. package/dist/shared-server-client/page-configs/serialize/serializeConfigValues.js +6 -1
  445. package/dist/shared-server-client/route/abort.js +9 -1
  446. package/dist/shared-server-client/route/deduceRouteStringFromFilesystemPath.js +3 -1
  447. package/dist/shared-server-client/route/execHookGuard.d.ts +2 -1
  448. package/dist/shared-server-client/route/execHookGuard.js +5 -4
  449. package/dist/shared-server-client/route/execHookOnBeforeRoute.js +9 -4
  450. package/dist/shared-server-client/route/index.d.ts +1 -1
  451. package/dist/shared-server-client/route/index.js +4 -1
  452. package/dist/shared-server-client/route/loadPageRoutes.js +5 -2
  453. package/dist/shared-server-client/route/resolvePrecedence.js +1 -2
  454. package/dist/shared-server-client/route/resolveRoute.js +1 -1
  455. package/dist/shared-server-client/route/resolveRouteFunction.js +8 -5
  456. package/dist/shared-server-client/route/resolveRouteString.js +3 -2
  457. package/dist/shared-server-client/route/resolveUrlPathname.js +1 -1
  458. package/dist/shared-server-node/api-context.js +2 -1
  459. package/dist/shared-server-node/assertV1Design.js +3 -1
  460. package/dist/shared-server-node/extractAssetsQuery.js +2 -1
  461. package/dist/shared-server-node/getVikeConfigError.js +2 -1
  462. package/dist/shared-server-node/prependEntriesDir.js +1 -1
  463. package/dist/shared-server-node/resolveBase.js +3 -1
  464. package/dist/shared-server-node/virtualFileId.js +3 -1
  465. package/dist/types/Config.d.ts +95 -74
  466. package/dist/types/PageContext.d.ts +37 -30
  467. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  468. package/dist/utils/PROJECT_VERSION.js +1 -1
  469. package/dist/utils/assert.d.ts +5 -5
  470. package/dist/utils/assert.js +8 -8
  471. package/dist/utils/catchInfiniteLoop.d.ts +1 -1
  472. package/dist/utils/catchInfiniteLoop.js +16 -17
  473. package/dist/utils/freezePartial.js +1 -1
  474. package/dist/utils/installUncaughtErrorHandlers.d.ts +2 -0
  475. package/dist/utils/installUncaughtErrorHandlers.js +20 -0
  476. package/package.json +2 -2
  477. package/dist/client/runtime-client-routing/onLoad.d.ts +0 -2
  478. package/dist/client/runtime-client-routing/onLoad.js +0 -8
  479. package/dist/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +0 -13
  480. package/dist/client/runtime-client-routing/preparePageContextForPublicUsageClient.js +0 -5
  481. package/dist/client/runtime-client-routing/utils.d.ts +0 -24
  482. package/dist/client/runtime-client-routing/utils.js +0 -28
  483. package/dist/client/runtime-server-routing/createPageContextClientSide.js +0 -41
  484. package/dist/client/runtime-server-routing/onLoad.d.ts +0 -2
  485. package/dist/client/runtime-server-routing/onLoad.js +0 -5
  486. package/dist/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +0 -9
  487. package/dist/client/runtime-server-routing/preparePageContextForPublicUsageClient.js +0 -5
  488. package/dist/client/runtime-server-routing/utils.d.ts +0 -14
  489. package/dist/client/runtime-server-routing/utils.js +0 -18
  490. package/dist/client/shared/preparePageContextForPublicUsageClientShared.d.ts +0 -15
  491. package/dist/client/shared/utils.d.ts +0 -7
  492. package/dist/client/shared/utils.js +0 -7
  493. package/dist/node/api/onLoad.d.ts +0 -2
  494. package/dist/node/api/utils.d.ts +0 -11
  495. package/dist/node/api/utils.js +0 -15
  496. package/dist/node/cli/onLoad.d.ts +0 -2
  497. package/dist/node/cli/utils.d.ts +0 -4
  498. package/dist/node/cli/utils.js +0 -8
  499. package/dist/node/prerender/utils.d.ts +0 -19
  500. package/dist/node/prerender/utils.js +0 -21
  501. package/dist/node/vite/onLoad.d.ts +0 -2
  502. package/dist/node/vite/utils.d.ts +0 -25
  503. package/dist/node/vite/utils.js +0 -31
  504. package/dist/server/onLoad.d.ts +0 -2
  505. package/dist/server/runtime/renderPageServer/preparePageContextForPublicUsageServer.d.ts +0 -25
  506. package/dist/server/runtime/renderPageServer/preparePageContextForPublicUsageServer.js +0 -8
  507. package/dist/server/utils.d.ts +0 -65
  508. package/dist/server/utils.js +0 -69
  509. package/dist/shared-server-client/getProxyForPublicUsage.d.ts +0 -10
  510. package/dist/shared-server-client/prepareGlobalContextForPublicUsage.d.ts +0 -11
  511. package/dist/shared-server-client/prepareGlobalContextForPublicUsage.js +0 -8
  512. package/dist/shared-server-client/preparePageContextForPublicUsage.d.ts +0 -15
  513. package/dist/shared-server-client/route/utils.d.ts +0 -16
  514. package/dist/shared-server-client/route/utils.js +0 -25
  515. package/dist/shared-server-client/utils.d.ts +0 -29
  516. package/dist/shared-server-client/utils.js +0 -33
  517. package/dist/shared-server-node/utils.d.ts +0 -1
  518. package/dist/shared-server-node/utils.js +0 -4
@@ -1,9 +1,12 @@
1
1
  export { loadPageRoutes };
2
2
  export { loadPageRoutesSync };
3
3
  import { isErrorPageId } from '../error-page.js';
4
- import { assert, assertUsage, hasProp, slice } from './utils.js';
4
+ import { assert, assertUsage } from '../../utils/assert.js';
5
+ import { hasProp } from '../../utils/hasProp.js';
6
+ import { isArray } from '../../utils/isArray.js';
7
+ import { isCallable } from '../../utils/isCallable.js';
8
+ import { slice } from '../../utils/slice.js';
5
9
  import { deduceRouteStringFromFilesystemPath } from './deduceRouteStringFromFilesystemPath.js';
6
- import { isArray, isCallable } from '../utils.js';
7
10
  import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
8
11
  import { getDefinedAtString } from '../page-configs/getConfigDefinedAt.js';
9
12
  import { warnDeprecatedAllowKey } from './resolveRouteFunction.js';
@@ -1,8 +1,7 @@
1
1
  export { resolvePrecedence };
2
2
  // export type { RouteMatch }
3
3
  import { analyzeRouteString } from './resolveRouteString.js';
4
- import { higherFirst, lowerFirst } from './utils.js';
5
- import { makeFirst } from './utils.js';
4
+ import { higherFirst, lowerFirst, makeFirst } from '../../utils/sorter.js';
6
5
  import { isStaticRouteString } from './resolveRouteString.js';
7
6
  // See https://vike.dev/route-function#precedence
8
7
  function resolvePrecedence(routeMatches) {
@@ -1,5 +1,5 @@
1
1
  export { resolveRoute };
2
- import { assertUsage } from './utils.js';
2
+ import { assertUsage } from '../../utils/assert.js';
3
3
  import { resolveRouteString } from './resolveRouteString.js';
4
4
  import pc from '@brillout/picocolors';
5
5
  function resolveRoute(routeString, urlPathname) {
@@ -2,16 +2,19 @@ export { resolveRouteFunction };
2
2
  export { assertRouteParams };
3
3
  export { assertSyncRouting };
4
4
  export { warnDeprecatedAllowKey };
5
- import { execHookDirectSync } from '../hooks/execHook.js';
6
- import { preparePageContextForPublicUsage } from '../preparePageContextForPublicUsage.js';
7
- import { assert, assertUsage, assertWarning, hasProp, isPlainObject, isPromise } from './utils.js';
5
+ import { execHookSingleSync } from '../hooks/execHook.js';
6
+ import { getPageContextPublicShared } from '../getPageContextPublicShared.js';
7
+ import { assert, assertUsage, assertWarning } from '../../utils/assert.js';
8
+ import { hasProp } from '../../utils/hasProp.js';
9
+ import { isPlainObject } from '../../utils/isPlainObject.js';
10
+ import { isPromise } from '../../utils/isPromise.js';
8
11
  import pc from '@brillout/picocolors';
9
12
  async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFilePath) {
10
- let { hookReturn: result } = execHookDirectSync({
13
+ let { hookReturn: result } = execHookSingleSync({
11
14
  hookFn: routeFunction,
12
15
  hookFilePath: routeFunctionFilePath,
13
16
  hookName: 'route',
14
- }, pageContext, preparePageContextForPublicUsage);
17
+ }, pageContext._globalContext, pageContext, getPageContextPublicShared);
15
18
  assertSyncRouting(result, `The Route Function ${routeFunctionFilePath}`);
16
19
  // TO-DO/next-major-release: make resolveRouteFunction() and route() sync
17
20
  //* We disallow asynchronous routing, because we need to check whether a link is a Vike link in a synchronous fashion before calling ev.preventDefault() in the 'click' event listener
@@ -4,8 +4,9 @@ export { isStaticRouteString };
4
4
  export { analyzeRouteString };
5
5
  export { assertRouteString };
6
6
  export { getRouteStringParameterList };
7
- import { assertWarning, isBrowser, escapeRegex } from '../utils.js';
8
- import { assert, assertUsage } from './utils.js';
7
+ import { assertWarning, assert, assertUsage } from '../../utils/assert.js';
8
+ import { escapeRegex } from '../../utils/escapeRegex.js';
9
+ import { isBrowser } from '../../utils/isBrowser.js';
9
10
  import pc from '@brillout/picocolors';
10
11
  const PARAM_TOKEN_NEW = '@';
11
12
  // TO-DO/next-major-release: remove
@@ -1,6 +1,6 @@
1
1
  export { resolveUrlPathname };
2
2
  import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js';
3
- import { assert, assertUsage } from '../utils.js';
3
+ import { assert, assertUsage } from '../../utils/assert.js';
4
4
  assertIsNotBrowser(); // Don't bloat the client
5
5
  /** Given a `routeString` and `routeParams`, resolve `urlPathname`.
6
6
  *
@@ -3,7 +3,8 @@ export { setContextVikeApiOperation };
3
3
  export { clearContextVikeApiOperation };
4
4
  export { getVikeApiOperation };
5
5
  // We don't import ./utils.js because this file is imported by server/
6
- import { assert, getGlobalObject } from '../server/utils.js';
6
+ import { assert } from '../utils/assert.js';
7
+ import { getGlobalObject } from '../utils/getGlobalObject.js';
7
8
  const globalObject = getGlobalObject('api/context.ts', {});
8
9
  function getVikeApiOperation() {
9
10
  return globalObject.vikeApiOperation ?? null;
@@ -1,5 +1,7 @@
1
1
  export { assertV1Design };
2
- import { assert, assertUsage, assertWarning, isNotNullish, unique } from './utils.js';
2
+ import { assert, assertUsage, assertWarning } from '../utils/assert.js';
3
+ import { isNotNullish } from '../utils/isNullish.js';
4
+ import { unique } from '../utils/unique.js';
3
5
  function assertV1Design(pageConfigs, pageFilesAll) {
4
6
  const isOldDesign = pageFilesAll === true || (pageFilesAll !== false && pageFilesAll.length > 0);
5
7
  const isV1Design = pageConfigs === true || (pageConfigs !== false && pageConfigs.length > 0);
@@ -1,7 +1,8 @@
1
1
  export { extractAssetsAddQuery };
2
2
  export { extractAssetsRemoveQuery };
3
3
  // We import from node/utils.ts instead of node/vite/utils.ts because this file is loaded by the server runtime
4
- import { assert, getFileExtension } from './utils.js';
4
+ import { assert } from '../utils/assert.js';
5
+ import { getFileExtension } from '../utils/getFileExtension.js';
5
6
  const query = 'extractAssets';
6
7
  function extractAssetsAddQuery(id) {
7
8
  const fileExtension = getFileExtension(id);
@@ -2,7 +2,8 @@ export { getVikeConfigError };
2
2
  export { getVikeConfigErrorBuild };
3
3
  export { setVikeConfigError };
4
4
  export { debugFileChange };
5
- import { getGlobalObject, createDebug } from './utils.js';
5
+ import { createDebug } from '../utils/debug.js';
6
+ import { getGlobalObject } from '../utils/getGlobalObject.js';
6
7
  const globalObject = getGlobalObject('server/shared/getVikeConfigError.ts', {
7
8
  errorRuntime: false,
8
9
  errorBuild: false,
@@ -1,5 +1,5 @@
1
1
  export { prependEntriesDir };
2
- import { assert } from './utils.js';
2
+ import { assert } from '../utils/assert.js';
3
3
  function prependEntriesDir(entryName) {
4
4
  if (entryName.startsWith('/')) {
5
5
  entryName = entryName.slice(1);
@@ -1,5 +1,7 @@
1
1
  export { resolveBase };
2
- import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js';
2
+ import { assert, assertUsage } from '../utils/assert.js';
3
+ import { isBaseServer } from '../utils/parseUrl.js';
4
+ import { isBaseAssets } from '../utils/parseUrl-extras.js';
3
5
  import pc from '@brillout/picocolors';
4
6
  function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
5
7
  if (baseViteOriginal === '/__UNSET__')
@@ -4,7 +4,9 @@ export { virtualFileIdGlobalEntryServer };
4
4
  export { virtualFileIdGlobalEntryClientSR };
5
5
  export { virtualFileIdGlobalEntryClientCR };
6
6
  import { extractAssetsRemoveQuery } from './extractAssetsQuery.js';
7
- import { assert, assertIsNotBrowser, removeVirtualFileIdPrefix } from './utils.js';
7
+ import { assert } from '../utils/assert.js';
8
+ import { assertIsNotBrowser } from '../utils/assertIsNotBrowser.js';
9
+ import { removeVirtualFileIdPrefix } from '../utils/virtualFileId.js';
8
10
  assertIsNotBrowser();
9
11
  // Global entries
10
12
  const virtualFileIdGlobalEntryServer =
@@ -51,7 +51,7 @@ import type { ImportStringList } from '../node/vite/shared/importString.js';
51
51
  type HookNameOld = HookName | HookNameOldDesign;
52
52
  type HookName = HookNamePage | HookNameGlobal;
53
53
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
54
- type HookNameGlobal = 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContext' | 'onCreateGlobalContext' | 'onError';
54
+ type HookNameGlobal = 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContext' | 'onCreateGlobalContext' | 'onError' | 'onHookCall';
55
55
  type HookNameOldDesign = 'render' | 'prerender' | 'onBeforePrerender';
56
56
  type ConfigNameBuiltIn = Exclude<keyof ConfigBuiltIn, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'hasServerOnlyHook' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'guardEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
57
57
  type ConfigNameGlobal = 'onPrerenderStart' | 'onBeforeRoute' | 'prerender' | 'disableAutoFullBuild' | 'includeAssetsImportedByServer' | 'baseAssets' | 'baseServer' | 'redirects' | 'trailingSlash' | 'disableUrlNormalization' | 'vite';
@@ -265,76 +265,7 @@ type ConfigBuiltIn = {
265
265
  *
266
266
  * @default false
267
267
  */
268
- prerender?: boolean | ImportStringList | {
269
- /**
270
- * Allow only some of your pages to be pre-rendered.
271
- *
272
- * This setting doesn't affect the pre-rendering process: it merely suppresses the warnings when some of your pages cannot be pre-rendered.
273
- *
274
- * https://vike.dev/prerender#partial
275
- *
276
- * @default false
277
- */
278
- partial?: boolean;
279
- /**
280
- * Whether +redirects should be pre-rendered to HTML documents that redirect the user.
281
- *
282
- * https://vike.dev/prerender#redirects
283
- */
284
- redirects?: boolean;
285
- /**
286
- * Don't create a new directory for each HTML file.
287
- *
288
- * For example, generate `dist/client/about.html` instead of `dist/client/about/index.html`.
289
- *
290
- * https://vike.dev/prerender#noextradir
291
- *
292
- * @default false
293
- */
294
- noExtraDir?: boolean;
295
- /**
296
- * Number of concurrent pre-render jobs.
297
- *
298
- * Set to `false` to disable concurrency.
299
- *
300
- * https://vike.dev/prerender#parallel
301
- *
302
- * @default os.cpus().length
303
- */
304
- parallel?: boolean | number;
305
- /**
306
- * Disable the automatic initiation of the pre-rendering process when running `$ vike build`.
307
- *
308
- * Use this if you want to programmatically initiate the pre-rendering process instead.
309
- *
310
- * https://vike.dev/prerender#disableautorun
311
- *
312
- * @default false
313
- */
314
- disableAutoRun?: boolean;
315
- /**
316
- * Whether to enable pre-rendering.
317
- *
318
- * Setting `enable: null` enables you to set prerender settings without enabling pre-rendering by default.
319
- *
320
- * This is useful, for example, if you want pre-rendering to stay opt-in instead of opt-out while setting pre-render settings globally.
321
- *
322
- * https://vike.dev/prerender#enable
323
- *
324
- * @default true
325
- */
326
- enable?: boolean | null;
327
- /**
328
- * If you pre-render all your pages then Vike removes the `dist/server/` directory after pre-rendering has finished.
329
- *
330
- * If you set this setting to `true` then Vike won't remove the `dist/server/` directory.
331
- *
332
- * https://vike.dev/prerender#keepDistServer
333
- *
334
- * @default false
335
- */
336
- keepDistServer?: boolean;
337
- };
268
+ prerender?: PrerenderSetting | (() => PrerenderSetting | Promise<PrerenderSetting>) | ImportStringList;
338
269
  /**
339
270
  * Install Vike extensions.
340
271
  *
@@ -361,6 +292,15 @@ type ConfigBuiltIn = {
361
292
  * https://vike.dev/onCreateGlobalContext
362
293
  */
363
294
  onCreateGlobalContext?: ((globalContext: GlobalContext) => void) | ImportStringList | null;
295
+ /** Hook called whenever a hook is called.
296
+ *
297
+ * https://vike.dev/onHookCall
298
+ */
299
+ onHookCall?: ((hook: {
300
+ name: HookName;
301
+ filePath: string;
302
+ call: () => void | Promise<void>;
303
+ }, pageContext: PageContextClient | PageContextServer | null) => void | Promise<void>) | ImportStringList;
364
304
  /** Hook for fetching data.
365
305
  *
366
306
  * https://vike.dev/data
@@ -396,12 +336,12 @@ type ConfigBuiltIn = {
396
336
  * https://vike.dev/filesystemRoutingRoot
397
337
  */
398
338
  filesystemRoutingRoot?: string | ImportStringList;
399
- /** Page Hook called when pre-rendering starts.
339
+ /** Hook called when pre-rendering starts.
400
340
  *
401
341
  * https://vike.dev/onPrerenderStart
402
342
  */
403
343
  onPrerenderStart?: OnPrerenderStartAsync | OnPrerenderStartSync | ImportStringList;
404
- /** Global Hook called before the whole pre-rendering process starts.
344
+ /** Hook called for initializing pre-rendering.
405
345
  *
406
346
  * https://vike.dev/onBeforePrerenderStart
407
347
  */
@@ -584,8 +524,17 @@ type ConfigBuiltIn = {
584
524
  keepScrollPosition?: KeepScrollPosition;
585
525
  /** @experimental */
586
526
  middleware?: Function;
587
- /** @experimental */
588
527
  cli?: {
528
+ /** @experimental
529
+ *
530
+ * Preview configuration.
531
+ *
532
+ * Set it to `false` if previewing isn't supported.
533
+ *
534
+ * Set it to `true` if previewing should load the `dist/server/index.js` entry.
535
+ *
536
+ * Set it to `vite` if previewing should use Vite's preview server.
537
+ */
589
538
  preview?: CliPreviewConfig;
590
539
  };
591
540
  /**
@@ -595,6 +544,78 @@ type ConfigBuiltIn = {
595
544
  */
596
545
  staticReplace?: StaticReplace[];
597
546
  };
547
+ type PrerenderSetting = boolean | {
548
+ /**
549
+ * Allow only some pages to be pre-rendered.
550
+ *
551
+ * This setting doesn't affect the pre-rendering process: it merely suppresses the warnings when some of your pages cannot be pre-rendered.
552
+ *
553
+ * https://vike.dev/prerender#partial
554
+ *
555
+ * @default false
556
+ */
557
+ partial?: boolean;
558
+ /**
559
+ * Whether +redirects should be pre-rendered to redirecting HTML documents.
560
+ *
561
+ * https://vike.dev/prerender#redirects
562
+ */
563
+ redirects?: boolean;
564
+ /**
565
+ * Don't create a new directory for each HTML file.
566
+ *
567
+ * For example, generate `dist/client/about.html` instead of `dist/client/about/index.html`.
568
+ *
569
+ * https://vike.dev/prerender#noextradir
570
+ *
571
+ * @default false
572
+ */
573
+ noExtraDir?: boolean;
574
+ /**
575
+ * Number of concurrent pre-render jobs.
576
+ *
577
+ * Set to `false` to disable concurrency.
578
+ *
579
+ * https://vike.dev/prerender#parallel
580
+ *
581
+ * @default os.cpus().length
582
+ */
583
+ parallel?: boolean | number;
584
+ /**
585
+ * Don't automatically run the pre-rendering process upon `$ vike build`.
586
+ *
587
+ * Use this if you want to programmatically initiate the pre-rendering process instead.
588
+ *
589
+ * https://vike.dev/prerender#disableautorun
590
+ *
591
+ * @default false
592
+ */
593
+ disableAutoRun?: boolean;
594
+ /**
595
+ * Change settings without enabling pre-rendering.
596
+ *
597
+ * By setting `enable: null` you can define pre-render settings without enabling pre-rendering.
598
+ *
599
+ * Used by Vike extensions to set pre-render settings without enabling pre-rerendering on behalf of the user.
600
+ *
601
+ * https://vike.dev/prerender#enable
602
+ *
603
+ * @default true
604
+ */
605
+ enable?: boolean | null;
606
+ /**
607
+ * Don't remove the `dist/server/` directory.
608
+ *
609
+ * If you pre-render all your pages then Vike removes the `dist/server/` directory after pre-rendering has finished.
610
+ *
611
+ * If `keepDistServer: true` then Vike won't remove the `dist/server/` directory.
612
+ *
613
+ * https://vike.dev/prerender#keepDistServer
614
+ *
615
+ * @default false
616
+ */
617
+ keepDistServer?: boolean;
618
+ };
598
619
  type ConfigBuiltInResolved = {
599
620
  passToClient?: string[][];
600
621
  redirects?: Record<string, string>[];
@@ -7,6 +7,7 @@ export type { PageContextInternalServer };
7
7
  export type { PageContextInternalClient };
8
8
  export type { PageContextInternalClient_ServerRouting };
9
9
  export type { PageContextInternalClient_ClientRouting };
10
+ export type { PageContextInit };
10
11
  export type { PageContextBuiltInServer_deprecated as PageContextBuiltInServer };
11
12
  export type { PageContextBuiltInClientWithClientRouting_deprecated as PageContextBuiltInClientWithClientRouting };
12
13
  export type { PageContextBuiltInClientWithServerRouting_deprecated as PageContextBuiltInClientWithServerRouting };
@@ -15,14 +16,14 @@ import type { From, PageContextConfig, Source, Sources } from '../shared-server-
15
16
  import type { Config } from './Config.js';
16
17
  import type { AbortStatusCode } from '../shared-server-client/route/abort.js';
17
18
  import type { GlobalContextClient, GlobalContextServer, GlobalContextClientWithServerRouting } from './GlobalContext.js';
18
- import type { DangerouslyUseInternals } from '../shared-server-client/getProxyForPublicUsage.js';
19
+ import type { DangerouslyUseInternals } from '../shared-server-client/getPublicProxy.js';
19
20
  import type { PageContextInternalClientAfterRender } from '../client/runtime-client-routing/renderPageClient.js';
20
21
  import type { PageContextAfterRender } from '../server/runtime/renderPageServer/renderPageServerAfterRoute.js';
21
- import type { PageContextPublicProxyServer } from '../server/runtime/renderPageServer/preparePageContextForPublicUsageServer.js';
22
- import type { PageContextPublicProxyClient } from '../client/runtime-client-routing/preparePageContextForPublicUsageClient.js';
22
+ import type { PageContextPublicServer } from '../server/runtime/renderPageServer/getPageContextPublicServer.js';
23
+ import type { PageContextPublicProxyClient } from '../client/runtime-client-routing/getPageContextPublicClient.js';
23
24
  type PageContextServer<Data = unknown> = PageContextBuiltInServer<Data> & {
24
25
  /** https://vike.dev/warning/internals */
25
- dangerouslyUseInternals: DangerouslyUseInternals<PageContextInternalServer & PageContextAfterRender & PageContextPublicProxyServer>;
26
+ dangerouslyUseInternals: DangerouslyUseInternals<PageContextInternalServer & PageContextAfterRender & PageContextPublicServer>;
26
27
  } & Vike.PageContext & Vike.PageContextServer;
27
28
  type PageContext<Data = unknown> = PageContextClient<Data> | PageContextServer<Data>;
28
29
  type PageContextClient<Data = unknown> = PageContextBuiltInClientWithClientRouting<Data> & {
@@ -56,29 +57,6 @@ type PageContextBuiltInCommon<Data> = PageContextConfig & {
56
57
  * https://vike.dev/pageContext#data
57
58
  */
58
59
  data: Data;
59
- /** The URL you provided to Vike when calling `renderPage({ urlOriginal })` in your server middleware.
60
- *
61
- * https://vike.dev/renderPage
62
- */
63
- urlOriginal: string;
64
- /**
65
- * The HTTP request headers.
66
- *
67
- * As a string object normalized by Vike.
68
- *
69
- * https://vike.dev/headers
70
- * https://vike.dev/pageContext#headers
71
- */
72
- headers: Record<string, string> | null;
73
- /**
74
- * The HTTP request headers.
75
- *
76
- * The original object provided by the server.
77
- *
78
- * https://vike.dev/headers
79
- * https://vike.dev/pageContext#headersOriginal
80
- */
81
- headersOriginal?: unknown;
82
60
  /**
83
61
  * The HTTP response headers.
84
62
  *
@@ -128,8 +106,6 @@ type PageContextBuiltInCommon<Data> = PageContextConfig & {
128
106
  /** @experimental https://github.com/vikejs/vike/issues/1268 */
129
107
  sources: Sources;
130
108
  /** @deprecated */
131
- url: string;
132
- /** @deprecated */
133
109
  pageExports: Record<string, unknown>;
134
110
  /**
135
111
  * Whether the Base URL is missing in the URL of the HTTP request made to the SSR server.
@@ -139,7 +115,34 @@ type PageContextBuiltInCommon<Data> = PageContextConfig & {
139
115
  */
140
116
  isBaseMissing?: true;
141
117
  };
142
- type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageContextUrlServer & {
118
+ type PageContextInit = {
119
+ /** The URL provided when `renderPage({ urlOriginal })` is called.
120
+ *
121
+ * https://vike.dev/renderPage
122
+ */
123
+ urlOriginal: string;
124
+ /**
125
+ * The HTTP request headers.
126
+ *
127
+ * The original object provided by the server.
128
+ *
129
+ * https://vike.dev/headers
130
+ * https://vike.dev/pageContext#headersOriginal
131
+ */
132
+ headersOriginal?: unknown;
133
+ /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
134
+ /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
135
+ };
136
+ type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageContextInit & PageContextUrlServer & {
137
+ /**
138
+ * The HTTP request headers.
139
+ *
140
+ * As a string object normalized by Vike.
141
+ *
142
+ * https://vike.dev/headers
143
+ * https://vike.dev/pageContext#headers
144
+ */
145
+ headers: Record<string, string> | null;
143
146
  /**
144
147
  * Whether the environment is the client-side:
145
148
  * - In the browser, the value is `true`.
@@ -182,6 +185,10 @@ type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageConte
182
185
  previousPageContext?: undefined;
183
186
  };
184
187
  type PageContextBuiltInClientWithClientRouting<Data> = Partial<PageContextBuiltInCommon<Data>> & Pick<PageContextBuiltInCommon<Data>, 'Page' | 'routeParams' | 'pageExports' | 'config' | 'configEntries' | 'exports' | 'exportsAll' | 'abortReason' | 'data' | 'pageId' | 'source' | 'sources' | 'from'> & PageContextClientCommon & {
188
+ /**
189
+ * The current URL unprocessed (e.g. with the Base URL).
190
+ */
191
+ urlOriginal: string;
185
192
  /**
186
193
  * Whether the page is the first page rendered.
187
194
  *
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.250";
1
+ export declare const PROJECT_VERSION: "0.4.251-commit-9c5fb90";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.250';
2
+ export const PROJECT_VERSION = '0.4.251-commit-9c5fb90';
@@ -6,9 +6,9 @@ export { getProjectError };
6
6
  export { isVikeBug };
7
7
  export { setAssertOnBeforeLog };
8
8
  export { setAssertOnBeforeErr };
9
- export { setAlwaysShowStackTrace };
10
- export { setAssertAddTagsDev };
11
- import type { AddTagsDev } from '../node/vite/shared/loggerDev.js';
9
+ export { setAssertAlwaysShowStackTrace };
10
+ export { setAssertAddAssertTagsDev };
11
+ import type { AddAssertTagsDev } from '../node/vite/shared/loggerDev.js';
12
12
  declare function assert(condition: unknown, debugInfo?: unknown): asserts condition;
13
13
  declare function assertUsage(condition: unknown, errMsg: string, { showStackTrace, exitOnError }?: {
14
14
  showStackTrace?: true;
@@ -24,6 +24,6 @@ declare function assertInfo(condition: unknown, msg: string, { onlyOnce }: {
24
24
  }): void;
25
25
  declare function setAssertOnBeforeLog(onBeforeAssertLog: () => void): void;
26
26
  declare function setAssertOnBeforeErr(onBeforeAssertErr: (err: unknown) => void): void;
27
- declare function setAssertAddTagsDev(addTagsDev: AddTagsDev): void;
27
+ declare function setAssertAddAssertTagsDev(addAssertTagsDev: AddAssertTagsDev): void;
28
28
  declare function isVikeBug(err: unknown): boolean;
29
- declare function setAlwaysShowStackTrace(): void;
29
+ declare function setAssertAlwaysShowStackTrace(): void;
@@ -6,8 +6,8 @@ export { getProjectError };
6
6
  export { isVikeBug };
7
7
  export { setAssertOnBeforeLog };
8
8
  export { setAssertOnBeforeErr };
9
- export { setAlwaysShowStackTrace };
10
- export { setAssertAddTagsDev };
9
+ export { setAssertAlwaysShowStackTrace };
10
+ export { setAssertAddAssertTagsDev };
11
11
  import { assertSingleInstance_onAssertModuleLoad } from './assertSingleInstance.js';
12
12
  import { createErrorWithCleanStackTrace } from './createErrorWithCleanStackTrace.js';
13
13
  import { getGlobalObject } from './getGlobalObject.js';
@@ -111,15 +111,15 @@ function setAssertOnBeforeLog(onBeforeAssertLog) {
111
111
  function setAssertOnBeforeErr(onBeforeAssertErr) {
112
112
  globalObject.onBeforeErr = onBeforeAssertErr;
113
113
  }
114
- function setAssertAddTagsDev(addTagsDev) {
115
- globalObject.addTagsDev = addTagsDev;
114
+ function setAssertAddAssertTagsDev(addAssertTagsDev) {
115
+ globalObject.addAssertTagsDev = addAssertTagsDev;
116
116
  }
117
117
  function addTags(msg, tagType, showProjectVersion = false) {
118
118
  const tagVike = getTagVike(showProjectVersion);
119
119
  const tagTypeOuter = getTagType(tagType);
120
120
  const whitespace = getTagWhitespace(msg);
121
- if (globalObject.addTagsDev) {
122
- const tagsDev = globalObject.addTagsDev(tagVike, tagTypeOuter);
121
+ if (globalObject.addAssertTagsDev) {
122
+ const tagsDev = globalObject.addAssertTagsDev(tagVike, tagTypeOuter);
123
123
  return `${tagsDev}${whitespace}${msg}`;
124
124
  }
125
125
  else {
@@ -155,12 +155,12 @@ function isVikeBug(err) {
155
155
  return String(err).includes(`[${tagTypeBug}]`);
156
156
  }
157
157
  // Called upon `DEBUG=vike:error`
158
- function setAlwaysShowStackTrace() {
158
+ function setAssertAlwaysShowStackTrace() {
159
159
  globalObject.alwaysShowStackTrace = true;
160
160
  }
161
161
  function createError(errMsg) {
162
162
  const err = createErrorWithCleanStackTrace(errMsg, 3);
163
- if (globalObject.addTagsDev)
163
+ if (globalObject.addAssertTagsDev)
164
164
  err.stack = err.stack?.replace(/^Error:\s*/, '');
165
165
  return err;
166
166
  }
@@ -1,2 +1,2 @@
1
1
  export { catchInfiniteLoop };
2
- declare function catchInfiniteLoop(functionName: `${string}()`, maxNumberOfCalls?: number, withinSeconds?: number): void;
2
+ declare function catchInfiniteLoop(functionName: `${string}()`): void;
@@ -1,32 +1,31 @@
1
1
  export { catchInfiniteLoop };
2
2
  import { assertUsage, assertWarning } from './assert.js';
3
+ import { humanizeTime } from './humanizeTime.js';
3
4
  const trackers = {};
4
- function catchInfiniteLoop(functionName, maxNumberOfCalls = 100, withinSeconds = 5) {
5
+ const maxCalls = 99;
6
+ const time = 5 * 1000;
7
+ function catchInfiniteLoop(functionName) {
5
8
  // Init
6
- const now = new Date();
7
- let tracker = (trackers[functionName] ?? (trackers[functionName] = createTracker(now)));
8
- // Reset
9
- const elapsedTime = now.getTime() - tracker.start.getTime();
10
- if (elapsedTime > withinSeconds * 1000)
11
- tracker = trackers[functionName] = createTracker(now);
9
+ const now = new Date().getTime();
10
+ // Clean all outdated trackers
11
+ Object.keys(trackers).forEach((key) => {
12
+ const tracker = trackers[key];
13
+ const elapsedTime = now - tracker.startTime;
14
+ if (elapsedTime > time)
15
+ delete trackers[key];
16
+ });
17
+ const tracker = (trackers[functionName] ?? (trackers[functionName] = { count: 0, startTime: now }));
12
18
  // Count
13
19
  tracker.count++;
14
20
  // Error
15
- const msg = `[Infinite Loop] Rendering ${tracker.count} times within ${withinSeconds} seconds [${functionName}]`;
16
- if (tracker.count > maxNumberOfCalls) {
21
+ const msg = `${functionName} called ${tracker.count} times within ${humanizeTime(time)} infinite loop?`;
22
+ if (tracker.count > maxCalls) {
17
23
  assertUsage(false, msg);
18
24
  }
19
25
  // Warning, at 50% threshold
20
- if (!tracker.warned && tracker.count > maxNumberOfCalls * 0.5) {
26
+ if (!tracker.warned && tracker.count > maxCalls * 0.5) {
21
27
  // Warning is shown upon 10 calls a second, on average during 5 seconds, given the default parameters
22
28
  assertWarning(false, msg, { onlyOnce: false, showStackTrace: true });
23
29
  tracker.warned = true;
24
30
  }
25
31
  }
26
- function createTracker(now) {
27
- const tracker = {
28
- count: 0,
29
- start: now,
30
- };
31
- return tracker;
32
- }
@@ -1,6 +1,6 @@
1
1
  export { freezePartial };
2
- import pc from '@brillout/picocolors';
3
2
  // Unit tests at ./freezePartial.spec.ts
3
+ import pc from '@brillout/picocolors';
4
4
  import { assertIsNotBrowser } from './assertIsNotBrowser.js';
5
5
  assertIsNotBrowser();
6
6
  function freezePartial(obj, allowList) {
@@ -0,0 +1,2 @@
1
+ export { installUncaughtErrorHandlers };
2
+ declare function installUncaughtErrorHandlers(): void;
@@ -0,0 +1,20 @@
1
+ export { installUncaughtErrorHandlers };
2
+ import { getGlobalObject } from './getGlobalObject.js';
3
+ const globalObject = getGlobalObject('./installUncaughtErrorHandlers.ts', {
4
+ installed: false,
5
+ });
6
+ // Avoid server shutdown upon uncaught errors, e.g. `setTimeout(() => throw new Error('Uncaught error'), 10)`
7
+ // If in the future we want to call +onError then let's use different handlers
8
+ function installUncaughtErrorHandlers() {
9
+ if (globalObject.installed)
10
+ return;
11
+ globalObject.installed = true;
12
+ if (typeof process === 'undefined')
13
+ return;
14
+ process?.addListener?.('uncaughtException', (err) => {
15
+ console.error(err);
16
+ });
17
+ process?.addListener?.('unhandledRejection', (err) => {
18
+ console.error(err);
19
+ });
20
+ }