vike 0.4.229-commit-58f7ed0 → 0.4.229-commit-5da80bf

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 (173) hide show
  1. package/dist/cjs/client/server-routing-runtime/utils.js +1 -0
  2. package/dist/cjs/client/shared/{preparePageContextForUserConsumptionClientSide.js → preparePageContextForPublicUsageClientShared.js} +15 -19
  3. package/dist/cjs/node/api/build.js +1 -5
  4. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
  5. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -6
  6. package/dist/cjs/node/plugin/shared/loggerNotProd.js +2 -2
  7. package/dist/cjs/node/prerender/runPrerender.js +42 -38
  8. package/dist/cjs/node/prerender/utils.js +1 -1
  9. package/dist/cjs/node/runtime/globalContext.js +13 -27
  10. package/dist/cjs/node/runtime/html/serializeContext.js +1 -1
  11. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
  12. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -1
  13. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +6 -9
  14. package/dist/cjs/node/runtime/renderPage/execHookServer.js +11 -0
  15. package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
  16. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
  17. package/dist/cjs/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
  18. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +10 -0
  19. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
  20. package/dist/cjs/node/runtime/renderPage.js +9 -7
  21. package/dist/cjs/node/runtime/utils.js +1 -1
  22. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -1
  23. package/dist/cjs/shared/addIs404ToPageProps.js +0 -7
  24. package/dist/cjs/shared/createGlobalContextShared.js +37 -8
  25. package/dist/cjs/shared/createPageContextShared.js +16 -11
  26. package/dist/cjs/shared/getPageContext.js +3 -3
  27. package/dist/cjs/shared/getPageContextUrlComputed.js +2 -36
  28. package/dist/cjs/shared/getProxyForPublicUsage.js +106 -0
  29. package/dist/cjs/shared/hooks/execHook.js +164 -0
  30. package/dist/cjs/shared/hooks/getHook.js +23 -4
  31. package/dist/cjs/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +54 -47
  32. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +10 -0
  33. package/dist/cjs/shared/preparePageContextForPublicUsage.js +75 -0
  34. package/dist/cjs/shared/route/abort.js +2 -2
  35. package/dist/cjs/shared/route/executeGuardHook.js +4 -9
  36. package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +4 -3
  37. package/dist/cjs/shared/route/index.js +2 -4
  38. package/dist/cjs/shared/route/loadPageRoutes.js +6 -0
  39. package/dist/cjs/shared/route/resolveRouteFunction.js +14 -10
  40. package/dist/cjs/shared/utils.js +2 -0
  41. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  42. package/dist/cjs/utils/objectAssign.js +3 -3
  43. package/dist/cjs/utils/objectDefineProperty.js +1 -1
  44. package/dist/esm/client/client-routing-runtime/{createPageContext.d.ts → createPageContextClientSide.d.ts} +21 -13
  45. package/dist/esm/client/client-routing-runtime/{createPageContext.js → createPageContextClientSide.js} +9 -11
  46. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +400 -15
  47. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +46 -44
  48. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +11 -1
  49. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +3 -8
  50. package/dist/esm/client/client-routing-runtime/prefetch.js +3 -3
  51. package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.d.ts +11 -0
  52. package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
  53. package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +135 -0
  54. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +79 -78
  55. package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
  56. package/dist/esm/client/client-routing-runtime/utils.js +1 -0
  57. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +19 -13
  58. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +12 -15
  59. package/dist/esm/client/server-routing-runtime/entry.js +4 -4
  60. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +11 -1
  61. package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.d.ts +9 -0
  62. package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
  63. package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -0
  64. package/dist/esm/client/server-routing-runtime/utils.js +1 -0
  65. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +11 -1
  66. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +3 -3
  67. package/dist/esm/client/shared/executeOnRenderClientHook.js +4 -13
  68. package/dist/esm/client/shared/{loadUserFilesClientSide.d.ts → loadPageConfigsLazyClientSide.d.ts} +2 -2
  69. package/dist/esm/client/shared/{loadUserFilesClientSide.js → loadPageConfigsLazyClientSide.js} +4 -4
  70. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +11 -0
  71. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +40 -0
  72. package/dist/esm/node/api/build.js +1 -2
  73. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
  74. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +1 -1
  75. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -6
  76. package/dist/esm/node/plugin/shared/loggerNotProd.js +1 -1
  77. package/dist/esm/node/prerender/runPrerender.d.ts +37 -73
  78. package/dist/esm/node/prerender/runPrerender.js +42 -38
  79. package/dist/esm/node/prerender/utils.d.ts +1 -1
  80. package/dist/esm/node/prerender/utils.js +1 -1
  81. package/dist/esm/node/runtime/globalContext.d.ts +46 -251
  82. package/dist/esm/node/runtime/globalContext.js +14 -28
  83. package/dist/esm/node/runtime/html/serializeContext.d.ts +1 -1
  84. package/dist/esm/node/runtime/html/serializeContext.js +1 -1
  85. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +1 -1
  86. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
  87. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +0 -1
  88. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +26 -41
  89. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +7 -10
  90. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +12 -0
  91. package/dist/esm/node/runtime/renderPage/execHookServer.js +9 -0
  92. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -3
  93. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
  94. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +4 -2
  95. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
  96. package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.d.ts → loadPageConfigsLazyServerSide.d.ts} +6 -6
  97. package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
  98. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +20 -0
  99. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +8 -0
  100. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +38 -74
  101. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
  102. package/dist/esm/node/runtime/renderPage.d.ts +21 -39
  103. package/dist/esm/node/runtime/renderPage.js +9 -7
  104. package/dist/esm/node/runtime/utils.d.ts +1 -1
  105. package/dist/esm/node/runtime/utils.js +1 -1
  106. package/dist/esm/shared/NOT_SERIALIZABLE.js +0 -1
  107. package/dist/esm/shared/addIs404ToPageProps.d.ts +1 -6
  108. package/dist/esm/shared/addIs404ToPageProps.js +1 -8
  109. package/dist/esm/shared/createGlobalContextShared.d.ts +28 -6
  110. package/dist/esm/shared/createGlobalContextShared.js +37 -8
  111. package/dist/esm/shared/createPageContextShared.d.ts +7 -6
  112. package/dist/esm/shared/createPageContextShared.js +17 -12
  113. package/dist/esm/shared/getPageContext.d.ts +1 -1
  114. package/dist/esm/shared/getPageContext.js +1 -1
  115. package/dist/esm/shared/getPageContextUrlComputed.d.ts +2 -5
  116. package/dist/esm/shared/getPageContextUrlComputed.js +3 -37
  117. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  118. package/dist/esm/shared/getProxyForPublicUsage.d.ts +12 -0
  119. package/dist/esm/shared/getProxyForPublicUsage.js +104 -0
  120. package/dist/esm/shared/hooks/execHook.d.ts +63 -0
  121. package/dist/esm/shared/hooks/execHook.js +162 -0
  122. package/dist/esm/shared/hooks/getHook.d.ts +10 -11
  123. package/dist/esm/shared/hooks/getHook.js +23 -4
  124. package/dist/esm/shared/page-configs/Config.d.ts +11 -4
  125. package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.d.ts → getUserFriendlyConfigs.d.ts} +8 -6
  126. package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +55 -48
  127. package/dist/esm/shared/prepareGlobalContextForPublicUsage.d.ts +7 -0
  128. package/dist/esm/shared/prepareGlobalContextForPublicUsage.js +8 -0
  129. package/dist/esm/shared/preparePageContextForPublicUsage.d.ts +12 -0
  130. package/dist/esm/shared/preparePageContextForPublicUsage.js +73 -0
  131. package/dist/esm/shared/route/abort.js +1 -1
  132. package/dist/esm/shared/route/executeGuardHook.d.ts +4 -3
  133. package/dist/esm/shared/route/executeGuardHook.js +4 -9
  134. package/dist/esm/shared/route/executeOnBeforeRouteHook.js +4 -3
  135. package/dist/esm/shared/route/index.js +2 -4
  136. package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -1
  137. package/dist/esm/shared/route/loadPageRoutes.js +7 -1
  138. package/dist/esm/shared/route/resolveRouteFunction.d.ts +2 -2
  139. package/dist/esm/shared/route/resolveRouteFunction.js +14 -10
  140. package/dist/esm/shared/types.d.ts +14 -4
  141. package/dist/esm/shared/utils.d.ts +2 -0
  142. package/dist/esm/shared/utils.js +2 -0
  143. package/dist/esm/types/index.d.ts +1 -1
  144. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  145. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  146. package/dist/esm/utils/objectAssign.d.ts +1 -1
  147. package/dist/esm/utils/objectAssign.js +3 -3
  148. package/dist/esm/utils/objectDefineProperty.d.ts +0 -1
  149. package/dist/esm/utils/objectDefineProperty.js +1 -1
  150. package/package.json +2 -2
  151. package/dist/cjs/client/shared/getPageContextProxyForUser.js +0 -16
  152. package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -16
  153. package/dist/cjs/shared/getPageConfigsRuntime.js +0 -23
  154. package/dist/cjs/shared/hooks/executeHook.js +0 -87
  155. package/dist/cjs/shared/hooks/executeHookGeneric.js +0 -18
  156. package/dist/cjs/shared/preparePageContextForUserConsumption.js +0 -34
  157. package/dist/cjs/utils/getPublicProxy.js +0 -27
  158. package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +0 -2
  159. package/dist/esm/client/shared/getPageContextProxyForUser.js +0 -14
  160. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +0 -12
  161. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.js +0 -44
  162. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +0 -24
  163. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -14
  164. package/dist/esm/shared/getPageConfigsRuntime.d.ts +0 -14
  165. package/dist/esm/shared/getPageConfigsRuntime.js +0 -21
  166. package/dist/esm/shared/hooks/executeHook.d.ts +0 -21
  167. package/dist/esm/shared/hooks/executeHook.js +0 -85
  168. package/dist/esm/shared/hooks/executeHookGeneric.d.ts +0 -8
  169. package/dist/esm/shared/hooks/executeHookGeneric.js +0 -16
  170. package/dist/esm/shared/preparePageContextForUserConsumption.d.ts +0 -5
  171. package/dist/esm/shared/preparePageContextForUserConsumption.js +0 -32
  172. package/dist/esm/utils/getPublicProxy.d.ts +0 -2
  173. package/dist/esm/utils/getPublicProxy.js +0 -25
