vike 0.4.238 → 0.4.239-commit-33e55d4

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 (197) hide show
  1. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
  2. package/dist/cjs/node/prerender/runPrerender.js +1 -0
  3. package/dist/cjs/node/runtime/globalContext.js +10 -0
  4. package/dist/cjs/node/runtime/index.js +3 -3
  5. package/dist/cjs/node/runtime/page-files/setup.js +3 -1
  6. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +2 -9
  7. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +2 -2
  8. package/dist/cjs/node/runtime/renderPage/csp.js +47 -0
  9. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
  10. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
  11. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +2 -2
  12. package/dist/cjs/node/runtime/renderPage/headersResponse.js +48 -0
  13. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +16 -13
  14. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
  15. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +8 -6
  16. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
  17. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
  18. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +5 -3
  19. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
  20. package/dist/cjs/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
  21. package/dist/cjs/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
  22. package/dist/cjs/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
  23. package/dist/cjs/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
  24. package/dist/cjs/node/runtime/{html → renderPage/html}/stream.js +1 -1
  25. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +17 -38
  26. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
  27. package/dist/cjs/node/runtime/renderPage.js +1 -1
  28. package/dist/cjs/node/vite/onLoad.js +1 -1
  29. package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +32 -28
  30. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
  31. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +24 -20
  32. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +4 -2
  33. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +76 -74
  34. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +18 -14
  35. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +17 -9
  36. package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +4 -2
  37. package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +20 -18
  38. package/dist/cjs/node/vite/plugins/pluginCommon.js +7 -21
  39. package/dist/cjs/node/vite/plugins/pluginDev.js +51 -47
  40. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +62 -57
  41. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +107 -93
  42. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +27 -13
  43. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +107 -84
  44. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +40 -21
  45. package/dist/cjs/node/vite/plugins/pluginPreview.js +30 -24
  46. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +59 -33
  47. package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +4 -2
  48. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +1 -1
  49. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +54 -36
  50. package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +8 -6
  51. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +3 -0
  52. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -1
  53. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +20 -22
  54. package/dist/cjs/shared/createGlobalContextShared.js +4 -22
  55. package/dist/cjs/shared/createPageContextShared.js +2 -2
  56. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +62 -43
  57. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  58. package/dist/cjs/utils/assert.js +16 -1
  59. package/dist/cjs/utils/assertNodeVersion.js +3 -1
  60. package/dist/cjs/utils/assertVersion.js +26 -5
  61. package/dist/cjs/utils/joinEnglish.js +2 -1
  62. package/dist/cjs/utils/virtualFileId.js +15 -11
  63. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +40 -17
  64. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
  65. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
  66. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +99 -85
  67. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +39 -11
  68. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
  69. package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
  70. package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
  71. package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  72. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +44 -29
  73. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +40 -17
  74. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  75. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +39 -11
  76. package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  77. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +39 -11
  78. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
  79. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  80. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -3
  81. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
  82. package/dist/esm/node/prerender/resolvePrerenderConfig.js +4 -3
  83. package/dist/esm/node/prerender/runPrerender.d.ts +61 -16
  84. package/dist/esm/node/prerender/runPrerender.js +2 -1
  85. package/dist/esm/node/runtime/globalContext.d.ts +167 -42
  86. package/dist/esm/node/runtime/globalContext.js +11 -1
  87. package/dist/esm/node/runtime/index.d.ts +3 -3
  88. package/dist/esm/node/runtime/index.js +3 -3
  89. package/dist/esm/node/runtime/page-files/setup.js +3 -1
  90. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -1
  91. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +2 -9
  92. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +56 -12
  93. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
  94. package/dist/esm/node/runtime/renderPage/csp.d.ts +12 -0
  95. package/dist/esm/node/runtime/renderPage/csp.js +45 -0
  96. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +2 -2
  97. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
  98. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
  99. package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
  100. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +2 -2
  101. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
  102. package/dist/esm/node/runtime/renderPage/headersResponse.d.ts +10 -0
  103. package/dist/esm/node/runtime/renderPage/headersResponse.js +46 -0
  104. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.d.ts +1 -1
  105. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +16 -13
  106. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.d.ts +1 -1
  107. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
  108. package/dist/esm/node/runtime/renderPage/html/injectAssets/inferHtmlTags.d.ts +10 -0
  109. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +7 -5
  110. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
  111. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
  112. package/dist/esm/node/runtime/renderPage/html/injectAssets/mergeScriptTags.d.ts +3 -0
  113. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +6 -4
  114. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.d.ts +2 -2
  115. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
  116. package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
  117. package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.d.ts +1 -1
  118. package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
  119. package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.d.ts +6 -5
  120. package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
  121. package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
  122. package/dist/esm/node/runtime/{html → renderPage/html}/stream.js +1 -1
  123. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +66 -17
  124. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +18 -39
  125. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -2
  126. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +122 -32
  127. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
  128. package/dist/esm/node/runtime/renderPage.d.ts +56 -12
  129. package/dist/esm/node/runtime/renderPage.js +1 -1
  130. package/dist/esm/node/vite/onLoad.js +1 -1
  131. package/dist/esm/node/vite/plugins/pluginBaseUrls.js +32 -28
  132. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
  133. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +24 -20
  134. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +4 -2
  135. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +76 -74
  136. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +18 -14
  137. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +18 -10
  138. package/dist/esm/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +4 -2
  139. package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +20 -18
  140. package/dist/esm/node/vite/plugins/pluginCommon.js +8 -22
  141. package/dist/esm/node/vite/plugins/pluginDev.js +51 -47
  142. package/dist/esm/node/vite/plugins/pluginEnvVars.js +62 -57
  143. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +107 -91
  144. package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +27 -13
  145. package/dist/esm/node/vite/plugins/pluginFileEnv.js +107 -84
  146. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +41 -22
  147. package/dist/esm/node/vite/plugins/pluginPreview.js +30 -24
  148. package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +11 -0
  149. package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +58 -33
  150. package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +4 -2
  151. package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +2 -2
  152. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +56 -38
  153. package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +8 -6
  154. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +3 -0
  155. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +2 -2
  156. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -8
  157. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +22 -24
  158. package/dist/esm/shared/createGlobalContextShared.d.ts +75 -19
  159. package/dist/esm/shared/createGlobalContextShared.js +5 -23
  160. package/dist/esm/shared/createPageContextShared.d.ts +2 -7
  161. package/dist/esm/shared/createPageContextShared.js +2 -2
  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/page-configs/resolveVikeConfigPublic.d.ts +91 -31
  166. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +62 -43
  167. package/dist/esm/types/Config/ConfigResolved.d.ts +8 -0
  168. package/dist/esm/types/Config.d.ts +14 -6
  169. package/dist/esm/types/PageContext.d.ts +8 -25
  170. package/dist/esm/types/VikeNamespace.d.ts +0 -27
  171. package/dist/esm/types/index.d.ts +2 -2
  172. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  173. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  174. package/dist/esm/utils/assert.js +16 -1
  175. package/dist/esm/utils/assertNodeVersion.js +3 -1
  176. package/dist/esm/utils/assertVersion.d.ts +4 -3
  177. package/dist/esm/utils/assertVersion.js +23 -5
  178. package/dist/esm/utils/joinEnglish.js +2 -1
  179. package/dist/esm/utils/virtualFileId.d.ts +4 -0
  180. package/dist/esm/utils/virtualFileId.js +14 -11
  181. package/package.json +5 -5
  182. package/dist/cjs/types/Config/helpers.js +0 -2
  183. package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.d.ts +0 -9
  184. package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.d.ts +0 -2
  185. package/dist/esm/types/Config/PageContextConfig.d.ts +0 -15
  186. package/dist/esm/types/Config/helpers.d.ts +0 -10
  187. package/dist/esm/types/Config/helpers.js +0 -1
  188. /package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
  189. /package/dist/cjs/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
  190. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.d.ts +0 -0
  191. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.d.ts +0 -0
  192. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.d.ts +0 -0
  193. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
  194. /package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.d.ts +0 -0
  195. /package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.d.ts +0 -0
  196. /package/dist/esm/node/runtime/{html → renderPage/html}/stream.d.ts +0 -0
  197. /package/dist/esm/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  export { loadPageConfigsLazyServerSide };
