vike 0.4.239-commit-59f1017 → 0.4.239-commit-4d0d950

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 (415) hide show
  1. package/dist/esm/client/runtime-client-routing/entry.js +5 -0
  2. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
  3. package/dist/esm/client/runtime-client-routing/globalContext.js +9 -3
  4. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +1 -0
  5. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  6. package/dist/esm/client/runtime-server-routing/entry.js +5 -0
  7. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
  8. package/dist/esm/client/runtime-server-routing/globalContext.js +7 -3
  9. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +4 -3
  10. package/dist/esm/client/shared/createGetGlobalContextClient.js +38 -34
  11. package/dist/esm/node/vite/index.js +34 -15
  12. package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  13. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +37 -35
  14. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.d.ts +1 -1
  15. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +82 -80
  16. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.d.ts +1 -1
  17. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +23 -21
  18. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.d.ts +1 -1
  19. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +38 -36
  20. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.d.ts +1 -1
  21. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +26 -24
  22. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
  23. package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
  24. package/dist/esm/node/vite/plugins/pluginEnvVars.js +87 -65
  25. package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  26. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +29 -27
  27. package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
  28. package/dist/esm/node/vite/plugins/pluginFileEnv.js +75 -73
  29. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +1 -1
  30. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +30 -28
  31. package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
  32. package/dist/esm/node/vite/plugins/pluginPreview.js +35 -33
  33. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
  34. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
  35. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
  36. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +89 -0
  37. package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  38. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +50 -48
  39. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  40. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +12 -10
  41. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  42. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
  43. package/dist/esm/shared/createGlobalContextShared.js +1 -0
  44. package/dist/esm/shared/route/abort.d.ts +22 -11
  45. package/dist/esm/shared/route/abort.js +37 -5
  46. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  47. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  48. package/dist/esm/utils/findPackageJson.js +0 -1
  49. package/dist/esm/utils/getViteRPC.js +0 -2
  50. package/dist/esm/utils/requireResolve.js +0 -1
  51. package/package.json +2 -21
  52. package/dist/cjs/__internal/index.js +0 -35
  53. package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
  54. package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
  55. package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
  56. package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
  57. package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
  58. package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
  59. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
  60. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
  61. package/dist/cjs/client/shared/utils.js +0 -23
  62. package/dist/cjs/node/api/build.js +0 -24
  63. package/dist/cjs/node/api/context.js +0 -23
  64. package/dist/cjs/node/api/dev.js +0 -18
  65. package/dist/cjs/node/api/index.js +0 -44
  66. package/dist/cjs/node/api/onLoad.js +0 -9
  67. package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
  68. package/dist/cjs/node/api/prerender.js +0 -18
  69. package/dist/cjs/node/api/preview.js +0 -38
  70. package/dist/cjs/node/api/types.js +0 -2
  71. package/dist/cjs/node/api/utils.js +0 -27
  72. package/dist/cjs/node/cli/context.js +0 -17
  73. package/dist/cjs/node/cli/entry.js +0 -121
  74. package/dist/cjs/node/cli/index.js +0 -12
  75. package/dist/cjs/node/cli/onLoad.js +0 -9
  76. package/dist/cjs/node/cli/parseCli.js +0 -95
  77. package/dist/cjs/node/cli/utils.js +0 -24
  78. package/dist/cjs/node/client/router.js +0 -19
  79. package/dist/cjs/node/createPageRenderer.js +0 -132
  80. package/dist/cjs/node/importBuild.js +0 -3
  81. package/dist/cjs/node/prerender/context.js +0 -26
  82. package/dist/cjs/node/prerender/index.js +0 -12
  83. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
  84. package/dist/cjs/node/prerender/runPrerender.js +0 -778
  85. package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
  86. package/dist/cjs/node/prerender/utils.js +0 -37
  87. package/dist/cjs/node/runtime/globalContext.js +0 -582
  88. package/dist/cjs/node/runtime/index-deprecated.js +0 -33
  89. package/dist/cjs/node/runtime/index.js +0 -74
  90. package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
  91. package/dist/cjs/node/runtime/onLoad.js +0 -29
  92. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  93. package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
  94. package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
  95. package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
  96. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
  97. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
  98. package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
  99. package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
  100. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
  101. package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
  102. package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
  103. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
  104. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
  105. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
  106. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
  107. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
  108. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
  109. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
  110. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
  111. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
  112. package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
  113. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
  114. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
  115. package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
  116. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
  117. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
  118. package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
  119. package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
  120. package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
  121. package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
  122. package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
  123. package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
  124. package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
  125. package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
  126. package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
  127. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
  128. package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
  129. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
  130. package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
  131. package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
  132. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
  133. package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
  134. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
  135. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
  136. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
  137. package/dist/cjs/node/runtime/renderPage.js +0 -502
  138. package/dist/cjs/node/runtime/universal-middleware.js +0 -20
  139. package/dist/cjs/node/runtime/utils.js +0 -83
  140. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
  141. package/dist/cjs/node/runtime-dev/index.js +0 -42
  142. package/dist/cjs/node/shared/assertV1Design.js +0 -30
  143. package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
  144. package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
  145. package/dist/cjs/node/shared/isErrorDebug.js +0 -7
  146. package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
  147. package/dist/cjs/node/shared/resolveBase.js +0 -35
  148. package/dist/cjs/node/shared/utils.js +0 -35
  149. package/dist/cjs/node/shared/virtualFileId.js +0 -110
  150. package/dist/cjs/node/vite/index.js +0 -69
  151. package/dist/cjs/node/vite/onLoad.js +0 -21
  152. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -52
  153. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -357
  154. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -183
  155. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -234
  156. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -256
  157. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -40
  158. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -49
  159. package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -111
  160. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -65
  161. package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -22
  162. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
  163. package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -183
  164. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
  165. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
  166. package/dist/cjs/node/vite/plugins/pluginDev.js +0 -111
  167. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -92
  168. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -241
  169. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -113
  170. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -172
  171. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -70
  172. package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -82
  173. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -95
  174. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -51
  175. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
  176. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
  177. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
  178. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
  179. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
  180. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -233
  181. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -17
  182. package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
  183. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
  184. package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
  185. package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
  186. package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
  187. package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
  188. package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
  189. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
  190. package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
  191. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
  192. package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
  193. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
  194. package/dist/cjs/node/vite/shared/isAsset.js +0 -40
  195. package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
  196. package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
  197. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
  198. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
  199. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
  200. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
  201. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
  202. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
  203. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
  204. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
  205. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
  206. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
  207. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
  208. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
  209. package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
  210. package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
  211. package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
  212. package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
  213. package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
  214. package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
  215. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
  216. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
  217. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
  218. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
  219. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
  220. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
  221. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
  222. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
  223. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
  224. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
  225. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
  226. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
  227. package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
  228. package/dist/cjs/node/vite/utils.js +0 -45
  229. package/dist/cjs/package.json +0 -1
  230. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
  231. package/dist/cjs/shared/RenderErrorPage.js +0 -6
  232. package/dist/cjs/shared/abort.js +0 -16
  233. package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
  234. package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
  235. package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
  236. package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
  237. package/dist/cjs/shared/createGlobalContextShared.js +0 -109
  238. package/dist/cjs/shared/createPageContextShared.js +0 -17
  239. package/dist/cjs/shared/determinePageIdOld.js +0 -11
  240. package/dist/cjs/shared/error-page.js +0 -40
  241. package/dist/cjs/shared/getPageContext.js +0 -6
  242. package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
  243. package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
  244. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
  245. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
  246. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
  247. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
  248. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
  249. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
  250. package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
  251. package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
  252. package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
  253. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
  254. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
  255. package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
  256. package/dist/cjs/shared/getPageFiles.js +0 -7
  257. package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
  258. package/dist/cjs/shared/hooks/execHook.js +0 -147
  259. package/dist/cjs/shared/hooks/getHook.js +0 -173
  260. package/dist/cjs/shared/htmlElementIds.js +0 -5
  261. package/dist/cjs/shared/misc/isServerSideError.js +0 -4
  262. package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
  263. package/dist/cjs/shared/modifyUrl.js +0 -28
  264. package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
  265. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
  266. package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
  267. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
  268. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
  269. package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
  270. package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
  271. package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
  272. package/dist/cjs/shared/page-configs/helpers.js +0 -27
  273. package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
  274. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
  275. package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
  276. package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
  277. package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
  278. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
  279. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
  280. package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
  281. package/dist/cjs/shared/route/abort.js +0 -178
  282. package/dist/cjs/shared/route/debug.js +0 -23
  283. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
  284. package/dist/cjs/shared/route/execHookGuard.js +0 -37
  285. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
  286. package/dist/cjs/shared/route/index.js +0 -107
  287. package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
  288. package/dist/cjs/shared/route/noRouteMatch.js +0 -4
  289. package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
  290. package/dist/cjs/shared/route/resolveRoute.js +0 -20
  291. package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
  292. package/dist/cjs/shared/route/resolveRouteString.js +0 -153
  293. package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
  294. package/dist/cjs/shared/route/routing.js +0 -9
  295. package/dist/cjs/shared/route/utils.js +0 -40
  296. package/dist/cjs/shared/utils.js +0 -49
  297. package/dist/cjs/types/Config/ConfigResolved.js +0 -2
  298. package/dist/cjs/types/Config.js +0 -2
  299. package/dist/cjs/types/FilePath.js +0 -2
  300. package/dist/cjs/types/PageConfig.js +0 -2
  301. package/dist/cjs/types/PageContext.js +0 -2
  302. package/dist/cjs/types/VikeGlobalInternal.js +0 -2
  303. package/dist/cjs/types/VikeNamespace.js +0 -2
  304. package/dist/cjs/types/ViteManifest.js +0 -2
  305. package/dist/cjs/types/defineConfig.js +0 -6
  306. package/dist/cjs/types/index-dreprecated.js +0 -3
  307. package/dist/cjs/types/index.js +0 -5
  308. package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
  309. package/dist/cjs/utils/PromiseType.js +0 -2
  310. package/dist/cjs/utils/assert.js +0 -211
  311. package/dist/cjs/utils/assertIsBrowser.js +0 -8
  312. package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
  313. package/dist/cjs/utils/assertKeys.js +0 -27
  314. package/dist/cjs/utils/assertNodeVersion.js +0 -14
  315. package/dist/cjs/utils/assertRoutingType.js +0 -29
  316. package/dist/cjs/utils/assertSetup.js +0 -171
  317. package/dist/cjs/utils/assertSingleInstance.js +0 -110
  318. package/dist/cjs/utils/assertVersion.js +0 -60
  319. package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
  320. package/dist/cjs/utils/cast.js +0 -6
  321. package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
  322. package/dist/cjs/utils/changeEnumerable.js +0 -8
  323. package/dist/cjs/utils/checkType.js +0 -6
  324. package/dist/cjs/utils/compareString.js +0 -10
  325. package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
  326. package/dist/cjs/utils/debug.js +0 -178
  327. package/dist/cjs/utils/debugGlob.js +0 -6
  328. package/dist/cjs/utils/deepEqual.js +0 -10
  329. package/dist/cjs/utils/escapeHtml.js +0 -13
  330. package/dist/cjs/utils/escapeRegex.js +0 -7
  331. package/dist/cjs/utils/findFile.js +0 -30
  332. package/dist/cjs/utils/findPackageJson.js +0 -18
  333. package/dist/cjs/utils/formatHintLog.js +0 -17
  334. package/dist/cjs/utils/freezePartial.js +0 -35
  335. package/dist/cjs/utils/genPromise.js +0 -51
  336. package/dist/cjs/utils/getFileExtension.js +0 -16
  337. package/dist/cjs/utils/getGlobalObject.js +0 -15
  338. package/dist/cjs/utils/getMostSimilar.js +0 -68
  339. package/dist/cjs/utils/getPropAccessNotation.js +0 -9
  340. package/dist/cjs/utils/getRandomId.js +0 -14
  341. package/dist/cjs/utils/getTerminalWidth.js +0 -7
  342. package/dist/cjs/utils/getValuePrintable.js +0 -10
  343. package/dist/cjs/utils/getViteRPC.js +0 -79
  344. package/dist/cjs/utils/hasProp.js +0 -50
  345. package/dist/cjs/utils/humanizeTime.js +0 -24
  346. package/dist/cjs/utils/includes.js +0 -13
  347. package/dist/cjs/utils/injectRollupInputs.js +0 -29
  348. package/dist/cjs/utils/isArray.js +0 -7
  349. package/dist/cjs/utils/isArrayOfStrings.js +0 -7
  350. package/dist/cjs/utils/isBrowser.js +0 -8
  351. package/dist/cjs/utils/isCallable.js +0 -6
  352. package/dist/cjs/utils/isDev.js +0 -20
  353. package/dist/cjs/utils/isDocker.js +0 -45
  354. package/dist/cjs/utils/isEqualStringList.js +0 -13
  355. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
  356. package/dist/cjs/utils/isHtml.js +0 -9
  357. package/dist/cjs/utils/isImportPath.js +0 -21
  358. package/dist/cjs/utils/isNodeJS.js +0 -16
  359. package/dist/cjs/utils/isNonRunnableDev.js +0 -12
  360. package/dist/cjs/utils/isNullish.js +0 -16
  361. package/dist/cjs/utils/isObject.js +0 -6
  362. package/dist/cjs/utils/isObjectOfStrings.js +0 -7
  363. package/dist/cjs/utils/isObjectWithKeys.js +0 -15
  364. package/dist/cjs/utils/isPlainObject.js +0 -19
  365. package/dist/cjs/utils/isPromise.js +0 -7
  366. package/dist/cjs/utils/isPropertyGetter.js +0 -7
  367. package/dist/cjs/utils/isReact.js +0 -23
  368. package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
  369. package/dist/cjs/utils/isSameErrorMessage.js +0 -9
  370. package/dist/cjs/utils/isScriptFile.js +0 -67
  371. package/dist/cjs/utils/isVikeReactApp.js +0 -8
  372. package/dist/cjs/utils/isVitest.js +0 -6
  373. package/dist/cjs/utils/joinEnglish.js +0 -14
  374. package/dist/cjs/utils/normalizeHeaders.js +0 -17
  375. package/dist/cjs/utils/objectAssign.js +0 -14
  376. package/dist/cjs/utils/objectAssignSafe.js +0 -7
  377. package/dist/cjs/utils/objectDefineProperty.js +0 -7
  378. package/dist/cjs/utils/objectEntries.js +0 -8
  379. package/dist/cjs/utils/objectEntriesForEach.js +0 -7
  380. package/dist/cjs/utils/objectFilter.js +0 -10
  381. package/dist/cjs/utils/objectFromEntries.js +0 -7
  382. package/dist/cjs/utils/objectKeys.js +0 -9
  383. package/dist/cjs/utils/objectReplace.js +0 -9
  384. package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
  385. package/dist/cjs/utils/pLimit.js +0 -134
  386. package/dist/cjs/utils/parseNpmPackage.js +0 -106
  387. package/dist/cjs/utils/parseUrl-extras.js +0 -110
  388. package/dist/cjs/utils/parseUrl.js +0 -338
  389. package/dist/cjs/utils/path.js +0 -59
  390. package/dist/cjs/utils/pick.js +0 -12
  391. package/dist/cjs/utils/preservePropertyGetters.js +0 -30
  392. package/dist/cjs/utils/redirectHard.js +0 -6
  393. package/dist/cjs/utils/removeEmptyLines.js +0 -9
  394. package/dist/cjs/utils/removeFileExtension.js +0 -6
  395. package/dist/cjs/utils/requireResolve.js +0 -214
  396. package/dist/cjs/utils/rollupSourceMap.js +0 -19
  397. package/dist/cjs/utils/sleep.js +0 -6
  398. package/dist/cjs/utils/slice.js +0 -35
  399. package/dist/cjs/utils/sorter.js +0 -117
  400. package/dist/cjs/utils/stringifyStringArray.js +0 -6
  401. package/dist/cjs/utils/stripAnsi.js +0 -21
  402. package/dist/cjs/utils/styleFileRE.js +0 -6
  403. package/dist/cjs/utils/throttle.js +0 -15
  404. package/dist/cjs/utils/trackLogs.js +0 -31
  405. package/dist/cjs/utils/trimWithAnsi.js +0 -40
  406. package/dist/cjs/utils/truncateString.js +0 -23
  407. package/dist/cjs/utils/unique.js +0 -6
  408. package/dist/cjs/utils/updateType.js +0 -9
  409. package/dist/cjs/utils/urlToFile.js +0 -36
  410. package/dist/cjs/utils/virtualFileId.js +0 -43
  411. package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
  412. package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
  413. package/dist/esm/node/vite/plugins/pluginBuild.js +0 -20
  414. package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -14
  415. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -92