@@ -3,8 +3,8 @@ export { prerenderPage };
3
3
  export type { PageContextAfterRender };
4
4
  import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
5
5
  import { HttpResponse } from './createHttpResponse.js';
6
- import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
7
- import type { PageContextCreatedServerSide } from './createPageContextServerSide.js';
6
+ import { PageContext_loadPageConfigsLazyServerSide, type PageFiles } from './loadPageConfigsLazyServerSide.js';
7
+ import type { PageContextCreated } from './createPageContextServerSide.js';
8
8
  type PageContextAfterRender = {
9
9
  httpResponse: HttpResponse;
10
10
  errorWhileRendering: null | Error;
@@ -16,8 +16,8 @@ declare function renderPageAlreadyRouted<PageContext extends {
16
16
  routeParams: Record<string, string>;
17
17
  errorWhileRendering: null | Error;
18
18
  _httpRequestId: number;
19
- } & PageContextCreatedServerSide & PageContextUrlInternal & PageContext_loadUserFilesServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
20
- declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageFiles & {
19
+ } & PageContextCreated & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
20
+ declare function prerenderPage(pageContext: PageContextCreated & PageFiles & {
21
21
  routeParams: Record<string, string>;
22
22
  pageId: string;
23
23
  _urlRewrite: null;
@@ -29,22 +29,34 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
29
29
  documentHtml: string;
30
30
  pageContextSerialized: null;
31
31
  pageContext: {
32
- isClientSide: boolean;
32
+ _isOriginalObject: true;
33
+ isPageContext: true;
34
+ } & {
35
+ isClientSide: false;
33
36
  isPrerendering: boolean;
34
- } & Pick<import("../../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
37
+ } & Pick<import("../../../shared/types.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
35
38
  url?: string;
36
39
  headers?: Record<string, string>;
37
40
  } & {
38
- globalContext: import("../globalContext.js").GlobalContextServer;
39
41
  _globalContext: {
40
42
  isGlobalContext: true;
43
+ _isOriginalObject: true;
41
44
  _virtualFileExports: unknown;
42
45
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
43
46
  _pageConfigs: import("../../../__internal/index.js").PageConfig[];
44
47
  _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
45
48
  _allPageIds: string[];
49
+ _userFriendlyConfigsGlobal: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
46
50
  config: import("../../../types/index.js").ConfigResolved;
47
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
51
+ pages: {
52
+ [k: string]: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
53
+ route: import("../../../shared/page-configs/Config.js").Route;
54
+ isErrorPage?: undefined;
55
+ } | {
56
+ route?: undefined;
57
+ isErrorPage: true;
58
+ });
59
+ };
48
60
  } & ({
49
61
  _isProduction: false;
50
62
  _isPrerendering: false;
@@ -66,14 +78,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
66
78
  isClientSide: false;
67
79
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
68
80
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
69
- isGlobalContext: true;
70
- _virtualFileExports: unknown;
71
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
72
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
73
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
74
- _allPageIds: string[];
75
- config: import("../../../types/index.js").ConfigResolved;
76
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
77
81
  } | {
78
82
  _isPrerendering: true;
79
83
  viteConfig: import("vite").ResolvedConfig;
@@ -96,14 +100,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
96
100
  isClientSide: false;
97
101
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
98
102
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
99
- isGlobalContext: true;
100
- _virtualFileExports: unknown;
101
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
102
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
103
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
104
- _allPageIds: string[];
105
- config: import("../../../types/index.js").ConfigResolved;
106
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
107
103
  } | {
108
104
  _isPrerendering: false;
109
105
  viteConfig: null;
@@ -126,14 +122,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
126
122
  isClientSide: false;
127
123
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
128
124
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
129
- isGlobalContext: true;
130
- _virtualFileExports: unknown;
131
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
132
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
133
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
134
- _allPageIds: string[];
135
- config: import("../../../types/index.js").ConfigResolved;
136
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
137
125
  });
138
126
  _baseServer: string;
139
127
  _baseAssets: string;
@@ -148,18 +136,12 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
148
136
  _urlRewrite: null;
149
137
  _urlHandler: ((url: string) => string) | null;
150
138
  isClientSideNavigation: boolean;
151
- } & {
139
+ } & import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
152
140
  urlParsed: import("../utils.js").UrlPublic;
153
141
  urlPathname: string;
154
142
  url: string;
155
143
  } & {
156
144
  headers: Record<string, string> | null;
157
- } & {
158
- config: import("../../../types/index.js").ConfigResolved;
159
- _source: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Source;
160
- _sources: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
161
- _from: import("../../../shared/page-configs/getPageConfigUserFriendly.js").From;
162
- isPageContext: true;
163
145
  } & import("../../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
164
146
  Page: unknown;
165
147
  _isHtmlOnly: boolean;
@@ -183,22 +165,34 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
183
165
  documentHtml: string;
184
166
  pageContextSerialized: string;
185
167
  pageContext: {
186
- isClientSide: boolean;
168
+ _isOriginalObject: true;
169
+ isPageContext: true;
170
+ } & {
171
+ isClientSide: false;
187
172
  isPrerendering: boolean;
188
- } & Pick<import("../../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
173
+ } & Pick<import("../../../shared/types.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
189
174
  url?: string;
190
175
  headers?: Record<string, string>;
191
176
  } & {
192
- globalContext: import("../globalContext.js").GlobalContextServer;
193
177
  _globalContext: {
194
178
  isGlobalContext: true;
179
+ _isOriginalObject: true;
195
180
  _virtualFileExports: unknown;
196
181
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
197
182
  _pageConfigs: import("../../../__internal/index.js").PageConfig[];
198
183
  _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
199
184
  _allPageIds: string[];
185
+ _userFriendlyConfigsGlobal: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
200
186
  config: import("../../../types/index.js").ConfigResolved;
201
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
187
+ pages: {
188
+ [k: string]: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
189
+ route: import("../../../shared/page-configs/Config.js").Route;
190
+ isErrorPage?: undefined;
191
+ } | {
192
+ route?: undefined;
193
+ isErrorPage: true;
194
+ });
195
+ };
202
196
  } & ({
203
197
  _isProduction: false;
204
198
  _isPrerendering: false;
@@ -220,14 +214,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
220
214
  isClientSide: false;
221
215
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
222
216
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
223
- isGlobalContext: true;
224
- _virtualFileExports: unknown;
225
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
226
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
227
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
228
- _allPageIds: string[];
229
- config: import("../../../types/index.js").ConfigResolved;
230
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
231
217
  } | {
232
218
  _isPrerendering: true;
233
219
  viteConfig: import("vite").ResolvedConfig;
@@ -250,14 +236,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
250
236
  isClientSide: false;
251
237
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
252
238
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
253
- isGlobalContext: true;
254
- _virtualFileExports: unknown;
255
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
256
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
257
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
258
- _allPageIds: string[];
259
- config: import("../../../types/index.js").ConfigResolved;
260
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
261
239
  } | {
262
240
  _isPrerendering: false;
263
241
  viteConfig: null;
@@ -280,14 +258,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
280
258
  isClientSide: false;
281
259
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
282
260
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
283
- isGlobalContext: true;
284
- _virtualFileExports: unknown;
285
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
286
- _pageConfigs: import("../../../__internal/index.js").PageConfig[];
287
- _pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
288
- _allPageIds: string[];
289
- config: import("../../../types/index.js").ConfigResolved;
290
- pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
291
261
  });
