vike 0.4.253 → 0.4.254

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 (387) hide show
  1. package/dist/client/assertEnvClient.js +2 -2
  2. package/dist/client/index.js +1 -1
  3. package/dist/client/node.js +1 -1
  4. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +1 -1
  5. package/dist/client/runtime-client-routing/createPageContextClient.js +1 -1
  6. package/dist/client/runtime-client-routing/entry.js +1 -1
  7. package/dist/client/runtime-client-routing/getBaseServer.d.ts +1 -1
  8. package/dist/client/runtime-client-routing/getBaseServer.js +1 -1
  9. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -1
  10. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.js +1 -1
  11. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.d.ts +1 -1
  12. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +1 -1
  13. package/dist/client/runtime-client-routing/getPageContext.d.ts +1 -1
  14. package/dist/client/runtime-client-routing/getPageContext.js +1 -1
  15. package/dist/client/runtime-client-routing/getPageContextCurrent.d.ts +1 -1
  16. package/dist/client/runtime-client-routing/getPageContextCurrent.js +1 -1
  17. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +13 -5
  18. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +1 -1
  19. package/dist/client/runtime-client-routing/getPageContextPublicClient.d.ts +1 -1
  20. package/dist/client/runtime-client-routing/getPageContextPublicClient.js +1 -1
  21. package/dist/client/runtime-client-routing/history.d.ts +1 -1
  22. package/dist/client/runtime-client-routing/history.js +1 -1
  23. package/dist/client/runtime-client-routing/index.d.ts +1 -1
  24. package/dist/client/runtime-client-routing/index.js +1 -1
  25. package/dist/client/runtime-client-routing/initClientRouter.d.ts +1 -1
  26. package/dist/client/runtime-client-routing/initClientRouter.js +1 -1
  27. package/dist/client/runtime-client-routing/initOnLinkClick.d.ts +1 -1
  28. package/dist/client/runtime-client-routing/initOnLinkClick.js +1 -1
  29. package/dist/client/runtime-client-routing/initOnPopState.d.ts +1 -1
  30. package/dist/client/runtime-client-routing/initOnPopState.js +1 -1
  31. package/dist/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
  32. package/dist/client/runtime-client-routing/isClientSideRoutable.js +1 -1
  33. package/dist/client/runtime-client-routing/isLinkSkipped.d.ts +1 -1
  34. package/dist/client/runtime-client-routing/isLinkSkipped.js +1 -1
  35. package/dist/client/runtime-client-routing/logErrorClient.d.ts +1 -1
  36. package/dist/client/runtime-client-routing/logErrorClient.js +1 -1
  37. package/dist/client/runtime-client-routing/navigate.d.ts +1 -1
  38. package/dist/client/runtime-client-routing/navigate.js +1 -1
  39. package/dist/client/runtime-client-routing/normalizeUrlArgument.d.ts +1 -1
  40. package/dist/client/runtime-client-routing/normalizeUrlArgument.js +1 -1
  41. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +1 -1
  42. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.js +1 -1
  43. package/dist/client/runtime-client-routing/prefetch.d.ts +1 -1
  44. package/dist/client/runtime-client-routing/prefetch.js +1 -1
  45. package/dist/client/runtime-client-routing/renderPageClient.d.ts +1 -1
  46. package/dist/client/runtime-client-routing/renderPageClient.js +1 -1
  47. package/dist/client/runtime-client-routing/scrollRestoration.d.ts +1 -1
  48. package/dist/client/runtime-client-routing/scrollRestoration.js +1 -1
  49. package/dist/client/runtime-client-routing/setScrollPosition.d.ts +1 -1
  50. package/dist/client/runtime-client-routing/setScrollPosition.js +1 -1
  51. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +1 -1
  52. package/dist/client/runtime-server-routing/createPageContextClient.js +1 -1
  53. package/dist/client/runtime-server-routing/entry.js +1 -1
  54. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +1 -1
  55. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.js +1 -1
  56. package/dist/client/runtime-server-routing/getPageContextPublicClient.d.ts +1 -1
  57. package/dist/client/runtime-server-routing/getPageContextPublicClient.js +1 -1
  58. package/dist/client/runtime-server-routing/index.d.ts +1 -1
  59. package/dist/client/runtime-server-routing/index.js +1 -0
  60. package/dist/client/shared/execHookOnRenderClient.d.ts +1 -1
  61. package/dist/client/shared/execHookOnRenderClient.js +1 -1
  62. package/dist/client/shared/getCurrentUrl.d.ts +1 -1
  63. package/dist/client/shared/getCurrentUrl.js +1 -1
  64. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +1 -1
  65. package/dist/client/shared/getGlobalContextClientInternalShared.js +1 -1
  66. package/dist/client/shared/getJsonSerializedInHtml.d.ts +1 -1
  67. package/dist/client/shared/getJsonSerializedInHtml.js +1 -1
  68. package/dist/client/shared/getPageContextPublicClientShared.d.ts +1 -1
  69. package/dist/client/shared/getPageContextPublicClientShared.js +1 -1
  70. package/dist/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  71. package/dist/client/shared/loadPageConfigsLazyClientSide.js +1 -1
  72. package/dist/client/shared/normalizeClientSideUrl.d.ts +1 -1
  73. package/dist/client/shared/normalizeClientSideUrl.js +1 -1
  74. package/dist/client/shared/removeFoucBuster.d.ts +1 -1
  75. package/dist/client/shared/removeFoucBuster.js +1 -1
  76. package/dist/node/api/{assertEnvApi.js → assertEnvApiDev.js} +2 -2
  77. package/dist/node/api/assertEnvApiDevAndProd.d.ts +1 -0
  78. package/dist/node/api/assertEnvApiDevAndProd.js +9 -0
  79. package/dist/node/api/build.d.ts +1 -1
  80. package/dist/node/api/build.js +1 -1
  81. package/dist/node/api/dev.d.ts +1 -1
  82. package/dist/node/api/dev.js +3 -3
  83. package/dist/node/api/index.d.ts +1 -1
  84. package/dist/node/api/index.js +1 -1
  85. package/dist/node/api/prepareViteApiCall.d.ts +1 -1
  86. package/dist/node/api/prepareViteApiCall.js +1 -1
  87. package/dist/node/api/prerender.d.ts +2 -2
  88. package/dist/node/api/prerender.js +1 -1
  89. package/dist/node/api/preview.d.ts +1 -1
  90. package/dist/node/api/preview.js +1 -1
  91. package/dist/node/api/resolveViteConfigFromUser.d.ts +1 -1
  92. package/dist/node/api/resolveViteConfigFromUser.js +1 -1
  93. package/dist/node/cli/assertEnvCli.js +2 -2
  94. package/dist/node/cli/context.d.ts +1 -1
  95. package/dist/node/cli/context.js +1 -1
  96. package/dist/node/cli/entry.js +1 -1
  97. package/dist/node/cli/index.d.ts +1 -1
  98. package/dist/node/cli/index.js +1 -1
  99. package/dist/node/cli/parseCli.d.ts +1 -1
  100. package/dist/node/cli/parseCli.js +1 -1
  101. package/dist/node/prerender/resolvePrerenderConfig.d.ts +3 -3
  102. package/dist/node/prerender/resolvePrerenderConfig.js +8 -4
  103. package/dist/node/prerender/runPrerender.d.ts +8 -7
  104. package/dist/node/prerender/runPrerender.js +22 -20
  105. package/dist/node/prerender/runPrerenderEntry.d.ts +1 -1
  106. package/dist/node/prerender/runPrerenderEntry.js +4 -1
  107. package/dist/node/vite/assertEnvVite.js +2 -2
  108. package/dist/node/vite/index.d.ts +1 -1
  109. package/dist/node/vite/index.js +29 -16
  110. package/dist/node/vite/plugins/build/handleAssetsManifest.d.ts +1 -1
  111. package/dist/node/vite/plugins/build/handleAssetsManifest.js +4 -4
  112. package/dist/node/vite/plugins/build/pluginBuildApp.d.ts +1 -1
  113. package/dist/node/vite/plugins/build/pluginBuildApp.js +1 -1
  114. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +1 -1
  115. package/dist/node/vite/plugins/build/pluginBuildConfig.js +1 -1
  116. package/dist/node/vite/plugins/build/pluginDistFileNames.d.ts +1 -1
  117. package/dist/node/vite/plugins/build/pluginDistFileNames.js +1 -1
  118. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.d.ts +1 -1
  119. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.js +1 -1
  120. package/dist/node/vite/plugins/build/pluginModuleBanner.d.ts +1 -1
  121. package/dist/node/vite/plugins/build/pluginModuleBanner.js +1 -1
  122. package/dist/node/vite/plugins/build/pluginProdBuildEntry.d.ts +1 -1
  123. package/dist/node/vite/plugins/build/pluginProdBuildEntry.js +7 -3
  124. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.d.ts +1 -1
  125. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +1 -1
  126. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +1 -1
  127. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +1 -1
  128. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.d.ts +1 -1
  129. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +1 -1
  130. package/dist/node/vite/plugins/pluginAssertFileEnv.d.ts +1 -1
  131. package/dist/node/vite/plugins/pluginAssertFileEnv.js +1 -1
  132. package/dist/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  133. package/dist/node/vite/plugins/pluginBaseUrls.js +1 -1
  134. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.d.ts +1 -1
  135. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
  136. package/dist/node/vite/plugins/pluginCommon.d.ts +1 -1
  137. package/dist/node/vite/plugins/pluginCommon.js +2 -37
  138. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.d.ts +1 -1
  139. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.js +1 -1
  140. package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -1
  141. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +28 -3
  142. package/dist/node/vite/plugins/pluginDev.d.ts +1 -1
  143. package/dist/node/vite/plugins/pluginDev.js +1 -1
  144. package/dist/node/vite/plugins/pluginExtractAssets.d.ts +1 -1
  145. package/dist/node/vite/plugins/pluginExtractAssets.js +1 -1
  146. package/dist/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  147. package/dist/node/vite/plugins/pluginExtractExportNames.js +1 -1
  148. package/dist/node/vite/plugins/pluginPreview.d.ts +1 -1
  149. package/dist/node/vite/plugins/pluginPreview.js +1 -1
  150. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.d.ts +1 -1
  151. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.js +21 -4
  152. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +3 -1
  153. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +2 -1
  154. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.d.ts +1 -1
  155. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.js +1 -1
  156. package/dist/node/vite/plugins/pluginSetGlobalContext.d.ts +1 -1
  157. package/dist/node/vite/plugins/pluginSetGlobalContext.js +1 -1
  158. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.d.ts +1 -1
  159. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.js +1 -1
  160. package/dist/node/vite/plugins/pluginStaticReplace.d.ts +1 -1
  161. package/dist/node/vite/plugins/pluginStaticReplace.js +1 -1
  162. package/dist/node/vite/plugins/pluginStripPointerImportAttribute.d.ts +4 -0
  163. package/dist/node/vite/plugins/pluginStripPointerImportAttribute.js +31 -0
  164. package/dist/node/vite/plugins/pluginVirtualFiles/debug.js +1 -1
  165. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +1 -1
  166. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +1 -1
  167. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +1 -1
  168. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +8 -18
  169. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +1 -1
  170. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +1 -1
  171. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +1 -1
  172. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +1 -3
  173. package/dist/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  174. package/dist/node/vite/plugins/pluginVirtualFiles.js +1 -1
  175. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.d.ts +1 -1
  176. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.js +1 -1
  177. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  178. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
  179. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  180. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +1 -1
  181. package/dist/node/vite/shared/addSsrMiddleware.d.ts +1 -1
  182. package/dist/node/vite/shared/addSsrMiddleware.js +2 -2
  183. package/dist/node/vite/shared/findPageFiles.d.ts +1 -1
  184. package/dist/node/vite/shared/findPageFiles.js +1 -1
  185. package/dist/node/vite/shared/getAssetsDir.d.ts +1 -1
  186. package/dist/node/vite/shared/getAssetsDir.js +1 -1
  187. package/dist/node/vite/shared/getClientEntrySrcDev.d.ts +1 -1
  188. package/dist/node/vite/shared/getClientEntrySrcDev.js +1 -1
  189. package/dist/node/vite/shared/getEnvVarObject.d.ts +1 -1
  190. package/dist/node/vite/shared/getEnvVarObject.js +1 -1
  191. package/dist/node/vite/shared/getFilePath.d.ts +1 -1
  192. package/dist/node/vite/shared/getFilePath.js +1 -1
  193. package/dist/node/vite/shared/getMagicString.d.ts +1 -1
  194. package/dist/node/vite/shared/getMagicString.js +1 -1
  195. package/dist/node/vite/shared/getManifestFilePathRelative.d.ts +1 -1
  196. package/dist/node/vite/shared/getManifestFilePathRelative.js +1 -1
  197. package/dist/node/vite/shared/getOutDirs.d.ts +3 -1
  198. package/dist/node/vite/shared/getOutDirs.js +8 -4
  199. package/dist/node/vite/shared/getViteConfigRuntime.d.ts +1 -1
  200. package/dist/node/vite/shared/getViteConfigRuntime.js +1 -1
  201. package/dist/node/vite/shared/importString.d.ts +1 -1
  202. package/dist/node/vite/shared/importString.js +1 -1
  203. package/dist/node/vite/shared/isAsset.d.ts +1 -1
  204. package/dist/node/vite/shared/isAsset.js +1 -1
  205. package/dist/node/vite/shared/isViteCli.d.ts +1 -1
  206. package/dist/node/vite/shared/isViteCli.js +3 -12
  207. package/dist/node/vite/shared/isViteServerSide.d.ts +1 -1
  208. package/dist/node/vite/shared/isViteServerSide.js +1 -1
  209. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.d.ts +1 -1
  210. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.js +1 -1
  211. package/dist/node/vite/shared/loggerDev.d.ts +1 -1
  212. package/dist/node/vite/shared/loggerDev.js +1 -1
  213. package/dist/node/vite/shared/loggerVite.d.ts +1 -1
  214. package/dist/node/vite/shared/loggerVite.js +1 -1
  215. package/dist/node/vite/shared/normalizeId.d.ts +1 -1
  216. package/dist/node/vite/shared/normalizeId.js +1 -1
  217. package/dist/node/vite/shared/parseEsModule.d.ts +1 -1
  218. package/dist/node/vite/shared/parseEsModule.js +1 -1
  219. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.d.ts +1 -1
  220. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +1 -1
  221. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +1 -1
  222. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +1 -1
  223. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.d.ts +1 -1
  224. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.js +3 -0
  225. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.d.ts +1 -1
  226. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.js +1 -1
  227. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.d.ts +1 -1
  228. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +1 -1
  229. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.d.ts +1 -1
  230. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +1 -1
  231. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.d.ts +3 -1
  232. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.js +1 -1
  233. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.d.ts +1 -1
  234. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
  235. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +1 -1
  236. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +1 -1
  237. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.d.ts +1 -1
  238. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +1 -1
  239. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.d.ts +1 -1
  240. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +21 -3
  241. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -1
  242. package/dist/node/vite/shared/resolveVikeConfigInternal.js +19 -7
  243. package/dist/node/vite/shared/rollupIsEsm.d.ts +1 -1
  244. package/dist/node/vite/shared/rollupIsEsm.js +1 -1
  245. package/dist/server/__internal/index.d.ts +1 -1
  246. package/dist/server/__internal/index.js +1 -1
  247. package/dist/server/__internal/vite.d.ts +1 -1
  248. package/dist/server/__internal/vite.js +1 -1
  249. package/dist/server/assertEnvServer.js +2 -4
  250. package/dist/server/client/router.d.ts +1 -1
  251. package/dist/server/client/router.js +1 -1
  252. package/dist/server/createPageRenderer.d.ts +2 -2
  253. package/dist/server/createPageRenderer.js +2 -2
  254. package/dist/server/importBuild.js +1 -1
  255. package/dist/server/runtime/asyncHook.d.ts +1 -1
  256. package/dist/server/runtime/asyncHook.js +1 -3
  257. package/dist/server/runtime/createDevMiddleware.d.ts +1 -1
  258. package/dist/server/runtime/createDevMiddleware.js +1 -1
  259. package/dist/server/runtime/getPageContext.d.ts +1 -1
  260. package/dist/server/runtime/getPageContext.js +1 -1
  261. package/dist/server/runtime/globalContext.d.ts +1 -1
  262. package/dist/server/runtime/globalContext.js +1 -3
  263. package/dist/server/runtime/index-deprecated.d.ts +1 -1
  264. package/dist/server/runtime/index-deprecated.js +1 -1
  265. package/dist/server/runtime/index.d.ts +1 -1
  266. package/dist/server/runtime/index.js +1 -1
  267. package/dist/server/runtime/logErrorServer.d.ts +1 -1
  268. package/dist/server/runtime/logErrorServer.js +1 -3
  269. package/dist/server/runtime/loggerRuntime.d.ts +1 -1
  270. package/dist/server/runtime/loggerRuntime.js +1 -1
  271. package/dist/server/runtime/renderPageServer/addErrorHint/errors.js +1 -1
  272. package/dist/server/runtime/renderPageServer/addErrorHint.d.ts +1 -1
  273. package/dist/server/runtime/renderPageServer/addErrorHint.js +3 -2
  274. package/dist/server/runtime/renderPageServer/analyzePage.d.ts +1 -1
  275. package/dist/server/runtime/renderPageServer/analyzePage.js +1 -1
  276. package/dist/server/runtime/renderPageServer/assertArguments.d.ts +1 -1
  277. package/dist/server/runtime/renderPageServer/assertArguments.js +1 -1
  278. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +1 -1
  279. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
  280. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +1 -1
  281. package/dist/server/runtime/renderPageServer/createHttpResponse.js +1 -1
  282. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +7 -3
  283. package/dist/server/runtime/renderPageServer/createPageContextServer.js +1 -1
  284. package/dist/server/runtime/renderPageServer/csp.d.ts +1 -1
  285. package/dist/server/runtime/renderPageServer/csp.js +1 -1
  286. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.d.ts +1 -1
  287. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.js +1 -1
  288. package/dist/server/runtime/renderPageServer/execHookOnError.d.ts +1 -1
  289. package/dist/server/runtime/renderPageServer/execHookOnError.js +1 -1
  290. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +1 -1
  291. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +1 -1
  292. package/dist/server/runtime/renderPageServer/execHookServer.d.ts +1 -1
  293. package/dist/server/runtime/renderPageServer/execHookServer.js +1 -1
  294. package/dist/server/runtime/renderPageServer/getCacheControl.d.ts +1 -1
  295. package/dist/server/runtime/renderPageServer/getCacheControl.js +1 -1
  296. package/dist/server/runtime/renderPageServer/getEarlyHints.d.ts +1 -1
  297. package/dist/server/runtime/renderPageServer/getEarlyHints.js +1 -1
  298. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +1 -1
  299. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +1 -1
  300. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.d.ts +1 -1
  301. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.js +1 -1
  302. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.d.ts +1 -1
  303. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.js +1 -1
  304. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.d.ts +1 -1
  305. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.js +1 -1
  306. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
  307. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +1 -1
  308. package/dist/server/runtime/renderPageServer/getPageAssets.d.ts +1 -1
  309. package/dist/server/runtime/renderPageServer/getPageAssets.js +1 -1
  310. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.d.ts +1 -1
  311. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.js +1 -1
  312. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +1 -1
  313. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +1 -1
  314. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.d.ts +1 -1
  315. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +1 -1
  316. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +1 -1
  317. package/dist/server/runtime/renderPageServer/headersResponse.js +1 -1
  318. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.d.ts +1 -1
  319. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +1 -1
  320. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.d.ts +1 -1
  321. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.js +1 -1
  322. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.d.ts +1 -1
  323. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.js +1 -1
  324. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.d.ts +1 -1
  325. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.js +1 -1
  326. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.d.ts +1 -1
  327. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.js +1 -1
  328. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.d.ts +1 -1
  329. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.js +1 -1
  330. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.d.ts +1 -1
  331. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.js +1 -1
  332. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +1 -1
  333. package/dist/server/runtime/renderPageServer/html/injectAssets.js +1 -1
  334. package/dist/server/runtime/renderPageServer/html/propKeys.d.ts +1 -1
  335. package/dist/server/runtime/renderPageServer/html/propKeys.js +1 -1
  336. package/dist/server/runtime/renderPageServer/html/renderHtml.d.ts +1 -1
  337. package/dist/server/runtime/renderPageServer/html/renderHtml.js +1 -1
  338. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +1 -1
  339. package/dist/server/runtime/renderPageServer/html/serializeContext.js +1 -1
  340. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.d.ts +1 -1
  341. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.js +1 -1
  342. package/dist/server/runtime/renderPageServer/html/stream.d.ts +1 -1
  343. package/dist/server/runtime/renderPageServer/html/stream.js +10 -2
  344. package/dist/server/runtime/renderPageServer/inferMediaType.d.ts +1 -1
  345. package/dist/server/runtime/renderPageServer/inferMediaType.js +1 -1
  346. package/dist/server/runtime/renderPageServer/isFontFallback.d.ts +1 -1
  347. package/dist/server/runtime/renderPageServer/isFontFallback.js +1 -1
  348. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +4 -2
  349. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +1 -1
  350. package/dist/server/runtime/renderPageServer/log404/index.d.ts +1 -1
  351. package/dist/server/runtime/renderPageServer/log404/index.js +1 -1
  352. package/dist/server/runtime/renderPageServer/loggerProd.d.ts +1 -1
  353. package/dist/server/runtime/renderPageServer/loggerProd.js +1 -1
  354. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +13 -5
  355. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +1 -1
  356. package/dist/server/runtime/renderPageServer/resolveRedirects.d.ts +1 -1
  357. package/dist/server/runtime/renderPageServer/resolveRedirects.js +1 -3
  358. package/dist/server/runtime/renderPageServer.d.ts +4 -2
  359. package/dist/server/runtime/renderPageServer.js +1 -1
  360. package/dist/server/runtime/universal-middleware.d.ts +1 -1
  361. package/dist/server/runtime/universal-middleware.js +1 -1
  362. package/dist/shared-server-client/getPageContextPublicShared.js +7 -2
  363. package/dist/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js +12 -1
  364. package/dist/shared-server-client/page-configs/serialize/serializeConfigValues.js +1 -1
  365. package/dist/shared-server-client/route/abort.js +1 -4
  366. package/dist/shared-server-client/route/deduceRouteStringFromFilesystemPath.js +1 -1
  367. package/dist/types/PageConfig.d.ts +1 -1
  368. package/dist/types/PageContext.d.ts +2 -1
  369. package/dist/types/index.d.ts +1 -0
  370. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  371. package/dist/utils/PROJECT_VERSION.js +1 -1
  372. package/dist/utils/assertSingleInstance.js +1 -1
  373. package/dist/utils/debug.d.ts +1 -1
  374. package/dist/utils/debug.js +1 -0
  375. package/dist/utils/isObjectWithKeys.js +1 -1
  376. package/dist/utils/isSameErrorMessage.js +1 -1
  377. package/dist/utils/isScriptFile.js +1 -1
  378. package/dist/utils/isStorybook.d.ts +2 -0
  379. package/dist/utils/isStorybook.js +8 -0
  380. package/dist/utils/isToolCli.d.ts +2 -0
  381. package/dist/utils/isToolCli.js +7 -0
  382. package/dist/utils/preventConstantFolding.d.ts +2 -0
  383. package/dist/utils/preventConstantFolding.js +7 -0
  384. package/dist/utils/slice.js +1 -1
  385. package/dist/utils/sorter.js +1 -1
  386. package/package.json +3 -4
  387. /package/dist/node/api/{assertEnvApi.d.ts → assertEnvApiDev.d.ts} +0 -0
