vike 0.4.231-commit-e1c3295 → 0.4.232-commit-134207d

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 (437) hide show
  1. package/README.md +4 -2
  2. package/dist/cjs/__internal/index.js +2 -2
  3. package/dist/cjs/client/runtime-client-routing/globalContext.js +1 -1
  4. package/dist/cjs/client/shared/createGetGlobalContextClient.js +2 -2
  5. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +2 -2
  6. package/dist/cjs/node/api/build.js +6 -2
  7. package/dist/cjs/node/api/dev.js +1 -1
  8. package/dist/cjs/node/api/prepareViteApiCall.js +8 -8
  9. package/dist/cjs/node/api/prerender.js +1 -1
  10. package/dist/cjs/node/api/preview.js +2 -2
  11. package/dist/cjs/node/cli/entry.js +1 -1
  12. package/dist/cjs/node/cli/parseCli.js +2 -2
  13. package/dist/cjs/node/client/router.js +1 -1
  14. package/dist/cjs/node/createPageRenderer.js +1 -1
  15. package/dist/cjs/node/prerender/context.js +1 -1
  16. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
  17. package/dist/cjs/node/prerender/runPrerender.js +91 -46
  18. package/dist/cjs/node/prerender/runPrerenderEntry.js +1 -1
  19. package/dist/cjs/node/prerender/utils.js +1 -0
  20. package/dist/cjs/node/runtime/globalContext.js +22 -15
  21. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +7 -7
  22. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
  23. package/dist/cjs/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
  24. package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
  25. package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
  26. package/dist/cjs/node/runtime/html/injectAssets.js +1 -1
  27. package/dist/cjs/node/runtime/html/renderHtml.js +8 -8
  28. package/dist/cjs/node/runtime/html/serializeContext.js +5 -5
  29. package/dist/cjs/node/runtime/html/stream.js +19 -19
  30. package/dist/cjs/node/runtime/index-deprecated.js +2 -2
  31. package/dist/cjs/node/runtime/index.js +1 -1
  32. package/dist/cjs/node/runtime/renderPage/analyzePage.js +4 -4
  33. package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
  34. package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
  35. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +5 -6
  36. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
  37. package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +1 -1
  38. package/dist/cjs/node/runtime/renderPage/execHookServer.js +1 -4
  39. package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
  40. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
  41. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
  42. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +1 -1
  43. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
  44. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  45. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
  46. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  47. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
  48. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +3 -3
  49. package/dist/cjs/node/runtime/renderPage/isNewError.js +2 -1
  50. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +10 -10
  51. package/dist/cjs/node/runtime/renderPage/log404/index.js +4 -8
  52. package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +2 -2
  53. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +18 -18
  54. package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
  55. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  56. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +22 -4
  57. package/dist/cjs/node/runtime/renderPage.js +17 -34
  58. package/dist/cjs/node/runtime/universal-middleware.js +2 -2
  59. package/dist/cjs/node/runtime/utils.js +1 -1
  60. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +3 -3
  61. package/dist/cjs/node/shared/extractAssetsQuery.js +1 -1
  62. package/dist/cjs/node/shared/getVikeConfigError.js +22 -0
  63. package/dist/cjs/node/shared/resolveBase.js +1 -1
  64. package/dist/cjs/node/shared/utils.js +1 -0
  65. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
  66. package/dist/cjs/node/vite/index.js +2 -2
  67. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +3 -3
  68. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +30 -28
  69. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
  70. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
  71. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +10 -10
  72. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +12 -13
  73. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +14 -12
  74. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
  75. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
  76. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
  77. package/dist/cjs/node/vite/plugins/pluginBuild.js +1 -1
  78. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
  79. package/dist/cjs/node/vite/plugins/pluginCommon.js +14 -14
  80. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +2 -2
  81. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +2 -2
  82. package/dist/cjs/node/vite/plugins/pluginDev.js +8 -8
  83. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +4 -4
  84. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +6 -6
  85. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
  86. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +3 -3
  87. package/dist/cjs/node/vite/plugins/pluginPreview.js +9 -9
  88. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +3 -3
  89. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +6 -6
  90. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +10 -10
  91. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +11 -1
  92. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +3 -3
  93. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
  94. package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
  95. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +3 -3
  96. package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
  97. package/dist/cjs/node/vite/shared/getFilePath.js +24 -24
  98. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
  99. package/dist/cjs/node/vite/shared/getOutDirs.js +2 -2
  100. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +3 -3
  101. package/dist/cjs/node/vite/shared/isAsset.js +1 -1
  102. package/dist/cjs/node/vite/shared/isViteCliCall.js +1 -1
  103. package/dist/cjs/node/vite/shared/isViteServerBuild.js +2 -2
  104. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
  105. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
  106. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
  107. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
  108. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
  109. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
  110. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
  111. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
  112. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
  113. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
  114. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
  115. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +3 -3
  116. package/dist/cjs/node/vite/shared/loggerNotProd.js +1 -1
  117. package/dist/cjs/node/vite/shared/resolveClientEntriesDev.js +2 -2
  118. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +2 -2
  119. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
  120. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
  121. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +13 -13
  122. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
  123. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
  124. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
  125. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
  126. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +5 -5
  127. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +25 -25
  128. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +46 -46
  129. package/dist/cjs/node/vite/utils.js +2 -7
  130. package/dist/cjs/shared/assertHookReturnedObject.js +1 -1
  131. package/dist/cjs/shared/assertPageContextProvidedByUser.js +2 -2
  132. package/dist/cjs/shared/createGlobalContextShared.js +26 -18
  133. package/dist/cjs/shared/createPageContextShared.js +1 -1
  134. package/dist/cjs/shared/getPageContextRequestUrl.js +1 -1
  135. package/dist/cjs/shared/getPageContextUrlComputed.js +5 -5
  136. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
  137. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
  138. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +3 -3
  139. package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
  140. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +2 -2
  141. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
  142. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  143. package/dist/cjs/shared/hooks/execHook.js +2 -2
  144. package/dist/cjs/shared/hooks/getHook.js +4 -4
  145. package/dist/cjs/shared/modifyUrl.js +1 -1
  146. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +2 -2
  147. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +4 -4
  148. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +21 -21
  149. package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -3
  150. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +9 -9
  151. package/dist/cjs/shared/preparePageContextForPublicUsage.js +3 -3
  152. package/dist/cjs/shared/route/abort.js +7 -7
  153. package/dist/cjs/shared/route/debug.js +1 -1
  154. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
  155. package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +3 -3
  156. package/dist/cjs/shared/route/index.js +5 -5
  157. package/dist/cjs/shared/route/loadPageRoutes.js +8 -8
  158. package/dist/cjs/shared/route/resolvePrecedence.js +2 -2
  159. package/dist/cjs/shared/route/resolveRoute.js +1 -1
  160. package/dist/cjs/shared/route/resolveRouteFunction.js +2 -2
  161. package/dist/cjs/shared/utils.js +1 -0
  162. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  163. package/dist/cjs/utils/assert.js +9 -9
  164. package/dist/cjs/utils/assertKeys.js +1 -1
  165. package/dist/cjs/utils/assertSetup.js +1 -1
  166. package/dist/cjs/utils/assertSingleInstance.js +5 -5
  167. package/dist/cjs/utils/catchInfiniteLoop.js +1 -1
  168. package/dist/cjs/utils/debug.js +1 -1
  169. package/dist/cjs/utils/findFile.js +5 -5
  170. package/dist/cjs/utils/findPackageJson.js +3 -3
  171. package/dist/cjs/utils/formatHintLog.js +1 -1
  172. package/dist/cjs/utils/freezePartial.js +1 -1
  173. package/dist/cjs/utils/genPromise.js +2 -2
  174. package/dist/cjs/utils/getMostSimilar.js +1 -1
  175. package/dist/cjs/utils/injectRollupInputs.js +2 -2
  176. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -1
  177. package/dist/cjs/utils/objectAssignSafe.js +1 -1
  178. package/dist/cjs/utils/pLimit.js +4 -4
  179. package/dist/cjs/utils/parseNpmPackage.js +2 -2
  180. package/dist/cjs/utils/parseUrl.js +3 -3
  181. package/dist/cjs/utils/path.js +1 -1
  182. package/dist/cjs/utils/preservePropertyGetters.js +1 -1
  183. package/dist/cjs/utils/{removeFileExtention.js → removeFileExtension.js} +2 -2
  184. package/dist/cjs/utils/requireResolve.js +10 -10
  185. package/dist/cjs/utils/rollupSourceMap.js +2 -2
  186. package/dist/cjs/utils/stripAnsi.js +1 -1
  187. package/dist/cjs/utils/styleFileRE.js +1 -0
  188. package/dist/cjs/utils/trimWithAnsi.js +1 -1
  189. package/dist/esm/__internal/index.js +2 -2
  190. package/dist/esm/client/index.d.ts +1 -1
  191. package/dist/esm/client/index.js +1 -1
  192. package/dist/esm/client/node.js +1 -1
  193. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
  194. package/dist/esm/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +1 -1
  195. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.js +1 -1
  196. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -3
  197. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +5 -5
  198. package/dist/esm/client/runtime-client-routing/globalContext.js +1 -1
  199. package/dist/esm/client/runtime-client-routing/history.js +6 -6
  200. package/dist/esm/client/runtime-client-routing/initClientRouter.js +1 -1
  201. package/dist/esm/client/runtime-client-routing/initOnLinkClick.js +1 -1
  202. package/dist/esm/client/runtime-client-routing/initOnPopState.js +1 -1
  203. package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
  204. package/dist/esm/client/runtime-client-routing/navigate.js +1 -1
  205. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +2 -2
  206. package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
  207. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  208. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +20 -20
  209. package/dist/esm/client/runtime-client-routing/setScrollPosition.js +1 -1
  210. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  211. package/dist/esm/client/shared/createGetGlobalContextClient.js +3 -3
  212. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -1
  213. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +3 -3
  214. package/dist/esm/node/api/build.js +6 -2
  215. package/dist/esm/node/api/dev.js +1 -1
  216. package/dist/esm/node/api/prepareViteApiCall.js +8 -8
  217. package/dist/esm/node/api/prerender.js +1 -1
  218. package/dist/esm/node/api/preview.js +2 -2
  219. package/dist/esm/node/cli/entry.js +1 -1
  220. package/dist/esm/node/cli/parseCli.js +2 -2
  221. package/dist/esm/node/client/router.js +1 -1
  222. package/dist/esm/node/createPageRenderer.js +1 -1
  223. package/dist/esm/node/prerender/context.d.ts +1 -1
  224. package/dist/esm/node/prerender/context.js +1 -1
  225. package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +1 -0
  226. package/dist/esm/node/prerender/resolvePrerenderConfig.js +3 -2
  227. package/dist/esm/node/prerender/runPrerender.d.ts +9 -6
  228. package/dist/esm/node/prerender/runPrerender.js +90 -45
  229. package/dist/esm/node/prerender/runPrerenderEntry.js +1 -1
  230. package/dist/esm/node/prerender/utils.d.ts +1 -0
  231. package/dist/esm/node/prerender/utils.js +1 -0
  232. package/dist/esm/node/runtime/globalContext.js +25 -18
  233. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +8 -8
  234. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
  235. package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
  236. package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
  237. package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
  238. package/dist/esm/node/runtime/html/injectAssets.js +2 -2
  239. package/dist/esm/node/runtime/html/renderHtml.js +10 -10
  240. package/dist/esm/node/runtime/html/serializeContext.js +5 -5
  241. package/dist/esm/node/runtime/html/stream.d.ts +1 -1
  242. package/dist/esm/node/runtime/html/stream.js +21 -21
  243. package/dist/esm/node/runtime/index-deprecated.js +2 -2
  244. package/dist/esm/node/runtime/index.js +1 -1
  245. package/dist/esm/node/runtime/renderPage/analyzePage.js +4 -4
  246. package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
  247. package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
  248. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +5 -6
  249. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +1 -1
  250. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
  251. package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +1 -1
  252. package/dist/esm/node/runtime/renderPage/debugPageFiles.js +1 -1
  253. package/dist/esm/node/runtime/renderPage/execHookServer.js +2 -5
  254. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
  255. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +5 -5
  256. package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
  257. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
  258. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
  259. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  260. package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
  261. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  262. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
  263. package/dist/esm/node/runtime/renderPage/isFontFallback.js +3 -3
  264. package/dist/esm/node/runtime/renderPage/isNewError.d.ts +2 -0
  265. package/dist/esm/node/runtime/renderPage/isNewError.js +2 -1
  266. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +11 -11
  267. package/dist/esm/node/runtime/renderPage/log404/index.js +5 -9
  268. package/dist/esm/node/runtime/renderPage/logErrorHint/errors.d.ts +1 -1
  269. package/dist/esm/node/runtime/renderPage/logErrorHint/errors.js +1 -1
  270. package/dist/esm/node/runtime/renderPage/logErrorHint.js +18 -18
  271. package/dist/esm/node/runtime/renderPage/loggerProd.d.ts +1 -1
  272. package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
  273. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
  274. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -2
  275. package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +2 -0
  276. package/dist/esm/node/runtime/renderPage/resolveRedirects.js +24 -6
  277. package/dist/esm/node/runtime/renderPage.d.ts +0 -11
  278. package/dist/esm/node/runtime/renderPage.js +20 -37
  279. package/dist/esm/node/runtime/universal-middleware.js +2 -2
  280. package/dist/esm/node/runtime/utils.d.ts +1 -1
  281. package/dist/esm/node/runtime/utils.js +1 -1
  282. package/dist/esm/node/runtime-dev/createDevMiddleware.js +3 -3
  283. package/dist/esm/node/shared/extractAssetsQuery.js +1 -1
  284. package/dist/esm/node/shared/getVikeConfigError.d.ts +13 -0
  285. package/dist/esm/node/shared/getVikeConfigError.js +20 -0
  286. package/dist/esm/node/shared/resolveBase.js +1 -1
  287. package/dist/esm/node/shared/utils.d.ts +1 -0
  288. package/dist/esm/node/shared/utils.js +1 -0
  289. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
  290. package/dist/esm/node/vite/index.js +2 -2
  291. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +3 -3
  292. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -2
  293. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +14 -12
  294. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
  295. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
  296. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +12 -12
  297. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.d.ts +1 -2
  298. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +11 -12
  299. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +11 -9
  300. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
  301. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
  302. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
  303. package/dist/esm/node/vite/plugins/pluginBuild.js +1 -1
  304. package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
  305. package/dist/esm/node/vite/plugins/pluginCommon.js +14 -14
  306. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +1 -1
  307. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +5 -5
  308. package/dist/esm/node/vite/plugins/pluginDev.js +8 -8
  309. package/dist/esm/node/vite/plugins/pluginEnvVars.js +5 -5
  310. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +8 -8
  311. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +3 -3
  312. package/dist/esm/node/vite/plugins/pluginFileEnv.js +4 -4
  313. package/dist/esm/node/vite/plugins/pluginPreview.js +5 -5
  314. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +3 -3
  315. package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +7 -7
  316. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +11 -11
  317. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +13 -3
  318. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -3
  319. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
  320. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
  321. package/dist/esm/node/vite/shared/addSsrMiddleware.js +3 -3
  322. package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
  323. package/dist/esm/node/vite/shared/getFilePath.d.ts +5 -5
  324. package/dist/esm/node/vite/shared/getFilePath.js +22 -22
  325. package/dist/esm/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
  326. package/dist/esm/node/vite/shared/getOutDirs.js +2 -2
  327. package/dist/esm/node/vite/shared/getViteConfigRuntime.js +3 -3
  328. package/dist/esm/node/vite/shared/isAsset.js +1 -1
  329. package/dist/esm/node/vite/shared/isViteCliCall.js +1 -1
  330. package/dist/esm/node/vite/shared/isViteServerBuild.js +2 -2
  331. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
  332. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
  333. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
  334. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
  335. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
  336. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
  337. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
  338. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
  339. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
  340. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
  341. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
  342. package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +4 -4
  343. package/dist/esm/node/vite/shared/loggerNotProd.js +3 -3
  344. package/dist/esm/node/vite/shared/resolveClientEntriesDev.js +3 -3
  345. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +1 -1
  346. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
  347. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
  348. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +10 -10
  349. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
  350. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
  351. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
  352. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
  353. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +6 -6
  354. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +14 -14
  355. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -2
  356. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +52 -52
  357. package/dist/esm/node/vite/utils.d.ts +0 -6
  358. package/dist/esm/node/vite/utils.js +2 -7
  359. package/dist/esm/shared/assertHookReturnedObject.js +1 -1
  360. package/dist/esm/shared/assertPageContextProvidedByUser.d.ts +1 -1
  361. package/dist/esm/shared/assertPageContextProvidedByUser.js +2 -2
  362. package/dist/esm/shared/createGlobalContextShared.d.ts +2 -0
  363. package/dist/esm/shared/createGlobalContextShared.js +28 -20
  364. package/dist/esm/shared/createPageContextShared.js +1 -1
  365. package/dist/esm/shared/getPageContextRequestUrl.js +1 -1
  366. package/dist/esm/shared/getPageContextUrlComputed.js +5 -5
  367. package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.d.ts +1 -1
  368. package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
  369. package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.d.ts +1 -1
  370. package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
  371. package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +3 -3
  372. package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
  373. package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +2 -2
  374. package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
  375. package/dist/esm/shared/getProxyForPublicUsage.js +2 -2
  376. package/dist/esm/shared/hooks/execHook.js +3 -3
  377. package/dist/esm/shared/hooks/getHook.js +4 -4
  378. package/dist/esm/shared/modifyUrl.js +1 -1
  379. package/dist/esm/shared/modifyUrlSameOrigin.js +1 -1
  380. package/dist/esm/shared/page-configs/assertPlusFileExport.js +2 -2
  381. package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +4 -4
  382. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +2 -2
  383. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +22 -22
  384. package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -3
  385. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +11 -11
  386. package/dist/esm/shared/preparePageContextForPublicUsage.js +4 -4
  387. package/dist/esm/shared/route/abort.js +8 -8
  388. package/dist/esm/shared/route/debug.js +1 -1
  389. package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
  390. package/dist/esm/shared/route/executeOnBeforeRouteHook.js +5 -5
  391. package/dist/esm/shared/route/index.js +6 -6
  392. package/dist/esm/shared/route/loadPageRoutes.js +8 -8
  393. package/dist/esm/shared/route/resolvePrecedence.d.ts +2 -2
  394. package/dist/esm/shared/route/resolvePrecedence.js +2 -2
  395. package/dist/esm/shared/route/resolveRoute.js +1 -1
  396. package/dist/esm/shared/route/resolveRouteFunction.js +2 -2
  397. package/dist/esm/shared/utils.d.ts +1 -0
  398. package/dist/esm/shared/utils.js +1 -0
  399. package/dist/esm/types/Config.d.ts +6 -0
  400. package/dist/esm/types/FilePath.d.ts +1 -1
  401. package/dist/esm/types/PageConfig.d.ts +1 -1
  402. package/dist/esm/types/PageContext.d.ts +2 -2
  403. package/dist/esm/types/index-dreprecated.d.ts +1 -1
  404. package/dist/esm/types/index.d.ts +3 -3
  405. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  406. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  407. package/dist/esm/utils/assert.js +9 -9
  408. package/dist/esm/utils/assertKeys.js +1 -1
  409. package/dist/esm/utils/assertSetup.js +1 -1
  410. package/dist/esm/utils/assertSingleInstance.js +5 -5
  411. package/dist/esm/utils/catchInfiniteLoop.js +1 -1
  412. package/dist/esm/utils/debug.js +1 -1
  413. package/dist/esm/utils/findFile.js +2 -2
  414. package/dist/esm/utils/findPackageJson.js +2 -2
  415. package/dist/esm/utils/formatHintLog.js +1 -1
  416. package/dist/esm/utils/freezePartial.js +1 -1
  417. package/dist/esm/utils/genPromise.d.ts +1 -1
  418. package/dist/esm/utils/genPromise.js +2 -2
  419. package/dist/esm/utils/getMostSimilar.js +1 -1
  420. package/dist/esm/utils/injectRollupInputs.js +2 -2
  421. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
  422. package/dist/esm/utils/objectAssignSafe.js +1 -1
  423. package/dist/esm/utils/pLimit.js +4 -4
  424. package/dist/esm/utils/parseNpmPackage.js +2 -2
  425. package/dist/esm/utils/parseUrl.js +3 -3
  426. package/dist/esm/utils/path.js +1 -1
  427. package/dist/esm/utils/preservePropertyGetters.js +1 -1
  428. package/dist/esm/utils/removeFileExtension.d.ts +1 -0
  429. package/dist/esm/utils/{removeFileExtention.js → removeFileExtension.js} +1 -1
  430. package/dist/esm/utils/requireResolve.d.ts +3 -3
  431. package/dist/esm/utils/requireResolve.js +10 -10
  432. package/dist/esm/utils/rollupSourceMap.js +2 -2
  433. package/dist/esm/utils/stripAnsi.js +1 -1
  434. package/dist/esm/utils/styleFileRE.js +1 -0
  435. package/dist/esm/utils/trimWithAnsi.js +1 -1
  436. package/package.json +2 -2
  437. package/dist/esm/utils/removeFileExtention.d.ts +0 -1
