vike 0.4.239-commit-59f1017 → 0.4.239-commit-9dcde6d

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 (429) 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.js +1 -1
  4. package/dist/esm/client/runtime-client-routing/entry.js +5 -3
  5. package/dist/esm/client/runtime-client-routing/getBaseServer.js +0 -1
  6. package/dist/esm/client/runtime-client-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +1 -1
  7. package/dist/esm/client/runtime-client-routing/{globalContext.js → getGlobalContextClientInternal.js} +8 -4
  8. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +4 -4
  9. package/dist/esm/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
  10. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  11. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +2 -4
  12. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  13. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  14. package/dist/esm/client/runtime-server-routing/entry.js +5 -3
  15. package/dist/esm/client/runtime-server-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
  16. package/dist/esm/client/runtime-server-routing/getGlobalContextClientInternal.js +6 -0
  17. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +1 -1
  18. package/dist/esm/client/shared/{createGetGlobalContextClient.d.ts → getGlobalContextClientInternalShared.d.ts} +11 -8
  19. package/dist/esm/client/shared/getGlobalContextClientInternalShared.js +66 -0
  20. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -3
  21. package/dist/esm/node/prerender/runPrerender.js +3 -1
  22. package/dist/esm/node/vite/index.js +34 -15
  23. package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  24. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +37 -35
  25. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.d.ts +1 -1
  26. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +82 -80
  27. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.d.ts +1 -1
  28. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +23 -21
  29. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.d.ts +1 -1
  30. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +38 -36
  31. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.d.ts +1 -1
  32. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +26 -24
  33. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
  34. package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
  35. package/dist/esm/node/vite/plugins/pluginEnvVars.js +87 -65
  36. package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  37. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +29 -27
  38. package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
  39. package/dist/esm/node/vite/plugins/pluginFileEnv.js +75 -73
  40. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +1 -1
  41. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +30 -28
  42. package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
  43. package/dist/esm/node/vite/plugins/pluginPreview.js +35 -33
  44. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
  45. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
  46. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
  47. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +89 -0
  48. package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  49. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +50 -48
  50. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  51. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +12 -10
  52. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  53. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
  54. package/dist/esm/shared/createGlobalContextShared.d.ts +1 -1
  55. package/dist/esm/shared/route/abort.d.ts +22 -11
  56. package/dist/esm/shared/route/abort.js +37 -5
  57. package/dist/esm/types/PageContext.d.ts +8 -8
  58. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  59. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  60. package/dist/esm/utils/findPackageJson.js +0 -1
  61. package/dist/esm/utils/getViteRPC.js +0 -2
  62. package/dist/esm/utils/requireResolve.js +0 -1
  63. package/package.json +2 -21
  64. package/dist/cjs/__internal/index.js +0 -35
  65. package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
  66. package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
  67. package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
  68. package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
  69. package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
  70. package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
  71. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
  72. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
  73. package/dist/cjs/client/shared/utils.js +0 -23
  74. package/dist/cjs/node/api/build.js +0 -24
  75. package/dist/cjs/node/api/context.js +0 -23
  76. package/dist/cjs/node/api/dev.js +0 -18
  77. package/dist/cjs/node/api/index.js +0 -44
  78. package/dist/cjs/node/api/onLoad.js +0 -9
  79. package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
  80. package/dist/cjs/node/api/prerender.js +0 -18
  81. package/dist/cjs/node/api/preview.js +0 -38
  82. package/dist/cjs/node/api/types.js +0 -2
  83. package/dist/cjs/node/api/utils.js +0 -27
  84. package/dist/cjs/node/cli/context.js +0 -17
  85. package/dist/cjs/node/cli/entry.js +0 -121
  86. package/dist/cjs/node/cli/index.js +0 -12
  87. package/dist/cjs/node/cli/onLoad.js +0 -9
  88. package/dist/cjs/node/cli/parseCli.js +0 -95
  89. package/dist/cjs/node/cli/utils.js +0 -24
  90. package/dist/cjs/node/client/router.js +0 -19
  91. package/dist/cjs/node/createPageRenderer.js +0 -132
  92. package/dist/cjs/node/importBuild.js +0 -3
  93. package/dist/cjs/node/prerender/context.js +0 -26
  94. package/dist/cjs/node/prerender/index.js +0 -12
  95. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
  96. package/dist/cjs/node/prerender/runPrerender.js +0 -778
  97. package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
  98. package/dist/cjs/node/prerender/utils.js +0 -37
  99. package/dist/cjs/node/runtime/globalContext.js +0 -582
  100. package/dist/cjs/node/runtime/index-deprecated.js +0 -33
  101. package/dist/cjs/node/runtime/index.js +0 -74
  102. package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
  103. package/dist/cjs/node/runtime/onLoad.js +0 -29
  104. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  105. package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
  106. package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
  107. package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
  108. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
  109. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
  110. package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
  111. package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
  112. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
  113. package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
  114. package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
  115. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
  116. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
  117. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
  118. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
  119. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
  120. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
  121. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
  122. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
  123. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
  124. package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
  125. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
  126. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
  127. package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
  128. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
  129. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
  130. package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
  131. package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
  132. package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
  133. package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
  134. package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
  135. package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
  136. package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
  137. package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
  138. package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
  139. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
  140. package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
  141. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
  142. package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
  143. package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
  144. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
  145. package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
  146. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
  147. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
  148. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
  149. package/dist/cjs/node/runtime/renderPage.js +0 -502
  150. package/dist/cjs/node/runtime/universal-middleware.js +0 -20
  151. package/dist/cjs/node/runtime/utils.js +0 -83
  152. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
  153. package/dist/cjs/node/runtime-dev/index.js +0 -42
  154. package/dist/cjs/node/shared/assertV1Design.js +0 -30
  155. package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
  156. package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
  157. package/dist/cjs/node/shared/isErrorDebug.js +0 -7
  158. package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
  159. package/dist/cjs/node/shared/resolveBase.js +0 -35
  160. package/dist/cjs/node/shared/utils.js +0 -35
  161. package/dist/cjs/node/shared/virtualFileId.js +0 -110
  162. package/dist/cjs/node/vite/index.js +0 -69
  163. package/dist/cjs/node/vite/onLoad.js +0 -21
  164. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -52
  165. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -357
  166. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -183
  167. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -234
  168. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -256
  169. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -40
  170. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -49
  171. package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -111
  172. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -65
  173. package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -22
  174. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
  175. package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -183
  176. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
  177. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
  178. package/dist/cjs/node/vite/plugins/pluginDev.js +0 -111
  179. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -92
  180. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -241
  181. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -113
  182. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -172
  183. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -70
  184. package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -82
  185. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -95
  186. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -51
  187. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
  188. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
  189. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
  190. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
  191. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
  192. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -233
  193. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -17
  194. package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
  195. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
  196. package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
  197. package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
  198. package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
  199. package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
  200. package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
  201. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
  202. package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
  203. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
  204. package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
  205. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
  206. package/dist/cjs/node/vite/shared/isAsset.js +0 -40
  207. package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
  208. package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
  209. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
  210. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
  211. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
  212. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
  213. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
  214. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
  215. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
  216. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
  217. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
  218. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
  219. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
  220. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
  221. package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
  222. package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
  223. package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
  224. package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
  225. package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
  226. package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
  227. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
  228. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
  229. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
  230. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
  231. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
  232. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
  233. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
  234. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
  235. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
  236. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
  237. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
  238. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
  239. package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
  240. package/dist/cjs/node/vite/utils.js +0 -45
  241. package/dist/cjs/package.json +0 -1
  242. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
  243. package/dist/cjs/shared/RenderErrorPage.js +0 -6
  244. package/dist/cjs/shared/abort.js +0 -16
  245. package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
  246. package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
  247. package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
  248. package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
  249. package/dist/cjs/shared/createGlobalContextShared.js +0 -109
  250. package/dist/cjs/shared/createPageContextShared.js +0 -17
  251. package/dist/cjs/shared/determinePageIdOld.js +0 -11
  252. package/dist/cjs/shared/error-page.js +0 -40
  253. package/dist/cjs/shared/getPageContext.js +0 -6
  254. package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
  255. package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
  256. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
  257. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
  258. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
  259. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
  260. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
  261. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
  262. package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
  263. package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
  264. package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
  265. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
  266. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
  267. package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
  268. package/dist/cjs/shared/getPageFiles.js +0 -7
  269. package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
  270. package/dist/cjs/shared/hooks/execHook.js +0 -147
  271. package/dist/cjs/shared/hooks/getHook.js +0 -173
  272. package/dist/cjs/shared/htmlElementIds.js +0 -5
  273. package/dist/cjs/shared/misc/isServerSideError.js +0 -4
  274. package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
  275. package/dist/cjs/shared/modifyUrl.js +0 -28
  276. package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
  277. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
  278. package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
  279. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
  280. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
  281. package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
  282. package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
  283. package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
  284. package/dist/cjs/shared/page-configs/helpers.js +0 -27
  285. package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
  286. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
  287. package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
  288. package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
  289. package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
  290. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
  291. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
  292. package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
  293. package/dist/cjs/shared/route/abort.js +0 -178
  294. package/dist/cjs/shared/route/debug.js +0 -23
  295. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
  296. package/dist/cjs/shared/route/execHookGuard.js +0 -37
  297. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
  298. package/dist/cjs/shared/route/index.js +0 -107
  299. package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
  300. package/dist/cjs/shared/route/noRouteMatch.js +0 -4
  301. package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
  302. package/dist/cjs/shared/route/resolveRoute.js +0 -20
  303. package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
  304. package/dist/cjs/shared/route/resolveRouteString.js +0 -153
  305. package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
  306. package/dist/cjs/shared/route/routing.js +0 -9
  307. package/dist/cjs/shared/route/utils.js +0 -40
  308. package/dist/cjs/shared/utils.js +0 -49
  309. package/dist/cjs/types/Config/ConfigResolved.js +0 -2
  310. package/dist/cjs/types/Config.js +0 -2
  311. package/dist/cjs/types/FilePath.js +0 -2
  312. package/dist/cjs/types/PageConfig.js +0 -2
  313. package/dist/cjs/types/PageContext.js +0 -2
  314. package/dist/cjs/types/VikeGlobalInternal.js +0 -2
  315. package/dist/cjs/types/VikeNamespace.js +0 -2
  316. package/dist/cjs/types/ViteManifest.js +0 -2
  317. package/dist/cjs/types/defineConfig.js +0 -6
  318. package/dist/cjs/types/index-dreprecated.js +0 -3
  319. package/dist/cjs/types/index.js +0 -5
  320. package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
  321. package/dist/cjs/utils/PromiseType.js +0 -2
  322. package/dist/cjs/utils/assert.js +0 -211
  323. package/dist/cjs/utils/assertIsBrowser.js +0 -8
  324. package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
  325. package/dist/cjs/utils/assertKeys.js +0 -27
  326. package/dist/cjs/utils/assertNodeVersion.js +0 -14
  327. package/dist/cjs/utils/assertRoutingType.js +0 -29
  328. package/dist/cjs/utils/assertSetup.js +0 -171
  329. package/dist/cjs/utils/assertSingleInstance.js +0 -110
  330. package/dist/cjs/utils/assertVersion.js +0 -60
  331. package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
  332. package/dist/cjs/utils/cast.js +0 -6
  333. package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
  334. package/dist/cjs/utils/changeEnumerable.js +0 -8
  335. package/dist/cjs/utils/checkType.js +0 -6
  336. package/dist/cjs/utils/compareString.js +0 -10
  337. package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
  338. package/dist/cjs/utils/debug.js +0 -178
  339. package/dist/cjs/utils/debugGlob.js +0 -6
  340. package/dist/cjs/utils/deepEqual.js +0 -10
  341. package/dist/cjs/utils/escapeHtml.js +0 -13
  342. package/dist/cjs/utils/escapeRegex.js +0 -7
  343. package/dist/cjs/utils/findFile.js +0 -30
  344. package/dist/cjs/utils/findPackageJson.js +0 -18
  345. package/dist/cjs/utils/formatHintLog.js +0 -17
  346. package/dist/cjs/utils/freezePartial.js +0 -35
  347. package/dist/cjs/utils/genPromise.js +0 -51
  348. package/dist/cjs/utils/getFileExtension.js +0 -16
  349. package/dist/cjs/utils/getGlobalObject.js +0 -15
  350. package/dist/cjs/utils/getMostSimilar.js +0 -68
  351. package/dist/cjs/utils/getPropAccessNotation.js +0 -9
  352. package/dist/cjs/utils/getRandomId.js +0 -14
  353. package/dist/cjs/utils/getTerminalWidth.js +0 -7
  354. package/dist/cjs/utils/getValuePrintable.js +0 -10
  355. package/dist/cjs/utils/getViteRPC.js +0 -79
  356. package/dist/cjs/utils/hasProp.js +0 -50
  357. package/dist/cjs/utils/humanizeTime.js +0 -24
  358. package/dist/cjs/utils/includes.js +0 -13
  359. package/dist/cjs/utils/injectRollupInputs.js +0 -29
  360. package/dist/cjs/utils/isArray.js +0 -7
  361. package/dist/cjs/utils/isArrayOfStrings.js +0 -7
  362. package/dist/cjs/utils/isBrowser.js +0 -8
  363. package/dist/cjs/utils/isCallable.js +0 -6
  364. package/dist/cjs/utils/isDev.js +0 -20
  365. package/dist/cjs/utils/isDocker.js +0 -45
  366. package/dist/cjs/utils/isEqualStringList.js +0 -13
  367. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
  368. package/dist/cjs/utils/isHtml.js +0 -9
  369. package/dist/cjs/utils/isImportPath.js +0 -21
  370. package/dist/cjs/utils/isNodeJS.js +0 -16
  371. package/dist/cjs/utils/isNonRunnableDev.js +0 -12
  372. package/dist/cjs/utils/isNullish.js +0 -16
  373. package/dist/cjs/utils/isObject.js +0 -6
  374. package/dist/cjs/utils/isObjectOfStrings.js +0 -7
  375. package/dist/cjs/utils/isObjectWithKeys.js +0 -15
  376. package/dist/cjs/utils/isPlainObject.js +0 -19
  377. package/dist/cjs/utils/isPromise.js +0 -7
  378. package/dist/cjs/utils/isPropertyGetter.js +0 -7
  379. package/dist/cjs/utils/isReact.js +0 -23
  380. package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
  381. package/dist/cjs/utils/isSameErrorMessage.js +0 -9
  382. package/dist/cjs/utils/isScriptFile.js +0 -67
  383. package/dist/cjs/utils/isVikeReactApp.js +0 -8
  384. package/dist/cjs/utils/isVitest.js +0 -6
  385. package/dist/cjs/utils/joinEnglish.js +0 -14
  386. package/dist/cjs/utils/normalizeHeaders.js +0 -17
  387. package/dist/cjs/utils/objectAssign.js +0 -14
  388. package/dist/cjs/utils/objectAssignSafe.js +0 -7
  389. package/dist/cjs/utils/objectDefineProperty.js +0 -7
  390. package/dist/cjs/utils/objectEntries.js +0 -8
  391. package/dist/cjs/utils/objectEntriesForEach.js +0 -7
  392. package/dist/cjs/utils/objectFilter.js +0 -10
  393. package/dist/cjs/utils/objectFromEntries.js +0 -7
  394. package/dist/cjs/utils/objectKeys.js +0 -9
  395. package/dist/cjs/utils/objectReplace.js +0 -9
  396. package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
  397. package/dist/cjs/utils/pLimit.js +0 -134
  398. package/dist/cjs/utils/parseNpmPackage.js +0 -106
  399. package/dist/cjs/utils/parseUrl-extras.js +0 -110
  400. package/dist/cjs/utils/parseUrl.js +0 -338
  401. package/dist/cjs/utils/path.js +0 -59
  402. package/dist/cjs/utils/pick.js +0 -12
  403. package/dist/cjs/utils/preservePropertyGetters.js +0 -30
  404. package/dist/cjs/utils/redirectHard.js +0 -6
  405. package/dist/cjs/utils/removeEmptyLines.js +0 -9
  406. package/dist/cjs/utils/removeFileExtension.js +0 -6
  407. package/dist/cjs/utils/requireResolve.js +0 -214
  408. package/dist/cjs/utils/rollupSourceMap.js +0 -19
  409. package/dist/cjs/utils/sleep.js +0 -6
  410. package/dist/cjs/utils/slice.js +0 -35
  411. package/dist/cjs/utils/sorter.js +0 -117
  412. package/dist/cjs/utils/stringifyStringArray.js +0 -6
  413. package/dist/cjs/utils/stripAnsi.js +0 -21
  414. package/dist/cjs/utils/styleFileRE.js +0 -6
  415. package/dist/cjs/utils/throttle.js +0 -15
  416. package/dist/cjs/utils/trackLogs.js +0 -31
  417. package/dist/cjs/utils/trimWithAnsi.js +0 -40
  418. package/dist/cjs/utils/truncateString.js +0 -23
  419. package/dist/cjs/utils/unique.js +0 -6
  420. package/dist/cjs/utils/updateType.js +0 -9
  421. package/dist/cjs/utils/urlToFile.js +0 -36
  422. package/dist/cjs/utils/virtualFileId.js +0 -43
  423. package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
  424. package/dist/esm/client/runtime-server-routing/globalContext.js +0 -5
  425. package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -65
  426. package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
  427. package/dist/esm/node/vite/plugins/pluginBuild.js +0 -20
  428. package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -14
  429. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -92
