vike 0.4.236 → 0.4.237-commit-8749e81

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 (261) hide show
  1. package/dist/cjs/client/runtime-client-routing/globalContext.js +2 -2
  2. package/dist/cjs/client/runtime-server-routing/globalContext.js +2 -2
  3. package/dist/cjs/client/shared/createGetGlobalContextClient.js +21 -13
  4. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +10 -1
  5. package/dist/cjs/client/shared/utils.js +1 -0
  6. package/dist/cjs/node/api/preview.js +1 -1
  7. package/dist/cjs/node/prerender/runPrerender.js +4 -4
  8. package/dist/cjs/node/runtime/globalContext.js +127 -41
  9. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  10. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +3 -1
  11. package/dist/cjs/node/runtime/html/serializeContext.js +25 -64
  12. package/dist/cjs/node/runtime/html/stream.js +1 -1
  13. package/dist/cjs/node/runtime/renderPage/analyzePage.js +3 -3
  14. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  15. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  16. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +21 -2
  17. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  18. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +8 -34
  19. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
  20. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +23 -9
  21. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
  22. package/dist/cjs/node/runtime/renderPage.js +9 -8
  23. package/dist/cjs/node/runtime/utils.js +4 -0
  24. package/dist/cjs/node/shared/utils.js +1 -0
  25. package/dist/cjs/node/shared/virtualFileId.js +110 -0
  26. package/dist/cjs/node/vite/index.js +5 -3
  27. package/dist/cjs/node/vite/onLoad.js +5 -3
  28. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +31 -23
  29. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +3 -3
  30. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +29 -13
  31. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +20 -14
  32. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
  33. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
  34. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
  35. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +6 -12
  36. package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
  37. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +119 -73
  38. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +8 -15
  39. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +8 -9
  40. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +7 -3
  41. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +47 -0
  42. package/dist/cjs/node/vite/plugins/pluginPreview.js +11 -4
  43. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +6 -13
  44. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +11 -9
  45. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
  46. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
  47. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
  48. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +18 -17
  49. package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
  50. package/dist/cjs/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
  51. package/dist/cjs/node/vite/shared/getMagicString.js +18 -0
  52. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +10 -0
  53. package/dist/cjs/node/vite/shared/getOutDirs.js +18 -12
  54. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +1 -1
  55. package/dist/cjs/node/vite/shared/isViteServerBuild.js +56 -31
  56. package/dist/cjs/node/vite/shared/loggerVite.js +1 -1
  57. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  58. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  59. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +8 -19
  60. package/dist/cjs/node/vite/utils.js +1 -0
  61. package/dist/cjs/shared/createGlobalContextShared.js +36 -15
  62. package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -20
  63. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  64. package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
  65. package/dist/cjs/shared/page-configs/loadPageEntry.js +25 -0
  66. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +4 -4
  67. package/dist/cjs/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  68. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +16 -16
  69. package/dist/cjs/shared/utils.js +2 -0
  70. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  71. package/dist/cjs/utils/assertSetup.js +7 -5
  72. package/dist/cjs/utils/cast.js +1 -1
  73. package/dist/cjs/utils/debug.js +1 -0
  74. package/dist/cjs/utils/getViteRPC.js +79 -0
  75. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
  76. package/dist/cjs/utils/isRunnableDevEnvironment.js +9 -0
  77. package/dist/cjs/utils/virtualFileId.js +39 -0
  78. package/dist/esm/client/node.js +1 -1
  79. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +3 -3
  80. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
  81. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +14 -14
  82. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
  83. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +3 -3
  84. package/dist/esm/client/runtime-client-routing/globalContext.js +2 -2
  85. package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
  86. package/dist/esm/client/runtime-client-routing/history.js +39 -22
  87. package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
  88. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
  89. package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
  90. package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
  91. package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  92. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +5 -5
  93. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
  94. package/dist/esm/client/runtime-client-routing/utils.d.ts +2 -0
  95. package/dist/esm/client/runtime-client-routing/utils.js +2 -0
  96. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +4 -4
  97. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +3 -3
  98. package/dist/esm/client/runtime-server-routing/globalContext.js +2 -2
  99. package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  100. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +4 -4
  101. package/dist/esm/client/shared/createGetGlobalContextClient.js +21 -13
  102. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
  103. package/dist/esm/client/shared/getJsonSerializedInHtml.js +10 -1
  104. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  105. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
  106. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
  107. package/dist/esm/client/shared/utils.d.ts +1 -0
  108. package/dist/esm/client/shared/utils.js +1 -0
  109. package/dist/esm/node/api/preview.js +1 -1
  110. package/dist/esm/node/prerender/runPrerender.d.ts +49 -141
  111. package/dist/esm/node/prerender/runPrerender.js +4 -4
  112. package/dist/esm/node/runtime/globalContext.d.ts +43 -63
  113. package/dist/esm/node/runtime/globalContext.js +128 -42
  114. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  115. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +4 -2
  116. package/dist/esm/node/runtime/html/serializeContext.d.ts +11 -6
  117. package/dist/esm/node/runtime/html/serializeContext.js +25 -64
  118. package/dist/esm/node/runtime/html/stream.js +1 -1
  119. package/dist/esm/node/runtime/renderPage/analyzePage.js +3 -3
  120. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +13 -36
  121. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  122. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
  123. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  124. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.d.ts +10 -0
  125. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +22 -3
  126. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.d.ts +10 -0
  127. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  128. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +0 -6
  129. package/dist/esm/node/runtime/renderPage/getPageAssets.js +8 -34
  130. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  131. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +1 -1
  132. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +51 -15
  133. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +3 -3
  134. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +26 -12
  135. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  136. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -3
  137. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +30 -77
  138. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
  139. package/dist/esm/node/runtime/renderPage.d.ts +13 -35
  140. package/dist/esm/node/runtime/renderPage.js +9 -8
  141. package/dist/esm/node/runtime/utils.d.ts +4 -0
  142. package/dist/esm/node/runtime/utils.js +4 -0
  143. package/dist/esm/node/shared/utils.d.ts +1 -0
  144. package/dist/esm/node/shared/utils.js +1 -0
  145. package/dist/esm/node/shared/virtualFileId.d.ts +28 -0
  146. package/dist/esm/node/shared/virtualFileId.js +107 -0
  147. package/dist/esm/node/vite/index.js +5 -3
  148. package/dist/esm/node/vite/onLoad.js +5 -3
  149. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -3
  150. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +32 -24
  151. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +3 -3
  152. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +29 -13
  153. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
  154. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +21 -14
  155. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
  156. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
  157. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
  158. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +7 -10
  159. package/dist/esm/node/vite/plugins/pluginCommon.d.ts +3 -0
  160. package/dist/esm/node/vite/plugins/pluginCommon.js +1 -0
  161. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +121 -75
  162. package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
  163. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +7 -8
  164. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
  165. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
  166. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +45 -0
  167. package/dist/esm/node/vite/plugins/pluginPreview.js +13 -6
  168. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +6 -10
  169. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -0
  170. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +11 -9
  171. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +6 -0
  172. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
  173. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +3 -0
  174. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
  175. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +14 -0
  176. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +65 -0
  177. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +17 -16
  178. package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
  179. package/dist/esm/node/vite/shared/getClientEntrySrcDev.d.ts +4 -0
  180. package/dist/esm/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
  181. package/dist/esm/node/vite/shared/getMagicString.d.ts +9 -0
  182. package/dist/esm/node/vite/shared/getMagicString.js +13 -0
  183. package/dist/esm/node/vite/shared/getManifestFilePathRelative.d.ts +2 -0
  184. package/dist/esm/node/vite/shared/getManifestFilePathRelative.js +8 -0
  185. package/dist/esm/node/vite/shared/getOutDirs.d.ts +6 -3
  186. package/dist/esm/node/vite/shared/getOutDirs.js +19 -13
  187. package/dist/esm/node/vite/shared/getViteConfigRuntime.js +1 -1
  188. package/dist/esm/node/vite/shared/isViteServerBuild.d.ts +14 -11
  189. package/dist/esm/node/vite/shared/isViteServerBuild.js +58 -31
  190. package/dist/esm/node/vite/shared/loggerVite.js +1 -1
  191. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +2 -2
  192. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  193. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  194. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +3 -5
  195. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +10 -21
  196. package/dist/esm/node/vite/utils.d.ts +1 -0
  197. package/dist/esm/node/vite/utils.js +1 -0
  198. package/dist/esm/shared/createGlobalContextShared.d.ts +8 -8
  199. package/dist/esm/shared/createGlobalContextShared.js +38 -17
  200. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
  201. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -20
  202. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  203. package/dist/esm/shared/hooks/execHook.d.ts +2 -2
  204. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  205. package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
  206. package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
  207. package/dist/esm/shared/page-configs/loadPageEntry.d.ts +3 -0
  208. package/dist/esm/shared/page-configs/loadPageEntry.js +23 -0
  209. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +9 -9
  210. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +4 -4
  211. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +1 -1
  212. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.d.ts → parsePageConfigsSerialized.d.ts} +2 -2
  213. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  214. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
  215. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +17 -17
  216. package/dist/esm/shared/utils.d.ts +2 -0
  217. package/dist/esm/shared/utils.js +2 -0
  218. package/dist/esm/types/Config.d.ts +33 -98
  219. package/dist/esm/types/PageConfig.d.ts +9 -7
  220. package/dist/esm/types/VikeNamespace.d.ts +13 -0
  221. package/dist/esm/types/index.d.ts +3 -1
  222. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  223. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  224. package/dist/esm/utils/assertSetup.js +7 -5
  225. package/dist/esm/utils/cast.d.ts +2 -2
  226. package/dist/esm/utils/cast.js +1 -1
  227. package/dist/esm/utils/debug.d.ts +1 -1
  228. package/dist/esm/utils/debug.js +1 -0
  229. package/dist/esm/utils/getViteRPC.d.ts +6 -0
  230. package/dist/esm/utils/getViteRPC.js +77 -0
  231. package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
  232. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
  233. package/dist/esm/utils/isRunnableDevEnvironment.d.ts +3 -0
  234. package/dist/esm/utils/isRunnableDevEnvironment.js +7 -0
  235. package/dist/esm/utils/objectFilter.d.ts +1 -1
  236. package/dist/esm/utils/virtualFileId.d.ts +6 -0
  237. package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
  238. package/package.json +16 -7
  239. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -29
  240. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -39
  241. package/dist/cjs/node/shared/virtualFiles.js +0 -41
  242. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
  243. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -10
  244. package/dist/cjs/shared/page-configs/loadConfigValues.js +0 -21
  245. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +0 -4
  246. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +0 -4
  247. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.d.ts +0 -11
  248. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +0 -26
  249. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
  250. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -37
  251. package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
  252. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.d.ts +0 -5
  253. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.d.ts +0 -3
  254. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.d.ts +0 -2
  255. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
  256. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -21
  257. package/dist/esm/node/vite/shared/applyRegExWithMagicString.d.ts +0 -3
  258. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -8
  259. package/dist/esm/node/vite/shared/resolveClientEntriesDev.d.ts +0 -4
  260. package/dist/esm/shared/page-configs/loadConfigValues.d.ts +0 -3
  261. package/dist/esm/shared/page-configs/loadConfigValues.js +0 -19
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.pluginModuleBanner = pluginModuleBanner;
7
- const magic_string_1 = __importDefault(require("magic-string"));
8
- const virtualFiles_js_1 = require("../../../shared/virtualFiles.js");
4
+ const utils_js_1 = require("../../utils.js");
5
+ const getMagicString_js_1 = require("../../shared/getMagicString.js");
9
6
  const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