@@ -8,33 +8,33 @@ export { isV1Design };
8
8
  export { getConfVal };
9
9
  export { getConfigDefinitionOptional };
10
10
  export { getVikeConfigFromCliOrEnv };
11
- export { isOverriden };
11
+ export { isOverridden };
12
12
  // Public usage
13
13
  export { getVikeConfig };
14
- import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, assertIsSingleModuleInstance, genPromise } from '../utils.js';
15
- import { configDefinitionsBuiltIn } from './resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
16
- import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, applyFilesystemRoutingRootEffect } from './resolveVikeConfigInternal/filesystemRouting.js';
14
+ import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, assertIsSingleModuleInstance, genPromise, } from '../utils.js';
15
+ import { configDefinitionsBuiltIn, } from './resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
16
+ import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, applyFilesystemRoutingRootEffect, } from './resolveVikeConfigInternal/filesystemRouting.js';
17
17
  import { getViteDevServer } from '../../runtime/globalContext.js';
18
18
  import { logConfigError, logConfigErrorRecover } from './loggerNotProd.js';
19
- import { removeSuperfluousViteLog_enable, removeSuperfluousViteLog_disable } from './loggerVite/removeSuperfluousViteLog.js';
19
+ import { removeSuperfluousViteLog_enable, removeSuperfluousViteLog_disable, } from './loggerVite/removeSuperfluousViteLog.js';
20
20
  import pc from '@brillout/picocolors';