2
2
  import { getPageFilesServerSide } from '../../../shared/getPageFiles.js';
3
- import { resolveVikeConfigPublicPageLazyLoaded } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
3
+ import { resolvePageContextConfig } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
4
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
5
5
  import { assertUsage, assertWarning, hasProp, isArray, isObject, objectAssign, updateType, } from '../utils.js';
6
6
  import { getPageAssets } from './getPageAssets.js';
@@ -8,13 +8,14 @@ import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
8
8
  import { analyzePage } from './analyzePage.js';
9
9
  import { loadAndParseVirtualFilePageEntry } from '../../../shared/page-configs/loadAndParseVirtualFilePageEntry.js';
10
10
  import { execHookServer } from './execHookServer.js';
11
- import { getCacheControl } from './getCacheControl.js';
11
+ import { resolveHeadersResponseEarly } from './headersResponse.js';
12
+ import { resolvePageContextCspNone } from './csp.js';
12
13
  async function loadPageConfigsLazyServerSide(pageContext) {
13
14
  objectAssign(pageContext, {
14
15
  _pageConfig: findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId),
15
16
  });
16
17
  // Load the page's + files
17
- updateType(pageContext, await loadPageUserFiles(pageContext));
18
+ objectAssign(pageContext, await loadPageUserFiles(pageContext));
18
19
  // Resolve new computed pageContext properties
