vike 0.4.220 → 0.4.221-commit-ab9e52a

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 (296) hide show
  1. package/dist/cjs/__internal/index.js +5 -23
  2. package/dist/cjs/node/api/build.js +33 -24
  3. package/dist/cjs/node/api/context.js +6 -8
  4. package/dist/cjs/node/api/prepareViteApiCall.js +23 -21
  5. package/dist/cjs/node/api/prerender.js +1 -0
  6. package/dist/cjs/node/api/utils.js +2 -1
  7. package/dist/cjs/node/cli/context.js +16 -0
  8. package/dist/cjs/node/cli/entry.js +2 -0
  9. package/dist/cjs/node/cli/utils.js +1 -0
  10. package/dist/cjs/node/plugin/index.js +4 -8
  11. package/dist/cjs/node/plugin/onLoad.js +6 -1
  12. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +34 -33
  13. package/dist/cjs/node/plugin/plugins/baseUrls.js +2 -2
  14. package/dist/cjs/node/plugin/plugins/buildApp.js +72 -0
  15. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +12 -12
  16. package/dist/cjs/node/plugin/plugins/buildConfig.js +17 -12
  17. package/dist/cjs/node/plugin/plugins/buildEntry/index.js +28 -24
  18. package/dist/cjs/node/plugin/plugins/commonConfig.js +9 -7
  19. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +7 -4
  20. package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
  21. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +15 -10
  22. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +11 -6
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +41 -36
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +59 -22
  25. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
  26. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +159 -0
  27. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +40 -23
  28. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +9 -64
  29. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +11 -5
  30. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +403 -590
  31. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
  32. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +12 -9
  33. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +13 -11
  34. package/dist/cjs/node/plugin/plugins/packageJsonFile.js +2 -2
  35. package/dist/cjs/node/plugin/plugins/previewConfig.js +7 -7
  36. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +3 -5
  37. package/dist/cjs/node/plugin/shared/findPageFiles.js +2 -1
  38. package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +20 -0
  39. package/dist/cjs/{utils → node/plugin/shared}/getOutDirs.js +70 -61
  40. package/dist/cjs/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
  41. package/dist/cjs/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
  42. package/dist/cjs/node/plugin/utils.js +1 -2
  43. package/dist/cjs/node/prerender/context.js +31 -0
  44. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +46 -0
  45. package/dist/cjs/node/prerender/runPrerender.js +89 -68
  46. package/dist/cjs/node/prerender/utils.js +2 -2
  47. package/dist/cjs/node/runtime/globalContext.js +222 -150
  48. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +11 -7
  49. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
  50. package/dist/cjs/node/runtime/html/injectAssets.js +4 -4
  51. package/dist/cjs/node/runtime/html/renderHtml.js +4 -5
  52. package/dist/cjs/node/runtime/page-files/setup.js +1 -1
  53. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -3
  54. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +2 -27
  55. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
  56. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +4 -4
  57. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
  58. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +29 -0
  59. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +5 -4
  60. package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -2
  61. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +14 -10
  62. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +6 -5
  63. package/dist/cjs/node/runtime/renderPage.js +31 -29
  64. package/dist/cjs/node/runtime/utils.js +3 -3
  65. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +5 -3
  66. package/dist/cjs/node/shared/resolveBase.js +7 -0
  67. package/dist/cjs/shared/getPageConfigsRuntime.js +20 -0
  68. package/dist/cjs/shared/getPageContextUrlComputed.js +6 -1
  69. package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -1
  70. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -3
  71. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -5
  72. package/dist/cjs/shared/getPageFiles/parseGlobResults.js +4 -3
  73. package/dist/cjs/shared/getPageFiles.js +1 -3
  74. package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +15 -6
  75. package/dist/cjs/shared/page-configs/loadConfigValues.js +5 -1
  76. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +69 -18
  77. package/dist/cjs/shared/route/loadPageRoutes.js +1 -0
  78. package/dist/cjs/shared/utils.js +0 -1
  79. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  80. package/dist/cjs/utils/assertSetup.js +1 -1
  81. package/dist/cjs/utils/catchInfiniteLoop.js +34 -0
  82. package/dist/cjs/utils/debug.js +8 -6
  83. package/dist/cjs/utils/findFile.js +4 -3
  84. package/dist/cjs/utils/isDev.js +2 -2
  85. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +2 -2
  86. package/dist/cjs/utils/makePublicCopy.js +32 -0
  87. package/dist/cjs/utils/objectAssignSafe.js +7 -0
  88. package/dist/cjs/utils/path.js +48 -0
  89. package/dist/cjs/utils/requireResolve.js +3 -3
  90. package/dist/esm/__internal/index.d.ts +2 -2
  91. package/dist/esm/__internal/index.js +7 -26
  92. package/dist/esm/client/client-routing-runtime/createPageContext.js +5 -9
  93. package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
  94. package/dist/esm/client/client-routing-runtime/history.js +23 -18
  95. package/dist/esm/client/client-routing-runtime/index.d.ts +0 -1
  96. package/dist/esm/client/client-routing-runtime/index.js +0 -1
  97. package/dist/esm/client/client-routing-runtime/initClientRouter.js +2 -2
  98. package/dist/esm/client/client-routing-runtime/initOnLinkClick.d.ts +0 -4
  99. package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +0 -11
  100. package/dist/esm/client/client-routing-runtime/initOnPopState.d.ts +0 -10
  101. package/dist/esm/client/client-routing-runtime/initOnPopState.js +50 -70
  102. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +15 -15
  103. package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +4 -6
  104. package/dist/esm/client/client-routing-runtime/scrollRestoration.js +17 -12
  105. package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +1 -1
  106. package/dist/esm/client/client-routing-runtime/setScrollPosition.js +29 -5
  107. package/dist/esm/client/client-routing-runtime/skipLink.d.ts +0 -2
  108. package/dist/esm/client/client-routing-runtime/skipLink.js +0 -1
  109. package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
  110. package/dist/esm/client/client-routing-runtime/utils.js +1 -0
  111. package/dist/esm/client/server-routing-runtime/getPageContext.js +3 -4
  112. package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -2
  113. package/dist/esm/node/api/build.d.ts +1 -6
  114. package/dist/esm/node/api/build.js +31 -25
  115. package/dist/esm/node/api/context.d.ts +4 -4
  116. package/dist/esm/node/api/context.js +6 -9
  117. package/dist/esm/node/api/prepareViteApiCall.d.ts +4 -3
  118. package/dist/esm/node/api/prepareViteApiCall.js +24 -22
  119. package/dist/esm/node/api/prerender.js +1 -0
  120. package/dist/esm/node/api/utils.d.ts +2 -1
  121. package/dist/esm/node/api/utils.js +2 -1
  122. package/dist/esm/node/cli/context.d.ts +5 -0
  123. package/dist/esm/node/cli/context.js +14 -0
  124. package/dist/esm/node/cli/entry.js +2 -0
  125. package/dist/esm/node/cli/parseCli.d.ts +3 -1
  126. package/dist/esm/node/cli/utils.d.ts +1 -0
  127. package/dist/esm/node/cli/utils.js +1 -0
  128. package/dist/esm/node/plugin/index.d.ts +29 -1
  129. package/dist/esm/node/plugin/index.js +5 -9
  130. package/dist/esm/node/plugin/onLoad.js +7 -2
  131. package/dist/esm/node/plugin/plugins/autoFullBuild.js +35 -34
  132. package/dist/esm/node/plugin/plugins/baseUrls.js +2 -2
  133. package/dist/esm/node/plugin/plugins/buildApp.d.ts +3 -0
  134. package/dist/esm/node/plugin/plugins/buildApp.js +70 -0
  135. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
  136. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +11 -11
  137. package/dist/esm/node/plugin/plugins/buildConfig.js +16 -11
  138. package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +3 -3
  139. package/dist/esm/node/plugin/plugins/buildEntry/index.js +28 -24
  140. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +8 -2
  141. package/dist/esm/node/plugin/plugins/commonConfig.js +7 -5
  142. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +6 -3
  143. package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
  144. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
  145. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +14 -9
  146. package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -6
  147. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.d.ts +6 -0
  148. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +41 -36
  149. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -2
  150. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +58 -21
  151. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
  152. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +39 -0
  153. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +154 -0
  154. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +15 -9
  155. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +41 -24
  156. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +8 -18
  157. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +10 -65
  158. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +6 -2
  159. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +12 -6
  160. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +10 -122
  161. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +407 -594
  162. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
  163. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +12 -9
  164. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +13 -11
  165. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.d.ts → virtual-files/isRuntimeEnvMatch.d.ts} +1 -1
  166. package/dist/esm/node/plugin/plugins/packageJsonFile.js +1 -1
  167. package/dist/esm/node/plugin/plugins/previewConfig.js +5 -5
  168. package/dist/esm/node/plugin/plugins/setGlobalContext.js +4 -6
  169. package/dist/esm/node/plugin/shared/findPageFiles.js +2 -1
  170. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +2 -0
  171. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +17 -0
  172. package/dist/esm/{utils → node/plugin/shared}/getOutDirs.d.ts +1 -1
  173. package/dist/esm/{utils → node/plugin/shared}/getOutDirs.js +52 -43
  174. package/dist/esm/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
  175. package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.d.ts +2 -5
  176. package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
  177. package/dist/esm/node/plugin/utils.d.ts +0 -1
  178. package/dist/esm/node/plugin/utils.js +1 -2
  179. package/dist/esm/node/prerender/context.d.ts +11 -0
  180. package/dist/esm/node/prerender/context.js +29 -0
  181. package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +12 -0
  182. package/dist/esm/node/prerender/resolvePrerenderConfig.js +44 -0
  183. package/dist/esm/node/prerender/runPrerender.d.ts +42 -1
  184. package/dist/esm/node/prerender/runPrerender.js +90 -69
  185. package/dist/esm/node/prerender/utils.d.ts +2 -2
  186. package/dist/esm/node/prerender/utils.js +2 -2
  187. package/dist/esm/node/runtime/globalContext.d.ts +44 -36
  188. package/dist/esm/node/runtime/globalContext.js +223 -151
  189. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.d.ts +1 -1
  190. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +11 -7
  191. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +4 -1
  192. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
  193. package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -0
  194. package/dist/esm/node/runtime/html/injectAssets.js +4 -4
  195. package/dist/esm/node/runtime/html/renderHtml.js +4 -5
  196. package/dist/esm/node/runtime/page-files/setup.js +1 -1
  197. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -1
  198. package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -3
  199. package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -26
  200. package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
  201. package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
  202. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +3 -1
  203. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -4
  204. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -0
  205. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
  206. package/dist/esm/node/runtime/renderPage/isFontFallback.d.ts +3 -0
  207. package/dist/esm/node/runtime/renderPage/isFontFallback.js +27 -0
  208. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -0
  209. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +6 -5
  210. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -0
  211. package/dist/esm/node/runtime/renderPage/log404/index.js +1 -2
  212. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -0
  213. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +26 -10
  214. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +14 -10
  215. package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +2 -0
  216. package/dist/esm/node/runtime/renderPage/resolveRedirects.js +5 -5
  217. package/dist/esm/node/runtime/renderPage.js +32 -30
  218. package/dist/esm/node/runtime/utils.d.ts +3 -3
  219. package/dist/esm/node/runtime/utils.js +3 -3
  220. package/dist/esm/node/runtime-dev/createDevMiddleware.js +5 -3
  221. package/dist/esm/node/shared/resolveBase.d.ts +5 -1
  222. package/dist/esm/node/shared/resolveBase.js +7 -0
  223. package/dist/esm/shared/getPageConfigsRuntime.d.ts +13 -0
  224. package/dist/esm/shared/getPageConfigsRuntime.js +18 -0
  225. package/dist/esm/shared/getPageContextUrlComputed.js +6 -1
  226. package/dist/esm/shared/getPageFiles/fileTypes.js +1 -2
  227. package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +0 -3
  228. package/dist/esm/shared/getPageFiles/getPageFileObject.js +0 -5
  229. package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +1 -1
  230. package/dist/esm/shared/getPageFiles/parseGlobResults.js +4 -3
  231. package/dist/esm/shared/getPageFiles.d.ts +0 -1
  232. package/dist/esm/shared/getPageFiles.js +0 -1
  233. package/dist/esm/shared/page-configs/Config.d.ts +83 -3
  234. package/dist/esm/shared/page-configs/PageConfig.d.ts +30 -18
  235. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +6 -8
  236. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +15 -6
  237. package/dist/esm/shared/page-configs/loadConfigValues.js +6 -2
  238. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +7 -1
  239. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +70 -19
  240. package/dist/esm/shared/route/loadPageRoutes.js +1 -0
  241. package/dist/esm/shared/utils.d.ts +0 -1
  242. package/dist/esm/shared/utils.js +0 -1
  243. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  244. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  245. package/dist/esm/utils/assertSetup.js +1 -1
  246. package/dist/esm/utils/catchInfiniteLoop.d.ts +2 -0
  247. package/dist/esm/utils/catchInfiniteLoop.js +32 -0
  248. package/dist/esm/utils/debug.d.ts +1 -1
  249. package/dist/esm/utils/debug.js +8 -6
  250. package/dist/esm/utils/findFile.js +2 -1
  251. package/dist/esm/utils/isDev.js +3 -3
  252. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
  253. package/dist/esm/utils/makePublicCopy.d.ts +3 -0
  254. package/dist/esm/utils/makePublicCopy.js +30 -0
  255. package/dist/esm/utils/objectAssignSafe.d.ts +1 -0
  256. package/dist/esm/utils/objectAssignSafe.js +4 -0
  257. package/dist/esm/utils/path.d.ts +14 -0
  258. package/dist/esm/utils/path.js +46 -0
  259. package/dist/esm/utils/projectInfo.d.ts +1 -1
  260. package/dist/esm/utils/requireResolve.js +1 -1
  261. package/package.json +2 -2
  262. package/dist/cjs/node/plugin/plugins/buildEntry/getVikeManifest.js +0 -17
  263. package/dist/cjs/node/plugin/plugins/importUserCode/addImportStatement.js +0 -29
  264. package/dist/cjs/node/prerender/isPrerenderAutoRunEnabled.js +0 -16
  265. package/dist/cjs/node/shared/assertPluginManifest.js +0 -20
  266. package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -16
  267. package/dist/cjs/shared/assertPageFilePath.js +0 -11
  268. package/dist/cjs/shared/getPageFiles/getPageFiles.js +0 -48
  269. package/dist/cjs/utils/filesystemPathHandling.js +0 -18
  270. package/dist/cjs/utils/path-shim.js +0 -19
  271. package/dist/esm/node/plugin/plugins/buildEntry/getVikeManifest.d.ts +0 -5
  272. package/dist/esm/node/plugin/plugins/buildEntry/getVikeManifest.js +0 -15
  273. package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.d.ts +0 -14
  274. package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.js +0 -27
  275. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/assertExtensions.d.ts +0 -5
  276. package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.d.ts +0 -5
  277. package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.js +0 -14
  278. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -12
  279. package/dist/esm/node/shared/assertPluginManifest.js +0 -18
  280. package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -10
  281. package/dist/esm/node/shared/assertRuntimeManifest.js +0 -14
  282. package/dist/esm/shared/assertPageFilePath.d.ts +0 -2
  283. package/dist/esm/shared/assertPageFilePath.js +0 -9
  284. package/dist/esm/shared/getPageFiles/getPageFiles.d.ts +0 -15
  285. package/dist/esm/shared/getPageFiles/getPageFiles.js +0 -46
  286. package/dist/esm/utils/filesystemPathHandling.d.ts +0 -4
  287. package/dist/esm/utils/filesystemPathHandling.js +0 -16
  288. package/dist/esm/utils/path-shim.d.ts +0 -2
  289. package/dist/esm/utils/path-shim.js +0 -17
  290. /package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
  291. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.d.ts → getVikeConfig/getConfigFileExport.d.ts} +0 -0
  292. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.d.ts → virtual-files/debug.d.ts} +0 -0
  293. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.d.ts → virtual-files/getVirtualFilePageConfigValuesAll.d.ts} +0 -0
  294. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.d.ts → virtual-files/getVirtualFilePageConfigs.d.ts} +0 -0
  295. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
  296. /package/dist/esm/node/plugin/{resolveClientEntriesDev.d.ts → shared/resolveClientEntriesDev.d.ts} +0 -0