21
21
  import { getConfigDefinedAt, getDefinedByString } from '../../../shared/page-configs/getConfigDefinedAt.js';
22
22
  import { loadPointerImport, loadValueFile } from './resolveVikeConfigInternal/loadFileAtConfigTime.js';
23
23
  import { resolvePointerImport } from './resolveVikeConfigInternal/resolvePointerImport.js';
24
24
  import { getFilePathResolved } from './getFilePath.js';
25
25
  import { getConfigValueBuildTime } from '../../../shared/page-configs/getConfigValueBuildTime.js';
26
- import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
26
+ import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager, } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
27
27
  import { getConfigValuesBase, isJsonValue } from '../../../shared/page-configs/serialize/serializeConfigValues.js';
28
- import { getPlusFilesAll } from './resolveVikeConfigInternal/getPlusFilesAll.js';
28
+ import { getPlusFilesAll, } from './resolveVikeConfigInternal/getPlusFilesAll.js';
29
29
  import { getEnvVarObject } from './getEnvVarObject.js';
30
30
  import { getApiOperation } from '../../api/context.js';
31
31
  import { getCliOptions } from '../../cli/context.js';
32
32
  import { resolvePrerenderConfigGlobal } from '../../prerender/resolvePrerenderConfig.js';
33
33
  import { getProxyForPublicUsage } from '../../../shared/getProxyForPublicUsage.js';
