vike 0.4.239 → 0.4.240

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/dist/esm/client/index.d.ts +1 -1
  2. package/dist/esm/client/index.js +1 -1
  3. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  4. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
  5. package/dist/esm/client/runtime-client-routing/entry.js +5 -3
  6. package/dist/esm/client/runtime-client-routing/getBaseServer.js +0 -1
  7. package/dist/esm/client/runtime-client-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
  8. package/dist/esm/client/runtime-client-routing/{globalContext.js → getGlobalContextClientInternal.js} +8 -4
  9. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +6 -6
  10. package/dist/esm/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
  11. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +4 -4
  12. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +15 -4
  13. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  14. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  15. package/dist/esm/client/runtime-server-routing/entry.js +5 -3
  16. package/dist/esm/client/runtime-server-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
  17. package/dist/esm/client/runtime-server-routing/getGlobalContextClientInternal.js +6 -0
  18. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +1 -1
  19. package/dist/esm/client/shared/{createGetGlobalContextClient.d.ts → getGlobalContextClientInternalShared.d.ts} +11 -8
  20. package/dist/esm/client/shared/getGlobalContextClientInternalShared.js +66 -0
  21. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -3
  22. package/dist/esm/node/prerender/runPrerender.d.ts +4 -2
  23. package/dist/esm/node/prerender/runPrerender.js +5 -2
  24. package/dist/esm/node/runtime/globalContext.d.ts +15 -2
  25. package/dist/esm/node/runtime/globalContext.js +46 -32
  26. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +4 -2
  27. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +4 -2
  28. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +8 -4
  29. package/dist/esm/node/runtime/renderPage.d.ts +4 -2
  30. package/dist/esm/node/vite/index.js +41 -17
  31. package/dist/esm/node/vite/onLoad.js +1 -1
  32. package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.d.ts +4 -0
  33. package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.js +21 -6
  34. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.js +24 -20
  35. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.js +20 -6
  36. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistFileNames.d.ts +1 -1
  37. package/dist/esm/node/vite/plugins/build/pluginDistFileNames.js +253 -0
  38. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistPackageJsonFile.d.ts +1 -1
  39. package/dist/esm/node/vite/plugins/build/pluginDistPackageJsonFile.js +40 -0
  40. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginModuleBanner.d.ts +1 -1
  41. package/dist/esm/node/vite/plugins/build/pluginModuleBanner.js +49 -0
  42. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.js +4 -2
  43. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.d.ts +1 -1
  44. package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.js +27 -23
  45. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +7 -0
  46. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +47 -0
  47. package/dist/esm/node/vite/plugins/{pluginNonRunnableDev.d.ts → non-runnable-dev/pluginViteRPC.d.ts} +3 -7
  48. package/dist/esm/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +30 -0
  49. package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
  50. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +39 -33
  51. package/dist/esm/node/vite/plugins/pluginCommon.js +8 -28
  52. package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
  53. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +1 -1
  54. package/dist/esm/node/vite/plugins/pluginDev.js +51 -47
  55. package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
  56. package/dist/esm/node/vite/plugins/pluginEnvVars.js +88 -63
  57. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +108 -92
  58. package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
  59. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +39 -23
  60. package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
  61. package/dist/esm/node/vite/plugins/pluginFileEnv.js +117 -92
  62. package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
  63. package/dist/esm/node/vite/plugins/pluginPreview.js +38 -30
  64. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
  65. package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
  66. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
  67. package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +87 -0
  68. package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +4 -2
  69. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +1 -1
  70. package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
  71. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +67 -47
  72. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
  73. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +13 -9
  74. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
  75. package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
  76. package/dist/esm/node/vite/shared/getMagicString.d.ts +1 -1
  77. package/dist/esm/node/vite/shared/getMagicString.js +2 -0
  78. package/dist/esm/shared/createGlobalContextShared.d.ts +4 -4
  79. package/dist/esm/shared/route/abort.d.ts +22 -11
  80. package/dist/esm/shared/route/abort.js +37 -5
  81. package/dist/esm/types/PageContext.d.ts +8 -8
  82. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  83. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  84. package/dist/esm/utils/debug.js +10 -0
  85. package/dist/esm/utils/findPackageJson.js +0 -1
  86. package/dist/esm/utils/getViteRPC.js +0 -2
  87. package/dist/esm/utils/isDev.js +3 -1
  88. package/dist/esm/utils/isNonRunnableDev.js +2 -2
  89. package/dist/esm/utils/requireResolve.js +0 -1
  90. package/dist/esm/utils/virtualFileId.d.ts +4 -0
  91. package/dist/esm/utils/virtualFileId.js +14 -11
  92. package/package.json +6 -25
  93. package/dist/cjs/__internal/index.js +0 -35
  94. package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
  95. package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
  96. package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
  97. package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
  98. package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
  99. package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
  100. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
  101. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
  102. package/dist/cjs/client/shared/utils.js +0 -23
  103. package/dist/cjs/node/api/build.js +0 -24
  104. package/dist/cjs/node/api/context.js +0 -23
  105. package/dist/cjs/node/api/dev.js +0 -18
  106. package/dist/cjs/node/api/index.js +0 -44
  107. package/dist/cjs/node/api/onLoad.js +0 -9
  108. package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
  109. package/dist/cjs/node/api/prerender.js +0 -18
  110. package/dist/cjs/node/api/preview.js +0 -38
  111. package/dist/cjs/node/api/types.js +0 -2
  112. package/dist/cjs/node/api/utils.js +0 -27
  113. package/dist/cjs/node/cli/context.js +0 -17
  114. package/dist/cjs/node/cli/entry.js +0 -121
  115. package/dist/cjs/node/cli/index.js +0 -12
  116. package/dist/cjs/node/cli/onLoad.js +0 -9
  117. package/dist/cjs/node/cli/parseCli.js +0 -95
  118. package/dist/cjs/node/cli/utils.js +0 -24
  119. package/dist/cjs/node/client/router.js +0 -19
  120. package/dist/cjs/node/createPageRenderer.js +0 -132
  121. package/dist/cjs/node/importBuild.js +0 -3
  122. package/dist/cjs/node/prerender/context.js +0 -26
  123. package/dist/cjs/node/prerender/index.js +0 -12
  124. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
  125. package/dist/cjs/node/prerender/runPrerender.js +0 -777
  126. package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
  127. package/dist/cjs/node/prerender/utils.js +0 -37
  128. package/dist/cjs/node/runtime/globalContext.js +0 -572
  129. package/dist/cjs/node/runtime/index-deprecated.js +0 -33
  130. package/dist/cjs/node/runtime/index.js +0 -74
  131. package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
  132. package/dist/cjs/node/runtime/onLoad.js +0 -29
  133. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  134. package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
  135. package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
  136. package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
  137. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
  138. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
  139. package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
  140. package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
  141. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
  142. package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
  143. package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
  144. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
  145. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
  146. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
  147. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
  148. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
  149. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
  150. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
  151. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
  152. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
  153. package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
  154. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
  155. package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
  156. package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
  157. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
  158. package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
  159. package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
  160. package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
  161. package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
  162. package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
  163. package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
  164. package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
  165. package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
  166. package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
  167. package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
  168. package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
  169. package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
  170. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
  171. package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
  172. package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
  173. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
  174. package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
  175. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
  176. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
  177. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
  178. package/dist/cjs/node/runtime/renderPage.js +0 -502
  179. package/dist/cjs/node/runtime/universal-middleware.js +0 -20
  180. package/dist/cjs/node/runtime/utils.js +0 -83
  181. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
  182. package/dist/cjs/node/runtime-dev/index.js +0 -42
  183. package/dist/cjs/node/shared/assertV1Design.js +0 -30
  184. package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
  185. package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
  186. package/dist/cjs/node/shared/isErrorDebug.js +0 -7
  187. package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
  188. package/dist/cjs/node/shared/resolveBase.js +0 -35
  189. package/dist/cjs/node/shared/utils.js +0 -35
  190. package/dist/cjs/node/shared/virtualFileId.js +0 -110
  191. package/dist/cjs/node/vite/index.js +0 -69
  192. package/dist/cjs/node/vite/onLoad.js +0 -21
  193. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -48
  194. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -342
  195. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -179
  196. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -220
  197. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -254
  198. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -36
  199. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -41
  200. package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -109
  201. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -63
  202. package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -21
  203. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
  204. package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -197
  205. package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
  206. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
  207. package/dist/cjs/node/vite/plugins/pluginDev.js +0 -107
  208. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -87
  209. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -227
  210. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -99
  211. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -149
  212. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -52
  213. package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -76
  214. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -69
  215. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -49
  216. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
  217. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
  218. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
  219. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
  220. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
  221. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -215
  222. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -15
  223. package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
  224. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
  225. package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
  226. package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
  227. package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
  228. package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
  229. package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
  230. package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
  231. package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
  232. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
  233. package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
  234. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
  235. package/dist/cjs/node/vite/shared/isAsset.js +0 -40
  236. package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
  237. package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
  238. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
  239. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
  240. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
  241. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
  242. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
  243. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
  244. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
  245. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
  246. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
  247. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
  248. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
  249. package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
  250. package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
  251. package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
  252. package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
  253. package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
  254. package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
  255. package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
  256. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
  257. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
  258. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
  259. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
  260. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
  261. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
  262. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
  263. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
  264. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
  265. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
  266. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
  267. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
  268. package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
  269. package/dist/cjs/node/vite/utils.js +0 -45
  270. package/dist/cjs/package.json +0 -1
  271. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
  272. package/dist/cjs/shared/RenderErrorPage.js +0 -6
  273. package/dist/cjs/shared/abort.js +0 -16
  274. package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
  275. package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
  276. package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
  277. package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
  278. package/dist/cjs/shared/createGlobalContextShared.js +0 -109
  279. package/dist/cjs/shared/createPageContextShared.js +0 -17
  280. package/dist/cjs/shared/determinePageIdOld.js +0 -11
  281. package/dist/cjs/shared/error-page.js +0 -40
  282. package/dist/cjs/shared/getPageContext.js +0 -6
  283. package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
  284. package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
  285. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
  286. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
  287. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
  288. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
  289. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
  290. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
  291. package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
  292. package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
  293. package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
  294. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
  295. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
  296. package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
  297. package/dist/cjs/shared/getPageFiles.js +0 -7
  298. package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
  299. package/dist/cjs/shared/hooks/execHook.js +0 -147
  300. package/dist/cjs/shared/hooks/getHook.js +0 -173
  301. package/dist/cjs/shared/htmlElementIds.js +0 -5
  302. package/dist/cjs/shared/misc/isServerSideError.js +0 -4
  303. package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
  304. package/dist/cjs/shared/modifyUrl.js +0 -28
  305. package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
  306. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
  307. package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
  308. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
  309. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
  310. package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
  311. package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
  312. package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
  313. package/dist/cjs/shared/page-configs/helpers.js +0 -27
  314. package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
  315. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
  316. package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
  317. package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
  318. package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
  319. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
  320. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
  321. package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
  322. package/dist/cjs/shared/route/abort.js +0 -178
  323. package/dist/cjs/shared/route/debug.js +0 -23
  324. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
  325. package/dist/cjs/shared/route/execHookGuard.js +0 -37
  326. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
  327. package/dist/cjs/shared/route/index.js +0 -107
  328. package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
  329. package/dist/cjs/shared/route/noRouteMatch.js +0 -4
  330. package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
  331. package/dist/cjs/shared/route/resolveRoute.js +0 -20
  332. package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
  333. package/dist/cjs/shared/route/resolveRouteString.js +0 -153
  334. package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
  335. package/dist/cjs/shared/route/routing.js +0 -9
  336. package/dist/cjs/shared/route/utils.js +0 -40
  337. package/dist/cjs/shared/utils.js +0 -49
  338. package/dist/cjs/types/Config/ConfigResolved.js +0 -2
  339. package/dist/cjs/types/Config.js +0 -2
  340. package/dist/cjs/types/FilePath.js +0 -2
  341. package/dist/cjs/types/PageConfig.js +0 -2
  342. package/dist/cjs/types/PageContext.js +0 -2
  343. package/dist/cjs/types/VikeGlobalInternal.js +0 -2
  344. package/dist/cjs/types/VikeNamespace.js +0 -2
  345. package/dist/cjs/types/ViteManifest.js +0 -2
  346. package/dist/cjs/types/defineConfig.js +0 -6
  347. package/dist/cjs/types/index-dreprecated.js +0 -3
  348. package/dist/cjs/types/index.js +0 -5
  349. package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
  350. package/dist/cjs/utils/PromiseType.js +0 -2
  351. package/dist/cjs/utils/assert.js +0 -211
  352. package/dist/cjs/utils/assertIsBrowser.js +0 -8
  353. package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
  354. package/dist/cjs/utils/assertKeys.js +0 -27
  355. package/dist/cjs/utils/assertNodeVersion.js +0 -14
  356. package/dist/cjs/utils/assertRoutingType.js +0 -29
  357. package/dist/cjs/utils/assertSetup.js +0 -171
  358. package/dist/cjs/utils/assertSingleInstance.js +0 -110
  359. package/dist/cjs/utils/assertVersion.js +0 -60
  360. package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
  361. package/dist/cjs/utils/cast.js +0 -6
  362. package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
  363. package/dist/cjs/utils/changeEnumerable.js +0 -8
  364. package/dist/cjs/utils/checkType.js +0 -6
  365. package/dist/cjs/utils/compareString.js +0 -10
  366. package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
  367. package/dist/cjs/utils/debug.js +0 -178
  368. package/dist/cjs/utils/debugGlob.js +0 -6
  369. package/dist/cjs/utils/deepEqual.js +0 -10
  370. package/dist/cjs/utils/escapeHtml.js +0 -13
  371. package/dist/cjs/utils/escapeRegex.js +0 -7
  372. package/dist/cjs/utils/findFile.js +0 -30
  373. package/dist/cjs/utils/findPackageJson.js +0 -18
  374. package/dist/cjs/utils/formatHintLog.js +0 -17
  375. package/dist/cjs/utils/freezePartial.js +0 -35
  376. package/dist/cjs/utils/genPromise.js +0 -51
  377. package/dist/cjs/utils/getFileExtension.js +0 -16
  378. package/dist/cjs/utils/getGlobalObject.js +0 -15
  379. package/dist/cjs/utils/getMostSimilar.js +0 -68
  380. package/dist/cjs/utils/getPropAccessNotation.js +0 -9
  381. package/dist/cjs/utils/getRandomId.js +0 -14
  382. package/dist/cjs/utils/getTerminalWidth.js +0 -7
  383. package/dist/cjs/utils/getValuePrintable.js +0 -10
  384. package/dist/cjs/utils/getViteRPC.js +0 -79
  385. package/dist/cjs/utils/hasProp.js +0 -50
  386. package/dist/cjs/utils/humanizeTime.js +0 -24
  387. package/dist/cjs/utils/includes.js +0 -13
  388. package/dist/cjs/utils/injectRollupInputs.js +0 -29
  389. package/dist/cjs/utils/isArray.js +0 -7
  390. package/dist/cjs/utils/isArrayOfStrings.js +0 -7
  391. package/dist/cjs/utils/isBrowser.js +0 -8
  392. package/dist/cjs/utils/isCallable.js +0 -6
  393. package/dist/cjs/utils/isDev.js +0 -20
  394. package/dist/cjs/utils/isDocker.js +0 -45
  395. package/dist/cjs/utils/isEqualStringList.js +0 -13
  396. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
  397. package/dist/cjs/utils/isHtml.js +0 -9
  398. package/dist/cjs/utils/isImportPath.js +0 -21
  399. package/dist/cjs/utils/isNodeJS.js +0 -16
  400. package/dist/cjs/utils/isNonRunnableDev.js +0 -12
  401. package/dist/cjs/utils/isNullish.js +0 -16
  402. package/dist/cjs/utils/isObject.js +0 -6
  403. package/dist/cjs/utils/isObjectOfStrings.js +0 -7
  404. package/dist/cjs/utils/isObjectWithKeys.js +0 -15
  405. package/dist/cjs/utils/isPlainObject.js +0 -19
  406. package/dist/cjs/utils/isPromise.js +0 -7
  407. package/dist/cjs/utils/isPropertyGetter.js +0 -7
  408. package/dist/cjs/utils/isReact.js +0 -23
  409. package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
  410. package/dist/cjs/utils/isSameErrorMessage.js +0 -9
  411. package/dist/cjs/utils/isScriptFile.js +0 -67
  412. package/dist/cjs/utils/isVikeReactApp.js +0 -8
  413. package/dist/cjs/utils/isVitest.js +0 -6
  414. package/dist/cjs/utils/joinEnglish.js +0 -14
  415. package/dist/cjs/utils/normalizeHeaders.js +0 -17
  416. package/dist/cjs/utils/objectAssign.js +0 -14
  417. package/dist/cjs/utils/objectAssignSafe.js +0 -7
  418. package/dist/cjs/utils/objectDefineProperty.js +0 -7
  419. package/dist/cjs/utils/objectEntries.js +0 -8
  420. package/dist/cjs/utils/objectEntriesForEach.js +0 -7
  421. package/dist/cjs/utils/objectFilter.js +0 -10
  422. package/dist/cjs/utils/objectFromEntries.js +0 -7
  423. package/dist/cjs/utils/objectKeys.js +0 -9
  424. package/dist/cjs/utils/objectReplace.js +0 -9
  425. package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
  426. package/dist/cjs/utils/pLimit.js +0 -134
  427. package/dist/cjs/utils/parseNpmPackage.js +0 -106
  428. package/dist/cjs/utils/parseUrl-extras.js +0 -110
  429. package/dist/cjs/utils/parseUrl.js +0 -338
  430. package/dist/cjs/utils/path.js +0 -59
  431. package/dist/cjs/utils/pick.js +0 -12
  432. package/dist/cjs/utils/preservePropertyGetters.js +0 -30
  433. package/dist/cjs/utils/redirectHard.js +0 -6
  434. package/dist/cjs/utils/removeEmptyLines.js +0 -9
  435. package/dist/cjs/utils/removeFileExtension.js +0 -6
  436. package/dist/cjs/utils/requireResolve.js +0 -214
  437. package/dist/cjs/utils/rollupSourceMap.js +0 -19
  438. package/dist/cjs/utils/sleep.js +0 -6
  439. package/dist/cjs/utils/slice.js +0 -35
  440. package/dist/cjs/utils/sorter.js +0 -117
  441. package/dist/cjs/utils/stringifyStringArray.js +0 -6
  442. package/dist/cjs/utils/stripAnsi.js +0 -21
  443. package/dist/cjs/utils/styleFileRE.js +0 -6
  444. package/dist/cjs/utils/throttle.js +0 -15
  445. package/dist/cjs/utils/trackLogs.js +0 -31
  446. package/dist/cjs/utils/trimWithAnsi.js +0 -40
  447. package/dist/cjs/utils/truncateString.js +0 -23
  448. package/dist/cjs/utils/unique.js +0 -6
  449. package/dist/cjs/utils/updateType.js +0 -9
  450. package/dist/cjs/utils/urlToFile.js +0 -36
  451. package/dist/cjs/utils/virtualFileId.js +0 -39
  452. package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
  453. package/dist/esm/client/runtime-server-routing/globalContext.js +0 -5
  454. package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -65
  455. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -249
  456. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -34
  457. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -39
  458. package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
  459. package/dist/esm/node/vite/plugins/pluginBuild.js +0 -19
  460. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +0 -50
  461. package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -3
  462. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -67
  463. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.d.ts +0 -0
  464. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.d.ts +0 -0
  465. /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.d.ts +0 -0