10
7
  // Rollup's banner feature doesn't work with Vite: https://github.com/vitejs/vite/issues/8412
11
8
  // 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).
@@ -21,26 +18,23 @@ function pluginModuleBanner() {
21
18
  transform: {
22
19
  order: 'post',
23
20
  handler(code, id, options) {
24
- if (!(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options) &&
21
+ if (!(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment) &&
25
22
  // Inject module banners if user sets `build.minify` to `false` for inspecting dist/client/
26
23
  config.build.minify) {
27
24
  return;
28
25
  }
29
26
  if (id.startsWith('\0'))
30
27
  id = id;
31
- id = (0, virtualFiles_js_1.removeVirtualIdTag)(id);
28
+ id = (0, utils_js_1.removeVirtualFileIdPrefix)(id);
32
29
  if (id.startsWith(config.root))
33
30
  id = id.slice(config.root.length + 1);
34
31
  id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
35
- const magicString = new magic_string_1.default(code);
32
+ const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
36
33
  // Use legal comment so that esbuild doesn't remove it.
37
34
  // - 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.
38
35
  // - https://esbuild.github.io/api/#legal-comments
39
36
  magicString.prepend(`/*! ${id} [vike:pluginModuleBanner] */\n`);
40
- return {
41
- code: magicString.toString(),
42
- map: magicString.generateMap({ hires: true, source: id }),
43
- };
37
+ return getMagicStringResult();
44
38
  },
45
39
  },
46
40
  };
@@ -16,6 +16,7 @@ const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInter
16
16
  const prepareViteApiCall_js_1 = require("../../api/prepareViteApiCall.js");
17
17
  const context_js_2 = require("../../prerender/context.js");
18
18
  const pluginName = 'vike:pluginCommon';
19
+ globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE = true;
19
20
  function pluginCommon(vikeVitePluginOptions) {
20
21
  return [
21
22
  {
@@ -5,72 +5,111 @@ const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
5
5
  const utils_js_1 = require("../../utils.js");
6
6
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
7
7
  const pluginBuildConfig_js_1 = require("../pluginBuild/pluginBuildConfig.js");
8
- const virtualFileEntry_js_1 = require("../../../shared/virtualFiles/virtualFileEntry.js");
8
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
9
9
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
10
+ const getConfigValueSourcesRelevant_js_1 = require("../pluginVirtualFiles/getConfigValueSourcesRelevant.js");
10
11
  const debug = (0, utils_js_1.createDebugger)('vike:optimizeDeps');
11
12
  async function determineOptimizeDeps(config) {
12
13
  const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
13
14
  const { _pageConfigs: pageConfigs } = vikeConfig;
14
- const { entries, include } = await getPageDeps(config, pageConfigs);
15
- {
16
- // This actually doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
17
- // - Should we make it work? E.g. by creating a temporary file at node_modules/.vike/virtualFiles.js
18
- // - Or should we remove it? And make sure getPageDeps() also works for aliased import paths
19
- // - If we do, then we need to adjust include/entries (maybe by making include === entries -> will Vite complain?)
20
- const entriesVirtualFiles = getVirtualFiles(config, pageConfigs);
21
- entries.push(...entriesVirtualFiles);
15
+ const { entriesClient, entriesServer, includeClient, includeServer } = await getPageDeps(config, pageConfigs);
16
+ config.optimizeDeps.include = add(config.optimizeDeps.include, includeClient);
17
+ config.optimizeDeps.entries = add(config.optimizeDeps.entries, entriesClient);
18
+ // Workaround until https://github.com/vitejs/vite-plugin-react/issues/650
19
+ // - TODO/soon: remove workaround once https://github.com/vitejs/vite/pull/20495 is released
20
+ includeServer.push('react/jsx-dev-runtime');
21
+ for (const envName in config.environments) {
22
+ const env = config.environments[envName];
23
+ if (env.consumer === 'server' && env.optimizeDeps.noDiscovery === false) {
24
+ env.optimizeDeps.include = add(env.optimizeDeps.include, includeServer);
25
+ env.optimizeDeps.entries = add(env.optimizeDeps.entries, entriesServer);
26
+ }
22
27
  }
23
- /* Other Vite plugins may populate optimizeDeps, e.g. Cypress: https://github.com/vikejs/vike/issues/386
24
- assert(config.optimizeDeps.entries === undefined)
25
- */
26
- config.optimizeDeps.include = [...include, ...normalizeInclude(config.optimizeDeps.include)];
27
- config.optimizeDeps.entries = [...entries, ...normalizeEntries(config.optimizeDeps.entries)];
28
28
  if (debug.isActivated)
29
- debug('config.optimizeDeps', {
29
+ debug('optimizeDeps', {
30
30
  'config.optimizeDeps.entries': config.optimizeDeps.entries,
31
31
  'config.optimizeDeps.include': config.optimizeDeps.include,
32
+ 'config.optimizeDeps.exclude': config.optimizeDeps.exclude,
33
+ // @ts-ignore Vite doesn't seem to support ssr.optimizeDeps.entries (vite@7.0.6, July 2025)
34
+ 'config.ssr.optimizeDeps.entries': config.ssr.optimizeDeps.entries,
35
+ 'config.ssr.optimizeDeps.include': config.ssr.optimizeDeps.include,
36
+ 'config.ssr.optimizeDeps.exclude': config.ssr.optimizeDeps.exclude,
32
37
  });
33
38
  }
34
39
  async function getPageDeps(config, pageConfigs) {
35
- let entries = [];
36
- let include = [];
37
- const addEntry = (e) => {
40
+ let entriesClient = [];
41
+ let entriesServer = [];
42
+ let includeClient = [];
43
+ let includeServer = [];
44
+ const addEntry = (e, isForClientSide, definedAt) => {
38
45
  (0, utils_js_1.assert)(e);
39
- entries.push(e);
46
+ // optimizeDeps.entries expects filesystem absolute paths
47
+ (0, utils_js_1.assert)((0, utils_js_1.isVirtualFileId)(e) || (0, utils_js_1.isFilePathAbsoluteFilesystem)(e));
48
+ if (isExcluded(e, isForClientSide, definedAt))
49
+ return;
50
+ if (isForClientSide) {
51
+ entriesClient.push(e);
52
+ }
53
+ else {
54
+ entriesServer.push(e);
55
+ }
40
56
  };
41
- const addInclude = (e) => {
57
+ const addInclude = (e, isForClientSide, definedAt) => {
42
58
  (0, utils_js_1.assert)(e);
43
- // Shouldn't be a path alias, as path aliases would need to be added to config.optimizeDeps.entries instead of config.optimizeDeps.include
59
+ // optimizeDeps.include expects npm packages
60
+ (0, utils_js_1.assert)(!e.startsWith('/'));
61
+ // Shouldn't be a path alias, as path aliases would need to be added to optimizeDeps.entries instead of optimizeDeps.include
44
62
  (0, utils_js_1.assertIsImportPathNpmPackage)(e);
45
- include.push(e);
63
+ if (isExcluded(e, isForClientSide, definedAt))
64
+ return;
65
+ if (isForClientSide) {
66
+ includeClient.push(e);
67
+ }
68
+ else {
69
+ includeServer.push(e);
70
+ }
71
+ };
72
+ const isExcluded = (e, isForClientSide, definedAt) => {
73
+ const exclude = isForClientSide ? config.optimizeDeps.exclude : config.ssr.optimizeDeps.exclude;
74
+ if (!exclude)
75
+ return false;
76
+ if (definedAt?.importPathAbsolute) {
77
+ const npmPackageName = (0, utils_js_1.getNpmPackageName)(definedAt.importPathAbsolute);
78
+ if (npmPackageName && exclude.includes(npmPackageName))
79
+ return true;
80
+ }
81
+ return exclude.includes(e);
46
82
  };
47
83
  // V1 design
48
84
  {
49
- pageConfigs.forEach((pageConfig) => {
50
- Object.entries(pageConfig.configValueSources).forEach(([configName, sources]) => {
51
- sources
52
- .filter((source) => !(0, resolveVikeConfigInternal_js_1.isOverridden)(source, configName, pageConfig))
53
- .forEach((configValueSource) => {
54
- if (!configValueSource.valueIsLoadedWithImport && !configValueSource.valueIsFilePath)
55
- return;
56
- const { definedAt, configEnv } = configValueSource;
57
- if (!configEnv.client)
58
- return;
59
- if (definedAt.definedBy)
60
- return;
61
- if (definedAt.importPathAbsolute) {
62
- const npmPackageName = (0, utils_js_1.getNpmPackageName)(definedAt.importPathAbsolute);
63
- if (npmPackageName && config.optimizeDeps.exclude?.includes(npmPackageName))
85
+ ;
86
+ [true, false].forEach((isForClientSide) => {
87
+ pageConfigs.forEach((pageConfig) => {
88
+ Object.entries(pageConfig.configValueSources).forEach(([configName]) => {
89
+ const runtimeEnv = {
90
+ isForClientSide,
91
+ isDev: true,
92
+ // TO-DO/eventually/remove-server-router: let's eventually remove support for Server Routing
93
+ isClientRouting: true,
94
+ };
95
+ const sourcesRelevant = (0, getConfigValueSourcesRelevant_js_1.getConfigValueSourcesRelevant)(configName, runtimeEnv, pageConfig);
96
+ sourcesRelevant.forEach((configValueSource) => {
97
+ if (!configValueSource.valueIsLoadedWithImport && !configValueSource.valueIsFilePath)
64
98
  return;
65
- }
66
- if (definedAt.filePathAbsoluteUserRootDir !== null) {
67
- // Vite expects entries to be filesystem absolute paths (surprisingly so).
68
- addEntry(definedAt.filePathAbsoluteFilesystem);
69
- }
70
- else {
71
- // Adding definedAtFilePath.filePathAbsoluteFilesystem doesn't work for npm packages, I guess because of Vite's config.server.fs.allow
72
- addInclude(definedAt.importPathAbsolute);
73
- }
99
+ const { definedAt } = configValueSource;
100
+ if (definedAt.definedBy)
101
+ return;
102
+ if (definedAt.filePathAbsoluteUserRootDir !== null) {
103
+ addEntry(
104
+ // optimizeDeps.entries expects filesystem absolute paths
105
+ definedAt.filePathAbsoluteFilesystem, isForClientSide, definedAt);
106
+ }
107
+ else {
108
+ addInclude(
109
+ // optimizeDeps.include expects npm packages
110
+ definedAt.importPathAbsolute, isForClientSide, definedAt);
111
+ }
112
+ });
74
113
  });
75
114
  });
76
115
  });
@@ -82,35 +121,42 @@ async function getPageDeps(config, pageConfigs) {
82
121
  pageFiles.forEach((filePathAbsoluteUserRootDir) => {
83
122
  const entry = (0, getFilePath_js_1.getFilePathResolved)({ filePathAbsoluteUserRootDir, userRootDir });
84
123
  const { filePathAbsoluteFilesystem } = entry;
85
- addEntry(filePathAbsoluteFilesystem);
124
+ addEntry(filePathAbsoluteFilesystem, true);
86
125
  });
87
126
  }
88
- entries = (0, utils_js_1.unique)(entries);
89
- include = (0, utils_js_1.unique)(include);
90
- return { entries, include };
91
- }
92
- function getVirtualFiles(config, pageConfigs) {
93
- const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
94
- const entriesVirtualFiles = Object.values(clientEntries);
95
- if (hasClientRouting)
96
- entriesVirtualFiles.push(virtualFileEntry_js_1.virtualFileIdEntryClientCR);
97
- if (hasServerRouting)
98
- entriesVirtualFiles.push(virtualFileEntry_js_1.virtualFileIdEntryClientSR);
99
- return entriesVirtualFiles;
127
+ // Add virtual files.
128
+ // - This doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
129
+ // - Should we make it work? E.g. by creating a temporary file at node_modules/.vike/virtualFiles.js
130
+ // - Or should we remove it? And make sure getPageDeps() also works for aliased import paths
131
+ // - If we do, then we need to adjust include/entries (maybe by making include === entries -> will Vite complain?)
132
+ {
133
+ const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
134
+ Object.values(clientEntries).forEach((e) => addEntry(e, true));
135
+ if (hasClientRouting)
136
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientCR, true);
137
+ if (hasServerRouting)
138
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientSR, true);
139
+ }
140
+ entriesClient = entriesClient;
141
+ entriesServer = entriesServer;
142
+ includeClient = includeClient;
143
+ includeServer = includeServer;
144
+ return {
145
+ entriesClient,
146
+ entriesServer,
147
+ includeClient,
148
+ includeServer,
149
+ };
100
150
  }
101
- function normalizeEntries(entries) {
102
- if ((0, utils_js_1.isArray)(entries))
103
- return entries;
104
- if (typeof entries === 'string')
105
- return [entries];
106
- if (entries === undefined)
107
- return [];
108
- (0, utils_js_1.assert)(false);
151
+ function add(input, listAddendum) {
152
+ const list = !input ? [] : (0, utils_js_1.isArray)(input) ? unique(input) : [input];
153
+ listAddendum.forEach((e) => {
154
+ if (!list.includes(e))
155
+ list.push(e);
156
+ });
157
+ return list;
109
158
  }
110
- function normalizeInclude(include) {
111
- if ((0, utils_js_1.isArray)(include))
112
- return include;
113
- if (include === undefined)
114
- return [];
115
- (0, utils_js_1.assert)(false);
159
+ function unique(arr) {
160
+ const arrUnique = Array.from(new Set(arr));
161
+ return arr.length !== arrUnique.length ? arrUnique : arr;
116
162
  }
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.pluginEnvVars = pluginEnvVars;
7
- const magic_string_1 = __importDefault(require("magic-string"));
8
4
  const vite_1 = require("vite");
9
5
  const utils_js_1 = require("../utils.js");
10
6
  const getFilePath_js_1 = require("../shared/getFilePath.js");
11
7
  const normalizeId_js_1 = require("../shared/normalizeId.js");
12
8
  const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
13
- const applyRegExWithMagicString_js_1 = require("../shared/applyRegExWithMagicString.js");
9
+ const getMagicString_js_1 = require("../shared/getMagicString.js");
14
10
  // TO-DO/eventually:
15
- // - Make import.meta.env work inside +config.js
11
+ // - Make ({}) work inside +config.js
16
12
  // - 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
17
13
  // - Or stop using Vite's `mode` implementation and have Vike implement its own `mode` feature? (So that the only dependencies are `$ vike build --mode staging` and `$ MODE=staging vike build`.)
18
14
  const PUBLIC_ENV_PREFIX = 'PUBLIC_ENV__';
@@ -39,11 +35,11 @@ function pluginEnvVars() {
39
35
  (0, utils_js_1.assertPosixPath)(config.root);
40
36
  if (!id.startsWith(config.root))
41
37
  return;
42
- if (!code.includes('import.meta.env.'))
38
+ if (!code.includes('({}).'))
43
39
  return;
44
40
  const isBuild = config.command === 'build';
45
- const isClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options);
46
- const magicString = new magic_string_1.default(code);
41
+ const isClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment);
42
+ const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
47
43
  // Find & check
48
44
  const replacements = Object.entries(envsAll)
49
45
  .filter(([key]) => {
@@ -52,7 +48,7 @@ function pluginEnvVars() {
52
48
  return !envPrefix.some((prefix) => key.startsWith(prefix));
53
49
  })
54
50
  .map(([envName, envVal]) => {
55
- const envStatement = `import.meta.env.${envName}`;
51
+ const envStatement = `({}).${envName}`;
56
52
  const envStatementRegExpStr = (0, utils_js_1.escapeRegex)(envStatement) + '\\b';
57
53
  // Security check
58
54
  {
@@ -81,14 +77,11 @@ function pluginEnvVars() {
81
77
  .filter(utils_js_1.isNotNullish);
82
78
  // Apply
83
79
  replacements.forEach(({ regExpStr, replacement }) => {
84
- (0, applyRegExWithMagicString_js_1.applyRegExpWithMagicString)(magicString, regExpStr, replacement);
80
+ magicString.replaceAll(new RegExp(regExpStr, 'g'), JSON.stringify(replacement));
85
81
  });
86
82
  if (!magicString.hasChanged())
87
83
  return null;
88
- return {
89
- code: magicString.toString(),
90
- map: magicString.generateMap({ hires: true, source: id }),
91
- };
84
+ return getMagicStringResult();
92
85
  },
93
86
  };
94
87
  }
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.extractAssetsRE = void 0;
9
9
  exports.pluginExtractAssets = pluginExtractAssets;
10
10
  const utils_js_1 = require("../utils.js");
11
- const virtualFiles_js_1 = require("../../shared/virtualFiles.js");
12
11
  const extractAssetsQuery_js_1 = require("../../shared/extractAssetsQuery.js");
13
12
  const isAsset_js_1 = require("../shared/isAsset.js");
14
13
  const parseEsModule_js_1 = require("../shared/parseEsModule.js");
@@ -18,7 +17,7 @@ const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInter
18
17
  const assertV1Design_js_1 = require("../../shared/assertV1Design.js");
19
18
  const normalizeId_js_1 = require("../shared/normalizeId.js");
20
19
  const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
21
- const getPageAssets_js_1 = require("../../runtime/renderPage/getPageAssets.js");
20
+ const retrievePageAssetsProd_js_1 = require("../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
22
21
  const extractAssetsRE = /(\?|&)extractAssets(?:&|$)/;
23
22
  exports.extractAssetsRE = extractAssetsRE;
24
23
  const rawRE = /(\?|&)raw(?:&|$)/;
@@ -46,9 +45,9 @@ function pluginExtractAssets() {
46
45
  (0, assertV1Design_js_1.assertV1Design)(vikeConfig._pageConfigs, true);
47
46
  (0, utils_js_1.assert)(false);
48
47
  }
49
- const includeAssetsImportedByServer = (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
48
+ const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
50
49
  (0, utils_js_1.assert)(includeAssetsImportedByServer);
51
- (0, utils_js_1.assert)(!(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options));
50
+ (0, utils_js_1.assert)(!(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment));
52
51
  const importStatements = await (0, parseEsModule_js_1.getImportStatements)(src);
53
52
  const moduleNames = getImportedModules(importStatements);
54
53
  const code = moduleNames.map((moduleName) => `import '${moduleName}';`).join('\n');
@@ -65,7 +64,7 @@ function pluginExtractAssets() {
65
64
  // - Vite's `vite:resolve` plugin; https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/resolve.ts#L105
66
65
  enforce: 'pre',
67
66
  async resolveId(source, importer, options) {
68
- if ((0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options)) {
67
+ if ((0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment)) {
69
68
  // When building for the server, there should never be a `?extractAssets` query
70
69
  (0, utils_js_1.assert)(!extractAssetsRE.test(source));
71
70
  (0, utils_js_1.assert)(importer === undefined || !extractAssetsRE.test(importer));
@@ -80,7 +79,7 @@ function pluginExtractAssets() {
80
79
  if (!extractAssetsRE.test(importer)) {
81
80
  return;
82
81
  }
83
- const includeAssetsImportedByServer = (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
82
+ const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
84
83
  (0, utils_js_1.assert)(includeAssetsImportedByServer);
85
84
  let resolution = null;
86
85
  try {
@@ -124,9 +123,9 @@ function pluginExtractAssets() {
124
123
  name: 'vike:pluginExtractAssets-3',
125
124
  apply: 'build',
126
125
  load(id) {
127
- if (!(0, virtualFiles_js_1.isVirtualFileId)(id))
126
+ if (!(0, utils_js_1.isVirtualFileId)(id))
128
127
  return undefined;
129
- id = (0, virtualFiles_js_1.getVirtualFileId)(id);
128
+ id = (0, utils_js_1.removeVirtualFileIdPrefix)(id);
130
129
  if (id === EMPTY_MODULE_ID) {
131
130
  return '// Erased by vike:pluginExtractAssets';
132
131
  }
@@ -153,7 +152,7 @@ function pluginExtractAssets() {
153
152
  }
154
153
  function emptyModule(file, importer) {
155
154
  debugOperation('NUKED', file, importer);
156
- return (0, virtualFiles_js_1.resolveVirtualFileId)(EMPTY_MODULE_ID);
155
+ return (0, utils_js_1.addVirtualFileIdPrefix)(EMPTY_MODULE_ID);
157
156
  }
158
157
  function appendExtractAssetsQuery(file, importer) {
159
158
  debugOperation('TRANSFORMED', file, importer);
@@ -13,12 +13,13 @@ const debug = (0, utils_js_1.createDebugger)('vike:pluginExtractExportNames');
13
13
  const globalObject = (0, utils_js_1.getGlobalObject)('plugins/pluginExtractExportNames.ts', {});
14
14
  function pluginExtractExportNames() {
15
15
  let isDev = false;
16
+ let config;
16
17
  return {
17
18
  name: 'vike:pluginExtractExportNames',
18
19
  enforce: 'post',
19
20
  async transform(src, id, options) {
20
21
  id = (0, normalizeId_js_1.normalizeId)(id);
21
- const isClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_options)(options);
22
+ const isClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment);
22
23
  if (extractExportNamesRE.test(id)) {
23
24
  const code = await getExtractExportNamesCode(src, isClientSide, !isDev, id);
24
25
  debug('id ' + id, ['result:\n' + code.code.trim(), 'src:\n' + src.trim()]);
@@ -28,6 +29,9 @@ function pluginExtractExportNames() {
28
29
  configureServer() {
29
30
  isDev = true;
30
31
  },
32
+ configResolved(config_) {
33
+ config = config_;
34
+ },
31
35
  config() {
32
36
  if (debug.isActivated) {
33
37
  return { logLevel: 'silent' };
@@ -81,12 +85,12 @@ function injectHmr(code, isClientSide, isProduction) {
81
85
  }
82
86
  if (isClientSide) {
83
87
  code += '\n';
84
- code += `if (import.meta.hot) import.meta.hot.accept((mod) => { exportNames.length=0; exportNames.push(...mod.exportNames); });`;
88
+ code += `if ((undefined)) (undefined).accept((mod) => { exportNames.length=0; exportNames.push(...mod.exportNames); });`;
85
89
  }
86
90
  else {
87
91
  // Ensure Vite considers the module as `isSelfAccepting`. (Needed because Vite's module graph erroneously conflates the Vite server-side modules with their client-side counterparts.)
88
92
  code += '\n';
89
- code += 'if(false){import.meta.hot.accept(()=>{})};';
93
+ code += 'if(false){(undefined).accept(()=>{})};';
90
94
  }
91
95
  return code;
92
96
  }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pluginNonRunnableDev = pluginNonRunnableDev;
4
+ const utils_js_1 = require("../utils.js");
5
+ const retrievePageAssetsDev_js_1 = require("../../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js");
6
+ const getViteConfigRuntime_js_1 = require("../shared/getViteConfigRuntime.js");
7
+ const getMagicString_js_1 = require("../shared/getMagicString.js");
8
+ (0, utils_js_1.assertIsNotProductionRuntime)();
9
+ function getViteRpcFunctions(viteDevServer) {
10
+ return {
11
+ async transformIndexHtmlRPC(html) {
12
+ return await viteDevServer.transformIndexHtml('/', html);
13
+ },
14
+ async retrievePageAssetsDevRPC(clientDependencies, clientEntries) {
15
+ return await (0, retrievePageAssetsDev_js_1.retrievePageAssetsDev)(viteDevServer, clientDependencies, clientEntries);
16
+ },
17
+ async getViteConfigRuntimeRPC() {
18
+ return (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(viteDevServer.config);
19
+ },
20
+ };
21
+ }
22
+ function pluginNonRunnableDev() {
23
+ const runtimeGlobalContextFilePath = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/node/runtime/globalContext.js');
24
+ let config;
25
+ return {
26
+ name: 'vike:pluginNonRunnableDev',
27
+ configureServer(viteDevServer) {
28
+ (0, utils_js_1.createViteRPC)(viteDevServer, getViteRpcFunctions);
29
+ },
30
+ configResolved(config_) {
31
+ config = config_;
32
+ },
33
+ transform(code, id) {
34
+ if (!config._isDev)
35
+ return;
36
+ if (id !== runtimeGlobalContextFilePath)
37
+ return;
38
+ const isNonRunnableDev = !(0, utils_js_1.isRunnableDevEnvironment)(this.environment);
39
+ const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
40
+ if (isNonRunnableDev) {
41
+ magicString.replaceAll('__VIKE__DYNAMIC_IMPORT', 'import');
42
+ }
43
+ magicString.replaceAll('__VIKE__IS_NON_RUNNABLE_DEV', JSON.stringify(isNonRunnableDev));
44
+ return getMagicStringResult();
45
+ },
46
+ };
47
+ }
@@ -15,15 +15,22 @@ const sirv_1 = __importDefault(require("sirv"));
15
15
  const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInternal.js");
16
16
  function pluginPreview() {
17
17
  let config;
18
+ let configUnresolved;
18
19
  let vikeConfig;
19
20
  return {
20
21
  name: 'vike:pluginPreview',
21
22
  apply: utils_js_1.applyPreview,
22
23
  config(config) {
24
+ configUnresolved = config;
23
25
  return {
24
26
  appType: 'custom',
27
+ };
28
+ },
29
+ configEnvironment(envName, configEnv) {
30
+ (0, utils_js_1.assert)(configUnresolved);
31
+ return {
25
32
  build: {
26
- outDir: (0, getOutDirs_js_1.resolveOutDir)(config),
33
+ outDir: (0, getOutDirs_js_1.resolveOutDir_configEnvironment)(configUnresolved, envName, configEnv),
27
34
  },
28
35
  };
29
36
  },
@@ -51,7 +58,7 @@ function pluginPreview() {
51
58
  },
52
59
  };
53
60
  function assertDist(isPrerenderingEnabledForAllPages) {
54
- const { outDirRoot, outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
61
+ const { outDirRoot, outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
55
62
  const dirS = [outDirRoot, outDirClient];
56
63
  if (!isPrerenderingEnabledForAllPages)
57
64
  dirS.push(outDirServer);
@@ -60,11 +67,11 @@ function pluginPreview() {
60
67
  });
61
68
  }
62
69
  function addStaticAssetsMiddleware(middlewares) {
63
- const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config);
70
+ const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
64
71
  middlewares.use((0, sirv_1.default)(outDirClient));
65
72
  }
66
73
  function addStatic404Middleware(middlewares) {
67
- const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config);
74
+ const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
68
75
  middlewares.use(config.base, (_, res, next) => {
69
76
  const file = node_path_1.default.posix.join(outDirClient, './404.html');
70
77
  if (node_fs_1.default.existsSync(file)) {
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.pluginReplaceConstants = pluginReplaceConstants;
7
- const magic_string_1 = __importDefault(require("magic-string"));
8
4
  const utils_js_1 = require("../utils.js");
9
5
  const normalizeId_js_1 = require("../shared/normalizeId.js");
10
6
  const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
11
- const applyRegExWithMagicString_js_1 = require("../shared/applyRegExWithMagicString.js");
7
+ const getMagicString_js_1 = require("../shared/getMagicString.js");
12
8
  function pluginReplaceConstants() {
13
9
  let config;
14
10
  return {
@@ -26,7 +22,7 @@ function pluginReplaceConstants() {
26
22
  (0, utils_js_1.assertPosixPath)(config.root);
27
23
  if (!id.startsWith(config.root))
28
24
  return;
29
- if (!code.includes('import.meta.env.'))
25
+ if (!code.includes('({}).'))
30
26
  return;
31
27
  const isBuild = config.command === 'build';
32
28
  (0, utils_js_1.assert)(isBuild);
@@ -35,24 +31,21 @@ function pluginReplaceConstants() {
35
31
  // @ts-expect-error
36
32
  if (config._skipVikeReplaceConstants?.(id))
37
33
  return;
38
- const magicString = new magic_string_1.default(code);
34
+ const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
39
35
  const constantsMap = [];
40
36
  constantsMap.push({
41
37
  constants: ['pageContext.isClientSide', 'globalContext.isClientSide', 'pageContext.globalContext.isClientSide'],
42
- replacement: !(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options),
38
+ replacement: !(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment),
43
39
  });
44
40
  constantsMap.forEach(({ constants, replacement }) => {
45
41
  if (!constants.some((c) => code.includes(c)))
46
42
  return;
47
43
  const regExp = getConstantRegExp(constants);
48
- (0, applyRegExWithMagicString_js_1.applyRegExpWithMagicString)(magicString, regExp, replacement);
44
+ magicString.replaceAll(regExp, JSON.stringify(replacement));
49
45
  });
50
46
  if (!magicString.hasChanged())
51
47
  return null;
52
- return {
53
- code: magicString.toString(),
54
- map: magicString.generateMap({ hires: true, source: id }),
55
- };
48
+ return getMagicStringResult();
56
49
  },
57
50
  };
58
51
  }