34
- import { renderPage_vikeConfigHasError } from '../../runtime/renderPage.js';
34
+ import { setVikeConfigError } from '../../shared/getVikeConfigError.js';
35
35
  assertIsNotProductionRuntime();
36
36
  // We can simply use global variables since Vike's config is:
37
- // - gobal
37
+ // - global
38
38
  // - independent of Vite (therefore we don't need to tie Vike's config with Vite's `config` object)
39
39
  assertIsSingleModuleInstance('v1-design/getVikeConfig.ts');
40
40
  let restartVite = false;
@@ -109,7 +109,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
109
109
  vikeConfigPromise = promise;
110
110
  const esbuildCache = {
111
111
  transpileCache: {},
112
- vikeConfigDependencies: new Set()
112
+ vikeConfigDependencies: new Set(),
113
113
  };
114
114
  let hasError = false;
115
115
  let ret;
@@ -138,7 +138,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
138
138
  assert(err === undefined);
139
139
  const hadError = vikeConfigHasBuildError;
140
140
  vikeConfigHasBuildError = false;
141
- renderPage_vikeConfigHasError({ hasBuildError: false });
141
+ setVikeConfigError({ errorBuild: false });
142
142
  if (hadError) {
143
143
  logConfigErrorRecover();
144
144
  if (restartVite) {
@@ -152,7 +152,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
152
152
  assert(ret === undefined);
153
153
  assert(err);
154
154
  vikeConfigHasBuildError = true;
155
- renderPage_vikeConfigHasError({ hasBuildError: { err } });
155
+ setVikeConfigError({ errorBuild: { err } });
156
156
  if (!doNotRestartViteOnError)
157
157
  restartVite = true;
158
158
  if (!isDev) {
@@ -184,7 +184,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
184
184
  const prerenderContext = resolvePrerenderContext({
185
185
  config: vikeConfigPublicGlobal.config,
186
186
  _from: vikeConfigPublicGlobal._from,
187
- _pageConfigs: pageConfigs
187
+ _pageConfigs: pageConfigs,
188
188
  });
189
189
  const vikeConfig = {
190
190
  _pageConfigs: pageConfigs,
@@ -193,7 +193,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
193
193
  _from: vikeConfigPublicGlobal._from,
194
194
  pages: vikeConfigPublicPagesEager,
195
195
  prerenderContext,
196
- _vikeConfigDependencies: esbuildCache.vikeConfigDependencies
196
+ _vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
197
197
  };
198
198
  vikeConfigSync = vikeConfig;
199
199
  return vikeConfig;
@@ -225,7 +225,7 @@ async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache)
225
225
  configDefinitions,
226
226
  plusFiles,
227
227
  plusFilesRelevant,
228
- configNamesKnownLocal
228
+ configNamesKnownLocal,
229
229
  };
230
230
  }));
231
231
  const configDefinitionsResolved = {
@@ -233,7 +233,7 @@ async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache)
233
233
  configDefinitionsLocal,
234
234
  configDefinitionsAll,
235
235
  configNamesKnownAll,
236
- configNamesKnownGlobal
236
+ configNamesKnownGlobal,
237
237
  };
238
238
  assertKnownConfigs(configDefinitionsResolved);
239
239
  return configDefinitionsResolved;
@@ -256,7 +256,7 @@ async function loadCustomConfigBuildTimeFiles(plusFiles, configDefinitions, user
256
256
  function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRootDir) {
257
257
  const pageConfigGlobal = {
258
258
  configDefinitions: configDefinitionsResolved.configDefinitionsGlobal,
259
- configValueSources: {}
259
+ configValueSources: {},
260
260
  };
261
261
  objectEntries(configDefinitionsResolved.configDefinitionsGlobal).forEach(([configName, configDef]) => {
262
262
  const sources = resolveConfigValueSources(configName, configDef,
@@ -294,7 +294,7 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRo
294
294
  configDefinitions: configDefinitionsLocal,
295
295
  plusFiles: plusFilesRelevant,
296
296
  configValueSources,
297
- configValuesComputed
297
+ configValuesComputed,
298
298
  };
299
299
  return pageConfig;
300
300
  });
@@ -324,7 +324,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDef
324
324
  // It's `null` when the config is defined by `vike(options)` in vite.config.js
325
325
  assert(plusFile);
326
326
  const { filePathAbsoluteUserRootDir } = plusFile.filePath;
327
- // Allow local Vike extensions to set gloabl configs (`filePathAbsoluteUserRootDir===null` for Vike extension)
327
+ // Allow local Vike extensions to set global configs (`filePathAbsoluteUserRootDir===null` for Vike extension)
328
328
  if (!filePathAbsoluteUserRootDir)
329
329
  return;
330
330
  assert(!plusFile.isExtensionConfig);
@@ -410,9 +410,9 @@ function temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, use
410
410
  sources.push(getSourceNonConfigFile(configName, value, {
411
411
  ...getFilePathResolved({
412
412
  userRootDir,
413
- filePathAbsoluteUserRootDir: '/vite.config.js'
413
+ filePathAbsoluteUserRootDir: '/vite.config.js',
414
414
  }),
415
- fileExportPathToShowToUser: null
415
+ fileExportPathToShowToUser: null,
416
416
  }));
417
417
  });