@@ -1,3 +1,4 @@
1
+ // TO-DO/next-major-release: remove
1
2
  // Remove this workaround if the other workaround config.build.ssrEmitAssets turns out to be reliable.
2
3
  // - Remove this file then revert this commit: https://github.com/vikejs/vike/commit/805a18974f13420a78fcc30fdd676696e405c3ca
3
4
  // Workaround to make client-side bundles include the CSS imports living in server-side-only code.
@@ -11,7 +12,7 @@ import { extractAssetsAddQuery } from '../../shared/extractAssetsQuery.js';
11
12
  import { isAsset } from '../shared/isAsset.js';
12
13
  import { getImportStatements } from '../shared/parseEsModule.js';
13
14
  import pc from '@brillout/picocolors';
14
- import { handleAssetsManifest_isFixEnabled } from './pluginBuild/handleAssetsManifest.js';
15
+ import { handleAssetsManifest_isFixEnabled } from './build/handleAssetsManifest.js';
15
16
  import { getVikeConfigInternal } from '../shared/resolveVikeConfigInternal.js';
16
17
  import { assertV1Design } from '../../shared/assertV1Design.js';
17
18
  import { normalizeId } from '../shared/normalizeId.js';
@@ -22,6 +23,12 @@ const rawRE = /(\?|&)raw(?:&|$)/;
22
23
  const urlRE = /(\?|&)url(?:&|$)/;
