vike 0.4.237 → 0.4.238-commit-5762291

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 +46 -46
  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 +48 -48
  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 +11 -7
  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
@@ -58,17 +58,7 @@ function getRenderHook(pageContext) {
58
58
  }
59
59
  if (!hookFound) {
60
60
  const hookName = pageContext._globalContext._pageConfigs.length > 0 ? 'onRenderHtml' : 'render';
61
- (0, utils_js_1.assertUsage)(false, [
62
- `No ${hookName}() hook found, see https://vike.dev/${hookName}`,
63
- /*
64
- 'See https://vike.dev/render-modes for more information.',
65
- [
66
- // 'Loaded config files (none of them define the onRenderHtml() hook):',
67
- 'Loaded server-side page files (none of them `export { render }`):',
68
- ...pageContext._pageFilePathsLoaded.map((f, i) => ` (${i + 1}): ${f}`)
69
- ].join('\n')
70
- */
71
- ].join(' '));
61
+ (0, utils_js_1.assertUsage)(false, `No ${hookName}() hook found, see https://vike.dev/${hookName}`);
72
62
  }
73
63
  return hookFound;
74
64
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getManifestEntry = getManifestEntry;
4
4
  const utils_js_1 = require("../../utils.js");
5
- const virtualFilePageConfigLazy_js_1 = require("../../../shared/virtualFiles/virtualFilePageConfigLazy.js");
5
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
6
6
  const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