418
418
  }
@@ -447,12 +447,12 @@ function getVikeConfigFromCliOrEnv() {
447
447
  const configFromEnvVar = getEnvVarObject('VIKE_CONFIG');
448
448
  const vikeConfigFromCliOrEnv = {
449
449
  ...configFromCliOptions, // Lower precedence
450
- ...configFromEnvVar // Higher precedence
450
+ ...configFromEnvVar, // Higher precedence
451
451
  };
452
452
  return {
453
453
  vikeConfigFromCliOrEnv,
454
454
  configFromCliOptions,
455
- configFromEnvVar
455
+ configFromEnvVar,
456
456
  };
457
457
  }
458
458
  function getSourceNonConfigFile(configName, value, definedAt) {
@@ -466,7 +466,7 @@ function getSourceNonConfigFile(configName, value, definedAt) {
466
466
  locationId: '/',
467
467
  plusFile: null,
468
468
  valueIsLoadedWithImport: false,
469
- valueIsDefinedByPlusValueFile: false
469
+ valueIsDefinedByPlusValueFile: false,
470
470
  };
471
471
  return source;
472
472
  }
@@ -553,7 +553,7 @@ function sortPlusFilesSameLocationId(plusFile1, plusFile2, configName) {
553
553
  return ret;
554
554
  }
555
555
  // Config set by +{configName}.js (highest precedence)
556
- // No need to make it deterministic: the overall order is arleady deterministic, see sortMakeDeterministic() at getPlusFilesAll()
556
+ // No need to make it deterministic: the overall order is already deterministic, see sortMakeDeterministic() at getPlusFilesAll()
557
557
  return 0;
558
558
  }
559
559
  function resolveConfigValueSources(configName, configDef, plusFilesRelevant, userRootDir, isGlobal, plusFilesAll) {
@@ -585,11 +585,11 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
585
585
  assert(confVal);
586
586
  const configValueSourceCommon = {
587
587
  locationId: plusFile.locationId,
588
- plusFile
588
+ plusFile,
589
589
  };
590
590
  const definedAtFilePath_ = {
591
591
  ...plusFile.filePath,
592
- fileExportPathToShowToUser: ['default', configName]
592
+ fileExportPathToShowToUser: ['default', configName],
593
593
  };
594
594
  // +client.js
595
595
  if (configDef._valueIsFilePath) {
@@ -610,7 +610,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
610
610
  valueFilePath = plusFile.filePath.filePathAbsoluteVite;
611
611
  definedAtFilePath = {
612
612
  ...plusFile.filePath,
613
- fileExportPathToShowToUser: []
613
+ fileExportPathToShowToUser: [],
614
614
  };
615
615
  }
616
616
  const configValueSource = {
@@ -621,7 +621,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
621
621
  configEnv: configDef.env,
622
622
  valueIsLoadedWithImport: false,
623
623
  valueIsDefinedByPlusValueFile: false,
624
- definedAt: definedAtFilePath
624
+ definedAt: definedAtFilePath,
625
625
  };
626
626
  return configValueSource;
627
627
  }
@@ -634,10 +634,10 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
634
634
  const value = pointerImport.fileExportValueLoaded
635
635
  ? {
636
636
  valueIsLoaded: true,
637
- value: pointerImport.fileExportValue
637
+ value: pointerImport.fileExportValue,
638
638
  }
639
639
  : {
640
- valueIsLoaded: false
640
+ valueIsLoaded: false,
641
641
  };
642
642
  const configValueSource = {
643
643
  ...configValueSourceCommon,
@@ -645,7 +645,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
645
645
  configEnv: resolveConfigEnv(configDef.env, pointerImport.fileExportPath),
646
646
  valueIsLoadedWithImport: true,
647
647
  valueIsDefinedByPlusValueFile: false,
648
- definedAt: pointerImport.fileExportPath
648
+ definedAt: pointerImport.fileExportPath,
649
649
  };
650
650
  return configValueSource;
651
651
  }
@@ -657,7 +657,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
657
657
  configEnv: configDef.env,
658
658
  valueIsLoadedWithImport: false,
659
659
  valueIsDefinedByPlusValueFile: false,
660
- definedAt: definedAtFilePath_
660
+ definedAt: definedAtFilePath_,
661
661
  };
662
662
  return configValueSource;
663
663
  }
@@ -676,8 +676,8 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
676
676
  fileExportPathToShowToUser: configName === plusFile.configName
677
677
  ? []
678
678
  : // Side-effect config (e.g. `export { frontmatter }` of .md files)
679
- [configName]
680
- }
679
+ [configName],
680
+ },
681
681
  };
682
682
  return configValueSource;
683
683
  }
@@ -700,7 +700,7 @@ function resolveIsGlobalValue(configDefGlobal, source, plusFilesAll) {
700
700
  let isGlobal;
701
701
  if (isCallable(configDefGlobal))
702
702
  isGlobal = configDefGlobal(source.value, {
703
- isGlobalLocation: isGlobalLocation(source.locationId, plusFilesAll)
703
+ isGlobalLocation: isGlobalLocation(source.locationId, plusFilesAll),
704
704
  });
705
705
  else
706
706
  isGlobal = configDefGlobal ?? false;
@@ -737,20 +737,20 @@ function getConfigDefinitions(plusFilesRelevant, filter) {
737
737
  assert(plusFile.isConfigFile);
738
738
  configDef._userEffectDefinedAtFilePath = {
739
739
  ...plusFile.filePath,
740
- fileExportPathToShowToUser: ['default', 'meta', configName, 'effect']
740
+ fileExportPathToShowToUser: ['default', 'meta', configName, 'effect'],
741
741
  };
742
742
  });
743
743
  objectEntries(meta).forEach(([configName, configDefinitionUserLand]) => {
744
744
  if ('isDefinedByPeerDependency' in configDefinitionUserLand) {
745
745
  configDefinitionUserLand = {
746
746
  env: { client: false, server: false, config: false },
747
- ...configDefinitionUserLand
747
+ ...configDefinitionUserLand,
748
748
  };
749
749
  }
750
750
  // User can override an existing config definition
751
751
  configDefinitions[configName] = {
752
752
  ...configDefinitions[configName],
753
- ...configDefinitionUserLand
753
+ ...configDefinitionUserLand,
754
754
  };
755
755
  });