@@ -17,38 +17,40 @@ const filterFunction = (id) => extractExportNamesRE.test(id);
17
17
  function pluginExtractExportNames() {
18
18
  let isDev = false;
19
19
  let config;
20
- return {
21
- name: 'vike:pluginExtractExportNames',
22
- enforce: 'post',
23
- transform: {
24
- filter: filterRolldown,
25
- async handler(src, id, options) {
26
- id = normalizeId(id);
27
- const isClientSide = !isViteServerSide_extraSafe(config, this.environment, options);
28
- assert(filterFunction(id));
29
- const code = await getExtractExportNamesCode(src, isClientSide, !isDev, id);
30
- debug('id ' + id, ['result:\n' + code.code.trim(), 'src:\n' + src.trim()]);
31
- return code;
20
+ return [
21
+ {
22
+ name: 'vike:pluginExtractExportNames',
23
+ enforce: 'post',
24
+ transform: {
25
+ filter: filterRolldown,
26
+ async handler(src, id, options) {
27
+ id = normalizeId(id);
28
+ const isClientSide = !isViteServerSide_extraSafe(config, this.environment, options);
29
+ assert(filterFunction(id));
30
+ const code = await getExtractExportNamesCode(src, isClientSide, !isDev, id);
31
+ debug('id ' + id, ['result:\n' + code.code.trim(), 'src:\n' + src.trim()]);
32
+ return code;
33
+ },
32
34
  },
33
- },
34
- configureServer: {
35
- handler() {
36
- isDev = true;
35
+ configureServer: {
36
+ handler() {
37
+ isDev = true;
38
+ },
37
39
  },
38
- },
39
- configResolved: {
40
- handler(config_) {
41
- config = config_;
40
+ configResolved: {
41
+ handler(config_) {
42
+ config = config_;
43
+ },
42
44
  },
43
- },
44
- config: {
45
- handler() {
46
- if (debug.isActivated) {
47
- return { logLevel: 'silent' };
48
- }
45
+ config: {
46
+ handler() {
47
+ if (debug.isActivated) {
48
+ return { logLevel: 'silent' };
49
+ }
50
+ },
49
51
  },
50
52
  },
51
- };
53
+ ];
52
54
  }
53
55
  async function getExtractExportNamesCode(src, isClientSide, isProduction, id) {
54
56
  const { exportNames, wildcardReExports } = await getExportNames(src);
@@ -1,3 +1,3 @@
1
1
  export { pluginFileEnv };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginFileEnv(): Plugin;
3
+ declare function pluginFileEnv(): Plugin[];
@@ -25,85 +25,87 @@ const filterFunction = (id) => {
25
25
  function pluginFileEnv() {
26
26
  let config;
27
27
  let viteDevServer;
28
- return {
29
- name: 'vike:pluginFileEnv',
30
- load: {
31
- filter: filterRolldown,
32
- handler(id, options) {
33
- // In build, we use generateBundle() instead of the load() hook. Using load() works for dynamic imports in dev thanks to Vite's lazy transpiling, but it doesn't work in build because Rollup transpiles any dynamically imported module even if it's never actually imported.
34
- if (!viteDevServer)
35
- return;
36
- if (!isV1Design())
37
- return;
38
- if (skip(id, config.root))
39
- return;
40
- // For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
41
- if (id.endsWith('?direct'))
42
- id = id.slice(0, -1 * '?direct'.length);
43
- const moduleInfo = viteDevServer.moduleGraph.getModuleById(id);
44
- assert(moduleInfo);
45
- const importers = Array.from(moduleInfo.importers)
46
- .map((m) => m.id)
47
- .filter((id) => id !== null);
48
- assertFileEnv(id, isViteServerSide_extraSafe(config, this.environment, options), importers,
49
- // In dev, we only show a warning because we don't want to disrupt when the user plays with settings such as [ssr](https://vike.dev/ssr).
50
- true);
51
- },
52
- },
53
- // In production, we have to use transform() to replace modules with a runtime error because generateBundle() doesn't work for dynamic imports. In production, dynamic imports can only be verified at runtime.
54
- transform: {
55
- filter: filterRolldown,
56
- async handler(code, id, options) {
57
- id = normalizeId(id);
58
- // In dev, only using load() is enough as it also works for dynamic imports (see sibling comment).
59
- if (viteDevServer)
60
- return;
61
- if (skip(id, config.root))
62
- return;
63
- const isServerSide = isViteServerSide_extraSafe(config, this.environment, options);
64
- if (!isWrongEnv(id, isServerSide))
65
- return;
66
- const { importers } = this.getModuleInfo(id);
67
- // Throwing a verbose error doesn't waste client-side KBs as dynamic imports are code split.
68
- const errMsg = getErrorMessage(id, isServerSide, importers, false, true);
69
- // We have to inject empty exports to avoid Rollup complaining about missing exports, see https://gist.github.com/brillout/5ea45776e65bd65100a52ecd7bfda3ff
70
- const { exportNames } = await getExportNames(code);
71
- return rollupSourceMapRemove([
72
- `throw new Error(${JSON.stringify(errMsg)});`,
73
- ...exportNames.map((name) => name === 'default' ? 'export default undefined;' : `export const ${name} = undefined;`),
74
- ].join('\n'));
28
+ return [
29
+ {
30
+ name: 'vike:pluginFileEnv',
31
+ load: {
32
+ filter: filterRolldown,
33
+ handler(id, options) {
34
+ // In build, we use generateBundle() instead of the load() hook. Using load() works for dynamic imports in dev thanks to Vite's lazy transpiling, but it doesn't work in build because Rollup transpiles any dynamically imported module even if it's never actually imported.
35
+ if (!viteDevServer)
36
+ return;
37
+ if (!isV1Design())
38
+ return;
39
+ if (skip(id, config.root))
40
+ return;
41
+ // For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
42
+ if (id.endsWith('?direct'))
43
+ id = id.slice(0, -1 * '?direct'.length);
44
+ const moduleInfo = viteDevServer.moduleGraph.getModuleById(id);
45
+ assert(moduleInfo);
46
+ const importers = Array.from(moduleInfo.importers)
47
+ .map((m) => m.id)
48
+ .filter((id) => id !== null);
49
+ assertFileEnv(id, isViteServerSide_extraSafe(config, this.environment, options), importers,
50
+ // In dev, we only show a warning because we don't want to disrupt when the user plays with settings such as [ssr](https://vike.dev/ssr).
51
+ true);
52
+ },
75
53
  },
76
- },
77
- generateBundle: {
78
- handler() {
79
- Array.from(this.getModuleIds())
80
- .filter(filterFunction)
81
- .filter((id) => !skip(id, config.root))
82
- .forEach((moduleId) => {
83
- const mod = this.getModuleInfo(moduleId);
84
- const { importers } = mod;
85
- if (importers.length === 0) {
86
- // Dynamic imports can only be verified at runtime
87
- /* This assertion can fail: https://github.com/vikejs/vike/issues/2227
88
- assert(dynamicImporters.length > 0)
89
- */
54
+ // In production, we have to use transform() to replace modules with a runtime error because generateBundle() doesn't work for dynamic imports. In production, dynamic imports can only be verified at runtime.
55
+ transform: {
56
+ filter: filterRolldown,
57
+ async handler(code, id, options) {
58
+ id = normalizeId(id);
59
+ // In dev, only using load() is enough as it also works for dynamic imports (see sibling comment).
60
+ if (viteDevServer)
61
+ return;
62
+ if (skip(id, config.root))
63
+ return;
64
+ const isServerSide = isViteServerSide_extraSafe(config, this.environment, options);
65
+ if (!isWrongEnv(id, isServerSide))
90
66
  return;
91
- }
92
- assertFileEnv(moduleId, isViteServerSide(config, this.environment), importers, false);
93
- });
67
+ const { importers } = this.getModuleInfo(id);
68
+ // Throwing a verbose error doesn't waste client-side KBs as dynamic imports are code split.
69
+ const errMsg = getErrorMessage(id, isServerSide, importers, false, true);
70
+ // We have to inject empty exports to avoid Rollup complaining about missing exports, see https://gist.github.com/brillout/5ea45776e65bd65100a52ecd7bfda3ff
71
+ const { exportNames } = await getExportNames(code);
72
+ return rollupSourceMapRemove([
73
+ `throw new Error(${JSON.stringify(errMsg)});`,
74
+ ...exportNames.map((name) => name === 'default' ? 'export default undefined;' : `export const ${name} = undefined;`),
75
+ ].join('\n'));
76
+ },
94
77
  },
95
- },
96
- configResolved: {
97
- handler(config_) {
98
- config = config_;
78
+ generateBundle: {
79
+ handler() {
80
+ Array.from(this.getModuleIds())
81
+ .filter(filterFunction)
82
+ .filter((id) => !skip(id, config.root))
83
+ .forEach((moduleId) => {
84
+ const mod = this.getModuleInfo(moduleId);
85
+ const { importers } = mod;
86
+ if (importers.length === 0) {
87
+ // Dynamic imports can only be verified at runtime
88
+ /* This assertion can fail: https://github.com/vikejs/vike/issues/2227
89
+ assert(dynamicImporters.length > 0)
90
+ */
91
+ return;
92
+ }
93
+ assertFileEnv(moduleId, isViteServerSide(config, this.environment), importers, false);
94
+ });
95
+ },
99
96
  },
100
- },
101
- configureServer: {
102
- handler(viteDevServer_) {
103
- viteDevServer = viteDevServer_;
97
+ configResolved: {
98
+ handler(config_) {
99
+ config = config_;
100
+ },
101
+ },
102
+ configureServer: {
103
+ handler(viteDevServer_) {
104
+ viteDevServer = viteDevServer_;
105
+ },
104
106
  },
105
107
  },
106
- };
108
+ ];
107
109
  function assertFileEnv(moduleId, isServerSide, importers, onlyWarn) {
108
110
  if (!isWrongEnv(moduleId, isServerSide))
109
111
  return;
@@ -23,4 +23,4 @@ declare global {
23
23
  var __VIKE__DYNAMIC_IMPORT: (module: string) => Promise<Record<string, unknown>>;
24
24
  var __VIKE__IS_NON_RUNNABLE_DEV: undefined | boolean;
25
25
  }
26
- declare function pluginNonRunnableDev(): Plugin;
26
+ declare function pluginNonRunnableDev(): Plugin[];
@@ -30,38 +30,40 @@ function getViteRpcFunctions(viteDevServer) {
30
30
  }
31
31
  function pluginNonRunnableDev() {
32
32
  let config;
33
- return {
34
- name: 'vike:pluginNonRunnableDev',
35
- apply: (_, configEnv) => isDevCheck(configEnv),
36
- configureServer: {
37
- handler(viteDevServer) {
38
- createViteRPC(viteDevServer, getViteRpcFunctions);
33
+ return [
34
+ {
35
+ name: 'vike:pluginNonRunnableDev',
36
+ apply: (_, configEnv) => isDevCheck(configEnv),
37
+ configureServer: {
38
+ handler(viteDevServer) {
39
+ createViteRPC(viteDevServer, getViteRpcFunctions);
40
+ },
39
41
  },
40
- },
41
- configResolved: {
42
- handler(config_) {
43
- config = config_;
42
+ configResolved: {
43
+ handler(config_) {
44
+ config = config_;
45
+ },
44
46
  },
45
- },
46
- transform: {
47
- filter: filterRolldown,
48
- handler(code, id) {
49
- assert(config._isDev);
50
- assert(filterFunction(id));
51
- const idWithoutQuery = getIdWithoutQuery(id);
52
- if (isRunnableDevEnvironment(this.environment))
53
- return;
54
- const { magicString, getMagicStringResult } = getMagicString(code, id);
55
- if (idWithoutQuery === distFileIsNonRunnableDev) {
56
- magicString.replaceAll('__VIKE__IS_NON_RUNNABLE_DEV', JSON.stringify(true));
57
- }
58
- if (idWithoutQuery === distFileGlobalContext) {
59
- magicString.replaceAll('__VIKE__DYNAMIC_IMPORT', 'import');
60
- }
61
- return getMagicStringResult();
47
+ transform: {
48
+ filter: filterRolldown,
49
+ handler(code, id) {
50
+ assert(config._isDev);
51
+ assert(filterFunction(id));
52
+ const idWithoutQuery = getIdWithoutQuery(id);
53
+ if (isRunnableDevEnvironment(this.environment))
54
+ return;
55
+ const { magicString, getMagicStringResult } = getMagicString(code, id);
56
+ if (idWithoutQuery === distFileIsNonRunnableDev) {
57
+ magicString.replaceAll('__VIKE__IS_NON_RUNNABLE_DEV', JSON.stringify(true));
58
+ }
59
+ if (idWithoutQuery === distFileGlobalContext) {
60
+ magicString.replaceAll('__VIKE__DYNAMIC_IMPORT', 'import');
61
+ }
62
+ return getMagicStringResult();
63
+ },
62
64
  },
63
65
  },
64
- };
66
+ ];
65
67
  }
66
68
  function getIdWithoutQuery(id) {
67
69
  return id.split('?')[0];
@@ -1,3 +1,3 @@
1
1
  export { pluginPreview };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginPreview(): Plugin;
3
+ declare function pluginPreview(): Plugin[];
@@ -11,43 +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
- handler() {
19
- return {
20
- appType: 'custom',
21
- };
14
+ return [
15
+ {
16
+ name: 'vike:pluginPreview',
17
+ apply: applyPreview,
18
+ config: {
19
+ handler() {
20
+ return {
21
+ appType: 'custom',
22
+ };
23
+ },
22
24
  },
23
- },
24
- configResolved: {
25
- async handler(config_) {
26
- config = config_;
27
- vikeConfig = await getVikeConfigInternal();
28
- logDockerHint(config.preview.host);
29
- // vikeConfig = await getVikeConfig(config)
25
+ configResolved: {
26
+ async handler(config_) {
27
+ config = config_;
28
+ vikeConfig = await getVikeConfigInternal();
29
+ logDockerHint(config.preview.host);
30
+ // vikeConfig = await getVikeConfig(config)
31
+ },
30
32
  },
31
- },
32
- configurePreviewServer: {
33
- handler(server) {
34
- /* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
35
- - This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
36
- config.appType = 'mpa'
37
- */
38
- return () => {
39
- const { isPrerenderingEnabledForAllPages, isPrerenderingEnabled } = vikeConfig.prerenderContext;
40
- assertDist(isPrerenderingEnabledForAllPages);
41
- // We cannot re-use Vite's static middleware: https://github.com/vitejs/vite/pull/14836#issuecomment-1788540300
42
- addStaticAssetsMiddleware(server.middlewares);
43
- if (!isPrerenderingEnabledForAllPages) {
44
- addSsrMiddleware(server.middlewares, config, true, isPrerenderingEnabled);
45
- }
46
- addStatic404Middleware(server.middlewares);
47
- };
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
+ },
48
50
  },
49
51
  },
50
- };
52
+ ];
51
53
  function assertDist(isPrerenderingEnabledForAllPages) {
52
54
  const { outDirRoot, outDirClient, outDirServer } = getOutDirs(config, undefined);
53
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,89 @@
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
+ if (!magicString.hasChanged())
65
+ return null;
66
+ return getMagicStringResult();
67
+ },
68
+ },
69
+ },
70
+ ];
71
+ }
72
+ // Copied & adapted from:
73
+ // https://github.com/rollup/plugins/blob/e1a5ef99f1578eb38a8c87563cb9651db228f3bd/packages/replace/src/index.js#L57-L67
74
+ function getConstantRegExp(constants) {
75
+ const keys = Object.values(constants).sort(longest).map(escape);
76
+ // const delimiters = ['\\b', '\\b(?!\\.)']
77
+ const delimiters = ['(?<!\\.)\\b', '\\b(?!\\.)']; // Improved version, to avoid replacing `globalContext.pageContext.isClientSide` with `globalContext.false`
78
+ const preventAssignment = false; // Let's try without it first, let's see if a user complains
79
+ const lookbehind = preventAssignment ? '(?<!\\b(?:const|let|var)\\s*)' : '';
80
+ const lookahead = preventAssignment ? '(?!\\s*=[^=])' : '';
81
+ const pattern = new RegExp(`${lookbehind}${delimiters[0]}(${keys.join('|')})${delimiters[1]}${lookahead}`, 'g');
82
+ return pattern;
83
+ }
84
+ function escape(str) {
85
+ return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
86
+ }
87
+ function longest(a, b) {
88
+ return b.length - a.length;
89
+ }
@@ -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[];