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
@@ -24,14 +24,14 @@ const pluginBaseUrls_js_1 = require("./plugins/pluginBaseUrls.js");
24
24
  const pluginEnvVars_js_1 = require("./plugins/pluginEnvVars.js");
25
25
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
26
26
  const pluginFileEnv_js_1 = require("./plugins/pluginFileEnv.js");
27
- const getPageAssets_js_1 = require("../runtime/renderPage/getPageAssets.js");
28
- const resolveClientEntriesDev_js_1 = require("./shared/resolveClientEntriesDev.js");
27
+ const getClientEntrySrcDev_js_1 = require("./shared/getClientEntrySrcDev.js");
29
28
  const pluginWorkaroundCssModuleHmr_js_1 = require("./plugins/pluginWorkaroundCssModuleHmr.js");
30
29
  const pluginWorkaroundVite6HmrRegression_js_1 = require("./plugins/pluginWorkaroundVite6HmrRegression.js");
31
30
  const pluginReplaceConstants_js_1 = require("./plugins/pluginReplaceConstants.js");
32
31
  const pluginNonRunnableDev_js_1 = require("./plugins/pluginNonRunnableDev.js");
32
+ const retrievePageAssetsDev_js_1 = require("../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js");
33
33
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
34
- (0, getPageAssets_js_1.setResolveClientEntriesDev)(resolveClientEntriesDev_js_1.resolveClientEntriesDev);
34
+ (0, retrievePageAssetsDev_js_1.setGetClientEntrySrcDev)(getClientEntrySrcDev_js_1.getClientEntrySrcDev);
35
35
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
36
36
  function plugin(vikeVitePluginOptions = {}) {
37
37
  const plugins = [
@@ -11,9 +11,11 @@ function onLoad() {
11
11
  (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
12
12
  (0, assertNodeVersion_js_1.assertNodeVersion)();
13
13
  // package.json#peerDependencies isn't enough as users often ignore it
14
- // This assertion isn't reliable: the user may still use a Vite version older than 5.1.0 — see https://github.com/vitejs/vite/pull/19355
15
- // TO-DO/eventually: let's also use this.meta.viteVersion https://github.com/vitejs/vite/pull/20088
16
- (0, assertVersion_js_1.assertVersion)('Vite', vite_1.version, '5.1.0');
14
+ // This assertion isn't reliable: the user may still use a Vite version older than 6.0.0 — see https://github.com/vitejs/vite/pull/19355
15
+ // TO-DO/eventually: let's also use this.meta.viteVersion
16
+ // - https://github.com/vitejs/vite/pull/20088
17
+ // - https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-2025-06-24
18
+ (0, assertVersion_js_1.assertVersion)('Vite', vite_1.version, '6.0.0');
17
19
  // Ensure we don't bloat the server runtime with heavy dependencies such Vite and esbuild
18
20
  (0, assertSetup_js_1.assertIsNotProductionRuntime)();
19
21
  }
@@ -13,19 +13,20 @@ const node_fs_1 = __importDefault(require("node:fs"));
13
13
  const node_path_1 = __importDefault(require("node:path"));
14
14
  const node_fs_2 = require("node:fs");
15
15
  const utils_js_1 = require("../../utils.js");
16
- const virtualFilePageConfigLazy_js_1 = require("../../../shared/virtualFiles/virtualFilePageConfigLazy.js");
16
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
17
17
  const getAssetsDir_js_1 = require("../../shared/getAssetsDir.js");
18
18
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
19
19
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
20
20
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
21
- const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
22
- const pluginBuildEntry_js_1 = require("./pluginBuildEntry.js");
21
+ const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
22
+ const pluginProdBuildEntry_js_1 = require("./pluginProdBuildEntry.js");
23
23
  const getManifestFilePathRelative_js_1 = require("../../shared/getManifestFilePathRelative.js");
24
- (0, utils_js_1.assertIsSingleModuleInstance)('build/handleAssetsManifest.ts');
25
- let assetsJsonFilePath;
24
+ const globalObject = (0, utils_js_1.getGlobalObject)('build/handleAssetsManifest.ts', {
25
+ assetsJsonFilePath: undefined,
26
+ });
26
27
  // true => use workaround config.build.ssrEmitAssets
27
28
  // false => use workaround extractAssets plugin
28
- function handleAssetsManifest_isFixEnabled(config) {
29
+ function handleAssetsManifest_isFixEnabled() {
29
30
  // Allow user to toggle between the two workarounds? E.g. based on https://vike.dev/includeAssetsImportedByServer.
30
31
  return (0, resolveVikeConfigInternal_js_1.isV1Design)();
31
32
  }
@@ -38,7 +39,7 @@ async function fixServerAssets(config) {
38
39
  return { clientManifestMod, serverManifestMod };
39
40
  }
40
41
  async function copyAssets(filesToMove, filesToRemove, config) {
41
- const { outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
42
+ const { outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
42
43
  const assetsDir = (0, getAssetsDir_js_1.getAssetsDir)(config);
43
44
  const assetsDirServer = node_path_1.default.posix.join(outDirServer, assetsDir);
44
45
  if (!filesToMove.length && !filesToRemove.length && !(0, node_fs_2.existsSync)(assetsDirServer))
@@ -170,13 +171,13 @@ function addServerAssets(clientManifest, serverManifest) {
170
171
  }
171
172
  function getPageId(key) {
172
173
  // Normalize from:
173
- // ../../virtual:vike:pageConfigLazy:client:/pages/index
174
+ // ../../virtual:vike:page-entry:client:/pages/index
174
175
  // to:
175
- // virtual:vike:pageConfigLazy:client:/pages/index
176
+ // virtual:vike:page-entry:client:/pages/index
176
177
  // (This seems to be needed only for vitest tests that use Vite's build() API with an inline config.)
177
178
  key = key.substring(key.indexOf('virtual:vike'));
178
- const result = (0, virtualFilePageConfigLazy_js_1.isVirtualFileIdPageConfigLazy)(key);
179
- return result && result.pageId;
179
+ const result = (0, virtualFileId_js_1.parseVirtualFileId)(key);
180
+ return result && result.type === 'page-entry' ? result.pageId : null;
180
181
  }
181
182
  function collectResources(entryRoot, manifest) {
182
183
  const css = [];
@@ -216,15 +217,15 @@ function getHash(src) {
216
217
  }
217
218
  // https://github.com/vikejs/vike/issues/1993
218
219
  function handleAssetsManifest_assertUsageCssCodeSplit(config) {
219
- if (!handleAssetsManifest_isFixEnabled(config))
220
+ if (!handleAssetsManifest_isFixEnabled())
220
221
  return;
221
222
  (0, utils_js_1.assertWarning)(config.build.cssCodeSplit, `${picocolors_1.default.cyan('build.cssCodeSplit')} shouldn't be set to ${picocolors_1.default.cyan('false')} (https://github.com/vikejs/vike/issues/1993)`, { onlyOnce: true });
222
223
  }
223
224
  const targets = [];
224
- function handleAssetsManifest_assertUsageCssTarget(config) {
225
- if (!handleAssetsManifest_isFixEnabled(config))
225
+ function handleAssetsManifest_assertUsageCssTarget(config, env) {
226
+ if (!handleAssetsManifest_isFixEnabled())
226
227
  return;
227
- const isServerSide = (0, isViteServerBuild_js_1.isViteServerBuild)(config);
228
+ const isServerSide = (0, isViteServerSide_js_1.isViteServerSide)(config, env);
228
229
  (0, utils_js_1.assert)(typeof isServerSide === 'boolean');
229
230
  (0, utils_js_1.assert)(config.build.target !== undefined);
230
231
  targets.push({ global: config.build.target, css: config.build.cssTarget, isServerSide });
@@ -283,43 +284,41 @@ async function writeManifestFile(manifest, manifestFilePath) {
283
284
  const manifestFileContent = JSON.stringify(manifest, null, 2);
284
285
  await promises_1.default.writeFile(manifestFilePath, manifestFileContent, 'utf-8');
285
286
  }
286
- async function handleAssetsManifest_getBuildConfig(config) {
287
- const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
288
- const isFixEnabled = handleAssetsManifest_isFixEnabled(config);
287
+ async function handleAssetsManifest_getBuildConfig() {
288
+ const isFixEnabled = handleAssetsManifest_isFixEnabled();
289
289
  return {
290
290
  // https://github.com/vikejs/vike/issues/1339
291
291
  ssrEmitAssets: isFixEnabled ? true : undefined,
292
292
  // Required if `ssrEmitAssets: true`, see https://github.com/vitejs/vite/pull/11430#issuecomment-1454800934
293
293
  cssMinify: isFixEnabled ? 'esbuild' : undefined,
294
294
  manifest: true,
295
- copyPublicDir: vikeConfig.config.vite6BuilderApp
296
- ? // Already set by vike:build:pluginBuildApp
297
- undefined
298
- : !(0, isViteServerBuild_js_1.isViteServerBuild)(config),
295
+ /* Already set by vike:build:pluginBuildApp
296
+ copyPublicDir: !isViteServerSide_viteEnvOptional(config),
297
+ */
299
298
  };
300
299
  }
301
300
  async function handleAssetsManifest(config, viteEnv, options, bundle) {
302
- const isSsrEnv = (0, isViteServerBuild_js_1.isViteServerBuild_onlySsrEnv)(config, viteEnv);
301
+ const isSsrEnv = (0, isViteServerSide_js_1.isViteServerSide_onlySsrEnv)(config, viteEnv);
303
302
  if (isSsrEnv) {
304
- (0, utils_js_1.assert)(!assetsJsonFilePath);
303
+ (0, utils_js_1.assert)(!globalObject.assetsJsonFilePath);
305
304
  const outDirs = (0, getOutDirs_js_1.getOutDirs)(config, viteEnv);
306
- assetsJsonFilePath = node_path_1.default.posix.join(outDirs.outDirRoot, 'assets.json');
307
- await writeAssetsManifestFile(assetsJsonFilePath, config);
305
+ globalObject.assetsJsonFilePath = node_path_1.default.posix.join(outDirs.outDirRoot, 'assets.json');
306
+ await writeAssetsManifestFile(globalObject.assetsJsonFilePath, config);
308
307
  }
309
- if ((0, isViteServerBuild_js_1.isViteServerBuild)(config, viteEnv)) {
308
+ if ((0, isViteServerSide_js_1.isViteServerSide)(config, viteEnv)) {
310
309
  const outDir = options.dir;
311
310
  (0, utils_js_1.assert)(outDir);
312
311
  // Replace __VITE_ASSETS_MANIFEST__ in server builds
313
312
  // - Always replace it in dist/server/
314
313
  // - Also in some other server builds such as dist/vercel/ from vike-vercel
315
314
  // - Don't replace it in dist/rsc/ from vike-react-rsc since __VITE_ASSETS_MANIFEST__ doesn't exist there
316
- const noop = await (0, pluginBuildEntry_js_1.set_macro_ASSETS_MANIFEST)(assetsJsonFilePath, bundle, outDir);
315
+ const noop = await (0, pluginProdBuildEntry_js_1.set_macro_ASSETS_MANIFEST)(globalObject.assetsJsonFilePath, bundle, outDir);
317
316
  if (isSsrEnv)
318
317
  (0, utils_js_1.assert)(!noop); // dist/server should always contain __VITE_ASSETS_MANIFEST__
319
318
  }
320
319
  }
321
320
  async function writeAssetsManifestFile(assetsJsonFilePath, config) {
322
- const isFixEnabled = handleAssetsManifest_isFixEnabled(config);
321
+ const isFixEnabled = handleAssetsManifest_isFixEnabled();
323
322
  const clientManifestFilePath = getManifestFilePath(config, true);
324
323
  const serverManifestFilePath = getManifestFilePath(config, false);
325
324
  if (!isFixEnabled) {
@@ -333,7 +332,7 @@ async function writeAssetsManifestFile(assetsJsonFilePath, config) {
333
332
  await promises_1.default.rm(serverManifestFilePath);
334
333
  }
335
334
  function getManifestFilePath(config, client) {
336
- const outDirs = (0, getOutDirs_js_1.getOutDirs)(config);
335
+ const outDirs = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
337
336
  const outDir = client ? outDirs.outDirClient : outDirs.outDirServer;
338
337
  const env = client ? config.environments.client : config.environments.ssr;
339
338
  (0, utils_js_1.assert)(env);
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.pluginBuildApp = pluginBuildApp;
4
7
  const runPrerenderEntry_js_1 = require("../../../prerender/runPrerenderEntry.js");
5
8
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
6
9
  const utils_js_1 = require("../../utils.js");
7
- const pluginAutoFullBuild_js_1 = require("./pluginAutoFullBuild.js");
10
+ const context_js_1 = require("../../../prerender/context.js");
11
+ const isViteCliCall_js_1 = require("../../shared/isViteCliCall.js");
12
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
13
+ const logErrorHint_js_1 = require("../../../runtime/renderPage/logErrorHint.js");
8
14
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
15
+ const context_js_2 = require("../../../api/context.js");
16
+ const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
17
+ const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
18
+ const runPrerenderEntry_js_2 = require("../../../prerender/runPrerenderEntry.js");
19
+ const getManifestFilePathRelative_js_1 = require("../../shared/getManifestFilePathRelative.js");
20
+ const globalObject = (0, utils_js_1.getGlobalObject)('build/pluginBuildApp.ts', {
21
+ forceExit: false,
22
+ });
9
23
  function pluginBuildApp() {
24
+ let config;
10
25
  return [
11
26
  {
12
27
  name: 'vike:build:pluginBuildApp:pre',
@@ -14,10 +29,7 @@ function pluginBuildApp() {
14
29
  enforce: 'pre',
15
30
  config: {
16
31
  order: 'pre',
17
- async handler(_config) {
18
- const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
19
- if (!vikeConfig.config.vite6BuilderApp)
20
- return;
32
+ handler(_config) {
21
33
  return {
22
34
  builder: {
23
35
  // Can be overridden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
@@ -26,7 +38,7 @@ function pluginBuildApp() {
26
38
  (0, utils_js_1.assert)(builder.environments.ssr);
27
39
  await builder.build(builder.environments.client);
28
40
  await builder.build(builder.environments.ssr);
29
- if ((0, pluginAutoFullBuild_js_1.isPrerenderForceExit)()) {
41
+ if (isPrerenderForceExit()) {
30
42
  (0, runPrerenderEntry_js_1.runPrerender_forceExit)();
31
43
  (0, utils_js_1.assert)(false);
32
44
  }
@@ -39,10 +51,7 @@ function pluginBuildApp() {
39
51
  {
40
52
  name: 'vike:build:pluginBuildApp',
41
53
  apply: 'build',
42
- async config(config) {
43
- const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
44
- if (!vikeConfig.config.vite6BuilderApp)
45
- return;
54
+ config(config) {
46
55
  return {
47
56
  environments: {
48
57
  ssr: {
@@ -55,6 +64,7 @@ function pluginBuildApp() {
55
64
  client: {
56
65
  consumer: 'client',
57
66
  build: {
67
+ outDir: (0, getOutDirs_js_1.resolveOutDir)(config, false),
58
68
  copyPublicDir: true,
59
69
  ssr: false,
60
70
  },
@@ -63,5 +73,107 @@ function pluginBuildApp() {
63
73
  };
64
74
  },
65
75
  },
76
+ {
77
+ name: 'vike:build:pluginBuildApp:autoFullBuild:pre',
78
+ apply: 'build',
79
+ enforce: 'pre',
80
+ async configResolved(config_) {
81
+ config = config_;
82
+ await abortViteBuildSsr();
83
+ },
84
+ // TO-DO/eventually: stop using this writeBundle() hack and, instead, use the buildApp() implementation above.
85
+ // - Could it cause issues if a tool uses the writeBundle() hack together with getVikeConfig() ?
86
+ writeBundle: {
87
+ /* We can't use this because it breaks Vite's logging. TO-DO/eventually: try again with latest Vite version.
88
+ sequential: true,
89
+ order: 'pre',
90
+ */
91
+ async handler(options, bundle) {
92
+ try {
93
+ await (0, handleAssetsManifest_js_1.handleAssetsManifest)(config, this.environment, options, bundle);
94
+ await triggerPrerendering(config, this.environment, bundle);
95
+ }
96
+ catch (err) {
97
+ // We use try-catch also because:
98
+ // - Vite/Rollup swallows errors thrown inside the writeBundle() hook. (It doesn't swallow errors thrown inside the first writeBundle() hook while building the client-side, but it does swallow errors thrown inside the second writeBundle() while building the server-side triggered after Vike calls Vite's `build()` API.)
99
+ // - Avoid Rollup prefixing the error with [vike:build:pluginBuildApp], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
100
+ console.error(err);
101
+ (0, logErrorHint_js_1.logErrorHint)(err);
102
+ process.exit(1);
103
+ }
104
+ },
105
+ },
106
+ },
107
+ {
108
+ name: 'vike:build:pluginBuildApp:autoFullBuild:post',
109
+ apply: 'build',
110
+ enforce: 'post',
111
+ closeBundle: {
112
+ sequential: true,
113
+ order: 'post',
114
+ handler() {
115
+ (0, utils_js_1.onSetupBuild)();
116
+ (0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssTarget)(config, this.environment);
117
+ /* Let vike:build:pluginBuildApp force exit
118
+ runPrerender_forceExit()
119
+ */
120
+ },
121
+ },
122
+ },
66
123
  ];
67
124
  }
125
+ async function triggerPrerendering(config, viteEnv, bundle) {
126
+ const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
127
+ if (!(0, isViteServerSide_js_1.isViteServerSide_onlySsrEnv)(config, viteEnv))
128
+ return;
129
+ if (isDisabled(vikeConfig))
130
+ return;
131
+ // Workaround for @vitejs/plugin-legacy
132
+ // - The legacy plugin triggers its own Rollup build for the client-side.
133
+ // - The legacy plugin doesn't generate a manifest => we can use that to detect the legacy plugin build.
134
+ // - Issue & reproduction: https://github.com/vikejs/vike/issues/1154#issuecomment-1965954636
135
+ if (!bundle[(0, getManifestFilePathRelative_js_1.getManifestFilePathRelative)(config.build.manifest)])
136
+ return;
137
+ if (!(0, context_js_1.isPrerenderAutoRunEnabled)(vikeConfig))
138
+ return;
139
+ const configInline = getFullBuildInlineConfig(config);
140
+ const res = await (0, runPrerenderEntry_js_2.runPrerenderFromAutoRun)(configInline);
141
+ globalObject.forceExit = res.forceExit;
142
+ (0, utils_js_1.assert)((0, context_js_1.wasPrerenderRun)());
143
+ }
144
+ async function abortViteBuildSsr() {
145
+ const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
146
+ if (vikeConfig.config.disableAutoFullBuild !== true && (0, isViteCliCall_js_1.isViteCliCall)() && (0, isViteCliCall_js_1.getViteConfigFromCli)()?.build.ssr) {
147
+ (0, utils_js_1.assertWarning)(false, `The CLI call ${picocolors_1.default.cyan('$ vite build --ssr')} is superfluous since ${picocolors_1.default.cyan('$ vite build')} also builds the server-side. If you want two separate build steps then use https://vike.dev/disableAutoFullBuild or use Vite's ${picocolors_1.default.cyan('build()')} API.`, { onlyOnce: true });
148
+ process.exit(0);
149
+ }
150
+ }
151
+ function isDisabled(vikeConfig) {
152
+ const { disableAutoFullBuild } = vikeConfig.config;
153
+ if (disableAutoFullBuild === undefined || disableAutoFullBuild === 'prerender') {
154
+ const isUserUsingViteApi = !(0, isViteCliCall_js_1.isViteCliCall)() && !(0, context_js_2.isVikeCliOrApi)();
155
+ return isUserUsingViteApi;
156
+ }
157
+ else {
158
+ return disableAutoFullBuild;
159
+ }
160
+ }
161
+ function isPrerenderForceExit() {
162
+ return globalObject.forceExit;
163
+ }
164
+ function getFullBuildInlineConfig(config) {
165
+ const configFromCli = !(0, isViteCliCall_js_1.isViteCliCall)() ? null : (0, isViteCliCall_js_1.getViteConfigFromCli)();
166
+ if (config._viteConfigFromUserEnhanced) {
167
+ return config._viteConfigFromUserEnhanced;
168
+ }
169
+ else {
170
+ return {
171
+ ...configFromCli,
172
+ configFile: configFromCli?.configFile || config.configFile,
173
+ root: config.root,
174
+ build: {
175
+ ...configFromCli?.build,
176
+ },
177
+ };
178
+ }
179
+ }
@@ -6,15 +6,14 @@ exports.analyzeClientEntries = analyzeClientEntries;
6
6
  const utils_js_1 = require("../../utils.js");
7
7
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
8
8
  const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
9
- const virtualFilePageConfigLazy_js_1 = require("../../../shared/virtualFiles/virtualFilePageConfigLazy.js");
9
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
10
10
  const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
11
11
  const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
12
12
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
13
13
  const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/getConfigValueBuildTime.js");
14
- const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
15
- const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
14
+ const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
16
15
  const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
17
- const getPageAssets_js_1 = require("../../../runtime/renderPage/getPageAssets.js");
16
+ const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
18
17
  function pluginBuildConfig() {
19
18
  let config;
20
19
  return [
@@ -37,14 +36,10 @@ function pluginBuildConfig() {
37
36
  },
38
37
  config: {
39
38
  order: 'post',
40
- async handler(config) {
39
+ async handler() {
41
40
  (0, utils_js_1.onSetupBuild)();
42
- return {
43
- build: {
44
- outDir: (0, getOutDirs_js_1.resolveOutDir)(config),
45
- ...(await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)(config)),
46
- },
47
- };
41
+ const build = await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)();
42
+ return { build };
48
43
  },
49
44
  },
50
45
  buildStart() {
@@ -57,9 +52,9 @@ async function getEntries(config) {
57
52
  const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
58
53
  const { _pageConfigs: pageConfigs } = vikeConfig;
59
54
  // TO-DO/next-major-release: remove
60
- const pageFileEntries = await getPageFileEntries(config, (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config));
55
+ const pageFileEntries = await getPageFileEntries(config, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config));
61
56
  (0, utils_js_1.assertUsage)(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
62
- if ((0, isViteServerBuild_js_1.isViteServerBuild)(config)) {
57
+ if ((0, isViteServerSide_js_1.isViteServerSide_viteEnvOptional)(config)) {
63
58
  const pageEntries = getPageEntries(pageConfigs);
64
59
  const entries = {
65
60
  ...pageFileEntries,
@@ -78,8 +73,8 @@ async function getEntries(config) {
78
73
  ...clientEntries,
79
74
  ...pageFileEntries,
80
75
  };
81
- const clientRoutingEntry = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/client/runtime-client-routing/entry.js');
82
- const serverRoutingEntry = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/client/runtime-server-routing/entry.js');
76
+ const clientRoutingEntry = (0, utils_js_1.requireResolveDistFile)('dist/esm/client/runtime-client-routing/entry.js');
77
+ const serverRoutingEntry = (0, utils_js_1.requireResolveDistFile)('dist/esm/client/runtime-server-routing/entry.js');
83
78
  if (hasClientRouting) {
84
79
  entries['entries/entry-client-routing'] = clientRoutingEntry;
85
80
  }
@@ -132,7 +127,7 @@ function analyzeClientEntries(pageConfigs, config) {
132
127
  // Ensure Rollup creates entries for each page file, see https://github.com/vikejs/vike/issues/350
133
128
  // (Otherwise the page files may be missing in the client manifest.json)
134
129
  async function getPageFileEntries(config, includeAssetsImportedByServer) {
135
- const isForClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild)(config);
130
+ const isForClientSide = !(0, isViteServerSide_js_1.isViteServerSide_viteEnvOptional)(config);
136
131
  const fileTypes = isForClientSide ? ['.page', '.page.client'] : ['.page', '.page.server'];
137
132
  if (isForClientSide && includeAssetsImportedByServer) {
138
133
  fileTypes.push('.page.server');
@@ -176,7 +171,7 @@ function getEntryFromClientEntry(clientEntry, config, addExtractAssetsQuery) {
176
171
  }
177
172
  function getEntryFromPageConfig(pageConfig, isForClientSide) {
178
173
  let { pageId } = pageConfig;
179
- const entryTarget = (0, virtualFilePageConfigLazy_js_1.getVirtualFileIdPageConfigLazy)(pageId, isForClientSide);
174
+ const entryTarget = (0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId, isForClientSide });
180
175
  let entryName = pageId;
181
176
  // Avoid:
182
177
  // ```
@@ -1,16 +1,8 @@
1
1
  "use strict";
2
- /*
3
- * We create a file `dist/server/package.json` to support ESM users.
4
- * Otherwise, following error is thrown:
5
- * Must use import to load ES Module: dist/server/pageFiles.js
6
- * require() of ES modules is not supported.
7
- * require() of dist/server/pageFiles.js from node_modules/vike/dist/esm/node/runtime/page-files/setup.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
8
- * Reproduction: https://github.com/brillout/vite-plugin-ssr-server-import-syntax
9
- */
10
2
  Object.defineProperty(exports, "__esModule", { value: true });
11
3
  exports.pluginDistPackageJsonFile = pluginDistPackageJsonFile;
12
4
  const rollupIsEsm_js_1 = require("../../shared/rollupIsEsm.js");
13
- const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
5
+ const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
14
6
  function pluginDistPackageJsonFile() {
15
7
  let config;
16
8
  return {
@@ -20,7 +12,7 @@ function pluginDistPackageJsonFile() {
20
12
  config = config_;
21
13
  },
22
14
  generateBundle(options, bundle) {
23
- if (!(0, isViteServerBuild_js_1.isViteServerBuild)(config))
15
+ if (!(0, isViteServerSide_js_1.isViteServerSide)(config, this.environment))
24
16
  return;
25
17
  const isEsm = (0, rollupIsEsm_js_1.rollupIsEsm)(options);
26
18
  const fileName = 'package.json';
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.pluginModuleBanner = pluginModuleBanner;
7
- const magic_string_1 = __importDefault(require("magic-string"));
8
4
  const utils_js_1 = require("../../utils.js");
9
- const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
5
+ const getMagicString_js_1 = require("../../shared/getMagicString.js");
6
+ const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
10
7
  // Rollup's banner feature doesn't work with Vite: https://github.com/vitejs/vite/issues/8412
11
8
  // But, anyways, we want to prepend the banner at the beginning of each module, not at the beginning of each file (I believe that's what Rollup's banner feature does).
12
9
  function pluginModuleBanner() {
@@ -21,7 +18,7 @@ function pluginModuleBanner() {
21
18
  transform: {
22
19
  order: 'post',
23
20
  handler(code, id, options) {
24
- if (!(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options) &&
21
+ if (!(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options) &&
25
22
  // Inject module banners if user sets `build.minify` to `false` for inspecting dist/client/
26
23
  config.build.minify) {
27
24
  return;
@@ -32,15 +29,12 @@ function pluginModuleBanner() {
32
29
  if (id.startsWith(config.root))
33
30
  id = id.slice(config.root.length + 1);
34
31
  id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
35
- const magicString = new magic_string_1.default(code);
32
+ const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
36
33
  // Use legal comment so that esbuild doesn't remove it.
37
34
  // - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
38
35
  // - https://esbuild.github.io/api/#legal-comments
39
36
  magicString.prepend(`/*! ${id} [vike:pluginModuleBanner] */\n`);
40
- return {
41
- code: magicString.toString(),
42
- map: magicString.generateMap({ hires: true, source: id }),
43
- };
37
+ return getMagicStringResult();
44
38
  },
45
39
  },
46
40
  };
@@ -3,10 +3,10 @@ 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.pluginBuildEntry = pluginBuildEntry;
6
+ exports.pluginProdBuildEntry = pluginProdBuildEntry;
7
7
  exports.set_macro_ASSETS_MANIFEST = set_macro_ASSETS_MANIFEST;
8
8
  const plugin_1 = require("@brillout/vite-plugin-server-entry/plugin");
9
- const virtualFileEntry_js_1 = require("../../../shared/virtualFiles/virtualFileEntry.js");
9
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
10
10
  const utils_js_1 = require("../../utils.js");
11
11
  const promises_1 = __importDefault(require("node:fs/promises"));
12
12
  const node_path_1 = __importDefault(require("node:path"));
@@ -15,11 +15,11 @@ const globalContext_js_1 = require("../../../runtime/globalContext.js");
15
15
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
16
16
  const getViteConfigRuntime_js_1 = require("../../shared/getViteConfigRuntime.js");
17
17
  const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
18
- function pluginBuildEntry() {
18
+ function pluginProdBuildEntry() {
19
19
  let config;
20
20
  return [
21
21
  {
22
- name: 'vike:build:pluginBuildEntry',
22
+ name: 'vike:build:pluginProdBuildEntry',
23
23
  apply: 'build',
24
24
  enforce: 'post',
25
25
  async configResolved(config_) {
@@ -44,15 +44,15 @@ function getServerProductionEntryCode(config) {
44
44
  (0, globalContext_js_1.assertBuildInfo)(buildInfo);
45
45
  // After the old design is removed, let's maybe simplify and move everything into a single virtual module
46
46
  const importerCode = [
47
- ` import { setGlobalContext_buildEntry } from '${importPath}';`,
48
- ` import * as virtualFileExports from '${virtualFileEntry_js_1.virtualFileIdEntryServer}';`,
47
+ ` import { setGlobalContext_prodBuildEntry } from '${importPath}';`,
48
+ ` import * as virtualFileExportsGlobalEntry from '${virtualFileId_js_1.virtualFileIdGlobalEntryServer}';`,
49
49
  ` {`,
50
- // Because of a Rollup bug, we have to assign ASSETS_MANIFEST to a variable before passing it to setGlobalContext_buildEntry()
50
+ // Because of a Rollup bug, we have to assign ASSETS_MANIFEST to a variable before passing it to setGlobalContext_prodBuildEntry()
51
51
  // - This workaround doesn't work: https://github.com/vikejs/vike/commit/d5f3a4f7aae5a8bc44192e6cbb2bcb9007be188d
52
52
  ` const assetsManifest = ${ASSETS_MANIFEST};`,
53
53
  ` const buildInfo = ${JSON.stringify(buildInfo, null, 2)};`,
54
- ' setGlobalContext_buildEntry({',
55
- ` virtualFileExports,`,
54
+ ' setGlobalContext_prodBuildEntry({',
55
+ ` virtualFileExportsGlobalEntry,`,
56
56
  ` assetsManifest,`,
57
57
  ` buildInfo,`,
58
58
  ' });',
@@ -95,14 +95,14 @@ function find_ASSETS_MANIFEST(bundle) {
95
95
  }
96
96
  function getImportPath(config) {
97
97
  // We resolve filePathAbsolute even if we don't use it: we use require.resolve() as an assertion that the relative path is correct
98
- const filePathAbsolute = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/__internal/index.js');
98
+ const filePathAbsolute = (0, utils_js_1.requireResolveDistFile)('dist/esm/__internal/index.js');
99
99
  if (
100
100
  // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
101
101
  true) {
102
102
  return 'vike/__internal';
103
103
  }
104
104
  else {
105
- const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
105
+ const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
106
106
  const filePathRelative = node_path_1.default.posix.relative(outDirServer, filePathAbsolute);
107
107
  return filePathRelative;
108
108
  }
@@ -5,16 +5,14 @@ const pluginBuildApp_js_1 = require("./pluginBuild/pluginBuildApp.js");
5
5
  const pluginDistPackageJsonFile_js_1 = require("./pluginBuild/pluginDistPackageJsonFile.js");
6
6
  const pluginSuppressRollupWarning_js_1 = require("./pluginBuild/pluginSuppressRollupWarning.js");
7
7
  const pluginDistFileNames_js_1 = require("./pluginBuild/pluginDistFileNames.js");
8
- const pluginAutoFullBuild_js_1 = require("./pluginBuild/pluginAutoFullBuild.js");
9
- const pluginBuildEntry_js_1 = require("./pluginBuild/pluginBuildEntry.js");
8
+ const pluginProdBuildEntry_js_1 = require("./pluginBuild/pluginProdBuildEntry.js");
10
9
  const pluginBuildConfig_js_1 = require("./pluginBuild/pluginBuildConfig.js");
11
10
  const pluginModuleBanner_js_1 = require("./pluginBuild/pluginModuleBanner.js");
12
11
  function pluginBuild() {
13
12
  return [
14
13
  ...(0, pluginBuildConfig_js_1.pluginBuildConfig)(),
15
14
  ...(0, pluginBuildApp_js_1.pluginBuildApp)(),
16
- ...(0, pluginAutoFullBuild_js_1.pluginAutoFullBuild)(),
17
- ...(0, pluginBuildEntry_js_1.pluginBuildEntry)(),
15
+ ...(0, pluginProdBuildEntry_js_1.pluginProdBuildEntry)(),
18
16
  (0, pluginDistPackageJsonFile_js_1.pluginDistPackageJsonFile)(),
19
17
  (0, pluginSuppressRollupWarning_js_1.pluginSuppressRollupWarning)(),
20
18
  (0, pluginDistFileNames_js_1.pluginDistFileNames)(),
@@ -23,6 +23,6 @@ async function determineFsAllowList(config) {
23
23
  // We add it again just to be sure.
24
24
  fsAllow.push((0, vite_1.searchForWorkspaceRoot)(process.cwd()));
25
25
  // Add node_modules/vike/
26
- const vikeNodeModulesRoot = (0, utils_js_1.getVikeNodeModulesRoot)();
27
- fsAllow.push(vikeNodeModulesRoot);
26
+ const packageNodeModulesDirectory = (0, utils_js_1.getPackageNodeModulesDirectory)();
27
+ fsAllow.push(packageNodeModulesDirectory);
28
28
  }
@@ -5,7 +5,7 @@ const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
5
5
  const utils_js_1 = require("../../utils.js");
6
6
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
7
7
  const pluginBuildConfig_js_1 = require("../pluginBuild/pluginBuildConfig.js");
8
- const virtualFileEntry_js_1 = require("../../../shared/virtualFiles/virtualFileEntry.js");
8
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
9
9
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
10
10
  const getConfigValueSourcesRelevant_js_1 = require("../pluginVirtualFiles/getConfigValueSourcesRelevant.js");
11
11
  const debug = (0, utils_js_1.createDebugger)('vike:optimizeDeps');
@@ -15,8 +15,9 @@ async function determineOptimizeDeps(config) {
15
15
  const { entriesClient, entriesServer, includeClient, includeServer } = await getPageDeps(config, pageConfigs);
16
16
  config.optimizeDeps.include = add(config.optimizeDeps.include, includeClient);
17
17
  config.optimizeDeps.entries = add(config.optimizeDeps.entries, entriesClient);
18
- // Workaround until https://github.com/vitejs/vite-plugin-react/issues/650
19
- // - TODO/soon: remove workaround once https://github.com/vitejs/vite/pull/20495 is released
18
+ // Workaround for https://github.com/vitejs/vite-plugin-react/issues/650
19
+ // - The issue was closed as completed with https://github.com/vitejs/vite/pull/20495 but it doesn't fix the issue and the workaround is still needed.
20
+ // - TO-DO/eventually: try removing the workaround and see if the CI fails (at test/@cloudflare_vite-plugin/) — maybe the issue will get fixed at some point.
20
21
  includeServer.push('react/jsx-dev-runtime');
21
22
  for (const envName in config.environments) {
22
23
  const env = config.environments[envName];
@@ -133,9 +134,9 @@ async function getPageDeps(config, pageConfigs) {
133
134
  const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
134
135
  Object.values(clientEntries).forEach((e) => addEntry(e, true));
135
136
  if (hasClientRouting)
136
- addEntry(virtualFileEntry_js_1.virtualFileIdEntryClientCR, true);
137
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientCR, true);
137
138
  if (hasServerRouting)
138
- addEntry(virtualFileEntry_js_1.virtualFileIdEntryClientSR, true);
139
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientSR, true);
139
140
  }
140
141
  entriesClient = entriesClient;
141
142
  entriesServer = entriesServer;