23
24
  const EMPTY_MODULE_ID = 'virtual:vike:empty-module';
24
25
  const debug = createDebugger('vike:pluginExtractAssets');
26
+ const filterRolldown = {
27
+ id: {
28
+ include: extractAssetsRE,
29
+ },
30
+ };
31
+ const filterFunction = (id) => extractAssetsRE.test(id);
25
32
  function pluginExtractAssets() {
26
33
  let config;
27
34
  let vikeConfig;
@@ -33,24 +40,25 @@ function pluginExtractAssets() {
33
40
  // In dev, things just work. (Because Vite's module graph erroneously conflates the Vite server-side importees with the client-side importees.)
34
41
  apply: 'build',
35
42
  enforce: 'post',
36
- async transform(src, id, options) {
37
- id = normalizeId(id);
38
- if (!extractAssetsRE.test(id)) {
39
- return;
40
- }
41
- if (isFixEnabled) {
42
- // I'm guessing isFixEnabled can only be true when mixing both designs: https://github.com/vikejs/vike/issues/1480
43
- assertV1Design(vikeConfig._pageConfigs, true);
44
- assert(false);
45
- }
46
- const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(vikeConfig.config);
47
- assert(includeAssetsImportedByServer);
48
- assert(!isViteServerSide_extraSafe(config, this.environment, options));
49
- const importStatements = await getImportStatements(src);
50
- const moduleNames = getImportedModules(importStatements);
51
- const code = moduleNames.map((moduleName) => `import '${moduleName}';`).join('\n');
52
- debugTransformResult(id, code, importStatements);
53
- return rollupSourceMapRemove(code);
43
+ transform: {
44
+ filter: filterRolldown,
45
+ async handler(src, id, options) {
46
+ id = normalizeId(id);
47
+ assert(filterFunction(id));
48
+ if (isFixEnabled) {
49
+ // I'm guessing isFixEnabled can only be true when mixing both designs: https://github.com/vikejs/vike/issues/1480
50
+ assertV1Design(vikeConfig._pageConfigs, true);
51
+ assert(false);
52
+ }
53
+ const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(vikeConfig.config);
54
+ assert(includeAssetsImportedByServer);
55
+ assert(!isViteServerSide_extraSafe(config, this.environment, options));
56
+ const importStatements = await getImportStatements(src);
57
+ const moduleNames = getImportedModules(importStatements);
58
+ const code = moduleNames.map((moduleName) => `import '${moduleName}';`).join('\n');
59
+ debugTransformResult(id, code, importStatements);
60
+ return rollupSourceMapRemove(code);
61
+ },
54
62
  },
55
63
  },
56
64
  // This plugin appends `?extractAssets` to module IDs
@@ -61,89 +69,97 @@ function pluginExtractAssets() {
61
69
  // - rollup's `alias` plugin; https://github.com/rollup/plugins/blob/5363f55aa1933b6c650832b08d6a54cb9ea64539/packages/alias/src/index.ts
62
70
  // - Vite's `vite:resolve` plugin; https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/resolve.ts#L105
63
71
  enforce: 'pre',
64
- async resolveId(source, importer, options) {
65
- if (isViteServerSide_extraSafe(config, this.environment, options)) {
66
- // When building for the server, there should never be a `?extractAssets` query
67
- assert(!extractAssetsRE.test(source));
68
- assert(importer === undefined || !extractAssetsRE.test(importer));
69
- return;
70
- }
71
- // If there is no `importer` then `module` is an entry.
72
- // We don't need to append `?extractAssets` to entries because they already have `?extractAssets` as Vike appends `?extractAssets` to entries by using `import.meta.glob('/**/*.page.server.js', { as: "extractAssets" })` (see `generateImportGlobs.ts`).
73
- if (!importer) {
74
- return;
75
- }
76
- // We only append `?extractAssets` if the parent module has `?extractAssets`
77
- if (!extractAssetsRE.test(importer)) {
78
- return;
79
- }
80
- const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(vikeConfig.config);
81
- assert(includeAssetsImportedByServer);
82
- let resolution = null;
83
- try {
84
- resolution = await this.resolve(source, importer, { skipSelf: true, ...options });
85
- }
86
- catch { }
87
- // Sometimes Rollup fails to resolve. If it fails to resolve, we assume the dependency to be an npm package and we skip it. (I guess Rollup should always be able to resolve local dependencies?)
88
- if (!resolution)
89
- return emptyModule(source, importer);
90
- const { id: file, external } = resolution;
91
- // Nothing is externalized when building for the client-side
92
- assert(external === false);
93
- // We include:
94
- // - CSS(/LESS/SCSS/...) files
95
- // - Asset files (`.svg`, `.pdf`, ...)
96
- // - URL imports (e.g. `import scriptUrl from './script.js?url.js'`)
97
- if (styleFileRE.test(file) || isAsset(file) || urlRE.test(file)) {
98
- debugOperation('INCLUDED', file, importer);
99
- return resolution;
100
- }
101
- // We erase `source` if its file doesn't contain JavaScript
102
- if (!isScriptFile(file)) {
103
- return emptyModule(file, importer);
104
- }
105
- // If the import path resolves to a file in `node_modules/`, we ignore that file:
106
- // - Direct CSS dependencies are included though, such as `import 'bootstrap/theme/dark.css'`. (Because the above if-branch for CSS files will add the file.)
107
- // - Loading CSS from a library (living in `node_modules/`) in a non-direct way is unconventional; we can safely not support this case. (I'm not aware of any library that does this.)
108
- assertPosixPath(file);
109
- if (file.includes('/node_modules/')) {
110
- return emptyModule(file, importer);
111
- }
112
- // When a library is symlinked, it lives outside `root`.
113
- assertPosixPath(config.root);
114
- if (!file.startsWith(config.root)) {
115
- return emptyModule(file, importer);
116
- }
117
- return appendExtractAssetsQuery(file, importer);
72
+ resolveId: {
73
+ async handler(source, importer, options) {
74
+ if (isViteServerSide_extraSafe(config, this.environment, options)) {
75
+ // When building for the server, there should never be a `?extractAssets` query
76
+ assert(!extractAssetsRE.test(source));
77
+ assert(importer === undefined || !extractAssetsRE.test(importer));
78
+ return;
79
+ }
80
+ // If there is no `importer` then `module` is an entry.
81
+ // We don't need to append `?extractAssets` to entries because they already have `?extractAssets` as Vike appends `?extractAssets` to entries by using `import.meta.glob('/**/*.page.server.js', { as: "extractAssets" })` (see `generateImportGlobs.ts`).
82
+ if (!importer) {
83
+ return;
84
+ }
85
+ // We only append `?extractAssets` if the parent module has `?extractAssets`
86
+ if (!extractAssetsRE.test(importer)) {
87
+ return;
88
+ }
89
+ const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(vikeConfig.config);
90
+ assert(includeAssetsImportedByServer);
91
+ let resolution = null;
92
+ try {
93
+ resolution = await this.resolve(source, importer, { skipSelf: true, ...options });
94
+ }
95
+ catch { }
96
+ // Sometimes Rollup fails to resolve. If it fails to resolve, we assume the dependency to be an npm package and we skip it. (I guess Rollup should always be able to resolve local dependencies?)
97
+ if (!resolution)
98
+ return emptyModule(source, importer);
99
+ const { id: file, external } = resolution;
100
+ // Nothing is externalized when building for the client-side
101
+ assert(external === false);
102
+ // We include:
103
+ // - CSS(/LESS/SCSS/...) files
104
+ // - Asset files (`.svg`, `.pdf`, ...)
105
+ // - URL imports (e.g. `import scriptUrl from './script.js?url.js'`)
106
+ if (styleFileRE.test(file) || isAsset(file) || urlRE.test(file)) {
107
+ debugOperation('INCLUDED', file, importer);
108
+ return resolution;
109
+ }
110
+ // We erase `source` if its file doesn't contain JavaScript
111
+ if (!isScriptFile(file)) {
112
+ return emptyModule(file, importer);
113
+ }
114
+ // If the import path resolves to a file in `node_modules/`, we ignore that file:
115
+ // - Direct CSS dependencies are included though, such as `import 'bootstrap/theme/dark.css'`. (Because the above if-branch for CSS files will add the file.)
116
+ // - Loading CSS from a library (living in `node_modules/`) in a non-direct way is unconventional; we can safely not support this case. (I'm not aware of any library that does this.)
117
+ assertPosixPath(file);
118
+ if (file.includes('/node_modules/')) {
119
+ return emptyModule(file, importer);
120
+ }
121
+ // When a library is symlinked, it lives outside `root`.
122
+ assertPosixPath(config.root);
123
+ if (!file.startsWith(config.root)) {
124
+ return emptyModule(file, importer);
125
+ }
126
+ return appendExtractAssetsQuery(file, importer);
127
+ },
118
128
  },
119
129
  },
120
130
  {
121
131
  name: 'vike:pluginExtractAssets-3',
122
132
  apply: 'build',
123
- load(id) {
124
- if (!isVirtualFileId(id))
125
- return undefined;
126
- id = removeVirtualFileIdPrefix(id);
127
- if (id === EMPTY_MODULE_ID) {
128
- return '// Erased by vike:pluginExtractAssets';
129
- }
133
+ load: {
134
+ handler(id) {
135
+ if (!isVirtualFileId(id))
136
+ return undefined;
137
+ id = removeVirtualFileIdPrefix(id);
138
+ if (id === EMPTY_MODULE_ID) {
139
+ return '// Erased by vike:pluginExtractAssets';
140
+ }
141
+ },
130
142
  },
131
- config() {
132
- if (debug.isActivated) {
133
- return { logLevel: 'silent' };
134
- }
143
+ config: {
144
+ handler() {
145
+ if (debug.isActivated) {
146
+ return { logLevel: 'silent' };
147
+ }
148
+ },
135
149
  },
136
150
  },
137
151
  {
138
152
  name: 'vike:pluginExtractAssets-4',
139
- async configResolved(config_) {
140
- config = config_;
141
- vikeConfig = await getVikeConfigInternal();
142
- isFixEnabled = handleAssetsManifest_isFixEnabled();
143
- if (!isFixEnabled) {
144
- // https://github.com/vikejs/vike/issues/1060
145
- assertUsage(!config.plugins.find((p) => p.name === 'vite-tsconfig-paths'), 'vite-tsconfig-paths not supported, remove it and use vite.config.js#resolve.alias instead');
146
- }
153
+ configResolved: {
154
+ async handler(config_) {
155
+ config = config_;
156
+ vikeConfig = await getVikeConfigInternal();
157
+ isFixEnabled = handleAssetsManifest_isFixEnabled();
158
+ if (!isFixEnabled) {
159
+ // https://github.com/vikejs/vike/issues/1060
160
+ assertUsage(!config.plugins.find((p) => p.name === 'vite-tsconfig-paths'), 'vite-tsconfig-paths not supported, remove it and use vite.config.js#resolve.alias instead');
161
+ }
162
+ },
147
163
  },
148
164
  },
149
165
  ];
@@ -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;
@@ -8,33 +8,49 @@ import { isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
8
8
  const extractExportNamesRE = /(\?|&)extractExportNames(?:&|$)/;
9
9
  const debug = createDebugger('vike:pluginExtractExportNames');
10
10
  const globalObject = getGlobalObject('plugins/pluginExtractExportNames.ts', {});
11
+ const filterRolldown = {
12
+ id: {
13
+ include: extractExportNamesRE,
14
+ },
15
+ };
16
+ const filterFunction = (id) => extractExportNamesRE.test(id);
11
17
  function pluginExtractExportNames() {
12
18
  let isDev = false;
13
19
  let config;
14
- return {
15
- name: 'vike:pluginExtractExportNames',
16
- enforce: 'post',
17
- async transform(src, id, options) {
18
- id = normalizeId(id);
19
- const isClientSide = !isViteServerSide_extraSafe(config, this.environment, options);
20
- if (extractExportNamesRE.test(id)) {
21
- const code = await getExtractExportNamesCode(src, isClientSide, !isDev, id);
22
- debug('id ' + id, ['result:\n' + code.code.trim(), 'src:\n' + src.trim()]);
23
- return code;
24
- }
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
+ },
34
+ },
35
+ configureServer: {
36
+ handler() {
37
+ isDev = true;
38
+ },
39
+ },
40
+ configResolved: {
41
+ handler(config_) {
42
+ config = config_;
43
+ },
44
+ },
45
+ config: {
46
+ handler() {
47
+ if (debug.isActivated) {
48
+ return { logLevel: 'silent' };
49
+ }
50
+ },
51
+ },
25
52
  },
26
- configureServer() {
27
- isDev = true;
28
- },
29
- configResolved(config_) {
30
- config = config_;
31
- },
32
- config() {
33
- if (debug.isActivated) {
34
- return { logLevel: 'silent' };
35
- }
36
- },
37
- };
53
+ ];
38
54
  }
39
55
  async function getExtractExportNamesCode(src, isClientSide, isProduction, id) {
40
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[];
@@ -8,75 +8,104 @@ import { getExportNames } from '../shared/parseEsModule.js';
8
8
  import { normalizeId } from '../shared/normalizeId.js';
9
9
  import { isV1Design } from '../shared/resolveVikeConfigInternal.js';
10
10
  import { isViteServerSide, isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
11
+ const skipNodeModules = '/node_modules/'; // Only apply `.server.js` and `.client.js` to user files
12
+ const filterRolldown = {
13
+ id: {
14
+ include: ['client', 'server'].map((env) => `**/*${getSuffix(env)}*`),
15
+ exclude: [`**${skipNodeModules}**`],
16
+ },
17
+ };
18
+ const filterFunction = (id) => {
19
+ if (id.includes(skipNodeModules))
20
+ return false;
21
+ if (!id.includes(getSuffix('client')) && !id.includes(getSuffix('server')))
22
+ return false;
23
+ return true;
24
+ };
11
25
  function pluginFileEnv() {
12
26
  let config;
13
27
  let viteDevServer;
14
- return {
15
- name: 'vike:pluginFileEnv',
16
- load(id, options) {
17
- // 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.
18
- if (!viteDevServer)
19
- return;
20
- if (!isV1Design())
21
- return;
22
- if (skip(id))
23
- return;
24
- // For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
25
- if (id.endsWith('?direct'))
26
- id = id.slice(0, -1 * '?direct'.length);
27
- const moduleInfo = viteDevServer.moduleGraph.getModuleById(id);
28
- assert(moduleInfo);
29
- const importers = Array.from(moduleInfo.importers)
30
- .map((m) => m.id)
31
- .filter((id) => id !== null);
32
- assertFileEnv(id, isViteServerSide_extraSafe(config, this.environment, options), importers,
33
- // 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).
34
- true);
35
- },
36
- // 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.
37
- async transform(code, id, options) {
38
- id = normalizeId(id);
39
- // In dev, only using load() is enough as it also works for dynamic imports (see sibling comment).
40
- if (viteDevServer)
41
- return;
42
- if (skip(id))
43
- return;
44
- const isServerSide = isViteServerSide_extraSafe(config, this.environment, options);
45
- if (!isWrongEnv(id, isServerSide))
46
- return;
47
- const { importers } = this.getModuleInfo(id);
48
- // Throwing a verbose error doesn't waste client-side KBs as dynamic imports are code split.
49
- const errMsg = getErrorMessage(id, isServerSide, importers, false, true);
50
- // We have to inject empty exports to avoid Rollup complaining about missing exports, see https://gist.github.com/brillout/5ea45776e65bd65100a52ecd7bfda3ff
51
- const { exportNames } = await getExportNames(code);
52
- return rollupSourceMapRemove([
53
- `throw new Error(${JSON.stringify(errMsg)});`,
54
- ...exportNames.map((name) => name === 'default' ? 'export default undefined;' : `export const ${name} = undefined;`),
55
- ].join('\n'));
56
- },
57
- generateBundle() {
58
- Array.from(this.getModuleIds())
59
- .filter((id) => !skip(id))
60
- .forEach((moduleId) => {
61
- const mod = this.getModuleInfo(moduleId);
62
- const { importers } = mod;
63
- if (importers.length === 0) {
64
- // Dynamic imports can only be verified at runtime
65
- /* This assertion can fail: https://github.com/vikejs/vike/issues/2227
66
- assert(dynamicImporters.length > 0)
67
- */
68
- return;
69
- }
70
- assertFileEnv(moduleId, isViteServerSide(config, this.environment), importers, false);
71
- });
72
- },
73
- configResolved(config_) {
74
- config = config_;
75
- },
76
- configureServer(viteDevServer_) {
77
- viteDevServer = viteDevServer_;
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
+ },
53
+ },
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))
66
+ return;
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
+ },
77
+ },
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
+ },
96
+ },
97
+ configResolved: {
98
+ handler(config_) {
99
+ config = config_;
100
+ },
101
+ },
102
+ configureServer: {
103
+ handler(viteDevServer_) {
104
+ viteDevServer = viteDevServer_;
105
+ },
106
+ },
78
107
  },
