vike 0.4.218 → 0.4.220-commit-a9f46b8

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 (211) hide show
  1. package/dist/cjs/__internal/index.js +11 -11
  2. package/dist/cjs/node/api/build.js +22 -48
  3. package/dist/cjs/node/api/context.js +8 -6
  4. package/dist/cjs/node/api/index.js +17 -7
  5. package/dist/cjs/node/api/prepareViteApiCall.js +40 -13
  6. package/dist/cjs/node/cli/context.js +16 -0
  7. package/dist/cjs/node/cli/entry.js +21 -7
  8. package/dist/cjs/node/cli/utils.js +1 -0
  9. package/dist/cjs/node/plugin/index.js +5 -5
  10. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +32 -20
  11. package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -10
  12. package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
  13. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  14. package/dist/cjs/node/plugin/plugins/commonConfig.js +41 -4
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +26 -23
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +171 -68
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
  19. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
  20. package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  21. package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
  22. package/dist/cjs/node/prerender/context.js +24 -0
  23. package/dist/cjs/node/prerender/runPrerender.js +146 -96
  24. package/dist/cjs/node/prerender/utils.js +2 -0
  25. package/dist/cjs/node/runtime/globalContext.js +109 -55
  26. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  27. package/dist/cjs/node/runtime/index-common.js +0 -15
  28. package/dist/cjs/node/runtime/onLoad.js +17 -3
  29. package/dist/cjs/node/runtime/page-files/setup.js +2 -4
  30. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  31. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
  32. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  33. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  34. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +9 -1
  35. package/dist/cjs/node/runtime/renderPage.js +21 -22
  36. package/dist/cjs/node/runtime/utils.js +2 -0
  37. package/dist/cjs/node/runtime-dev/index.js +17 -7
  38. package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -2
  39. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  40. package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  41. package/dist/cjs/shared/getPageFiles.js +3 -9
  42. package/dist/cjs/shared/hooks/getHook.js +3 -3
  43. package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
  44. package/dist/cjs/shared/page-configs/loadConfigValues.js +5 -1
  45. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  46. package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
  47. package/dist/cjs/shared/utils.js +1 -0
  48. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  49. package/dist/cjs/utils/assert.js +4 -3
  50. package/dist/cjs/utils/assertSetup.js +47 -16
  51. package/dist/cjs/utils/catchInfiniteLoop.js +34 -0
  52. package/dist/cjs/utils/debug.js +11 -6
  53. package/dist/cjs/utils/getGlobalObject.js +1 -2
  54. package/dist/cjs/utils/isDev.js +2 -0
  55. package/dist/cjs/utils/makePublicCopy.js +32 -0
  56. package/dist/cjs/utils/objectReplace.js +9 -0
  57. package/dist/esm/__internal/index.d.ts +3 -5
  58. package/dist/esm/__internal/index.js +6 -8
  59. package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -1
  60. package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
  61. package/dist/esm/client/client-routing-runtime/entry.js +0 -1
  62. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  63. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  64. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  65. package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
  66. package/dist/esm/client/client-routing-runtime/history.js +23 -18
  67. package/dist/esm/client/client-routing-runtime/index.d.ts +0 -1
  68. package/dist/esm/client/client-routing-runtime/index.js +0 -1
  69. package/dist/esm/client/client-routing-runtime/initClientRouter.js +2 -2
  70. package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +3 -4
  71. package/dist/esm/client/client-routing-runtime/initOnPopState.d.ts +0 -10
  72. package/dist/esm/client/client-routing-runtime/initOnPopState.js +50 -62
  73. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  74. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  75. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  76. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +15 -15
  77. package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +4 -6
  78. package/dist/esm/client/client-routing-runtime/scrollRestoration.js +17 -12
  79. package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +1 -1
  80. package/dist/esm/client/client-routing-runtime/setScrollPosition.js +29 -5
  81. package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
  82. package/dist/esm/client/client-routing-runtime/utils.js +1 -0
  83. package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
  84. package/dist/esm/client/server-routing-runtime/entry.js +0 -1
  85. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  86. package/dist/esm/client/server-routing-runtime/getPageContext.js +5 -2
  87. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  88. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  89. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  90. package/dist/esm/client/shared/normalizeClientSideUrl.js +2 -3
  91. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  92. package/dist/esm/node/api/build.d.ts +1 -6
  93. package/dist/esm/node/api/build.js +20 -26
  94. package/dist/esm/node/api/context.d.ts +4 -2
  95. package/dist/esm/node/api/context.js +8 -7
  96. package/dist/esm/node/api/prepareViteApiCall.d.ts +0 -1
  97. package/dist/esm/node/api/prepareViteApiCall.js +26 -9
  98. package/dist/esm/node/cli/context.d.ts +5 -0
  99. package/dist/esm/node/cli/context.js +14 -0
  100. package/dist/esm/node/cli/entry.js +4 -0
  101. package/dist/esm/node/cli/parseCli.d.ts +3 -1
  102. package/dist/esm/node/cli/utils.d.ts +1 -0
  103. package/dist/esm/node/cli/utils.js +1 -0
  104. package/dist/esm/node/plugin/index.d.ts +1 -1
  105. package/dist/esm/node/plugin/index.js +5 -5
  106. package/dist/esm/node/plugin/plugins/autoFullBuild.js +32 -20
  107. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -1
  108. package/dist/esm/node/plugin/plugins/baseUrls.js +4 -11
  109. package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
  110. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
  111. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
  112. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  113. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +10 -1
  114. package/dist/esm/node/plugin/plugins/commonConfig.js +42 -5
  115. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
  116. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +6 -9
  117. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +25 -22
  118. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +96 -1
  119. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +167 -64
  120. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  121. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
  122. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
  123. package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
  124. package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  125. package/dist/esm/node/prerender/context.d.ts +9 -0
  126. package/dist/esm/node/prerender/context.js +22 -0
  127. package/dist/esm/node/prerender/runPrerender.d.ts +42 -2
  128. package/dist/esm/node/prerender/runPrerender.js +130 -90
  129. package/dist/esm/node/prerender/utils.d.ts +2 -0
  130. package/dist/esm/node/prerender/utils.js +2 -0
  131. package/dist/esm/node/runtime/globalContext.d.ts +23 -7
  132. package/dist/esm/node/runtime/globalContext.js +109 -55
  133. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
  134. package/dist/esm/node/runtime/index-common.d.ts +0 -1
  135. package/dist/esm/node/runtime/index-common.js +0 -15
  136. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
  137. package/dist/esm/node/runtime/onLoad.js +16 -2
  138. package/dist/esm/node/runtime/page-files/setup.js +3 -3
  139. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  140. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
  141. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  142. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
  143. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  144. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  145. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +31 -46
  146. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  147. package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +1 -1
  148. package/dist/esm/node/runtime/renderPage/resolveRedirects.js +9 -1
  149. package/dist/esm/node/runtime/renderPage.js +22 -23
  150. package/dist/esm/node/runtime/utils.d.ts +2 -0
  151. package/dist/esm/node/runtime/utils.js +2 -0
  152. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
  153. package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -1
  154. package/dist/esm/node/shared/assertRuntimeManifest.js +1 -3
  155. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  156. package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +3 -1
  157. package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  158. package/dist/esm/shared/getPageFiles.d.ts +2 -5
  159. package/dist/esm/shared/getPageFiles.js +1 -4
  160. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  161. package/dist/esm/shared/hooks/getHook.js +1 -1
  162. package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +9 -5
  163. package/dist/esm/shared/page-configs/Config.d.ts +20 -2
  164. package/dist/esm/shared/page-configs/PageConfig.d.ts +13 -6
  165. package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +26 -12
  166. package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
  167. package/dist/esm/shared/page-configs/loadConfigValues.js +6 -2
  168. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +26 -6
  169. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  170. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  171. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  172. package/dist/esm/shared/types.d.ts +1 -1
  173. package/dist/esm/shared/utils.d.ts +1 -0
  174. package/dist/esm/shared/utils.js +1 -0
  175. package/dist/esm/types/index.d.ts +1 -1
  176. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  177. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  178. package/dist/esm/utils/assert.js +4 -3
  179. package/dist/esm/utils/assertSetup.js +47 -16
  180. package/dist/esm/utils/catchInfiniteLoop.d.ts +2 -0
  181. package/dist/esm/utils/catchInfiniteLoop.js +32 -0
  182. package/dist/esm/utils/debug.d.ts +1 -1
  183. package/dist/esm/utils/debug.js +11 -6
  184. package/dist/esm/utils/getGlobalObject.js +1 -2
  185. package/dist/esm/utils/isDev.js +2 -0
  186. package/dist/esm/utils/makePublicCopy.d.ts +3 -0
  187. package/dist/esm/utils/makePublicCopy.js +30 -0
  188. package/dist/esm/utils/objectReplace.d.ts +1 -0
  189. package/dist/esm/utils/objectReplace.js +6 -0
  190. package/dist/esm/utils/projectInfo.d.ts +1 -1
  191. package/package.json +4 -13
  192. package/__internal/loadImportBuild.js +0 -3
  193. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
  194. package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
  195. package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
  196. package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
  197. package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
  198. package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
  199. package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
  200. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
  201. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
  202. package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
  203. package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
  204. package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
  205. package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
  206. package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
  207. /package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  208. /package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
  209. /package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  210. /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
  211. /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