@@ -51,7 +51,6 @@ const vite_1 = require("vite");
51
51
  const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
52
52
  const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
53
53
  const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
54
- const helpers_js_1 = require("../../shared/page-configs/helpers.js");
55
54
  const getConfigValueRuntime_js_1 = require("../../shared/page-configs/getConfigValueRuntime.js");
56
55
  const loadConfigValues_js_1 = require("../../shared/page-configs/loadConfigValues.js");
57
56
  const error_page_js_1 = require("../../shared/error-page.js");
@@ -63,8 +62,12 @@ const noRouteMatch_js_1 = require("../../shared/route/noRouteMatch.js");
63
62
  const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/getVikeConfig.js");
64
63
  const logErrorHint_js_1 = require("../runtime/renderPage/logErrorHint.js");
65
64
  const executeHook_js_1 = require("../../shared/hooks/executeHook.js");
66
- const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
67
65
  const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
66
+ const context_js_1 = require("./context.js");
67
+ const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
68
+ const getOutDirs_js_1 = require("../plugin/shared/getOutDirs.js");
69
+ const context_js_2 = require("../cli/context.js");
70
+ const isViteCliCall_js_1 = require("../plugin/shared/isViteCliCall.js");
68
71
  async function runPrerenderFromAPI(options = {}) {
69
72
  return await runPrerender(options, 'prerender()');
70
73
  // - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
@@ -82,18 +85,25 @@ async function runPrerenderFromCLIPrerenderCommand() {
82
85
  process.exit(1);
83
86
  }
84
87
  runPrerender_forceExit();
88
+ (0, utils_js_1.assert)(false);
85
89
  }
