vike 0.4.236-commit-eab75f6 → 0.4.237-commit-85e89b1

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 (208) 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 +5 -7
  4. package/dist/cjs/node/api/preview.js +1 -1
  5. package/dist/cjs/node/prerender/runPrerender.js +4 -4
  6. package/dist/cjs/node/runtime/globalContext.js +21 -22
  7. package/dist/cjs/node/runtime/html/serializeContext.js +8 -47
  8. package/dist/cjs/node/runtime/html/stream.js +1 -1
  9. package/dist/cjs/node/runtime/renderPage/analyzePage.js +3 -3
  10. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  11. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  12. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +21 -6
  13. package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  14. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +5 -34
  15. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
  16. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +22 -9
  17. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
  18. package/dist/cjs/node/runtime/renderPage.js +7 -6
  19. package/dist/cjs/node/shared/virtualFileId.js +110 -0
  20. package/dist/cjs/node/vite/index.js +3 -3
  21. package/dist/cjs/node/vite/onLoad.js +5 -3
  22. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +10 -10
  23. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
  24. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
  25. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +20 -11
  26. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
  27. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
  28. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +4 -10
  29. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +46 -44
  30. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +5 -12
  31. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +5 -5
  32. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +5 -1
  33. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +2 -6
  34. package/dist/cjs/node/vite/plugins/pluginPreview.js +11 -4
  35. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +5 -12
  36. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +7 -9
  37. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
  38. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -12
  39. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
  40. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +14 -12
  41. package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
  42. package/dist/cjs/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
  43. package/dist/cjs/node/vite/shared/getMagicString.js +1 -1
  44. package/dist/cjs/node/vite/shared/getOutDirs.js +18 -12
  45. package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +1 -1
  46. package/dist/cjs/node/vite/shared/isViteServerBuild.js +54 -31
  47. package/dist/cjs/node/vite/shared/loggerVite.js +1 -1
  48. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  49. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +8 -19
  50. package/dist/cjs/shared/createGlobalContextShared.js +23 -10
  51. package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
  52. package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
  53. package/dist/cjs/shared/page-configs/loadPageEntry.js +25 -0
  54. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +4 -4
  55. package/dist/cjs/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  56. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +15 -16
  57. package/dist/cjs/shared/utils.js +2 -0
  58. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  59. package/dist/cjs/utils/cast.js +1 -1
  60. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +2 -2
  61. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
  62. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +12 -12
  63. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
  64. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +2 -2
  65. package/dist/esm/client/runtime-client-routing/globalContext.js +2 -2
  66. package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
  67. package/dist/esm/client/runtime-client-routing/history.js +39 -22
  68. package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
  69. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
  70. package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
  71. package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
  72. package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  73. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +4 -4
  74. package/dist/esm/client/runtime-client-routing/utils.d.ts +2 -0
  75. package/dist/esm/client/runtime-client-routing/utils.js +2 -0
  76. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +3 -3
  77. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
  78. package/dist/esm/client/runtime-server-routing/globalContext.js +2 -2
  79. package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  80. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +3 -3
  81. package/dist/esm/client/shared/createGetGlobalContextClient.js +5 -7
  82. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
  83. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  84. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
  85. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
  86. package/dist/esm/node/api/preview.js +1 -1
  87. package/dist/esm/node/prerender/runPrerender.d.ts +9 -9
  88. package/dist/esm/node/prerender/runPrerender.js +4 -4
  89. package/dist/esm/node/runtime/globalContext.d.ts +10 -10
  90. package/dist/esm/node/runtime/globalContext.js +21 -22
  91. package/dist/esm/node/runtime/html/serializeContext.d.ts +8 -3
  92. package/dist/esm/node/runtime/html/serializeContext.js +8 -47
  93. package/dist/esm/node/runtime/html/stream.js +1 -1
  94. package/dist/esm/node/runtime/renderPage/analyzePage.js +3 -3
  95. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +3 -3
  96. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  97. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
  98. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
  99. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.d.ts +10 -0
  100. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +22 -7
  101. package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.d.ts +10 -0
  102. package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
  103. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +0 -6
  104. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -33
  105. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  106. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +1 -1
  107. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +51 -15
  108. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +3 -3
  109. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +25 -12
  110. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  111. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -3
  112. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +10 -11
  113. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
  114. package/dist/esm/node/runtime/renderPage.d.ts +3 -2
  115. package/dist/esm/node/runtime/renderPage.js +7 -6
  116. package/dist/esm/node/shared/virtualFileId.d.ts +28 -0
  117. package/dist/esm/node/shared/virtualFileId.js +107 -0
  118. package/dist/esm/node/vite/index.js +3 -3
  119. package/dist/esm/node/vite/onLoad.js +5 -3
  120. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +2 -2
  121. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +11 -11
  122. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
  123. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
  124. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +21 -12
  125. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
  126. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
  127. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +5 -8
  128. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +47 -45
  129. package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
  130. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +4 -4
  131. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
  132. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +2 -6
  133. package/dist/esm/node/vite/plugins/pluginPreview.js +13 -6
  134. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +6 -10
  135. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -0
  136. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +7 -9
  137. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +6 -0
  138. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
  139. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +3 -0
  140. package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -12
  141. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +14 -0
  142. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +65 -0
  143. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +14 -12
  144. package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
  145. package/dist/esm/node/vite/shared/getClientEntrySrcDev.d.ts +4 -0
  146. package/dist/esm/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
  147. package/dist/esm/node/vite/shared/getMagicString.js +1 -1
  148. package/dist/esm/node/vite/shared/getOutDirs.d.ts +6 -3
  149. package/dist/esm/node/vite/shared/getOutDirs.js +19 -13
  150. package/dist/esm/node/vite/shared/getViteConfigRuntime.js +1 -1
  151. package/dist/esm/node/vite/shared/isViteServerBuild.d.ts +14 -11
  152. package/dist/esm/node/vite/shared/isViteServerBuild.js +55 -31
  153. package/dist/esm/node/vite/shared/loggerVite.js +1 -1
  154. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +2 -2
  155. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  156. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +3 -5
  157. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +10 -21
  158. package/dist/esm/shared/createGlobalContextShared.d.ts +6 -6
  159. package/dist/esm/shared/createGlobalContextShared.js +25 -12
  160. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
  161. package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
  162. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  163. package/dist/esm/shared/hooks/execHook.d.ts +2 -2
  164. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  165. package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
  166. package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
  167. package/dist/esm/shared/page-configs/loadPageEntry.d.ts +3 -0
  168. package/dist/esm/shared/page-configs/loadPageEntry.js +23 -0
  169. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +9 -9
  170. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +4 -4
  171. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +1 -1
  172. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.d.ts → parsePageConfigsSerialized.d.ts} +2 -2
  173. package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
  174. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
  175. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +15 -16
  176. package/dist/esm/shared/utils.d.ts +2 -0
  177. package/dist/esm/shared/utils.js +2 -0
  178. package/dist/esm/types/Config.d.ts +33 -98
  179. package/dist/esm/types/PageConfig.d.ts +9 -7
  180. package/dist/esm/types/VikeNamespace.d.ts +13 -0
  181. package/dist/esm/types/index.d.ts +3 -1
  182. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  183. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  184. package/dist/esm/utils/cast.d.ts +2 -2
  185. package/dist/esm/utils/cast.js +1 -1
  186. package/dist/esm/utils/objectFilter.d.ts +1 -1
  187. package/package.json +3 -3
  188. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -31
  189. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -45
  190. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
  191. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -11
  192. package/dist/cjs/shared/page-configs/loadConfigValues.js +0 -21
  193. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +0 -4
  194. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +0 -4
  195. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.d.ts +0 -11
  196. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +0 -28
  197. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
  198. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -43
  199. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.d.ts +0 -5
  200. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.d.ts +0 -3
  201. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.d.ts +0 -2
  202. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
  203. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -21
  204. package/dist/esm/node/vite/shared/applyRegExWithMagicString.d.ts +0 -3
  205. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -9
  206. package/dist/esm/node/vite/shared/resolveClientEntriesDev.d.ts +0 -4
  207. package/dist/esm/shared/page-configs/loadConfigValues.d.ts +0 -3
  208. package/dist/esm/shared/page-configs/loadConfigValues.js +0 -19