@@ -3,9 +3,14 @@ assertClientRouting();
3
3
  import { initClientRouter } from './initClientRouter.js';
4
4
  import { assertSingleInstance_onClientEntryClientRouting } from './utils.js';
5
5
  import { removeFoucBuster } from '../shared/removeFoucBuster.js';
6
+ import { setVirtualFileExportsGlobalEntry } from '../shared/createGetGlobalContextClient.js';
7
+ // @ts-expect-error
8
+ import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:client-routing';
9
+ // TODO/now: remove this ts-ignore
6
10
  // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
7
11
  const isProd = import.meta.env.PROD;
8
12
  assertSingleInstance_onClientEntryClientRouting(isProd);
13
+ setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry, true);
9
14
  initClientRouter();
10
15
  if (import.meta.env.DEV)
11
16
  removeFoucBuster();
@@ -4,7 +4,7 @@ export type { GlobalContextClientInternal };
4
4
  import type { GlobalContextBasePublic } from '../../shared/createGlobalContextShared.js';
5
5
  type GlobalContextClient = GlobalContextBasePublic & Pick<GlobalContextClientInternal, 'isClientSide'> & Vike.GlobalContext & Vike.GlobalContextClient & {};
6
6
  type GlobalContextClientInternal = Awaited<ReturnType<typeof getGlobalContextClientInternal>>;