86
- async function runPrerenderFromAutoRun(viteConfig) {
90
+ async function runPrerenderFromAutoRun(viteConfig, config) {
91
+ let prerenderContextPublic;
87
92
  try {
88
- await runPrerender({ viteConfig });
93
+ const ret = await runPrerender({ viteConfig });
94
+ prerenderContextPublic = ret.prerenderContextPublic;
89
95
  }
90
96
  catch (err) {
91
97
  console.error(err);
92
98
  (0, logErrorHint_js_1.logErrorHint)(err);
93
99
  process.exit(1);
94
100
  }
101
+ config.vike.prerenderContext = prerenderContextPublic;
102
+ const forceExit = (0, context_js_2.isVikeCli)() || (0, isViteCliCall_js_1.isViteCliCall)();
103
+ return { forceExit };
95
104
  }
96
105
  async function runPrerender(options = {}, standaloneTrigger) {
106
+ (0, context_js_1.setContextIsPrerendering)();
97
107
  checkOutdatedOptions(options);
98
108
  (0, utils_js_1.onSetupPrerender)();
99
109
  (0, globalContext_js_1.setGlobalContext_isPrerendering)();
@@ -105,9 +115,9 @@ async function runPrerender(options = {}, standaloneTrigger) {
105
115
  await disableReactStreaming();
106
116
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
107
117
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
108
- const { outDirClient } = (0, utils_js_1.getOutDirs)(viteConfig);
118
+ const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
109
119
  const { root } = viteConfig;
110
- const prerenderConfig = vikeConfig.vikeConfigGlobal.prerender;
120
+ const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
111
121
  validatePrerenderConfig(prerenderConfig);
112
122
  if (!prerenderConfig) {
113
123
  (0, utils_js_1.assert)(standaloneTrigger);
@@ -118,46 +128,47 @@ async function runPrerender(options = {}, standaloneTrigger) {
118
128
  const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
119
129
  const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
120
130
  await (0, globalContext_js_1.initGlobalContext_runPrerender)();
121
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
131
+ const globalContext = await (0, globalContext_js_1.getGlobalContextInternal)();
122
132
  globalContext.pageFilesAll.forEach(assertExportNames);
123
- const prerenderContext = {};
124
- (0, utils_js_1.objectAssign)(prerenderContext, {
125
- _urlHandler: null,
126
- _noExtraDir: noExtraDir ?? false,
133
+ const prerenderContext = {
134
+ noExtraDir: noExtraDir ?? false,
127
135
  pageContexts: [],
128
- pageContextInit: options.pageContextInit ?? null
129
- });
136
+ pageContextInit: options.pageContextInit ?? null,
137
+ prerenderedPageContexts: {},
138
+ output: []
139
+ };
130
140
  const doNotPrerenderList = [];
131
- await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
132
- await callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList);
133
- await handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit);
134
- await callOnPrerenderStartHook(prerenderContext);
135
- const prerenderedPageContexts = {};
141
+ await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext);
142
+ await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
143
+ await handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit);
144
+ await callOnPrerenderStartHook(prerenderContext, globalContext);
136
145
  let prerenderedCount = 0;
146
+ // Write files as soon as pages finish rendering (instead of writing all files at once only after all pages have rendered).
137
147
  const onComplete = async (htmlFile) => {
138
148
  prerenderedCount++;
139
149
  if (htmlFile.pageId) {
140
- prerenderedPageContexts[htmlFile.pageId] = htmlFile.pageContext;
150
+ prerenderContext.prerenderedPageContexts[htmlFile.pageId] = htmlFile.pageContext;
141
151
  }
142
- await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, logLevel);
152
+ await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, prerenderContext.output, logLevel);
143
153
  };
