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
@@ -5,8 +5,9 @@ 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)();
@@ -40,43 +41,36 @@ async function getPageDeps(config, pageConfigs) {
40
41
  let entriesServer = [];
41
42
  let includeClient = [];
42
43
  let includeServer = [];
43
- const addEntry = (e, configEnv, definedAt) => {
44
+ const addEntry = (e, isForClientSide, definedAt) => {
44
45
  (0, utils_js_1.assert)(e);
45
46
  // optimizeDeps.entries expects filesystem absolute paths
46
47
  (0, utils_js_1.assert)((0, utils_js_1.isVirtualFileId)(e) || (0, utils_js_1.isFilePathAbsoluteFilesystem)(e));
47
- if (isRelevant(e, false, configEnv, definedAt)) {
48
+ if (isExcluded(e, isForClientSide, definedAt))
49
+ return;
50
+ if (isForClientSide) {
48
51
  entriesClient.push(e);
49
52
  }
50
- if (isRelevant(e, true, configEnv, definedAt)) {
53
+ else {
51
54
  entriesServer.push(e);
52
55
  }
53
56
  };
54
- const addInclude = (e, configEnv, definedAt) => {
57
+ const addInclude = (e, isForClientSide, definedAt) => {
55
58
  (0, utils_js_1.assert)(e);
56
59
  // optimizeDeps.include expects npm packages
57
60
  (0, utils_js_1.assert)(!e.startsWith('/'));
58
61
  // Shouldn't be a path alias, as path aliases would need to be added to optimizeDeps.entries instead of optimizeDeps.include
59
62
  (0, utils_js_1.assertIsImportPathNpmPackage)(e);
60
- if (isRelevant(e, false, configEnv, definedAt)) {
63
+ if (isExcluded(e, isForClientSide, definedAt))
64
+ return;
65
+ if (isForClientSide) {
61
66
  includeClient.push(e);
62
67
  }
63
- if (isRelevant(e, true, configEnv, definedAt)) {
64
- includeServer.push(e);
65
- }
66
- };
67
- const isRelevant = (e, server, configEnv, definedAt) => {
68
- if (server) {
69
- if (!configEnv || !configEnv.server)
70
- return false;
71
- }
72
68
  else {
73
- if (configEnv && !configEnv.client)
74
- return false;
69
+ includeServer.push(e);
75
70
  }
76
- return !isExcluded(e, server, definedAt);
77
71
  };
78
- const isExcluded = (e, server, definedAt) => {
79
- const exclude = server ? config.ssr.optimizeDeps.exclude : config.optimizeDeps.exclude;
72
+ const isExcluded = (e, isForClientSide, definedAt) => {
73
+ const exclude = isForClientSide ? config.optimizeDeps.exclude : config.ssr.optimizeDeps.exclude;
80
74
  if (!exclude)
81
75
  return false;
82
76
  if (definedAt?.importPathAbsolute) {
@@ -88,26 +82,34 @@ async function getPageDeps(config, pageConfigs) {
88
82
  };
89
83
  // V1 design
90
84
  {
91
- pageConfigs.forEach((pageConfig) => {
92
- Object.entries(pageConfig.configValueSources).forEach(([configName, sources]) => {
93
- sources
94
- .filter((source) => !(0, resolveVikeConfigInternal_js_1.isOverridden)(source, configName, pageConfig))
95
- .forEach((configValueSource) => {
96
- if (!configValueSource.valueIsLoadedWithImport && !configValueSource.valueIsFilePath)
97
- return;
98
- const { definedAt, configEnv } = configValueSource;
99
- if (definedAt.definedBy)
100
- return;
101
- if (definedAt.filePathAbsoluteUserRootDir !== null) {
102
- addEntry(
103
- // optimizeDeps.entries expects filesystem absolute paths
104
- definedAt.filePathAbsoluteFilesystem, configEnv, definedAt);
105
- }
106
- else {
107
- addInclude(
108
- // optimizeDeps.include expects npm packages
109
- definedAt.importPathAbsolute, configEnv, definedAt);
110
- }
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)
98
+ return;
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
+ });
111
113
  });
112
114
  });
113
115
  });
@@ -119,7 +121,7 @@ async function getPageDeps(config, pageConfigs) {
119
121
  pageFiles.forEach((filePathAbsoluteUserRootDir) => {
120
122
  const entry = (0, getFilePath_js_1.getFilePathResolved)({ filePathAbsoluteUserRootDir, userRootDir });
121
123
  const { filePathAbsoluteFilesystem } = entry;
122
- addEntry(filePathAbsoluteFilesystem);
124
+ addEntry(filePathAbsoluteFilesystem, true);
123
125
  });
124
126
  }
125
127
  // Add virtual files.
@@ -129,11 +131,11 @@ async function getPageDeps(config, pageConfigs) {
129
131
  // - If we do, then we need to adjust include/entries (maybe by making include === entries -> will Vite complain?)
130
132
  {
131
133
  const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
132
- Object.values(clientEntries).forEach((e) => addEntry(e));
134
+ Object.values(clientEntries).forEach((e) => addEntry(e, true));
133
135
  if (hasClientRouting)
134
- addEntry(virtualFileEntry_js_1.virtualFileIdEntryClientCR);
136
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientCR, true);
135
137
  if (hasServerRouting)
136
- addEntry(virtualFileEntry_js_1.virtualFileIdEntryClientSR);
138
+ addEntry(virtualFileId_js_1.virtualFileIdGlobalEntryClientSR, true);
137
139
  }
138
140
  entriesClient = entriesClient;
139
141
  entriesServer = entriesServer;
@@ -1,16 +1,12 @@
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
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
@@ -42,8 +38,8 @@ function pluginEnvVars() {
42
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]) => {
@@ -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
  }
@@ -17,7 +17,7 @@ const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInter
17
17
  const assertV1Design_js_1 = require("../../shared/assertV1Design.js");
18
18
  const normalizeId_js_1 = require("../shared/normalizeId.js");
19
19
  const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
20
- const getPageAssets_js_1 = require("../../runtime/renderPage/getPageAssets.js");
20
+ const retrievePageAssetsProd_js_1 = require("../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
21
21
  const extractAssetsRE = /(\?|&)extractAssets(?:&|$)/;
22
22
  exports.extractAssetsRE = extractAssetsRE;
23
23
  const rawRE = /(\?|&)raw(?:&|$)/;
@@ -45,9 +45,9 @@ function pluginExtractAssets() {
45
45
  (0, assertV1Design_js_1.assertV1Design)(vikeConfig._pageConfigs, true);
46
46
  (0, utils_js_1.assert)(false);
47
47
  }
48
- const includeAssetsImportedByServer = (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
48
+ const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
49
49
  (0, utils_js_1.assert)(includeAssetsImportedByServer);
50
- (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));
51
51
  const importStatements = await (0, parseEsModule_js_1.getImportStatements)(src);
52
52
  const moduleNames = getImportedModules(importStatements);
53
53
  const code = moduleNames.map((moduleName) => `import '${moduleName}';`).join('\n');
@@ -64,7 +64,7 @@ function pluginExtractAssets() {
64
64
  // - Vite's `vite:resolve` plugin; https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/resolve.ts#L105
65
65
  enforce: 'pre',
66
66
  async resolveId(source, importer, options) {
67
- if ((0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options)) {
67
+ if ((0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment)) {
68
68
  // When building for the server, there should never be a `?extractAssets` query
69
69
  (0, utils_js_1.assert)(!extractAssetsRE.test(source));
70
70
  (0, utils_js_1.assert)(importer === undefined || !extractAssetsRE.test(importer));
@@ -79,7 +79,7 @@ function pluginExtractAssets() {
79
79
  if (!extractAssetsRE.test(importer)) {
80
80
  return;
81
81
  }
82
- const includeAssetsImportedByServer = (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
82
+ const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
83
83
  (0, utils_js_1.assert)(includeAssetsImportedByServer);
84
84
  let resolution = null;
85
85
  try {
@@ -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' };
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pluginNonRunnableDev = pluginNonRunnableDev;
4
4
  const utils_js_1 = require("../utils.js");
5
- const resolveClientEntriesDev_js_1 = require("../shared/resolveClientEntriesDev.js");
6
- const retrieveAssetsDev_js_1 = require("../../runtime/renderPage/getPageAssets/retrieveAssetsDev.js");
5
+ const retrievePageAssetsDev_js_1 = require("../../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js");
7
6
  const getViteConfigRuntime_js_1 = require("../shared/getViteConfigRuntime.js");
8
7
  const getMagicString_js_1 = require("../shared/getMagicString.js");
9
8
  (0, utils_js_1.assertIsNotProductionRuntime)();
@@ -12,11 +11,8 @@ function getViteRpcFunctions(viteDevServer) {
12
11
  async transformIndexHtmlRPC(html) {
13
12
  return await viteDevServer.transformIndexHtml('/', html);
14
13
  },
15
- // TODO/now: dedupe retrievePageAssetsDevRPC and retrievePageAssetsDev()
16
14
  async retrievePageAssetsDevRPC(clientDependencies, clientEntries) {
17
- const clientEntriesSrc = clientEntries.map((clientEntry) => (0, resolveClientEntriesDev_js_1.resolveClientEntriesDev)(clientEntry, viteDevServer));
18
- const assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
19
- return { clientEntriesSrc, assetUrls };
15
+ return await (0, retrievePageAssetsDev_js_1.retrievePageAssetsDev)(viteDevServer, clientDependencies, clientEntries);
20
16
  },
21
17
  async getViteConfigRuntimeRPC() {
22
18
  return (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(viteDevServer.config);
@@ -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 {
@@ -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
  }
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVirtualFilePageConfigsEager = getVirtualFilePageConfigsEager;
4
- const virtualFilePageConfigLazy_js_1 = require("../../../shared/virtualFiles/virtualFilePageConfigLazy.js");
3
+ exports.generateVirtualFileGlobalEntry = generateVirtualFileGlobalEntry;
4
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
5
5
  const debug_js_1 = require("./debug.js");
6
6
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
7
- const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
8
7
  const serializeConfigValues_js_1 = require("../../../../shared/page-configs/serialize/serializeConfigValues.js");
9
- async function getVirtualFilePageConfigsEager(isForClientSide, isDev, id, isClientRouting) {
8
+ async function generateVirtualFileGlobalEntry(isForClientSide, isDev, id, isClientRouting) {
10
9
  const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)(true);
11
10
  const { _pageConfigs: pageConfigs, _pageConfigGlobal: pageConfigGlobal } = vikeConfig;
12
11
  return getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting);
@@ -37,11 +36,10 @@ function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRout
37
36
  lines.push(` pageId: ${JSON.stringify(pageId)},`);
38
37
  lines.push(` isErrorPage: ${JSON.stringify(isErrorPage)},`);
39
38
  lines.push(` routeFilesystem: ${JSON.stringify(routeFilesystem)},`);
40
- const virtualFileId = JSON.stringify((0, virtualFilePageConfigLazy_js_1.getVirtualFileIdPageConfigLazy)(pageId, isForClientSide));
41
- const load = `() => ({ moduleId: ${virtualFileId}, moduleExports: import(${virtualFileId}) })`;
42
- lines.push(` loadConfigLazy: ${load},`);
39
+ const virtualFileId = JSON.stringify((0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId, isForClientSide }));
40
+ lines.push(` loadVirtualFilePageEntry: () => ({ moduleId: ${virtualFileId}, moduleExportsPromise: import(${virtualFileId}) }),`);
43
41
  lines.push(` configValuesSerialized: {`);
44
- lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', true));
42
+ lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, { isForClientSide, isClientRouting, isDev }, ' ', true));
45
43
  lines.push(` },`);
46
44
  lines.push(` },`);
47
45
  });
@@ -51,7 +49,7 @@ function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRout
51
49
  function getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements, filesEnv) {
52
50
  const lines = [];
53
51
  lines.push(` configValuesSerialized: {`);
54
- lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfigGlobal, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', null));
52
+ lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfigGlobal, importStatements, filesEnv, { isForClientSide, isClientRouting, isDev }, ' ', null));
55
53
  lines.push(` },`);
56
54
  const code = lines.join('\n');
57
55
  return code;
@@ -3,22 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getVirtualFileEntry = getVirtualFileEntry;
6
+ exports.generateVirtualFileGlobalEntryWithOldDesign = generateVirtualFileGlobalEntryWithOldDesign;
7
7
  const utils_js_1 = require("../../utils.js");
8
- const virtualFileEntry_js_1 = require("../../../shared/virtualFiles/virtualFileEntry.js");
8
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
9
9
  const vite_1 = require("vite");
10
10
  const fileTypes_js_1 = require("../../../../shared/getPageFiles/fileTypes.js");
11
11
  const node_path_1 = __importDefault(require("node:path"));
12
- const getVirtualFilePageConfigsEager_js_1 = require("./getVirtualFilePageConfigsEager.js");
12
+ const generateVirtualFileGlobalEntry_js_1 = require("./generateVirtualFileGlobalEntry.js");
13
13
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
14
14
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
15
15
  const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
16
- const getPageAssets_js_1 = require("../../../runtime/renderPage/getPageAssets.js");
17
- async function getVirtualFileEntry(id, options, config, isDev) {
18
- const idParsed = (0, virtualFileEntry_js_1.isVirtualFileIdEntry)(id);
19
- (0, utils_js_1.assert)(idParsed);
16
+ const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
17
+ async function generateVirtualFileGlobalEntryWithOldDesign(id, options, config, env, isDev) {
18
+ const idParsed = (0, virtualFileId_js_1.parseVirtualFileId)(id);
19
+ (0, utils_js_1.assert)(idParsed && idParsed.type === 'global-entry');
20
20
  const { isForClientSide, isClientRouting } = idParsed;
21
- (0, utils_js_1.assert)(isForClientSide === !(0, isViteServerBuild_js_1.isViteServerBuild_options)(options));
21
+ (0, utils_js_1.assert)(isForClientSide === !(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, env));
22
22
  const code = await getCode(config, isForClientSide, isClientRouting, isDev, id);
23
23
  return code;
24
24
  }
@@ -71,7 +71,7 @@ export const pageFilesExportNamesEager = {};
71
71
  export const pageFilesList = [];
72
72
  export const neverLoaded = {};
73
73
 
74
- ${await (0, getVirtualFilePageConfigsEager_js_1.getVirtualFilePageConfigsEager)(isForClientSide, isDev, id, isClientRouting)}
74
+ ${await (0, generateVirtualFileGlobalEntry_js_1.generateVirtualFileGlobalEntry)(isForClientSide, isDev, id, isClientRouting)}
75
75
 
76
76
  `;
77
77
  // We still use import.meta.glob() when using th V1 design in order to not break the V1 design deprecation warning
@@ -96,7 +96,7 @@ ${await (0, getVirtualFilePageConfigsEager_js_1.getVirtualFilePageConfigsEager)(
96
96
  fileContent += getGlobs(globRoots, isBuild, fileType, 'extractExportNames', isV1Design);
97
97
  }
98
98
  });
99
- const includeAssetsImportedByServer = (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
99
+ const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
100
100
  if (includeAssetsImportedByServer && isForClientSide) {
101
101
  fileContent += getGlobs(globRoots, isBuild, '.page.server', 'extractAssets', isV1Design);
102
102
  }
@@ -173,7 +173,7 @@ function getGlobRoots(config) {
173
173
  const globRoots = [
174
174
  {
175
175
  includeDir: '/',
176
- excludeDir: node_path_1.default.posix.relative(config.root, (0, getOutDirs_js_1.getOutDirs)(config).outDirRoot),
176
+ excludeDir: node_path_1.default.posix.relative(config.root, (0, getOutDirs_js_1.getOutDirs)(config, undefined).outDirRoot),
177
177
  },
178
178
  ];
179
179
  return globRoots;
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVirtualFilePageConfigLazy = getVirtualFilePageConfigLazy;
4
- // TODO/now: rename file to generateVirtualFileEntryPage.ts
3
+ exports.generateVirtualFilePageEntry = generateVirtualFilePageEntry;
5
4
  const utils_js_1 = require("../../utils.js");
6
- const virtualFilePageConfigLazy_js_1 = require("../../../shared/virtualFiles/virtualFilePageConfigLazy.js");
5
+ const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
7
6
  const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
8
7
  const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
9
8
  const debug_js_1 = require("./debug.js");
10
- const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
11
9
  const serializeConfigValues_js_1 = require("../../../../shared/page-configs/serialize/serializeConfigValues.js");
12
10
  const handleAssetsManifest_js_1 = require("../pluginBuild/handleAssetsManifest.js");
13
11
  const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/getConfigValueBuildTime.js");
14
- const getPageAssets_js_1 = require("../../../runtime/renderPage/getPageAssets.js");
15
- async function getVirtualFilePageConfigLazy(id, isDev, config) {
16
- const result = (0, virtualFilePageConfigLazy_js_1.isVirtualFileIdPageConfigLazy)(id);
17
- (0, utils_js_1.assert)(result);
12
+ const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
13
+ async function generateVirtualFilePageEntry(id, isDev, config) {
14
+ const result = (0, virtualFileId_js_1.parseVirtualFileId)(id);
15
+ (0, utils_js_1.assert)(result && result.type === 'page-entry');
18
16
  /* This assertion fails when using includeAssetsImportedByServer
19
17
  {
20
18
  const isForClientSide = !config.build.ssr
@@ -36,20 +34,20 @@ async function getVirtualFilePageConfigLazy(id, isDev, config) {
36
34
  throw (0, utils_js_1.getProjectError)('Outdated request');
37
35
  //*/
38
36
  }
39
- const code = getLoadConfigLazy(pageConfig, isForClientSide, pageId, (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config), config, isDev);
37
+ const code = getCode(pageConfig, isForClientSide, pageId, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config), config, isDev);
40
38
  (0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
41
39
  return code;
42
40
  }
43
- function getLoadConfigLazy(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, config, isDev) {
41
+ function getCode(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, config, isDev) {
44
42
  const lines = [];
45
43
  const importStatements = [];
46
44
  const filesEnv = new Map();
47
45
  const isClientRouting = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, 'clientRouting', 'boolean')?.value ?? false;
48
46
  lines.push('export const configValuesSerialized = {');
49
- lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
47
+ lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, { isForClientSide, isClientRouting, isDev }, '', false));
50
48
  lines.push('};');
51
49
  if (!(0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)(config) && includeAssetsImportedByServer && isForClientSide && !isDev) {
52
- importStatements.push(`import '${(0, extractAssetsQuery_js_1.extractAssetsAddQuery)((0, virtualFilePageConfigLazy_js_1.getVirtualFileIdPageConfigLazy)(pageId, false))}'`);
50
+ importStatements.push(`import '${(0, extractAssetsQuery_js_1.extractAssetsAddQuery)((0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId, isForClientSide: false }))}'`);
53
51
  }
54
52
  const code = [...importStatements, ...lines].join('\n');
55
53
  return code;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfigValueSourcesRelevant = getConfigValueSourcesRelevant;
4
+ exports.isRuntimeEnvMatch = isRuntimeEnvMatch;
5
+ const utils_js_1 = require("../../utils.js");
6
+ function getConfigValueSourcesRelevant(configName, runtimeEnv, pageConfig) {
7
+ const configDef = pageConfig.configDefinitions[configName];
8
+ (0, utils_js_1.assert)(configDef);
9
+ let sourcesRelevant = pageConfig.configValueSources[configName];
10
+ if (!sourcesRelevant)
11
+ return [];
12
+ if (!configDef.cumulative) {
13
+ const source = sourcesRelevant[0];
14
+ if (source) {
15
+ sourcesRelevant = [source];
16
+ }
17
+ else {
18
+ (0, utils_js_1.assert)(sourcesRelevant.length === 0);
19
+ }
20
+ }
21
+ else {
22
+ // isOverridden() must be called before isRuntimeEnvMatch() is called (otherwise isOverridden() will return a wrong value)
23
+ sourcesRelevant = sourcesRelevant.filter((source) => !isOverridden(source, configName, pageConfig));
24
+ }
25
+ sourcesRelevant = sourcesRelevant.filter((source) => isRuntimeEnvMatch(source.configEnv, runtimeEnv));
26
+ return sourcesRelevant;
27
+ }
28
+ function isRuntimeEnvMatch(configEnv, runtimeEnv) {
29
+ if ('isForConfig' in runtimeEnv)
30
+ return !!configEnv.config;
31
+ // Runtime
32
+ if (!runtimeEnv.isForClientSide) {
33
+ if (!configEnv.server)
34
+ return false;
35
+ }
36
+ else {
37
+ if (!configEnv.client)
38
+ return false;
39
+ if (configEnv.client === 'if-client-routing' && !runtimeEnv.isClientRouting)
40
+ return false;
41
+ }
42
+ // Production/development
43
+ if (configEnv.production !== undefined) {
44
+ (0, utils_js_1.assert)(typeof configEnv.production === 'boolean');
45
+ (0, utils_js_1.assert)(typeof runtimeEnv.isDev === 'boolean');
46
+ if (configEnv.production) {
47
+ if (runtimeEnv.isDev)
48
+ return false;
49
+ }
50
+ else {
51
+ if (!runtimeEnv.isDev)
52
+ return false;
53
+ }
54
+ }
55
+ return true;
56
+ }
57
+ function isOverridden(source, configName, pageConfig) {
58
+ const configDef = pageConfig.configDefinitions[configName];
59
+ (0, utils_js_1.assert)(configDef);
60
+ if (configDef.cumulative)
61
+ return false;
62
+ const sources = pageConfig.configValueSources[configName];
63
+ (0, utils_js_1.assert)(sources);
64
+ const idx = sources.indexOf(source);
65
+ (0, utils_js_1.assert)(idx >= 0);
66
+ return idx > 0;
67
+ }