7
- declare const getGlobalContextClientInternal: () => Promise<{
7
+ declare function getGlobalContextClientInternal(): Promise<{
8
8
  _globalConfigPublic: {
9
9
  pages: {
10
10
  [k: string]: {
@@ -1,9 +1,15 @@
1
+ // TODO/now: rename file
2
+ // TODO/now: rename export
1
3
  export { getGlobalContextClientInternal };
2
4
  import { createGetGlobalContextClient } from '../shared/createGetGlobalContextClient.js';
3
5
  import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
4
- // @ts-ignore
5
- import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:client-routing';
6
- const getGlobalContextClientInternal = createGetGlobalContextClient(virtualFileExportsGlobalEntry, true, addGlobalContext);
6
+ import { objectAssign } from './utils.js';
7
+ async function getGlobalContextClientInternal() {
8
+ const globalContext = await createGetGlobalContextClient();
9
+ objectAssign(globalContext, await addGlobalContext(globalContext));
10
+ return globalContext;
11
+ }
12
+ // TO-DO/next-major-release make this function sync
7
13
  async function addGlobalContext(globalContext) {
8
14
  const { pageRoutes, onBeforeRouteHook } = await loadPageRoutes(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
9
15
  return {
@@ -646,6 +646,7 @@ function handleErrorFetchingStaticAssets(err, pageContext, isFirstRender) {
646
646
  }
647
647
  // [HMR] If error page is shown => re-render whole page
648
648
  if (import.meta.env.DEV && import.meta.hot)
649
+ // TODO/now use after event
649
650
  import.meta.hot.on('vite:beforeUpdate', () => {
650
651
  const pageContext = globalObject.renderedPageContext;
651
652
  if (pageContext?.pageId && isErrorPage(pageContext.pageId, pageContext._globalContext._pageConfigs)) {
@@ -54,7 +54,7 @@ declare function createPageContextClientSide(): Promise<{
54
54
  _allPageIds: string[];
55
55
  } & {
56
56
  isClientSide: true;
57
- } & object;
57
+ };
58
58
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
59
59
  isBackwardNavigation: null;
60
60
  _hasPageContextFromServer: true;
@@ -6,9 +6,14 @@ import { assertSingleInstance_onClientEntryServerRouting } from './utils.js';
6
6
  import { removeFoucBuster } from '../shared/removeFoucBuster.js';
7
7
  import { execHook } from '../../shared/hooks/execHook.js';
8
8
  import { preparePageContextForPublicUsageClient } from './preparePageContextForPublicUsageClient.js';
9
+ import { setVirtualFileExportsGlobalEntry } from '../shared/createGetGlobalContextClient.js';
10
+ // @ts-expect-error
11
+ import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:server-routing';
12
+ // TODO/now: remove this ts-ignore
9
13
  // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
10
14
  const isProd = import.meta.env.PROD;
11
15
  assertSingleInstance_onClientEntryServerRouting(isProd);
16
+ setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry, false);
12
17
  if (import.meta.env.DEV)
13
18
  removeFoucBuster();
14
19
  hydrate();
@@ -4,7 +4,7 @@ export type { GlobalContextClientInternalWithServerRouting };
4
4
  import type { GlobalContextBasePublic } from '../../shared/createGlobalContextShared.js';
5
5
  type GlobalContextClientWithServerRouting = GlobalContextBasePublic & Pick<GlobalContextClientInternalWithServerRouting, 'isClientSide'> & Vike.GlobalContext & Vike.GlobalContextClient & {};
6
6
  type GlobalContextClientInternalWithServerRouting = Awaited<ReturnType<typeof getGlobalContextClientInternal>>;
7
- declare const getGlobalContextClientInternal: () => Promise<{
7
+ declare function getGlobalContextClientInternal(): Promise<{
8
8
  _globalConfigPublic: {
9
9
  pages: {
10
10
  [k: string]: {
@@ -52,4 +52,4 @@ declare const getGlobalContextClientInternal: () => Promise<{
52
52
  _allPageIds: string[];
53
53
  } & {
54
54
  isClientSide: true;
55
- } & object>;
55
+ }>;
@@ -1,5 +1,9 @@
1
+ // TODO/now: rename file
2
+ // TODO/now: rename export
1
3
  export { getGlobalContextClientInternal };
2
4
  import { createGetGlobalContextClient } from '../shared/createGetGlobalContextClient.js';
3
- // @ts-ignore
4
- import * as virtualFileExportsGlobalEntry from 'virtual:vike:global-entry:client:server-routing';
5
- const getGlobalContextClientInternal = createGetGlobalContextClient(virtualFileExportsGlobalEntry, false);
5
+ // TODO/now: remove this useless function and re-export instead?
6
+ async function getGlobalContextClientInternal() {
7
+ const globalContext = await createGetGlobalContextClient();
8
+ return globalContext;
9
+ }
@@ -1,11 +1,11 @@
1
1
  export { getGlobalContext };
2
2
  export { getGlobalContextSync };
3
+ export { setVirtualFileExportsGlobalEntry };
3
4
  export { createGetGlobalContextClient };
4
5
  export type GlobalContextClientInternalShared = GlobalContextClientInternal | GlobalContextClientInternalWithServerRouting;
5
- import { type GlobalContextBase } from '../../shared/createGlobalContextShared.js';
6
6
  import type { GlobalContextClientInternal } from '../runtime-client-routing/globalContext.js';
7
7
  import type { GlobalContextClientInternalWithServerRouting } from '../runtime-server-routing/globalContext.js';
8
- declare function createGetGlobalContextClient<GlobalContextAddendum extends object>(virtualFileExportsGlobalEntry: unknown, isClientRouting: boolean, addGlobalContext?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddendum>): () => Promise<{
8
+ declare function createGetGlobalContextClient(): Promise<{
9
9
  _globalConfigPublic: {
10
10
  pages: {
11
11
  [k: string]: {
@@ -58,7 +58,8 @@ declare function createGetGlobalContextClient<GlobalContextAddendum extends obje
58
58
  * We recommend using `import.meta.env.SSR` instead, see https://vike.dev/globalContext
59
59
  */
60
60
  isClientSide: true;
61
- } & Awaited<GlobalContextAddendum>>;
61
+ }>;
62
62
  type NeverExported = never;
63
63
  declare function getGlobalContext(): Promise<NeverExported>;
64
64
  declare function getGlobalContextSync(): NeverExported;
65
+ declare function setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry: unknown, isClientRouting: boolean): Promise<void>;
@@ -1,7 +1,10 @@
1
1
  // Public usage
2
2
  export { getGlobalContext };
3
3
  export { getGlobalContextSync };
4
+ export { setVirtualFileExportsGlobalEntry };
4
5
  // Internal usage
6
+ // TODO/now rename export
7
+ // TODO/now rename file
5
8
  export { createGetGlobalContextClient };
6
9
  import { createGlobalContextShared, getGlobalContextSyncErrMsg, } from '../../shared/createGlobalContextShared.js';
7
10
  import { getGlobalContextSerializedInHtml } from './getJsonSerializedInHtml.js';
@@ -13,42 +16,31 @@ const globalObject = getGlobalObject('createGetGlobalContextClient.ts', (() => {
13
16
  globalContextInitialPromiseResolve,
14
17
  };
15
18
  })());
16
- function createGetGlobalContextClient(virtualFileExportsGlobalEntry, isClientRouting, addGlobalContext) {
17
- assert(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
18
- globalObject.isClientRouting = isClientRouting;
19
- // Eagerly call onCreateGlobalContext() hook
20
- getGlobalContext();
21
- return getGlobalContext;
22
- async function getGlobalContext() {
23
- // HMR => virtualFileExportsGlobalEntry differ
24
- if (globalObject.virtualFileExportsGlobalEntry === virtualFileExportsGlobalEntry) {
25
- const globalContext = await globalObject.globalContextPromise;
26
- return globalContext;
27
- }
28
- else {
29
- globalObject.virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry;
30
- }
31
- // Create
32
- const globalContextPromise = createGlobalContextShared(virtualFileExportsGlobalEntry, globalObject, undefined, async (globalContext) => {
33
- const globalContextAddendum = {
34
- /**
35
- * Whether the environment is client-side or server-side / pre-rendering.
36
- *
37
- * We recommend using `import.meta.env.SSR` instead, see https://vike.dev/globalContext
38
- */
39
- isClientSide: true,
40
- };
41
- objectAssign(globalContextAddendum, getGlobalContextSerializedInHtml());
42
- objectAssign(globalContextAddendum, await addGlobalContext?.(globalContext));
43
- return globalContextAddendum;
44
- });
45
- globalObject.globalContextPromise = globalContextPromise;
46
- const globalContext = await globalContextPromise;
47
- assert(globalObject.globalContext === globalContext);
48
- globalObject.globalContextInitialPromiseResolve();
49
- // Return
19
+ async function createGetGlobalContextClient() {
20
+ if (globalObject.globalContextPromise) {
21
+ const globalContext = await globalObject.globalContextPromise;
50
22
  return globalContext;
51
23
  }
24
+ // Create
25
+ const globalContextPromise = createGlobalContextShared(globalObject.virtualFileExportsGlobalEntry, globalObject, undefined, async (globalContext) => {
26
+ const globalContextAddendum = {
27
+ // TODO/now update JSDocs
28
+ /**
29
+ * Whether the environment is client-side or server-side / pre-rendering.
30
+ *
31
+ * We recommend using `import.meta.env.SSR` instead, see https://vike.dev/globalContext
32
+ */
33
+ isClientSide: true,
34
+ };
35
+ objectAssign(globalContextAddendum, getGlobalContextSerializedInHtml());
36
+ return globalContextAddendum;
37
+ });
38
+ globalObject.globalContextPromise = globalContextPromise;
39
+ const globalContext = await globalContextPromise;
40
+ assert(globalObject.globalContext === globalContext);
41
+ globalObject.globalContextInitialPromiseResolve();
42
+ // Return
43
+ return globalContext;
52
44
  }
53
45
  async function getGlobalContext() {
54
46
  await globalObject.globalContextInitialPromise;
@@ -63,3 +55,15 @@ function getGlobalContextSync() {
63
55
  checkType(globalContext);
64
56
  return globalContext;
65
57
  }
58
+ async function setVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry, isClientRouting) {
59
+ // TODO/now: remove unused globalObject.isClientRouting
60
+ assert(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
61
+ globalObject.isClientRouting = isClientRouting;
62
+ // HMR => virtualFileExportsGlobalEntry differ
63
+ if (globalObject.virtualFileExportsGlobalEntry !== virtualFileExportsGlobalEntry) {
64
+ delete globalObject.globalContextPromise;
65
+ globalObject.virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry;
66
+ // Eagerly call +onCreateGlobalContext() hooks
67
+ await createGetGlobalContextClient();
68
+ }
69
+ }
@@ -4,8 +4,10 @@ export { plugin };
4
4
  export { plugin as ssr };
5
5
  export { getVikeConfig } from './shared/resolveVikeConfigInternal.js';
6
6
  export { PROJECT_VERSION as version } from './utils.js';
7
+ import { getClientEntrySrcDev } from './shared/getClientEntrySrcDev.js';
8
+ import { setGetClientEntrySrcDev } from '../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js';
7
9
  import { assertUsage } from './utils.js';
8
- import { pluginBuild } from './plugins/pluginBuild.js';
10
+ import pc from '@brillout/picocolors';
9
11
  import { pluginPreview } from './plugins/pluginPreview.js';
10
12
  import { pluginDev } from './plugins/pluginDev.js';
11
13
  import { pluginVirtualFiles } from './plugins/pluginVirtualFiles.js';
@@ -15,38 +17,55 @@ import { pluginSetGlobalContext } from './plugins/pluginSetGlobalContext.js';
15
17
  import { pluginCommon } from './plugins/pluginCommon.js';
16
18
  import { pluginBaseUrls } from './plugins/pluginBaseUrls.js';
17
19
  import { pluginEnvVars } from './plugins/pluginEnvVars.js';
18
- import pc from '@brillout/picocolors';
19
20
  import { pluginFileEnv } from './plugins/pluginFileEnv.js';
20
- import { getClientEntrySrcDev } from './shared/getClientEntrySrcDev.js';
21
21
  import { pluginWorkaroundCssModuleHmr } from './plugins/pluginWorkaroundCssModuleHmr.js';
22
22
  import { pluginWorkaroundVite6HmrRegression } from './plugins/pluginWorkaroundVite6HmrRegression.js';
23
- import { pluginReplaceConstants } from './plugins/pluginReplaceConstants.js';
23
+ import { pluginReplaceIsClientSide } from './plugins/pluginReplaceIsClientSide.js';
24
+ import { pluginReplaceGlobalThisConstants } from './plugins/pluginReplaceGlobalThisConstants.js';
24
25
  import { pluginNonRunnableDev } from './plugins/pluginNonRunnableDev.js';
25
- import { setGetClientEntrySrcDev } from '../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js';
26
+ import { pluginBuildApp } from './plugins/pluginBuild/pluginBuildApp.js';
27
+ import { pluginDistPackageJsonFile } from './plugins/pluginBuild/pluginDistPackageJsonFile.js';
28
+ import { pluginSuppressRollupWarning } from './plugins/pluginBuild/pluginSuppressRollupWarning.js';
29
+ import { pluginDistFileNames } from './plugins/pluginBuild/pluginDistFileNames.js';
30
+ import { pluginProdBuildEntry } from './plugins/pluginBuild/pluginProdBuildEntry.js';
31
+ import { pluginBuildConfig } from './plugins/pluginBuild/pluginBuildConfig.js';
32
+ import { pluginModuleBanner } from './plugins/pluginBuild/pluginModuleBanner.js';
26
33
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
27
34
  setGetClientEntrySrcDev(getClientEntrySrcDev);
28
35
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
29
36
  function plugin(vikeVitePluginOptions = {}) {
30
37
  const plugins = [
31
38
  ...pluginCommon(vikeVitePluginOptions),
32
- pluginVirtualFiles(),
39
+ ...pluginVirtualFiles(),
33
40
  ...pluginDev(),
34
41
  ...pluginBuild(),
35
- pluginPreview(),
42
+ ...pluginPreview(),
36
43
  ...pluginExtractAssets(),
37
- pluginExtractExportNames(),
44
+ ...pluginExtractExportNames(),
38
45
  ...pluginSetGlobalContext(),
39
- pluginBaseUrls(),
40
- pluginEnvVars(),
41
- pluginFileEnv(),
42
- pluginWorkaroundCssModuleHmr(),
43
- pluginWorkaroundVite6HmrRegression(),
44
- pluginReplaceConstants(),
45
- pluginNonRunnableDev(),
46
+ ...pluginBaseUrls(),
47
+ ...pluginEnvVars(),
48
+ ...pluginFileEnv(),
49
+ ...pluginWorkaroundCssModuleHmr(),
50
+ ...pluginWorkaroundVite6HmrRegression(),
51
+ ...pluginReplaceIsClientSide(),
52
+ ...pluginReplaceGlobalThisConstants(),
53
+ ...pluginNonRunnableDev(),
46
54
  ];
47
55
  Object.assign(plugins, { _vikeVitePluginOptions: vikeVitePluginOptions });
48
56
  return plugins;
49
57
  }
58
+ function pluginBuild() {
59
+ return [
60
+ ...pluginBuildConfig(),
61
+ ...pluginBuildApp(),
62
+ ...pluginProdBuildEntry(),
63
+ ...pluginDistPackageJsonFile(),
64
+ ...pluginSuppressRollupWarning(),
65
+ ...pluginDistFileNames(),
66
+ ...pluginModuleBanner(),
67
+ ];
68
+ }
50
69
  // Error upon wrong usage
51
70
  Object.defineProperty(plugin, 'apply', {
52
71
  enumerable: true,
@@ -1,3 +1,3 @@
1
1
  export { pluginBaseUrls };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginBaseUrls(): Plugin;
3
+ declare function pluginBaseUrls(): Plugin[];
@@ -4,44 +4,46 @@ import { assert } from '../utils.js';
4
4
  import { getVikeConfigInternal } from '../shared/resolveVikeConfigInternal.js';
5
5
  function pluginBaseUrls() {
6
6
  let basesResolved;
7
- return {
8
- name: 'vike:pluginBaseUrls',
9
- enforce: 'post',
10
- config: {
11
- async handler(config) {
12
- const isDev = config._isDev;
13
- assert(typeof isDev === 'boolean');
14
- const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
15
- const vikeConfig = await getVikeConfigInternal();
16
- basesResolved = resolveBase(baseViteOriginal, vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null);
17
- // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
18
- process.env.BASE_SERVER = basesResolved.baseServer;
19
- process.env.BASE_ASSETS = basesResolved.baseAssets;
20
- return {
21
- envPrefix: [
22
- 'VITE_', // Vite doesn't seem to merge in its default, see https://github.com/vikejs/vike/issues/554
23
- 'BASE_SERVER',
24
- 'BASE_ASSETS',
25
- ],
26
- base: basesResolved.baseAssets, // Make Vite inject baseAssets to imports e.g. `import logoUrl from './logo.svg.js'`
27
- _baseViteOriginal: baseViteOriginal,
28
- };
7
+ return [
8
+ {
9
+ name: 'vike:pluginBaseUrls',
10
+ enforce: 'post',
11
+ config: {
12
+ async handler(config) {
13
+ const isDev = config._isDev;
14
+ assert(typeof isDev === 'boolean');
15
+ const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
16
+ const vikeConfig = await getVikeConfigInternal();
17
+ basesResolved = resolveBase(baseViteOriginal, vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null);
18
+ // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
19
+ process.env.BASE_SERVER = basesResolved.baseServer;
20
+ process.env.BASE_ASSETS = basesResolved.baseAssets;
21
+ return {
22
+ envPrefix: [
23
+ 'VITE_', // Vite doesn't seem to merge in its default, see https://github.com/vikejs/vike/issues/554
24
+ 'BASE_SERVER',
25
+ 'BASE_ASSETS',
26
+ ],
27
+ base: basesResolved.baseAssets, // Make Vite inject baseAssets to imports e.g. `import logoUrl from './logo.svg.js'`
28
+ _baseViteOriginal: baseViteOriginal,
29
+ };
30
+ },
29
31
  },
30
- },
31
- configResolved: {
32
- async handler(config) {
33
- const vikeConfig = await getVikeConfigInternal();
34
- const basesResolved2 = resolveBaseFromResolvedConfig(vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null, config);
35
- assert(basesResolved2.baseServer === basesResolved.baseServer);
36
- assert(basesResolved2.baseAssets === basesResolved.baseAssets);
37
- /* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
38
- * - In dev, Vite removes the URL origin. (I.e. it resolves the user config `vite.config.js#base: 'http://localhost:8080/cdn/'` to resolved config `config.base === '/cdn/'`.)
39
- * - Instead of having an internal Vike assertion fail, we let the user discover Vite's buggy behavior.
40
- assert(config.base === baseAssets)
41
- */
32
+ configResolved: {
33
+ async handler(config) {
34
+ const vikeConfig = await getVikeConfigInternal();
35
+ const basesResolved2 = resolveBaseFromResolvedConfig(vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null, config);
36
+ assert(basesResolved2.baseServer === basesResolved.baseServer);
37
+ assert(basesResolved2.baseAssets === basesResolved.baseAssets);
38
+ /* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
39
+ * - In dev, Vite removes the URL origin. (I.e. it resolves the user config `vite.config.js#base: 'http://localhost:8080/cdn/'` to resolved config `config.base === '/cdn/'`.)
40
+ * - Instead of having an internal Vike assertion fail, we let the user discover Vite's buggy behavior.
41
+ assert(config.base === baseAssets)
42
+ */
43
+ },
42
44
  },
43
45
  },
44
- };
46
+ ];
45
47
  }
46
48
  function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
47
49
  let baseViteOriginal = config._baseViteOriginal;
@@ -1,3 +1,3 @@
1
1
  export { pluginDistFileNames };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginDistFileNames(): Plugin;
3
+ declare function pluginDistFileNames(): Plugin[];
@@ -8,96 +8,98 @@ import crypto from 'node:crypto';
8
8
  import { getAssetsDir } from '../../shared/getAssetsDir.js';
9
9
  import { assertModuleId, getModuleFilePathAbsolute } from '../../shared/getFilePath.js';
10
10
  function pluginDistFileNames() {
11
- return {
12
- name: 'vike:build:pluginDistFileNames',
13
- apply: 'build',
14
- enforce: 'post',
15
- configResolved: {
16
- handler(config) {
17
- const rollupOutputs = getRollupOutputs(config);
18
- // We need to support multiple outputs: @vite/plugin-legacy adds an output, see https://github.com/vikejs/vike/issues/477#issuecomment-1406434802
19
- rollupOutputs.forEach((rollupOutput) => {
20
- if (!('entryFileNames' in rollupOutput)) {
21
- rollupOutput.entryFileNames = (chunkInfo) => getEntryFileName(chunkInfo, config, true);
22
- }
23
- if (!('chunkFileNames' in rollupOutput)) {
24
- rollupOutput.chunkFileNames = (chunkInfo) => getChunkFileName(chunkInfo, config);
25
- }
26
- if (!('assetFileNames' in rollupOutput)) {
27
- rollupOutput.assetFileNames = (chunkInfo) => getAssetFileName(chunkInfo, config);
28
- rollupOutput.assetFileNames.isTheOneSetByVike = true;
29
- assert(rollupOutput.assetFileNames.isTheOneSetByVike);
30
- }
31
- else {
32
- // If a user needs this:
33
- // - assertUsage() that the naming provided by the user ends with `.[hash][extname]`
34
- // - It's needed for getHash() of handleAssetsManifest()
35
- // - Asset URLs should always contain a hash: it's paramount for caching assets.
36
- // - If rollupOutput.assetFileNames is a function then use a wrapper function to apply the assertUsage()
37
- assertUsage(rollupOutput.assetFileNames.isTheOneSetByVike, "Setting Vite's configuration build.rollupOptions.output.assetFileNames is currently forbidden. Reach out if you need to use it.");
38
- }
39
- {
40
- const manualChunksOriginal = rollupOutput.manualChunks;
41
- rollupOutput.manualChunks = function (id, ...args) {
42
- if (manualChunksOriginal) {
43
- if (isCallable(manualChunksOriginal)) {
44
- const result = manualChunksOriginal.call(this, id, ...args);
45
- if (result !== undefined)
46
- return result;
47
- }
48
- else {
49
- assertUsage(false, "The Vite's configuration build.rollupOptions.output.manualChunks must be a function. Reach out if you need to set it to another value.");
50
- }
51
- }
52
- // Disable CSS bundling to workaround https://github.com/vikejs/vike/issues/1815
53
- // TO-DO/eventually: let's bundle CSS again once Rolldown replaces Rollup
54
- if (id.endsWith('.css')) {
55
- const userRootDir = config.root;
56
- if (id.startsWith(userRootDir)) {
57
- assertPosixPath(id);
58
- assertModuleId(id);
59
- let name;
60
- const isNodeModules = id.match(/node_modules\/([^\/]+)\/(?!.*node_modules)/);
61
- if (isNodeModules) {
62
- name = isNodeModules[1];
11
+ return [
12
+ {
13
+ name: 'vike:build:pluginDistFileNames',
14
+ apply: 'build',
15
+ enforce: 'post',
16
+ configResolved: {
17
+ handler(config) {
18
+ const rollupOutputs = getRollupOutputs(config);
19
+ // We need to support multiple outputs: @vite/plugin-legacy adds an output, see https://github.com/vikejs/vike/issues/477#issuecomment-1406434802
20
+ rollupOutputs.forEach((rollupOutput) => {
21
+ if (!('entryFileNames' in rollupOutput)) {
22
+ rollupOutput.entryFileNames = (chunkInfo) => getEntryFileName(chunkInfo, config, true);
23
+ }
24
+ if (!('chunkFileNames' in rollupOutput)) {
25
+ rollupOutput.chunkFileNames = (chunkInfo) => getChunkFileName(chunkInfo, config);
26
+ }
27
+ if (!('assetFileNames' in rollupOutput)) {
28
+ rollupOutput.assetFileNames = (chunkInfo) => getAssetFileName(chunkInfo, config);
29
+ rollupOutput.assetFileNames.isTheOneSetByVike = true;
30
+ assert(rollupOutput.assetFileNames.isTheOneSetByVike);
31
+ }
32
+ else {
33
+ // If a user needs this:
34
+ // - assertUsage() that the naming provided by the user ends with `.[hash][extname]`
35
+ // - It's needed for getHash() of handleAssetsManifest()
36
+ // - Asset URLs should always contain a hash: it's paramount for caching assets.
37
+ // - If rollupOutput.assetFileNames is a function then use a wrapper function to apply the assertUsage()
38
+ assertUsage(rollupOutput.assetFileNames.isTheOneSetByVike, "Setting Vite's configuration build.rollupOptions.output.assetFileNames is currently forbidden. Reach out if you need to use it.");
39
+ }
40
+ {
41
+ const manualChunksOriginal = rollupOutput.manualChunks;
42
+ rollupOutput.manualChunks = function (id, ...args) {
43
+ if (manualChunksOriginal) {
44
+ if (isCallable(manualChunksOriginal)) {
45
+ const result = manualChunksOriginal.call(this, id, ...args);
46
+ if (result !== undefined)
47
+ return result;
63
48
  }
64
49
  else {
65
- const filePath = getModuleFilePathAbsolute(id, config);
66
- name = filePath;
67
- name = name.split('.').slice(0, -1).join('.'); // remove file extension
68
- name = name.split('/').filter(Boolean).join('_');
50
+ assertUsage(false, "The Vite's configuration build.rollupOptions.output.manualChunks must be a function. Reach out if you need to set it to another value.");
69
51
  }
70
- // Make fileHash the same between local development and CI
71
- const idStable = path.posix.relative(userRootDir, id);
72
- // Don't remove `?` queries because each `id` should belong to a unique bundle.
73
- const hash = getIdHash(idStable);
74
- return `${name}-${hash}`;
75
52
  }
76
- else {
77
- let name;
78
- const isVirtualModule = id.match(/virtual:([^:]+):/);
79
- if (isVirtualModule) {
80
- name = isVirtualModule[1];
81
- assert(name);
82
- }
83
- else if (
84
- // https://github.com/vikejs/vike/issues/1818#issuecomment-2298478321
85
- id.startsWith('/__uno')) {
86
- name = 'uno';
53
+ // Disable CSS bundling to workaround https://github.com/vikejs/vike/issues/1815
54
+ // TO-DO/eventually: let's bundle CSS again once Rolldown replaces Rollup
55
+ if (id.endsWith('.css')) {
56
+ const userRootDir = config.root;
57
+ if (id.startsWith(userRootDir)) {
58
+ assertPosixPath(id);
59
+ assertModuleId(id);
60
+ let name;
61
+ const isNodeModules = id.match(/node_modules\/([^\/]+)\/(?!.*node_modules)/);
62
+ if (isNodeModules) {
63
+ name = isNodeModules[1];
64
+ }
65
+ else {
66
+ const filePath = getModuleFilePathAbsolute(id, config);
67
+ name = filePath;
68
+ name = name.split('.').slice(0, -1).join('.'); // remove file extension
69
+ name = name.split('/').filter(Boolean).join('_');
70
+ }
71
+ // Make fileHash the same between local development and CI
72
+ const idStable = path.posix.relative(userRootDir, id);
73
+ // Don't remove `?` queries because each `id` should belong to a unique bundle.
74
+ const hash = getIdHash(idStable);
75
+ return `${name}-${hash}`;
87
76
  }
88
77
  else {
89
- name = 'style';
78
+ let name;
79
+ const isVirtualModule = id.match(/virtual:([^:]+):/);
80
+ if (isVirtualModule) {
81
+ name = isVirtualModule[1];
82
+ assert(name);
83
+ }
84
+ else if (
85
+ // https://github.com/vikejs/vike/issues/1818#issuecomment-2298478321
86
+ id.startsWith('/__uno')) {
87
+ name = 'uno';
88
+ }
89
+ else {
90
+ name = 'style';
91
+ }
92
+ const hash = getIdHash(id);
93
+ return `${name}-${hash}`;
90
94
  }
91
- const hash = getIdHash(id);
92
- return `${name}-${hash}`;
93
95
  }
94
- }
95
- };
96
- }
97
- });
96
+ };
97
+ }
98
+ });
99
+ },
98
100
  },
99
101
  },
100
- };
102
+ ];
101
103
  }
102
104
  function getIdHash(id) {
103
105
  return crypto.createHash('md5').update(id).digest('hex').slice(0, 8);
@@ -1,3 +1,3 @@
1
1
  export { pluginDistPackageJsonFile };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginDistPackageJsonFile(): Plugin;
3
+ declare function pluginDistPackageJsonFile(): Plugin[];