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
@@ -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[];
@@ -3,30 +3,32 @@ import { rollupIsEsm } from '../../shared/rollupIsEsm.js';
3
3
  import { isViteServerSide } from '../../shared/isViteServerSide.js';
4
4
  function pluginDistPackageJsonFile() {
5
5
  let config;
6
- return {
7
- name: 'vike:build:pluginDistPackageJsonFile',
8
- apply: 'build',
9
- configResolved: {
10
- handler(config_) {
11
- config = config_;
6
+ return [
7
+ {
8
+ name: 'vike:build:pluginDistPackageJsonFile',
9
+ apply: 'build',
10
+ configResolved: {
11
+ handler(config_) {
12
+ config = config_;
13
+ },
12
14
  },
13
- },
14
- generateBundle: {
15
- handler(options, bundle) {
16
- if (!isViteServerSide(config, this.environment))
17
- return;
18
- const isEsm = rollupIsEsm(options);
19
- const fileName = 'package.json';
20
- if (bundle[fileName])
21
- return; // E.g. already generated by Telefunc / vike
22
- this.emitFile({
23
- fileName,
24
- type: 'asset',
25
- source: getPackageJsonContent(isEsm),
26
- });
15
+ generateBundle: {
16
+ handler(options, bundle) {
17
+ if (!isViteServerSide(config, this.environment))
18
+ return;
19
+ const isEsm = rollupIsEsm(options);
20
+ const fileName = 'package.json';
21
+ if (bundle[fileName])
22
+ return; // E.g. already generated by Telefunc / vike
23
+ this.emitFile({
24
+ fileName,
25
+ type: 'asset',
26
+ source: getPackageJsonContent(isEsm),
27
+ });
28
+ },
27
29
  },
28
30
  },
29
- };
31
+ ];
30
32
  }
31
33
  function getPackageJsonContent(isEsm) {
32
34
  if (isEsm) {
@@ -1,3 +1,3 @@
1
1
  export { pluginModuleBanner };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginModuleBanner(): Plugin;
3
+ declare function pluginModuleBanner(): Plugin[];
@@ -5,43 +5,45 @@ import { getMagicString } from '../../shared/getMagicString.js';
5
5
  // But, anyways, we want to prepend the banner at the beginning of each module, not at the beginning of each file (I believe that's what Rollup's banner feature does).
6
6
  function pluginModuleBanner() {
7
7
  let config;
8
- return {
9
- name: 'vike:build:pluginModuleBanner',
10
- enforce: 'post',
11
- apply: 'build',
12
- applyToEnvironment(environment) {
13
- const { config } = environment;
14
- const { consumer } = config;
15
- const { minify } = config.build;
16
- assert(minify === false || minify, { minify, consumer });
17
- return !minify;
18
- },
19
- configResolved: {
20
- handler(config_) {
21
- config = config_;
8
+ return [
9
+ {
10
+ name: 'vike:build:pluginModuleBanner',
11
+ enforce: 'post',
12
+ apply: 'build',
13
+ applyToEnvironment(environment) {
14
+ const { config } = environment;
15
+ const { consumer } = config;
16
+ const { minify } = config.build;
17
+ assert(minify === false || minify, { minify, consumer });
18
+ return !minify;
22
19
  },
23
- },
24
- transform: {
25
- order: 'post',
26
- /* Using a Rolldown hook filter doesn't make sense here — we use applyToEnvironment() to conditionally apply this plugin.
27
- filter: {},
28
- */
29
- handler(code, id) {
30
- const { minify } = this.environment.config.build;
31
- assert(minify === false, { minify });
32
- if (id.startsWith('\0'))
33
- id = id;
34
- id = removeVirtualFileIdPrefix(id);
35
- if (id.startsWith(config.root))
36
- id = id.slice(config.root.length + 1);
37
- id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
38
- const { magicString, getMagicStringResult } = getMagicString(code, id);
39
- // Use legal comment so that esbuild doesn't remove it.
40
- // - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
41
- // - https://esbuild.github.io/api/#legal-comments
42
- magicString.prepend(`/*! ${id} [vike:pluginModuleBanner] */\n`);
43
- return getMagicStringResult();
20
+ configResolved: {
21
+ handler(config_) {
22
+ config = config_;
23
+ },
24
+ },
25
+ transform: {
26
+ order: 'post',
27
+ /* Using a Rolldown hook filter doesn't make sense here — we use applyToEnvironment() to conditionally apply this plugin.
28
+ filter: {},
29
+ */
30
+ handler(code, id) {
31
+ const { minify } = this.environment.config.build;
32
+ assert(minify === false, { minify });
33
+ if (id.startsWith('\0'))
34
+ id = id;
35
+ id = removeVirtualFileIdPrefix(id);
36
+ if (id.startsWith(config.root))
37
+ id = id.slice(config.root.length + 1);
38
+ id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
39
+ const { magicString, getMagicStringResult } = getMagicString(code, id);
40
+ // Use legal comment so that esbuild doesn't remove it.
41
+ // - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
42
+ // - https://esbuild.github.io/api/#legal-comments
43
+ magicString.prepend(`/*! ${id} [vike:pluginModuleBanner] */\n`);
44
+ return getMagicStringResult();
45
+ },
44
46
  },
45
47
  },
46
- };
48
+ ];
47
49
  }
@@ -1,3 +1,3 @@
1
1
  export { pluginSuppressRollupWarning };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginSuppressRollupWarning(): Plugin;
3
+ declare function pluginSuppressRollupWarning(): Plugin[];
@@ -1,32 +1,34 @@
1
1
  // Suppress Rollup warnings `Generated an empty chunk: "index.page.server"`
2
2
  export { pluginSuppressRollupWarning };
3
3
  function pluginSuppressRollupWarning() {
4
- return {
5
- name: 'vike:build:pluginSuppressRollupWarning',
6
- apply: 'build',
7
- enforce: 'post',
8
- configResolved: {
9
- async handler(config) {
10
- const onWarnOriginal = config.build.rollupOptions.onwarn;
11
- config.build.rollupOptions.onwarn = function (warning, warn) {
12
- // Suppress
13
- if (suppressUnusedImport(warning))
14
- return;
15
- if (suppressEmptyBundle(warning))
16
- return;
17
- if (suppressUseClientDirective(warning))
18
- return;
19
- // Pass through
20
- if (onWarnOriginal) {
21
- onWarnOriginal.apply(this, arguments);
22
- }
23
- else {
24
- warn(warning);
25
- }
26
- };
4
+ return [
5
+ {
6
+ name: 'vike:build:pluginSuppressRollupWarning',
7
+ apply: 'build',
8
+ enforce: 'post',
9
+ configResolved: {
10
+ async handler(config) {
11
+ const onWarnOriginal = config.build.rollupOptions.onwarn;
12
+ config.build.rollupOptions.onwarn = function (warning, warn) {
13
+ // Suppress
14
+ if (suppressUnusedImport(warning))
15
+ return;
16
+ if (suppressEmptyBundle(warning))
17
+ return;
18
+ if (suppressUseClientDirective(warning))
19
+ return;
20
+ // Pass through
21
+ if (onWarnOriginal) {
22
+ onWarnOriginal.apply(this, arguments);
23
+ }
24
+ else {
25
+ warn(warning);
26
+ }
27
+ };
28
+ },
27
29
  },
28
30
  },
29
- };
31
+ ];
30
32
  }
31
33
  /** Suppress warning about Rollup removing the React Server Components `"use client";` directives */
32
34
  function suppressUseClientDirective(warning) {
@@ -3,7 +3,6 @@ import { searchForWorkspaceRoot } from 'vite';
3
3
  import path from 'node:path';
4
4
  import { assert, assertPosixPath, getPackageNodeModulesDirectory } from '../../utils.js';
5
5
  import { fileURLToPath } from 'node:url';
6
- // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
7
6
  const importMetaUrl = import.meta.url;
8
7
  assertPosixPath(importMetaUrl);
9
8
  const __dirname_ = path.posix.dirname(fileURLToPath(importMetaUrl));
@@ -1,3 +1,3 @@
1
1
  export { pluginEnvVars };
2
2
  import type { Plugin } from 'vite';
3
- declare function pluginEnvVars(): Plugin;
3
+ declare function pluginEnvVars(): Plugin[];
@@ -5,7 +5,6 @@ import { getModuleFilePathAbsolute } from '../shared/getFilePath.js';
5
5
  import { normalizeId } from '../shared/normalizeId.js';
6
6
  import { isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
7
7
  import { getMagicString } from '../shared/getMagicString.js';
8
- import { filterRolldown, filterFunction } from './pluginReplaceConstants.js';
9
8
  // TO-DO/eventually:
10
9
  // - Make import.meta.env work inside +config.js
11
10
  // - For it to work, we'll probably need the user to define the settings (e.g. `envDir`) for loadEnv() inside vike.config.js instead of vite.config.js
@@ -15,76 +14,99 @@ const PUBLIC_ENV_ALLOWLIST = [
15
14
  // https://github.com/vikejs/vike/issues/1724
16
15
  'STORYBOOK',
17
16
  ];
17
+ const skipNodeModules = '/node_modules/';
18
+ const skipIrrelevant = 'import.meta.env.';
19
+ const filterRolldown = {
20
+ id: {
21
+ exclude: `**${skipNodeModules}**`,
22
+ },
23
+ code: {
24
+ include: skipIrrelevant,
25
+ },
26
+ };
27
+ const filterFunction = (id, code) => {
28
+ if (id.includes(skipNodeModules))
29
+ return false;
30
+ if (!code.includes(skipIrrelevant))
31
+ return false;
32
+ return true;
33
+ };
18
34
  function pluginEnvVars() {
19
35
  let envsAll;
20
36
  let config;
21
- return {
22
- name: 'vike:pluginEnvVars',
23
- enforce: 'post',
24
- configResolved: {
25
- handler(config_) {
26
- config = config_;
27
- envsAll = loadEnv(config.mode, config.envDir || config.root, '');
28
- config.plugins.sort(lowerFirst((plugin) => (plugin.name === 'vite:define' ? 1 : 0)));
37
+ return [
38
+ {
39
+ name: 'vike:pluginEnvVars',
40
+ enforce: 'post',
41
+ configResolved: {
42
+ handler(config_) {
43
+ config = config_;
44
+ envsAll = loadEnv(config.mode, config.envDir || config.root, '');
45
+ config.plugins.sort(lowerFirst((plugin) => (plugin.name === 'vite:define' ? 1 : 0)));
46
+ },
29
47
  },
30
- },
31
- transform: {
32
- filter: filterRolldown,
33
- handler(code, id, options) {
34
- id = normalizeId(id);
35
- assertPosixPath(id);
36
- assertPosixPath(config.root);
37
- if (!id.startsWith(config.root))
38
- return; // skip linked dependencies
39
- assert(filterFunction(id, code));
40
- const isBuild = config.command === 'build';
41
- const isClientSide = !isViteServerSide_extraSafe(config, this.environment, options);
42
- const { magicString, getMagicStringResult } = getMagicString(code, id);
43
- // Find & check
44
- const replacements = Object.entries(envsAll)
45
- .filter(([key]) => {
46
- // Already handled by Vite
47
- const envPrefix = !config.envPrefix ? [] : isArray(config.envPrefix) ? config.envPrefix : [config.envPrefix];
48
- return !envPrefix.some((prefix) => key.startsWith(prefix));
49
- })
50
- .map(([envName, envVal]) => {
51
- const envStatement = `import.meta.env.${envName}`;
52
- const envStatementRegExpStr = escapeRegex(envStatement) + '\\b';
53
- // Security check
54
- {
55
- const isPrivate = !envName.startsWith(PUBLIC_ENV_PREFIX) && !PUBLIC_ENV_ALLOWLIST.includes(envName);
56
- if (isPrivate && isClientSide) {
57
- if (!new RegExp(envStatementRegExpStr).test(code))
58
- return;
59
- const modulePath = getModuleFilePathAbsolute(id, config);
60
- const errMsgAddendum = isBuild
61
- ? ''
62
- : ' (Vike will prevent your app from building for production)';
63
- const keyPublic = `${PUBLIC_ENV_PREFIX}${envName}`;
64
- const errMsg = `${envStatement} is used in client-side file ${modulePath} which means that the environment variable ${envName} will be included in client-side bundles and, therefore, ${envName} will be publicly exposed which can be a security leak${errMsgAddendum}. Use ${envStatement} only in server-side files, or rename ${envName} to ${keyPublic}, see https://vike.dev/env`;
65
- if (isBuild) {
66
- assertUsage(false, errMsg);
67
- }
68
- else {
69
- // - Only a warning for faster development DX (e.g. when user toggles `ssr: boolean` or `onBeforeRenderIsomorph: boolean`).
70
- // - But only showing a warning can be confusing: https://github.com/vikejs/vike/issues/1641
71
- assertWarning(false, errMsg, { onlyOnce: true });
48
+ transform: {
49
+ filter: filterRolldown,
50
+ handler(code, id, options) {
51
+ id = normalizeId(id);
52
+ assertPosixPath(id);
53
+ assertPosixPath(config.root);
54
+ if (!id.startsWith(config.root))
55
+ return; // skip linked dependencies
56
+ assert(filterFunction(id, code));
57
+ const isBuild = config.command === 'build';
58
+ const isClientSide = !isViteServerSide_extraSafe(config, this.environment, options);
59
+ const { magicString, getMagicStringResult } = getMagicString(code, id);
60
+ // Find & check
61
+ const replacements = Object.entries(envsAll)
62
+ .filter(([key]) => {
63
+ // Already handled by Vite
64
+ const envPrefix = !config.envPrefix
65
+ ? []
66
+ : isArray(config.envPrefix)
67
+ ? config.envPrefix
68
+ : [config.envPrefix];
69
+ return !envPrefix.some((prefix) => key.startsWith(prefix));
70
+ })
71
+ .map(([envName, envVal]) => {
72
+ const envStatement = `import.meta.env.${envName}`;
73
+ const envStatementRegExpStr = escapeRegex(envStatement) + '\\b';
74
+ // Security check
75
+ {
76
+ const isPrivate = !envName.startsWith(PUBLIC_ENV_PREFIX) && !PUBLIC_ENV_ALLOWLIST.includes(envName);
77
+ if (isPrivate && isClientSide) {
78
+ if (!new RegExp(envStatementRegExpStr).test(code))
79
+ return;
80
+ const modulePath = getModuleFilePathAbsolute(id, config);
81
+ const errMsgAddendum = isBuild
82
+ ? ''
83
+ : ' (Vike will prevent your app from building for production)';
84
+ const keyPublic = `${PUBLIC_ENV_PREFIX}${envName}`;
85
+ const errMsg = `${envStatement} is used in client-side file ${modulePath} which means that the environment variable ${envName} will be included in client-side bundles and, therefore, ${envName} will be publicly exposed which can be a security leak${errMsgAddendum}. Use ${envStatement} only in server-side files, or rename ${envName} to ${keyPublic}, see https://vike.dev/env`;
86
+ if (isBuild) {
87
+ assertUsage(false, errMsg);
88
+ }
89
+ else {
90
+ // - Only a warning for faster development DX (e.g. when user toggles `ssr: boolean` or `onBeforeRenderIsomorph: boolean`).
91
+ // - But only showing a warning can be confusing: https://github.com/vikejs/vike/issues/1641
92
+ assertWarning(false, errMsg, { onlyOnce: true });
93
+ }
72
94
  }
95
+ // Double check
96
+ assert(!(isPrivate && isClientSide) || !isBuild);
73
97
  }
74
- // Double check
75
- assert(!(isPrivate && isClientSide) || !isBuild);
76
- }
77
- return { regExpStr: envStatementRegExpStr, replacement: envVal };
78
- })
79
- .filter(isNotNullish);
80
- // Apply
81
- replacements.forEach(({ regExpStr, replacement }) => {
82
- magicString.replaceAll(new RegExp(regExpStr, 'g'), JSON.stringify(replacement));
83
- });
84
- if (!magicString.hasChanged())
85
- return null;
86
- return getMagicStringResult();
98
+ return { regExpStr: envStatementRegExpStr, replacement: envVal };
99
+ })
100
+ .filter(isNotNullish);
101
+ // Apply
102
+ replacements.forEach(({ regExpStr, replacement }) => {
103
+ magicString.replaceAll(new RegExp(regExpStr, 'g'), JSON.stringify(replacement));
104
+ });
105
+ if (!magicString.hasChanged())
106
+ return null;
107
+ return getMagicStringResult();
108
+ },
87
109
  },
88
110
  },
89
- };
111
+ ];
90
112
  }
@@ -3,5 +3,5 @@ export { isUsingClientRouter };
3
3
  export { extractExportNamesRE };
4
4
  import type { Plugin } from 'vite';
5
5
  declare const extractExportNamesRE: RegExp;
6
- declare function pluginExtractExportNames(): Plugin;
6
+ declare function pluginExtractExportNames(): Plugin[];
7
7
  declare function isUsingClientRouter(): boolean;