144
- await routeAndPrerender(prerenderContext, concurrencyLimit, onComplete);
145
- warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerenderList);
146
- await prerender404(prerenderedPageContexts, prerenderContext, onComplete);
154
+ await routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete);
155
+ warnContradictoryNoPrerenderList(prerenderContext.prerenderedPageContexts, doNotPrerenderList);
156
+ await prerender404(prerenderContext, globalContext, onComplete);
147
157
  if (logLevel === 'info') {
148
158
  console.log(`${picocolors_1.default.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`);
149
159
  }
150
- warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial);
151
- return { viteConfig };
160
+ await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
161
+ const prerenderContextPublic = makePublic(prerenderContext);
162
+ return { viteConfig, prerenderContextPublic };
152
163
  }
153
- async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit) {
164
+ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext) {
154
165
  // V1 design
155
166
  pageConfigs.forEach((pageConfig) => {
156
- const configName = 'prerender';
157
- const configValue = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, configName, 'boolean');
158
- if (configValue?.value === false) {
159
- const configValueFilePathToShowToUser = (0, helpers_js_1.getConfigValueFilePathToShowToUser)(configValue.definedAtData);
160
- (0, utils_js_1.assert)(configValueFilePathToShowToUser);
167
+ const configValue = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigLocal)(pageConfig);
168
+ if (!configValue)
169
+ return;
170
+ const { value, configValueFilePathToShowToUser } = configValue;
171
+ if (value === false) {
161
172
  doNotPrerenderList.push({
162
173
  pageId: pageConfig.pageId,
163
174
  setByConfigName: 'prerender',
@@ -168,7 +179,6 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurr
168
179
  });
169
180
  // Old design
170
181
  // TODO/v1-release: remove
171
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
172
182
  await Promise.all(globalContext.pageFilesAll
173
183
  .filter((p) => {
174
184
  assertExportNames(p);
@@ -211,9 +221,8 @@ function assertExportNames(pageFile) {
211
221
  const { exportNames, fileType } = pageFile;
212
222
  (0, utils_js_1.assert)(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
213
223
  }
214
- async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList) {
224
+ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList) {
215
225
  const onBeforePrerenderStartHooks = [];
216
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
217
226
  // V1 design
218
227
  await Promise.all(globalContext.pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
219
228
  const hookName = 'onBeforePrerenderStart';
@@ -261,7 +270,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
261
270
  }
262
271
  const prerenderResult = await (0, executeHook_js_1.executeHook)(() => hookFn(), { hookName, hookFilePath, hookTimeout }, null);
263
272
  const result = normalizeOnPrerenderHookResult(prerenderResult, hookFilePath, hookName);
264
- result.forEach(({ url, pageContext }) => {
273
+ await Promise.all(result.map(async ({ url, pageContext }) => {
265
274
  {
266
275
  const pageContextFound = prerenderContext.pageContexts.find((pageContext) => isSameUrl(pageContext.urlOriginal, url));
267
276
  if (pageContextFound) {
@@ -272,7 +281,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
272
281
  (0, utils_js_1.assertUsage)(false, `URL ${picocolors_1.default.cyan(url)} provided ${providedTwice}. Make sure to provide the URL only once instead.`);
273
282
  }
274
283
  }
275
- const pageContextNew = createPageContext(url, prerenderContext);
284
+ const pageContextNew = await createPageContext(url, prerenderContext, globalContext);
276
285
  (0, utils_js_1.objectAssign)(pageContextNew, {
277
286
  _providedByHook: {
278
287
  hookFilePath,
@@ -286,12 +295,11 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
286
295
  });
287
296
  (0, utils_js_1.objectAssign)(pageContextNew, pageContext);
288
297
  }
289
- });
298
+ }));
290
299
  })));
291
300
  }
292
- async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit) {
301
+ async function handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit) {
293
302
  // Pre-render pages with a static route
294
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
295
303
  await Promise.all(globalContext.pageRoutes.map((pageRoute) => concurrencyLimit(async () => {
296
304
  const { pageId } = pageRoute;
297
305
  if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
@@ -317,7 +325,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
317
325
  return;
318
326
  }
319
327
  const routeParams = {};
320
- const pageContext = createPageContext(urlOriginal, prerenderContext);
328
+ const pageContext = await createPageContext(urlOriginal, prerenderContext, globalContext);
321
329
  (0, utils_js_1.objectAssign)(pageContext, {
322
330
  _providedByHook: null,
323
331
  routeParams,
@@ -335,11 +343,11 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
335
343
  prerenderContext.pageContexts.push(pageContext);
336
344
  })));
337
345
  }
338
- function createPageContext(urlOriginal, prerenderContext) {
346
+ async function createPageContext(urlOriginal, prerenderContext, globalContext) {
339
347
  const pageContext = {
340
348
  _urlHandler: null,
341
349
  _urlRewrite: null,
342
- _noExtraDir: prerenderContext._noExtraDir,
350
+ _noExtraDir: prerenderContext.noExtraDir,
343
351
  _prerenderContext: prerenderContext
344
352
  };
345
353
  const pageContextInit = {
@@ -347,13 +355,12 @@ function createPageContext(urlOriginal, prerenderContext) {
347
355
  };
348
356
  (0, utils_js_1.objectAssign)(pageContextInit, prerenderContext.pageContextInit);
349
357
  {
350
- const pageContextInitEnhanced = (0, renderPageAlreadyRouted_js_1.getPageContextInitEnhanced)(pageContextInit);
358
+ const pageContextInitEnhanced = await (0, renderPageAlreadyRouted_js_1.getPageContextInitEnhanced)(pageContextInit, globalContext);
351
359
  (0, utils_js_1.objectAssign)(pageContext, pageContextInitEnhanced);
352
360
  }
353
361
  return pageContext;
354
362
  }
355
- async function callOnPrerenderStartHook(prerenderContext) {
356
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
363
+ async function callOnPrerenderStartHook(prerenderContext, globalContext) {
357
364
  let onPrerenderStartHook;
358
365
  // V1 design
359
366
  if (globalContext.pageConfigs.length > 0) {
@@ -425,17 +432,20 @@ async function callOnPrerenderStartHook(prerenderContext) {
425
432
  const docLink = 'https://vike.dev/i18n#pre-rendering';
426
433
  // Set `enumerable` to `false` to avoid computed URL properties from being iterated & copied in onPrerenderStart() hook, e.g. /examples/i18n/
427
434
  const { restoreEnumerable, addPageContextComputedUrl } = makePageContextComputedUrlNonEnumerable(prerenderContext.pageContexts);
428
- let result = await (0, executeHook_js_1.executeHook)(() => hookFn({
429
- pageContexts: prerenderContext.pageContexts,
435
+ let result = await (0, executeHook_js_1.executeHook)(() => {
436
+ const prerenderContextPublic = makePublic(prerenderContext);
430
437
  // TODO/v1-release: remove warning
431
- get prerenderPageContexts() {
432
- (0, utils_js_1.assertWarning)(false, `prerenderPageContexts has been renamed pageContexts, see ${docLink}`, {
433
- showStackTrace: true,
434
- onlyOnce: true
435
- });
436
- return prerenderContext.pageContexts;
437
- }
438
- }), onPrerenderStartHook, null);
438
+ Object.defineProperty(prerenderContextPublic, 'prerenderPageContexts', {
439
+ get() {
440
+ (0, utils_js_1.assertWarning)(false, `prerenderPageContexts has been renamed pageContexts, see ${docLink}`, {
441
+ showStackTrace: true,
442
+ onlyOnce: true
443
+ });
444
+ return prerenderContext.pageContexts;
445
+ }
446
+ });
447
+ return hookFn(prerenderContextPublic);
448
+ }, onPrerenderStartHook, null);
439
449
  restoreEnumerable();
440
450
  if (result === null || result === undefined) {
441
451
  return;
@@ -477,8 +487,7 @@ async function callOnPrerenderStartHook(prerenderContext) {
477
487
  });
478
488
  addPageContextComputedUrl(prerenderContext.pageContexts);
479
489
  }
480
- async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete) {
481
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
490
+ async function routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete) {
482
491
  (0, utils_js_1.assert)(globalContext.isPrerendering);
483
492
  // Route all URLs
484
493
  await Promise.all(prerenderContext.pageContexts.map((pageContext) => concurrencyLimit(async () => {
@@ -542,7 +551,7 @@ async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete)
542
551
  pageContext,
543
552
  htmlString: documentHtml,
544
553
  pageContextSerialized,
545
- doNotCreateExtraDirectory: prerenderContext._noExtraDir,
554
+ doNotCreateExtraDirectory: prerenderContext.noExtraDir,
546
555
  pageId
547
556
  });
548
557
  })));
@@ -560,8 +569,7 @@ function warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerende
560
569
  (0, utils_js_1.assertWarning)(false, `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${picocolors_1.default.cyan(urlOriginal)}, while ${setByConfigFile} sets the config ${picocolors_1.default.cyan(setByConfigName)} to ${picocolors_1.default.cyan(String(setByConfigValue))}. This is contradictory: either don't set the config ${picocolors_1.default.cyan(setByConfigName)} to ${picocolors_1.default.cyan(String(setByConfigValue))} or remove the URL ${picocolors_1.default.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`, { onlyOnce: true });
561
570
  });
562
571
  }
563
- function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial) {
564
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
572
+ async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPrerenderList, partial) {
565
573
  const isV1 = globalContext.pageConfigs.length > 0;
566
574
  const hookName = isV1 ? 'onBeforePrerenderStart' : 'prerender';
567
575
  /* TODO/after-v1-design-release: document setting `prerender: false` as an alternative to using prerender.partial (both in the warnings and the docs)
@@ -577,11 +585,11 @@ function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial)
577
585
  (0, utils_js_1.assertWarning)(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender#partial) to suppress this warning.`, { onlyOnce: true });
578
586
  });
579
587
  }
580
- async function prerender404(prerenderedPageContexts, prerenderContext, onComplete) {
581
- if (!Object.values(prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
588
+ async function prerender404(prerenderContext, globalContext, onComplete) {
589
+ if (!Object.values(prerenderContext.prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
582
590
  let result;
583
591
  try {
584
- result = await (0, renderPageAlreadyRouted_js_1.prerender404Page)(prerenderContext.pageContextInit);
592
+ result = await (0, renderPageAlreadyRouted_js_1.prerender404Page)(prerenderContext.pageContextInit, globalContext);
585
593
  }
586
594
  catch (err) {
587
595
  assertIsNotAbort(err, 'the 404 page');
@@ -601,22 +609,23 @@ async function prerender404(prerenderedPageContexts, prerenderContext, onComplet
601
609
  }
602
610
  }
603
611
  }
604
- async function writeFiles({ urlOriginal, pageContext, htmlString, pageContextSerialized, doNotCreateExtraDirectory }, root, outDirClient, onPagePrerender, logLevel) {
612
+ async function writeFiles({ urlOriginal, pageContext, htmlString, pageContextSerialized, doNotCreateExtraDirectory }, root, outDirClient, onPagePrerender, output, logLevel) {
605
613
  (0, utils_js_1.assert)(urlOriginal.startsWith('/'));
606
614
  const writeJobs = [
607
- write(urlOriginal, pageContext, '.html', htmlString, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, logLevel)
615
+ write(urlOriginal, pageContext, 'HTML', htmlString, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel)
608
616
  ];
609
617
  if (pageContextSerialized !== null) {
610
- writeJobs.push(write(urlOriginal, pageContext, '.pageContext.json', pageContextSerialized, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, logLevel));
618
+ writeJobs.push(write(urlOriginal, pageContext, 'JSON', pageContextSerialized, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel));
611
619
  }
612
620
  await Promise.all(writeJobs);
613
621
  }
614
- async function write(urlOriginal, pageContext, fileExtension, fileContent, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, logLevel) {
622
+ async function write(urlOriginal, pageContext, fileType, fileContent, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel) {
615
623
  let fileUrl;
616
- if (fileExtension === '.html') {
624
+ if (fileType === 'HTML') {
617
625
  fileUrl = (0, utils_js_1.urlToFile)(urlOriginal, '.html', doNotCreateExtraDirectory);
618
626
  }
619
627
  else {
628
+ (0, utils_js_1.assert)(fileType === 'JSON');
620
629
  fileUrl = (0, getPageContextRequestUrl_js_1.getPageContextRequestUrl)(urlOriginal);
621
630
  }
622
631
  (0, utils_js_1.assertPosixPath)(fileUrl);
@@ -628,6 +637,12 @@ async function write(urlOriginal, pageContext, fileExtension, fileContent, root,
628
637
  (0, utils_js_1.assertPosixPath)(outDirClient);
629
638
  (0, utils_js_1.assertPosixPath)(filePathRelative);
630
639
  const filePath = path_1.default.posix.join(outDirClient, filePathRelative);
640
+ output.push({
641
+ filePath,
642
+ fileType,
643
+ fileContent,
644
+ pageContext
645
+ });
631
646
  if (onPagePrerender) {
632
647
  const prerenderPageContext = {};
633
648
  (0, utils_js_1.objectAssign)(prerenderPageContext, pageContext);
@@ -796,3 +811,9 @@ prerenderConfig) {
796
811
  (0, utils_js_1.assertUsage)(false, `Setting ${picocolors_1.default.cyan(`prerender.${prop}`)} ${errMsg}`);
797
812
  }
798
813
  }
814
+ function makePublic(prerenderContext) {
815
+ const prerenderContextPublic = (0, utils_js_1.makePublicCopy)(prerenderContext, 'prerenderContext', [
816
+ 'pageContexts'
817
+ ]);
818
+ return prerenderContextPublic;
819
+ }
@@ -22,9 +22,8 @@ __exportStar(require("../../utils/projectInfo.js"), exports);
22
22
  __exportStar(require("../../utils/objectAssign.js"), exports);
23
23
  __exportStar(require("../../utils/isObjectWithKeys.js"), exports);
24
24
  __exportStar(require("../../utils/isCallable.js"), exports);
25
- __exportStar(require("../../utils/getOutDirs.js"), exports);
26
25
  __exportStar(require("../../utils/isPropertyGetter.js"), exports);
27
- __exportStar(require("../../utils/filesystemPathHandling.js"), exports);
26
+ __exportStar(require("../../utils/path.js"), exports);
28
27
  __exportStar(require("../../utils/urlToFile.js"), exports);
29
28
  __exportStar(require("../../utils/isPlainObject.js"), exports);
30
29
  __exportStar(require("../../utils/assertSetup.js"), exports);
@@ -33,3 +32,4 @@ __exportStar(require("../../utils/isFilePathAbsoluteFilesystem.js"), exports);
33
32
  __exportStar(require("../../utils/isArray.js"), exports);
34
33
  __exportStar(require("../../utils/isObject.js"), exports);
35
34
  __exportStar(require("../../utils/changeEnumerable.js"), exports);
35
+ __exportStar(require("../../utils/makePublicCopy.js"), exports);