292
262
  _baseServer: string;
293
263
  _baseAssets: string;
@@ -302,18 +272,12 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
302
272
  _urlRewrite: null;
303
273
  _urlHandler: ((url: string) => string) | null;
304
274
  isClientSideNavigation: boolean;
305
- } & {
275
+ } & import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
306
276
  urlParsed: import("../utils.js").UrlPublic;
307
277
  urlPathname: string;
308
278
  url: string;
309
279
  } & {
310
280
  headers: Record<string, string> | null;
311
- } & {
312
- config: import("../../../types/index.js").ConfigResolved;
313
- _source: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Source;
314
- _sources: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
315
- _from: import("../../../shared/page-configs/getPageConfigUserFriendly.js").From;
316
- isPageContext: true;
317
281
  } & import("../../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
318
282
  Page: unknown;
319
283
  _isHtmlOnly: boolean;
@@ -5,12 +5,12 @@ import { getHtmlString } from '../html/renderHtml.js';
5
5
  import { assert, assertUsage, hasProp, objectAssign } from '../utils.js';
6
6
  import { getPageContextClientSerialized } from '../html/serializeContext.js';
7
7
  import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
8
- import { loadUserFilesServerSide } from './loadUserFilesServerSide.js';
8
+ import { loadPageConfigsLazyServerSide } from './loadPageConfigsLazyServerSide.js';
9
9
  import { executeOnRenderHtmlHook } from './executeOnRenderHtmlHook.js';
10
10
  import { executeOnBeforeRenderAndDataHooks } from './executeOnBeforeRenderAndDataHooks.js';
11
11
  import { logRuntimeError } from './loggerRuntime.js';
12
12
  import { isNewError } from './isNewError.js';
13
- import { preparePageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
13
+ import { preparePageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
14
14
  import { executeGuardHook } from '../../../shared/route/executeGuardHook.js';
15
15
  import pc from '@brillout/picocolors';
16
16
  import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
@@ -21,9 +21,9 @@ async function renderPageAlreadyRouted(pageContext) {
21
21
  assert(hasProp(pageContext, 'pageId', 'string'));
22
22
  const isError = pageContext.is404 || !!pageContext.errorWhileRendering;
23
23
  assert(isError === (pageContext.pageId === getErrorPageId(pageContext._pageFilesAll, pageContext._pageConfigs)));
24
- objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
24
+ objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
25
25
  if (!isError) {
26
- await executeGuardHook(pageContext, (pageContext) => preparePageContextForUserConsumptionServerSide(pageContext));
26
+ await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
27
27
  }
28
28
  if (!isError) {
29
29
  await executeOnBeforeRenderAndDataHooks(pageContext);
@@ -60,7 +60,7 @@ async function prerenderPage(pageContext) {
60
60
  });
61
61
  /* Should we execute the guard() hook upon pre-rendering? Is there a use case for this?
62
62
  * - It isn't trivial to implement, as it requires to duplicate / factor out the isAbortError() handling
63
- await executeGuardHook(pageContext, (pageContext) => preparePageContextForUserConsumptionServerSide(pageContext))
63
+ await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext))
64
64
  */
65
65
  await executeOnBeforeRenderAndDataHooks(pageContext);
66
66
  const { htmlRender, renderHook } = await executeOnRenderHtmlHook(pageContext);
@@ -2,11 +2,11 @@ export { renderPage };
2
2
  export { renderPage_addAsyncHookwrapper };
3
3
  export type { PageContextInit };
4
4
  export type { PageContextBegin };
5
- import { type GlobalContextServer, type GlobalContextServerInternal } from './globalContext.js';
5
+ import { type GlobalContextServerInternal } from './globalContext.js';
6
6
  import { type HttpResponse } from './renderPage/createHttpResponse.js';
7
7
  import type { PageContextServer } from '../../types/index.js';
8
- import type { PageContextBuiltInServerInternal } from '../../shared/types.js';
9
- type PageContextInit = Pick<PageContextBuiltInServerInternal, 'urlOriginal' | 'headersOriginal'> & {
8
+ import type { PageContextInternalServer } from '../../shared/types.js';
9
+ type PageContextInit = Pick<PageContextInternalServer, 'urlOriginal' | 'headersOriginal'> & {
10
10
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
11
11
  /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
12
12
  };
@@ -18,23 +18,35 @@ declare let asyncHookWrapper: <PageContext>(_httpRequestId: number, ret: () => P
18
18
  pageContextReturn: Awaited<PageContext>;
19
19
  }>;
20
20
  declare function renderPage_addAsyncHookwrapper(wrapper: typeof asyncHookWrapper): void;
21
- declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, globalContext_public: GlobalContextServer, httpRequestId: number): Promise<{
22
- isClientSide: boolean;
21
+ declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, httpRequestId: number): Promise<{
22
+ _isOriginalObject: true;
23
+ isPageContext: true;
24
+ } & {
25
+ isClientSide: false;
23
26
  isPrerendering: boolean;
24
- } & Pick<PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
27
+ } & Pick<PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
25
28
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
26
29
  /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
27
30
  } & {
28
- globalContext: GlobalContextServer;
29
31
  _globalContext: {
30
32
  isGlobalContext: true;
33
+ _isOriginalObject: true;
31
34
  _virtualFileExports: unknown;
32
35
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
33
36
  _pageConfigs: import("../../__internal/index.js").PageConfig[];
34
37
  _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
35
38
  _allPageIds: string[];
39
+ _userFriendlyConfigsGlobal: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
36
40
  config: import("../../types/index.js").ConfigResolved;
37
- pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
41
+ pages: {
42
+ [k: string]: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
43
+ route: import("../../shared/page-configs/Config.js").Route;
44
+ isErrorPage?: undefined;
45
+ } | {
46
+ route?: undefined;
47
+ isErrorPage: true;
48
+ });
49
+ };
38
50
  } & ({
39
51
  _isProduction: false;
40
52
  _isPrerendering: false;
@@ -56,14 +68,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
56
68
  isClientSide: false;
57
69
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
58
70
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
59
- isGlobalContext: true;
60
- _virtualFileExports: unknown;
61
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
62
- _pageConfigs: import("../../__internal/index.js").PageConfig[];
63
- _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
64
- _allPageIds: string[];
65
- config: import("../../types/index.js").ConfigResolved;
66
- pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
67
71
  } | {
68
72
  _isPrerendering: true;
69
73
  viteConfig: import("vite").ResolvedConfig;
@@ -86,14 +90,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
86
90
  isClientSide: false;
87
91
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
88
92
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
89
- isGlobalContext: true;
90
- _virtualFileExports: unknown;
91
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
92
- _pageConfigs: import("../../__internal/index.js").PageConfig[];
93
- _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
94
- _allPageIds: string[];
95
- config: import("../../types/index.js").ConfigResolved;
96
- pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
97
93
  } | {
98
94
  _isPrerendering: false;
99
95
  viteConfig: null;
@@ -116,14 +112,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
116
112
  isClientSide: false;
117
113
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
118
114
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
119
- isGlobalContext: true;
120
- _virtualFileExports: unknown;
121
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
122
- _pageConfigs: import("../../__internal/index.js").PageConfig[];
123
- _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
124
- _allPageIds: string[];
125
- config: import("../../types/index.js").ConfigResolved;
126
- pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
127
115
  });
128
116
  _baseServer: string;
129
117
  _baseAssets: string;
@@ -138,18 +126,12 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
138
126
  _urlRewrite: null;
139
127
  _urlHandler: ((url: string) => string) | null;
140
128
  isClientSideNavigation: boolean;
141
- } & {
129
+ } & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
142
130
  urlParsed: import("./utils.js").UrlPublic;
