vike 0.4.250 → 0.4.251-commit-9c5fb90

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 (518) hide show
  1. package/dist/client/assertEnvClient.d.ts +1 -0
  2. package/dist/client/assertEnvClient.js +5 -0
  3. package/dist/client/index.d.ts +1 -0
  4. package/dist/client/index.js +1 -0
  5. package/dist/client/node.d.ts +1 -1
  6. package/dist/client/node.js +1 -0
  7. package/dist/client/runtime-client-routing/{createPageContextClientSide.d.ts → createPageContextClient.d.ts} +12 -9
  8. package/dist/client/runtime-client-routing/{createPageContextClientSide.js → createPageContextClient.js} +26 -14
  9. package/dist/client/runtime-client-routing/entry.d.ts +1 -1
  10. package/dist/client/runtime-client-routing/entry.js +2 -1
  11. package/dist/client/runtime-client-routing/getBaseServer.d.ts +1 -0
  12. package/dist/client/runtime-client-routing/getBaseServer.js +2 -1
  13. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -0
  14. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.js +2 -1
  15. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.d.ts +1 -0
  16. package/dist/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +2 -1
  17. package/dist/client/runtime-client-routing/getPageContext.d.ts +1 -0
  18. package/dist/client/runtime-client-routing/getPageContext.js +1 -0
  19. package/dist/client/runtime-client-routing/getPageContextCurrent.d.ts +1 -0
  20. package/dist/client/runtime-client-routing/getPageContextCurrent.js +2 -1
  21. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +178 -65
  22. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +10 -4
  23. package/dist/client/runtime-client-routing/getPageContextPublicClient.d.ts +14 -0
  24. package/dist/client/runtime-client-routing/getPageContextPublicClient.js +6 -0
  25. package/dist/client/runtime-client-routing/history.d.ts +1 -0
  26. package/dist/client/runtime-client-routing/history.js +5 -1
  27. package/dist/client/runtime-client-routing/index.d.ts +2 -1
  28. package/dist/client/runtime-client-routing/index.js +2 -1
  29. package/dist/client/runtime-client-routing/initClientRouter.d.ts +1 -0
  30. package/dist/client/runtime-client-routing/initClientRouter.js +2 -1
  31. package/dist/client/runtime-client-routing/initOnLinkClick.d.ts +1 -0
  32. package/dist/client/runtime-client-routing/initOnLinkClick.js +1 -0
  33. package/dist/client/runtime-client-routing/initOnPopState.d.ts +1 -0
  34. package/dist/client/runtime-client-routing/initOnPopState.js +2 -1
  35. package/dist/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -0
  36. package/dist/client/runtime-client-routing/isClientSideRoutable.js +1 -0
  37. package/dist/client/runtime-client-routing/isLinkSkipped.d.ts +1 -0
  38. package/dist/client/runtime-client-routing/isLinkSkipped.js +3 -1
  39. package/dist/client/runtime-client-routing/logErrorClient.d.ts +1 -0
  40. package/dist/client/runtime-client-routing/logErrorClient.js +2 -1
  41. package/dist/client/runtime-client-routing/navigate.d.ts +1 -0
  42. package/dist/client/runtime-client-routing/navigate.js +2 -1
  43. package/dist/client/runtime-client-routing/normalizeUrlArgument.d.ts +1 -0
  44. package/dist/client/runtime-client-routing/normalizeUrlArgument.js +3 -1
  45. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +1 -0
  46. package/dist/client/runtime-client-routing/prefetch/getPrefetchSettings.js +2 -1
  47. package/dist/client/runtime-client-routing/prefetch.d.ts +3 -2
  48. package/dist/client/runtime-client-routing/prefetch.js +8 -3
  49. package/dist/client/runtime-client-routing/renderPageClient.d.ts +225 -144
  50. package/dist/client/runtime-client-routing/renderPageClient.js +25 -16
  51. package/dist/client/runtime-client-routing/scrollRestoration.d.ts +1 -0
  52. package/dist/client/runtime-client-routing/scrollRestoration.js +3 -1
  53. package/dist/client/runtime-client-routing/setScrollPosition.d.ts +1 -0
  54. package/dist/client/runtime-client-routing/setScrollPosition.js +5 -1
  55. package/dist/client/runtime-server-routing/{createPageContextClientSide.d.ts → createPageContextClient.d.ts} +9 -11
  56. package/dist/client/runtime-server-routing/createPageContextClient.js +29 -0
  57. package/dist/client/runtime-server-routing/entry.d.ts +1 -1
  58. package/dist/client/runtime-server-routing/entry.js +23 -6
  59. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +1 -0
  60. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.js +1 -0
  61. package/dist/client/runtime-server-routing/getPageContextPublicClient.d.ts +10 -0
  62. package/dist/client/runtime-server-routing/getPageContextPublicClient.js +6 -0
  63. package/dist/client/runtime-server-routing/index.d.ts +1 -0
  64. package/dist/client/runtime-server-routing/index.js +1 -2
  65. package/dist/client/shared/execHookOnRenderClient.d.ts +6 -3
  66. package/dist/client/shared/execHookOnRenderClient.js +6 -5
  67. package/dist/client/shared/getCurrentUrl.d.ts +1 -0
  68. package/dist/client/shared/getCurrentUrl.js +1 -0
  69. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +1 -0
  70. package/dist/client/shared/getGlobalContextClientInternalShared.js +6 -1
  71. package/dist/client/shared/getJsonSerializedInHtml.d.ts +1 -0
  72. package/dist/client/shared/getJsonSerializedInHtml.js +3 -1
  73. package/dist/client/shared/getPageContextPublicClientShared.d.ts +16 -0
  74. package/dist/client/shared/{preparePageContextForPublicUsageClientShared.js → getPageContextPublicClientShared.js} +10 -9
  75. package/dist/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -0
  76. package/dist/client/shared/loadPageConfigsLazyClientSide.js +2 -1
  77. package/dist/client/shared/normalizeClientSideUrl.d.ts +1 -0
  78. package/dist/client/shared/normalizeClientSideUrl.js +3 -1
  79. package/dist/client/shared/removeFoucBuster.d.ts +1 -0
  80. package/dist/client/shared/removeFoucBuster.js +2 -1
  81. package/dist/node/api/assertEnvApi.d.ts +1 -0
  82. package/dist/node/api/{onLoad.js → assertEnvApi.js} +3 -2
  83. package/dist/node/api/build.d.ts +1 -0
  84. package/dist/node/api/build.js +1 -0
  85. package/dist/node/api/dev.d.ts +1 -0
  86. package/dist/node/api/dev.js +6 -1
  87. package/dist/node/api/index.d.ts +1 -0
  88. package/dist/node/api/index.js +1 -0
  89. package/dist/node/api/prepareViteApiCall.d.ts +1 -0
  90. package/dist/node/api/prepareViteApiCall.js +1 -0
  91. package/dist/node/api/prerender.d.ts +1 -0
  92. package/dist/node/api/prerender.js +1 -0
  93. package/dist/node/api/preview.d.ts +1 -0
  94. package/dist/node/api/preview.js +4 -1
  95. package/dist/node/api/resolveViteConfigFromUser.d.ts +1 -0
  96. package/dist/node/api/resolveViteConfigFromUser.js +5 -1
  97. package/dist/node/cli/assertEnvCli.d.ts +1 -0
  98. package/dist/node/cli/{onLoad.js → assertEnvCli.js} +3 -2
  99. package/dist/node/cli/context.d.ts +1 -0
  100. package/dist/node/cli/context.js +3 -1
  101. package/dist/node/cli/entry.d.ts +1 -1
  102. package/dist/node/cli/entry.js +1 -0
  103. package/dist/node/cli/index.d.ts +1 -0
  104. package/dist/node/cli/index.js +2 -1
  105. package/dist/node/cli/parseCli.d.ts +1 -0
  106. package/dist/node/cli/parseCli.js +4 -1
  107. package/dist/node/prerender/context.d.ts +1 -1
  108. package/dist/node/prerender/context.js +2 -2
  109. package/dist/node/prerender/resolvePrerenderConfig.d.ts +4 -4
  110. package/dist/node/prerender/resolvePrerenderConfig.js +21 -12
  111. package/dist/node/prerender/runPrerender.d.ts +2 -5
  112. package/dist/node/prerender/runPrerender.js +32 -17
  113. package/dist/node/prerender/runPrerenderEntry.js +1 -1
  114. package/dist/node/vite/assertEnvVite.d.ts +1 -0
  115. package/dist/node/vite/{onLoad.js → assertEnvVite.js} +9 -4
  116. package/dist/node/vite/index.d.ts +2 -1
  117. package/dist/node/vite/index.js +5 -2
  118. package/dist/node/vite/plugins/build/handleAssetsManifest.d.ts +1 -0
  119. package/dist/node/vite/plugins/build/handleAssetsManifest.js +7 -1
  120. package/dist/node/vite/plugins/build/pluginBuildApp.d.ts +1 -0
  121. package/dist/node/vite/plugins/build/pluginBuildApp.js +5 -2
  122. package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +1 -0
  123. package/dist/node/vite/plugins/build/pluginBuildConfig.js +8 -1
  124. package/dist/node/vite/plugins/build/pluginDistFileNames.d.ts +1 -0
  125. package/dist/node/vite/plugins/build/pluginDistFileNames.js +5 -1
  126. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.d.ts +1 -0
  127. package/dist/node/vite/plugins/build/pluginDistPackageJsonFile.js +1 -0
  128. package/dist/node/vite/plugins/build/pluginModuleBanner.d.ts +1 -0
  129. package/dist/node/vite/plugins/build/pluginModuleBanner.js +5 -2
  130. package/dist/node/vite/plugins/build/pluginProdBuildEntry.d.ts +1 -0
  131. package/dist/node/vite/plugins/build/pluginProdBuildEntry.js +4 -1
  132. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.d.ts +1 -0
  133. package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +1 -0
  134. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +1 -0
  135. package/dist/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +4 -1
  136. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.d.ts +1 -0
  137. package/dist/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +3 -1
  138. package/dist/node/vite/plugins/pluginAssertFileEnv.d.ts +1 -0
  139. package/dist/node/vite/plugins/pluginAssertFileEnv.js +7 -1
  140. package/dist/node/vite/plugins/pluginBaseUrls.d.ts +1 -0
  141. package/dist/node/vite/plugins/pluginBaseUrls.js +2 -1
  142. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.d.ts +1 -0
  143. package/dist/node/vite/plugins/pluginCommon/assertResolveAlias.js +4 -1
  144. package/dist/node/vite/plugins/pluginCommon.d.ts +1 -0
  145. package/dist/node/vite/plugins/pluginCommon.js +13 -1
  146. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.d.ts +1 -0
  147. package/dist/node/vite/plugins/pluginDev/determineFsAllowList.js +4 -1
  148. package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -0
  149. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +8 -1
  150. package/dist/node/vite/plugins/pluginDev.d.ts +1 -0
  151. package/dist/node/vite/plugins/pluginDev.js +5 -1
  152. package/dist/node/vite/plugins/pluginExtractAssets.d.ts +1 -0
  153. package/dist/node/vite/plugins/pluginExtractAssets.js +8 -1
  154. package/dist/node/vite/plugins/pluginExtractExportNames.d.ts +1 -0
  155. package/dist/node/vite/plugins/pluginExtractExportNames.js +6 -1
  156. package/dist/node/vite/plugins/pluginPreview.d.ts +1 -0
  157. package/dist/node/vite/plugins/pluginPreview.js +3 -1
  158. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.d.ts +1 -0
  159. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.js +7 -1
  160. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +1 -0
  161. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +5 -1
  162. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.d.ts +1 -0
  163. package/dist/node/vite/plugins/pluginReplaceConstantsPageContext.js +3 -1
  164. package/dist/node/vite/plugins/pluginSetGlobalContext.d.ts +1 -0
  165. package/dist/node/vite/plugins/pluginSetGlobalContext.js +3 -1
  166. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.d.ts +1 -0
  167. package/dist/node/vite/plugins/pluginStaticReplace/applyStaticReplace.js +2 -1
  168. package/dist/node/vite/plugins/pluginStaticReplace.d.ts +1 -0
  169. package/dist/node/vite/plugins/pluginStaticReplace.js +3 -1
  170. package/dist/node/vite/plugins/pluginVirtualFiles/debug.d.ts +1 -0
  171. package/dist/node/vite/plugins/pluginVirtualFiles/debug.js +2 -1
  172. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +1 -0
  173. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +1 -0
  174. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +1 -0
  175. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +6 -1
  176. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +1 -0
  177. package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +2 -1
  178. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +1 -0
  179. package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +3 -1
  180. package/dist/node/vite/plugins/pluginVirtualFiles.d.ts +1 -0
  181. package/dist/node/vite/plugins/pluginVirtualFiles.js +9 -6
  182. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.d.ts +1 -0
  183. package/dist/node/vite/plugins/pluginViteConfigVikeExtensions.js +4 -1
  184. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -0
  185. package/dist/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -0
  186. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -0
  187. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +1 -0
  188. package/dist/node/vite/shared/addSsrMiddleware.d.ts +1 -0
  189. package/dist/node/vite/shared/addSsrMiddleware.js +2 -1
  190. package/dist/node/vite/shared/findPageFiles.d.ts +1 -0
  191. package/dist/node/vite/shared/findPageFiles.js +4 -1
  192. package/dist/node/vite/shared/getAssetsDir.d.ts +1 -0
  193. package/dist/node/vite/shared/getAssetsDir.js +2 -1
  194. package/dist/node/vite/shared/getClientEntrySrcDev.d.ts +1 -0
  195. package/dist/node/vite/shared/getClientEntrySrcDev.js +7 -1
  196. package/dist/node/vite/shared/getEnvVarObject.d.ts +1 -0
  197. package/dist/node/vite/shared/getEnvVarObject.js +3 -1
  198. package/dist/node/vite/shared/getFilePath.d.ts +1 -0
  199. package/dist/node/vite/shared/getFilePath.js +6 -1
  200. package/dist/node/vite/shared/getMagicString.d.ts +1 -0
  201. package/dist/node/vite/shared/getMagicString.js +1 -0
  202. package/dist/node/vite/shared/getManifestFilePathRelative.d.ts +1 -0
  203. package/dist/node/vite/shared/getManifestFilePathRelative.js +2 -1
  204. package/dist/node/vite/shared/getOutDirs.d.ts +1 -0
  205. package/dist/node/vite/shared/getOutDirs.js +5 -1
  206. package/dist/node/vite/shared/getViteConfigRuntime.d.ts +1 -0
  207. package/dist/node/vite/shared/getViteConfigRuntime.js +4 -1
  208. package/dist/node/vite/shared/importString.d.ts +1 -0
  209. package/dist/node/vite/shared/importString.js +2 -1
  210. package/dist/node/vite/shared/isAsset.d.ts +1 -0
  211. package/dist/node/vite/shared/isAsset.js +1 -0
  212. package/dist/node/vite/shared/isViteCli.d.ts +1 -0
  213. package/dist/node/vite/shared/isViteCli.js +4 -1
  214. package/dist/node/vite/shared/isViteServerSide.d.ts +1 -0
  215. package/dist/node/vite/shared/isViteServerSide.js +3 -1
  216. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelReact.d.ts +1 -0
  217. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -0
  218. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelSolid.d.ts +1 -0
  219. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -0
  220. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errEsbuild.d.ts +1 -0
  221. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errEsbuild.js +1 -0
  222. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx1.d.ts +1 -0
  223. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx1.js +1 -0
  224. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx2.d.ts +1 -0
  225. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errMdx2.js +1 -0
  226. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errPostcss.d.ts +1 -0
  227. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errPostcss.js +1 -0
  228. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwc.d.ts +1 -0
  229. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwc.js +1 -0
  230. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwcBig.d.ts +1 -0
  231. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errSwcBig.js +1 -0
  232. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueCss.d.ts +1 -0
  233. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueCss.js +1 -0
  234. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueHtml.d.ts +1 -0
  235. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -0
  236. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueJavascript.d.ts +1 -0
  237. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -0
  238. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.d.ts +1 -0
  239. package/dist/node/vite/shared/loggerDev/errorWithCodeSnippet.js +6 -1
  240. package/dist/node/vite/shared/loggerDev.d.ts +4 -3
  241. package/dist/node/vite/shared/loggerDev.js +12 -4
  242. package/dist/node/vite/shared/loggerVite.d.ts +1 -0
  243. package/dist/node/vite/shared/loggerVite.js +6 -1
  244. package/dist/node/vite/shared/normalizeId.d.ts +1 -0
  245. package/dist/node/vite/shared/normalizeId.js +2 -1
  246. package/dist/node/vite/shared/parseEsModule.d.ts +1 -0
  247. package/dist/node/vite/shared/parseEsModule.js +2 -1
  248. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.d.ts +1 -0
  249. package/dist/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +5 -1
  250. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +3 -0
  251. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +32 -13
  252. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.d.ts +1 -0
  253. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths/ignorePatternsBuiltIn.js +1 -0
  254. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.d.ts +1 -0
  255. package/dist/node/vite/shared/resolveVikeConfigInternal/crawlPlusFilePaths.js +12 -1
  256. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.d.ts +1 -0
  257. package/dist/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +5 -1
  258. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.d.ts +1 -0
  259. package/dist/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +3 -1
  260. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.d.ts +1 -0
  261. package/dist/node/vite/shared/resolveVikeConfigInternal/getPlusFilesByLocationId.js +2 -1
  262. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.d.ts +1 -0
  263. package/dist/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +5 -1
  264. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +1 -0
  265. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -1
  266. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.d.ts +1 -0
  267. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +7 -1
  268. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.d.ts +1 -0
  269. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +22 -5
  270. package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -1
  271. package/dist/node/vite/shared/resolveVikeConfigInternal.js +71 -19
  272. package/dist/node/vite/shared/rollupIsEsm.d.ts +3 -1
  273. package/dist/node/vite/shared/rollupIsEsm.js +4 -2
  274. package/dist/server/__internal/index.d.ts +1 -0
  275. package/dist/server/__internal/index.js +1 -0
  276. package/dist/server/__internal/vite.d.ts +1 -0
  277. package/dist/server/__internal/vite.js +1 -0
  278. package/dist/server/assertEnvServer.d.ts +1 -0
  279. package/dist/server/{onLoad.js → assertEnvServer.js} +10 -4
  280. package/dist/server/client/router.d.ts +1 -0
  281. package/dist/server/client/router.js +1 -0
  282. package/dist/server/createPageRenderer.d.ts +1 -0
  283. package/dist/server/createPageRenderer.js +2 -1
  284. package/dist/server/importBuild.d.ts +1 -1
  285. package/dist/server/importBuild.js +1 -1
  286. package/dist/server/runtime/asyncHook.d.ts +1 -0
  287. package/dist/server/runtime/asyncHook.js +7 -3
  288. package/dist/server/runtime/createDevMiddleware.d.ts +1 -0
  289. package/dist/server/runtime/createDevMiddleware.js +1 -0
  290. package/dist/server/runtime/getPageContext.d.ts +1 -0
  291. package/dist/server/runtime/getPageContext.js +1 -0
  292. package/dist/server/runtime/globalContext.d.ts +1 -0
  293. package/dist/server/runtime/globalContext.js +23 -7
  294. package/dist/server/runtime/index-deprecated.d.ts +1 -0
  295. package/dist/server/runtime/index-deprecated.js +2 -1
  296. package/dist/server/runtime/index.d.ts +2 -1
  297. package/dist/server/runtime/index.js +3 -5
  298. package/dist/server/runtime/logErrorServer.d.ts +3 -2
  299. package/dist/server/runtime/logErrorServer.js +7 -3
  300. package/dist/server/runtime/loggerRuntime.d.ts +4 -2
  301. package/dist/server/runtime/loggerRuntime.js +2 -1
  302. package/dist/server/runtime/page-files/setup.d.ts +1 -1
  303. package/dist/server/runtime/page-files/setup.js +1 -1
  304. package/dist/server/runtime/renderPageServer/addErrorHint/errors.d.ts +1 -0
  305. package/dist/server/runtime/renderPageServer/addErrorHint/errors.js +1 -0
  306. package/dist/server/runtime/renderPageServer/addErrorHint.d.ts +1 -0
  307. package/dist/server/runtime/renderPageServer/addErrorHint.js +5 -1
  308. package/dist/server/runtime/renderPageServer/analyzePage.d.ts +1 -0
  309. package/dist/server/runtime/renderPageServer/analyzePage.js +1 -0
  310. package/dist/server/runtime/renderPageServer/assertArguments.d.ts +1 -0
  311. package/dist/server/runtime/renderPageServer/assertArguments.js +4 -1
  312. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +1 -0
  313. package/dist/server/runtime/renderPageServer/createHttpResponse/assertNoInfiniteHttpRedirect.js +4 -1
  314. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +5 -2
  315. package/dist/server/runtime/renderPageServer/createHttpResponse.js +19 -9
  316. package/dist/server/runtime/renderPageServer/{createPageContextServerSide.d.ts → createPageContextServer.d.ts} +13 -15
  317. package/dist/server/runtime/renderPageServer/{createPageContextServerSide.js → createPageContextServer.js} +21 -16
  318. package/dist/server/runtime/renderPageServer/csp.d.ts +1 -0
  319. package/dist/server/runtime/renderPageServer/csp.js +2 -1
  320. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.d.ts +1 -0
  321. package/dist/server/runtime/renderPageServer/execHookDataAndOnBeforeRender.js +1 -0
  322. package/dist/server/runtime/renderPageServer/execHookOnError.d.ts +3 -2
  323. package/dist/server/runtime/renderPageServer/execHookOnError.js +10 -4
  324. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +5 -4
  325. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +9 -4
  326. package/dist/server/runtime/renderPageServer/execHookServer.d.ts +6 -3
  327. package/dist/server/runtime/renderPageServer/execHookServer.js +6 -5
  328. package/dist/server/runtime/renderPageServer/getCacheControl.d.ts +1 -0
  329. package/dist/server/runtime/renderPageServer/getCacheControl.js +1 -0
  330. package/dist/server/runtime/renderPageServer/getEarlyHints.d.ts +1 -0
  331. package/dist/server/runtime/renderPageServer/getEarlyHints.js +1 -0
  332. package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +1 -0
  333. package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +2 -1
  334. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.d.ts +1 -0
  335. package/dist/server/runtime/renderPageServer/getPageAssets/getManifestEntry.js +4 -1
  336. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.d.ts +1 -0
  337. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsDev.js +4 -1
  338. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.d.ts +1 -0
  339. package/dist/server/runtime/renderPageServer/getPageAssets/retrievePageAssetsProd.js +3 -1
  340. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -0
  341. package/dist/server/runtime/renderPageServer/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -1
  342. package/dist/server/runtime/renderPageServer/getPageAssets.d.ts +1 -0
  343. package/dist/server/runtime/renderPageServer/getPageAssets.js +6 -1
  344. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.d.ts +11 -0
  345. package/dist/server/runtime/renderPageServer/getPageContextPublicServer.js +9 -0
  346. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +5 -4
  347. package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +6 -5
  348. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.d.ts +1 -0
  349. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +7 -1
  350. package/dist/server/runtime/renderPageServer/headersResponse.d.ts +1 -0
  351. package/dist/server/runtime/renderPageServer/headersResponse.js +2 -1
  352. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.d.ts +1 -0
  353. package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +4 -1
  354. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.d.ts +1 -0
  355. package/dist/server/runtime/renderPageServer/html/injectAssets/getViteDevScript.js +3 -1
  356. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.d.ts +1 -0
  357. package/dist/server/runtime/renderPageServer/html/injectAssets/inferHtmlTags.js +2 -1
  358. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.d.ts +1 -0
  359. package/dist/server/runtime/renderPageServer/html/injectAssets/injectAssets__public.js +4 -1
  360. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.d.ts +1 -0
  361. package/dist/server/runtime/renderPageServer/html/injectAssets/injectHtmlTags.js +3 -1
  362. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.d.ts +1 -0
  363. package/dist/server/runtime/renderPageServer/html/injectAssets/mergeScriptTags.js +2 -1
  364. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.d.ts +2 -0
  365. package/dist/server/runtime/renderPageServer/html/injectAssets/sanitizeJson.js +2 -1
  366. package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +1 -0
  367. package/dist/server/runtime/renderPageServer/html/injectAssets.js +4 -1
  368. package/dist/server/runtime/renderPageServer/html/propKeys.d.ts +1 -0
  369. package/dist/server/runtime/renderPageServer/html/propKeys.js +2 -1
  370. package/dist/server/runtime/renderPageServer/html/renderHtml.d.ts +1 -0
  371. package/dist/server/runtime/renderPageServer/html/renderHtml.js +8 -1
  372. package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +3 -2
  373. package/dist/server/runtime/renderPageServer/html/serializeContext.js +5 -1
  374. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.d.ts +1 -0
  375. package/dist/server/runtime/renderPageServer/html/stream/react-streaming.js +4 -1
  376. package/dist/server/runtime/renderPageServer/html/stream.d.ts +1 -0
  377. package/dist/server/runtime/renderPageServer/html/stream.js +9 -1
  378. package/dist/server/runtime/renderPageServer/inferMediaType.d.ts +1 -0
  379. package/dist/server/runtime/renderPageServer/inferMediaType.js +3 -1
  380. package/dist/server/runtime/renderPageServer/isFontFallback.d.ts +1 -0
  381. package/dist/server/runtime/renderPageServer/isFontFallback.js +1 -0
  382. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +6 -8
  383. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +7 -1
  384. package/dist/server/runtime/renderPageServer/log404/index.d.ts +3 -2
  385. package/dist/server/runtime/renderPageServer/log404/index.js +6 -1
  386. package/dist/server/runtime/renderPageServer/loggerProd.d.ts +1 -0
  387. package/dist/server/runtime/renderPageServer/loggerProd.js +1 -0
  388. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +12 -23
  389. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +11 -6
  390. package/dist/server/runtime/renderPageServer/resolveRedirects.d.ts +1 -0
  391. package/dist/server/runtime/renderPageServer/resolveRedirects.js +3 -1
  392. package/dist/server/runtime/renderPageServer.d.ts +8 -10
  393. package/dist/server/runtime/renderPageServer.js +40 -25
  394. package/dist/server/runtime/universal-middleware.d.ts +3 -1
  395. package/dist/server/runtime/universal-middleware.js +3 -1
  396. package/dist/shared-server-client/addIs404ToPageProps.js +2 -1
  397. package/dist/shared-server-client/assertHookReturnedObject.js +2 -1
  398. package/dist/shared-server-client/assertOnBeforeRenderHookReturn.js +2 -1
  399. package/dist/shared-server-client/assertPageContextProvidedByUser.js +2 -1
  400. package/dist/shared-server-client/assertVirtualFileExports.js +1 -1
  401. package/dist/shared-server-client/createGlobalContextShared.d.ts +2 -2
  402. package/dist/shared-server-client/createGlobalContextShared.js +10 -5
  403. package/dist/shared-server-client/createPageContextShared.d.ts +9 -2
  404. package/dist/shared-server-client/createPageContextShared.js +2 -1
  405. package/dist/shared-server-client/determinePageIdOld.js +2 -1
  406. package/dist/shared-server-client/error-page.js +2 -1
  407. package/dist/shared-server-client/forkPageContext.js +1 -1
  408. package/dist/shared-server-client/getGlobalContextPublicShared.d.ts +14 -0
  409. package/dist/shared-server-client/getGlobalContextPublicShared.js +8 -0
  410. package/dist/shared-server-client/getPageContextPublicShared.d.ts +12 -0
  411. package/dist/shared-server-client/{preparePageContextForPublicUsage.js → getPageContextPublicShared.js} +9 -7
  412. package/dist/shared-server-client/getPageContextUrlComputed.d.ts +4 -3
  413. package/dist/shared-server-client/getPageContextUrlComputed.js +5 -2
  414. package/dist/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
  415. package/dist/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.js +1 -1
  416. package/dist/shared-server-client/getPageFiles/analyzePageClientSide.js +1 -1
  417. package/dist/shared-server-client/getPageFiles/analyzePageServerSide.js +1 -1
  418. package/dist/shared-server-client/getPageFiles/assert_exports_old_design.js +1 -1
  419. package/dist/shared-server-client/getPageFiles/fileTypes.js +1 -1
  420. package/dist/shared-server-client/getPageFiles/getAllPageIdFiles.js +2 -1
  421. package/dist/shared-server-client/getPageFiles/getPageFileObject.js +2 -1
  422. package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.js +6 -1
  423. package/dist/shared-server-client/getPublicProxy.d.ts +12 -0
  424. package/dist/shared-server-client/{getProxyForPublicUsage.js → getPublicProxy.js} +7 -5
  425. package/dist/shared-server-client/hooks/execHook.d.ts +15 -19
  426. package/dist/shared-server-client/hooks/execHook.js +100 -35
  427. package/dist/shared-server-client/hooks/getHook.d.ts +7 -7
  428. package/dist/shared-server-client/hooks/getHook.js +10 -6
  429. package/dist/shared-server-client/modifyUrl.js +1 -1
  430. package/dist/shared-server-client/modifyUrlSameOrigin.js +3 -1
  431. package/dist/shared-server-client/page-configs/assertPlusFileExport.js +1 -1
  432. package/dist/shared-server-client/page-configs/findPageConfig.js +1 -1
  433. package/dist/shared-server-client/page-configs/getConfigDefinedAt.js +3 -1
  434. package/dist/shared-server-client/page-configs/getConfigValueBuildTime.d.ts +1 -1
  435. package/dist/shared-server-client/page-configs/getConfigValueBuildTime.js +1 -1
  436. package/dist/shared-server-client/page-configs/getConfigValueRuntime.d.ts +1 -1
  437. package/dist/shared-server-client/page-configs/getConfigValueTyped.d.ts +1 -1
  438. package/dist/shared-server-client/page-configs/getConfigValueTyped.js +2 -1
  439. package/dist/shared-server-client/page-configs/getExportPath.js +1 -1
  440. package/dist/shared-server-client/page-configs/helpers.js +2 -1
  441. package/dist/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js +1 -1
  442. package/dist/shared-server-client/page-configs/resolveVikeConfigPublic.js +6 -1
  443. package/dist/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.js +2 -1
  444. package/dist/shared-server-client/page-configs/serialize/serializeConfigValues.js +6 -1
  445. package/dist/shared-server-client/route/abort.js +9 -1
  446. package/dist/shared-server-client/route/deduceRouteStringFromFilesystemPath.js +3 -1
  447. package/dist/shared-server-client/route/execHookGuard.d.ts +2 -1
  448. package/dist/shared-server-client/route/execHookGuard.js +5 -4
  449. package/dist/shared-server-client/route/execHookOnBeforeRoute.js +9 -4
  450. package/dist/shared-server-client/route/index.d.ts +1 -1
  451. package/dist/shared-server-client/route/index.js +4 -1
  452. package/dist/shared-server-client/route/loadPageRoutes.js +5 -2
  453. package/dist/shared-server-client/route/resolvePrecedence.js +1 -2
  454. package/dist/shared-server-client/route/resolveRoute.js +1 -1
  455. package/dist/shared-server-client/route/resolveRouteFunction.js +8 -5
  456. package/dist/shared-server-client/route/resolveRouteString.js +3 -2
  457. package/dist/shared-server-client/route/resolveUrlPathname.js +1 -1
  458. package/dist/shared-server-node/api-context.js +2 -1
  459. package/dist/shared-server-node/assertV1Design.js +3 -1
  460. package/dist/shared-server-node/extractAssetsQuery.js +2 -1
  461. package/dist/shared-server-node/getVikeConfigError.js +2 -1
  462. package/dist/shared-server-node/prependEntriesDir.js +1 -1
  463. package/dist/shared-server-node/resolveBase.js +3 -1
  464. package/dist/shared-server-node/virtualFileId.js +3 -1
  465. package/dist/types/Config.d.ts +95 -74
  466. package/dist/types/PageContext.d.ts +37 -30
  467. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  468. package/dist/utils/PROJECT_VERSION.js +1 -1
  469. package/dist/utils/assert.d.ts +5 -5
  470. package/dist/utils/assert.js +8 -8
  471. package/dist/utils/catchInfiniteLoop.d.ts +1 -1
  472. package/dist/utils/catchInfiniteLoop.js +16 -17
  473. package/dist/utils/freezePartial.js +1 -1
  474. package/dist/utils/installUncaughtErrorHandlers.d.ts +2 -0
  475. package/dist/utils/installUncaughtErrorHandlers.js +20 -0
  476. package/package.json +2 -2
  477. package/dist/client/runtime-client-routing/onLoad.d.ts +0 -2
  478. package/dist/client/runtime-client-routing/onLoad.js +0 -8
  479. package/dist/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +0 -13
  480. package/dist/client/runtime-client-routing/preparePageContextForPublicUsageClient.js +0 -5
  481. package/dist/client/runtime-client-routing/utils.d.ts +0 -24
  482. package/dist/client/runtime-client-routing/utils.js +0 -28
  483. package/dist/client/runtime-server-routing/createPageContextClientSide.js +0 -41
  484. package/dist/client/runtime-server-routing/onLoad.d.ts +0 -2
  485. package/dist/client/runtime-server-routing/onLoad.js +0 -5
  486. package/dist/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +0 -9
  487. package/dist/client/runtime-server-routing/preparePageContextForPublicUsageClient.js +0 -5
  488. package/dist/client/runtime-server-routing/utils.d.ts +0 -14
  489. package/dist/client/runtime-server-routing/utils.js +0 -18
  490. package/dist/client/shared/preparePageContextForPublicUsageClientShared.d.ts +0 -15
  491. package/dist/client/shared/utils.d.ts +0 -7
  492. package/dist/client/shared/utils.js +0 -7
  493. package/dist/node/api/onLoad.d.ts +0 -2
  494. package/dist/node/api/utils.d.ts +0 -11
  495. package/dist/node/api/utils.js +0 -15
  496. package/dist/node/cli/onLoad.d.ts +0 -2
  497. package/dist/node/cli/utils.d.ts +0 -4
  498. package/dist/node/cli/utils.js +0 -8
  499. package/dist/node/prerender/utils.d.ts +0 -19
  500. package/dist/node/prerender/utils.js +0 -21
  501. package/dist/node/vite/onLoad.d.ts +0 -2
  502. package/dist/node/vite/utils.d.ts +0 -25
  503. package/dist/node/vite/utils.js +0 -31
  504. package/dist/server/onLoad.d.ts +0 -2
  505. package/dist/server/runtime/renderPageServer/preparePageContextForPublicUsageServer.d.ts +0 -25
  506. package/dist/server/runtime/renderPageServer/preparePageContextForPublicUsageServer.js +0 -8
  507. package/dist/server/utils.d.ts +0 -65
  508. package/dist/server/utils.js +0 -69
  509. package/dist/shared-server-client/getProxyForPublicUsage.d.ts +0 -10
  510. package/dist/shared-server-client/prepareGlobalContextForPublicUsage.d.ts +0 -11
  511. package/dist/shared-server-client/prepareGlobalContextForPublicUsage.js +0 -8
  512. package/dist/shared-server-client/preparePageContextForPublicUsage.d.ts +0 -15
  513. package/dist/shared-server-client/route/utils.d.ts +0 -16
  514. package/dist/shared-server-client/route/utils.js +0 -25
  515. package/dist/shared-server-client/utils.d.ts +0 -29
  516. package/dist/shared-server-client/utils.js +0 -33
  517. package/dist/shared-server-node/utils.d.ts +0 -1
  518. package/dist/shared-server-node/utils.js +0 -4
