vike 0.4.237 → 0.4.238-commit-3c1a09d

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 (299) hide show
  1. package/dist/cjs/__internal/index.js +3 -3
  2. package/dist/cjs/client/runtime-client-routing/globalContext.js +2 -2
  3. package/dist/cjs/client/runtime-server-routing/globalContext.js +2 -2
  4. package/dist/cjs/client/runtime-server-routing/utils.js +1 -1
  5. package/dist/cjs/client/shared/createGetGlobalContextClient.js +5 -5
  6. package/dist/cjs/node/api/build.js +5 -31
  7. package/dist/cjs/node/api/context.js +13 -12
  8. package/dist/cjs/node/api/dev.js +0 -2
  9. package/dist/cjs/node/api/index.js +0 -2
  10. package/dist/cjs/node/api/onLoad.js +2 -2
  11. package/dist/cjs/node/api/prepareViteApiCall.js +2 -3
  12. package/dist/cjs/node/api/preview.js +2 -3
  13. package/dist/cjs/node/api/utils.js +1 -0
  14. package/dist/cjs/node/cli/index.js +2 -2
  15. package/dist/cjs/node/cli/onLoad.js +2 -2
  16. package/dist/cjs/node/prerender/runPrerender.js +7 -8
  17. package/dist/cjs/node/prerender/runPrerenderEntry.js +1 -1
  18. package/dist/cjs/node/runtime/csp.js +46 -0
  19. package/dist/cjs/node/runtime/globalContext.js +128 -112
  20. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +11 -8
  21. package/dist/cjs/node/runtime/html/injectAssets/inferHtmlTags.js +5 -2
  22. package/dist/cjs/node/runtime/html/injectAssets/mergeScriptTags.js +4 -2
  23. package/dist/cjs/node/runtime/renderPage/analyzePage.js +6 -4
  24. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +1 -1
  25. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +1 -11
  26. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  27. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +21 -6
  28. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  29. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +5 -34
  30. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +57 -50
  31. package/dist/cjs/node/runtime/renderPage/{renderPageAlreadyRouted.js → renderPageAfterRoute.js} +3 -4
  32. package/dist/cjs/node/runtime/renderPage.js +18 -16
  33. package/dist/cjs/node/runtime/utils.js +3 -2
  34. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -2
  35. package/dist/cjs/node/shared/virtualFileId.js +110 -0
  36. package/dist/cjs/node/vite/index.js +3 -3
  37. package/dist/cjs/node/vite/onLoad.js +5 -3
  38. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +29 -30
  39. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +122 -10
  40. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +12 -17
  41. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -10
  42. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +5 -11
  43. package/dist/cjs/node/vite/plugins/pluginBuild/{pluginBuildEntry.js → pluginProdBuildEntry.js} +11 -11
  44. package/dist/cjs/node/vite/plugins/pluginBuild.js +2 -4
  45. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +2 -2
  46. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +6 -5
  47. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +6 -13
  48. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +7 -7
  49. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +6 -2
  50. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +4 -3
  51. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +11 -11
  52. package/dist/cjs/node/vite/plugins/pluginPreview.js +4 -7
  53. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +6 -13
  54. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +1 -1
  55. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +5 -6
  56. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +12 -12
  57. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
  58. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +51 -21
  59. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +14 -12
  60. package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
  61. package/dist/cjs/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +3 -3
  62. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +8 -6
  63. package/dist/cjs/node/vite/shared/getMagicString.js +1 -1
  64. package/dist/cjs/node/vite/shared/getOutDirs.js +21 -22
  65. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +1 -1
  66. package/dist/cjs/node/vite/shared/isViteServerSide.js +68 -0
  67. package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +6 -4
  68. package/dist/cjs/node/vite/shared/loggerVite.js +1 -1
  69. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +23 -36
  70. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +5 -4
  71. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +46 -48
  72. package/dist/cjs/shared/createGlobalContextShared.js +16 -14
  73. package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
  74. package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +25 -0
  75. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +10 -4
  76. package/dist/cjs/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  77. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +3 -3
  78. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -1
  79. package/dist/cjs/shared/route/index.js +0 -1
  80. package/dist/cjs/types/VikeGlobalInternal.js +2 -0
  81. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  82. package/dist/cjs/utils/assertSetup.js +2 -3
  83. package/dist/cjs/utils/assertVersion.js +2 -0
  84. package/dist/cjs/utils/debug.js +4 -4
  85. package/dist/cjs/utils/getGlobalObject.js +8 -15
  86. package/dist/cjs/utils/isNonRunnableDev.js +12 -0
  87. package/dist/cjs/utils/isScriptFile.js +1 -1
  88. package/dist/cjs/utils/path.js +5 -5
  89. package/dist/cjs/utils/requireResolve.js +13 -12
  90. package/dist/cjs/utils/{augmentType.js → updateType.js} +3 -3
  91. package/dist/esm/__internal/index.d.ts +2 -2
  92. package/dist/esm/__internal/index.js +3 -3
  93. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +2 -2
  94. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
  95. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
  96. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +12 -12
  97. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +2 -2
  98. package/dist/esm/client/runtime-client-routing/globalContext.js +2 -2
  99. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
  100. package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
  101. package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
  102. package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  103. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +6 -7
  104. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +6 -6
  105. package/dist/esm/client/runtime-client-routing/utils.d.ts +1 -1
  106. package/dist/esm/client/runtime-client-routing/utils.js +1 -1
  107. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +3 -3
  108. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +3 -3
  109. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
  110. package/dist/esm/client/runtime-server-routing/globalContext.js +2 -2
  111. package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  112. package/dist/esm/client/runtime-server-routing/utils.d.ts +1 -1
  113. package/dist/esm/client/runtime-server-routing/utils.js +1 -1
  114. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +3 -3
  115. package/dist/esm/client/shared/createGetGlobalContextClient.js +5 -5
  116. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
  117. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  118. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
  119. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
  120. package/dist/esm/node/api/build.d.ts +2 -2
  121. package/dist/esm/node/api/build.js +6 -32
  122. package/dist/esm/node/api/context.d.ts +10 -10
  123. package/dist/esm/node/api/context.js +13 -12
  124. package/dist/esm/node/api/dev.d.ts +2 -2
  125. package/dist/esm/node/api/dev.js +0 -2
  126. package/dist/esm/node/api/index.js +0 -2
  127. package/dist/esm/node/api/onLoad.js +1 -1
  128. package/dist/esm/node/api/prepareViteApiCall.d.ts +3 -5
  129. package/dist/esm/node/api/prepareViteApiCall.js +3 -4
  130. package/dist/esm/node/api/preview.d.ts +2 -2
  131. package/dist/esm/node/api/preview.js +2 -3
  132. package/dist/esm/node/api/types.d.ts +4 -4
  133. package/dist/esm/node/api/utils.d.ts +1 -0
  134. package/dist/esm/node/api/utils.js +1 -0
  135. package/dist/esm/node/cli/index.js +1 -1
  136. package/dist/esm/node/cli/onLoad.js +1 -1
  137. package/dist/esm/node/prerender/runPrerender.d.ts +14 -303
  138. package/dist/esm/node/prerender/runPrerender.js +8 -9
  139. package/dist/esm/node/prerender/runPrerenderEntry.js +1 -1
  140. package/dist/esm/node/runtime/csp.d.ts +12 -0
  141. package/dist/esm/node/runtime/csp.js +44 -0
  142. package/dist/esm/node/runtime/globalContext.d.ts +13 -13
  143. package/dist/esm/node/runtime/globalContext.js +125 -109
  144. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +11 -8
  145. package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.d.ts +2 -1
  146. package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.js +5 -2
  147. package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.d.ts +2 -1
  148. package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.js +4 -2
  149. package/dist/esm/node/runtime/html/serializeContext.d.ts +2 -1
  150. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +4 -3
  151. package/dist/esm/node/runtime/renderPage/analyzePage.js +6 -4
  152. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +2 -2
  153. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
  154. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +0 -1
  155. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +1 -11
  156. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
  157. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  158. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.d.ts +10 -0
  159. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +22 -7
  160. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.d.ts +10 -0
  161. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  162. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -10
  163. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -33
  164. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +1 -1
  165. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +108 -20
  166. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +59 -52
  167. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -2
  168. package/dist/esm/node/runtime/renderPage/{renderPageAlreadyRouted.d.ts → renderPageAfterRoute.d.ts} +30 -10
  169. package/dist/esm/node/runtime/renderPage/{renderPageAlreadyRouted.js → renderPageAfterRoute.js} +5 -6
  170. package/dist/esm/node/runtime/renderPage.d.ts +9 -6
  171. package/dist/esm/node/runtime/renderPage.js +20 -18
  172. package/dist/esm/node/runtime/utils.d.ts +3 -2
  173. package/dist/esm/node/runtime/utils.js +3 -2
  174. package/dist/esm/node/runtime-dev/createDevMiddleware.d.ts +2 -2
  175. package/dist/esm/node/runtime-dev/createDevMiddleware.js +0 -2
  176. package/dist/esm/node/shared/virtualFileId.d.ts +28 -0
  177. package/dist/esm/node/shared/virtualFileId.js +107 -0
  178. package/dist/esm/node/vite/index.js +3 -3
  179. package/dist/esm/node/vite/onLoad.js +5 -3
  180. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +5 -6
  181. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +31 -32
  182. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +119 -10
  183. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +12 -17
  184. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -10
  185. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +5 -8
  186. package/dist/esm/node/vite/plugins/pluginBuild/{pluginBuildEntry.d.ts → pluginProdBuildEntry.d.ts} +2 -2
  187. package/dist/esm/node/vite/plugins/pluginBuild/{pluginBuildEntry.js → pluginProdBuildEntry.js} +12 -12
  188. package/dist/esm/node/vite/plugins/pluginBuild.js +2 -4
  189. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +3 -3
  190. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +6 -5
  191. package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
  192. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +5 -5
  193. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
  194. package/dist/esm/node/vite/plugins/pluginFileEnv.js +4 -3
  195. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +12 -12
  196. package/dist/esm/node/vite/plugins/pluginPreview.js +5 -8
  197. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +6 -10
  198. package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +2 -2
  199. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -0
  200. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +5 -6
  201. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +6 -0
  202. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
  203. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +2 -0
  204. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
  205. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +5 -1
  206. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +52 -22
  207. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +14 -12
  208. package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
  209. package/dist/esm/node/vite/shared/getClientEntrySrcDev.d.ts +4 -0
  210. package/dist/esm/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +4 -4
  211. package/dist/esm/node/vite/shared/getHttpRequestAsyncStore.js +9 -7
  212. package/dist/esm/node/vite/shared/getMagicString.js +1 -1
  213. package/dist/esm/node/vite/shared/getOutDirs.d.ts +4 -3
  214. package/dist/esm/node/vite/shared/getOutDirs.js +21 -22
  215. package/dist/esm/node/vite/shared/getViteConfigRuntime.js +1 -1
  216. package/dist/esm/node/vite/shared/isViteServerSide.d.ts +18 -0
  217. package/dist/esm/node/vite/shared/isViteServerSide.js +66 -0
  218. package/dist/esm/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +7 -5
  219. package/dist/esm/node/vite/shared/loggerVite.js +1 -1
  220. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +3 -2
  221. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +24 -37
  222. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +6 -5
  223. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -2
  224. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +49 -51
  225. package/dist/esm/shared/createGlobalContextShared.d.ts +7 -6
  226. package/dist/esm/shared/createGlobalContextShared.js +18 -16
  227. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
  228. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
  229. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  230. package/dist/esm/shared/hooks/execHook.d.ts +2 -2
  231. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  232. package/dist/esm/shared/page-configs/loadAndParseVirtualFilePageEntry.d.ts +3 -0
  233. package/dist/esm/shared/page-configs/loadAndParseVirtualFilePageEntry.js +23 -0
  234. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +9 -9
  235. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +10 -4
  236. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +1 -1
  237. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.d.ts → parsePageConfigsSerialized.d.ts} +2 -2
  238. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  239. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +3 -3
  240. package/dist/esm/shared/route/execHookOnBeforeRoute.d.ts +3 -3
  241. package/dist/esm/shared/route/execHookOnBeforeRoute.js +0 -1
  242. package/dist/esm/shared/route/index.d.ts +5 -6
  243. package/dist/esm/shared/route/index.js +0 -1
  244. package/dist/esm/types/Config.d.ts +13 -9
  245. package/dist/esm/types/PageConfig.d.ts +11 -9
  246. package/dist/esm/types/PageContext.d.ts +6 -0
  247. package/dist/esm/types/VikeGlobalInternal.d.ts +4 -0
  248. package/dist/esm/types/VikeGlobalInternal.js +1 -0
  249. package/dist/esm/types/VikeNamespace.d.ts +13 -0
  250. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  251. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  252. package/dist/esm/utils/assertSetup.js +2 -3
  253. package/dist/esm/utils/assertVersion.js +2 -0
  254. package/dist/esm/utils/debug.js +3 -3
  255. package/dist/esm/utils/getGlobalObject.d.ts +6 -5
  256. package/dist/esm/utils/getGlobalObject.js +8 -15
  257. package/dist/esm/utils/isNonRunnableDev.d.ts +2 -0
  258. package/dist/esm/utils/isNonRunnableDev.js +10 -0
  259. package/dist/esm/utils/isScriptFile.d.ts +1 -1
  260. package/dist/esm/utils/isScriptFile.js +1 -1
  261. package/dist/esm/utils/path.d.ts +2 -0
  262. package/dist/esm/utils/path.js +5 -5
  263. package/dist/esm/utils/requireResolve.d.ts +4 -4
  264. package/dist/esm/utils/requireResolve.js +13 -12
  265. package/dist/esm/utils/updateType.d.ts +3 -0
  266. package/dist/esm/utils/updateType.js +7 -0
  267. package/package.json +6 -6
  268. package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +0 -52
  269. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -31
  270. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -45
  271. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +0 -149
  272. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -11
  273. package/dist/cjs/node/vite/shared/isViteServerBuild.js +0 -47
  274. package/dist/cjs/shared/page-configs/loadConfigValues.js +0 -21
  275. package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +0 -23
  276. package/dist/esm/node/runtime/renderPage/debugPageFiles.js +0 -47
  277. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +0 -4
  278. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +0 -4
  279. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.d.ts +0 -11
  280. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +0 -28
  281. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
  282. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -43
  283. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.d.ts +0 -5
  284. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +0 -144
  285. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.d.ts +0 -5
  286. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.d.ts +0 -3
  287. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.d.ts +0 -2
  288. package/dist/esm/node/vite/shared/applyRegExWithMagicString.d.ts +0 -3
  289. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -9
  290. package/dist/esm/node/vite/shared/isViteServerBuild.d.ts +0 -15
  291. package/dist/esm/node/vite/shared/isViteServerBuild.js +0 -45
  292. package/dist/esm/node/vite/shared/resolveClientEntriesDev.d.ts +0 -4
  293. package/dist/esm/shared/page-configs/loadConfigValues.d.ts +0 -3
  294. package/dist/esm/shared/page-configs/loadConfigValues.js +0 -19
  295. package/dist/esm/utils/augmentType.d.ts +0 -3
  296. package/dist/esm/utils/augmentType.js +0 -7
  297. /package/dist/cjs/utils/{getTerminWidth.js → getTerminalWidth.js} +0 -0
  298. /package/dist/esm/utils/{getTerminWidth.d.ts → getTerminalWidth.d.ts} +0 -0
  299. /package/dist/esm/utils/{getTerminWidth.js → getTerminalWidth.js} +0 -0