143
131
  urlPathname: string;
144
132
  url: string;
145
133
  } & {
146
134
  headers: Record<string, string> | null;
147
- } & {
148
- config: import("../../types/index.js").ConfigResolved;
149
- _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
150
- _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
151
- _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
152
- isPageContext: true;
153
135
  } & {
154
136
  _httpRequestId: number;
155
137
  }>;
@@ -17,8 +17,9 @@ import pc from '@brillout/picocolors';
17
17
  import { getPageContextClientSerializedAbort, getPageContextClientSerialized } from './html/serializeContext.js';
18
18
  import { getErrorPageId } from '../../shared/error-page.js';
19
19
  import { handleErrorWithoutErrorPage } from './renderPage/handleErrorWithoutErrorPage.js';
20
- import { loadUserFilesServerSide } from './renderPage/loadUserFilesServerSide.js';
20
+ import { loadPageConfigsLazyServerSide } from './renderPage/loadPageConfigsLazyServerSide.js';
21
21
  import { resolveRedirects } from './renderPage/resolveRedirects.js';
22
+ import { getProxyForMutationTracking } from '../../shared/getProxyForPublicUsage.js';
22
23
  const globalObject = getGlobalObject('runtime/renderPage.ts', {
23
24
  httpRequestsCount: 0
24
25
  });