19
20
  updateType(pageContext, await resolvePageContext(pageContext));
20
21
  // Execute +onCreatePageContext
@@ -53,12 +54,13 @@ async function resolvePageContext(pageContext) {
53
54
  passToClient.push(...valS);
54
55
  });
55
56
  }
57
+ objectAssign(pageContext, await resolvePageContextCspNone(pageContext));
56
58
  objectAssign(pageContext, {
57
59
  Page: pageContext.exports.Page,
58
60
  _isHtmlOnly: isHtmlOnly,
59
61
  _passToClient: passToClient,
60
- headersResponse: resolveHeadersResponse(pageContext),
61
62
  });
63
+ objectAssign(pageContext, await resolveHeadersResponseEarly(pageContext));
62
64
  objectAssign(pageContext, {
63
65
  __getPageAssets: async () => {
64
66
  if ('_pageAssets' in pageContext) {
@@ -101,43 +103,20 @@ async function resolvePageContext(pageContext) {
101
103
  return pageContext;
102
104
  }
103
105
  async function loadPageUserFiles(pageContext) {
104
- const [{ configPublicPageLazy }] = await Promise.all([
105
- loadPageUserFiles_v1Design(pageContext),
106
+ const [{ pageContextAddendum }] = await Promise.all([
107
+ (async () => {
108
+ const pageFilesServerSide = getPageFilesServerSide(pageContext._pageFilesAll, pageContext.pageId);
109
+ const isDev = !pageContext._globalContext._isProduction;
110
+ const pageConfigLoaded = !pageContext._pageConfig
111
+ ? null
112
+ : await loadAndParseVirtualFilePageEntry(pageContext._pageConfig, isDev);
113
+ await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
114
+ const pageContextAddendum = resolvePageContextConfig(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
115
+ return { pageContextAddendum };
116
+ })(),
106
117
  analyzePageClientSideInit(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
107
118
  sharedPageFilesAlreadyLoaded: true,
108
119
  }),
109
120
  ]);
110
- objectAssign(pageContext, configPublicPageLazy);
111
- return pageContext;
112
- }
113
- async function loadPageUserFiles_v1Design(pageContext) {
114
- const pageFilesServerSide = getPageFilesServerSide(pageContext._pageFilesAll, pageContext.pageId);
115
- const isDev = !pageContext._globalContext._isProduction;
116
- const pageConfigLoaded = !pageContext._pageConfig
117
- ? null
118
- : await loadAndParseVirtualFilePageEntry(pageContext._pageConfig, isDev);
119
- await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
120
- const configPublicPageLazy = resolveVikeConfigPublicPageLazyLoaded(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
121
- return {
122
- configPublicPageLazy,
123
- pageFilesLoaded: pageFilesServerSide,
124
- };
125
- }
126
- function resolveHeadersResponse(pageContext) {
127
- const headersResponse = mergeHeaders(pageContext.config.headersResponse);
128
- if (!headersResponse.get('Cache-Control')) {
129
- const cacheControl = getCacheControl(pageContext.pageId, pageContext._globalContext._pageConfigs);
130
- if (cacheControl)
131
- headersResponse.set('Cache-Control', cacheControl);
132
- }
133
- return headersResponse;
134
- }
135
- function mergeHeaders(headersList = []) {
136
- const headersMerged = new Headers();
137
- headersList.forEach((headers) => {
138
- new Headers(headers).forEach((value, key) => {
139
- headersMerged.append(key, value);
140
- });
141
- });
142
- return headersMerged;
121
+ return pageContextAddendum;
143
122
  }
@@ -1,10 +1,10 @@
1
1
  export { preparePageContextForPublicUsageServer };
2
2
  export type { PageContextForPublicUsageServer };
3
3
  import type { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
4
- import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
+ import type { PageContextConfig } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
5
5
  import type { PageContextInternalServer } from '../../../types/PageContext.js';
6
6
  import type { GlobalContextServerInternal } from '../globalContext.js';
7
- type PageContextForPublicUsageServer = PageContextInternalServer & VikeConfigPublicPageLazyLoaded & {
7
+ type PageContextForPublicUsageServer = PageContextInternalServer & PageContextConfig & {
8
8
  urlOriginal: string;
9
9
  /** @deprecated */
10
10
  url: string;
@@ -39,24 +39,52 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
39
39
  url?: string;
40
40
  headers?: Record<string, string>;
41
41
  } & {
42
- _globalContext: {
43
- isGlobalContext: true;
44
- _isOriginalObject: true;
45
- _virtualFileExportsGlobalEntry: unknown;
46
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
47
- _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
48
- _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
49
- _allPageIds: string[];
50
- _vikeConfigPublicGlobal: {
42
+ _globalContext: ({
43
+ _globalConfigPublic: {
44
+ pages: {
45
+ [k: string]: {
46
+ config: import("../../../types/index.js").ConfigResolved;
47
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
48
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
49
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
50
+ } & ({
51
+ route: import("../../../types/Config.js").Route;
52
+ isErrorPage?: undefined;
53
+ } | {
54
+ route?: undefined;
55
+ isErrorPage: true;
56
+ });
57
+ };
51
58
  config: import("../../../types/index.js").ConfigResolved;
52
59
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
53
60
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
54
61
  _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
55
62
  };
56
- config: import("../../../types/index.js").ConfigResolved;
57
63
  pages: {
58
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
64
+ [k: string]: {
65
+ config: import("../../../types/index.js").ConfigResolved;
66
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
67
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
68
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
69
+ } & ({
70
+ route: import("../../../types/Config.js").Route;
71
+ isErrorPage?: undefined;
72
+ } | {
73
+ route?: undefined;
74
+ isErrorPage: true;
75
+ });
59
76
  };
77
+ config: import("../../../types/index.js").ConfigResolved;
78
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
79
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
80
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
81
+ isGlobalContext: true;
82
+ _isOriginalObject: true;
83
+ _virtualFileExportsGlobalEntry: unknown;
84
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
85
+ _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
86
+ _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
87
+ _allPageIds: string[];
60
88
  } & (({
61
89
  _isProduction: false;
62
90
  _isPrerendering: false;
@@ -99,7 +127,9 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
99
127
  inject: boolean | undefined;
100
128
  };
101
129
  };
102
- });
130
+ })) & {
131
+ prerenderContext: import("../../prerender/runPrerender.js").PrerenderContextPublic | undefined;
132
+ };
103
133
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
104
134
  _baseServer: string;
105
135
  _baseAssets: string;
@@ -108,6 +138,20 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
108
138
  _urlHandler: ((url: string) => string) | null;
109
139
  isClientSideNavigation: boolean;
110
140
  } & {
141
+ pages: {
142
+ [k: string]: {
143
+ config: import("../../../types/index.js").ConfigResolved;
144
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
145
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
146
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
147
+ } & ({
148
+ route: import("../../../types/Config.js").Route;
149
+ isErrorPage?: undefined;
150
+ } | {
151
+ route?: undefined;
152
+ isErrorPage: true;
153
+ });
154
+ };
111
155
  config: import("../../../types/index.js").ConfigResolved;
112
156
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
113
157
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
@@ -123,14 +167,15 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
123
167
  pageId: string;
124
168
  } & {
125
169
  _pageConfig: import("../../../types/PageConfig.js").PageConfigRuntime | null;
126
- } & {
127
- _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
128
- } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazyLoaded & {
170
+ } & import("../../../shared/getPageFiles.js").PageContextConfig & {
129
171
  _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
172
+ } & {
173
+ cspNonce: string | null;
130
174
  } & {
131
175
  Page: unknown;
132
176
  _isHtmlOnly: boolean;
133
- _passToClient: import("../html/serializeContext.js").PassToClient;
177
+ _passToClient: import("./html/serializeContext.js").PassToClient;
178
+ } & {
134
179
  headersResponse: Headers;
135
180
  } & {
136
181
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
@@ -158,24 +203,52 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
158
203
  url?: string;
159
204
  headers?: Record<string, string>;
160
205
  } & {
161
- _globalContext: {
162
- isGlobalContext: true;
163
- _isOriginalObject: true;
164
- _virtualFileExportsGlobalEntry: unknown;
165
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
166
- _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
167
- _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
168
- _allPageIds: string[];
169
- _vikeConfigPublicGlobal: {
206
+ _globalContext: ({
207
+ _globalConfigPublic: {
208
+ pages: {
209
+ [k: string]: {
210
+ config: import("../../../types/index.js").ConfigResolved;
211
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
212
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
213
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
214
+ } & ({
215
+ route: import("../../../types/Config.js").Route;
216
+ isErrorPage?: undefined;
217
+ } | {
218
+ route?: undefined;
219
+ isErrorPage: true;
220
+ });
221
+ };
170
222
  config: import("../../../types/index.js").ConfigResolved;
171
223
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
172
224
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
173
225
  _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
174
226
  };
175
- config: import("../../../types/index.js").ConfigResolved;
176
227
  pages: {
177
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
228
+ [k: string]: {
229
+ config: import("../../../types/index.js").ConfigResolved;
230
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
231
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
232
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
233
+ } & ({
234
+ route: import("../../../types/Config.js").Route;
235
+ isErrorPage?: undefined;
236
+ } | {
237
+ route?: undefined;
238
+ isErrorPage: true;
239
+ });
178
240
  };
241
+ config: import("../../../types/index.js").ConfigResolved;
242
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
243
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
244
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
245
+ isGlobalContext: true;
246
+ _isOriginalObject: true;
247
+ _virtualFileExportsGlobalEntry: unknown;
248
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
249
+ _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
250
+ _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
251
+ _allPageIds: string[];
179
252
  } & (({
180
253
  _isProduction: false;
181
254
  _isPrerendering: false;
@@ -218,7 +291,9 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
218
291
  inject: boolean | undefined;
219
292
  };
220
293
  };
221
- });
294
+ })) & {
295
+ prerenderContext: import("../../prerender/runPrerender.js").PrerenderContextPublic | undefined;
296
+ };
222
297
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
223
298
  _baseServer: string;
224
299
  _baseAssets: string;
@@ -227,6 +302,20 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
227
302
  _urlHandler: ((url: string) => string) | null;
228
303
  isClientSideNavigation: boolean;
229
304
  } & {
305
+ pages: {
306
+ [k: string]: {
307
+ config: import("../../../types/index.js").ConfigResolved;
308
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
309
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
310
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
311
+ } & ({
312
+ route: import("../../../types/Config.js").Route;
313
+ isErrorPage?: undefined;
314
+ } | {
315
+ route?: undefined;
316
+ isErrorPage: true;
317
+ });
318
+ };
230
319
  config: import("../../../types/index.js").ConfigResolved;
231
320
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
232
321
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
@@ -242,14 +331,15 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
242
331
  pageId: string;
243
332
  } & {
244
333
  _pageConfig: import("../../../types/PageConfig.js").PageConfigRuntime | null;
245
- } & {
246
- _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
247
- } & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazyLoaded & {
334
+ } & import("../../../shared/getPageFiles.js").PageContextConfig & {
248
335
  _pageConfig: null | import("../../../types/PageConfig.js").PageConfigRuntime;
336
+ } & {
337
+ cspNonce: string | null;
249
338
  } & {
250
339
  Page: unknown;
251
340
  _isHtmlOnly: boolean;
252
- _passToClient: import("../html/serializeContext.js").PassToClient;
341
+ _passToClient: import("./html/serializeContext.js").PassToClient;
342
+ } & {
253
343
  headersResponse: Headers;
254
344
  } & {
255
345
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
@@ -1,9 +1,9 @@
1
1
  export { renderPageAfterRoute };
2
2
  export { prerenderPage };
3
3
  import { getErrorPageId } from '../../../shared/error-page.js';
4
- import { getHtmlString } from '../html/renderHtml.js';
4
+ import { getHtmlString } from './html/renderHtml.js';
5
5
  import { assert, assertUsage, updateType, hasProp, objectAssign } from '../utils.js';
6
- import { getPageContextClientSerialized } from '../html/serializeContext.js';
6
+ import { getPageContextClientSerialized } from './html/serializeContext.js';
7
7
  import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
8
8
  import { loadPageConfigsLazyServerSide, } from './loadPageConfigsLazyServerSide.js';
9
9
  import { execHookOnRenderHtml } from './execHookOnRenderHtml.js';
@@ -31,24 +31,52 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
31
31
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
32
32
  /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
33
33
  } & {
34
- _globalContext: {
35
- isGlobalContext: true;
36
- _isOriginalObject: true;
37
- _virtualFileExportsGlobalEntry: unknown;
38
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
39
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
40
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
41
- _allPageIds: string[];
42
- _vikeConfigPublicGlobal: {
34
+ _globalContext: ({
35
+ _globalConfigPublic: {
36
+ pages: {
37
+ [k: string]: {
38
+ config: import("../../types/index.js").ConfigResolved;
39
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
40
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
41
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
42
+ } & ({
43
+ route: import("../../types/Config.js").Route;
44
+ isErrorPage?: undefined;
45
+ } | {
46
+ route?: undefined;
47
+ isErrorPage: true;
48
+ });
49
+ };
43
50
  config: import("../../types/index.js").ConfigResolved;
44
51
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
45
52
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
46
53
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
47
54
  };
48
- config: import("../../types/index.js").ConfigResolved;
49
55
  pages: {
50
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
56
+ [k: string]: {
57
+ config: import("../../types/index.js").ConfigResolved;
58
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
59
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
60
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
61
+ } & ({
62
+ route: import("../../types/Config.js").Route;
63
+ isErrorPage?: undefined;
64
+ } | {
65
+ route?: undefined;
66
+ isErrorPage: true;
67
+ });
51
68
  };
69
+ config: import("../../types/index.js").ConfigResolved;
70
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
71
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
72
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
73
+ isGlobalContext: true;
74
+ _isOriginalObject: true;
75
+ _virtualFileExportsGlobalEntry: unknown;
76
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
77
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
78
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
79
+ _allPageIds: string[];
52
80
  } & (({
53
81
  _isProduction: false;
54
82
  _isPrerendering: false;
@@ -91,7 +119,9 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
91
119
  inject: boolean | undefined;
92
120
  };
93
121
  };
94
- });
122
+ })) & {
123
+ prerenderContext: import("../prerender/runPrerender.js").PrerenderContextPublic | undefined;
124
+ };
95
125
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
96
126
  _baseServer: string;
97
127
  _baseAssets: string;
@@ -100,6 +130,20 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
100
130
  _urlHandler: ((url: string) => string) | null;
101
131
  isClientSideNavigation: boolean;
102
132
  } & {
133
+ pages: {
134
+ [k: string]: {
135
+ config: import("../../types/index.js").ConfigResolved;
136
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
137
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
138
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
139
+ } & ({
140
+ route: import("../../types/Config.js").Route;
141
+ isErrorPage?: undefined;
142
+ } | {
143
+ route?: undefined;
144
+ isErrorPage: true;
145
+ });
146
+ };
103
147
  config: import("../../types/index.js").ConfigResolved;
104
148
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
105
149
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
@@ -13,7 +13,7 @@ import { isNewError } from './renderPage/isNewError.js';
13
13
  import { assertArguments } from './renderPage/assertArguments.js';
14
14
  import { log404 } from './renderPage/log404/index.js';
15
15
  import pc from '@brillout/picocolors';
16
- import { getPageContextClientSerializedAbort, getPageContextClientSerialized } from './html/serializeContext.js';
16
+ import { getPageContextClientSerializedAbort, getPageContextClientSerialized, } from './renderPage/html/serializeContext.js';
17
17
  import { getErrorPageId } from '../../shared/error-page.js';
18
18
  import { handleErrorWithoutErrorPage } from './renderPage/handleErrorWithoutErrorPage.js';
19
19
  import { loadPageConfigsLazyServerSide } from './renderPage/loadPageConfigsLazyServerSide.js';
@@ -13,7 +13,7 @@ function onLoad() {
13
13
  // TO-DO/eventually: let's also use this.meta.viteVersion
14
14
  // - https://github.com/vitejs/vite/pull/20088
15
15
  // - https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-2025-06-24
16
- assertVersion('Vite', version, '6.0.0');
16
+ assertVersion('Vite', version, ['6.3.0']);
17
17
  // Ensure we don't bloat the server runtime with heavy dependencies such Vite and esbuild
18
18
  assertIsNotProductionRuntime();
19
19
  }
@@ -7,35 +7,39 @@ function pluginBaseUrls() {
7
7
  return {
8
8
  name: 'vike:pluginBaseUrls',
9
9
  enforce: 'post',
10
- async config(config) {
11
- const isDev = config._isDev;
12
- assert(typeof isDev === 'boolean');
13
- const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
14
- const vikeConfig = await getVikeConfigInternal();
15
- basesResolved = resolveBase(baseViteOriginal, vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null);
16
- // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
17
- process.env.BASE_SERVER = basesResolved.baseServer;
18
- process.env.BASE_ASSETS = basesResolved.baseAssets;
19
- return {
20
- envPrefix: [
21
- 'VITE_', // Vite doesn't seem to merge in its default, see https://github.com/vikejs/vike/issues/554
22
- 'BASE_SERVER',
23
- 'BASE_ASSETS',
24
- ],
25
- base: basesResolved.baseAssets, // Make Vite inject baseAssets to imports e.g. `import logoUrl from './logo.svg.js'`
26
- _baseViteOriginal: baseViteOriginal,
27
- };
10
+ config: {
11
+ async handler(config) {
12
+ const isDev = config._isDev;
13
+ assert(typeof isDev === 'boolean');
14
+ const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
15
+ const vikeConfig = await getVikeConfigInternal();
16
+ basesResolved = resolveBase(baseViteOriginal, vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null);
17
+ // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
18
+ process.env.BASE_SERVER = basesResolved.baseServer;
19
+ process.env.BASE_ASSETS = basesResolved.baseAssets;
20
+ return {
21
+ envPrefix: [
22
+ 'VITE_', // Vite doesn't seem to merge in its default, see https://github.com/vikejs/vike/issues/554
23
+ 'BASE_SERVER',
24
+ 'BASE_ASSETS',
25
+ ],
26
+ base: basesResolved.baseAssets, // Make Vite inject baseAssets to imports e.g. `import logoUrl from './logo.svg.js'`
27
+ _baseViteOriginal: baseViteOriginal,
28
+ };
29
+ },
28
30
  },
29
- async configResolved(config) {
30
- const vikeConfig = await getVikeConfigInternal();
31
- const basesResolved2 = resolveBaseFromResolvedConfig(vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null, config);
32
- assert(basesResolved2.baseServer === basesResolved.baseServer);
33
- assert(basesResolved2.baseAssets === basesResolved.baseAssets);
34
- /* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
35
- * - In dev, Vite removes the URL origin. (I.e. it resolves the user config `vite.config.js#base: 'http://localhost:8080/cdn/'` to resolved config `config.base === '/cdn/'`.)
36
- * - Instead of having an internal Vike assertion fail, we let the user discover Vite's buggy behavior.
37
- assert(config.base === baseAssets)
38
- */
31
+ configResolved: {
32
+ async handler(config) {
33
+ const vikeConfig = await getVikeConfigInternal();
34
+ const basesResolved2 = resolveBaseFromResolvedConfig(vikeConfig.config.baseServer ?? null, vikeConfig.config.baseAssets ?? null, config);
35
+ assert(basesResolved2.baseServer === basesResolved.baseServer);
36
+ assert(basesResolved2.baseAssets === basesResolved.baseAssets);
37
+ /* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
38
+ * - In dev, Vite removes the URL origin. (I.e. it resolves the user config `vite.config.js#base: 'http://localhost:8080/cdn/'` to resolved config `config.base === '/cdn/'`.)
39
+ * - Instead of having an internal Vike assertion fail, we let the user discover Vite's buggy behavior.
40
+ assert(config.base === baseAssets)
41
+ */
42
+ },
39
43
  },
40
44
  };
41
45
  }
@@ -19,7 +19,7 @@ import { getManifestFilePathRelative } from '../../shared/getManifestFilePathRel
19
19
  const globalObject = getGlobalObject('build/handleAssetsManifest.ts', {
20
20
  assetsJsonFilePath: undefined,
21
21
  });
22
- // true => use workaround config.build.ssrEmitAssets
22
+ // yes => use workaround config.build.ssrEmitAssets
23
23
  // false => use workaround extractAssets plugin
24
24
  function handleAssetsManifest_isFixEnabled() {
25
25
  // Allow user to toggle between the two workarounds? E.g. based on https://vike.dev/includeAssetsImportedByServer.
@@ -46,35 +46,39 @@ function pluginBuildApp() {
46
46
  {
47
47
  name: 'vike:build:pluginBuildApp',
48
48
  apply: 'build',
49
- config(config) {
50
- return {
51
- environments: {
52
- ssr: {
53
- consumer: 'server',
54
- build: {
55
- outDir: resolveOutDir(config, true),
56
- ssr: true,
49
+ config: {
50
+ handler(config) {
51
+ return {
52
+ environments: {
53
+ ssr: {
54
+ consumer: 'server',
55
+ build: {
56
+ outDir: resolveOutDir(config, true),
57
+ ssr: true,
58
+ },
57
59
  },
58
- },
59
- client: {
60
- consumer: 'client',
61
- build: {
62
- outDir: resolveOutDir(config, false),
63
- copyPublicDir: true,
64
- ssr: false,
60
+ client: {
61
+ consumer: 'client',
62
+ build: {
63
+ outDir: resolveOutDir(config, false),
64
+ copyPublicDir: true,
65
+ ssr: false,
66
+ },
65
67
  },
66
68
  },
67
- },
68
- };
69
+ };
70
+ },
69
71
  },
70
72
  },
71
73
  {
72
74
  name: 'vike:build:pluginBuildApp:autoFullBuild:pre',
73
75
  apply: 'build',
74
76
  enforce: 'pre',
75
- async configResolved(config_) {
76
- config = config_;
77
- await abortViteBuildSsr();
77
+ configResolved: {
78
+ async handler(config_) {
79
+ config = config_;
80
+ await abortViteBuildSsr();
81
+ },
78
82
  },
79
83
  // TO-DO/eventually: stop using this writeBundle() hack and, instead, use the buildApp() implementation above.
80
84
  // - Could it cause issues if a tool uses the writeBundle() hack together with getVikeConfig() ?
@@ -40,8 +40,10 @@ function pluginBuildConfig() {
40
40
  return { build };
41
41
  },
42
42
  },
43
- buildStart() {
44
- onSetupBuild();
43
+ buildStart: {
44
+ handler() {
45
+ onSetupBuild();
46
+ },
45
47
  },
46
48
  },
47
49
  ];