@@ -2,17 +2,11 @@ export { renderPageAlreadyRouted };
2
2
  export { prerenderPage };
3
3
  export { prerender404Page };
4
4
  export { getPageContextInitEnhanced };
5
- export { getRenderContext };
6
- export type { RenderContext };
7
5
  export type { PageContextAfterRender };
8
6
  export type { PageContextInitEnhanced };
9
- import { type PageFile } from '../../../shared/getPageFiles.js';
10
7
  import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
11
8
  import { HttpResponse } from './createHttpResponse.js';
12
9
  import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
13
- import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../../shared/page-configs/PageConfig.js';
14
- import { type PageRoutes } from '../../../shared/route/loadPageRoutes.js';
15
- import type { Hook } from '../../../shared/hooks/getHook.js';
16
10
  type PageContextAfterRender = {
17
11
  httpResponse: HttpResponse;
18
12
  errorWhileRendering: null | Error;
@@ -45,12 +39,12 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
45
39
  _baseServer: string;
46
40
  _baseAssets: string | null;
47
41
  _includeAssetsImportedByServer: boolean;
48
- _pageFilesAll: PageFile[];
49
- _pageConfigs: PageConfigRuntime[];
50
- _pageConfigGlobal: PageConfigGlobalRuntime;
42
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
43
+ _pageConfigs: import("../../../__internal/index.js").PageConfig[];
44
+ _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
51
45
  _allPageIds: string[];
52
- _pageRoutes: PageRoutes;
53
- _onBeforeRouteHook: Hook | null;
46
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
47
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
54
48
  _pageContextInit: {
55
49
  urlOriginal: string;
56
50
  headersOriginal?: unknown;
@@ -65,7 +59,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
65
59
  url: string;
66
60
  } & {
67
61
  headers: Record<string, string> | null;
68
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
62
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
69
63
  Page: unknown;
70
64
  _isHtmlOnly: boolean;
71
65
  _passToClient: string[];
@@ -96,12 +90,12 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
96
90
  _baseServer: string;
97
91
  _baseAssets: string | null;
98
92
  _includeAssetsImportedByServer: boolean;
99
- _pageFilesAll: PageFile[];
100
- _pageConfigs: PageConfigRuntime[];
101
- _pageConfigGlobal: PageConfigGlobalRuntime;
93
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
94
+ _pageConfigs: import("../../../__internal/index.js").PageConfig[];
95
+ _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
102
96
  _allPageIds: string[];
103
- _pageRoutes: PageRoutes;
104
- _onBeforeRouteHook: Hook | null;
97
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
98
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
105
99
  _pageContextInit: {
106
100
  urlOriginal: string;
107
101
  headersOriginal?: unknown;
@@ -116,7 +110,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
116
110
  url: string;
117
111
  } & {
118
112
  headers: Record<string, string> | null;
119
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
113
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
120
114
  Page: unknown;
121
115
  _isHtmlOnly: boolean;
122
116
  _passToClient: string[];
@@ -136,7 +130,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
136
130
  _urlHandler: null;
137
131
  };
138
132
  }>;
139
- declare function prerender404Page(renderContext: RenderContext, pageContextInit_: Record<string, unknown> | null): Promise<{
133
+ declare function prerender404Page(pageContextInit_: Record<string, unknown> | null): Promise<{
140
134
  documentHtml: string;
141
135
  pageContextSerialized: null;
142
136
  pageContext: {
@@ -148,12 +142,12 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
148
142
  _baseServer: string;
149
143
  _baseAssets: string | null;
150
144
  _includeAssetsImportedByServer: boolean;
151
- _pageFilesAll: PageFile[];
152
- _pageConfigs: PageConfigRuntime[];
153
- _pageConfigGlobal: PageConfigGlobalRuntime;
145
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
146
+ _pageConfigs: import("../../../__internal/index.js").PageConfig[];
147
+ _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
154
148
  _allPageIds: string[];
155
- _pageRoutes: PageRoutes;
156
- _onBeforeRouteHook: Hook | null;
149
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
150
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
157
151
  _pageContextInit: {
158
152
  urlOriginal: string;
159
153
  headersOriginal?: unknown;
@@ -168,7 +162,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
168
162
  url: string;
169
163
  } & {
170
164
  headers: Record<string, string> | null;
171
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
165
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
172
166
  Page: unknown;
173
167
  _isHtmlOnly: boolean;
174
168
  _passToClient: string[];
@@ -199,12 +193,12 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
199
193
  _baseServer: string;
200
194
  _baseAssets: string | null;
201
195
  _includeAssetsImportedByServer: boolean;
202
- _pageFilesAll: PageFile[];
203
- _pageConfigs: PageConfigRuntime[];
204
- _pageConfigGlobal: PageConfigGlobalRuntime;
196
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
197
+ _pageConfigs: import("../../../__internal/index.js").PageConfig[];
198
+ _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
205
199
  _allPageIds: string[];
206
- _pageRoutes: PageRoutes;
207
- _onBeforeRouteHook: Hook | null;
200
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
201
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
208
202
  _pageContextInit: {
209
203
  urlOriginal: string;
210
204
  headersOriginal?: unknown;
@@ -219,7 +213,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
219
213
  url: string;
220
214
  } & {
221
215
  headers: Record<string, string> | null;
222
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
216
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
223
217
  Page: unknown;
224
218
  _isHtmlOnly: boolean;
225
219
  _passToClient: string[];
@@ -244,7 +238,7 @@ declare function getPageContextInitEnhanced(pageContextInit: {
244
238
  urlOriginal: string;
245
239
  headersOriginal?: unknown;
246
240
  headers?: unknown;
247
- }, renderContext: RenderContext, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } }?: {
241
+ }, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } }?: {
248
242
  ssr?: {
249
243
  urlRewrite: null | string;
250
244
  urlHandler: null | ((url: string) => string);
@@ -259,12 +253,12 @@ declare function getPageContextInitEnhanced(pageContextInit: {
259
253
  _baseServer: string;
260
254
  _baseAssets: string | null;
261
255
  _includeAssetsImportedByServer: boolean;
262
- _pageFilesAll: PageFile[];
263
- _pageConfigs: PageConfigRuntime[];
264
- _pageConfigGlobal: PageConfigGlobalRuntime;
256
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
257
+ _pageConfigs: import("../../../__internal/index.js").PageConfig[];
258
+ _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
265
259
  _allPageIds: string[];
266
- _pageRoutes: PageRoutes;
267
- _onBeforeRouteHook: Hook | null;
260
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
261
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
268
262
  _pageContextInit: {
269
263
  urlOriginal: string;
270
264
  headersOriginal?: unknown;
@@ -280,12 +274,3 @@ declare function getPageContextInitEnhanced(pageContextInit: {
280
274
  } & {
281
275
  headers: Record<string, string> | null;
282
276
  };
283
- type RenderContext = {
284
- pageFilesAll: PageFile[];
285
- pageConfigs: PageConfigRuntime[];
286
- pageConfigGlobal: PageConfigGlobalRuntime;
287
- allPageIds: string[];
288
- pageRoutes: PageRoutes;
289
- onBeforeRouteHook: Hook | null;
290
- };
291
- declare function getRenderContext(): Promise<RenderContext>;
@@ -2,10 +2,8 @@ export { renderPageAlreadyRouted };
2
2
  export { prerenderPage };
3
3
  export { prerender404Page };
4
4
  export { getPageContextInitEnhanced };
5
- export { getRenderContext };
6
5
  import { getErrorPageId } from '../../../shared/error-page.js';
7
6
  import { getHtmlString } from '../html/renderHtml.js';
8
- import { getPageFilesAll } from '../../../shared/getPageFiles.js';
9
7
  import { assert, assertUsage, assertWarning, hasProp, normalizeHeaders, objectAssign } from '../utils.js';
10
8
  import { serializePageContextClientSide } from '../html/serializePageContextClientSide.js';
11
9
  import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
@@ -18,10 +16,8 @@ import { logRuntimeError } from './loggerRuntime.js';
18
16
  import { isNewError } from './isNewError.js';
19
17
  import { preparePageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
20
18
  import { executeGuardHook } from '../../../shared/route/executeGuardHook.js';
21
- import { loadPageRoutes } from '../../../shared/route/loadPageRoutes.js';
22
19
  import pc from '@brillout/picocolors';
23
20
  import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
24
- import { assertV1Design } from '../../shared/assertV1Design.js';
25
21
  async function renderPageAlreadyRouted(pageContext) {
26
22
  // pageContext.pageId can either be the:
27
23
  // - ID of the page matching the routing, or the
@@ -84,8 +80,9 @@ async function prerenderPage(pageContext) {
84
80
  return { documentHtml, pageContextSerialized, pageContext };
85
81
  }
86
82
  }
87
- async function prerender404Page(renderContext, pageContextInit_) {
88
- const errorPageId = getErrorPageId(renderContext.pageFilesAll, renderContext.pageConfigs);
83
+ async function prerender404Page(pageContextInit_) {
84
+ const globalContext = getGlobalContext();
85
+ const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
89
86
  if (!errorPageId) {
90
87
  return null;
91
88
  }
@@ -104,13 +101,13 @@ async function prerender404Page(renderContext, pageContextInit_) {
104
101
  };
105
102
  objectAssign(pageContextInit, pageContextInit_);
106
103
  {
107
- const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit, renderContext);
104
+ const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit);
108
105
  objectAssign(pageContext, pageContextInitEnhanced);
109
106
  }
110
107
  objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
111
108
  return prerenderPage(pageContext);
112
109
  }
113
- function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } = {
110
+ function getPageContextInitEnhanced(pageContextInit, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } = {
114
111
  urlRewrite: null,
115
112
  urlHandler: null,
116
113
  isClientSideNavigation: false
@@ -126,12 +123,12 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
126
123
  _baseAssets: globalContext.baseAssets,
127
124
  _includeAssetsImportedByServer: globalContext.includeAssetsImportedByServer,
128
125
  // TODO: use GloablContext instead
129
- _pageFilesAll: renderContext.pageFilesAll,
130
- _pageConfigs: renderContext.pageConfigs,
131
- _pageConfigGlobal: renderContext.pageConfigGlobal,
132
- _allPageIds: renderContext.allPageIds,
133
- _pageRoutes: renderContext.pageRoutes,
134
- _onBeforeRouteHook: renderContext.onBeforeRouteHook,
126
+ _pageFilesAll: globalContext.pageFilesAll,
127
+ _pageConfigs: globalContext.pageConfigs,
128
+ _pageConfigGlobal: globalContext.pageConfigGlobal,
129
+ _allPageIds: globalContext.allPageIds,
130
+ _pageRoutes: globalContext.pageRoutes,
131
+ _onBeforeRouteHook: globalContext.onBeforeRouteHook,
135
132
  _pageContextInit: pageContextInit,
136
133
  _urlRewrite: urlRewrite,
137
134
  _urlHandler: urlHandler,
@@ -159,22 +156,3 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
159
156
  }
160
157
  return pageContextInitEnhanced;
161
158
  }
162
- // TODO: remove getRenderContext() in favor of getGlobalObject() + reloadGlobalContext()
163
- // TODO: impl GlobalNodeContext + GlobalClientContext + GloablContext, and use GlobalContext instead of RenderContext
164
- async function getRenderContext() {
165
- const globalContext = getGlobalContext();
166
- const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal } = await getPageFilesAll(false, globalContext.isProduction);
167
- const { pageRoutes, onBeforeRouteHook } = await loadPageRoutes(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
168
- assertV1Design(
169
- // pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
170
- pageConfigs.length > 0, pageFilesAll);
171
- const renderContext = {
172
- pageFilesAll: pageFilesAll,
173
- pageConfigs,
174
- pageConfigGlobal,
175
- allPageIds: allPageIds,
176
- pageRoutes,
177
- onBeforeRouteHook
178
- };
179
- return renderContext;
180
- }
@@ -1,4 +1,4 @@
1
1
  export { resolveRedirects };
2
2
  export { resolveRouteStringRedirect };
3
- declare function resolveRedirects(redirects: Record<string, string>, urlPathname: string): null | string;
3
+ declare function resolveRedirects(redirectsAll: Record<string, string>[], urlPathname: string): null | string;
4
4
  declare function resolveRouteStringRedirect(urlSource: string, urlTarget: string, urlPathname: string): null | string;
@@ -9,7 +9,8 @@ import pc from '@brillout/picocolors';
9
9
  assertIsNotBrowser(); // Don't bloat the client
10
10
  // TODO/next-major-release: update
11
11
  const configSrc = '[vite.config.js > vike({ redirects })]';
12
- function resolveRedirects(redirects, urlPathname) {
12
+ function resolveRedirects(redirectsAll, urlPathname) {
13
+ const redirects = merge(redirectsAll);
13
14
  for (const [urlSource, urlTarget] of Object.entries(redirects)) {
14
15
  const urlResolved = resolveRouteStringRedirect(urlSource, urlTarget, urlPathname);
15
16
  if (urlResolved)
@@ -40,3 +41,10 @@ function assertParams(urlSource, urlTarget) {
40
41
  }
41
42
  });
42
43
  }
44
+ function merge(objs) {
45
+ const obj = {};
46
+ objs.forEach((e) => {
47
+ Object.assign(obj, e);
48
+ });
49
+ return obj;
50
+ }
@@ -1,6 +1,6 @@
1
1
  export { renderPage };
2
2
  export { renderPage_addWrapper };
3
- import { getRenderContext, getPageContextInitEnhanced, renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
3
+ import { getPageContextInitEnhanced, renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
4
4
  import { route } from '../../shared/route/index.js';
5
5
  import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, createUrlFromComponents, isUri, getUrlPretty } from './utils.js';
6
6
  import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled } from '../../shared/route/abort.js';
@@ -60,10 +60,8 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
60
60
  }
61
61
  }
62
62
  // Prepare context
63
- let renderContext;
64
63
  try {
65
64
  await initGlobalContext_renderPage();
66
- renderContext = await getRenderContext();
67
65
  }
68
66
  catch (err) {
69
67
  // Errors are expected since assertUsage() is used in both initGlobalContext_renderPage() and getRenderContext().
@@ -77,7 +75,7 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
77
75
  return handleInvalidConfig(isConfigInvalid.err);
78
76
  }
79
77
  else {
80
- // From now on, renderContext.pageConfigs contains all the configuration data; getVikeConfig() isn't called anymore for this request
78
+ // From now on, gloablContext contains all the configuration data; getVikeConfig() isn't called anymore for this request
81
79
  }
82
80
  // Check Base URL
83
81
  assertBaseUrl(pageContextInit);
@@ -93,9 +91,9 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
93
91
  if (pageContextHttpResponse)
94
92
  return pageContextHttpResponse;
95
93
  }
96
- return await renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderContext, []);
94
+ return await renderPageAlreadyPrepared(pageContextInit, httpRequestId, []);
97
95
  }
98
- async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderContext, pageContextsFromRewrite) {
96
+ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageContextsFromRewrite) {
99
97
  assertNoInfiniteAbortLoop(pageContextsFromRewrite.length,
100
98
  // There doesn't seem to be a way to count the number of HTTP redirects (vike don't have access to the HTTP request headers/cookies)
101
99
  // https://stackoverflow.com/questions/9683007/detect-infinite-http-redirect-loop-on-server-side
@@ -107,7 +105,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
107
105
  objectAssign(pageContextNominalPageInit, pageContextFromAllRewrites);
108
106
  }
109
107
  {
110
- const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, renderContext, pageContextNominalPageInit._urlRewrite, httpRequestId);
108
+ const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, pageContextNominalPageInit._urlRewrite, httpRequestId);
111
109
  objectAssign(pageContextNominalPageInit, pageContextInitEnhanced);
112
110
  }
113
111
  let errNominalPage;
@@ -139,10 +137,10 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
139
137
  assert(pageContextNominalPageSuccess === undefined);
140
138
  assert(pageContextNominalPageInit);
141
139
  assert(hasProp(pageContextNominalPageInit, 'urlOriginal', 'string'));
142
- const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPageInit, renderContext, httpRequestId);
140
+ const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPageInit, httpRequestId);
143
141
  // Handle `throw redirect()` and `throw render()` while rendering nominal page