@@ -76,8 +77,8 @@ async function renderPagePrepare(pageContextInit, httpRequestId) {
76
77
  else {
77
78
  // `globalContext` now contains the entire Vike config and getVikeConfig() isn't called anymore for this request.
78
79
  }
79
- const { globalContext, globalContext_public } = await getGlobalContextServerInternal();
80
- const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, globalContext_public, httpRequestId);
80
+ const { globalContext } = await getGlobalContextServerInternal();
81
+ const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, httpRequestId);
81
82
  // Check Base URL
82
83
  {
83
84
  const pageContextHttpResponse = await checkBaseUrl(pageContextBegin, globalContext);
@@ -299,9 +300,9 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
299
300
  assert(pageContext.errorWhileRendering);
300
301
  return pageContext;
301
302
  }
302
- async function getPageContextBegin(pageContextInit, globalContext, globalContext_public, httpRequestId) {
303
+ async function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
303
304
  const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
304
- const pageContextBegin = await createPageContextServerSide(pageContextInit, globalContext, globalContext_public, {
305
+ const pageContextBegin = await createPageContextServerSide(pageContextInit, globalContext, {
305
306
  isPrerendering: false,
306
307
  ssr: {
307
308
  urlHandler: _urlHandler,
@@ -410,7 +411,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
410
411
  objectAssign(pageContext, { pageId: errorPageId });
411
412
  objectAssign(pageContext, pageContextAbort);
412
413
  objectAssign(pageContext, pageContextErrorPageInit, true);
413
- objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
414
+ objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
414
415
  // We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
415
416
  pageContextSerialized = getPageContextClientSerialized(pageContext);
416
417
  }
@@ -483,5 +484,6 @@ function getPageContextInvalidVikeConfig(err, pageContextInit, httpRequestId) {
483
484
  function forkPageContext(pageContextBegin) {
484
485
  const pageContext = {};
485
486
  objectAssign(pageContext, pageContextBegin, true);
486
- return pageContext;
487
+ const pageContextWithProxy = getProxyForMutationTracking(pageContext);
488
+ return pageContextWithProxy;
487
489
  }
@@ -54,5 +54,5 @@ export * from '../../utils/isVikeReactApp.js';
54
54
  export * from '../../utils/getPropAccessNotation.js';
55
55
  export * from '../../utils/PROJECT_VERSION.js';
56
56
  export * from '../../utils/genPromise.js';
57
- export * from '../../utils/getPublicProxy.js';
58
57
  export * from '../../utils/augmentType.js';
58
+ export * from '../../utils/changeEnumerable.js';
@@ -58,5 +58,5 @@ export * from '../../utils/isVikeReactApp.js';
58
58
  export * from '../../utils/getPropAccessNotation.js';
59
59
  export * from '../../utils/PROJECT_VERSION.js';
60
60
  export * from '../../utils/genPromise.js';
61
- export * from '../../utils/getPublicProxy.js';
62
61
  export * from '../../utils/augmentType.js';
62
+ export * from '../../utils/changeEnumerable.js';
@@ -1,2 +1 @@
1
- // TODO: move to ../node/runtime/html/NOT_SERIALIZABLE.ts once code is distributed as ESM
2
1
  export const NOT_SERIALIZABLE = '__VIKE__NOT_SERIALIZABLE__';
@@ -1,7 +1,2 @@
1
1
  export { addIs404ToPageProps };
2
- import type { PageConfigRuntime } from './page-configs/PageConfig.js';
3
- declare function addIs404ToPageProps(pageContext: Record<string, unknown> & PageContextAssertIs404): void;
4
- type PageContextAssertIs404 = {
5
- pageId: string;
6
- _pageConfigs: PageConfigRuntime[];
7
- };
2
+ declare function addIs404ToPageProps(pageContext: Record<string, unknown>): void;
@@ -1,15 +1,8 @@
1
1
  export { addIs404ToPageProps };
2
- import { assert, assertWarning, hasProp, isObject } from './utils.js';
3
- import { isErrorPage } from './error-page.js';
2
+ import { assertWarning, isObject } from './utils.js';
4
3
  function addIs404ToPageProps(pageContext) {
5
- assertIs404(pageContext);
6
4
  addIs404(pageContext);
7
5
  }
8
- function assertIs404(pageContext) {
9
- if (isErrorPage(pageContext.pageId, pageContext._pageConfigs)) {
10
- assert(hasProp(pageContext, 'is404', 'boolean'));
11
- }
12
- }
13
6
  function addIs404(pageContext) {
14
7
  if (pageContext.is404 === undefined || pageContext.is404 === null)
15
8
  return;
@@ -2,6 +2,8 @@ export { createGlobalContextShared };
2
2
  export { getGlobalContextSyncErrMsg };
3
3
  export type { GlobalContextShared };
4
4
  export type { GlobalContextSharedPublic };
5
+ import type { PageFile } from './getPageFiles.js';
6
+ import type { PageConfigRuntime } from './page-configs/PageConfig.js';
5
7
  declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
6
8
  declare function createGlobalContextShared<GlobalContextAddendum extends object>(virtualFileExports: unknown, globalObject: {
7
9
  globalContext?: Record<string, unknown>;
@@ -12,13 +14,23 @@ declare function createGlobalContextShared<GlobalContextAddendum extends object>
12
14
  * https://vike.dev/globalContext#typescript
13
15
  */
14
16
  isGlobalContext: true;
17
+ _isOriginalObject: true;
15
18
  _virtualFileExports: unknown;
16
- _pageFilesAll: import("./getPageFiles.js").PageFile[];
17
- _pageConfigs: import("./page-configs/PageConfig.js").PageConfigRuntime[];
19
+ _pageFilesAll: PageFile[];
20
+ _pageConfigs: PageConfigRuntime[];
18
21
  _pageConfigGlobal: import("./page-configs/PageConfig.js").PageConfigGlobalRuntime;
19
22
  _allPageIds: string[];
23
+ _userFriendlyConfigsGlobal: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
20
24
  config: import("./page-configs/Config/PageContextConfig.js").ConfigResolved;
21
- pages: import("./page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
25
+ pages: {
26
+ [k: string]: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
27
+ route: import("./page-configs/Config.js").Route;
28
+ isErrorPage?: undefined;
29
+ } | {
30
+ route?: undefined;
31
+ isErrorPage: true;
32
+ });
33
+ };
22
34
  } & Awaited<GlobalContextAddendum>>;
23
35
  type GlobalContextSharedPublic = Pick<GlobalContextShared, 'config' | 'pages' | 'isGlobalContext'>;
24
36
  type GlobalContextShared = ReturnType<typeof createGlobalContextBase>;
@@ -29,11 +41,21 @@ declare function createGlobalContextBase(virtualFileExports: unknown): {
29
41
  * https://vike.dev/globalContext#typescript
30
42
  */
31
43
  isGlobalContext: true;
44
+ _isOriginalObject: true;
32
45
  _virtualFileExports: unknown;
33
- _pageFilesAll: import("./getPageFiles.js").PageFile[];
34
- _pageConfigs: import("./page-configs/PageConfig.js").PageConfigRuntime[];
46
+ _pageFilesAll: PageFile[];
47
+ _pageConfigs: PageConfigRuntime[];
35
48
  _pageConfigGlobal: import("./page-configs/PageConfig.js").PageConfigGlobalRuntime;
36
49
  _allPageIds: string[];
50
+ _userFriendlyConfigsGlobal: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
37
51
  config: import("./page-configs/Config/PageContextConfig.js").ConfigResolved;
38
- pages: import("./page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
52
+ pages: {
53
+ [k: string]: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
54
+ route: import("./page-configs/Config.js").Route;
55
+ isErrorPage?: undefined;
56
+ } | {
57
+ route?: undefined;
58
+ isErrorPage: true;
59
+ });
60
+ };
39
61
  };
@@ -1,9 +1,11 @@
1
1
  export { createGlobalContextShared };
2
2
  export { getGlobalContextSyncErrMsg };
3
+ import { changeEnumerable, objectAssign, unique } from './utils.js';
4
+ import { parseGlobResults } from './getPageFiles/parseGlobResults.js';
5
+ import { getUserFriendlyConfigsGlobal, getUserFriendlyConfigsPageEager } from './page-configs/getUserFriendlyConfigs.js';
6
+ import { execHookGlobal } from './hooks/execHook.js';
7
+ import { prepareGlobalContextForPublicUsage } from './prepareGlobalContextForPublicUsage.js';
3
8
  const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
4
- import { getPageConfigsRuntime } from './getPageConfigsRuntime.js';
5
- import { executeHookGenericGlobalCumulative } from './hooks/executeHookGeneric.js';
6
- import { objectAssign } from './utils.js';
7
9
  async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext) {
8
10
  const globalContext = createGlobalContextBase(virtualFileExports);
9
11
  const globalContextAddendum = await addGlobalContext?.(globalContext);
@@ -21,17 +23,17 @@ async function createGlobalContextShared(virtualFileExports, globalObject, addGl
21
23
  // - globalContext._viteDevServer.hot.send()
22
24
  // - Send 'full-server-reload' signal whenever a onCreateGlobalContext() function is modified => we need a globalObject to track all hooks and see if one of them is new/modified.
23
25
  // - Seems less idiomatic
24
- await executeHookGenericGlobalCumulative('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext);
26
+ await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
25
27
  }
26
28
  else {
27
29
  // Singleton: ensure all `globalContext` user-land references are preserved & updated.
28
30
  // We don't use objectReplace() in order to keep user-land properties.
29
- objectAssign(globalObject.globalContext, globalContext);
31
+ objectAssign(globalObject.globalContext, globalContext, true);
30
32
  }
31
33
  return globalObject.globalContext;
32
34
  }
33
35
  function createGlobalContextBase(virtualFileExports) {
34
- const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly } = getPageConfigsRuntime(virtualFileExports);
36
+ const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, userFriendlyConfigsGlobal, userFriendlyConfigsPageEager } = getConfigsAll(virtualFileExports);
35
37
  const globalContext = {
36
38
  /**
37
39
  * Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
@@ -39,13 +41,40 @@ function createGlobalContextBase(virtualFileExports) {
39
41
  * https://vike.dev/globalContext#typescript
40
42
  */
41
43
  isGlobalContext: true,
44
+ _isOriginalObject: true,
42
45
  _virtualFileExports: virtualFileExports,
43
46
  _pageFilesAll: pageFilesAll,
44
47
  _pageConfigs: pageConfigs,
45
48
  _pageConfigGlobal: pageConfigGlobal,
46
49
  _allPageIds: allPageIds,
47
- config: globalConfig.config,
48
- pages: pageConfigsUserFriendly
50
+ _userFriendlyConfigsGlobal: userFriendlyConfigsGlobal,
51
+ config: userFriendlyConfigsGlobal.config,
52
+ pages: userFriendlyConfigsPageEager
49
53
  };
54
+ changeEnumerable(globalContext, '_isOriginalObject', false);
50
55
  return globalContext;
51
56
  }
57
+ function getConfigsAll(virtualFileExports) {
58
+ const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseGlobResults(virtualFileExports);
59
+ const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
60
+ const userFriendlyConfigsGlobal = getUserFriendlyConfigsGlobal({
61
+ pageConfigGlobalValues: pageConfigGlobal.configValues
62
+ });
63
+ const userFriendlyConfigsPageEager = Object.fromEntries(pageConfigs.map((pageConfig) => {
64
+ return getUserFriendlyConfigsPageEager(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
65
+ }));
66
+ return {
67
+ pageFilesAll,
68
+ allPageIds,
69
+ pageConfigs,
70
+ pageConfigGlobal,
71
+ userFriendlyConfigsGlobal,
72
+ userFriendlyConfigsPageEager
73
+ };
74
+ }
75
+ function getAllPageIds(pageFilesAll, pageConfigs) {
76
+ const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
77
+ const allPageIds = unique(fileIds);
78
+ const allPageIds2 = pageConfigs.map((p) => p.pageId);
79
+ return [...allPageIds, ...allPageIds2];
80
+ }