@@ -25,7 +25,6 @@ import { createPageContextServer } from '../../server/runtime/renderPageServer/c
25
25
  import pc from '@brillout/picocolors';
26
26
  import { cpus } from 'node:os';
27
27
  import { getGlobalContextServerInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering, setGlobalContext_prerenderContext, } from '../../server/runtime/globalContext.js';
28
- import { resolveConfig as resolveViteConfig } from 'vite';
29
28
  import { getPageFilesServerSide } from '../../shared-server-client/getPageFiles.js';
30
29
  import { getPageContextRequestUrl } from '../../shared-server-client/getPageContextRequestUrl.js';
31
30
  import { getUrlFromRouteString } from '../../shared-server-client/route/resolveRouteString.js';
@@ -40,7 +39,7 @@ import { getVikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.
40
39
  import { execHookSingleWithoutPageContext, isUserHookError } from '../../shared-server-client/hooks/execHook.js';
41
40
  import { setWasPrerenderRun } from './context.js';
42
41
  import { resolvePrerenderConfigGlobal, resolvePrerenderConfigLocal } from './resolvePrerenderConfig.js';
43
- import { getOutDirs } from '../vite/shared/getOutDirs.js';
42
+ import { getOutDirsAllFromRootNormalized } from '../vite/shared/getOutDirs.js';
44
43
  import fs from 'node:fs';
45
44
  import { getPublicProxy } from '../../shared-server-client/getPublicProxy.js';
46
45
  import { getStaticRedirectsForPrerender } from '../../server/runtime/renderPageServer/resolveRedirects.js';
@@ -57,9 +56,11 @@ async function runPrerender(options = {}, trigger) {
57
56
  console.log(`${pc.cyan(`vike v${PROJECT_VERSION}`)} ${pc.green('pre-rendering HTML...')}`);
58
57
  }
59
58
  await disableReactStreaming();
60
- const viteConfig = await resolveViteConfig(options.viteConfig || {}, 'build', 'production');
59
+ await initGlobalContext_runPrerender();
60
+ const { globalContext } = await getGlobalContextServerInternal();
61
+ // TO-DO/eventually: remove getVikeConfigInternal() to completely remove Vite dependency
62
+ // https://github.com/vikejs/vike/issues/3113
61
63
  const vikeConfig = await getVikeConfigInternal();
62
- const { outDirServer } = getOutDirs(viteConfig, undefined);
63
64
  const prerenderConfigGlobal = await resolvePrerenderConfigGlobal(vikeConfig);
64
65
  const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
65
66
  if (!isPrerenderingEnabled) {
@@ -72,12 +73,12 @@ async function runPrerender(options = {}, trigger) {
72
73
  `You're executing ${pc.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${pc.cyan('prerender')} setting (${pc.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`
73
74
  )
74
75
  */
75
- return { viteConfig };
76
+ return;
76
77
  }
77
78
  const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
78
- await initGlobalContext_runPrerender();
79
- const { globalContext } = await getGlobalContextServerInternal();
80
79
  globalContext._pageFilesAll.forEach(assertExportNames);
80
+ const { root, build: { outDir: outDirRoot }, } = globalContext.viteConfigRuntime;
81
+ const { outDirServer, outDirClient } = getOutDirsAllFromRootNormalized(outDirRoot, root);
81
82
  const prerenderContext = {
82
83
  pageContexts: [],
83
84
  output: [],
@@ -85,6 +86,8 @@ async function runPrerender(options = {}, trigger) {
85
86
  _pageContextInit: options.pageContextInit ?? null,
86
87
  _prerenderedPageContexts: {},
87
88
  _requestIdCounter: 0,
89
+ _userRootDir: root,
90
+ _outDirClient: outDirClient,
88
91
  };
89
92
  const doNotPrerenderList = [];
90
93
  await collectDoNoPrerenderList(vikeConfig._pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext);
@@ -109,12 +112,11 @@ async function runPrerender(options = {}, trigger) {
109
112
  if (pageId) {
110
113
  prerenderContext._prerenderedPageContexts[pageId] = htmlFile.pageContext;
111
114
  }
112
- await writeFiles(htmlFile, viteConfig, options.onPagePrerender, prerenderContext, logLevel);
115
+ await writeFiles(htmlFile, prerenderContext, options.onPagePrerender, logLevel);
113
116
  };
114
117
  await prerenderPages(prerenderContext, concurrencyLimit, onComplete);
115
118
  warnContradictoryNoPrerenderList(prerenderContext._prerenderedPageContexts, doNotPrerenderList);
116
- const { redirects, isPrerenderingEnabledForAllPages } = prerenderConfigGlobal;
117
- if (redirects !== null ? redirects : isPrerenderingEnabledForAllPages) {
119
+ if (prerenderConfigGlobal.redirects) {
118
120
  const showWarningUponDynamicRedirects = !prerenderConfigGlobal.partial;
119
121
  await prerenderRedirects(globalContext, onComplete, showWarningUponDynamicRedirects);
120
122
  }
@@ -125,10 +127,9 @@ async function runPrerender(options = {}, trigger) {
125
127
  const prerenderContextPublic = getPrerenderContextPublic(prerenderContext);
126
128
  objectAssign(vikeConfig.prerenderContext, prerenderContextPublic, true);
127
129
  setGlobalContext_prerenderContext(prerenderContextPublic);
128
- if (prerenderConfigGlobal.isPrerenderingEnabledForAllPages && !prerenderConfigGlobal.keepDistServer) {
130
+ if (!prerenderConfigGlobal.keepDistServer) {
129
131
  fs.rmSync(outDirServer, { recursive: true });
130
132
  }
131
- return { viteConfig };
132
133
  }
133
134
  async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
134
135
  // V1 design
@@ -182,6 +183,7 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, default
182
183
  }
183
184
  });
184
185
  }