@@ -1,7 +1,9 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { configDefinitionsBuiltIn };
2
- import { assert, assertUsage } from '../../utils.js';
3
+ import { assert, assertUsage } from '../../../../utils/assert.js';
3
4
  import { getConfigDefinedAt, } from '../../../../shared-server-client/page-configs/getConfigDefinedAt.js';
4
5
  import { getConfigValueSourceRelevantAnyEnv, getConfigValueSourcesRelevant, isConfigSourceValueNull, } from '../../plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js';
6
+ import { getFileSuffixes } from '../../../../shared-server-node/getFileSuffixes.js';
5
7
  const configDefinitionsBuiltIn = {
6
8
  onRenderHtml: {
7
9
  env: { server: true },
@@ -32,12 +34,14 @@ const configDefinitionsBuiltIn = {
32
34
  global: true,
33
35
  cumulative: true,
34
36
  },
37
+ onHookCall: {
38
+ env: { server: true, client: true },
39
+ global: true,
40
+ cumulative: true,
41
+ },
35
42
  onBeforeRender: {
36
43
  env: { server: true },
37
44
  },
38
- onBeforePrerenderStart: {
39
- env: { server: true, production: true },
40
- },
41
45
  Page: {
42
46
  env: { server: true, client: true },
43
47
  },
@@ -117,7 +121,7 @@ const configDefinitionsBuiltIn = {
117
121
  // Exclude `.ssr.js` hooks (they don't require pageContext.json requests)
118
122
  .filter((source) => {
119
123
  const { definedAt } = source;
120
- if ('filePathAbsoluteVite' in definedAt && definedAt.filePathAbsoluteVite.includes('.ssr.')) {
124
+ if ('fileName' in definedAt && getFileSuffixes(definedAt.fileName).includes('ssr')) {
121
125
  return false;
122
126
  }
123
127
  return true;
@@ -183,18 +187,22 @@ const configDefinitionsBuiltIn = {
183
187
  host: {
184
188
  env: { config: true },
185
189
  global: true,
190
+ vite: true,
186
191
  },
187
192
  port: {
188
193
  env: { config: true },
189
194
  global: true,
195
+ vite: true,
190
196
  },
191
197
  mode: {
192
198
  env: { config: true },
193
199
  global: true,
200
+ vite: true,
194
201
  },
195
202
  force: {
196
203
  env: { config: true },
197
204
  global: true,
205
+ vite: true,
198
206
  },
199
207
  csp: {
200
208
  env: { server: true },
@@ -216,22 +224,31 @@ const configDefinitionsBuiltIn = {
216
224
  env: { config: true },
217
225
  global: true,
218
226
  },
219
- onPrerenderStart: {
220
- env: { server: true, production: true },
221
- eager: true,
222
- global: true,
223
- },
224
227
  onBeforeRoute: {
225
228
  env: { server: true, client: 'if-client-routing' },
226
229
  eager: true,
227
230
  global: true,
228
231
  },
232
+ // TODO: align all meta configs
229
233
  prerender: {
230
234
  env: { config: true },
231
235
  global: (value, { isGlobalLocation }) => typeof value === 'object' || isGlobalLocation,
232
236
  cumulative: true,
233
237
  },
234
- vite: { env: { config: true }, global: true, cumulative: true },
238
+ onPrerenderStart: {
239
+ env: { server: true, production: true },
240
+ eager: true,
241
+ global: true,
242
+ },
243
+ onBeforePrerenderStart: {
244
+ env: { server: true, production: true },
245
+ },
246
+ vite: {
247
+ env: { config: true },
248
+ cumulative: true,
249
+ global: true,
250
+ vite: true,
251
+ },
235
252
  disableAutoFullBuild: {
236
253
  env: { config: true },
237
254
  global: true,
@@ -240,18 +257,22 @@ const configDefinitionsBuiltIn = {
240
257
  vite6BuilderApp: {
241
258
  env: { config: true },
242
259
  global: true,
260
+ vite: true,
243
261
  },
244
262
  includeAssetsImportedByServer: {
245
263
  env: { config: true },
246
264
  global: true,
265
+ vite: true,
247
266
  },
248
267
  baseAssets: {
249
268
  env: { config: true, server: true },
250
269
  global: true,
270
+ vite: true,
251
271
  },
252
272
  baseServer: {
253
273
  env: { config: true, server: true },
254
274
  global: true,
275
+ vite: true,
255
276
  },
256
277
  redirects: {
257
278
  env: { server: true },
@@ -274,9 +295,7 @@ const configDefinitionsBuiltIn = {
274
295
  env: { config: true },
275
296
  cumulative: true,
276
297
  global: true,
277
- /* TODO
278
298
  vite: true,
279
- */
280
299
  },
281
300
  };
282
301
  function getConfigEnv(pageConfig, configName) {
@@ -1 +1,2 @@
1
+ import '../../../assertEnvVite.js';
1
2
  export declare const ignorePatternsBuiltIn: readonly ["**/node_modules/**", "**/ejected/**", "**/*.telefunc.*", "**/.history/**", "**/*.generated.*"];
@@ -1,3 +1,4 @@
1
+ import '../../../assertEnvVite.js';
1
2
  export const ignorePatternsBuiltIn = [
2
3
  '**/node_modules/**',
3
4
  // Ejected Vike extensions, see https://github.com/snake-py/eject
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { crawlPlusFilePaths };
2
3
  export { isPlusFile };
3
4
  export { getPlusFileValueConfigName };
@@ -1,7 +1,18 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { crawlPlusFilePaths };
2
3
  export { isPlusFile };
3
4
  export { getPlusFileValueConfigName };
4
- import { assertPosixPath, assert, scriptFileExtensionPattern, assertIsNotProductionRuntime, isVersionMatch, isScriptFile, scriptFileExtensionList, createDebug, deepEqual, assertUsage, assertFilePathAbsoluteFilesystem, assertWarning, hasProp, isNotNullish, getGlobalObject, } from '../../utils.js';
5
+ import { assert, assertUsage, assertWarning } from '../../../../utils/assert.js';
6
+ import { assertIsNotProductionRuntime } from '../../../../utils/assertSetup.js';
7
+ import { isVersionMatch } from '../../../../utils/assertVersion.js';
8
+ import { createDebug } from '../../../../utils/debug.js';
9
+ import { deepEqual } from '../../../../utils/deepEqual.js';
10
+ import { getGlobalObject } from '../../../../utils/getGlobalObject.js';
11
+ import { hasProp } from '../../../../utils/hasProp.js';
12
+ import { assertFilePathAbsoluteFilesystem } from '../../../../utils/isFilePathAbsoluteFilesystem.js';
13
+ import { isNotNullish } from '../../../../utils/isNullish.js';
14
+ import { scriptFileExtensionPattern, isScriptFile, scriptFileExtensionList } from '../../../../utils/isScriptFile.js';
15
+ import { assertPosixPath } from '../../../../utils/path.js';
5
16
  import path from 'node:path';
6
17
  import { glob } from 'tinyglobby';
7
18
  import { exec } from 'node:child_process';
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getFilesystemRouteString };
2
3
  export { getFilesystemRouteDefinedBy };
3
4
  export { isInherited };
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getFilesystemRouteString };
2
3
  export { getFilesystemRouteDefinedBy };
3
4
  export { isInherited };
@@ -7,7 +8,10 @@ export { applyFilesystemRoutingRootEffect };
7
8
  // For ./filesystemRouting.spec.ts
8
9
  export { getLogicalPath };
9
10
  import pc from '@brillout/picocolors';
10
- import { assert, assertIsNotProductionRuntime, assertPosixPath, assertWarning, higherFirst } from '../../utils.js';
11
+ import { assert, assertWarning } from '../../../../utils/assert.js';
12
+ import { assertIsNotProductionRuntime } from '../../../../utils/assertSetup.js';
13
+ import { assertPosixPath } from '../../../../utils/path.js';
14
+ import { higherFirst } from '../../../../utils/sorter.js';
11
15
  assertIsNotProductionRuntime();
12
16
  /**
13
17
  * `getLocationId('/pages/some-page/+Page.js')` => `'/pages/some-page'`
@@ -1,2 +1,3 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getConfigFileExport };
2
3
  declare function getConfigFileExport(fileExports: Record<string, unknown>, filePathToShowToUser: string): Record<string, unknown>;
@@ -1,7 +1,9 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getConfigFileExport };
2
3
  import pc from '@brillout/picocolors';
3
4
  import { assertPlusFileExport } from '../../../../shared-server-client/page-configs/assertPlusFileExport.js';
4
- import { assertUsage, isObject } from '../../utils.js';
5
+ import { assertUsage } from '../../../../utils/assert.js';
6
+ import { isObject } from '../../../../utils/isObject.js';
5
7
  function getConfigFileExport(fileExports, filePathToShowToUser) {
6
8
  assertPlusFileExport(fileExports, filePathToShowToUser, 'config');
7
9
  const usesNamedExport = !!fileExports.config;
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getPlusFilesByLocationId };
2
3
  export type { PlusFileValue };
3
4
  export type { PlusFile };
@@ -1,5 +1,6 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { getPlusFilesByLocationId };
2
- import { assert } from '../../utils.js';
3
+ import { assert } from '../../../../utils/assert.js';
3
4
  import { configDefinitionsBuiltIn } from './configDefinitionsBuiltIn.js';
4
5
  import { getLocationId } from './filesystemRouting.js';
5
6
  import { crawlPlusFilePaths, getPlusFileValueConfigName } from './crawlPlusFilePaths.js';
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { loadPointerImport };
2
3
  export { loadValueFile };
3
4
  export { loadConfigFile };
@@ -1,8 +1,12 @@
1
+ import '../../assertEnvVite.js';
1
2
  // Files loaded at config time:
2
3
  export { loadPointerImport };
3
4
  export { loadValueFile };
4
5
  export { loadConfigFile };
5
- import { assert, assertUsage, assertIsNotProductionRuntime, isArrayOfStrings, isObject } from '../../utils.js';
6
+ import { assert, assertUsage } from '../../../../utils/assert.js';
7
+ import { assertIsNotProductionRuntime } from '../../../../utils/assertSetup.js';
8
+ import { isArrayOfStrings } from '../../../../utils/isArrayOfStrings.js';
9
+ import { isObject } from '../../../../utils/isObject.js';
6
10
  import { transpileAndExecuteFile } from './transpileAndExecuteFile.js';
7
11
  import { getConfigDefinitionOptional } from '../resolveVikeConfigInternal.js';
8
12
  import { assertPlusFileExport } from '../../../../shared-server-client/page-configs/assertPlusFileExport.js';
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { transformPointerImports };
2
3
  export { parsePointerImportData };
3
4
  export { isPointerImportData };
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { transformPointerImports };
2
3
  export { parsePointerImportData };
3
4
  export { isPointerImportData };
@@ -19,7 +20,10 @@ export { assertPointerImportPath };
19
20
  // - Esbuild removes comments: https://github.com/evanw/esbuild/issues/1439#issuecomment-877656182
20
21
  // - Using source maps to track these magic comments is brittle (source maps can easily break)
21
22
  import { parseSync } from '@babel/core';
22
- import { assert, assertUsage, assertWarning, isFilePathAbsolute, isImportPath, styleFileRE } from '../../utils.js';
23
+ import { assert, assertUsage, assertWarning } from '../../../../utils/assert.js';
24
+ import { isFilePathAbsolute } from '../../../../utils/isFilePathAbsoluteFilesystem.js';
25
+ import { isImportPath } from '../../../../utils/isImportPath.js';
26
+ import { styleFileRE } from '../../../../utils/styleFileRE.js';
23
27
  import pc from '@brillout/picocolors';
24
28
  import { parseImportString, isImportString, serializeImportString } from '../importString.js';
25
29
  function transformPointerImports(code, filePathToShowToUser2, pointerImports,
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { resolvePointerImport };
2
3
  export { resolvePointerImportData };
3
4
  export type { PointerImport };
@@ -1,7 +1,13 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { resolvePointerImport };
2
3
  export { resolvePointerImportData };
3
4
  import pc from '@brillout/picocolors';
4
- import { assert, assertPosixPath, assertUsage, isFilePathAbsolute, isImportPathRelative, isImportPathNpmPackageOrPathAlias, requireResolveOptional, } from '../../utils.js';
5
+ import { assert, assertUsage } from '../../../../utils/assert.js';
6
+ import { isFilePathAbsolute } from '../../../../utils/isFilePathAbsoluteFilesystem.js';
7
+ import { isImportPathRelative } from '../../../../utils/isImportPath.js';
8
+ import { isImportPathNpmPackageOrPathAlias } from '../../../../utils/parseNpmPackage.js';
9
+ import { assertPosixPath } from '../../../../utils/path.js';
10
+ import { requireResolveOptional } from '../../../../utils/requireResolve.js';
5
11
  import { assertPointerImportPath, parsePointerImportData } from './pointerImports.js';
6
12
  import { getFilePathAbsoluteUserRootDir, getFilePathResolved, getFilePathUnresolved } from '../getFilePath.js';
7
13
  function resolvePointerImport(configValue, importerFilePath, userRootDir, configName) {
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { transpileAndExecuteFile };
2
3
  export { getConfigBuildErrorFormatted };
3
4
  export { getConfigExecutionErrorIntroMsg };
@@ -1,3 +1,4 @@
1
+ import '../../assertEnvVite.js';
1
2
  export { transpileAndExecuteFile };
2
3
  export { getConfigBuildErrorFormatted };
3
4
  export { getConfigExecutionErrorIntroMsg };
@@ -5,9 +6,21 @@ export { isTemporaryBuildFile };
5
6
  import { build, formatMessages, version, } from 'esbuild';
6
7
  import fs from 'node:fs';
7
8
  import path from 'node:path';
9
+ import crypto from 'node:crypto';
8
10
  import pc from '@brillout/picocolors';
9
11
  import { import_ } from '@brillout/import';
10
- import { assertPosixPath, getRandomId, assertIsNotProductionRuntime, assert, assertWarning, isObject, toPosixPath, assertUsage, isPlainScriptFile, createDebug, assertFilePathAbsoluteFilesystem, assertIsImportPathNpmPackage, genPromise, isVitest, isImportPathNpmPackageOrPathAlias, isImportPathRelative, requireResolveOptionalDir, } from '../../utils.js';
12
+ import { assert, assertWarning, assertUsage } from '../../../../utils/assert.js';
13
+ import { assertIsNotProductionRuntime } from '../../../../utils/assertSetup.js';
14
+ import { createDebug } from '../../../../utils/debug.js';
15
+ import { genPromise } from '../../../../utils/genPromise.js';
16
+ import { assertFilePathAbsoluteFilesystem } from '../../../../utils/isFilePathAbsoluteFilesystem.js';
17
+ import { isImportPathRelative } from '../../../../utils/isImportPath.js';
18
+ import { isObject } from '../../../../utils/isObject.js';
19
+ import { isPlainScriptFile } from '../../../../utils/isScriptFile.js';
20
+ import { isVitest } from '../../../../utils/isVitest.js';
21
+ import { assertIsImportPathNpmPackage, isImportPathNpmPackageOrPathAlias } from '../../../../utils/parseNpmPackage.js';
22
+ import { assertPosixPath, toPosixPath } from '../../../../utils/path.js';
23
+ import { requireResolveOptionalDir } from '../../../../utils/requireResolve.js';
11
24
  import { transformPointerImports } from './pointerImports.js';
12
25
  import sourceMapSupport from 'source-map-support';
13
26
  import { getFilePathAbsoluteUserRootDir } from '../getFilePath.js';
@@ -285,7 +298,7 @@ async function executeTranspiledFile(filePath, code) {
285
298
  const { filePathAbsoluteFilesystem } = filePath;
286
299
  // Alternative to using a temporary file: https://github.com/vitejs/vite/pull/13269
287
300
  // - But seems to break source maps, so I don't think it's worth it
288
- const filePathTmp = getTemporaryBuildFilePath(filePathAbsoluteFilesystem);
301
+ const filePathTmp = getTemporaryBuildFilePath(filePathAbsoluteFilesystem, code);
289
302
  fs.writeFileSync(filePathTmp, code);
290
303
  const clean = () => fs.unlinkSync(filePathTmp);
291
304
  let fileExports = {};
@@ -300,6 +313,8 @@ async function executeTranspiledFile(filePath, code) {
300
313
  async function executeFile(filePathToExecuteAbsoluteFilesystem, filePathSourceFile) {
301
314
  let fileExports = {};
302
315
  try {
316
+ // `import(filePath)` is cached: if `filePath` doesn't change => the file isn't re-executed. The import() cache is required for the +meta.vite implementation to work correctly, see hasViteConfigChanged()
317
+ // https://github.com/vikejs/vike/blob/0a4f54ff3eea128cbd886c0ac88972e44a74cf99/packages/vike/src/node/vite/shared/resolveVikeConfigInternal.ts#L305
303
318
  fileExports = await import_(filePathToExecuteAbsoluteFilesystem);
304
319
  }
305
320
  catch (err) {
@@ -344,12 +359,14 @@ function getConfigExecutionErrorIntroMsg(err) {
344
359
  const errIntroMsg = execErrIntroMsg.get(err);
345
360
  return errIntroMsg ?? null;
346
361
  }
347
- function getTemporaryBuildFilePath(filePathAbsoluteFilesystem) {
362
+ function getTemporaryBuildFilePath(filePathAbsoluteFilesystem, code) {
348
363
  assertPosixPath(filePathAbsoluteFilesystem);
349
- const dirname = path.posix.dirname(filePathAbsoluteFilesystem);
364
+ const fileDir = path.posix.dirname(filePathAbsoluteFilesystem);
350
365
  const filename = path.posix.basename(filePathAbsoluteFilesystem);
366
+ // Using content hash in file path, so that the cache of dynamic `import()` behaves as we want.
367
+ const fileHash = crypto.createHash('md5').update(code).digest('hex').slice(0, 12);
351
368
  // Syntax with semicolon `build:${/*...*/}` doesn't work on Windows: https://github.com/vikejs/vike/issues/800#issuecomment-1517329455
352
- const filePathTmp = path.posix.join(dirname, `${filename}.build-${getRandomId()}.mjs`);
369
+ const filePathTmp = path.posix.join(fileDir, `${filename}.build-${fileHash}.mjs`);
353
370
  assert(isTemporaryBuildFile(filePathTmp));
354
371
  return filePathTmp;
355
372
  }
@@ -1,3 +1,4 @@
1
+ import '../assertEnvVite.js';
1
2
  export { getVikeConfig };
2
3
  export type { VikeConfig };
3
4
  export { getVikeConfigInternal };
@@ -17,7 +18,7 @@ import { type GlobalConfigPublic } from '../../../shared-server-client/page-conf
17
18
  import { type PlusFile } from './resolveVikeConfigInternal/getPlusFilesByLocationId.js';
18
19
  import type { PrerenderContextPublic } from '../../prerender/runPrerender.js';
19
20
  import type { ResolvedConfig, UserConfig } from 'vite';
20
- import { type DangerouslyUseInternals } from '../../../shared-server-client/getProxyForPublicUsage.js';
21
+ import { type DangerouslyUseInternals } from '../../../shared-server-client/getPublicProxy.js';
21
22
  type VikeConfigContext = {
22
23
  userRootDir: string;
23
24
  isDev: boolean;
@@ -1,3 +1,4 @@
1
+ import '../assertEnvVite.js';
1
2
  // Public usage
2
3
  export { getVikeConfig };
3
4
  // Internal usage
@@ -10,7 +11,27 @@ export { isV1Design };
10
11
  export { getConfVal };
11
12
  export { getConfigDefinitionOptional };
12
13
  export { getVikeConfigFromCliOrEnv };
13
- import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, genPromise, checkType, objectAssign, getGlobalObject, } from '../utils.js';
14
+ import { deepEqual } from '../../../utils/deepEqual.js';
15
+ import { assertKeys } from '../../../utils/assertKeys.js';
16
+ import { assertIsNotProductionRuntime } from '../../../utils/assertSetup.js';
17
+ import { getMostSimilar } from '../../../utils/getMostSimilar.js';
18
+ import { includes } from '../../../utils/includes.js';
19
+ import { objectEntries } from '../../../utils/objectEntries.js';
20
+ import { objectFromEntries } from '../../../utils/objectFromEntries.js';
21
+ import { objectKeys } from '../../../utils/objectKeys.js';
22
+ import { makeLast } from '../../../utils/sorter.js';
23
+ import { assert, assertUsage, assertWarning } from '../../../utils/assert.js';
24
+ import { checkType } from '../../../utils/checkType.js';
25
+ import { genPromise } from '../../../utils/genPromise.js';
26
+ import { getGlobalObject } from '../../../utils/getGlobalObject.js';
27
+ import { hasProp } from '../../../utils/hasProp.js';
28
+ import { isCallable } from '../../../utils/isCallable.js';
29
+ import { isObject } from '../../../utils/isObject.js';
30
+ import { joinEnglish } from '../../../utils/joinEnglish.js';
31
+ import { objectAssign } from '../../../utils/objectAssign.js';
32
+ import { makeFirst, lowerFirst } from '../../../utils/sorter.js';
33
+ import { unique } from '../../../utils/unique.js';
34
+ import { assertPosixPath } from '../../../utils/path.js';
14
35
  import { configDefinitionsBuiltIn, } from './resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
15
36
  import { getFileSuffixes } from '../../../shared-server-node/getFileSuffixes.js';
16
37
  import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, applyFilesystemRoutingRootEffect, } from './resolveVikeConfigInternal/filesystemRouting.js';
@@ -30,11 +51,11 @@ import { getEnvVarObject } from './getEnvVarObject.js';
30
51
  import { getVikeApiOperation } from '../../../shared-server-node/api-context.js';
31
52
  import { getCliOptions } from '../../cli/context.js';
32
53
  import { resolvePrerenderConfigGlobal } from '../../prerender/resolvePrerenderConfig.js';
33
- import { getProxyForPublicUsage, } from '../../../shared-server-client/getProxyForPublicUsage.js';
54
+ import { getPublicProxy } from '../../../shared-server-client/getPublicProxy.js';
34
55
  import { setVikeConfigError } from '../../../shared-server-node/getVikeConfigError.js';
35
56
  assertIsNotProductionRuntime();
36
57
  const globalObject = getGlobalObject('vite/shared/resolveVikeConfigInternal.ts', {
37
- restartVite: false,
58
+ restartViteBecauseOfError: false,
38
59
  vikeConfigHasBuildError: null,
39
60
  isV1Design_: null,
40
61
  vikeConfigPromise: null,
@@ -70,7 +91,7 @@ function getVikeConfig(
70
91
  // TO-DO/next-major-release: remove
71
92
  /** @deprecated the `config` argument isn't needed anymore — remove it (it doesn't have any effect) */
72
93
  _config) {
73
- /* TO-DO/eventualy: add deprecation warning. We don't do it yet because of vike-server and vike-cloudflare which are using getVikeConfig() with the argument.
94
+ /* TO-DO/eventually: add deprecation warning. We don't do it yet because of vike-server and vike-cloudflare which are using getVikeConfig() with the argument.
74
95
  assertWarning(
75
96
  config === undefined,
76
97
  `getVikeConfig() doesn't accept any argument anymore — remove the argument (it doesn't have any effect)`,
@@ -80,7 +101,7 @@ _config) {
80
101
  assert(globalObject.vikeConfigSync);
81
102
  const vikeConfig = globalObject.vikeConfigSync;
82
103
  assertUsage(vikeConfig, 'getVikeConfig() can only be used when Vite is loaded (i.e. during development or build) — Vite is never loaded in production.');
83
- const vikeConfigPublic = getProxyForPublicUsage(vikeConfig, 'vikeConfig');
104
+ const vikeConfigPublic = getPublicProxy(vikeConfig, 'vikeConfig');
84
105
  return vikeConfigPublic;
85
106
  }
86
107
  function setVikeConfigContext(vikeConfigCtx_) {
@@ -115,6 +136,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
115
136
  transpileCache: {},
116
137
  vikeConfigDependencies: new Set(),
117
138
  };
139
+ const vikeConfigOld = globalObject.vikeConfigSync;
118
140
  let hasError = false;
119
141
  let ret;
120
142
  let err;
@@ -143,13 +165,18 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
143
165
  const hadError = globalObject.vikeConfigHasBuildError;
144
166
  globalObject.vikeConfigHasBuildError = false;
145
167
  setVikeConfigError({ errorBuild: false });
168
+ let viteRestarted = false;
146
169
  if (hadError) {
147
170
  logConfigInfo(vikeConfigErrorRecoverMsg, 'error-resolve');
148
- if (globalObject.restartVite) {
149
- globalObject.restartVite = false;
171
+ if (globalObject.restartViteBecauseOfError) {
172
+ globalObject.restartViteBecauseOfError = false;
150
173
  restartViteDevServer();
174
+ viteRestarted = true;
151
175
  }
152
176
  }
177
+ if (!viteRestarted && isDev && hasViteConfigChanged(vikeConfigOld, ret)) {
178
+ restartViteDevServer();
179
+ }
153
180
  resolve(ret);
154
181
  }
155
182
  else {
@@ -158,16 +185,34 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
158
185
  globalObject.vikeConfigHasBuildError = true;
159
186
  setVikeConfigError({ errorBuild: { err } });
160
187
  if (!doNotRestartViteOnError)
161
- globalObject.restartVite = true;
188
+ globalObject.restartViteBecauseOfError = true;
162
189
  if (!isDev) {
163
190
  reject(err);
164
191
  }
165
192
  else {
166
193
  logErrorServerDev(err, null);
167
- resolve(getVikeConfigDummy(esbuildCache));
194
+ resolve(await getVikeConfigDummy(esbuildCache));
168
195
  }
169
196
  }
170
197
  }
198
+ // `+meta.vite: true` => restart Vite if config changes
199
+ function hasViteConfigChanged(vikeConfigOld, vikeConfigNew) {
200
+ if (!vikeConfigOld)
201
+ return false;
202
+ const configDefinitions = vikeConfigNew._pageConfigGlobal.configDefinitions;
203
+ const viteConfigNames = Object.keys(configDefinitions).filter((configName) => configDefinitions[configName].vite);
204
+ const configValuesOld = getConfigValues(vikeConfigOld._pageConfigGlobal, true);
205
+ const configValuesNew = getConfigValues(vikeConfigNew._pageConfigGlobal, true);
206
+ for (const configName of viteConfigNames) {
207
+ const valOld = configValuesOld[configName]?.value;
208
+ const valNew = configValuesNew[configName]?.value;
209
+ // Works thanks to the import() cache, see executeFile()
210
+ // https://github.com/vikejs/vike/blob/0a4f54ff3eea128cbd886c0ac88972e44a74cf99/packages/vike/src/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.ts#L386
211
+ if (!deepEqual(valOld, valNew))
212
+ return true;
213
+ }
214
+ return false;
215
+ }
171
216
  async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esbuildCache) {
172
217
  const plusFilesByLocationId = await getPlusFilesByLocationId(userRootDir, esbuildCache);
173
218
  const configDefinitionsResolved = await resolveConfigDefinitions(plusFilesByLocationId, userRootDir, esbuildCache);
@@ -178,7 +223,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
178
223
  temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
179
224
  setCliAndApiOptions(pageConfigGlobal, configDefinitionsResolved);
180
225
  const globalConfigPublic = resolveGlobalConfig(pageConfigGlobal, pageConfigs);
181
- const prerenderContext = resolvePrerenderContext({
226
+ const prerenderContext = await resolvePrerenderContext({
182
227
  config: globalConfigPublic.config,
183
228
  _from: globalConfigPublic._from,
184
229
  _pageConfigs: pageConfigs,
@@ -202,7 +247,7 @@ async function resolveConfigDefinitions(plusFilesByLocationId, userRootDir, esbu
202
247
  .flat()
203
248
  .sort((plusFile1, plusFile2) => sortAfterInheritanceOrderGlobal(plusFile1, plusFile2, plusFilesByLocationId, null));
204
249
  const configDefinitionsGlobal = getConfigDefinitions(
205
- // We use `plusFilesByLocationId` in order to allow local Vike extensions to create global configs, and to set the value of global configs such as `+vite` (enabling Vike extensions to add Vite plugins).
250
+ // We use `plusFilesByLocationId` in order to allow non-global Vike extensions to create global configs, and to set the value of global configs such as `+vite` (enabling Vike extensions to add Vite plugins).
206
251
  plusFilesByLocationIdOrdered, (configDef) => !!configDef.global);
207
252
  await loadCustomConfigBuildTimeFiles(plusFilesByLocationId, configDefinitionsGlobal, userRootDir, esbuildCache);
208
253
  const configDefinitionsAll = getConfigDefinitions(Object.values(plusFilesByLocationId).flat());
@@ -259,7 +304,7 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesByLocationI
259
304
  };
260
305
  objectEntries(configDefinitionsResolved.configDefinitionsGlobal).forEach(([configName, configDef]) => {
261
306
  const sources = resolveConfigValueSources(configName, configDef,
262
- // We use `plusFilesByLocationId` in order to allow local Vike extensions to create global configs, and to set the value of global configs such as `+vite` (enabling Vike extensions to add Vite plugins).
307
+ // We use `plusFilesByLocationId` in order to allow non-global Vike extensions to create global configs, and to set the value of global configs such as `+vite` (enabling Vike extensions to add Vite plugins).
263
308
  Object.values(plusFilesByLocationId).flat(), userRootDir, true, plusFilesByLocationId);
264
309
  if (sources.length === 0)
265
310
  return;
@@ -322,7 +367,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesByLocationId,
322
367
  // It's `null` when the config is defined by `vike(options)` in vite.config.js
323
368
  assert(plusFile);
324
369
  const { filePathAbsoluteUserRootDir } = plusFile.filePath;
325
- // Allow local Vike extensions to set global configs (`filePathAbsoluteUserRootDir===null` for Vike extension)
370
+ // Allow non-global Vike extensions to set global configs (`filePathAbsoluteUserRootDir===null` for Vike extension)
326
371
  if (!filePathAbsoluteUserRootDir)
327
372
  return;
328
373
  assert(!plusFile.isExtensionConfig);
@@ -330,7 +375,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesByLocationId,
330
375
  const configDef = configDefinitionsGlobal[configName];
331
376
  assert(configDef);
332
377
  const isConditionallyGlobal = isCallable(configDef.global);
333
- const errBeg = `${filePathAbsoluteUserRootDir} (which is a local config file) sets the config ${pc.cyan(configName)}`;
378
+ const errBeg = `${filePathAbsoluteUserRootDir} (which is a non-global config file) sets the config ${pc.cyan(configName)}`;
334
379
  const errMid = !isConditionallyGlobal
335
380
  ? "but it's a global config"
336
381
  : 'to a value that is global';
@@ -801,6 +846,13 @@ function assertMetaUsage(metaVal, metaConfigDefinedAt) {
801
846
  assertUsage(false, `${metaConfigDefinedAt} sets ${pc.cyan(`meta.${configName}.effect`)} but it's only supported if meta.${configName}.env has ${pc.cyan('{ config: true }')} (but it's ${pc.cyan(JSON.stringify(configEnv))} instead)`);
802
847
  }
803
848
  }
849
+ // Validate if `vite: true` then `global` and `env.config`
850
+ if (def.vite) {
851
+ assert(metaConfigDefinedAt);
852
+ const errMsgBegin = `${metaConfigDefinedAt} sets ${pc.cyan(`meta.${configName}.vite`)} to ${pc.cyan('true')} which requires`;
853
+ assertUsage(def.global, `${errMsgBegin} ${pc.cyan(`meta.${configName}.global`)} to be ${pc.cyan('true')}`);
854
+ assertUsage(configEnv.config, `${errMsgBegin} ${pc.cyan(`meta.${configName}.env.config`)} to be ${pc.cyan('true')}`);
855
+ }
804
856
  });
805
857
  }
806
858
  // Test: https://github.com/vikejs/vike/blob/871a111a77d637bbd156b07be5ae728c3d595501/test/playground/pages/config-meta/effect/e2e-test.ts
@@ -1092,8 +1144,8 @@ function isGlobalLocation(locationId, plusFilesByLocationId) {
1092
1144
  .map(([locationId]) => locationId);
1093
1145
  return locationIdsPage.every((locId) => isInherited(locationId, locId));
1094
1146
  }
1095
- function resolvePrerenderContext(vikeConfig) {
1096
- const { isPrerenderingEnabled, isPrerenderingEnabledForAllPages } = resolvePrerenderConfigGlobal(vikeConfig);
1147
+ async function resolvePrerenderContext(vikeConfig) {
1148
+ const { isPrerenderingEnabled, isPrerenderingEnabledForAllPages } = await resolvePrerenderConfigGlobal(vikeConfig);
1097
1149
  globalObject.prerenderContext ?? (globalObject.prerenderContext = {
1098
1150
  isPrerenderingEnabled: false,
1099
1151
  isPrerenderingEnabledForAllPages: false,
@@ -1112,7 +1164,7 @@ function restartViteDevServer() {
1112
1164
  swallowViteLogForceOptimization_enable();
1113
1165
  (async () => {
1114
1166
  try {
1115
- await viteDevServer.restart(true);
1167
+ await viteDevServer.restart();
1116
1168
  }
1117
1169
  catch (err) {
1118
1170
  console.error('Vite restart error:');
@@ -1121,14 +1173,14 @@ function restartViteDevServer() {
1121
1173
  })();
1122
1174
  swallowViteLogForceOptimization_disable();
1123
1175
  }
1124
- function getVikeConfigDummy(esbuildCache) {
1176
+ async function getVikeConfigDummy(esbuildCache) {
1125
1177
  const pageConfigsDummy = [];
1126
1178
  const pageConfigGlobalDummy = {
1127
1179
  configValueSources: {},
1128
1180
  configDefinitions: {},
1129
1181
  };
1130
1182
  const globalConfigPublicDummy = resolveGlobalConfig(pageConfigGlobalDummy, pageConfigsDummy);
1131
- const prerenderContextDummy = resolvePrerenderContext({
1183
+ const prerenderContextDummy = await resolvePrerenderContext({
1132
1184
  config: globalConfigPublicDummy.config,
1133
1185
  _from: globalConfigPublicDummy._from,
1134
1186
  _pageConfigs: pageConfigsDummy,
@@ -1,3 +1,5 @@
1
- export declare function rollupIsEsm(rollupOptions: {
1
+ import '../assertEnvVite.js';
2
+ export { rollupIsEsm };
3
+ declare function rollupIsEsm(rollupOptions: {
2
4
  format: string;
3
5
  }): boolean;
@@ -1,5 +1,7 @@
1
- import { assert } from '../utils.js';
2
- export function rollupIsEsm(rollupOptions) {
1
+ import '../assertEnvVite.js';
2
+ export { rollupIsEsm };
3
+ import { assert } from '../../../utils/assert.js';
4
+ function rollupIsEsm(rollupOptions) {
3
5
  const { format } = rollupOptions;
4
6
  assert(typeof format === 'string');
5
7
  assert(format === 'amd' ||
@@ -1,3 +1,4 @@
1
+ import '../assertEnvServer.js';
1
2
  export { setGlobalContext_prodBuildEntry } from '../runtime/globalContext.js';
2
3
  export { route, getPagesAndRoutes };
3
4
  export type { PageRoutes, PageFile, PageConfigRuntime as PageConfig };
@@ -1,3 +1,4 @@
1
+ import '../assertEnvServer.js';
1
2
  // Used by vike:build:pluginProdBuildEntry
2
3
  export { setGlobalContext_prodBuildEntry } from '../runtime/globalContext.js';
3
4
  // Used by vite-plugin-vercel
@@ -1 +1,2 @@
1
+ import '../assertEnvServer.js';
1
2
  export { startupLog } from '../../node/api/dev.js';