@@ -25,16 +25,16 @@ export { vikeConfigErrorRecoverMsg };
25
25
  // - setGlobalContext_isProduction => setGlobalContext_isProductionEnvironment
26
26
  // - sProductionEnvironment => sDevEnv
27
27
  // The core logic revolves around:
28
- // - virtualFileExports is the main requirement
28
+ // - virtualFileExportsGlobalEntry is the main requirement
29
29
  // - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
30
- // - loadBuildEntry() sets globalObject.buildEntry and then sets virtualFileExports
30
+ // - loadBuildEntry() sets globalObject.buildEntry and then sets virtualFileExportsGlobalEntry
31
31
  // - With vike-server it's set at server start: @brillout/vite-plugin-server-entry injects `import './entry.mjs'` (the production entry generated by @brillout/vite-plugin-server-entry) as first line of code of dist/server/index.mjs while dist/server/entry.mjs calls setGlobalContext_buildEntry()
32
32
  // - Without vike-server it's manually loaded here using importServerProductionEntry() which uses @brillout/vite-plugin-server-entry's autoImporter or crawler
33
33
  // - In development: globalObject.viteDevServer which is Vite's development server
34
- // - globalObject.viteDevServer is used by updateUserFiles() which then sets virtualFileExports
34
+ // - globalObject.viteDevServer is used by updateUserFiles() which then sets virtualFileExportsGlobalEntry
35
35
  import { assert, onSetupRuntime, assertUsage, assertWarning, isPlainObject, objectReplace, isObject, hasProp, getGlobalObject, genPromise, createDebugger, checkType, PROJECT_VERSION, getViteRPC, isRunnableDevEnvironment, assertIsNotBrowser, } from './utils.js';
36
36
  import { importServerProductionEntry } from '@brillout/vite-plugin-server-entry/runtime';
37
- import { virtualFileIdEntryServer } from '../shared/virtualFiles/virtualFileEntry.js';
37
+ import { virtualFileIdGlobalEntryServer } from '../shared/virtualFileId.js';
38
38
  import pc from '@brillout/picocolors';
39
39
  import { loadPageRoutes, loadPageRoutesSync } from '../../shared/route/loadPageRoutes.js';
40
40
  import { assertV1Design } from '../shared/assertV1Design.js';
@@ -159,15 +159,14 @@ function setGlobalContext_isPrerendering() {
159
159
  globalObject.isPrerendering = true;
160
160
  setIsProduction(true);
161
161
  }