144
142
  if (isAbortError(errNominalPage)) {
145
- const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageInit);
143
+ const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
146
144
  if (handled.pageContextReturn) {
147
145
  // - throw redirect()
148
146
  // - throw render(url)
@@ -155,7 +153,8 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
155
153
  Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
156
154
  }
157
155
  {
158
- const errorPageId = getErrorPageId(renderContext.pageFilesAll, renderContext.pageConfigs);
156
+ const globalContext = getGlobalContext();
157
+ const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
159
158
  if (!errorPageId) {
160
159
  objectAssign(pageContextErrorPageInit, { pageId: null });
161
160
  return handleErrorWithoutErrorPage(pageContextErrorPageInit);
@@ -171,7 +170,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
171
170
  catch (errErrorPage) {
172
171
  // Handle `throw redirect()` and `throw render()` while rendering error page
173
172
  if (isAbortError(errErrorPage)) {
174
- const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageInit);
173
+ const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
175
174
  // throw render(abortStatusCode)
176
175
  if (!handled.pageContextReturn) {
177
176
  const pageContextAbort = errErrorPage._pageContextAbort;
@@ -287,8 +286,8 @@ async function renderPageNominal(pageContext) {
287
286
  assert(pageContext === pageContextAfterRender);
288
287
  return pageContextAfterRender;
289
288
  }
290
- async function getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPagePartial, renderContext, httpRequestId) {
291
- const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, renderContext, null, httpRequestId);
289
+ async function getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPagePartial, httpRequestId) {
290
+ const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, null, httpRequestId);
292
291
  assert(errNominalPage);
293
292
  const pageContext = {};
294
293
  objectAssign(pageContext, pageContextInitEnhanced);
@@ -303,9 +302,9 @@ async function getPageContextErrorPageInit(pageContextInit, errNominalPage, page
303
302
  assert(pageContext.errorWhileRendering);
304
303
  return pageContext;
305
304
  }
306
- function getPageContextInitEnhancedSSR(pageContextInit, renderContext, urlRewrite, httpRequestId) {
305
+ function getPageContextInitEnhancedSSR(pageContextInit, urlRewrite, httpRequestId) {
307
306
  const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
308
- const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit, renderContext, {
307
+ const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit, {
309
308
  ssr: {
310
309
  urlRewrite,
311
310
  urlHandler: _urlHandler,
@@ -354,12 +353,12 @@ function normalizeUrl(pageContextInit, httpRequestId) {
354
353
  return pageContextHttpResponse;
355
354
  }
356
355
  function getPermanentRedirect(pageContextInit, httpRequestId) {
357
- const { redirects, baseServer } = getGlobalContext();
358
- const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal, baseServer);
356
+ const globalContext = getGlobalContext();
357
+ const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal, globalContext.baseServer);
359
358
  let origin = null;
360
359
  let urlTargetExternal = null;
361
360
  let urlTarget = modifyUrlPathname(urlWithoutBase, (urlPathname) => {
362
- const urlTarget = resolveRedirects(redirects, urlPathname);
361
+ const urlTarget = resolveRedirects(globalContext.vikeConfig.global.config.redirects ?? [], urlPathname);
363
362
  if (urlTarget === null)
364
363
  return null;
365
364
  if (!isUrl(urlTarget)) {
@@ -387,7 +386,7 @@ function getPermanentRedirect(pageContextInit, httpRequestId) {
387
386
  if (normalize(urlTarget) === normalize(urlWithoutBase))
388
387
  return null;
389
388
  if (!originChanged)
390
- urlTarget = prependBase(urlTarget, baseServer);
389
+ urlTarget = prependBase(urlTarget, globalContext.baseServer);
391
390
  assert(urlTarget !== pageContextInit.urlOriginal);
392
391
  }
393
392
  logRuntimeInfo?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
@@ -401,13 +400,14 @@ function normalize(url) {
401
400
  }
402
401
  async function handleAbortError(errAbort, pageContextsFromRewrite, pageContextInit,
403
402
  // handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageInit to it: we only use some pageContextNominalPageInit information.
404
- pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageInit) {
403
+ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit) {
405
404
  logAbortErrorHandled(errAbort, getGlobalContext().isProduction, pageContextNominalPageInit);
406
405
  const pageContextAbort = errAbort._pageContextAbort;
407
406
  let pageContextSerialized;
408
407
  if (pageContextNominalPageInit.isClientSideNavigation) {
409
408
  if (pageContextAbort.abortStatusCode) {
410
- const errorPageId = getErrorPageId(renderContext.pageFilesAll, renderContext.pageConfigs);
409
+ const globalContext = getGlobalContext();
410
+ const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
411
411
  const abortCall = pageContextAbort._abortCall;
412
412
  assert(abortCall);
413
413
  assertUsage(errorPageId, `You called ${pc.cyan(abortCall)} but you didn't define an error page, make sure to define one https://vike.dev/error-page`);
@@ -415,7 +415,6 @@ pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageIn
415
415
  objectAssign(pageContext, { pageId: errorPageId });
416
416
  objectAssign(pageContext, pageContextAbort);
417
417
  objectAssign(pageContext, pageContextErrorPageInit);
418
- objectAssign(pageContext, renderContext);
419
418
  objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
420
419
  // We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
421
420
  pageContextSerialized = serializePageContextClientSide(pageContext);
@@ -428,7 +427,7 @@ pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageIn
428
427
  return { pageContextReturn };
429
428
  }
430
429
  if (pageContextAbort._urlRewrite) {
431
- const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderContext, [
430
+ const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, httpRequestId, [
432
431
  ...pageContextsFromRewrite,
433
432
  pageContextAbort
434
433
  ]);
@@ -15,6 +15,7 @@ export * from '../../utils/projectInfo.js';
15
15
  export * from '../../utils/isArray.js';
16
16
  export * from '../../utils/isObject.js';
17
17
  export * from '../../utils/objectAssign.js';
18
+ export * from '../../utils/objectReplace.js';
18
19
  export * from '../../utils/PromiseType.js';
19
20
  export * from '../../utils/compareString.js';
20
21
  export * from '../../utils/isObjectWithKeys.js';
@@ -55,3 +56,4 @@ export * from '../../utils/isVikeReactApp.js';
55
56
  export * from '../../utils/getPropAccessNotation.js';
56
57
  export * from '../../utils/PROJECT_VERSION.js';
57
58
  export * from '../../utils/genPromise.js';
59
+ export * from '../../utils/makePublicCopy.js';
@@ -19,6 +19,7 @@ export * from '../../utils/projectInfo.js';
19
19
  export * from '../../utils/isArray.js';
20
20
  export * from '../../utils/isObject.js';
21
21
  export * from '../../utils/objectAssign.js';
22
+ export * from '../../utils/objectReplace.js';
22
23
  export * from '../../utils/PromiseType.js';
23
24
  export * from '../../utils/compareString.js';
24
25
  export * from '../../utils/isObjectWithKeys.js';
@@ -59,3 +60,4 @@ export * from '../../utils/isVikeReactApp.js';
59
60
  export * from '../../utils/getPropAccessNotation.js';
60
61
  export * from '../../utils/PROJECT_VERSION.js';
61
62
  export * from '../../utils/genPromise.js';
63
+ export * from '../../utils/makePublicCopy.js';
@@ -6,7 +6,6 @@ type PluginManifest = {
6
6
  baseAssets: string | null;
7
7
  usesClientRouter: boolean;
8
8
  includeAssetsImportedByServer: boolean;
9
- redirects: Record<string, string>;
10
9
  trailingSlash: boolean;
11
10
  disableUrlNormalization: boolean;
12
11
  };
@@ -4,7 +4,6 @@ type RuntimeManifest = {
4
4
  baseServer: string;
5
5
  baseAssets: string;
6
6
  includeAssetsImportedByServer: boolean;
7
- redirects: Record<string, string>;
8
7
  trailingSlash: boolean;
9
8
  disableUrlNormalization: boolean;
10
9
  };
@@ -1,5 +1,5 @@
1
1
  export { assertRuntimeManifest };
2
- import { assert, castType, checkType, hasProp, isBaseAssets, isBaseServer, isObject } from './utils.js';
2
+ import { assert, checkType, hasProp, isBaseAssets, isBaseServer, isObject } from './utils.js';
3
3
  function assertRuntimeManifest(obj) {
4
4
  assert(obj);
5
5
  assert(isObject(obj));
@@ -8,8 +8,6 @@ function assertRuntimeManifest(obj) {
8
8
  assert(isBaseServer(obj.baseServer));
9
9
  assert(isBaseAssets(obj.baseAssets));
10
10
  assert(hasProp(obj, 'includeAssetsImportedByServer', 'boolean'));
11
- assert(hasProp(obj, 'redirects', 'object'));
12
- castType(obj);
13
11
  assert(hasProp(obj, 'trailingSlash', 'boolean'));
14
12
  assert(hasProp(obj, 'disableUrlNormalization', 'boolean'));
15
13
  checkType(obj);
@@ -1,5 +1,5 @@
1
1
  export { analyzeClientSide };
2
- import { getConfigValueRuntime } from '../page-configs/getConfigValue.js';
2
+ import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
3
3
  import { analyzePageClientSide } from './analyzePageClientSide.js';
4
4
  function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
5
5
  // V1 design
@@ -1,8 +1,9 @@
1
+ export { getPageFilesAll };
1
2
  export { setPageFiles };
2
3
  export { setPageFilesAsync };
3
- export { getPageFilesAll };
4
4
  import type { PageFile } from './getPageFileObject.js';
5
5
  import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
6
+ import { type ConfigUserFriendly } from '../page-configs/getPageConfigUserFriendly.js';
6
7
  declare function setPageFiles(pageFilesExports: unknown): void;
7
8
  declare function setPageFilesAsync(getPageFilesExports: () => Promise<unknown>): void;
8
9
  declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean): Promise<{
@@ -10,4 +11,5 @@ declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean):
10
11
  allPageIds: string[];
11
12
  pageConfigs: PageConfigRuntime[];
12
13
  pageConfigGlobal: PageConfigGlobalRuntime;
14
+ globalConfig: ConfigUserFriendly;
13
15
  }>;
@@ -1,16 +1,18 @@
1
+ export { getPageFilesAll };
1
2
  export { setPageFiles };
2
3
  export { setPageFilesAsync };
3
- export { getPageFilesAll };
4
4
  import { assert, unique } from '../utils.js';
5
5
  import { parseGlobResults } from './parseGlobResults.js';
6
6
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
7
+ import { getPageConfigUserFriendlyNew } from '../page-configs/getPageConfigUserFriendly.js';
7
8
  const globalObject = getGlobalObject('setPageFiles.ts', {});
8
- // TODO:v1-design-release: rename setPageFiles() getPageFilesAll() parseGlobResult()
9
9
  function setPageFiles(pageFilesExports) {
10
10
  const { pageFiles, pageConfigs, pageConfigGlobal } = parseGlobResults(pageFilesExports);
11
11
  globalObject.pageFilesAll = pageFiles;
12
12
  globalObject.pageConfigs = pageConfigs;
13
13
  globalObject.pageConfigGlobal = pageConfigGlobal;
14
+ // TODO/now: re-use this call, instead of calling it twice
15
+ globalObject.globalConfig = getPageConfigUserFriendlyNew(pageConfigGlobal);
14
16
  }
15
17
  function setPageFilesAsync(getPageFilesExports) {
16
18
  globalObject.pageFilesGetter = async () => {
@@ -23,18 +25,18 @@ async function getPageFilesAll(isClientSide, isProduction) {
23
25
  assert(isProduction === undefined);
24
26
  }
25
27
  else {
26
- assert(globalObject.pageFilesGetter);
27
28
  assert(typeof isProduction === 'boolean');
28
29
  if (!globalObject.pageFilesAll ||
29
30
  // We reload all glob imports in dev to make auto-reload work
30
31
  !isProduction) {
32
+ assert(globalObject.pageFilesGetter);
31
33
  await globalObject.pageFilesGetter();
32
34
  }
33
35
  }
34
- const { pageFilesAll, pageConfigs, pageConfigGlobal } = globalObject;
35
- assert(pageFilesAll && pageConfigs && pageConfigGlobal);
36
+ const { pageFilesAll, pageConfigs, pageConfigGlobal, globalConfig } = globalObject;
37
+ assert(pageFilesAll && pageConfigs && pageConfigGlobal && globalConfig);
36
38
  const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
37
- return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal };
39
+ return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig };
38
40
  }
39
41
  function getAllPageIds(allPageFiles, pageConfigs) {
40
42
  const fileIds = allPageFiles.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
@@ -1,8 +1,5 @@
1
1
  export type { PageFile } from './getPageFiles/getPageFileObject.js';
2
- export type { ExportsAll, PageContextExports } from './getPageFiles/getExports.js';
3
- export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
4
- export { setPageFiles } from './getPageFiles/setPageFiles.js';
5
- export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
2
+ export type { ExportsAll, PageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
6
3
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
7
4
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
8
- export { getPageContextExports } from './getPageFiles/getExports.js';
5
+ export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
@@ -1,6 +1,3 @@
1
- export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
2
- export { setPageFiles } from './getPageFiles/setPageFiles.js';
3
- export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
4
1
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
5
2
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
6
- export { getPageContextExports } from './getPageFiles/getExports.js';
3
+ export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
@@ -9,7 +9,7 @@ export type { HookLoc };
9
9
  export type { HookTimeout };
10
10
  export type { HooksTimeoutProvidedByUser };
11
11
  export { getHookTimeoutDefault };
12
- import type { PageContextExports } from '../getPageFiles.js';
12
+ import type { PageConfigUserFriendly } from '../getPageFiles.js';
13
13
  import type { HookName, HookNamePage, HookNameGlobal } from '../page-configs/Config.js';
14
14
  import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../page-configs/PageConfig.js';
15
15
  type Hook = HookLoc & {
@@ -26,10 +26,10 @@ type HookTimeout = {
26
26
  warning: number | false;
27
27
  };
28
28
  type HooksTimeoutProvidedByUser = false | Partial<Record<HookName, false | Partial<HookTimeout>>>;
29
- declare function getHook(pageContext: PageContextExports, hookName: HookName): null | Hook;
29
+ declare function getHook(pageContext: PageConfigUserFriendly, hookName: HookName): null | Hook;
30
30
  declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
31
31
  declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
32
- declare function assertHook<TPageContext extends PageContextExports, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
32
+ declare function assertHook<TPageContext extends PageConfigUserFriendly, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
33
33
  exports: Record<THookName, Function | undefined>;
34
34
  };
35
35
  declare function getHookTimeoutDefault(hookName: HookName): HookTimeout;
@@ -8,7 +8,7 @@ export { getHook_setIsPrerenderering };
8
8
  export { getHookTimeoutDefault };
9
9
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
10
10
  import { getHookFilePathToShowToUser } from '../page-configs/helpers.js';
11
- import { getConfigValueRuntime } from '../page-configs/getConfigValue.js';
11
+ import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
12
12
  import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
13
13
  import pc from '@brillout/picocolors';
14
14
  const globalObject = getGlobalObject('getHook.ts', {});