186
+ // TO-DO/next-major-release: remove
185
187
  function assertExportNames(pageFile) {
186
188
  const { exportNames, fileType } = pageFile;
187
189
  assert(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
@@ -559,18 +561,16 @@ async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPre
559
561
  assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while there isn't any ${hookName}() hook returning an URL matching the page's route. You must use a ${hookName}() hook (https://vike.dev/${hookName}) for providing the list of URLs to be pre-rendered for that page. If you want to skip pre-rendering that page, you can remove this warning by setting +prerender to false at ${pageAt} (https://vike.dev/pre-rendering#partial) or by setting +prerender.partial to true (https://vike.dev/prerender#partial).`, { onlyOnce: true });
560
562
  });
561
563
  }
562
- async function writeFiles({ pageContext, htmlString, pageContextSerialized }, viteConfig, onPagePrerender, prerenderContext, logLevel) {
563
- const writeJobs = [write(pageContext, 'HTML', htmlString, viteConfig, onPagePrerender, prerenderContext, logLevel)];
564
+ async function writeFiles({ pageContext, htmlString, pageContextSerialized }, prerenderContext, onPagePrerender, logLevel) {
565
+ const writeJobs = [write(pageContext, 'HTML', htmlString, onPagePrerender, prerenderContext, logLevel)];
564
566
  if (pageContextSerialized !== null) {
565
- writeJobs.push(write(pageContext, 'JSON', pageContextSerialized, viteConfig, onPagePrerender, prerenderContext, logLevel));
567
+ writeJobs.push(write(pageContext, 'JSON', pageContextSerialized, onPagePrerender, prerenderContext, logLevel));
566
568
  }
567
569
  await Promise.all(writeJobs);
568
570
  }
569
- async function write(pageContext, fileType, fileContent, viteConfig, onPagePrerender, prerenderContext, logLevel) {
571
+ async function write(pageContext, fileType, fileContent, onPagePrerender, prerenderContext, logLevel) {
570
572
  const { urlOriginal } = pageContext;
571
573
  assert(urlOriginal.startsWith('/'));
572
- const { outDirClient } = getOutDirs(viteConfig, undefined);
573
- const { root } = viteConfig;
574
574
  let fileUrl;
575
575
  if (fileType === 'HTML') {
576
576
  const doNotCreateExtraDirectory = prerenderContext._noExtraDir ?? pageContext.is404;
@@ -586,6 +586,7 @@ async function write(pageContext, fileType, fileContent, viteConfig, onPagePrere
586
586
  assert(!filePathRelative.startsWith('/'),
587
587
  // https://github.com/vikejs/vike/issues/1929
588
588
  { urlOriginal, fileUrl });
589
+ const { _outDirClient: outDirClient } = prerenderContext;
589
590
  assertPosixPath(outDirClient);
590
591
  assertPosixPath(filePathRelative);
591
592
  const filePath = path.posix.join(outDirClient, filePathRelative);
@@ -610,9 +611,10 @@ async function write(pageContext, fileType, fileContent, viteConfig, onPagePrere
610
611
  await mkdir(path.posix.dirname(filePath), { recursive: true });
611
612
  await writeFile(filePath, fileContent);
612
613
  if (logLevel === 'info') {
613
- assertPosixPath(root);
614
+ const { _userRootDir: userRootDir } = prerenderContext;
615
+ assertPosixPath(userRootDir);
614
616
  assertPosixPath(outDirClient);
615
- let outDirClientRelative = path.posix.relative(root, outDirClient);
617
+ let outDirClientRelative = path.posix.relative(userRootDir, outDirClient);
616
618
  if (!outDirClientRelative.endsWith('/')) {
617
619
  outDirClientRelative = outDirClientRelative + '/';
618
620
  }
@@ -5,7 +5,7 @@ export { runPrerender_forceExit };
5
5
  import type { InlineConfig, ResolvedConfig } from 'vite';
6
6
  import { PrerenderOptions } from './runPrerender.js';
7
7
  declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
8
- viteConfig: ResolvedConfig;
8
+ viteConfig: null | ResolvedConfig;
9
9
  }>;
10
10
  declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
11
11
  declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
@@ -8,10 +8,13 @@ import { isVikeCli } from '../cli/context.js';
8
8
  import { isViteCli } from '../vite/shared/isViteCli.js';
9
9
  import { runPrerender } from './runPrerender.js';
10
10
  import { logErrorServer } from '../../server/runtime/logErrorServer.js';
11
+ import { getGlobalContextServerInternal } from '../../server/runtime/globalContext.js';
11
12
  async function runPrerenderFromAPI(options = {}) {
12
13
  // - 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.
13
14
  // - We don't use addErrorHint() because we don't have control over what happens with the error. For example, if the user land purposely swallows the error then the hint shouldn't be logged. Also, it's best if the hint is shown to the user *after* the error, but we cannot do/guarentee that.
14
- const { viteConfig } = await runPrerender(options, 'prerender()');
15
+ await runPrerender(options, 'prerender()');
16
+ const { globalContext } = await getGlobalContextServerInternal();
17
+ const viteConfig = globalContext.viteConfig ?? null;
15
18
  return { viteConfig };
16
19
  }
17
20
  async function runPrerenderFromCLIPrerenderCommand() {
@@ -5,9 +5,9 @@ import { assertNodeVersion } from '../../utils/assertNodeVersion.js';
5
5
  import { version as viteVersion } from 'vite';
6
6
  import { assertViteVersion } from '../../utils/assertViteVersion.js';
7
7
  import { installUncaughtErrorHandlers } from '../../utils/installUncaughtErrorHandlers.js';
8
- assertEnv();
8
+ assertEnvVite();
9
9
  onLoad();
10
- function assertEnv() {
10
+ function assertEnvVite() {
11
11
  markSetup_vikeVitePlugin();
12
12
  assertIsNotBrowser();
13
13
  assertNodeVersion();
@@ -1,4 +1,3 @@
1
- import './assertEnvVite.js';
2
1
  export default plugin;
3
2
  export { plugin };
4
3
  export { plugin as ssr };
@@ -6,6 +5,7 @@ export { getVikeConfig } from './shared/resolveVikeConfigInternal.js';
6
5
  export { PROJECT_VERSION as version } from '../../utils/PROJECT_VERSION.js';
7
6
  export type { VikeVitePluginOptions as UserConfig };
8
7
  export type { VikeVitePluginOptions };
8
+ import './assertEnvVite.js';
9
9
  type PluginInterop = Record<string, unknown> & {
10
10
  name: string;
11
11
  };
@@ -1,4 +1,3 @@
1
- import './assertEnvVite.js';
2
1
  export default plugin;
3
2
  export { plugin };
4
3
  // TO-DO/next-major-release: remove
@@ -37,17 +36,22 @@ import { pluginModuleBanner } from './plugins/build/pluginModuleBanner.js';
37
36
  import { pluginReplaceConstantsNonRunnableDev } from './plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js';
38
37
  import { isVikeCliOrApi } from '../../shared-server-node/api-context.js';
39
38
  import { pluginViteConfigVikeExtensions } from './plugins/pluginViteConfigVikeExtensions.js';
39
+ import { pluginStripPointerImportAttribute } from './plugins/pluginStripPointerImportAttribute.js';
40
40
  import { getVikeConfigInternalEarly, isOnlyResolvingUserConfig } from '../api/resolveViteConfigFromUser.js';
41
+ import './assertEnvVite.js';
42
+ import { isStorybook } from '../../utils/isStorybook.js';
41
43
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
42
44
  setGetClientEntrySrcDev(getClientEntrySrcDev);
43
45
  assertIsNotProductionRuntime();
44
46
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
45
47
  function plugin(vikeVitePluginOptions = {}) {
48
+ // TO-DO/next-major-release: remove
49
+ const pluginAddendum = { _vikeVitePluginOptions: vikeVitePluginOptions };
46
50
  const promise = (async () => {
47
- if (skip())
51
+ if (removeVitePlugin())
48
52
  return [];
49
53
  const vikeConfig = await getVikeConfigInternalEarly();
50
- const plugins = [
54
+ const plugin = [
51
55
  ...pluginCommon(vikeVitePluginOptions),
52
56
  ...pluginVirtualFiles(),
53
57
  ...pluginDev(),
@@ -65,11 +69,13 @@ function plugin(vikeVitePluginOptions = {}) {
65
69
  ...pluginReplaceConstantsGlobalThis(),
66
70
  ...pluginStaticReplace(vikeConfig),
67
71
  ...pluginNonRunnabeDev(),
72
+ ...pluginStripPointerImportAttribute(),
68
73
  ...(await pluginViteConfigVikeExtensions(vikeConfig)),
69
74
  ];
70
- return plugins;
75
+ Object.assign(plugin, pluginAddendum);
76
+ return plugin;
71
77
  })();
72
- Object.assign(promise, { _vikeVitePluginOptions: vikeVitePluginOptions });
78
+ Object.assign(promise, pluginAddendum);
73
79
  return promise;
74
80
  }
75
81
  function pluginBuild() {
@@ -86,24 +92,31 @@ function pluginBuild() {
86
92
  function pluginNonRunnabeDev() {
87
93
  return [...pluginViteRPC(), ...pluginReplaceConstantsNonRunnableDev()];
88
94
  }
89
- function skip() {
95
+ function removeVitePlugin() {
90
96
  // Early resolving of user Vite configs
91
97
  if (isOnlyResolvingUserConfig()) {
92
98
  return true;
93
99
  }
100
+ // *****************/
101
+ // **** Vitest *****/
102
+ // *****************/
94
103
  // For Vitest, we only add Vike's Vite plugin if Vike's JavaScript API is used.
95
104
  // - In the context of running unit tests with Vitest, Vike's Vite plugin doesn't add any value AFAICT.
96
- // - If the user calls Vike's JavaScript API inside Vitest (e.g. `build()` inside `beforeAll()`) => vite.config.js is loaded twice: once by Vitest and once by Vike => problematic because Vitest's environment is `development` whereas Vike's `build()` environment is `production` => the globalContext.ts isProd() function throws an assertion fail (I don't know why the two globalContext.ts instances aren't independent from each other) => that's why we skip Vike's Vite plugin when it's Vitest that loads vite.config.js
97
- // - When calling `$ vitest` Vitest loads vite.config.js if it lives at process.cwd()
98
- // - The user is supposed to use Vike's API instead of Vite's API. Vike supports Vite's API only for third parties (e.g. Vitest or Storybook).
105
+ // - If the user calls Vike's JavaScript API inside Vitest (e.g. `build()` inside `beforeAll()`)
106
+ // => vite.config.js is loaded twice: once by Vitest and once by Vike
107
+ // => problematic because Vitest's environment is `development` whereas Vike's `build()` environment is `production`
108
+ // => globalContext.ts internal logic isProd() is inconsistent and assertion fails.
109
+ // I don't know why the two globalContext.ts instances aren't independent from each other.
110
+ // https://github.com/vikejs/vike/blob/2d3be474441707f05a7932240f3506517a735f0d/packages/vike/src/server/runtime/globalContext.ts#L746-L753
111
+ // => that's why we skip Vike's Vite plugin when it's Vitest that loads vite.config.js
112
+ // - When running `$ vitest` Vitest loads vite.config.js if it lives at process.cwd()
113
+ // - The user is supposed to use Vike's API instead of Vite's API. Vike supports Vite's API only for third parties (e.g. Vitest and Storybook).
99
114
  // - https://vike.dev/vitest
100
- if (
101
- /* Maybe also all third party tools such as Storybook?
102
- !isViteCli() &&
103
- /*/
104
- isVitest() &&
105
- ///*/
106
- !isVikeCliOrApi()) {
115
+ if (isVitest() && !isVikeCliOrApi()) {
116
+ return true;
117
+ }
118
+ // https://github.com/vikejs/vike/issues/798#issuecomment-1531093835
119
+ if (isStorybook() && !isVikeCliOrApi()) {
107
120
  return true;
108
121
  }
109
122
  return false;
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { handleAssetsManifest };
3
2
  export { handleAssetsManifest_getBuildConfig };
4
3
  export { handleAssetsManifest_isFixEnabled };
@@ -6,6 +5,7 @@ export { handleAssetsManifest_assertUsageCssCodeSplit };
6
5
  export { handleAssetsManifest_assertUsageCssTarget };
7
6
  export { handleAssetsManifest_alignCssTarget };
8
7
  import type { Environment, ResolvedConfig, Rollup } from 'vite';
8
+ import '../../assertEnvVite.js';
9
9
  type Bundle = Rollup.OutputBundle;
10
10
  declare function handleAssetsManifest_isFixEnabled(): boolean;
11
11
  declare function handleAssetsManifest_assertUsageCssCodeSplit(config: ResolvedConfig): void;
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { handleAssetsManifest };
3
2
  export { handleAssetsManifest_getBuildConfig };
4
3
  export { handleAssetsManifest_isFixEnabled };
@@ -23,6 +22,7 @@ import { getOutDirs } from '../../shared/getOutDirs.js';
23
22
  import { isViteServerSide_onlySsrEnv, isViteServerSide, isViteServerSide_viteEnvOptional, } from '../../shared/isViteServerSide.js';
24
23
  import { set_macro_ASSETS_MANIFEST } from './pluginProdBuildEntry.js';
25
24
  import { getManifestFilePathRelative } from '../../shared/getManifestFilePathRelative.js';
25
+ import '../../assertEnvVite.js';
26
26
  const globalObject = getGlobalObject('handleAssetsManifest.ts', {
27
27
  assetsJsonFilePath: undefined,
28
28
  targetsAll: [],
@@ -320,13 +320,13 @@ async function handleAssetsManifest(config, viteEnv, options, bundle) {
320
320
  if (isViteServerSide(config, viteEnv)) {
321
321
  const outDir = options.dir;
322
322
  assert(outDir);
323
- // Replace __VITE_ASSETS_MANIFEST__ in server builds
323
+ // Replace ASSETS_MANIFEST in server builds
324
324
  // - Always replace it in dist/server/
325
325
  // - Also in some other server builds such as dist/vercel/ from vike-vercel
326
- // - Don't replace it in dist/rsc/ from vike-react-rsc since __VITE_ASSETS_MANIFEST__ doesn't exist there
326
+ // - Don't replace it in dist/rsc/ from vike-react-rsc since ASSETS_MANIFEST doesn't exist there
327
327
  const noop = await set_macro_ASSETS_MANIFEST(globalObject.assetsJsonFilePath, bundle, outDir);
328
328
  if (isSsrEnv)
329
- assert(!noop); // dist/server should always contain __VITE_ASSETS_MANIFEST__
329
+ assert(!noop); // dist/server should always contain ASSETS_MANIFEST
330
330
  }
331
331
  }
332
332
  async function writeAssetsManifestFile(assetsJsonFilePath, config) {
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginBuildApp };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function pluginBuildApp(): Plugin[];
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginBuildApp };
3
2
  import { runPrerender_forceExit } from '../../../prerender/runPrerenderEntry.js';
4
3
  import { resolveOutDir } from '../../shared/getOutDirs.js';
@@ -15,6 +14,7 @@ import { isViteServerSide_onlySsrEnv } from '../../shared/isViteServerSide.js';
15
14
  import { runPrerenderFromAutoRun } from '../../../prerender/runPrerenderEntry.js';
16
15
  import { getManifestFilePathRelative } from '../../shared/getManifestFilePathRelative.js';
17
16
  import { logErrorServer } from '../../../../server/runtime/logErrorServer.js';
17
+ import '../../assertEnvVite.js';
18
18
  const globalObject = getGlobalObject('build/pluginBuildApp.ts', {
19
19
  forceExit: false,
20
20
  });
@@ -1,9 +1,9 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginBuildConfig };
3
2
  export { assertRollupInput };
4
3
  export { analyzeClientEntries };
5
4
  import type { ResolvedConfig, Plugin } from 'vite';
6
5
  import type { PageConfigBuildTime } from '../../../../types/PageConfig.js';
6
+ import '../../assertEnvVite.js';
7
7
  declare function pluginBuildConfig(): Plugin[];
8
8
  declare function analyzeClientEntries(pageConfigs: PageConfigBuildTime[], config: ResolvedConfig): {
9
9
  hasClientRouting: boolean;
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginBuildConfig };
3
2
  export { assertRollupInput };
4
3
  export { analyzeClientEntries };
@@ -19,6 +18,7 @@ import { getConfigValueBuildTime } from '../../../../shared-server-client/page-c
19
18
  import { isViteServerSide_viteEnvOptional } from '../../shared/isViteServerSide.js';
20
19
  import { handleAssetsManifest_assertUsageCssCodeSplit, handleAssetsManifest_getBuildConfig, handleAssetsManifest_alignCssTarget, } from './handleAssetsManifest.js';
21
20
  import { resolveIncludeAssetsImportedByServer } from '../../../../server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.js';
21
+ import '../../assertEnvVite.js';
22
22
  function pluginBuildConfig() {
23
23
  return [
24
24
  {
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginDistFileNames };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function pluginDistFileNames(): Plugin[];
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginDistFileNames };
3
2
  // Attempt to preserve file structure of `.page.js` files:
4
3
  // - https://github.com/vikejs/vike/commit/11a4c49e5403aa7c37c8020c462b499425b41854
@@ -11,6 +10,7 @@ import path from 'node:path';
11
10
  import crypto from 'node:crypto';
12
11
  import { getAssetsDir } from '../../shared/getAssetsDir.js';
13
12
  import { assertModuleId, getFilePathToShowToUserModule } from '../../shared/getFilePath.js';
13
+ import '../../assertEnvVite.js';
14
14
  function pluginDistFileNames() {
15
15
  return [
16
16
  {
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginDistPackageJsonFile };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function pluginDistPackageJsonFile(): Plugin[];
@@ -1,7 +1,7 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginDistPackageJsonFile };
3
2
  import { rollupIsEsm } from '../../shared/rollupIsEsm.js';
4
3
  import { isViteServerSide } from '../../shared/isViteServerSide.js';
4
+ import '../../assertEnvVite.js';
5
5
  function pluginDistPackageJsonFile() {
6
6
  let config;
7
7
  return [
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginModuleBanner };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function pluginModuleBanner(): Plugin[];
@@ -1,8 +1,8 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginModuleBanner };
3
2
  import { assert } from '../../../../utils/assert.js';
4
3
  import { removeVirtualFileIdPrefix } from '../../../../utils/virtualFileId.js';
5
4
  import { getMagicString } from '../../shared/getMagicString.js';
5
+ import '../../assertEnvVite.js';
6
6
  // Misusing legal comments so that esbuild doesn't remove them.
7
7
  // - Legal comments: https://esbuild.github.io/api/#legal-comments
8
8
  // - Terser removes legal comments, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
@@ -1,7 +1,7 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginProdBuildEntry };
3
2
  export { set_macro_ASSETS_MANIFEST };
4
3
  import type { Plugin, Rollup } from 'vite';
4
+ import '../../assertEnvVite.js';
5
5
  type Bundle = Rollup.OutputBundle;
6
6
  declare function pluginProdBuildEntry(): Plugin[];
7
7
  declare function set_macro_ASSETS_MANIFEST(assetsJsonFilePath: string | undefined, bundle: Bundle, outDir: string): Promise<boolean>;
@@ -1,4 +1,3 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginProdBuildEntry };
3
2
  export { set_macro_ASSETS_MANIFEST };
4
3
  import { serverProductionEntryPlugin } from '@brillout/vite-plugin-server-entry/plugin';
@@ -6,13 +5,18 @@ import { virtualFileIdGlobalEntryServer } from '../../../../shared-server-node/v
6
5
  import { PROJECT_VERSION } from '../../../../utils/PROJECT_VERSION.js';
7
6
  import { assert } from '../../../../utils/assert.js';
8
7
  import { requireResolveDistFile } from '../../../../utils/requireResolve.js';
8
+ import { preventConstantFolding } from '../../../../utils/preventConstantFolding.js';
9
9
  import fs from 'node:fs/promises';
10
10
  import path from 'node:path';
11
11
  import { isUsingClientRouter } from '../pluginExtractExportNames.js';
12
12
  import { assertBuildInfo } from '../../../../server/runtime/globalContext.js';
13
13
  import { getOutDirs } from '../../shared/getOutDirs.js';
14
14
  import { getViteConfigRuntime } from '../../shared/getViteConfigRuntime.js';
15
- const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
15
+ import '../../assertEnvVite.js';
16
+ const ASSETS_MANIFEST = `__VITE_ASSETS_MANIFEST_${
17
+ // Prevent ASSETS_MANIFEST to be found in `node_modules/vike/` when server runtime imports Vike's Vite plugin via `import { prerender } from 'vike/api'` with ssr.noExternal.includes('vike')
18
+ // https://github.com/vikejs/vike/issues/3113
19
+ preventConstantFolding()}_`;
16
20
  function pluginProdBuildEntry() {
17
21
  let config;
18
22
  return [
@@ -65,7 +69,7 @@ function getServerProductionEntryCode(config) {
65
69
  async function set_macro_ASSETS_MANIFEST(assetsJsonFilePath, bundle, outDir) {
66
70
  assert(outDir);
67
71
  const chunkPath = find_ASSETS_MANIFEST(bundle);
68
- // Some server builds don't contain __VITE_ASSETS_MANIFEST__ such as dist/rsc/ from vike-react-rsc
72
+ // Some server builds don't contain ASSETS_MANIFEST such as dist/rsc/ from vike-react-rsc
69
73
  if (!chunkPath) {
70
74
  const noop = true; // no operation
71
75
  return noop;
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginSuppressRollupWarning };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function pluginSuppressRollupWarning(): Plugin[];
@@ -1,6 +1,6 @@
1
- import '../../assertEnvVite.js';
2
1
  // Suppress Rollup warnings `Generated an empty chunk: "index.page.server"`
3
2
  export { pluginSuppressRollupWarning };
3
+ import '../../assertEnvVite.js';
4
4
  function pluginSuppressRollupWarning() {
5
5
  return [
6
6
  {
@@ -1,6 +1,6 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginReplaceConstantsNonRunnableDev };
3
2
  import type { Plugin } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare global {
5
5
  var __VIKE__IS_NON_RUNNABLE_DEV: undefined | true;
6
6
  var __VIKE__DYNAMIC_IMPORT: (module: `virtual:${string}`) => Promise<Record<string, unknown>>;
@@ -1,10 +1,10 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginReplaceConstantsNonRunnableDev };
3
2
  // We cannot use [`define`](https://vite.dev/config/shared-options.html#define) because we don't have access to `this.environment` and therefore we cannot call `isRunnableDevEnvironment(this.environment)` inside a configEnvironment() hook.
4
3
  import { assert } from '../../../../utils/assert.js';
5
4
  import { isDevCheck } from '../../../../utils/isDev.js';
6
5
  import { isRunnableDevEnvironment } from '../../../../utils/isRunnableDevEnvironment.js';
7
6
  import { getMagicString } from '../../shared/getMagicString.js';
7
+ import '../../assertEnvVite.js';
8
8
  const IS_NON_RUNNABLE_DEV = 'globalThis.__VIKE__IS_NON_RUNNABLE_DEV';
9
9
  const DYNAMIC_IMPORT = '__VIKE__DYNAMIC_IMPORT';
10
10
  // === Rolldown filter
@@ -1,7 +1,7 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginViteRPC };
3
2
  import type { Plugin, ViteDevServer } from 'vite';
4
3
  import type { ClientDependency } from '../../../../shared-server-client/getPageFiles/analyzePageClientSide/ClientDependency.js';
4
+ import '../../assertEnvVite.js';
5
5
  export type ViteRPC = ReturnType<typeof getViteRpcFunctions>;
6
6
  declare function getViteRpcFunctions(viteDevServer: ViteDevServer): {
7
7
  transformIndexHtmlRPC(html: string): Promise<string>;
@@ -1,9 +1,9 @@
1
- import '../../assertEnvVite.js';
2
1
  export { pluginViteRPC };
3
2
  import { createViteRPC } from '../../../../utils/getViteRPC.js';
4
3
  import { isDevCheck } from '../../../../utils/isDev.js';
5
4
  import { retrievePageAssetsDev } from '../../../../server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.js';
6
5
  import { getViteConfigRuntime } from '../../shared/getViteConfigRuntime.js';
6
+ import '../../assertEnvVite.js';
7
7
  function getViteRpcFunctions(viteDevServer) {
8
8
  return {
9
9
  async transformIndexHtmlRPC(html) {
@@ -1,4 +1,4 @@
1
- import '../assertEnvVite.js';
2
1
  export { pluginAssertFileEnv };
3
2
  import type { Plugin } from 'vite';
3
+ import '../assertEnvVite.js';
4
4
  declare function pluginAssertFileEnv(): Plugin[];
@@ -1,4 +1,3 @@
1
- import '../assertEnvVite.js';
2
1
  export { pluginAssertFileEnv };
3
2
  import { capitalizeFirstLetter } from '../../../utils/capitalizeFirstLetter.js';
4
3
  import { applyDev } from '../../../utils/isDev.js';
@@ -15,6 +14,7 @@ import { normalizeId } from '../shared/normalizeId.js';
15
14
  import { isV1Design } from '../shared/resolveVikeConfigInternal.js';
16
15
  import { isViteServerSide, isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
17
16
  import { suffixesAssertFileEnv } from '../../../shared-server-node/getFileSuffixes.js';
17
+ import '../assertEnvVite.js';
18
18
  const envS = suffixesAssertFileEnv;
19
19
  // === Rolldown filter
20
20
  const skipNodeModules = '/node_modules/'; // Only assert `.server.js`, `.client.js` and `.ssr.js` for user files
@@ -1,4 +1,4 @@
1
- import '../assertEnvVite.js';
2
1
  export { pluginBaseUrls };
3
2
  import type { Plugin } from 'vite';
3
+ import '../assertEnvVite.js';
4
4
  declare function pluginBaseUrls(): Plugin[];
@@ -1,8 +1,8 @@
1
- import '../assertEnvVite.js';
2
1
  export { pluginBaseUrls };
3
2
  import { resolveBase } from '../../../shared-server-node/resolveBase.js';
4
3
  import { assert } from '../../../utils/assert.js';
5
4
  import { getVikeConfigInternal } from '../shared/resolveVikeConfigInternal.js';
5
+ import '../assertEnvVite.js';
6
6
  function pluginBaseUrls() {
7
7
  let basesResolved;
8
8
  return [
@@ -1,4 +1,4 @@
1
- import '../../assertEnvVite.js';
2
1
  export { assertResolveAlias };
3
2
  import type { ResolvedConfig } from 'vite';
3
+ import '../../assertEnvVite.js';
4
4
  declare function assertResolveAlias(config: ResolvedConfig): void;
@@ -1,9 +1,9 @@
1
- import '../../assertEnvVite.js';
2
1
  export { assertResolveAlias };
3
2
  import { assert, assertUsage, assertWarning } from '../../../../utils/assert.js';
4
3
  import { isArray } from '../../../../utils/isArray.js';
5
4
  import { isPathAliasRecommended } from '../../../../utils/parseNpmPackage.js';
6
5
  import pc from '@brillout/picocolors';
6
+ import '../../assertEnvVite.js';
7
7
  // Recommend users to avoid un-distinguishable path aliases.
8
8
  // There are a lot of libraries that don't or cannot follow that recommendation, for example:
9
9
  // - Nx
@@ -1,7 +1,7 @@
1
- import '../assertEnvVite.js';
2
1
  export { pluginCommon };
3
2
  import { type InlineConfig, type Plugin } from 'vite';
4
3
  import type { VitePluginServerEntryOptions } from '@brillout/vite-plugin-server-entry/plugin';
4
+ import '../assertEnvVite.js';
5
5
  declare module 'vite' {
6
6
  interface UserConfig {
7
7
  vitePluginServerEntry?: VitePluginServerEntryOptions;