7
7
  function getManifestEntry(id, assetsManifest) {
8
8
  const debugInfo = getDebugInfo(id, assetsManifest);
@@ -14,7 +14,8 @@ function getManifestEntry(id, assetsManifest) {
14
14
  return { manifestEntry, manifestKey };
15
15
  }
16
16
  // Page code importer
17
- if ((0, virtualFilePageConfigLazy_js_1.isVirtualFileIdPageConfigLazy)(id)) {
17
+ const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
18
+ if (virtualFile && virtualFile.type === 'page-entry') {
18
19
  {
19
20
  const manifestKey = id;
20
21
  const manifestEntry = assetsManifest[manifestKey];
@@ -24,9 +25,9 @@ function getManifestEntry(id, assetsManifest) {
24
25
  }
25
26
  // Workaround for what seems to be a Vite bug when process.cwd() !== config.root
26
27
  // - Manifest key is:
27
- // ../../virtual:vike:pageConfigLazy:client:/pages/index
28
+ // ../../virtual:vike:page-entry:client:/pages/index
28
29
  // But it should be this instead:
29
- // virtual:vike:pageConfigLazy:client:/pages/index
30
+ // virtual:vike:page-entry:client:/pages/index
30
31
  // - This workaround was implemented to support Vitest running /tests/*
31
32
  // - I don't know whether end users actually need this workaround? (I'm not sure what the bug actually is.)
32
33
  const manifestKeyEnd = id;
@@ -1,15 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retrieveAssetsDev = retrieveAssetsDev;
3
+ exports.retrievePageAssetsDev = retrievePageAssetsDev;
4
+ exports.setGetClientEntrySrcDev = setGetClientEntrySrcDev;
4
5
  const utils_js_1 = require("../../utils.js");
5
- const virtualFileEntry_js_1 = require("../../../shared/virtualFiles/virtualFileEntry.js");
6
- async function retrieveAssetsDev(clientDependencies, viteDevServer) {
6
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
7
+ const globalObject = (0, utils_js_1.getGlobalObject)('getPageAssets/retrievePageAssetsDev.ts', {
8
+ // We cannot define getClientEntrySrcDev() in this file because it depends on utils/requireResolve.ts which isn't available in production
9
+ getClientEntrySrcDev: null,
10
+ });
11
+ async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
12
+ const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.getClientEntrySrcDev(clientEntry, viteDevServer));
13
+ const assetUrls = await getAssetUrls(clientDependencies, viteDevServer);
14
+ return { clientEntriesSrc, assetUrls };
15
+ }
16
+ function setGetClientEntrySrcDev(getClientEntrySrcDev) {
17
+ globalObject.getClientEntrySrcDev = getClientEntrySrcDev;
18
+ }
19
+ async function getAssetUrls(clientDependencies, viteDevServer) {
7
20
  const assetUrls = new Set();
8
21
  await Promise.all(clientDependencies.map(async ({ id }) => {
9
22
  if (id.startsWith('@@vike'))
10
23
  return; // vike doesn't have any CSS
11
24
  (0, utils_js_1.assert)(id);
12
- (0, utils_js_1.assert)(!(0, virtualFileEntry_js_1.isVirtualFileIdEntry)(id));
25
+ const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
26
+ (0, utils_js_1.assert)(!virtualFile || virtualFile.type !== 'global-entry');
13
27
  const { moduleGraph } = viteDevServer;
14
28
  const [_, graphId] = await moduleGraph.resolveUrl(id);
15
29
  (0, utils_js_1.assert)(graphId, { id });
@@ -36,8 +50,9 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
36
50
  if (visitedModules.has(mod.url))
37
51
  return;
38
52
  visitedModules.add(mod.url);
39
- if ((0, virtualFileEntry_js_1.isVirtualFileIdEntry)(mod.id || mod.url))
40
- return; // virtual:vike:entry:server dependency list includes all pages
53
+ const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(mod.id || mod.url);
54
+ if (virtualFile && virtualFile.type === 'global-entry')
55
+ return; // virtual:vike:global-entry:server dependency list includes all pages
41
56
  if (isStyle(mod) && (!importer || !isStyle(importer))) {
42
57
  if (mod.url.startsWith('/')) {
43
58
  styleUrls.add(mod.url);
@@ -1,10 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retrieveAssetsProd = retrieveAssetsProd;
3
+ exports.retrievePageAssetsProd = retrievePageAssetsProd;
4
+ exports.resolveIncludeAssetsImportedByServer = resolveIncludeAssetsImportedByServer;
4
5
  const utils_js_1 = require("../../utils.js");
5
6
  const getManifestEntry_js_1 = require("./getManifestEntry.js");
6
7
  const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
7
- function retrieveAssetsProd(clientDependencies, assetsManifest, includeAssetsImportedByServer) {
8
+ function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, config) {
9
+ const clientEntriesSrc = clientEntries.map((clientEntry) => getClientEntrySrcProd(clientEntry, assetsManifest));
10
+ const assetUrls = getAssetsUrl(clientDependencies, assetsManifest, config);
11
+ return { clientEntriesSrc, assetUrls };
12
+ }
13
+ function getClientEntrySrcProd(clientEntry, assetsManifest) {
14
+ const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, assetsManifest);
15
+ (0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
16
+ let { file } = manifestEntry;
17
+ (0, utils_js_1.assert)(!file.startsWith('/'));
18
+ return '/' + file;
19
+ }
20
+ function getAssetsUrl(clientDependencies, assetsManifest, config) {
21
+ const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(config);
8
22
  let assetUrls = new Set();
9
23
  (0, utils_js_1.assert)(assetsManifest);
10
24
  const visistedAssets = new Set();
@@ -58,3 +72,6 @@ function collectSingleStyle(assetUrls, assetsManifest) {
58
72
  assetUrls.add(`/${style.file}`);
59
73
  }
60
74
  }
75
+ function resolveIncludeAssetsImportedByServer(config) {
76
+ return config.includeAssetsImportedByServer ?? true;
77
+ }
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPageAssets = getPageAssets;
4
- exports.setResolveClientEntriesDev = setResolveClientEntriesDev;
5
- exports.resolveIncludeAssetsImportedByServer = resolveIncludeAssetsImportedByServer;
6
- const utils_js_1 = require("../utils.js");
7
- const retrieveAssetsDev_js_1 = require("./getPageAssets/retrieveAssetsDev.js");
8
- const retrieveAssetsProd_js_1 = require("./getPageAssets/retrieveAssetsProd.js");
4
+ const retrievePageAssetsProd_js_1 = require("./getPageAssets/retrievePageAssetsProd.js");
5
+ const retrievePageAssetsDev_js_1 = require("./getPageAssets/retrievePageAssetsDev.js");
9
6
  const inferMediaType_js_1 = require("./inferMediaType.js");
10
- const getManifestEntry_js_1 = require("./getPageAssets/getManifestEntry.js");
11
7
  const sortPageAssetsForEarlyHintsHeader_js_1 = require("./getPageAssets/sortPageAssetsForEarlyHintsHeader.js");
12
- const globalObject = (0, utils_js_1.getGlobalObject)('renderPage/getPageAssets.ts', {
13
- resolveClientEntriesDev: null,
14
- });
8
+ const utils_js_1 = require("../utils.js");
15
9
  async function getPageAssets(pageContext, clientDependencies, clientEntries) {
16
10
  const globalContext = pageContext._globalContext;
17
11
  const { _isProduction: isProduction } = globalContext;
@@ -19,8 +13,8 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
19
13
  const { assetUrls, clientEntriesSrc } = isDev
20
14
  ? !globalContext._viteDevServer
21
15
  ? await (0, utils_js_1.getViteRPC)().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
22
- : await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
23
- : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, resolveIncludeAssetsImportedByServer(globalContext.config));
16
+ : await (0, retrievePageAssetsDev_js_1.retrievePageAssetsDev)(globalContext._viteDevServer, clientDependencies, clientEntries)
17
+ : (0, retrievePageAssetsProd_js_1.retrievePageAssetsProd)(globalContext.assetsManifest, clientDependencies, clientEntries, globalContext.config);
24
18
  let pageAssets = [];
25
19
  (0, utils_js_1.unique)([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
26
20
  const { mediaType = null, assetType = null } = (0, inferMediaType_js_1.inferMediaType)(src) || {};
@@ -54,26 +48,3 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
54
48
  await (0, sortPageAssetsForEarlyHintsHeader_js_1.sortPageAssetsForEarlyHintsHeader)(pageAssets, isProduction);
55
49
  return pageAssets;
56
50
  }
57
- async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
58
- const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer));
59
- const assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
60
- return { clientEntriesSrc, assetUrls };
61
- }
62
- function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, includeAssetsImportedByServer) {
63
- const clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, assetsManifest));
64
- const assetUrls = (0, retrieveAssetsProd_js_1.retrieveAssetsProd)(clientDependencies, assetsManifest, resolveIncludeAssetsImportedByServer(includeAssetsImportedByServer));
65
- return { clientEntriesSrc, assetUrls };
66
- }
67
- function resolveClientEntriesProd(clientEntry, assetsManifest) {
68
- const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, assetsManifest);
69
- (0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
70
- let { file } = manifestEntry;
71
- (0, utils_js_1.assert)(!file.startsWith('/'));
72
- return '/' + file;
73
- }
74
- function setResolveClientEntriesDev(resolveClientEntriesDev) {
75
- globalObject.resolveClientEntriesDev = resolveClientEntriesDev;
76
- }
77
- function resolveIncludeAssetsImportedByServer(config) {
78
- return config.includeAssetsImportedByServer ?? true;
79
- }
@@ -1,45 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadPageConfigsLazyServerSideAndExecHook = loadPageConfigsLazyServerSideAndExecHook;
3
+ exports.loadPageConfigsLazyServerSide = loadPageConfigsLazyServerSide;
4
4
  const getPageFiles_js_1 = require("../../../shared/getPageFiles.js");
5
5
  const resolveVikeConfigPublic_js_1 = require("../../../shared/page-configs/resolveVikeConfigPublic.js");
6
6
  const analyzePageClientSide_js_1 = require("../../../shared/getPageFiles/analyzePageClientSide.js");
7
7
  const utils_js_1 = require("../utils.js");
8
8
  const getPageAssets_js_1 = require("./getPageAssets.js");
9
- const debugPageFiles_js_1 = require("./debugPageFiles.js");
10
9
  const findPageConfig_js_1 = require("../../../shared/page-configs/findPageConfig.js");
11
10
  const analyzePage_js_1 = require("./analyzePage.js");
12
- const loadConfigValues_js_1 = require("../../../shared/page-configs/loadConfigValues.js");
11
+ const loadAndParseVirtualFilePageEntry_js_1 = require("../../../shared/page-configs/loadAndParseVirtualFilePageEntry.js");
13
12
  const execHookServer_js_1 = require("./execHookServer.js");
14
13
  const getCacheControl_js_1 = require("./getCacheControl.js");
15
- async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
16
- const pageContextAddendum = await loadPageConfigsLazyServerSide(pageContext);
17
- (0, utils_js_1.objectAssign)(pageContext, pageContextAddendum);
14
+ const csp_js_1 = require("../csp.js");
15
+ async function loadPageConfigsLazyServerSide(pageContext) {
16
+ (0, utils_js_1.objectAssign)(pageContext, {
17
+ _pageConfig: (0, findPageConfig_js_1.findPageConfig)(pageContext._globalContext._pageConfigs, pageContext.pageId),
18
+ });
19
+ // Load the page's + files
20
+ (0, utils_js_1.updateType)(pageContext, await loadPageUserFiles(pageContext));
21
+ // Resolve new computed pageContext properties
22
+ (0, utils_js_1.updateType)(pageContext, await resolvePageContext(pageContext));
23
+ // Execute +onCreatePageContext
18
24
  await (0, execHookServer_js_1.execHookServer)('onCreatePageContext', pageContext);
19
25
  return pageContext;
20
26
  }
21
- // TODO/now: define new function resolveAfterLoad() ?
22
- async function loadPageConfigsLazyServerSide(pageContext) {
23
- const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
24
- const globalContext = pageContext._globalContext;
25
- const [{ pageFilesLoaded, configPublicPageLazy }] = await Promise.all([
26
- loadPageConfigFiles(pageContext._globalContext._pageFilesAll, pageConfig, globalContext._pageConfigGlobal, pageContext.pageId, !globalContext._isProduction),
27
- (0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
28
- sharedPageFilesAlreadyLoaded: true,
29
- }),
30
- ]);
31
- const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await (0, analyzePage_js_1.analyzePage)(pageContext._globalContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
32
- const isV1Design = !!pageConfig;
27
+ async function resolvePageContext(pageContext) {
28
+ const { isHtmlOnly, clientEntries, clientDependencies } = (0, analyzePage_js_1.analyzePage)(pageContext);
33
29
  const passToClient = [];
34
30
  const errMsgSuffix = ' should be an array of strings.';
31
+ const isV1Design = !!pageContext._pageConfig;
35
32
  if (!isV1Design) {
36
- configPublicPageLazy.exportsAll.passToClient?.forEach((e) => {
33
+ pageContext.exportsAll.passToClient?.forEach((e) => {
37
34
  (0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsgSuffix}`);
38
35
  passToClient.push(...e.exportValue);
39
36
  });
40
37
  }
41
38
  else {
42
- configPublicPageLazy.from.configsCumulative.passToClient?.values.forEach((v) => {
39
+ pageContext.from.configsCumulative.passToClient?.values.forEach((v) => {
43
40
  const { value, definedAt } = v;
44
41
  const errMsg = `+passToClient value defined at ${definedAt}${errMsgSuffix}`;
45
42
  //*/ TO-DO/next-major-release: remove the passToClient once setting from the public API
@@ -59,16 +56,14 @@ async function loadPageConfigsLazyServerSide(pageContext) {
59
56
  passToClient.push(...valS);
60
57
  });
61
58
  }
62
- const pageContextAddendum = {};
63
- (0, utils_js_1.objectAssign)(pageContextAddendum, configPublicPageLazy);
64
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
65
- Page: configPublicPageLazy.exports.Page,
59
+ (0, utils_js_1.objectAssign)(pageContext, await (0, csp_js_1.resolvePageContextCspNone)(pageContext));
60
+ (0, utils_js_1.objectAssign)(pageContext, {
61
+ Page: pageContext.exports.Page,
66
62
  _isHtmlOnly: isHtmlOnly,
67
63
  _passToClient: passToClient,
68
- _pageFilePathsLoaded: pageFilesLoaded.map((p) => p.filePath),
69
- headersResponse: resolveHeadersResponse(pageContext, pageContextAddendum),
64
+ headersResponse: resolveHeadersResponse(pageContext),
70
65
  });
71
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
66
+ (0, utils_js_1.objectAssign)(pageContext, {
72
67
  __getPageAssets: async () => {
73
68
  if ('_pageAssets' in pageContext) {
74
69
  return pageContext._pageAssets;
@@ -81,14 +76,14 @@ async function loadPageConfigsLazyServerSide(pageContext) {
81
76
  },
82
77
  });
83
78
  // TO-DO/next-major-release: remove
84
- Object.assign(pageContextAddendum, {
79
+ Object.assign(pageContext, {
85
80
  _getPageAssets: async () => {
86
81
  (0, utils_js_1.assertWarning)(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
87
82
  onlyOnce: true,
88
83
  showStackTrace: true,
89
84
  });
90
85
  const pageAssetsOldFormat = [];
91
- (await pageContextAddendum.__getPageAssets()).forEach((p) => {
86
+ (await pageContext.__getPageAssets()).forEach((p) => {
92
87
  if (p.assetType === 'script' && p.isEntry) {
93
88
  pageAssetsOldFormat.push({
94
89
  src: p.src,
@@ -107,35 +102,40 @@ async function loadPageConfigsLazyServerSide(pageContext) {
107
102
  return pageAssetsOldFormat;
108
103
  },
109
104
  });
110
- (0, debugPageFiles_js_1.debugPageFiles)({
111
- pageContext,
112
- isHtmlOnly,
113
- isClientRouting,
114
- pageFilesLoaded,
115
- pageFilesClientSide,
116
- pageFilesServerSide,
117
- clientEntries,
118
- clientDependencies,
119
- });
120
- return pageContextAddendum;
105
+ return pageContext;
106
+ }
107
+ async function loadPageUserFiles(pageContext) {
108
+ const [{ configPublicPageLazy }] = await Promise.all([
109
+ loadPageUserFiles_v1Design(pageContext),
110
+ (0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
111
+ sharedPageFilesAlreadyLoaded: true,
112
+ }),
113
+ ]);
114
+ (0, utils_js_1.objectAssign)(pageContext, configPublicPageLazy);
115
+ return pageContext;
121
116
  }
122
- async function loadPageConfigFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
123
- const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageFilesAll, pageId);
124
- const pageConfigLoaded = !pageConfig ? null : await (0, loadConfigValues_js_1.loadConfigValues)(pageConfig, isDev);
117
+ async function loadPageUserFiles_v1Design(pageContext) {
118
+ const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageContext._pageFilesAll, pageContext.pageId);
119
+ const isDev = !pageContext._globalContext._isProduction;
120
+ const pageConfigLoaded = !pageContext._pageConfig
121
+ ? null
122
+ : await (0, loadAndParseVirtualFilePageEntry_js_1.loadAndParseVirtualFilePageEntry)(pageContext._pageConfig, isDev);
125
123
  await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
126
- const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageLazy)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
124
+ const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageLazyLoaded)(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
127
125
  return {
128
126
  configPublicPageLazy,
129
127
  pageFilesLoaded: pageFilesServerSide,
130
128
  };
131
129
  }
132
- function resolveHeadersResponse(pageContext, pageContextAddendum) {
133
- const headersResponse = mergeHeaders(pageContextAddendum.config.headersResponse);
130
+ // TODO/now: move all response headers code to headersResponse.ts
131
+ function resolveHeadersResponse(pageContext) {
132
+ const headersResponse = mergeHeaders(pageContext.config.headersResponse);
134
133
  if (!headersResponse.get('Cache-Control')) {
135
134
  const cacheControl = (0, getCacheControl_js_1.getCacheControl)(pageContext.pageId, pageContext._globalContext._pageConfigs);
136
135
  if (cacheControl)
137
136
  headersResponse.set('Cache-Control', cacheControl);
138
137
  }
138
+ (0, csp_js_1.addCspHeader)(pageContext, headersResponse);
139
139
  return headersResponse;
140
140
  }
141
141
  function mergeHeaders(headersList = []) {
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderPageAlreadyRouted = renderPageAlreadyRouted;
6
+ exports.renderPageAfterRoute = renderPageAfterRoute;
7
7
  exports.prerenderPage = prerenderPage;
8
8
  const error_page_js_1 = require("../../../shared/error-page.js");
9
9
  const renderHtml_js_1 = require("../html/renderHtml.js");
@@ -19,8 +19,7 @@ const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContex
19
19
  const execHookGuard_js_1 = require("../../../shared/route/execHookGuard.js");
20
20
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
21
21
  const isServerSideError_js_1 = require("../../../shared/misc/isServerSideError.js");
22
- // TODO/now: rename?
23
- async function renderPageAlreadyRouted(pageContext) {
22
+ async function renderPageAfterRoute(pageContext) {
24
23
  // pageContext.pageId can either be the:
25
24
  // - ID of the page matching the routing, or the
26
25
  // - ID of the error page `_error.page.js`.
@@ -29,7 +28,7 @@ async function renderPageAlreadyRouted(pageContext) {
29
28
  (0, utils_js_1.assert)(isError ===
30
29
  (pageContext.pageId ===
31
30
  (0, error_page_js_1.getErrorPageId)(pageContext._globalContext._pageFilesAll, pageContext._globalContext._pageConfigs)));
32
- (0, utils_js_1.augmentType)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSideAndExecHook)(pageContext));
31
+ (0, utils_js_1.updateType)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSide)(pageContext));
33
32
  if (!isError) {
34
33
  await (0, execHookGuard_js_1.execHookGuard)(pageContext, (pageContext) => (0, preparePageContextForPublicUsageServer_js_1.preparePageContextForPublicUsageServer)(pageContext));
35
34
  }
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.renderPage = renderPage;
7
7
  exports.renderPage_addAsyncHookwrapper = renderPage_addAsyncHookwrapper;
8
- const renderPageAlreadyRouted_js_1 = require("./renderPage/renderPageAlreadyRouted.js");
8
+ const renderPageAfterRoute_js_1 = require("./renderPage/renderPageAfterRoute.js");
9
9
  const createPageContextServerSide_js_1 = require("./renderPage/createPageContextServerSide.js");
10
10
  const index_js_1 = require("../../shared/route/index.js");
11
11
  const utils_js_1 = require("./utils.js");
@@ -24,7 +24,10 @@ const handleErrorWithoutErrorPage_js_1 = require("./renderPage/handleErrorWithou
24
24
  const loadPageConfigsLazyServerSide_js_1 = require("./renderPage/loadPageConfigsLazyServerSide.js");
25
25
  const resolveRedirects_js_1 = require("./renderPage/resolveRedirects.js");
26
26
  const getVikeConfigError_js_1 = require("../shared/getVikeConfigError.js");
27
- const globalObject = (0, utils_js_1.getGlobalObject)('runtime/renderPage.ts', { httpRequestsCount: 0 });
27
+ const globalObject = (0, utils_js_1.getGlobalObject)('runtime/renderPage.ts', {
28
+ httpRequestsCount: 0,
29
+ asyncHookWrapper: getFallbackAsyncHookWrapper(),
30
+ });
28
31
  // `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.)
29
32
  async function renderPage(pageContextInit) {
30
33
  (0, assertArguments_js_1.assertArguments)(...arguments);
@@ -37,19 +40,21 @@ async function renderPage(pageContextInit) {
37
40
  const httpRequestId = getRequestId();
38
41
  const urlOriginalPretty = (0, utils_js_1.getUrlPretty)(pageContextInit.urlOriginal);
39
42
  logHttpRequest(urlOriginalPretty, httpRequestId);
40
- const { pageContextReturn } = await asyncHookWrapper(httpRequestId, () => renderPagePrepare(pageContextInit, httpRequestId));
43
+ const { pageContextReturn } = await globalObject.asyncHookWrapper(httpRequestId, () => renderPagePrepare(pageContextInit, httpRequestId));
41
44
  logHttpResponse(urlOriginalPretty, httpRequestId, pageContextReturn);
42
45
  (0, utils_js_1.checkType)(pageContextReturn);
43
46
  (0, utils_js_1.assert)(pageContextReturn.httpResponse);
44
47
  return pageContextReturn;
45
48
  }
46
- // Fallback wrapper if node:async_hooks isn't available
47
- let asyncHookWrapper = async (_httpRequestId, ret) => ({
48
- pageContextReturn: await ret(),
49
- });
50
49
  // Add node:async_hooks wrapper
51
50
  function renderPage_addAsyncHookwrapper(wrapper) {
52
- asyncHookWrapper = wrapper;
51
+ globalObject.asyncHookWrapper = wrapper;
52
+ }
53
+ // Fallback wrapper if node:async_hooks isn't available
54
+ function getFallbackAsyncHookWrapper() {
55
+ return async (_httpRequestId, ret) => ({
56
+ pageContextReturn: await ret(),
57
+ });
53
58
  }
54
59
  async function renderPagePrepare(pageContextInit, httpRequestId) {
55
60
  // Invalid config
@@ -153,7 +158,7 @@ async function renderPageAlreadyPrepared(pageContextBegin, globalContext, httpRe
153
158
  async function renderPageOnError(errNominalPage, pageContextBegin, pageContextNominalPageBegin, globalContext, httpRequestId, pageContextsFromRewrite) {
154
159
  (0, utils_js_1.assert)(pageContextNominalPageBegin);
155
160
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextNominalPageBegin, 'urlOriginal', 'string'));
156
- const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPageBegin);
161
+ const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextBegin, errNominalPage);
157
162
  // Handle `throw redirect()` and `throw render()` while rendering nominal page
158
163
  if ((0, abort_js_1.isAbortError)(errNominalPage)) {
159
164
  const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextBegin, pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalContext);
@@ -178,7 +183,7 @@ async function renderPageOnError(errNominalPage, pageContextBegin, pageContextNo
178
183
  }
179
184
  let pageContextErrorPage;
180
185
  try {
181
- pageContextErrorPage = await (0, renderPageAlreadyRouted_js_1.renderPageAlreadyRouted)(pageContextErrorPageInit);
186
+ pageContextErrorPage = await (0, renderPageAfterRoute_js_1.renderPageAfterRoute)(pageContextErrorPageInit);
182
187
  }
183
188
  catch (errErrorPage) {
184
189
  // Handle `throw redirect()` and `throw render()` while rendering error page
@@ -293,11 +298,11 @@ async function renderPageNominal(pageContext) {
293
298
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContext, 'pageId', 'string'));
294
299
  (0, utils_js_1.assert)(pageContext.errorWhileRendering === null);
295
300
  // Render
296
- const pageContextAfterRender = await (0, renderPageAlreadyRouted_js_1.renderPageAlreadyRouted)(pageContext);
301
+ const pageContextAfterRender = await (0, renderPageAfterRoute_js_1.renderPageAfterRoute)(pageContext);
297
302
  (0, utils_js_1.assert)(pageContext === pageContextAfterRender);
298
303
  return pageContextAfterRender;
299
304
  }
300
- async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pageContextNominalPagePartial) {
305
+ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage) {
301
306
  const pageContext = forkPageContext(pageContextBegin);
302
307
  (0, utils_js_1.assert)(errNominalPage);
303
308
  (0, utils_js_1.objectAssign)(pageContext, {
@@ -305,9 +310,6 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
305
310
  errorWhileRendering: errNominalPage,
306
311
  routeParams: {},
307
312
  });
308
- (0, utils_js_1.objectAssign)(pageContext, {
309
- _debugRouteMatches: pageContextNominalPagePartial._debugRouteMatches || 'ROUTING_ERROR',
310
- });
311
313
  (0, utils_js_1.assert)(pageContext.errorWhileRendering);
312
314
  return pageContext;
313
315
  }
@@ -423,7 +425,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
423
425
  (0, utils_js_1.objectAssign)(pageContext, { pageId: errorPageId });
424
426
  (0, utils_js_1.objectAssign)(pageContext, pageContextAbort);
425
427
  (0, utils_js_1.objectAssign)(pageContext, pageContextErrorPageInit, true);
426
- (0, utils_js_1.augmentType)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSideAndExecHook)(pageContext));
428
+ (0, utils_js_1.updateType)(pageContext, await (0, loadPageConfigsLazyServerSide_js_1.loadPageConfigsLazyServerSide)(pageContext));
427
429
  // We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
428
430
  pageContextSerialized = (0, serializeContext_js_1.getPageContextClientSerialized)(pageContext, false);
429
431
  }
@@ -64,7 +64,7 @@ __exportStar(require("../../utils/isHtml.js"), exports);
64
64
  __exportStar(require("../../utils/warnIfErrorIsNotObject.js"), exports);
65
65
  __exportStar(require("../../utils/virtualFileId.js"), exports);
66
66
  __exportStar(require("../../utils/stripAnsi.js"), exports);
67
- __exportStar(require("../../utils/getTerminWidth.js"), exports);
67
+ __exportStar(require("../../utils/getTerminalWidth.js"), exports);
68
68
  __exportStar(require("../../utils/truncateString.js"), exports);
69
69
  __exportStar(require("../../utils/formatHintLog.js"), exports);
70
70
  __exportStar(require("../../utils/joinEnglish.js"), exports);
@@ -75,8 +75,9 @@ __exportStar(require("../../utils/isVikeReactApp.js"), exports);
75
75
  __exportStar(require("../../utils/getPropAccessNotation.js"), exports);
76
76
  __exportStar(require("../../utils/PROJECT_VERSION.js"), exports);
77
77
  __exportStar(require("../../utils/genPromise.js"), exports);
78
- __exportStar(require("../../utils/augmentType.js"), exports);
78
+ __exportStar(require("../../utils/updateType.js"), exports);
79
79
  __exportStar(require("../../utils/changeEnumerable.js"), exports);
80
80
  __exportStar(require("../../utils/getViteRPC.js"), exports);
81
81
  __exportStar(require("../../utils/isRunnableDevEnvironment.js"), exports);
82
82
  __exportStar(require("../../utils/assertIsNotBrowser.js"), exports);
83
+ __exportStar(require("../../utils/isNonRunnableDev.js"), exports);
@@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDevMiddleware = createDevMiddleware;
4
4
  const vite_1 = require("vite");
5
5
  const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
6
- const globalContext_js_1 = require("../runtime/globalContext.js");
7
6
  /*
8
7
  * Create server middleware for development with HMR and lazy-transpiling.
9
8
  *
10
9
  * https://vike.dev/createDevMiddleware
11
10
  */
12
11
  async function createDevMiddleware(options = {}) {
13
- (0, globalContext_js_1.setGlobalContext_isProduction)(false, true);
14
12
  const optionsMod = {
15
13
  ...options,
16
14
  viteConfig: {
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.virtualFileIdGlobalEntryClientCR = exports.virtualFileIdGlobalEntryClientSR = exports.virtualFileIdGlobalEntryServer = void 0;
4
+ exports.parseVirtualFileId = parseVirtualFileId;
5
+ exports.generateVirtualFileId = generateVirtualFileId;
6
+ const extractAssetsQuery_js_1 = require("./extractAssetsQuery.js");
7
+ const utils_js_1 = require("./utils.js");
8
+ (0, utils_js_1.assertIsNotBrowser)();
9
+ // Global entries
10
+ const virtualFileIdGlobalEntryServer =
11
+ //
12
+ 'virtual:vike:global-entry:server';
13
+ exports.virtualFileIdGlobalEntryServer = virtualFileIdGlobalEntryServer;
14
+ const virtualFileIdGlobalEntryClientSR =
15
+ //
16
+ 'virtual:vike:global-entry:client:server-routing';
17
+ exports.virtualFileIdGlobalEntryClientSR = virtualFileIdGlobalEntryClientSR;
18
+ const virtualFileIdGlobalEntryClientCR =
19
+ //
20
+ 'virtual:vike:global-entry:client:client-routing';
21
+ exports.virtualFileIdGlobalEntryClientCR = virtualFileIdGlobalEntryClientCR;
22
+ // Page entries
23
+ const virtualFileIdPageEntryClient =
24
+ //
25
+ 'virtual:vike:page-entry:client:'; // ${pageId}
26
+ const virtualFileIdPageEntryServer =
27
+ //
28
+ 'virtual:vike:page-entry:server:'; // ${pageId}
29
+ // Virtual ID prefixes
30
+ const virtualFileIdPageEntryPrefix =
31
+ //
32
+ 'virtual:vike:page-entry:';
33
+ const virtualFileIdGlobalEntryPrefix =
34
+ //
35
+ 'virtual:vike:global-entry:';
36
+ const virtualFileIdGlobalEntries = [
37
+ virtualFileIdGlobalEntryServer,
38
+ virtualFileIdGlobalEntryClientCR,
39
+ virtualFileIdGlobalEntryClientSR,
40
+ ];
41
+ (0, utils_js_1.assert)(virtualFileIdGlobalEntries.every((v) =>
42
+ //
43
+ v.startsWith(virtualFileIdGlobalEntryPrefix)));
44
+ (0, utils_js_1.assert)([virtualFileIdPageEntryClient, virtualFileIdPageEntryServer].every((v) =>
45
+ //
46
+ v.startsWith(virtualFileIdPageEntryPrefix)));
47
+ function parseVirtualFileId(id) {
48
+ id = (0, utils_js_1.removeVirtualFileIdPrefix)(id);
49
+ if (!id.startsWith(virtualFileIdGlobalEntryPrefix) && !id.startsWith(virtualFileIdPageEntryPrefix))
50
+ return false;
51
+ // Global entry
52
+ if (id.includes(virtualFileIdGlobalEntryPrefix)) {
53
+ (0, utils_js_1.assert)(virtualFileIdGlobalEntries.includes(id));
54
+ const isForClientSide = id !== virtualFileIdGlobalEntryServer;
55
+ const isClientRouting = id === virtualFileIdGlobalEntryClientCR;
56
+ return {
57
+ type: 'global-entry',
58
+ isForClientSide,
59
+ isClientRouting,
60
+ };
61
+ }
62
+ // Page entry
63
+ if (id.includes(virtualFileIdPageEntryPrefix)) {
64
+ (0, utils_js_1.assert)(id.startsWith(virtualFileIdPageEntryPrefix));
65
+ const idOriginal = id;
66
+ id = (0, extractAssetsQuery_js_1.extractAssetsRemoveQuery)(id);
67
+ const isExtractAssets = idOriginal !== id;
68
+ if (id.startsWith(virtualFileIdPageEntryClient)) {
69
+ (0, utils_js_1.assert)(isExtractAssets === false);
70
+ return {
71
+ type: 'page-entry',
72
+ pageId: id.slice(virtualFileIdPageEntryClient.length),
73
+ isForClientSide: true,
74
+ isExtractAssets,
75
+ };
76
+ }
77
+ if (id.startsWith(virtualFileIdPageEntryServer)) {
78
+ return {
79
+ type: 'page-entry',
80
+ pageId: id.slice(virtualFileIdPageEntryServer.length),
81
+ isForClientSide: false,
82
+ isExtractAssets,
83
+ };
84
+ }
85
+ (0, utils_js_1.assert)(false);
86
+ }
87
+ return false;
88
+ }
89
+ function generateVirtualFileId(args) {
90
+ if (args.type === 'global-entry') {
91
+ const { isForClientSide, isClientRouting } = args;
92
+ (0, utils_js_1.assert)(typeof isClientRouting === 'boolean');
93
+ if (!isForClientSide) {
94
+ return virtualFileIdGlobalEntryServer;
95
+ }
96
+ else if (isClientRouting) {
97
+ return virtualFileIdGlobalEntryClientCR;
98
+ }
99
+ else {
100
+ return virtualFileIdGlobalEntryClientSR;
101
+ }
102
+ }
103
+ if (args.type === 'page-entry') {
104
+ const { pageId, isForClientSide } = args;
105
+ (0, utils_js_1.assert)(typeof pageId === 'string');
106
+ const id = `${isForClientSide ? virtualFileIdPageEntryClient : virtualFileIdPageEntryServer}${pageId}`;
107
+ return id;
108
+ }
109
+ (0, utils_js_1.assert)(false);
110
+ }