@@ -1,43 +1,40 @@
1
- export { loadPageConfigsLazyServerSideAndExecHook };
1
+ export { loadPageConfigsLazyServerSide };
2
2
  import { getPageFilesServerSide } from '../../../shared/getPageFiles.js';
3
- import { resolveVikeConfigPublicPageLazy } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
3
+ import { resolveVikeConfigPublicPageLazyLoaded } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
4
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
5
- import { assertUsage, assertWarning, hasProp, isArray, isObject, objectAssign } from '../utils.js';
5
+ import { assertUsage, assertWarning, hasProp, isArray, isCallable, isObject, objectAssign, updateType, } from '../utils.js';
6
6
  import { getPageAssets } from './getPageAssets.js';
7
- import { debugPageFiles } from './debugPageFiles.js';
8
7
  import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
9
8
  import { analyzePage } from './analyzePage.js';
10
- import { loadConfigValues } from '../../../shared/page-configs/loadConfigValues.js';
9
+ import { loadAndParseVirtualFilePageEntry } from '../../../shared/page-configs/loadAndParseVirtualFilePageEntry.js';
11
10
  import { execHookServer } from './execHookServer.js';
12
11
  import { getCacheControl } from './getCacheControl.js';
13
- async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
14
- const pageContextAddendum = await loadPageConfigsLazyServerSide(pageContext);
15
- objectAssign(pageContext, pageContextAddendum);
12
+ import { addCspHeader, resolvePageContextCspNone } from '../csp.js';
13
+ async function loadPageConfigsLazyServerSide(pageContext) {
14
+ objectAssign(pageContext, {
15
+ _pageConfig: findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId),
16
+ });
17
+ // Load the page's + files
18
+ updateType(pageContext, await loadPageUserFiles(pageContext));
19
+ // Resolve new computed pageContext properties
20
+ updateType(pageContext, await resolvePageContext(pageContext));
21
+ // Execute +onCreatePageContext
16
22
  await execHookServer('onCreatePageContext', pageContext);
