vike 0.4.239 → 0.4.240

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 (465) hide show
  1. package/dist/esm/client/index.d.ts +1 -1
  2. package/dist/esm/client/index.js +1 -1
  3. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  4. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
  5. package/dist/esm/client/runtime-client-routing/entry.js +5 -3
  6. package/dist/esm/client/runtime-client-routing/getBaseServer.js +0 -1
  7. package/dist/esm/client/runtime-client-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
  8. package/dist/esm/client/runtime-client-routing/{globalContext.js → getGlobalContextClientInternal.js} +8 -4
  9. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +6 -6
  10. package/dist/esm/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
  11. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +4 -4
  12. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +15 -4
  13. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  14. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  15. package/dist/esm/client/runtime-server-routing/entry.js +5 -3
  16. package/dist/esm/client/runtime-server-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
  17. package/dist/esm/client/runtime-server-routing/getGlobalContextClientInternal.js +6 -0
  18. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +1 -1
  19. package/dist/esm/client/shared/{createGetGlobalContextClient.d.ts → getGlobalContextClientInternalShared.d.ts} +11 -8
  20. package/dist/esm/client/shared/getGlobalContextClientInternalShared.js +66 -0
  21. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -3
  22. package/dist/esm/node/prerender/runPrerender.d.ts +4 -2
  23. package/dist/esm/node/prerender/runPrerender.js +5 -2
  24. package/dist/esm/node/runtime/globalContext.d.ts +15 -2
  25. package/dist/esm/node/runtime/globalContext.js +46 -32
  26. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +4 -2
  27. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +4 -2
  28. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +8 -4
  29. package/dist/esm/node/runtime/renderPage.d.ts +4 -2
  30. package/dist/esm/node/vite/index.js +41 -17
  31. package/dist/esm/node/vite/onLoad.js +1 -1
  32. package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.d.ts +4 -0
  33. package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.js +21 -6
  34. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.js +24 -20
  35. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.js +20 -6
  36. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistFileNames.d.ts +1 -1
  37. package/dist/esm/node/vite/plugins/build/pluginDistFileNames.js +253 -0
  38. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistPackageJsonFile.d.ts +1 -1
  39. package/dist/esm/node/vite/plugins/build/pluginDistPackageJsonFile.js +40 -0
  40. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginModuleBanner.d.ts +1 -1
  41. package/dist/esm/node/vite/plugins/build/pluginModuleBanner.js +49 -0
  42. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.js +4 -2
  43. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.d.ts +1 -1
  44. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.js +27 -23
  45. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +7 -0
  46. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +47 -0
  47. package/dist/esm/node/vite/plugins/{pluginNonRunnableDev.d.ts → non-runnable-dev/pluginViteRPC.d.ts} +3 -7
  48. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +30 -0
  49. package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  50. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +39 -33
  51. package/dist/esm/node/vite/plugins/pluginCommon.js +8 -28
  52. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
  53. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +1 -1
  54. package/dist/esm/node/vite/plugins/pluginDev.js +51 -47
  55. package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
  56. package/dist/esm/node/vite/plugins/pluginEnvVars.js +88 -63
  57. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +108 -92
  58. package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  59. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +39 -23
  60. package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
  61. package/dist/esm/node/vite/plugins/pluginFileEnv.js +117 -92
  62. package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
  63. package/dist/esm/node/vite/plugins/pluginPreview.js +38 -30
  64. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
  65. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
  66. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
  67. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +87 -0
  68. package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +4 -2
  69. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +1 -1
  70. package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  71. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +67 -47
  72. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  73. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +13 -9
  74. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  75. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
  76. package/dist/esm/node/vite/shared/getMagicString.d.ts +1 -1
  77. package/dist/esm/node/vite/shared/getMagicString.js +2 -0
  78. package/dist/esm/shared/createGlobalContextShared.d.ts +4 -4
  79. package/dist/esm/shared/route/abort.d.ts +22 -11
  80. package/dist/esm/shared/route/abort.js +37 -5
  81. package/dist/esm/types/PageContext.d.ts +8 -8
  82. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  83. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  84. package/dist/esm/utils/debug.js +10 -0
  85. package/dist/esm/utils/findPackageJson.js +0 -1
  86. package/dist/esm/utils/getViteRPC.js +0 -2
  87. package/dist/esm/utils/isDev.js +3 -1
  88. package/dist/esm/utils/isNonRunnableDev.js +2 -2
  89. package/dist/esm/utils/requireResolve.js +0 -1
  90. package/dist/esm/utils/virtualFileId.d.ts +4 -0
  91. package/dist/esm/utils/virtualFileId.js +14 -11
  92. package/package.json +6 -25
  93. package/dist/cjs/__internal/index.js +0 -35
  94. package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
  95. package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
  96. package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
  97. package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
  98. package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
  99. package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
  100. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
  101. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
  102. package/dist/cjs/client/shared/utils.js +0 -23
  103. package/dist/cjs/node/api/build.js +0 -24
  104. package/dist/cjs/node/api/context.js +0 -23
  105. package/dist/cjs/node/api/dev.js +0 -18
  106. package/dist/cjs/node/api/index.js +0 -44
  107. package/dist/cjs/node/api/onLoad.js +0 -9
  108. package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
  109. package/dist/cjs/node/api/prerender.js +0 -18
  110. package/dist/cjs/node/api/preview.js +0 -38
  111. package/dist/cjs/node/api/types.js +0 -2
  112. package/dist/cjs/node/api/utils.js +0 -27
  113. package/dist/cjs/node/cli/context.js +0 -17
  114. package/dist/cjs/node/cli/entry.js +0 -121
  115. package/dist/cjs/node/cli/index.js +0 -12
  116. package/dist/cjs/node/cli/onLoad.js +0 -9
  117. package/dist/cjs/node/cli/parseCli.js +0 -95
  118. package/dist/cjs/node/cli/utils.js +0 -24
  119. package/dist/cjs/node/client/router.js +0 -19
  120. package/dist/cjs/node/createPageRenderer.js +0 -132
  121. package/dist/cjs/node/importBuild.js +0 -3
  122. package/dist/cjs/node/prerender/context.js +0 -26
  123. package/dist/cjs/node/prerender/index.js +0 -12
  124. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
  125. package/dist/cjs/node/prerender/runPrerender.js +0 -777
  126. package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
  127. package/dist/cjs/node/prerender/utils.js +0 -37
  128. package/dist/cjs/node/runtime/globalContext.js +0 -572
  129. package/dist/cjs/node/runtime/index-deprecated.js +0 -33
  130. package/dist/cjs/node/runtime/index.js +0 -74
  131. package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
  132. package/dist/cjs/node/runtime/onLoad.js +0 -29
  133. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  134. package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
  135. package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
  136. package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
  137. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
  138. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
  139. package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
  140. package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
  141. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
  142. package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
  143. package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
  144. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
  145. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
  146. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
  147. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
  148. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
  149. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
  150. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
  151. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
  152. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
  153. package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
  154. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
  155. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
  156. package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
  157. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
  158. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
  159. package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
  160. package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
  161. package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
  162. package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
  163. package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
  164. package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
  165. package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
  166. package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
  167. package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
  168. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
  169. package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
  170. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
  171. package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
  172. package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
  173. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
  174. package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
  175. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
  176. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
  177. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
  178. package/dist/cjs/node/runtime/renderPage.js +0 -502
  179. package/dist/cjs/node/runtime/universal-middleware.js +0 -20
  180. package/dist/cjs/node/runtime/utils.js +0 -83
  181. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
  182. package/dist/cjs/node/runtime-dev/index.js +0 -42
  183. package/dist/cjs/node/shared/assertV1Design.js +0 -30
  184. package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
  185. package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
  186. package/dist/cjs/node/shared/isErrorDebug.js +0 -7
  187. package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
  188. package/dist/cjs/node/shared/resolveBase.js +0 -35
  189. package/dist/cjs/node/shared/utils.js +0 -35
  190. package/dist/cjs/node/shared/virtualFileId.js +0 -110
  191. package/dist/cjs/node/vite/index.js +0 -69
  192. package/dist/cjs/node/vite/onLoad.js +0 -21
  193. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -48
  194. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -342
  195. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -179
  196. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -220
  197. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -254
  198. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -36
  199. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -41
  200. package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -109
  201. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -63
  202. package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -21
  203. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
  204. package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -197
  205. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
  206. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
  207. package/dist/cjs/node/vite/plugins/pluginDev.js +0 -107
  208. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -87
  209. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -227
  210. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -99
  211. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -149
  212. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -52
  213. package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -76
  214. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -69
  215. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -49
  216. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
  217. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
  218. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
  219. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
  220. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
  221. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -215
  222. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -15
  223. package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
  224. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
  225. package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
  226. package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
  227. package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
  228. package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
  229. package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
  230. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
  231. package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
  232. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
  233. package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
  234. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
  235. package/dist/cjs/node/vite/shared/isAsset.js +0 -40
  236. package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
  237. package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
  238. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
  239. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
  240. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
  241. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
  242. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
  243. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
  244. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
  245. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
  246. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
  247. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
  248. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
  249. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
  250. package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
  251. package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
  252. package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
  253. package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
  254. package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
  255. package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
  256. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
  257. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
  258. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
  259. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
  260. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
  261. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
  262. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
  263. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
  264. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
  265. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
  266. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
  267. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
  268. package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
  269. package/dist/cjs/node/vite/utils.js +0 -45
  270. package/dist/cjs/package.json +0 -1
  271. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
  272. package/dist/cjs/shared/RenderErrorPage.js +0 -6
  273. package/dist/cjs/shared/abort.js +0 -16
  274. package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
  275. package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
  276. package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
  277. package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
  278. package/dist/cjs/shared/createGlobalContextShared.js +0 -109
  279. package/dist/cjs/shared/createPageContextShared.js +0 -17
  280. package/dist/cjs/shared/determinePageIdOld.js +0 -11
  281. package/dist/cjs/shared/error-page.js +0 -40
  282. package/dist/cjs/shared/getPageContext.js +0 -6
  283. package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
  284. package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
  285. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
  286. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
  287. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
  288. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
  289. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
  290. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
  291. package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
  292. package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
  293. package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
  294. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
  295. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
  296. package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
  297. package/dist/cjs/shared/getPageFiles.js +0 -7
  298. package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
  299. package/dist/cjs/shared/hooks/execHook.js +0 -147
  300. package/dist/cjs/shared/hooks/getHook.js +0 -173
  301. package/dist/cjs/shared/htmlElementIds.js +0 -5
  302. package/dist/cjs/shared/misc/isServerSideError.js +0 -4
  303. package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
  304. package/dist/cjs/shared/modifyUrl.js +0 -28
  305. package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
  306. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
  307. package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
  308. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
  309. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
  310. package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
  311. package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
  312. package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
  313. package/dist/cjs/shared/page-configs/helpers.js +0 -27
  314. package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
  315. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
  316. package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
  317. package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
  318. package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
  319. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
  320. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
  321. package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
  322. package/dist/cjs/shared/route/abort.js +0 -178
  323. package/dist/cjs/shared/route/debug.js +0 -23
  324. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
  325. package/dist/cjs/shared/route/execHookGuard.js +0 -37
  326. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
  327. package/dist/cjs/shared/route/index.js +0 -107
  328. package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
  329. package/dist/cjs/shared/route/noRouteMatch.js +0 -4
  330. package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
  331. package/dist/cjs/shared/route/resolveRoute.js +0 -20
  332. package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
  333. package/dist/cjs/shared/route/resolveRouteString.js +0 -153
  334. package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
  335. package/dist/cjs/shared/route/routing.js +0 -9
  336. package/dist/cjs/shared/route/utils.js +0 -40
  337. package/dist/cjs/shared/utils.js +0 -49
  338. package/dist/cjs/types/Config/ConfigResolved.js +0 -2
  339. package/dist/cjs/types/Config.js +0 -2
  340. package/dist/cjs/types/FilePath.js +0 -2
  341. package/dist/cjs/types/PageConfig.js +0 -2
  342. package/dist/cjs/types/PageContext.js +0 -2
  343. package/dist/cjs/types/VikeGlobalInternal.js +0 -2
  344. package/dist/cjs/types/VikeNamespace.js +0 -2
  345. package/dist/cjs/types/ViteManifest.js +0 -2
  346. package/dist/cjs/types/defineConfig.js +0 -6
  347. package/dist/cjs/types/index-dreprecated.js +0 -3
  348. package/dist/cjs/types/index.js +0 -5
  349. package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
  350. package/dist/cjs/utils/PromiseType.js +0 -2
  351. package/dist/cjs/utils/assert.js +0 -211
  352. package/dist/cjs/utils/assertIsBrowser.js +0 -8
  353. package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
  354. package/dist/cjs/utils/assertKeys.js +0 -27
  355. package/dist/cjs/utils/assertNodeVersion.js +0 -14
  356. package/dist/cjs/utils/assertRoutingType.js +0 -29
  357. package/dist/cjs/utils/assertSetup.js +0 -171
  358. package/dist/cjs/utils/assertSingleInstance.js +0 -110
  359. package/dist/cjs/utils/assertVersion.js +0 -60
  360. package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
  361. package/dist/cjs/utils/cast.js +0 -6
  362. package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
  363. package/dist/cjs/utils/changeEnumerable.js +0 -8
  364. package/dist/cjs/utils/checkType.js +0 -6
  365. package/dist/cjs/utils/compareString.js +0 -10
  366. package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
  367. package/dist/cjs/utils/debug.js +0 -178
  368. package/dist/cjs/utils/debugGlob.js +0 -6
  369. package/dist/cjs/utils/deepEqual.js +0 -10
  370. package/dist/cjs/utils/escapeHtml.js +0 -13
  371. package/dist/cjs/utils/escapeRegex.js +0 -7
  372. package/dist/cjs/utils/findFile.js +0 -30
  373. package/dist/cjs/utils/findPackageJson.js +0 -18
  374. package/dist/cjs/utils/formatHintLog.js +0 -17
  375. package/dist/cjs/utils/freezePartial.js +0 -35
  376. package/dist/cjs/utils/genPromise.js +0 -51
  377. package/dist/cjs/utils/getFileExtension.js +0 -16
  378. package/dist/cjs/utils/getGlobalObject.js +0 -15
  379. package/dist/cjs/utils/getMostSimilar.js +0 -68
  380. package/dist/cjs/utils/getPropAccessNotation.js +0 -9
  381. package/dist/cjs/utils/getRandomId.js +0 -14
  382. package/dist/cjs/utils/getTerminalWidth.js +0 -7
  383. package/dist/cjs/utils/getValuePrintable.js +0 -10
  384. package/dist/cjs/utils/getViteRPC.js +0 -79
  385. package/dist/cjs/utils/hasProp.js +0 -50
  386. package/dist/cjs/utils/humanizeTime.js +0 -24
  387. package/dist/cjs/utils/includes.js +0 -13
  388. package/dist/cjs/utils/injectRollupInputs.js +0 -29
  389. package/dist/cjs/utils/isArray.js +0 -7
  390. package/dist/cjs/utils/isArrayOfStrings.js +0 -7
  391. package/dist/cjs/utils/isBrowser.js +0 -8
  392. package/dist/cjs/utils/isCallable.js +0 -6
  393. package/dist/cjs/utils/isDev.js +0 -20
  394. package/dist/cjs/utils/isDocker.js +0 -45
  395. package/dist/cjs/utils/isEqualStringList.js +0 -13
  396. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
  397. package/dist/cjs/utils/isHtml.js +0 -9
  398. package/dist/cjs/utils/isImportPath.js +0 -21
  399. package/dist/cjs/utils/isNodeJS.js +0 -16
  400. package/dist/cjs/utils/isNonRunnableDev.js +0 -12
  401. package/dist/cjs/utils/isNullish.js +0 -16
  402. package/dist/cjs/utils/isObject.js +0 -6
  403. package/dist/cjs/utils/isObjectOfStrings.js +0 -7
  404. package/dist/cjs/utils/isObjectWithKeys.js +0 -15
  405. package/dist/cjs/utils/isPlainObject.js +0 -19
  406. package/dist/cjs/utils/isPromise.js +0 -7
  407. package/dist/cjs/utils/isPropertyGetter.js +0 -7
  408. package/dist/cjs/utils/isReact.js +0 -23
  409. package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
  410. package/dist/cjs/utils/isSameErrorMessage.js +0 -9
  411. package/dist/cjs/utils/isScriptFile.js +0 -67
  412. package/dist/cjs/utils/isVikeReactApp.js +0 -8
  413. package/dist/cjs/utils/isVitest.js +0 -6
  414. package/dist/cjs/utils/joinEnglish.js +0 -14
  415. package/dist/cjs/utils/normalizeHeaders.js +0 -17
  416. package/dist/cjs/utils/objectAssign.js +0 -14
  417. package/dist/cjs/utils/objectAssignSafe.js +0 -7
  418. package/dist/cjs/utils/objectDefineProperty.js +0 -7
  419. package/dist/cjs/utils/objectEntries.js +0 -8
  420. package/dist/cjs/utils/objectEntriesForEach.js +0 -7
  421. package/dist/cjs/utils/objectFilter.js +0 -10
  422. package/dist/cjs/utils/objectFromEntries.js +0 -7
  423. package/dist/cjs/utils/objectKeys.js +0 -9
  424. package/dist/cjs/utils/objectReplace.js +0 -9
  425. package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
  426. package/dist/cjs/utils/pLimit.js +0 -134
  427. package/dist/cjs/utils/parseNpmPackage.js +0 -106
  428. package/dist/cjs/utils/parseUrl-extras.js +0 -110
  429. package/dist/cjs/utils/parseUrl.js +0 -338
  430. package/dist/cjs/utils/path.js +0 -59
  431. package/dist/cjs/utils/pick.js +0 -12
  432. package/dist/cjs/utils/preservePropertyGetters.js +0 -30
  433. package/dist/cjs/utils/redirectHard.js +0 -6
  434. package/dist/cjs/utils/removeEmptyLines.js +0 -9
  435. package/dist/cjs/utils/removeFileExtension.js +0 -6
  436. package/dist/cjs/utils/requireResolve.js +0 -214
  437. package/dist/cjs/utils/rollupSourceMap.js +0 -19
  438. package/dist/cjs/utils/sleep.js +0 -6
  439. package/dist/cjs/utils/slice.js +0 -35
  440. package/dist/cjs/utils/sorter.js +0 -117
  441. package/dist/cjs/utils/stringifyStringArray.js +0 -6
  442. package/dist/cjs/utils/stripAnsi.js +0 -21
  443. package/dist/cjs/utils/styleFileRE.js +0 -6
  444. package/dist/cjs/utils/throttle.js +0 -15
  445. package/dist/cjs/utils/trackLogs.js +0 -31
  446. package/dist/cjs/utils/trimWithAnsi.js +0 -40
  447. package/dist/cjs/utils/truncateString.js +0 -23
  448. package/dist/cjs/utils/unique.js +0 -6
  449. package/dist/cjs/utils/updateType.js +0 -9
  450. package/dist/cjs/utils/urlToFile.js +0 -36
  451. package/dist/cjs/utils/virtualFileId.js +0 -39
  452. package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
  453. package/dist/esm/client/runtime-server-routing/globalContext.js +0 -5
  454. package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -65
  455. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -249
  456. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -34
  457. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -39
  458. package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
  459. package/dist/esm/node/vite/plugins/pluginBuild.js +0 -19
  460. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +0 -50
  461. package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -3
  462. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -67
  463. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.d.ts +0 -0
  464. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.d.ts +0 -0
  465. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.d.ts +0 -0