756
756
  });
@@ -828,13 +828,13 @@ function runEffect(configName, configDef, source) {
828
828
  return null;
829
829
  // The value needs to be loaded at config time, that's why we only support effect for configs that are config-only for now.
830
830
  assertUsage(configDef.env.config, [
831
- `Cannot add meta.effect to ${pc.cyan(configName)} because its meta.env is ${pc.cyan(JSON.stringify(configDef.env))} but an effect can only be added to a config that has a meta.env with ${pc.cyan('{ config: true }')}.`
831
+ `Cannot add meta.effect to ${pc.cyan(configName)} because its meta.env is ${pc.cyan(JSON.stringify(configDef.env))} but an effect can only be added to a config that has a meta.env with ${pc.cyan('{ config: true }')}.`,
832
832
  ].join(' '));
833
833
  assert(source.valueIsLoaded);
834
834
  // Call effect
835
835
  const configModFromEffect = configDef.effect({
836
836
  configValue: source.value,
837
- configDefinedAt: getConfigDefinedAt('Config', configName, source.definedAt)
837
+ configDefinedAt: getConfigDefinedAt('Config', configName, source.definedAt),
838
838
  });
839
839
  if (!configModFromEffect)
840
840
  return null;
@@ -855,7 +855,7 @@ function applyEffectConfVal(configModFromEffect, sourceEffect, configValueSource
855
855
  valueIsLoadedWithImport: false,
856
856
  valueIsDefinedByPlusValueFile: false,
857
857
  valueIsLoaded: true,
858
- value: configValue
858
+ value: configValue,
859
859
  };
860
860
  assert(sourceEffect.valueIsLoaded);
861
861
  const isValueGlobalSource = resolveIsGlobalValue(configDefEffect.global, sourceEffect, plusFilesAll);
@@ -887,11 +887,11 @@ function applyEffectMetaEnv(configModFromEffect, configValueSources, configDefEf
887
887
  assertUsage(keys.includes('env'), notSupported);
888
888
  assertUsage(keys.length === 1, notSupported);
889
889
  }
890
- const envOverriden = configTargetDef.env;
890
+ const envOverridden = configTargetDef.env;
891
891
  const sources = configValueSources[configTargetName];
892
892
  sources?.forEach((configValueSource) => {
893
893
  // Apply effect
894
- configValueSource.configEnv = envOverriden;
894
+ configValueSource.configEnv = envOverridden;
895
895
  });
896
896
  });
897
897
  });
@@ -906,7 +906,7 @@ function getComputed(configValueSources, configDefinitions) {
906
906
  return;
907
907
  configValuesComputed[configName] = {
908
908
  value,
909
- configEnv: configDef.env
909
+ configEnv: configDef.env,
910
910
  };
911
911
  });
912
912
  return configValuesComputed;
@@ -951,7 +951,7 @@ function assertKnownConfig(configName, configNamesKnownRelevant, configDefinitio
951
951
  title: ui,
952
952
  ssr: ui,
953
953
  stream: ui,
954
- Wrapper: ui
954
+ Wrapper: ui,
955
955
  };