79
- };
108
+ ];
80
109
  function assertFileEnv(moduleId, isServerSide, importers, onlyWarn) {
81
110
  if (!isWrongEnv(moduleId, isServerSide))
82
111
  return;
@@ -114,31 +143,27 @@ function pluginFileEnv() {
114
143
  }
115
144
  return errMsg;
116
145
  }
117
- function isWrongEnv(moduleId, isServerSide) {
118
- const modulePath = getModulePath(moduleId);
119
- const suffixWrong = getSuffix(isServerSide ? 'client' : 'server');
120
- return modulePath.includes(suffixWrong);
121
- }
122
- function skip(id) {
123
- // TO-DO/next-major-release: remove
124
- if (extractAssetsRE.test(id) || extractExportNamesRE.test(id))
125
- return true;
126
- if (!id.includes(getSuffix('client')) && !id.includes(getSuffix('server')))
127
- return true;
128
- if (getModulePath(id).endsWith('.css'))
129
- return true;
130
- // Apply `.server.js` and `.client.js` only to user files
131
- if (id.includes('/node_modules/'))
132
- return true;
133
- // Only user files
134
- if (!id.startsWith(config.root))
135
- return true;
136
- return false;
137
- }
138
- function getSuffix(env) {
139
- return `.${env}.`;
140
- }
141
- function getModulePath(moduleId) {
142
- return moduleId.split('?')[0];
143
- }
146
+ }
147
+ function isWrongEnv(moduleId, isServerSide) {
148
+ const modulePath = getModulePath(moduleId);
149
+ const suffixWrong = getSuffix(isServerSide ? 'client' : 'server');
150
+ return modulePath.includes(suffixWrong);
151
+ }
152
+ function skip(id, userRootDir) {
153
+ assert(filterFunction(id));
154
+ // TO-DO/next-major-release: remove
155
+ if (extractAssetsRE.test(id) || extractExportNamesRE.test(id))
156
+ return true;
157
+ if (getModulePath(id).endsWith('.css'))
158
+ return true;
159
+ // Skip linked dependencies
160
+ if (!id.startsWith(userRootDir))
161
+ return true;
162
+ return false;
163
+ }
164
+ function getSuffix(env) {
165
+ return `.${env}.`;
166
+ }
167
+ function getModulePath(moduleId) {
168
+ return moduleId.split('?')[0];
144
169
  }
@@ -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[];