17
23
  return pageContext;
18
24
  }
19
- // TODO/now: define new function resolveAfterLoad() ?
20
- async function loadPageConfigsLazyServerSide(pageContext) {
21
- const pageConfig = findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
22
- const globalContext = pageContext._globalContext;
23
- const [{ pageFilesLoaded, configPublicPageLazy }] = await Promise.all([
24
- loadPageConfigFiles(pageContext._globalContext._pageFilesAll, pageConfig, globalContext._pageConfigGlobal, pageContext.pageId, !globalContext._isProduction),
25
- analyzePageClientSideInit(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
26
- sharedPageFilesAlreadyLoaded: true,
27
- }),
28
- ]);
29
- const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await analyzePage(pageContext._globalContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
30
- const isV1Design = !!pageConfig;
25
+ async function resolvePageContext(pageContext) {
26
+ const { isHtmlOnly, clientEntries, clientDependencies } = analyzePage(pageContext);
31
27
  const passToClient = [];
32
28
  const errMsgSuffix = ' should be an array of strings.';
29
+ const isV1Design = !!pageContext._pageConfig;
33
30
  if (!isV1Design) {
34
- configPublicPageLazy.exportsAll.passToClient?.forEach((e) => {
31
+ pageContext.exportsAll.passToClient?.forEach((e) => {
35
32
  assertUsage(hasProp(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsgSuffix}`);
36
33
  passToClient.push(...e.exportValue);
37
34
  });
38
35
  }
39
36
  else {
40
- configPublicPageLazy.from.configsCumulative.passToClient?.values.forEach((v) => {
37
+ pageContext.from.configsCumulative.passToClient?.values.forEach((v) => {
41
38
  const { value, definedAt } = v;
42
39
  const errMsg = `+passToClient value defined at ${definedAt}${errMsgSuffix}`;
43
40
  //*/ TO-DO/next-major-release: remove the passToClient once setting from the public API
@@ -57,16 +54,14 @@ async function loadPageConfigsLazyServerSide(pageContext) {
57
54
  passToClient.push(...valS);
58
55
  });
59
56
  }
60
- const pageContextAddendum = {};
61
- objectAssign(pageContextAddendum, configPublicPageLazy);
62
- objectAssign(pageContextAddendum, {
63
- Page: configPublicPageLazy.exports.Page,
57
+ objectAssign(pageContext, await resolvePageContextCspNone(pageContext));
58
+ objectAssign(pageContext, {
59
+ Page: pageContext.exports.Page,
64
60
  _isHtmlOnly: isHtmlOnly,
65
61
  _passToClient: passToClient,
66
- _pageFilePathsLoaded: pageFilesLoaded.map((p) => p.filePath),
67
- headersResponse: resolveHeadersResponse(pageContext, pageContextAddendum),
62
+ headersResponse: await resolveHeadersResponse(pageContext),
68
63
  });
69
- objectAssign(pageContextAddendum, {
64
+ objectAssign(pageContext, {
70
65
  __getPageAssets: async () => {
71
66
  if ('_pageAssets' in pageContext) {
72
67
  return pageContext._pageAssets;
@@ -79,14 +74,14 @@ async function loadPageConfigsLazyServerSide(pageContext) {
79
74
  },
80
75
  });
81
76
  // TO-DO/next-major-release: remove
82
- Object.assign(pageContextAddendum, {
77
+ Object.assign(pageContext, {
83
78
  _getPageAssets: async () => {
84
79
  assertWarning(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
85
80
  onlyOnce: true,
86
81
  showStackTrace: true,
87
82
  });
88
83
  const pageAssetsOldFormat = [];
89
- (await pageContextAddendum.__getPageAssets()).forEach((p) => {
84
+ (await pageContext.__getPageAssets()).forEach((p) => {
90
85
  if (p.assetType === 'script' && p.isEntry) {
91
86
  pageAssetsOldFormat.push({
92
87
  src: p.src,
@@ -105,43 +100,55 @@ async function loadPageConfigsLazyServerSide(pageContext) {
105
100
  return pageAssetsOldFormat;
106
101
  },
107
102
  });
108
- debugPageFiles({
109
- pageContext,
110
- isHtmlOnly,
111
- isClientRouting,
112
- pageFilesLoaded,
113
- pageFilesClientSide,
114
- pageFilesServerSide,
115
- clientEntries,
116
- clientDependencies,
117
- });
118
- return pageContextAddendum;
103
+ return pageContext;
104
+ }
105
+ async function loadPageUserFiles(pageContext) {
106
+ const [{ configPublicPageLazy }] = await Promise.all([
107
+ loadPageUserFiles_v1Design(pageContext),
108
+ analyzePageClientSideInit(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
109
+ sharedPageFilesAlreadyLoaded: true,
110
+ }),
111
+ ]);
112
+ objectAssign(pageContext, configPublicPageLazy);
113
+ return pageContext;
119
114
  }
120
- async function loadPageConfigFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
121
- const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
122
- const pageConfigLoaded = !pageConfig ? null : await loadConfigValues(pageConfig, isDev);
115
+ async function loadPageUserFiles_v1Design(pageContext) {
116
+ const pageFilesServerSide = getPageFilesServerSide(pageContext._pageFilesAll, pageContext.pageId);
117
+ const isDev = !pageContext._globalContext._isProduction;
118
+ const pageConfigLoaded = !pageContext._pageConfig
119
+ ? null
120
+ : await loadAndParseVirtualFilePageEntry(pageContext._pageConfig, isDev);
123
121
  await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
124
- const configPublicPageLazy = resolveVikeConfigPublicPageLazy(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
122
+ const configPublicPageLazy = resolveVikeConfigPublicPageLazyLoaded(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
125
123
  return {
126
124
  configPublicPageLazy,
127
125
  pageFilesLoaded: pageFilesServerSide,
128
126
  };
129
127
  }
130
- function resolveHeadersResponse(pageContext, pageContextAddendum) {
131
- const headersResponse = mergeHeaders(pageContextAddendum.config.headersResponse);
128
+ // TODO/now: move all response headers code to headersResponse.ts
129
+ async function resolveHeadersResponse(pageContext) {
130
+ const headersResponse = await mergeHeaders(pageContext);
132
131
  if (!headersResponse.get('Cache-Control')) {
133
132
  const cacheControl = getCacheControl(pageContext.pageId, pageContext._globalContext._pageConfigs);
134
133
  if (cacheControl)
135
134
  headersResponse.set('Cache-Control', cacheControl);
136
135
  }
136
+ addCspHeader(pageContext, headersResponse);
137
137
  return headersResponse;
138
138
  }
139
- function mergeHeaders(headersList = []) {
139
+ async function mergeHeaders(pageContext) {
140
140
  const headersMerged = new Headers();
141
- headersList.forEach((headers) => {
142
- new Headers(headers).forEach((value, key) => {
141
+ await Promise.all((pageContext.config.headersResponse ?? []).map(async (headers) => {
142
+ let headersInit;
143
+ if (isCallable(headers)) {
144
+ headersInit = await headers(pageContext);
145
+ }
146
+ else {
147
+ headersInit = headers;
148
+ }
149
+ new Headers(headersInit).forEach((value, key) => {
143
150
  headersMerged.append(key, value);
144
151
  });
145
- });
152
+ }));
146
153
  return headersMerged;
147
154
  }
@@ -1,10 +1,10 @@
1
1
  export { preparePageContextForPublicUsageServer };
2
2
  export type { PageContextForPublicUsageServer };
3
3
  import type { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
4
- import type { VikeConfigPublicPageLazy } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
+ import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
5
5
  import type { PageContextInternalServer } from '../../../types/PageContext.js';
6
6
  import type { GlobalContextServerInternal } from '../globalContext.js';
7
- type PageContextForPublicUsageServer = PageContextInternalServer & VikeConfigPublicPageLazy & {
7
+ type PageContextForPublicUsageServer = PageContextInternalServer & VikeConfigPublicPageLazyLoaded & {
8
8
  urlOriginal: string;
9
9
  /** @deprecated */
10
10
  url: string;
@@ -1,4 +1,4 @@
1
- export { renderPageAlreadyRouted };
1
+ export { renderPageAfterRoute };
2
2
  export { prerenderPage };
3
3
  export type { PageContextAfterRender };
4
4
  import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
@@ -10,7 +10,7 @@ type PageContextAfterRender = {
10
10
  httpResponse: HttpResponse;
11
11
  errorWhileRendering: null | Error;
12
12
  };
13
- declare function renderPageAlreadyRouted<PageContext extends {
13
+ declare function renderPageAfterRoute<PageContext extends {
14
14
  pageId: string;
15
15
  _pageContextAlreadyProvidedByOnPrerenderHook?: true;
16
16
  is404: null | boolean;
@@ -42,7 +42,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
42
42
  _globalContext: {
43
43
  isGlobalContext: true;
44
44
  _isOriginalObject: true;
45
- _virtualFileExports: unknown;
45
+ _virtualFileExportsGlobalEntry: unknown;
46
46
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
47
47
  _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
48
48
  _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
@@ -55,7 +55,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
55
55
  };
56
56
  config: import("../../../types/index.js").ConfigResolved;
57
57
  pages: {
58
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
58
+ [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
59
59
  };
60
60
  } & (({
61
61
  _isProduction: false;
@@ -118,11 +118,21 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
118
118
  url: string;
119
119
  } & {
120
120
  headers: Record<string, string> | null;
121
- } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
121
+ } & import("../../../shared/route/index.js").PageContextAfterRoute & {
122
+ is404: boolean | null;
123
+ pageId: string;
124
+ } & {
125
+ _pageConfig: import("../../../types/PageConfig.js").PageConfigRuntime | null;
126
+ } & {
127
+ _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
128
+ } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazyLoaded & {
129
+ _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
130
+ } & {
131
+ cspNonce: string;
132
+ } & {
122
133
  Page: unknown;
123
134
  _isHtmlOnly: boolean;
124
135
  _passToClient: import("../html/serializeContext.js").PassToClient;
125
- _pageFilePathsLoaded: string[];
126
136
  headersResponse: Headers;
127
137
  } & {
128
138
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
@@ -153,7 +163,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
153
163
  _globalContext: {
154
164
  isGlobalContext: true;
155
165
  _isOriginalObject: true;
156
- _virtualFileExports: unknown;
166
+ _virtualFileExportsGlobalEntry: unknown;
157
167
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
158
168
  _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
159
169
  _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
@@ -166,7 +176,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
166
176
  };
167
177
  config: import("../../../types/index.js").ConfigResolved;
168
178
  pages: {
169
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
179
+ [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
170
180
  };
171
181
  } & (({
172
182
  _isProduction: false;
@@ -229,11 +239,21 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
229
239
  url: string;
230
240
  } & {
231
241
  headers: Record<string, string> | null;
232
- } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
242
+ } & import("../../../shared/route/index.js").PageContextAfterRoute & {
243
+ is404: boolean | null;
244
+ pageId: string;
245
+ } & {
246
+ _pageConfig: import("../../../types/PageConfig.js").PageConfigRuntime | null;
247
+ } & {
248
+ _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
249
+ } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazyLoaded & {
250
+ _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
251
+ } & {
252
+ cspNonce: string;
253
+ } & {
233
254
  Page: unknown;
234
255
  _isHtmlOnly: boolean;
235
256
  _passToClient: import("../html/serializeContext.js").PassToClient;
236
- _pageFilePathsLoaded: string[];
237
257
  headersResponse: Headers;
238
258
  } & {
239
259
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
@@ -1,11 +1,11 @@
1
- export { renderPageAlreadyRouted };
1
+ export { renderPageAfterRoute };
2
2
  export { prerenderPage };
3
3
  import { getErrorPageId } from '../../../shared/error-page.js';
4
4
  import { getHtmlString } from '../html/renderHtml.js';
5
- import { assert, assertUsage, augmentType, hasProp, objectAssign } from '../utils.js';
5
+ import { assert, assertUsage, updateType, hasProp, objectAssign } from '../utils.js';
6
6
  import { getPageContextClientSerialized } from '../html/serializeContext.js';
7
7
  import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
8
- import { loadPageConfigsLazyServerSideAndExecHook, } from './loadPageConfigsLazyServerSide.js';
8
+ import { loadPageConfigsLazyServerSide, } from './loadPageConfigsLazyServerSide.js';
9
9
  import { execHookOnRenderHtml } from './execHookOnRenderHtml.js';
10
10
  import { execHookDataAndOnBeforeRender } from './execHookDataAndOnBeforeRender.js';
11
11
  import { logRuntimeError } from '../loggerRuntime.js';
@@ -14,8 +14,7 @@ import { preparePageContextForPublicUsageServer } from './preparePageContextForP
14
14
  import { execHookGuard } from '../../../shared/route/execHookGuard.js';
15
15
  import pc from '@brillout/picocolors';
16
16
  import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
17
- // TODO/now: rename?
18
- async function renderPageAlreadyRouted(pageContext) {
17
+ async function renderPageAfterRoute(pageContext) {
19
18
  // pageContext.pageId can either be the:
20
19
  // - ID of the page matching the routing, or the
21
20
  // - ID of the error page `_error.page.js`.
@@ -24,7 +23,7 @@ async function renderPageAlreadyRouted(pageContext) {
24
23
  assert(isError ===
25
24
  (pageContext.pageId ===
26
25
  getErrorPageId(pageContext._globalContext._pageFilesAll, pageContext._globalContext._pageConfigs)));
27
- augmentType(pageContext, await loadPageConfigsLazyServerSideAndExecHook(pageContext));
26
+ updateType(pageContext, await loadPageConfigsLazyServerSide(pageContext));
28
27
  if (!isError) {
29
28
  await execHookGuard(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
30
29
  }
@@ -6,6 +6,12 @@ import { type GlobalContextServerInternal } from './globalContext.js';
6
6
  import { type HttpResponse } from './renderPage/createHttpResponse.js';
7
7
  import type { PageContextServer } from '../../types/index.js';
8
8
  import type { PageContextInternalServer } from '../../types/PageContext.js';
9
+ declare const globalObject: {
10
+ httpRequestsCount: number;
11
+ asyncHookWrapper: <PageContext>(_httpRequestId: number, ret: () => Promise<PageContext>) => Promise<{
12
+ pageContextReturn: Awaited<PageContext>;
13
+ }>;
14
+ };
9
15
  type PageContextInit = Pick<PageContextInternalServer, 'urlOriginal' | 'headersOriginal'> & {
10
16
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
11
17
  /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
@@ -14,10 +20,7 @@ type PageContextBegin = ReturnType<typeof getPageContextBegin>;
14
20
  declare function renderPage<PageContextUserAdded extends {}, PageContextInitUser extends PageContextInit>(pageContextInit: PageContextInitUser): Promise<PageContextInitUser & {
15
21
  httpResponse: HttpResponse;
16
22
  } & Partial<PageContextServer & PageContextUserAdded>>;
17
- declare let asyncHookWrapper: <PageContext>(_httpRequestId: number, ret: () => Promise<PageContext>) => Promise<{
18
- pageContextReturn: Awaited<PageContext>;
19
- }>;
20
- declare function renderPage_addAsyncHookwrapper(wrapper: typeof asyncHookWrapper): void;
23
+ declare function renderPage_addAsyncHookwrapper(wrapper: typeof globalObject.asyncHookWrapper): void;
21
24
  declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, httpRequestId: number): {
22
25
  _isOriginalObject: true;
23
26
  isPageContext: true;
@@ -31,7 +34,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
31
34
  _globalContext: {
32
35
  isGlobalContext: true;
33
36
  _isOriginalObject: true;
34
- _virtualFileExports: unknown;
37
+ _virtualFileExportsGlobalEntry: unknown;
35
38
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
36
39
  _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
37
40
  _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
@@ -44,7 +47,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
44
47
  };
45
48
  config: import("../../types/index.js").ConfigResolved;
46
49
  pages: {
47
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
50
+ [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
48
51
  };
49
52
  } & (({
50
53
  _isProduction: false;
@@ -1,9 +1,9 @@
1
1
  export { renderPage };
2
2
  export { renderPage_addAsyncHookwrapper };
3
- import { renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
3
+ import { renderPageAfterRoute } from './renderPage/renderPageAfterRoute.js';
4
4
  import { createPageContextServerSide, createPageContextServerSideWithoutGlobalContext, } from './renderPage/createPageContextServerSide.js';
5
5
  import { route } from '../../shared/route/index.js';
6
- import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, isUri, getUrlPretty, augmentType, } from './utils.js';
6
+ import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, isUri, getUrlPretty, updateType, } from './utils.js';
7
7
  import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled, } from '../../shared/route/abort.js';
8
8
  import { getGlobalContextServerInternal, initGlobalContext_renderPage, } from './globalContext.js';
9
9
  import { handlePageContextRequestUrl } from './renderPage/handlePageContextRequestUrl.js';
@@ -16,10 +16,13 @@ import pc from '@brillout/picocolors';
16
16
  import { getPageContextClientSerializedAbort, getPageContextClientSerialized } from './html/serializeContext.js';
17
17
  import { getErrorPageId } from '../../shared/error-page.js';
18
18
  import { handleErrorWithoutErrorPage } from './renderPage/handleErrorWithoutErrorPage.js';
19
- import { loadPageConfigsLazyServerSideAndExecHook } from './renderPage/loadPageConfigsLazyServerSide.js';
19
+ import { loadPageConfigsLazyServerSide } from './renderPage/loadPageConfigsLazyServerSide.js';
20
20
  import { resolveRedirects } from './renderPage/resolveRedirects.js';
21
21
  import { getVikeConfigError } from '../shared/getVikeConfigError.js';
22
- const globalObject = getGlobalObject('runtime/renderPage.ts', { httpRequestsCount: 0 });
22
+ const globalObject = getGlobalObject('runtime/renderPage.ts', {
23
+ httpRequestsCount: 0,
24
+ asyncHookWrapper: getFallbackAsyncHookWrapper(),
25
+ });
23
26
  // `renderPage()` calls `renderPageNominal()` while ensuring that errors are `console.error(err)` instead of `throw err`, so that Vike never triggers a server shut down. (Throwing an error in an Express.js middleware shuts down the whole Express.js server.)
24
27
  async function renderPage(pageContextInit) {
25
28
  assertArguments(...arguments);
@@ -32,19 +35,21 @@ async function renderPage(pageContextInit) {
32
35
  const httpRequestId = getRequestId();
33
36
  const urlOriginalPretty = getUrlPretty(pageContextInit.urlOriginal);
34
37
  logHttpRequest(urlOriginalPretty, httpRequestId);
35
- const { pageContextReturn } = await asyncHookWrapper(httpRequestId, () => renderPagePrepare(pageContextInit, httpRequestId));
38
+ const { pageContextReturn } = await globalObject.asyncHookWrapper(httpRequestId, () => renderPagePrepare(pageContextInit, httpRequestId));
36
39
  logHttpResponse(urlOriginalPretty, httpRequestId, pageContextReturn);
37
40
  checkType(pageContextReturn);
38
41
  assert(pageContextReturn.httpResponse);
39
42
  return pageContextReturn;
40
43
  }
41
- // Fallback wrapper if node:async_hooks isn't available
42
- let asyncHookWrapper = async (_httpRequestId, ret) => ({
43
- pageContextReturn: await ret(),
44
- });
45
44
  // Add node:async_hooks wrapper
46
45
  function renderPage_addAsyncHookwrapper(wrapper) {
47
- asyncHookWrapper = wrapper;
46
+ globalObject.asyncHookWrapper = wrapper;
47
+ }
48
+ // Fallback wrapper if node:async_hooks isn't available
49
+ function getFallbackAsyncHookWrapper() {
50
+ return async (_httpRequestId, ret) => ({
51
+ pageContextReturn: await ret(),
52
+ });
48
53
  }
49
54
  async function renderPagePrepare(pageContextInit, httpRequestId) {
50
55
  // Invalid config
@@ -148,7 +153,7 @@ async function renderPageAlreadyPrepared(pageContextBegin, globalContext, httpRe
148
153
  async function renderPageOnError(errNominalPage, pageContextBegin, pageContextNominalPageBegin, globalContext, httpRequestId, pageContextsFromRewrite) {
149
154
  assert(pageContextNominalPageBegin);
150
155
  assert(hasProp(pageContextNominalPageBegin, 'urlOriginal', 'string'));
151
- const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPageBegin);
156
+ const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage);
152
157
  // Handle `throw redirect()` and `throw render()` while rendering nominal page
153
158
  if (isAbortError(errNominalPage)) {
154
159
  const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
@@ -173,7 +178,7 @@ async function renderPageOnError(errNominalPage, pageContextBegin, pageContextNo
173
178
  }
174
179
  let pageContextErrorPage;
175
180
  try {
176
- pageContextErrorPage = await renderPageAlreadyRouted(pageContextErrorPageInit);
181
+ pageContextErrorPage = await renderPageAfterRoute(pageContextErrorPageInit);
177
182
  }
178
183
  catch (errErrorPage) {
179
184
  // Handle `throw redirect()` and `throw render()` while rendering error page
@@ -288,11 +293,11 @@ async function renderPageNominal(pageContext) {
288
293
  assert(hasProp(pageContext, 'pageId', 'string'));
289
294
  assert(pageContext.errorWhileRendering === null);
290
295
  // Render
291
- const pageContextAfterRender = await renderPageAlreadyRouted(pageContext);
296
+ const pageContextAfterRender = await renderPageAfterRoute(pageContext);
292
297
  assert(pageContext === pageContextAfterRender);
293
298
  return pageContextAfterRender;
294
299
  }
295
- async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPagePartial) {
300
+ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage) {
296
301
  const pageContext = forkPageContext(pageContextBegin);
297
302
  assert(errNominalPage);
298
303
  objectAssign(pageContext, {
@@ -300,9 +305,6 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
300
305
  errorWhileRendering: errNominalPage,
301
306
  routeParams: {},
302
307
  });
303
- objectAssign(pageContext, {
304
- _debugRouteMatches: pageContextNominalPagePartial._debugRouteMatches || 'ROUTING_ERROR',
305
- });
306
308
  assert(pageContext.errorWhileRendering);
307
309
  return pageContext;
308
310
  }
@@ -418,7 +420,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
418
420
  objectAssign(pageContext, { pageId: errorPageId });
419
421
  objectAssign(pageContext, pageContextAbort);
420
422
  objectAssign(pageContext, pageContextErrorPageInit, true);
421
- augmentType(pageContext, await loadPageConfigsLazyServerSideAndExecHook(pageContext));
423
+ updateType(pageContext, await loadPageConfigsLazyServerSide(pageContext));
422
424
  // We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
423
425
  pageContextSerialized = getPageContextClientSerialized(pageContext, false);
424
426
  }
@@ -44,7 +44,7 @@ export * from '../../utils/isHtml.js';
44
44
  export * from '../../utils/warnIfErrorIsNotObject.js';
45
45
  export * from '../../utils/virtualFileId.js';
46
46
  export * from '../../utils/stripAnsi.js';
47
- export * from '../../utils/getTerminWidth.js';
47
+ export * from '../../utils/getTerminalWidth.js';
48
48
  export * from '../../utils/truncateString.js';
49
49
  export * from '../../utils/formatHintLog.js';
50
50
  export * from '../../utils/joinEnglish.js';
@@ -55,8 +55,9 @@ export * from '../../utils/isVikeReactApp.js';
55
55
  export * from '../../utils/getPropAccessNotation.js';
56
56
  export * from '../../utils/PROJECT_VERSION.js';
57
57
  export * from '../../utils/genPromise.js';
58
- export * from '../../utils/augmentType.js';
58
+ export * from '../../utils/updateType.js';
59
59
  export * from '../../utils/changeEnumerable.js';
60
60
  export * from '../../utils/getViteRPC.js';
61
61
  export * from '../../utils/isRunnableDevEnvironment.js';
62
62
  export * from '../../utils/assertIsNotBrowser.js';
63
+ export * from '../../utils/isNonRunnableDev.js';
@@ -48,7 +48,7 @@ export * from '../../utils/isHtml.js';
48
48
  export * from '../../utils/warnIfErrorIsNotObject.js';
49
49
  export * from '../../utils/virtualFileId.js';
50
50
  export * from '../../utils/stripAnsi.js';
51
- export * from '../../utils/getTerminWidth.js';
51
+ export * from '../../utils/getTerminalWidth.js';
52
52
  export * from '../../utils/truncateString.js';
53
53
  export * from '../../utils/formatHintLog.js';
54
54
  export * from '../../utils/joinEnglish.js';
@@ -59,8 +59,9 @@ export * from '../../utils/isVikeReactApp.js';
59
59
  export * from '../../utils/getPropAccessNotation.js';
60
60
  export * from '../../utils/PROJECT_VERSION.js';
61
61
  export * from '../../utils/genPromise.js';
62
- export * from '../../utils/augmentType.js';
62
+ export * from '../../utils/updateType.js';
63
63
  export * from '../../utils/changeEnumerable.js';
64
64
  export * from '../../utils/getViteRPC.js';
65
65
  export * from '../../utils/isRunnableDevEnvironment.js';
66
66
  export * from '../../utils/assertIsNotBrowser.js';
67
+ export * from '../../utils/isNonRunnableDev.js';
@@ -1,9 +1,9 @@
1
1
  export { createDevMiddleware };
2
2
  import type { ResolvedConfig, Connect, ViteDevServer } from 'vite';
3
- import type { APIOptions } from '../api/types.js';
3
+ import type { ApiOptions } from '../api/types.js';
4
4
  declare function createDevMiddleware(options?: {
5
5
  root?: string;
6
- } & APIOptions): Promise<{
6
+ } & ApiOptions): Promise<{
7
7
  devMiddleware: Connect.Server;
8
8
  viteServer: ViteDevServer;
9
9
  viteConfig: ResolvedConfig;
@@ -1,14 +1,12 @@
1
1
  export { createDevMiddleware };
2
2
  import { createServer } from 'vite';
3
3
  import { prepareViteApiCall } from '../api/prepareViteApiCall.js';
4
- import { setGlobalContext_isProduction } from '../runtime/globalContext.js';
5
4
  /*
6
5
  * Create server middleware for development with HMR and lazy-transpiling.
7
6
  *
8
7
  * https://vike.dev/createDevMiddleware
9
8
  */
10
9
  async function createDevMiddleware(options = {}) {
11
- setGlobalContext_isProduction(false, true);
12
10
  const optionsMod = {
13
11
  ...options,
14
12
  viteConfig: {
@@ -0,0 +1,28 @@
1
+ export { parseVirtualFileId };
2
+ export { generateVirtualFileId };
3
+ export { virtualFileIdGlobalEntryServer };
4
+ export { virtualFileIdGlobalEntryClientSR };
5
+ export { virtualFileIdGlobalEntryClientCR };
6
+ declare const virtualFileIdGlobalEntryServer = "virtual:vike:global-entry:server";
7
+ declare const virtualFileIdGlobalEntryClientSR = "virtual:vike:global-entry:client:server-routing";
8
+ declare const virtualFileIdGlobalEntryClientCR = "virtual:vike:global-entry:client:client-routing";
9
+ type VirtualFileIdEntryParsed = {
10
+ type: 'global-entry';
11
+ isForClientSide: boolean;
12
+ isClientRouting: boolean;
13
+ } | {
14
+ type: 'page-entry';
15
+ isForClientSide: boolean;
16
+ pageId: string;
17
+ isExtractAssets: boolean;
18
+ };
19
+ declare function parseVirtualFileId(id: string): false | VirtualFileIdEntryParsed;
20
+ declare function generateVirtualFileId(args: {
21
+ type: 'global-entry';
22
+ isForClientSide: boolean;
23
+ isClientRouting: boolean;
24
+ } | {
25
+ type: 'page-entry';
26
+ pageId: string;
27
+ isForClientSide: boolean;
28
+ }): string;