@@ -11,37 +11,45 @@ import { getVikeConfigInternal } from '../shared/resolveVikeConfigInternal.js';
11
11
  function pluginPreview() {
12
12
  let config;
13
13
  let vikeConfig;
14
- return {
15
- name: 'vike:pluginPreview',
16
- apply: applyPreview,
17
- config() {
18
- return {
19
- appType: 'custom',
20
- };
14
+ return [
15
+ {
16
+ name: 'vike:pluginPreview',
17
+ apply: applyPreview,
18
+ config: {
19
+ handler() {
20
+ return {
21
+ appType: 'custom',
22
+ };
23
+ },
24
+ },
25
+ configResolved: {
26
+ async handler(config_) {
27
+ config = config_;
28
+ vikeConfig = await getVikeConfigInternal();
29
+ logDockerHint(config.preview.host);
30
+ // vikeConfig = await getVikeConfig(config)
31
+ },
32
+ },
33
+ configurePreviewServer: {
34
+ handler(server) {
35
+ /* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
36
+ - This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
37
+ config.appType = 'mpa'
38
+ */
39
+ return () => {
40
+ const { isPrerenderingEnabledForAllPages, isPrerenderingEnabled } = vikeConfig.prerenderContext;
41
+ assertDist(isPrerenderingEnabledForAllPages);
42
+ // We cannot re-use Vite's static middleware: https://github.com/vitejs/vite/pull/14836#issuecomment-1788540300
43
+ addStaticAssetsMiddleware(server.middlewares);
44
+ if (!isPrerenderingEnabledForAllPages) {
45
+ addSsrMiddleware(server.middlewares, config, true, isPrerenderingEnabled);
46
+ }
47
+ addStatic404Middleware(server.middlewares);
48
+ };
49
+ },
50
+ },
21
51
  },
22
- async configResolved(config_) {
23
- config = config_;
24
- vikeConfig = await getVikeConfigInternal();
25
- logDockerHint(config.preview.host);
26
- // vikeConfig = await getVikeConfig(config)
27
- },
28
- configurePreviewServer(server) {
29
- /* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
30
- - This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
31
- config.appType = 'mpa'
32
- */
33
- return () => {
34
- const { isPrerenderingEnabledForAllPages, isPrerenderingEnabled } = vikeConfig.prerenderContext;
35
- assertDist(isPrerenderingEnabledForAllPages);
36
- // We cannot re-use Vite's static middleware: https://github.com/vitejs/vite/pull/14836#issuecomment-1788540300
37
- addStaticAssetsMiddleware(server.middlewares);
38
- if (!isPrerenderingEnabledForAllPages) {
39
- addSsrMiddleware(server.middlewares, config, true, isPrerenderingEnabled);
40
- }
41
- addStatic404Middleware(server.middlewares);
42
- };
43
- },
44
- };
52
+ ];
45
53
  function assertDist(isPrerenderingEnabledForAllPages) {
46
54
  const { outDirRoot, outDirClient, outDirServer } = getOutDirs(config, undefined);
47
55
  const dirS = [outDirRoot, outDirClient];
@@ -0,0 +1,9 @@
1
+ export { pluginReplaceGlobalThisConstants };
2
+ import type { Plugin } from 'vite';
3
+ declare global {
4
+ /** Like `import.meta.env.DEV` but works inside `node_modules/` (even if package is `ssr.external`). The value `undefined` is to be interpreted as `false`. */
5
+ var __VIKE__IS_DEV: boolean | undefined;
6
+ /** Like `import.meta.env.SSR` but works inside `node_modules/` (even if package is `ssr.external`). The value `undefined` is to be interpreted as `false`. */
7
+ var __VIKE__IS_CLIENT: boolean | undefined;
8
+ }
9
+ declare function pluginReplaceGlobalThisConstants(): Plugin[];
@@ -0,0 +1,45 @@
1
+ export { pluginReplaceGlobalThisConstants };
2
+ import { assert } from '../utils.js';
3
+ // === Explanation: globalThis.__VIKE__IS_DEV
4
+ // If client-side => always noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
5
+ // If server-side:
6
+ // If ssr.noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
7
+ // If `ssr.external`:
8
+ // If not RunnableDevEnvironment (e.g. `@cloudflare/vite-plugin`) => always ssr.noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
9
+ // If RunnableDevEnvironment (the default setup):
10
+ // If dev/preview/pre-rendering => Vite is loaded, and server and Vite run inside the same process (because RunnableDevEnvironment) => globalThis.__VIKE__IS_DEV is set by the assignment below.
11
+ // If production => Vite isn't loaded => globalThis.__VIKE__IS_DEV is `undefined` (it's never set) => value `undefined` is to be interpreted as `false`.
12
+ // === Explanation: globalThis.__VIKE__IS_CLIENT
13
+ // If client-side => always noExternal => globalThis.__VIKE__IS_CLIENT is set to `true` by the `define` config below.
14
+ // If server-side => globalThis.__VIKE__IS_CLIENT is either `false` or `undefined` (the value `undefined` is to be interpreted as `false`).
15
+ globalThis.__VIKE__IS_CLIENT = false;
16
+ function pluginReplaceGlobalThisConstants() {
17
+ return [
18
+ {
19
+ name: 'vike:pluginReplaceGlobalThisConstants',
20
+ config: {
21
+ handler(config) {
22
+ const isDev = config._isDev;
23
+ assert(typeof isDev === 'boolean');
24
+ globalThis.__VIKE__IS_DEV = isDev;
25
+ return {
26
+ define: {
27
+ 'globalThis.__VIKE__IS_DEV': JSON.stringify(isDev),
28
+ },
29
+ };
30
+ },
31
+ },
32
+ configEnvironment: {
33
+ handler(name, config) {
34
+ const consumer = config.consumer ?? (name === 'client' ? 'client' : 'server');
35
+ const isClientSide = consumer === 'client';
36
+ return {
37
+ define: {
38
+ 'globalThis.__VIKE__IS_CLIENT': JSON.stringify(isClientSide),
39
+ },
40
+ };
41
+ },
42
+ },
43
+ },
44
+ ];
45
+ }
@@ -0,0 +1,3 @@
1
+ export { pluginReplaceIsClientSide };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginReplaceIsClientSide(): Plugin[];
@@ -0,0 +1,87 @@
1
+ export { pluginReplaceIsClientSide };
2
+ import { assert, assertPosixPath } from '../utils.js';
3
+ import { normalizeId } from '../shared/normalizeId.js';
4
+ import { isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
5
+ import { getMagicString } from '../shared/getMagicString.js';
6
+ const constantsIsClientSide = [
7
+ //
8
+ 'pageContext.isClientSide',
9
+ 'globalContext.isClientSide',
10
+ 'pageContext.globalContext.isClientSide',
11
+ ];
12
+ const skipNodeModules = '/node_modules/';
13
+ const skipIrrelevant = 'Context.isClientSide';
14
+ assert(constantsIsClientSide.every((constant) => constant.endsWith(skipIrrelevant)));
15
+ const filterRolldown = {
16
+ id: {
17
+ exclude: `**${skipNodeModules}**`,
18
+ },
19
+ code: {
20
+ include: skipIrrelevant,
21
+ },
22
+ };
23
+ const filterFunction = (id, code) => {
24
+ if (id.includes(skipNodeModules))
25
+ return false;
26
+ if (!code.includes(skipIrrelevant))
27
+ return false;
28
+ return true;
29
+ };
30
+ function pluginReplaceIsClientSide() {
31
+ let config;
32
+ return [
33
+ {
34
+ name: 'vike:pluginReplaceIsClientSide',
35
+ enforce: 'post',
36
+ apply: 'build',
37
+ configResolved: {
38
+ handler(config_) {
39
+ config = config_;
40
+ },
41
+ },
42
+ transform: {
43
+ filter: filterRolldown,
44
+ handler(code, id, options) {
45
+ id = normalizeId(id);
46
+ assertPosixPath(id);
47
+ assertPosixPath(config.root);
48
+ if (!id.startsWith(config.root))
49
+ return; // skip linked dependencies
50
+ assert(filterFunction(id, code));
51
+ const isBuild = config.command === 'build';
52
+ assert(isBuild);
53
+ // Used by vike.dev
54
+ // https://github.com/vikejs/vike/blob/08a1ff55c80ddca64ca6d4417fefd45fefeb4ffb/docs/vite.config.ts#L12
55
+ // @ts-expect-error
56
+ if (config._skipVikeReplaceConstants?.(id))
57
+ return;
58
+ const { magicString, getMagicStringResult } = getMagicString(code, id);
59
+ if (constantsIsClientSide.some((c) => code.includes(c))) {
60
+ const replacement = !isViteServerSide_extraSafe(config, this.environment, options);
61
+ const regExp = getConstantRegExp(constantsIsClientSide);
62
+ magicString.replaceAll(regExp, JSON.stringify(replacement));
63
+ }
64
+ return getMagicStringResult();
65
+ },
66
+ },
67
+ },
68
+ ];
69
+ }
70
+ // Copied & adapted from:
71
+ // https://github.com/rollup/plugins/blob/e1a5ef99f1578eb38a8c87563cb9651db228f3bd/packages/replace/src/index.js#L57-L67
72
+ function getConstantRegExp(constants) {
73
+ const keys = Object.values(constants).sort(longest).map(escape);
74
+ // const delimiters = ['\\b', '\\b(?!\\.)']
75
+ const delimiters = ['(?<!\\.)\\b', '\\b(?!\\.)']; // Improved version, to avoid replacing `globalContext.pageContext.isClientSide` with `globalContext.false`
76
+ const preventAssignment = false; // Let's try without it first, let's see if a user complains
77
+ const lookbehind = preventAssignment ? '(?<!\\b(?:const|let|var)\\s*)' : '';
78
+ const lookahead = preventAssignment ? '(?!\\s*=[^=])' : '';
79
+ const pattern = new RegExp(`${lookbehind}${delimiters[0]}(${keys.join('|')})${delimiters[1]}${lookahead}`, 'g');
80
+ return pattern;
81
+ }
82
+ function escape(str) {
83
+ return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
84
+ }
85
+ function longest(a, b) {
86
+ return b.length - a.length;
87
+ }
@@ -20,8 +20,10 @@ function pluginSetGlobalContext() {
20
20
  markSetup_viteDevServer();
21
21
  },
22
22
  },
23
- configurePreviewServer() {
24
- markSetup_vitePreviewServer();
23
+ configurePreviewServer: {
24
+ handler() {
25
+ markSetup_vitePreviewServer();
26
+ },
25
27
  },
26
28
  config: {
27
29
  order: 'pre',
@@ -5,7 +5,7 @@ import { getVikeConfigInternal } from '../../shared/resolveVikeConfigInternal.js
5
5
  import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
6
6
  import { debug } from './debug.js';
7
7
  import { serializeConfigValues } from '../../../../shared/page-configs/serialize/serializeConfigValues.js';
8
- import { handleAssetsManifest_isFixEnabled } from '../pluginBuild/handleAssetsManifest.js';
8
+ import { handleAssetsManifest_isFixEnabled } from '../build/handleAssetsManifest.js';
9
9
  import { getConfigValueBuildTime } from '../../../../shared/page-configs/getConfigValueBuildTime.js';
10
10
  import { resolveIncludeAssetsImportedByServer } from '../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js';
11
11
  async function generateVirtualFilePageEntry(id, isDev) {
@@ -1,3 +1,3 @@
1
1
  export { pluginVirtualFiles };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginVirtualFiles(): Plugin;
3
+ declare function pluginVirtualFiles(): Plugin[];
@@ -2,63 +2,81 @@ export { pluginVirtualFiles };
2
2
  import { normalizePath } from 'vite';
3
3
  import { generateVirtualFilePageEntry } from './pluginVirtualFiles/generateVirtualFilePageEntry.js';
4
4
  import { generateVirtualFileGlobalEntryWithOldDesign } from './pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js';
5
- import { assert, assertPosixPath, isScriptFile, addVirtualFileIdPrefix, isVirtualFileId, removeVirtualFileIdPrefix, } from '../utils.js';
5
+ import { assert, assertPosixPath, isScriptFile, addVirtualFileIdPrefix, isVirtualFileId, removeVirtualFileIdPrefix, escapeRegex, virtualFileIdPrefix1, virtualFileIdPrefix2, } from '../utils.js';
6
6
  import { parseVirtualFileId } from '../../shared/virtualFileId.js';
7
7
  import { reloadVikeConfig, isV1Design, getVikeConfigInternalOptional } from '../shared/resolveVikeConfigInternal.js';
8
8
  import pc from '@brillout/picocolors';
9
9
  import { logConfigInfo } from '../shared/loggerNotProd.js';
10
10
  import { getModuleFilePathAbsolute } from '../shared/getFilePath.js';
11
- import { updateUserFiles } from '../../runtime/globalContext.js';
11
+ import { isRunnable, updateUserFiles } from '../../runtime/globalContext.js';
12
12
  import { isPlusFile } from '../shared/resolveVikeConfigInternal/crawlPlusFiles.js';
13
13
  import { isTemporaryBuildFile } from '../shared/resolveVikeConfigInternal/transpileAndExecuteFile.js';
14
14
  import { getVikeConfigError } from '../../shared/getVikeConfigError.js';
15
+ const filterRolldown = {
16
+ id: {
17
+ include: new RegExp(`^(${escapeRegex(virtualFileIdPrefix1)}|${escapeRegex(virtualFileIdPrefix2)})`),
18
+ },
19
+ };
20
+ const filterFunction = (id) => isVirtualFileId(id);
15
21
  function pluginVirtualFiles() {
16
22
  let config;
17
- return {
18
- name: 'vike:pluginVirtualFiles',
19
- async configResolved(config_) {
20
- config = config_;
21
- // TO-DO/next-major-release: remove
22
- if (!isV1Design())
23
- config.experimental.importGlobRestoreExtension = true;
23
+ return [
24
+ {
25
+ name: 'vike:pluginVirtualFiles',
26
+ configResolved: {
27
+ async handler(config_) {
28
+ config = config_;
29
+ // TO-DO/next-major-release: remove
30
+ if (!isV1Design())
31
+ config.experimental.importGlobRestoreExtension = true;
32
+ },
33
+ },
34
+ resolveId: {
35
+ filter: filterRolldown,
36
+ handler(id) {
37
+ assert(filterFunction(id));
38
+ return addVirtualFileIdPrefix(id);
39
+ },
40
+ },
41
+ handleHotUpdate: {
42
+ async handler(ctx) {
43
+ try {
44
+ return await handleHotUpdate(ctx, config);
45
+ }
46
+ catch (err) {
47
+ // Vite swallows errors thrown by handleHotUpdate()
48
+ console.error(err);
49
+ throw err;
50
+ }
51
+ },
52
+ },
53
+ load: {
54
+ filter: filterRolldown,
55
+ async handler(id, options) {
56
+ assert(filterFunction(id));
57
+ id = removeVirtualFileIdPrefix(id);
58
+ const isDev = config._isDev;
59
+ assert(typeof isDev === 'boolean');
60
+ const idParsed = parseVirtualFileId(id);
61
+ if (idParsed) {
62
+ if (idParsed.type === 'page-entry') {
63
+ const code = await generateVirtualFilePageEntry(id, isDev);
64
+ return code;
65
+ }
66
+ if (idParsed.type === 'global-entry') {
67
+ const code = await generateVirtualFileGlobalEntryWithOldDesign(id, options, config, this.environment, isDev);
68
+ return code;
69
+ }
70
+ }
71
+ },
72
+ },
73
+ configureServer: {
74
+ handler(server) {
75
+ handleFileAddRemove(server, config);
76
+ },
77
+ },
24
78
  },
25
- resolveId(id) {
26
- if (isVirtualFileId(id)) {
27
- return addVirtualFileIdPrefix(id);
28
- }
29
- },
30
- async handleHotUpdate(ctx) {
31
- try {
32
- return await handleHotUpdate(ctx, config);
33
- }
34
- catch (err) {
35
- // Vite swallows errors thrown by handleHotUpdate()
36
- console.error(err);
37
- throw err;
38
- }
39
- },
40
- async load(id, options) {
41
- if (!isVirtualFileId(id))
42
- return undefined;
43
- id = removeVirtualFileIdPrefix(id);
44
- const isDev = config._isDev;
45
- assert(typeof isDev === 'boolean');
46
- const idParsed = parseVirtualFileId(id);
47
- if (idParsed) {
48
- if (idParsed.type === 'page-entry') {
49
- const code = await generateVirtualFilePageEntry(id, isDev);
50
- return code;
51
- }
52
- if (idParsed.type === 'global-entry') {
53
- const code = await generateVirtualFileGlobalEntryWithOldDesign(id, options, config, this.environment, isDev);
54
- return code;
55
- }
56
- }
57
- },
58
- configureServer(server) {
59
- handleFileAddRemove(server, config);
60
- },
61
- };
79
+ ];
62
80
  }
63
81
  function handleFileAddRemove(server, config) {
64
82
  server.watcher.prependListener('add', (f) => listener(f, false));
@@ -125,7 +143,9 @@ async function handleHotUpdate(ctx, config) {
125
143
  // Ensure we invalidate `file` *before* server.ssrLoadModule() in updateUserFiles()
126
144
  // Vite already invalidates it, but *after* handleHotUpdate() and thus after server.ssrLoadModule()
127
145
  ctx.modules.forEach((mod) => server.moduleGraph.invalidateModule(mod));
128
- updateUserFiles();
146
+ if (isRunnable(server)) {
147
+ await updateUserFiles();
148
+ }
129
149
  }
130
150
  }
131
151
  }
@@ -1,3 +1,3 @@
1
1
  export { pluginWorkaroundCssModuleHmr };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginWorkaroundCssModuleHmr(): Plugin;
3
+ declare function pluginWorkaroundCssModuleHmr(): Plugin[];
@@ -1,13 +1,17 @@
1
1
  export { pluginWorkaroundCssModuleHmr };
2
2
  function pluginWorkaroundCssModuleHmr() {
3
- return {
4
- name: 'vike:pluginWorkaroundCssModuleHmr',
5
- handleHotUpdate(ctx) {
6
- // prevent full reload due to non self-accepting css module.
7
- // here only "?direct" module should be filtered out as it doesn't have a parent module.
8
- if (ctx.file.includes('module.css')) {
9
- return ctx.modules.filter((m) => !m.id?.includes('?direct'));
10
- }
3
+ return [
4
+ {
5
+ name: 'vike:pluginWorkaroundCssModuleHmr',
6
+ handleHotUpdate: {
7
+ handler(ctx) {
8
+ // prevent full reload due to non self-accepting css module.
9
+ // here only "?direct" module should be filtered out as it doesn't have a parent module.
10
+ if (ctx.file.includes('module.css')) {
11
+ return ctx.modules.filter((m) => !m.id?.includes('?direct'));
12
+ }
13
+ },
14
+ },
11
15
  },
12
- };
16
+ ];
13
17
  }
@@ -1,3 +1,3 @@
1
1
  export { pluginWorkaroundVite6HmrRegression };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginWorkaroundVite6HmrRegression(): Plugin;
3
+ declare function pluginWorkaroundVite6HmrRegression(): Plugin[];
@@ -4,30 +4,32 @@ export { pluginWorkaroundVite6HmrRegression };
4
4
  // Workaround seems to work for docs page /banner (which is HTML-only)
5
5
  // But doesn't seem to work for /examples/render-modes/ (see https://github.com/vikejs/vike/pull/2069 commit `renable HMR test for HTML-only`)
6
6
  function pluginWorkaroundVite6HmrRegression() {
7
- return {
8
- name: 'vike:pluginWorkaroundVite6HmrRegression',
9
- enforce: 'post',
10
- hotUpdate: {
11
- order: 'post',
12
- handler({ modules, server, timestamp }) {
13
- if (this.environment.name !== 'ssr')
14
- return;
15
- let hasSsrOnlyModules = false;
16
- const invalidatedModules = new Set();
17
- for (const mod of modules) {
18
- if (mod.id == null)
19
- continue;
20
- const clientModule = server.environments.client.moduleGraph.getModuleById(mod.id);
21
- if (clientModule != null)
22
- continue;
23
- this.environment.moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
24
- hasSsrOnlyModules = true;
25
- }
26
- if (hasSsrOnlyModules) {
27
- server.ws.send({ type: 'full-reload' });
28
- return [];
29
- }
7
+ return [
8
+ {
9
+ name: 'vike:pluginWorkaroundVite6HmrRegression',
10
+ enforce: 'post',
11
+ hotUpdate: {
12
+ order: 'post',
13
+ handler({ modules, server, timestamp }) {
14
+ if (this.environment.name !== 'ssr')
15
+ return;
16
+ let hasSsrOnlyModules = false;
17
+ const invalidatedModules = new Set();
18
+ for (const mod of modules) {
19
+ if (mod.id == null)
20
+ continue;
21
+ const clientModule = server.environments.client.moduleGraph.getModuleById(mod.id);
22
+ if (clientModule != null)
23
+ continue;
24
+ this.environment.moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
25
+ hasSsrOnlyModules = true;
26
+ }
27
+ if (hasSsrOnlyModules) {
28
+ server.ws.send({ type: 'full-reload' });
29
+ return [];
30
+ }
31
+ },
30
32
  },
31
33
  },
32
- };
34
+ ];
33
35
  }
@@ -5,5 +5,5 @@ declare function getMagicString(code: string, id: string): {
5
5
  getMagicStringResult: () => {
6
6
  code: string;
7
7
  map: import("magic-string").SourceMap;
8
- };
8
+ } | undefined;
9
9
  };
@@ -4,6 +4,8 @@ import MagicString from 'magic-string';
4
4
  function getMagicString(code, id) {
5
5
  const magicString = new MagicString(code);
6
6
  const getMagicStringResult = () => {
7
+ if (!magicString.hasChanged())
8
+ return undefined;
7
9
  return {
8
10
  code: magicString.toString(),
9
11
  map: magicString.generateMap({ hires: true, source: id }),
@@ -6,11 +6,11 @@ export type GlobalContextInternal = GlobalContextServerInternal | GlobalContextC
6
6
  import type { PageFile } from './getPageFiles.js';
7
7
  import type { PageConfigRuntime } from '../types/PageConfig.js';
8
8
  import type { GlobalContextServerInternal } from '../node/runtime/globalContext.js';
9
- import type { GlobalContextClientInternal } from '../client/runtime-client-routing/globalContext.js';
9
+ import type { GlobalContextClientInternal } from '../client/runtime-client-routing/getGlobalContextClientInternal.js';
10
10
  import { type Hook } from './hooks/getHook.js';
11
11
  declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
12
- declare function createGlobalContextShared<GlobalContextAdded extends Record<string, any>, GlobalContextAddedAsync extends Record<string, any>>(virtualFileExportsGlobalEntry: unknown, globalObject: {
13
- globalContext?: Record<string, unknown>;
12
+ declare function createGlobalContextShared<GlobalContextAdded extends {}, GlobalContextAddedAsync extends {}>(virtualFileExportsGlobalEntry: unknown, globalObject: {
13
+ globalContext?: {};
14
14
  onCreateGlobalContextHooks?: Hook[];
15
15
  previousCreateGlobalContextPromise?: Promise<void>;
16
16
  }, addGlobalContext?: (globalContext: GlobalContextBase) => GlobalContextAdded, addGlobalContextTmp?: (globalContext: GlobalContextBase) => Promise<GlobalContextAdded>, addGlobalContextAsync?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddedAsync>): Promise<{
@@ -64,7 +64,7 @@ declare function createGlobalContextShared<GlobalContextAdded extends Record<str
64
64
  _pageConfigs: PageConfigRuntime[];
65
65
  _pageConfigGlobal: import("../types/PageConfig.js").PageConfigGlobalRuntime;
66
66
  _allPageIds: string[];
67
- } & GlobalContextAdded & GlobalContextAddedAsync>;
67
+ } & GlobalContextAdded & Awaited<GlobalContextAddedAsync>>;
68
68
  type GlobalContextBasePublic = Pick<GlobalContextBase, 'config' | 'pages' | 'isGlobalContext'>;
69
69
  type GlobalContextBase = ReturnType<typeof createGlobalContextBase>;
70
70
  declare function createGlobalContextBase(virtualFileExportsGlobalEntry: unknown): {
@@ -13,7 +13,7 @@ export type { ErrorAbort };
13
13
  export type { PageContextFromRewrite };
14
14
  export type { UrlRedirect };
15
15
  type RedirectStatusCode = number & Parameters<typeof redirect>[1];
16
- type AbortStatusCode = number & Parameters<typeof render>[0];
16
+ type AbortStatusCode = number & Parameters<InferTwoOverloads<typeof render>[0]>[0];
17
17
  type UrlRedirect = {
18
18
  url: string;
19
19
  statusCode: RedirectStatusCode;
@@ -36,16 +36,23 @@ declare function redirect(url: string, statusCode?: 301 | 302): AbortRedirect;
36
36
  *
37
37
  * https://vike.dev/render
38
38
  *
39
- * @param abortStatusCode
40
- * One of the following:
41
- * `401` Unauthorized (user isn't logged in)
42
- * `403` Forbidden (user is logged in but isn't allowed)
43
- * `404` Not Found
44
- * `410` Gone (use this instead of `404` if the page existed in the past, see https://github.com/vikejs/vike/issues/1097#issuecomment-1695260887)
45
- * `429` Too Many Requests (rate limiting)
46
- * `500` Internal Server Error (your client or server has a bug)
47
- * `503` Service Unavailable (server is overloaded, or a third-party API isn't responding)
48
- * @param abortReason Sets `pageContext.abortReason` which is usually used by the error page to show a message to the user, see https://vike.dev/error-page
39
+ *
40
+ * **Recommended** status codes:
41
+ * `401` Unauthorized (user isn't logged in)
42
+ * `403` Forbidden (user is logged in but isn't allowed)
43
+ * `404` Not Found
44
+ * `410` Gone (use this instead of `404` if the page existed in the past, see https://github.com/vikejs/vike/issues/1097#issuecomment-1695260887)
45
+ * `429` Too Many Requests (rate limiting)
46
+ * `500` Internal Server Error (your client or server has a bug)
47
+ * `503` Service Unavailable (server is overloaded, or a third-party API isn't responding)
48
+ *
49
+ * **Not recommended** status codes:
50
+ * `400` — See https://github.com/vikejs/vike/issues/1008#issuecomment-3270894445
51
+ * Other status codes — See https://github.com/vikejs/vike/issues/1008
52
+ *
53
+ * @param abortStatusCode - One of the recommended status codes listed above.
54
+ *
55
+ * @param abortReason - Sets `pageContext.abortReason` which is usually used by the error page to show a message to the user, see https://vike.dev/error-page
49
56
  */
50
57
  declare function render(abortStatusCode: 401 | 403 | 404 | 410 | 429 | 500 | 503, abortReason?: AbortReason): Error;
51
58
  /**
@@ -106,3 +113,7 @@ type PageContextFromAllRewrites = {
106
113
  };
107
114
  declare function getPageContextFromAllRewrites(pageContextsFromRewrite: PageContextFromRewrite[]): PageContextFromAllRewrites;
108
115
  declare function assertNoInfiniteAbortLoop(rewriteCount: number, redirectCount: number): void;
116
+ type InferTwoOverloads<F extends Function> = F extends {
117
+ (...a1: infer A1): infer R1;
118
+ (...a0: infer A0): infer R0;
119
+ } ? [(...a1: A1) => R1, (...a0: A0) => R0] : never;