162
- // TODO/now: `rename tolerateContraditction tolerateContradiction`
163
- function setGlobalContext_isProduction(isProduction, tolerateContraditction = false) {
162
+ function setGlobalContext_isProduction(isProduction, tolerateContradiction = false) {
164
163
  if (debug.isActivated)
165
- debug('setGlobalContext_isProduction()', { isProduction, tolerateContraditction });
164
+ debug('setGlobalContext_isProduction()', { isProduction, tolerateContradiction });
166
165
  if (globalObject.isProduction === undefined) {
167
166
  setIsProduction(isProduction);
168
167
  }
169
168
  else {
170
- assert(globalObject.isProduction === isProduction || tolerateContraditction);
169
+ assert(globalObject.isProduction === isProduction || tolerateContradiction);
171
170
  }
172
171
  }
173
172
  function getViteDevServer() {
@@ -274,7 +273,7 @@ async function loadBuildEntry(outDir) {
274
273
  assertBuildEntry(buildEntry);
275
274
  globalObject.assetsManifest = buildEntry.assetsManifest;
276
275
  globalObject.buildInfo = buildEntry.buildInfo;
277
- await createGlobalContext(buildEntry.virtualFileExports);
276
+ await createGlobalContext(buildEntry.virtualFileExportsGlobalEntry);
278
277
  }
279
278
  // This is the production entry, see:
280
279
  // https://github.com/vikejs/vike/blob/798e5465dc3e3e6723b38b601a50350c0a006fb8/packages/vike/node/vite/plugins/pluginBuild/pluginBuildEntry.ts#L47
@@ -291,15 +290,15 @@ async function setGlobalContext_buildEntry(buildEntry) {
291
290
  }
292
291
  function assertBuildEntry(buildEntry) {
293
292
  assert(isObject(buildEntry));
294
- assert(hasProp(buildEntry, 'virtualFileExports', 'object'));
295
- const { virtualFileExports } = buildEntry;
293
+ assert(hasProp(buildEntry, 'virtualFileExportsGlobalEntry', 'object'));
294
+ const { virtualFileExportsGlobalEntry } = buildEntry;
296
295
  assert(hasProp(buildEntry, 'assetsManifest', 'object'));
297
296
  const { assetsManifest } = buildEntry;
298
297
  assertViteManifest(assetsManifest);
299
298
  assert(hasProp(buildEntry, 'buildInfo', 'object'));
300
299
  const { buildInfo } = buildEntry;
301
300
  assertBuildInfo(buildInfo);
302
- checkType({ virtualFileExports, assetsManifest, buildInfo });
301
+ checkType({ virtualFileExportsGlobalEntry, assetsManifest, buildInfo });
303
302
  }
304
303
  function assertBuildInfo(buildInfo) {
305
304
  assert(isObject(buildInfo));
@@ -353,15 +352,15 @@ async function updateUserFiles() {
353
352
  viteDevServer !== globalObject.viteDevServer;
354
353
  const { viteDevServer } = globalObject;
355
354
  let hasError = false;
356
- let virtualFileExports;
355
+ let virtualFileExportsGlobalEntry;
357
356
  let err;
358
357
  if (viteDevServer) {
359
358
  assert(isRunnable(viteDevServer));
360
359
  /* We don't use runner.import() yet, because as of vite@7.0.6 (July 2025) runner.import() unexpectedly invalidates the module graph, which is a unexpected behavior that doesn't happen with ssrLoadModule()
361
360
  // Vite 6
362
361
  try {
363
- virtualFileExports = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
364
- 'virtual:vike:entry:server',
362
+ virtualFileExportsGlobalEntry = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
363
+ 'virtual:vike:global-entry:server',
365
364
  )
366
365
  } catch (err_) {
367
366
  hasError = true
@@ -370,7 +369,7 @@ async function updateUserFiles() {
370
369
  */
371
370
  // Vite 5
372
371
  try {
373
- virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileIdEntryServer);
372
+ virtualFileExportsGlobalEntry = await viteDevServer.ssrLoadModule(virtualFileIdGlobalEntryServer);
374
373
  }
375
374
  catch (err_) {
376
375
  hasError = true;
@@ -383,10 +382,10 @@ async function updateUserFiles() {
383
382
  ```js
384
383
  assert(false)
385
384
  // This line breaks the HMR of regular (runnable) apps, even though (as per the assert() above) it's never run. It seems to be a Vite bug: handleHotUpdate() receives an empty `modules` list.
386
- import('virtual:vike:entry:server')
385
+ import('virtual:vike:global-entry:server')
387
386
  ```
388
387
  */
389
- virtualFileExports = await __VIKE__DYNAMIC_IMPORT('virtual:vike:entry:server');
388
+ virtualFileExportsGlobalEntry = await __VIKE__DYNAMIC_IMPORT('virtual:vike:global-entry:server');
390
389
  }
391
390
  catch (err_) {
392
391
  hasError = true;
@@ -397,12 +396,12 @@ async function updateUserFiles() {
397
396
  return { success: false };
398
397
  if (hasError)
399
398
  return onError(err);
400
- virtualFileExports = virtualFileExports.default || virtualFileExports;
399
+ virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry.default || virtualFileExportsGlobalEntry;
401
400
  if (getVikeConfigErrorBuild()) {
402
401
  return { success: false };
403
402
  }
404
403
  try {
405
- await createGlobalContext(virtualFileExports);
404
+ await createGlobalContext(virtualFileExportsGlobalEntry);
406
405
  }
407
406
  catch (err_) {
408
407
  hasError = true;
@@ -414,10 +413,10 @@ async function updateUserFiles() {
414
413
  return onError(err);
415
414
  return onSuccess();
416
415
  }
417
- async function createGlobalContext(virtualFileExports) {
416
+ async function createGlobalContext(virtualFileExportsGlobalEntry) {
418
417
  debug('createGlobalContext()');
419
418
  assert(!getVikeConfigErrorBuild());
420
- const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
419
+ const globalContext = await createGlobalContextShared(virtualFileExportsGlobalEntry, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
421
420
  assertV1Design(
422
421
  // pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
423
422
  globalContext._pageConfigs.length > 0, globalContext._pageFilesAll);
@@ -3,9 +3,12 @@ export { getPageContextClientSerializedAbort };
3
3
  export { getGlobalContextClientSerialized };
4
4
  export type { PageContextSerialization };
5
5
  export type { PassToClient };
6
+ export type { PassToClientPublic };
6
7
  import type { UrlRedirect } from '../../../shared/route/abort.js';
7
8
  import type { GlobalContextServerInternal } from '../globalContext.js';
8
- type PageContextSerialization = {
9
+ import type { PageContextCreated } from '../renderPage/createPageContextServerSide.js';
10
+ import type { PageContextBegin } from '../renderPage.js';
11
+ type PageContextSerialization = PageContextCreated & {
9
12
  pageId: string;
10
13
  routeParams: Record<string, string>;
11
14
  _passToClient: PassToClient;
@@ -13,12 +16,14 @@ type PageContextSerialization = {
13
16
  pageProps?: Record<string, unknown>;
14
17
  _pageContextInit: Record<string, unknown>;
15
18
  _globalContext: GlobalContextServerInternal;
16
- isClientSideNavigation: boolean;
19
+ _isPageContextJsonRequest: null | PageContextBegin['_isPageContextJsonRequest'];
17
20
  };
18
21
  declare function getPageContextClientSerialized(pageContext: PageContextSerialization, isHtmlJsonScript: boolean): string;
19
22
  declare function getGlobalContextClientSerialized(pageContext: PageContextSerialization, isHtmlJsonScript: boolean): string;
20
- type PassToClient = (string | {
23
+ type PassToClient = string[];
24
+ type PassToClientPublic = (string | {
21
25
  prop: string;
26
+ /** @deprecated The passToClient once setting is deprecated and no longer has any effect. Instead, see the upcoming .once.js suffix (see https://github.com/vikejs/vike/issues/2566 for more information). */
22
27
  once?: boolean;
23
28
  })[];
24
29
  declare function getPageContextClientSerializedAbort(pageContext: Record<string, unknown> & ({
@@ -27,41 +27,24 @@ const passToClientBuiltInPageContext = [
27
27
  const pageToClientBuiltInPageContextError = ['pageProps', 'is404', isServerSideError];
28
28
  function getPageContextClientSerialized(pageContext, isHtmlJsonScript) {
29
29
  const passToClientPageContext = getPassToClientPageContext(pageContext);
30
- const getObj = (passToClientEntry) => {
31
- if (passToClientEntry.once)
32
- return undefined; // pass it to client-side globalContext
33
- return { obj: pageContext, objName: 'pageContext' };
34
- };
35
- const res = applyPassToClient(passToClientPageContext, getObj);
30
+ const res = applyPassToClient(passToClientPageContext, pageContext);
36
31
  const pageContextClient = res.objClient;
37
32
  const pageContextClientProps = res.objClientProps;
38
33
  if (pageContextClientProps.some((prop) => getPropVal(pageContext._pageContextInit, prop))) {
39
34
  pageContextClient[pageContextInitIsPassedToClient] = true;
40
35
  }
41
- const pageContextClientSerialized = serializeObject(pageContextClient, passToClientPageContext, getObj, isHtmlJsonScript);
36
+ const pageContextClientSerialized = serializeObject(pageContextClient, passToClientPageContext, 'pageContext', isHtmlJsonScript);
42
37
  return pageContextClientSerialized;
43
38
  }
44
39
  function getGlobalContextClientSerialized(pageContext, isHtmlJsonScript) {
45
40
  const passToClient = pageContext._passToClient;
46
41
  const globalContext = pageContext._globalContext;
47
- const getObj = ({ prop, once }) => {
48
- if (once && getPropVal(pageContext, prop)) {
49
- assert(typeof pageContext.isClientSideNavigation === 'boolean');
50
- if (!pageContext.isClientSideNavigation) {
51
- return { obj: pageContext, objName: 'pageContext' }; // pass it to client-side globalContext
52
- }
53
- else {
54
- return undefined; // already passed to client-side
55
- }
56
- }
57
- return { obj: globalContext, objName: 'globalContext' };
58
- };
59
- const res = applyPassToClient(passToClient, getObj);
42
+ const res = applyPassToClient(passToClient, globalContext);
60
43
  const globalContextClient = res.objClient;
61
- const globalContextClientSerialized = serializeObject(globalContextClient, passToClient, getObj, isHtmlJsonScript);
44
+ const globalContextClientSerialized = serializeObject(globalContextClient, passToClient, 'globalContext', isHtmlJsonScript);
62
45
  return globalContextClientSerialized;
63
46
  }
64
- function serializeObject(obj, passToClient, getObj, isHtmlJsonScript) {
47
+ function serializeObject(obj, passToClient, objName, isHtmlJsonScript) {
65
48
  let serialized;
66
49
  try {
67
50
  serialized = serializeValue(obj, isHtmlJsonScript);
@@ -70,15 +53,11 @@ function serializeObject(obj, passToClient, getObj, isHtmlJsonScript) {
70
53
  const h = (s) => pc.cyan(s);
71
54
  let hasWarned = false;
72
55
  const propsNonSerializable = [];
73
- passToClient.forEach((entry) => {
74
- const entryNormalized = normalizePassToClientEntry(entry);
75
- const { prop } = entryNormalized;
56
+ passToClient.forEach((prop) => {
76
57
  const res = getPropVal(obj, prop);
77
58
  if (!res)
78
59
  return;
79
60
  const { value } = res;
80
- const { objName } = getObj(entryNormalized) ?? {};
81
- assert(objName);
82
61
  const varName = `${objName}${getPropKeys(prop).map(getPropAccessNotation).join('')}`;
83
62
  try {
84
63
  serializeValue(value, isHtmlJsonScript, varName);
@@ -188,15 +167,10 @@ function getPageContextClientSerializedAbort(pageContext, isHtmlJsonScript) {
188
167
  }
189
168
  return serializeValue(pageContext, isHtmlJsonScript);
190
169
  }
191
- function applyPassToClient(passToClient, getObj) {
170
+ function applyPassToClient(passToClient, obj) {
192
171
  const objClient = {};
193
172
  const objClientProps = [];
194
- passToClient.forEach((entry) => {
195
- const entryNormalized = normalizePassToClientEntry(entry);
196
- const { prop } = entryNormalized;
197
- const { obj } = getObj(entryNormalized) ?? {};
198
- if (!obj)
199
- return;
173
+ passToClient.forEach((prop) => {
200
174
  // Get value from pageContext
201
175
  const res = getPropVal(obj, prop);
202
176
  if (!res)
@@ -208,16 +182,3 @@ function applyPassToClient(passToClient, getObj) {
208
182
  });
209
183
  return { objClient, objClientProps };
210
184
  }
211
- function normalizePassToClientEntry(entry) {
212
- let once;
213
- let prop;
214
- if (typeof entry === 'string') {
215
- prop = entry;
216
- once = false;
217
- }
218
- else {
219
- prop = entry.prop;
220
- once = entry.once ?? false;
221
- }
222
- return { prop, once };
223
- }
@@ -522,8 +522,8 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
522
522
  const closeStream = async () => {
523
523
  if (isClosed)
524
524
  return;
525
- isClosed = true;
526
525
  await onEnd(isCancel);
526
+ isClosed = true;
527
527
  controllerProxy.close();
528
528
  };
529
529
  let controllerProxy;
@@ -1,7 +1,7 @@
1
1
  export { analyzePage };
2
2
  import { getVikeClientEntry } from '../../../shared/getPageFiles/analyzePageClientSide/determineClientEntry.js';
3
3
  import { analyzePageClientSide } from '../../../shared/getPageFiles/analyzePageClientSide.js';
4
- import { getVirtualFileIdPageConfigLazy } from '../../shared/virtualFiles/virtualFilePageConfigLazy.js';
4
+ import { generateVirtualFileId } from '../../shared/virtualFileId.js';
5
5
  import { analyzeClientSide } from '../../../shared/getPageFiles/analyzeClientSide.js';
6
6
  import { getConfigValueRuntime } from '../../../shared/page-configs/getConfigValueRuntime.js';
7
7
  async function analyzePage(pageFilesAll, pageConfig, pageId, globalContext) {
@@ -15,14 +15,14 @@ async function analyzePage(pageFilesAll, pageConfig, pageId, globalContext) {
15
15
  clientEntries.push(getVikeClientEntry(isClientRouting));
16
16
  const clientDependencies = [];
17
17
  clientDependencies.push({
18
- id: getVirtualFileIdPageConfigLazy(pageConfig.pageId, true),
18
+ id: generateVirtualFileId({ type: 'page-entry', pageId: pageConfig.pageId, isForClientSide: true }),
19
19
  onlyAssets: isClientRuntimeLoaded ? false : true,
20
20
  eagerlyImported: false,
21
21
  });
22
22
  // In production we inject the import of the server virtual module with ?extractAssets inside the client virtual module
23
23
  if (!globalContext._isProduction) {
24
24
  clientDependencies.push({
25
- id: getVirtualFileIdPageConfigLazy(pageConfig.pageId, false),
25
+ id: generateVirtualFileId({ type: 'page-entry', pageId: pageConfig.pageId, isForClientSide: false }),
26
26
  onlyAssets: true,
27
27
  eagerlyImported: false,
28
28
  });
@@ -4,7 +4,7 @@ export type { PageContextCreated };
4
4
  import type { GlobalContextServerInternal } from '../globalContext.js';
5
5
  import type { PageContextInit } from '../renderPage.js';
6
6
  type PageContextCreated = Awaited<ReturnType<typeof createPageContextServerSide>>;
7
- declare function createPageContextServerSide(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, { isPrerendering, ssr: { urlHandler, isClientSideNavigation }, }: {
7
+ declare function createPageContextServerSide(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, args: {
8
8
  isPrerendering: false;
9
9
  ssr: {
10
10
  urlHandler: null | ((url: string) => string);
@@ -26,7 +26,7 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
26
26
  _globalContext: {
27
27
  isGlobalContext: true;
28
28
  _isOriginalObject: true;
29
- _virtualFileExports: unknown;
29
+ _virtualFileExportsGlobalEntry: unknown;
30
30
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
31
31
  _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
32
32
  _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
@@ -39,7 +39,7 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
39
39
  };
40
40
  config: import("../../../types/index.js").ConfigResolved;
41
41
  pages: {
42
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
42
+ [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
43
43
  };
44
44
  } & (({
45
45
  _isProduction: false;
@@ -3,12 +3,9 @@ export { createPageContextServerSideWithoutGlobalContext };
3
3
  import { assert, assertUsage, assertWarning, augmentType, normalizeHeaders, objectAssign } from '../utils.js';
4
4
  import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
5
5
  import { createPageContextObject, createPageContextShared } from '../../../shared/createPageContextShared.js';
6
- function createPageContextServerSide(pageContextInit, globalContext, { isPrerendering, ssr: { urlHandler, isClientSideNavigation } = {
7
- urlHandler: null,
8
- isClientSideNavigation: false,
9
- }, }) {
6
+ function createPageContextServerSide(pageContextInit, globalContext, args) {
10
7
  assert(pageContextInit.urlOriginal);
11
- const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
8
+ const pageContextCreated = createPageContext(pageContextInit, args.isPrerendering);
12
9
  objectAssign(pageContextCreated, {
13
10
  _globalContext: globalContext,
14
11
  _pageFilesAll: globalContext._pageFilesAll, // TO-DO/next-major-release: remove
@@ -17,8 +14,8 @@ function createPageContextServerSide(pageContextInit, globalContext, { isPrerend
17
14
  _baseAssets: globalContext.baseAssets,
18
15
  _pageContextInit: pageContextInit,
19
16
  _urlRewrite: null,
20
- _urlHandler: urlHandler,
21
- isClientSideNavigation,
17
+ _urlHandler: args.ssr?.urlHandler ?? null,
18
+ isClientSideNavigation: args.ssr?.isClientSideNavigation ?? false,
22
19
  });
23
20
  objectAssign(pageContextCreated, globalContext._vikeConfigPublicGlobal);
24
21
  // pageContext.urlParsed
@@ -1,9 +1,9 @@
1
1
  export { execHookServer };
2
2
  export type { PageContextExecHookServer };
3
3
  import { type PageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
4
- import type { VikeConfigPublicPageLazy } from '../../../shared/getPageFiles.js';
4
+ import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/getPageFiles.js';
5
5
  import type { HookName } from '../../../types/Config.js';
6
- type PageContextExecHookServer = VikeConfigPublicPageLazy & PageContextForPublicUsageServer;
6
+ type PageContextExecHookServer = VikeConfigPublicPageLazyLoaded & PageContextForPublicUsageServer;
7
7
  declare function execHookServer(hookName: HookName, pageContext: PageContextExecHookServer): Promise<(import("../../../shared/hooks/getHook.js").HookLoc & {
8
8
  hookFn: (arg: import("../../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum | import("../../../shared/prepareGlobalContextForPublicUsage.js").GlobalContextPrepareMinimum) => unknown;
9
9
  hookTimeout: import("../../../shared/hooks/getHook.js").HookTimeout;
@@ -1,6 +1,6 @@
1
1
  export { getManifestEntry };
2
2
  import { assert, slice, assertIsImportPathNpmPackage } from '../../utils.js';
3
- import { isVirtualFileIdPageConfigLazy } from '../../../shared/virtualFiles/virtualFilePageConfigLazy.js';
3
+ import { parseVirtualFileId } from '../../../shared/virtualFileId.js';
4
4
  import { prependEntriesDir } from '../../../shared/prependEntriesDir.js';
5
5
  function getManifestEntry(id, assetsManifest) {
6
6
  const debugInfo = getDebugInfo(id, assetsManifest);
@@ -12,7 +12,8 @@ function getManifestEntry(id, assetsManifest) {
12
12
  return { manifestEntry, manifestKey };
13
13
  }
14
14
  // Page code importer
15
- if (isVirtualFileIdPageConfigLazy(id)) {
15
+ const virtualFile = parseVirtualFileId(id);
16
+ if (virtualFile && virtualFile.type === 'page-entry') {
16
17
  {
17
18
  const manifestKey = id;
18
19
  const manifestEntry = assetsManifest[manifestKey];
@@ -22,9 +23,9 @@ function getManifestEntry(id, assetsManifest) {
22
23
  }
23
24
  // Workaround for what seems to be a Vite bug when process.cwd() !== config.root
24
25
  // - Manifest key is:
25
- // ../../virtual:vike:pageConfigLazy:client:/pages/index
26
+ // ../../virtual:vike:page-entry:client:/pages/index
26
27
  // But it should be this instead:
27
- // virtual:vike:pageConfigLazy:client:/pages/index
28
+ // virtual:vike:page-entry:client:/pages/index
28
29
  // - This workaround was implemented to support Vitest running /tests/*
29
30
  // - I don't know whether end users actually need this workaround? (I'm not sure what the bug actually is.)
30
31
  const manifestKeyEnd = id;
@@ -0,0 +1,10 @@
1
+ export { retrievePageAssetsDev };
2
+ export { setGetClientEntrySrcDev };
3
+ import type { ViteDevServer } from 'vite';
4
+ import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
5
+ import type { GetClientEntrySrcDev } from '../../../vite/shared/getClientEntrySrcDev.js';
6
+ declare function retrievePageAssetsDev(viteDevServer: ViteDevServer, clientDependencies: ClientDependency[], clientEntries: string[]): Promise<{
7
+ clientEntriesSrc: string[];
8
+ assetUrls: string[];
9
+ }>;
10
+ declare function setGetClientEntrySrcDev(getClientEntrySrcDev: GetClientEntrySrcDev): void;
@@ -1,13 +1,27 @@
1
- export { retrieveAssetsDev };
2
- import { assert, styleFileRE } from '../../utils.js';
3
- import { isVirtualFileIdEntry } from '../../../shared/virtualFiles/virtualFileEntry.js';
4
- async function retrieveAssetsDev(clientDependencies, viteDevServer) {
1
+ export { retrievePageAssetsDev };
2
+ export { setGetClientEntrySrcDev };
3
+ import { assert, getGlobalObject, styleFileRE } from '../../utils.js';
4
+ import { parseVirtualFileId } from '../../../shared/virtualFileId.js';
5
+ const globalObject = getGlobalObject('getPageAssets/retrievePageAssetsDev.ts', {
6
+ // We cannot define getClientEntrySrcDev() in this file because it depends on utils/requireResolve.ts which isn't available in production
7
+ getClientEntrySrcDev: null,
8
+ });
9
+ async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
10
+ const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.getClientEntrySrcDev(clientEntry, viteDevServer));
11
+ const assetUrls = await getAssetUrls(clientDependencies, viteDevServer);
12
+ return { clientEntriesSrc, assetUrls };
13
+ }
14
+ function setGetClientEntrySrcDev(getClientEntrySrcDev) {
15
+ globalObject.getClientEntrySrcDev = getClientEntrySrcDev;
16
+ }
17
+ async function getAssetUrls(clientDependencies, viteDevServer) {
5
18
  const assetUrls = new Set();
6
19
  await Promise.all(clientDependencies.map(async ({ id }) => {
7
20
  if (id.startsWith('@@vike'))
8
21
  return; // vike doesn't have any CSS
9
22
  assert(id);
10
- assert(!isVirtualFileIdEntry(id));
23
+ const virtualFile = parseVirtualFileId(id);
24
+ assert(!virtualFile || virtualFile.type !== 'global-entry');
11
25
  const { moduleGraph } = viteDevServer;
12
26
  const [_, graphId] = await moduleGraph.resolveUrl(id);
13
27
  assert(graphId, { id });
@@ -34,8 +48,9 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
34
48
  if (visitedModules.has(mod.url))
35
49
  return;
36
50
  visitedModules.add(mod.url);
37
- if (isVirtualFileIdEntry(mod.id || mod.url))
38
- return; // virtual:vike:entry:server dependency list includes all pages
51
+ const virtualFile = parseVirtualFileId(mod.id || mod.url);
52
+ if (virtualFile && virtualFile.type === 'global-entry')
53
+ return; // virtual:vike:global-entry:server dependency list includes all pages
39
54
  if (isStyle(mod) && (!importer || !isStyle(importer))) {
40
55
  if (mod.url.startsWith('/')) {
41
56
  styleUrls.add(mod.url);
@@ -0,0 +1,10 @@
1
+ export { retrievePageAssetsProd };
2
+ export { resolveIncludeAssetsImportedByServer };
3
+ import type { ViteManifest } from '../../../../types/ViteManifest.js';
4
+ import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
5
+ import type { ConfigResolved } from '../../../../types/index.js';
6
+ declare function retrievePageAssetsProd(assetsManifest: ViteManifest, clientDependencies: ClientDependency[], clientEntries: string[], config: ConfigResolved): {
7
+ clientEntriesSrc: string[];
8
+ assetUrls: string[];
9
+ };
10
+ declare function resolveIncludeAssetsImportedByServer(config: ConfigResolved): boolean;
@@ -1,8 +1,22 @@
1
- export { retrieveAssetsProd };
1
+ export { retrievePageAssetsProd };
2
+ export { resolveIncludeAssetsImportedByServer };
2
3
  import { assert, isImportPathNpmPackage } from '../../utils.js';
3
4
  import { getManifestEntry } from './getManifestEntry.js';
4
5
  import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
5
- function retrieveAssetsProd(clientDependencies, assetsManifest, includeAssetsImportedByServer) {
6
+ function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, config) {
7
+ const clientEntriesSrc = clientEntries.map((clientEntry) => getClientEntrySrcProd(clientEntry, assetsManifest));
8
+ const assetUrls = getAssetsUrl(clientDependencies, assetsManifest, config);
9
+ return { clientEntriesSrc, assetUrls };
10
+ }
11
+ function getClientEntrySrcProd(clientEntry, assetsManifest) {
12
+ const { manifestEntry } = getManifestEntry(clientEntry, assetsManifest);
13
+ assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
14
+ let { file } = manifestEntry;
15
+ assert(!file.startsWith('/'));
16
+ return '/' + file;
17
+ }
18
+ function getAssetsUrl(clientDependencies, assetsManifest, config) {
19
+ const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(config);
6
20
  let assetUrls = new Set();
7
21
  assert(assetsManifest);
8
22
  const visistedAssets = new Set();
@@ -56,3 +70,6 @@ function collectSingleStyle(assetUrls, assetsManifest) {
56
70
  assetUrls.add(`/${style.file}`);
57
71
  }
58
72
  }
73
+ function resolveIncludeAssetsImportedByServer(config) {
74
+ return config.includeAssetsImportedByServer ?? true;
75
+ }
@@ -1,14 +1,10 @@
1
1
  export { getPageAssets };
2
- export { setResolveClientEntriesDev };
3
- export { resolveIncludeAssetsImportedByServer };
4
2
  export type { PageAsset };
5
3
  export type { GetPageAssets };
6
4
  export type { PageContextGetPageAssets };
7
5
  import { type MediaType } from './inferMediaType.js';
8
6
  import type { ClientDependency } from '../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
9
7
  import type { GlobalContextServerInternal } from '../globalContext.js';
10
- import type { ResolveClientEntriesDev } from '../../vite/shared/resolveClientEntriesDev.js';
11
- import type { ConfigResolved } from '../../../types/index.js';
12
8
  type PageAsset = {
13
9
  src: string;
14
10
  assetType: null | NonNullable<MediaType>['assetType'];
@@ -22,5 +18,3 @@ type PageContextGetPageAssets = {
22
18
  _globalContext: GlobalContextServerInternal;
23
19
  };
24
20
  declare function getPageAssets(pageContext: PageContextGetPageAssets, clientDependencies: ClientDependency[], clientEntries: string[]): Promise<PageAsset[]>;
25
- declare function setResolveClientEntriesDev(resolveClientEntriesDev: ResolveClientEntriesDev): void;
26
- declare function resolveIncludeAssetsImportedByServer(config: ConfigResolved): boolean;
@@ -1,15 +1,9 @@
1
1
  export { getPageAssets };
2
- export { setResolveClientEntriesDev };
3
- export { resolveIncludeAssetsImportedByServer };
4
- import { assert, prependBase, toPosixPath, unique, getGlobalObject, getViteRPC } from '../utils.js';
5
- import { retrieveAssetsDev } from './getPageAssets/retrieveAssetsDev.js';
6
- import { retrieveAssetsProd } from './getPageAssets/retrieveAssetsProd.js';
2
+ import { retrievePageAssetsProd } from './getPageAssets/retrievePageAssetsProd.js';
3
+ import { retrievePageAssetsDev } from './getPageAssets/retrievePageAssetsDev.js';
7
4
  import { inferMediaType } from './inferMediaType.js';
8
- import { getManifestEntry } from './getPageAssets/getManifestEntry.js';
9
5
  import { sortPageAssetsForEarlyHintsHeader } from './getPageAssets/sortPageAssetsForEarlyHintsHeader.js';
10
- const globalObject = getGlobalObject('renderPage/getPageAssets.ts', {
11
- resolveClientEntriesDev: null,
12
- });
6
+ import { assert, prependBase, toPosixPath, unique, getViteRPC } from '../utils.js';
13
7
  async function getPageAssets(pageContext, clientDependencies, clientEntries) {
14
8
  const globalContext = pageContext._globalContext;
15
9
  const { _isProduction: isProduction } = globalContext;
@@ -18,7 +12,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
18
12
  ? !globalContext._viteDevServer
19
13
  ? await getViteRPC().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
20
14
  : await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
21
- : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, resolveIncludeAssetsImportedByServer(globalContext.config));
15
+ : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, globalContext.config);
22
16
  let pageAssets = [];
23
17
  unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
24
18
  const { mediaType = null, assetType = null } = inferMediaType(src) || {};
@@ -52,26 +46,3 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
52
46
  await sortPageAssetsForEarlyHintsHeader(pageAssets, isProduction);
53
47
  return pageAssets;
54
48
  }
55
- async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
56
- const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer));
57
- const assetUrls = await retrieveAssetsDev(clientDependencies, viteDevServer);
58
- return { clientEntriesSrc, assetUrls };
59
- }
60
- function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, includeAssetsImportedByServer) {
61
- const clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, assetsManifest));
62
- const assetUrls = retrieveAssetsProd(clientDependencies, assetsManifest, resolveIncludeAssetsImportedByServer(includeAssetsImportedByServer));
63
- return { clientEntriesSrc, assetUrls };
64
- }
65
- function resolveClientEntriesProd(clientEntry, assetsManifest) {
66
- const { manifestEntry } = getManifestEntry(clientEntry, assetsManifest);
67
- assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
68
- let { file } = manifestEntry;
69
- assert(!file.startsWith('/'));
70
- return '/' + file;
71
- }
72
- function setResolveClientEntriesDev(resolveClientEntriesDev) {
73
- globalObject.resolveClientEntriesDev = resolveClientEntriesDev;
74
- }
75
- function resolveIncludeAssetsImportedByServer(config) {
76
- return config.includeAssetsImportedByServer ?? true;
77
- }
@@ -1,8 +1,8 @@
1
1
  export { handleErrorWithoutErrorPage };
2
2
  import type { GlobalContextServerInternal } from '../globalContext.js';
3
3
  import type { PageContextAfterRender } from './renderPageAlreadyRouted.js';
4
- declare function handleErrorWithoutErrorPage<PageContext extends {
5
- isClientSideNavigation: boolean;
4
+ import type { PageContextCreated } from './createPageContextServerSide.js';
5
+ declare function handleErrorWithoutErrorPage<PageContext extends PageContextCreated & {
6
6
  errorWhileRendering: null | Error;
7
7
  is404: null | boolean;
8
8
  pageId: null;
@@ -1,5 +1,5 @@
1
1
  export { handlePageContextRequestUrl };
2
2
  declare function handlePageContextRequestUrl(url: string): {
3
+ isPageContextJsonRequest: boolean;
3
4
  urlWithoutPageContextRequestSuffix: string;
4
- isPageContextRequest: boolean;
5
5
  };