956
956
  if (configName in knownVikeExntensionConfigs) {
957
957
  const requiredVikeExtension = joinEnglish(knownVikeExntensionConfigs[configName].map((e) => pc.bold(e)), 'or');
@@ -998,7 +998,7 @@ function determineRouteFilesystem(locationId, configValueSources) {
998
998
  assert(filesystemRouteString.startsWith('/'));
999
999
  const routeFilesystem = {
1000
1000
  routeString: filesystemRouteString,
1001
- definedAtLocation: filesystemRouteDefinedBy
1001
+ definedAtLocation: filesystemRouteDefinedBy,
1002
1002
  };
1003
1003
  return { routeFilesystem, isErrorPage: undefined };
1004
1004
  }
@@ -1097,7 +1097,7 @@ function isGlobalLocation(locationId, plusFilesAll) {
1097
1097
  .map(([locationId]) => locationId);
1098
1098
  return locationIdsPage.every((locId) => isInherited(locationId, locId));
1099
1099
  }
1100
- function isOverriden(source, configName, pageConfig) {
1100
+ function isOverridden(source, configName, pageConfig) {
1101
1101
  const configDef = pageConfig.configDefinitions[configName];
1102
1102
  assert(configDef);
1103
1103
  if (configDef.cumulative)
@@ -1116,7 +1116,7 @@ function resolvePrerenderContext(vikeConfig) {
1116
1116
  // Set at runPrerender()
1117
1117
  output: null,
1118
1118
  // Set at runPrerender()
1119
- pageContexts: null
1119
+ pageContexts: null,
1120
1120
  });
1121
1121
  prerenderContext.isPrerenderingEnabled = isPrerenderingEnabled;
1122
1122
  prerenderContext.isPrerenderingEnabledForAllPages = isPrerenderingEnabledForAllPages;
@@ -1143,19 +1143,19 @@ function getVikeConfigDummy(esbuildCache) {
1143
1143
  const prerenderContextDummy = resolvePrerenderContext({
1144
1144
  config: globalDummy.config,
1145
1145
  _from: globalDummy._from,
1146
- _pageConfigs: pageConfigsDummy
1146
+ _pageConfigs: pageConfigsDummy,
1147
1147
  });
1148
1148
  const vikeConfigDummy = {
1149
1149
  _pageConfigs: pageConfigsDummy,
1150
1150
  _pageConfigGlobal: {
1151
1151
  configDefinitions: {},
1152
- configValueSources: {}
1152
+ configValueSources: {},
1153
1153
  },
1154
1154
  config: globalDummy.config,
1155
1155
  _from: globalDummy._from,
1156
1156
  pages: {},
1157
1157
  prerenderContext: prerenderContextDummy,
1158
- _vikeConfigDependencies: esbuildCache.vikeConfigDependencies
1158
+ _vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
1159
1159
  };
1160
1160
  vikeConfigSync = vikeConfigDummy;
1161
1161
  isV1Design_ = true;
@@ -4,22 +4,16 @@ export * from '../../utils/includes.js';
4
4
  export * from '../../utils/isDev.js';
5
5
  export * from '../../utils/getMostSimilar.js';
6
6
  export * from '../../utils/getRandomId.js';
7
- export * from '../../utils/joinEnglish.js';
8
7
  export * from '../../utils/escapeRegex.js';
9
- export * from '../../utils/stripAnsi.js';
10
8
  export * from '../../utils/trimWithAnsi.js';
11
9
  export * from '../../utils/removeEmptyLines.js';
12
10
  export * from '../../utils/findPackageJson.js';
13
- export * from '../../utils/getPropAccessNotation.js';
14
11
  export * from '../../utils/deepEqual.js';
15
12
  export * from '../../utils/assertKeys.js';
16
13
  export * from '../../utils/injectRollupInputs.js';
17
- export * from '../../utils/humanizeTime.js';
18
14
  export * from '../../utils/pLimit.js';
19
15
  export * from '../../utils/assertVersion.js';
20
16
  export * from '../../utils/isFilePathAbsoluteFilesystem.js';
21
- export * from '../../utils/isArray.js';
22
- export * from '../../utils/PROJECT_VERSION.js';
23
17
  export * from '../../utils/isEqualStringList.js';
24
18
  export * from '../../utils/isDocker.js';
25
19
  export * from '../../utils/isVitest.js';
@@ -2,7 +2,8 @@
2
2
  // We call onLoad() here so that it's called even when only a subset of the plugin is loaded. (Making the assert() calls inside onLoad() a lot stronger.)
3
3
  import { onLoad } from './onLoad.js';
4
4
  onLoad();
5
- // It's common practice for Vike's Vite plugin to import from Vike's sever runtime
5
+ // - Server-side bloat is negligible
6
+ // - The Vite plugin imports the server runtime anyways
6
7
  export * from '../runtime/utils.js';
7
8
  // Utils only needed by `plugin/*`
8
9
  export * from '../../utils/requireResolve.js';
@@ -10,22 +11,16 @@ export * from '../../utils/includes.js';
10
11
  export * from '../../utils/isDev.js';
11
12
  export * from '../../utils/getMostSimilar.js';
12
13
  export * from '../../utils/getRandomId.js';
13
- export * from '../../utils/joinEnglish.js';
14
14
  export * from '../../utils/escapeRegex.js';
15
- export * from '../../utils/stripAnsi.js';
16
15
  export * from '../../utils/trimWithAnsi.js';
17
16
  export * from '../../utils/removeEmptyLines.js';
18
17
  export * from '../../utils/findPackageJson.js';
19
- export * from '../../utils/getPropAccessNotation.js';
20
18
  export * from '../../utils/deepEqual.js';
21
19
  export * from '../../utils/assertKeys.js';
22
20
  export * from '../../utils/injectRollupInputs.js';
23
- export * from '../../utils/humanizeTime.js';
24
21
  export * from '../../utils/pLimit.js';
25
22
  export * from '../../utils/assertVersion.js';
26
23
  export * from '../../utils/isFilePathAbsoluteFilesystem.js';
27
- export * from '../../utils/isArray.js';
28
- export * from '../../utils/PROJECT_VERSION.js';
29
24
  export * from '../../utils/isEqualStringList.js';
30
25
  export * from '../../utils/isDocker.js';
31
26
  export * from '../../utils/isVitest.js';
@@ -14,6 +14,6 @@ function assertHookReturnedObject(obj, keysExpected, errPrefix) {
14
14
  'returned an object with following unknown keys:',
15
15
  stringifyStringArray(keysUnknown) + '.',
16
16
  'Only following keys are allowed:',
17
- stringifyStringArray(keysExpected) + '.'
17
+ stringifyStringArray(keysExpected) + '.',
18
18
  ].join(' '));
19
19
  }
@@ -1,5 +1,5 @@
1
1
  export { assertPageContextProvidedByUser };
2
- declare function assertPageContextProvidedByUser(pageContextProvidedByUser: unknown, { hookName, hookFilePath }: {
2
+ declare function assertPageContextProvidedByUser(pageContextProvidedByUser: unknown, { hookName, hookFilePath, }: {
3
3
  hookFilePath: string;
4
4
  hookName: 'onBeforeRender' | 'onRenderHtml' | 'render' | 'onBeforeRoute';
5
5
  }): asserts pageContextProvidedByUser is Record<string, unknown>;
@@ -1,7 +1,7 @@
1
1
  export { assertPageContextProvidedByUser };
2
2
  import { assert, assertUsage, assertWarning, isObject } from './utils.js';
3
3
  import pc from '@brillout/picocolors';
4
- function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName, hookFilePath }) {
4
+ function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName, hookFilePath, }) {
5
5
  if (pageContextProvidedByUser === undefined || pageContextProvidedByUser === null)
6
6
  return;
7
7
  assert(!hookName.endsWith(')'));
@@ -10,6 +10,6 @@ function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName,
10
10
  assertUsage(!('isPageContext' in pageContextProvidedByUser), `${errPrefix} shouldn't be the whole ${pc.cyan('pageContext')} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`);
11
11
  // In principle, it's possible to use onBeforeRoute()` to override and define the whole routing.
12
12
  // Is that a good idea to allow users to do this? Beyond deep integration with Vue Router or React Router, is there a use case for this?
13
- assertWarning(!('pageId' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.pageId')} which means that Vike's routing is overriden. This is an experimental feature: make sure to contact a vike maintainer before using this.`, { onlyOnce: true });
13
+ assertWarning(!('pageId' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.pageId')} which means that Vike's routing is overridden. This is an experimental feature: make sure to contact a vike maintainer before using this.`, { onlyOnce: true });
14
14
  assertUsage(!('is404' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.is404')} which is forbidden, use ${pc.cyan('throw render()')} instead, see https://vike.dev/render`);
15
15
  }
@@ -7,9 +7,11 @@ import type { PageFile } from './getPageFiles.js';
7
7
  import type { PageConfigRuntime } from '../types/PageConfig.js';
8
8
  import type { GlobalContextServerInternal } from '../node/runtime/globalContext.js';
9
9
  import type { GlobalContextClientInternal } from '../client/runtime-client-routing/globalContext.js';
10
+ import { type Hook } from './hooks/getHook.js';
10
11
  declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
11
12
  declare function createGlobalContextShared<GlobalContextAddendum extends object>(virtualFileExports: unknown, globalObject: {
12
13
  globalContext?: Record<string, unknown>;
14
+ onCreateGlobalContextHooks?: Hook[];
13
15
  }, addGlobalContext?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddendum>): Promise<{
14
16
  /**
15
17
  * Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
@@ -1,39 +1,40 @@
1
1
  export { createGlobalContextShared };
2
2
  export { getGlobalContextSyncErrMsg };
3
- import { changeEnumerable, objectAssign, unique } from './utils.js';
3
+ import { changeEnumerable, objectAssign, objectReplace, unique } from './utils.js';
4
4
  import { parseVirtualFileExports } from './getPageFiles/parseVirtualFileExports.js';
5
- import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager } from './page-configs/resolveVikeConfigPublic.js';
5
+ import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager, } from './page-configs/resolveVikeConfigPublic.js';
6
6
  import { execHookGlobal } from './hooks/execHook.js';
7
7
  import { prepareGlobalContextForPublicUsage } from './prepareGlobalContextForPublicUsage.js';
8
+ import { getHookFromPageConfigGlobalCumulative } from './hooks/getHook.js';
8
9
  const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
9
10
  async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext) {
10
11
  const globalContext = createGlobalContextBase(virtualFileExports);
11
12
  const globalContextAddendum = await addGlobalContext?.(globalContext);
12
13
  objectAssign(globalContext, globalContextAddendum);
14
+ const onCreateGlobalContextHooks = getHookFromPageConfigGlobalCumulative(globalContext._pageConfigGlobal, 'onCreateGlobalContext');
15
+ let hooksCalled = false;
16
+ if (!hooksAreEqual(globalObject.onCreateGlobalContextHooks ?? [], onCreateGlobalContextHooks)) {
17
+ globalObject.onCreateGlobalContextHooks = onCreateGlobalContextHooks;
18
+ await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
19
+ hooksCalled = true;
20
+ }
13
21
  if (!globalObject.globalContext) {
14
22
  globalObject.globalContext = globalContext;
15
- // - We deliberately call onCreateGlobalContext() only at the beginning and only once per process.
16
- // - TO-DO/eventually: HMR
17
- // - Once Photon supports it: `server.hot.send({ type: 'full-server-reload' })`
18
- // - Either use:
19
- // - import.meta.hot
20
- // - https://vite.dev/guide/api-hmr.html
21
- // - Use a Vite transformer to inject import.meta.hot code into each user-land `+onCreateGlobalContext.js` file
22
- // - Seems more idiomatic
23
- // - globalContext._viteDevServer.hot.send()
24
- // - Send 'full-server-reload' signal whenever a onCreateGlobalContext() function is modified => we need a globalObject to track all hooks and see if one of them is new/modified.
25
- // - Seems less idiomatic
26
- await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
27
23
  }
28
24
  else {
29
25
  // Singleton: ensure all `globalContext` user-land references are preserved & updated.
30
- // We don't use objectReplace() in order to keep user-land properties.
31
- objectAssign(globalObject.globalContext, globalContext, true);
26
+ if (hooksCalled) {
27
+ objectReplace(globalObject.globalContext, globalContext);
28
+ }
29
+ else {
30
+ // We don't use objectReplace() in order to keep user-land properties.
31
+ objectAssign(globalObject.globalContext, globalContext, true);
32
+ }
32
33
  }
33
34
  return globalObject.globalContext;
34
35
  }
35
36
  function createGlobalContextBase(virtualFileExports) {
36
- const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, vikeConfigPublicGlobal, vikeConfigPublicPagesEager } = getConfigsAll(virtualFileExports);
37
+ const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, vikeConfigPublicGlobal, vikeConfigPublicPagesEager, } = getConfigsAll(virtualFileExports);
37
38
  const globalContext = {
38
39
  /**
39
40
  * Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
@@ -49,7 +50,7 @@ function createGlobalContextBase(virtualFileExports) {
49
50
  _allPageIds: allPageIds,
50
51
  _vikeConfigPublicGlobal: vikeConfigPublicGlobal,
51
52
  config: vikeConfigPublicGlobal.config,
52
- pages: vikeConfigPublicPagesEager
53
+ pages: vikeConfigPublicPagesEager,
53
54
  };
54
55
  changeEnumerable(globalContext, '_isOriginalObject', false);
55
56
  return globalContext;
@@ -58,7 +59,7 @@ function getConfigsAll(virtualFileExports) {
58
59
  const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseVirtualFileExports(virtualFileExports);
59
60
  const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
60
61
  const vikeConfigPublicGlobal = resolveVikeConfigPublicGlobal({
61
- pageConfigGlobalValues: pageConfigGlobal.configValues
62
+ pageConfigGlobalValues: pageConfigGlobal.configValues,
62
63
  });
63
64
  const vikeConfigPublicPagesEager = Object.fromEntries(pageConfigs.map((pageConfig) => {
64
65
  return resolveVikeConfigPublicPageEager(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
@@ -69,7 +70,7 @@ function getConfigsAll(virtualFileExports) {
69
70
  pageConfigs,
70
71
  pageConfigGlobal,
71
72
  vikeConfigPublicGlobal,
72
- vikeConfigPublicPagesEager
73
+ vikeConfigPublicPagesEager,
73
74
  };
74
75
  }
75
76
  function getAllPageIds(pageFilesAll, pageConfigs) {
@@ -78,3 +79,10 @@ function getAllPageIds(pageFilesAll, pageConfigs) {
78
79
  const allPageIds2 = pageConfigs.map((p) => p.pageId);
79
80
  return [...allPageIds, ...allPageIds2];
80
81
  }
82
+ function hooksAreEqual(hooks1, hooks2) {
83
+ const hooksFn1 = hooks1.map((hook) => hook.hookFn);
84
+ const hooksFn2 = hooks2.map((hook) => hook.hookFn);
85
+ return (hooksFn1.every((hook) => hooksFn2.includes(hook)) &&
86
+ //
87
+ hooksFn2.every((hook) => hooksFn1.includes(hook)));
88
+ }
@@ -11,7 +11,7 @@ async function createPageContextShared(pageContextCreated, pageConfigGlobal, vik
11
11
  function createPageContextObject() {
12
12
  const pageContext = {
13
13
  _isOriginalObject: true,
14
- isPageContext: true
14
+ isPageContext: true,
15
15
  };
16
16
  changeEnumerable(pageContext, '_isOriginalObject', false);
17
17
  return pageContext;
@@ -1,7 +1,7 @@
1
1
  export { getPageContextRequestUrl };
2
2
  export { pageContextJsonFileExtension };
3
3
  export { doNotCreateExtraDirectory };
4
- // This module isn't loaded by the client-side of Server Routing => we don't inlcude `urlToFile` to `./utils.ts`
4
+ // This module isn't loaded by the client-side of Server Routing => we don't include `urlToFile` to `./utils.ts`
5
5
  import { urlToFile } from '../utils/urlToFile.js';
6
6
  const pageContextJsonFileExtension = '.pageContext.json';
7
7
  // `/some-base-url/index.pageContext.json` instead of `/some-base-url.pageContext.json` in order to comply to common reverse proxy setups, see https://github.com/vikejs/vike/issues/443
@@ -13,17 +13,17 @@ function getPageContextUrlComputed(pageContext) {
13
13
  objectDefineProperty(pageContextUrlComputed, 'urlPathname', {
14
14
  get: urlPathnameGetter,
15
15
  enumerable: true,
16
- configurable: true
16
+ configurable: true,
17
17
  });
18
18
  objectDefineProperty(pageContextUrlComputed, 'url', {
19
19
  get: urlGetter,
20
20
  enumerable: false,
21
- configurable: true
21
+ configurable: true,
22
22
  });
23
23
  objectDefineProperty(pageContextUrlComputed, 'urlParsed', {
24
24
  get: urlParsedGetter,
25
25
  enumerable: true,
26
- configurable: true
26
+ configurable: true,
27
27
  });
28
28
  return pageContextUrlComputed;
29
29
  }
@@ -109,7 +109,7 @@ function urlParsedGetter() {
109
109
  get hashString() {
110
110
  assertWarning(false, 'pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal', {
111
111
  onlyOnce: true,
112
- showStackTrace: true
112
+ showStackTrace: true,
113
113
  });
114
114
  warnHashNotAvailable('hashString');
115
115
  return urlParsed.hashOriginal;
@@ -118,7 +118,7 @@ function urlParsedGetter() {
118
118
  get searchString() {
119
119
  assertWarning(false, 'pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal', { onlyOnce: true, showStackTrace: true });
120
120
  return urlParsed.searchOriginal;
121
- }
121
+ },
122
122
  };
123
123
  changeEnumerable(urlParsedEnhanced, 'hashString', false);
124
124
  changeEnumerable(urlParsedEnhanced, 'searchString', false);
@@ -1,6 +1,6 @@
1
1
  export { analyzeExports };
2
2
  import type { PageFile } from '../getPageFileObject.js';
3
- declare function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId }: {
3
+ declare function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId, }: {
4
4
  pageFilesClientSide: PageFile[];
5
5
  pageFilesServerSide: PageFile[];
6
6
  pageId: string;