vike 0.4.229-commit-7056ef0 → 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 (149) 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/shared/loggerNotProd.js +2 -2
  5. package/dist/cjs/node/prerender/runPrerender.js +40 -36
  6. package/dist/cjs/node/prerender/utils.js +1 -1
  7. package/dist/cjs/node/runtime/globalContext.js +13 -27
  8. package/dist/cjs/node/runtime/html/serializeContext.js +1 -1
  9. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -8
  10. package/dist/cjs/node/runtime/renderPage/execHookServer.js +11 -0
  11. package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +9 -9
  12. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
  13. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +10 -0
  14. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  15. package/dist/cjs/node/runtime/renderPage.js +7 -5
  16. package/dist/cjs/node/runtime/utils.js +1 -1
  17. package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -1
  18. package/dist/cjs/shared/addIs404ToPageProps.js +0 -7
  19. package/dist/cjs/shared/createGlobalContextShared.js +6 -3
  20. package/dist/cjs/shared/createPageContextShared.js +14 -3
  21. package/dist/cjs/shared/getPageContext.js +3 -3
  22. package/dist/cjs/shared/getPageContextUrlComputed.js +2 -36
  23. package/dist/cjs/shared/getProxyForPublicUsage.js +106 -0
  24. package/dist/cjs/shared/hooks/execHook.js +164 -0
  25. package/dist/cjs/shared/page-configs/getUserFriendlyConfigs.js +17 -15
  26. package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +10 -0
  27. package/dist/cjs/shared/preparePageContextForPublicUsage.js +75 -0
  28. package/dist/cjs/shared/route/abort.js +2 -2
  29. package/dist/cjs/shared/route/executeGuardHook.js +4 -9
  30. package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +4 -3
  31. package/dist/cjs/shared/route/index.js +2 -4
  32. package/dist/cjs/shared/route/loadPageRoutes.js +6 -0
  33. package/dist/cjs/shared/route/resolveRouteFunction.js +14 -10
  34. package/dist/cjs/shared/utils.js +2 -0
  35. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  36. package/dist/cjs/utils/objectAssign.js +3 -3
  37. package/dist/cjs/utils/objectDefineProperty.js +1 -1
  38. package/dist/esm/client/client-routing-runtime/createPageContextClientSide.d.ts +10 -7
  39. package/dist/esm/client/client-routing-runtime/createPageContextClientSide.js +8 -10
  40. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +397 -20
  41. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +15 -15
  42. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +1 -0
  43. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +3 -8
  44. package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.d.ts +11 -0
  45. package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
  46. package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +135 -0
  47. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +66 -72
  48. package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
  49. package/dist/esm/client/client-routing-runtime/utils.js +1 -0
  50. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +8 -6
  51. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +8 -10
  52. package/dist/esm/client/server-routing-runtime/entry.js +4 -6
  53. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +1 -0
  54. package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.d.ts +9 -0
  55. package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
  56. package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -0
  57. package/dist/esm/client/server-routing-runtime/utils.js +1 -0
  58. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +1 -0
  59. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +3 -3
  60. package/dist/esm/client/shared/executeOnRenderClientHook.js +4 -13
  61. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +11 -0
  62. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +40 -0
  63. package/dist/esm/node/api/build.js +1 -2
  64. package/dist/esm/node/plugin/shared/loggerNotProd.js +1 -1
  65. package/dist/esm/node/prerender/runPrerender.d.ts +15 -115
  66. package/dist/esm/node/prerender/runPrerender.js +40 -36
  67. package/dist/esm/node/prerender/utils.d.ts +1 -1
  68. package/dist/esm/node/prerender/utils.js +1 -1
  69. package/dist/esm/node/runtime/globalContext.d.ts +5 -373
  70. package/dist/esm/node/runtime/globalContext.js +14 -28
  71. package/dist/esm/node/runtime/html/serializeContext.d.ts +1 -1
  72. package/dist/esm/node/runtime/html/serializeContext.js +1 -1
  73. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +15 -62
  74. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +5 -9
  75. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +12 -0
  76. package/dist/esm/node/runtime/renderPage/execHookServer.js +9 -0
  77. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +1 -1
  78. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +9 -9
  79. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +4 -2
  80. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
  81. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +20 -0
  82. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +8 -0
  83. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +15 -115
  84. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  85. package/dist/esm/node/runtime/renderPage.d.ts +10 -60
  86. package/dist/esm/node/runtime/renderPage.js +7 -5
  87. package/dist/esm/node/runtime/utils.d.ts +1 -1
  88. package/dist/esm/node/runtime/utils.js +1 -1
  89. package/dist/esm/shared/NOT_SERIALIZABLE.js +0 -1
  90. package/dist/esm/shared/addIs404ToPageProps.d.ts +1 -6
  91. package/dist/esm/shared/addIs404ToPageProps.js +1 -8
  92. package/dist/esm/shared/createGlobalContextShared.d.ts +2 -0
  93. package/dist/esm/shared/createGlobalContextShared.js +7 -4
  94. package/dist/esm/shared/createPageContextShared.d.ts +6 -2
  95. package/dist/esm/shared/createPageContextShared.js +15 -4
  96. package/dist/esm/shared/getPageContext.d.ts +1 -1
  97. package/dist/esm/shared/getPageContext.js +1 -1
  98. package/dist/esm/shared/getPageContextUrlComputed.d.ts +2 -5
  99. package/dist/esm/shared/getPageContextUrlComputed.js +3 -37
  100. package/dist/esm/shared/getProxyForPublicUsage.d.ts +12 -0
  101. package/dist/esm/shared/getProxyForPublicUsage.js +104 -0
  102. package/dist/esm/shared/hooks/execHook.d.ts +63 -0
  103. package/dist/esm/shared/hooks/execHook.js +162 -0
  104. package/dist/esm/shared/hooks/getHook.d.ts +3 -1
  105. package/dist/esm/shared/page-configs/Config.d.ts +3 -3
  106. package/dist/esm/shared/page-configs/getUserFriendlyConfigs.js +18 -16
  107. package/dist/esm/shared/prepareGlobalContextForPublicUsage.d.ts +7 -0
  108. package/dist/esm/shared/prepareGlobalContextForPublicUsage.js +8 -0
  109. package/dist/esm/shared/preparePageContextForPublicUsage.d.ts +12 -0
  110. package/dist/esm/shared/preparePageContextForPublicUsage.js +73 -0
  111. package/dist/esm/shared/route/abort.js +1 -1
  112. package/dist/esm/shared/route/executeGuardHook.d.ts +4 -3
  113. package/dist/esm/shared/route/executeGuardHook.js +4 -9
  114. package/dist/esm/shared/route/executeOnBeforeRouteHook.js +4 -3
  115. package/dist/esm/shared/route/index.js +2 -4
  116. package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -1
  117. package/dist/esm/shared/route/loadPageRoutes.js +7 -1
  118. package/dist/esm/shared/route/resolveRouteFunction.d.ts +2 -2
  119. package/dist/esm/shared/route/resolveRouteFunction.js +14 -10
  120. package/dist/esm/shared/types.d.ts +13 -3
  121. package/dist/esm/shared/utils.d.ts +2 -0
  122. package/dist/esm/shared/utils.js +2 -0
  123. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  124. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  125. package/dist/esm/utils/objectAssign.d.ts +1 -1
  126. package/dist/esm/utils/objectAssign.js +3 -3
  127. package/dist/esm/utils/objectDefineProperty.d.ts +0 -1
  128. package/dist/esm/utils/objectDefineProperty.js +1 -1
  129. package/package.json +2 -2
  130. package/dist/cjs/client/shared/getPageContextProxyForUser.js +0 -16
  131. package/dist/cjs/node/runtime/renderPage/executeHookServer.js +0 -11
  132. package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -16
  133. package/dist/cjs/shared/hooks/executeHook.js +0 -108
  134. package/dist/cjs/shared/preparePageContextForUserConsumption.js +0 -34
  135. package/dist/cjs/utils/getPublicProxy.js +0 -27
  136. package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +0 -2
  137. package/dist/esm/client/shared/getPageContextProxyForUser.js +0 -14
  138. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +0 -12
  139. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.js +0 -44
  140. package/dist/esm/node/runtime/renderPage/executeHookServer.d.ts +0 -13
  141. package/dist/esm/node/runtime/renderPage/executeHookServer.js +0 -9
  142. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +0 -24
  143. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -14
  144. package/dist/esm/shared/hooks/executeHook.d.ts +0 -34
  145. package/dist/esm/shared/hooks/executeHook.js +0 -106
  146. package/dist/esm/shared/preparePageContextForUserConsumption.d.ts +0 -5
  147. package/dist/esm/shared/preparePageContextForUserConsumption.js +0 -32
  148. package/dist/esm/utils/getPublicProxy.d.ts +0 -2
  149. package/dist/esm/utils/getPublicProxy.js +0 -25
@@ -3,18 +3,14 @@ export { getPageContextFromHooks_serialized };
3
3
  export { getPageContextFromServerHooks };
4
4
  export { getPageContextFromClientHooks };
5
5
  export { setPageContextInitIsPassedToClient };
6
- export { executeHookClient };
6
+ export { execHookClient };
7
7
  export type { PageContextFromServerHooks };
8
8
  import type { PageConfigUserFriendlyOld, PageFile } from '../../shared/getPageFiles.js';
9
- import { type PageContextForUserConsumptionClientSide } from '../shared/preparePageContextForUserConsumptionClientSide.js';
10
9
  import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
11
10
  import type { HookName } from '../../shared/page-configs/Config.js';
12
- type PageContext = {
13
- urlOriginal: string;
14
- _urlRewrite: string | null;
15
- _pageFilesAll: PageFile[];
16
- _pageConfigs: PageConfigRuntime[];
17
- };
11
+ import type { PageContextCreated } from './createPageContextClientSide.js';
12
+ import type { PageContextBegin } from './renderPageClientSide.js';
13
+ import { type PageContextForPublicUsageClient } from './preparePageContextForPublicUsageClient.js';
18
14
  type PageContextSerialized = {
19
15
  pageId: string;
20
16
  _hasPageContextFromServer: true;
@@ -23,17 +19,208 @@ declare function getPageContextFromHooks_serialized(): PageContextSerialized & {
23
19
  routeParams: Record<string, string>;
24
20
  _hasPageContextFromServer: true;
25
21
  };
26
- declare function getPageContextFromHooks_isHydration(pageContext: PageContextSerialized & PageContext & PageConfigUserFriendlyOld & {
22
+ declare function getPageContextFromHooks_isHydration(pageContext: PageContextSerialized & PageContextBegin & PageConfigUserFriendlyOld & {
27
23
  _hasPageContextFromServer: true;
28
- }): Promise<PageContextSerialized & PageContext & PageConfigUserFriendlyOld & {
24
+ } & PageContextForPublicUsageClient): Promise<PageContextSerialized & {
25
+ _isOriginalObject: true;
26
+ isPageContext: true;
27
+ } & {
28
+ isClientSide: true;
29
+ isPrerendering: false;
30
+ urlOriginal: string;
31
+ _globalContext: {
32
+ isGlobalContext: true;
33
+ _isOriginalObject: true;
34
+ _virtualFileExports: unknown;
35
+ _pageFilesAll: PageFile[];
36
+ _pageConfigs: PageConfigRuntime[];
37
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
38
+ _allPageIds: string[];
39
+ _userFriendlyConfigsGlobal: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
40
+ config: import("../../types/index.js").ConfigResolved;
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
+ };
50
+ } & {
51
+ isClientSide: true;
52
+ } & {
53
+ _pageRoutes: import("../../__internal/index.js").PageRoutes;
54
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
55
+ };
56
+ _pageFilesAll: PageFile[];
57
+ _pageConfigs: PageConfigRuntime[];
58
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
59
+ _allPageIds: string[];
60
+ _pageRoutes: import("../../__internal/index.js").PageRoutes;
61
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
62
+ _urlHandler: null;
63
+ _urlRewrite: null | string;
64
+ _baseServer: string;
65
+ } & {
66
+ urlParsed: import("./utils.js").UrlPublic;
67
+ urlPathname: string;
68
+ url: string;
69
+ } & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
70
+ isBackwardNavigation: boolean | null;
71
+ isClientSideNavigation: boolean;
72
+ isHydration: boolean;
73
+ previousPageContext: ({
74
+ pageId: string;
75
+ } & PageConfigUserFriendlyOld & {
76
+ pageId: string;
77
+ routeParams: Record<string, string>;
78
+ } & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & import("../../shared/types.js").PageContextInternalClient & Omit<Partial<{
79
+ isPageContext: true;
80
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
81
+ routeParams: Record<string, string>;
82
+ data: unknown;
83
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
84
+ configEntries: import("../../types/index.js").ConfigEntries;
85
+ exports: Record<string, unknown>;
86
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
87
+ urlOriginal: string;
88
+ headers: Record<string, string> | null;
89
+ headersOriginal?: unknown;
90
+ is404: boolean | null;
91
+ isClientSideNavigation: boolean;
92
+ abortReason?: unknown;
93
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
94
+ errorWhileRendering?: unknown;
95
+ pageId: string | null;
96
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
97
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
98
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
99
+ url: string;
100
+ pageExports: Record<string, unknown>;
101
+ isBaseMissing?: true;
102
+ }> & Pick<{
103
+ isPageContext: true;
104
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
105
+ routeParams: Record<string, string>;
106
+ data: unknown;
107
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
108
+ configEntries: import("../../types/index.js").ConfigEntries;
109
+ exports: Record<string, unknown>;
110
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
111
+ urlOriginal: string;
112
+ headers: Record<string, string> | null;
113
+ headersOriginal?: unknown;
114
+ is404: boolean | null;
115
+ isClientSideNavigation: boolean;
116
+ abortReason?: unknown;
117
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
118
+ errorWhileRendering?: unknown;
119
+ pageId: string | null;
120
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
121
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
122
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
123
+ url: string;
124
+ pageExports: Record<string, unknown>;
125
+ isBaseMissing?: true;
126
+ }, "exports" | "pageId" | "Page" | "data" | "config" | "pageExports" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "source" | "sources" | "from"> & {
127
+ isClientSide: true;
128
+ isPrerendering: false;
129
+ } & {
130
+ isHydration: boolean;
131
+ isBackwardNavigation: boolean | null;
132
+ previousPageContext: import("../../shared/types.js").PageContextClient<unknown> | null;
133
+ globalContext: import("./globalContext.js").GlobalContextClient;
134
+ } & {
135
+ urlOriginal: string;
136
+ } & {
137
+ urlParsed: import("./utils.js").UrlPublic;
138
+ urlPathname: string;
139
+ url: string;
140
+ }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
141
+ previousPageContext: {
142
+ pageId: string;
143
+ } | null;
144
+ } & {
145
+ urlOriginal: string;
146
+ }) | null;
147
+ } & PageConfigUserFriendlyOld & {
29
148
  _hasPageContextFromServer: true;
149
+ } & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & Omit<Partial<{
150
+ isPageContext: true;
151
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
152
+ routeParams: Record<string, string>;
153
+ data: unknown;
154
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
155
+ configEntries: import("../../types/index.js").ConfigEntries;
156
+ exports: Record<string, unknown>;
157
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
158
+ urlOriginal: string;
159
+ headers: Record<string, string> | null;
160
+ headersOriginal?: unknown;
161
+ is404: boolean | null;
162
+ isClientSideNavigation: boolean;
163
+ abortReason?: unknown;
164
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
165
+ errorWhileRendering?: unknown;
166
+ pageId: string | null;
167
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
168
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
169
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
170
+ url: string;
171
+ pageExports: Record<string, unknown>;
172
+ isBaseMissing?: true;
173
+ }> & Pick<{
174
+ isPageContext: true;
175
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
176
+ routeParams: Record<string, string>;
177
+ data: unknown;
178
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
179
+ configEntries: import("../../types/index.js").ConfigEntries;
180
+ exports: Record<string, unknown>;
181
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
182
+ urlOriginal: string;
183
+ headers: Record<string, string> | null;
184
+ headersOriginal?: unknown;
185
+ is404: boolean | null;
186
+ isClientSideNavigation: boolean;
187
+ abortReason?: unknown;
188
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
189
+ errorWhileRendering?: unknown;
190
+ pageId: string | null;
191
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
192
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
193
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
194
+ url: string;
195
+ pageExports: Record<string, unknown>;
196
+ isBaseMissing?: true;
197
+ }, "exports" | "pageId" | "Page" | "data" | "config" | "pageExports" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "source" | "sources" | "from"> & {
198
+ isClientSide: true;
199
+ isPrerendering: false;
200
+ } & {
201
+ isHydration: boolean;
202
+ isBackwardNavigation: boolean | null;
203
+ previousPageContext: import("../../shared/types.js").PageContextClient<unknown> | null;
204
+ globalContext: import("./globalContext.js").GlobalContextClient;
205
+ } & {
206
+ urlOriginal: string;
207
+ } & {
208
+ urlParsed: import("./utils.js").UrlPublic;
209
+ urlPathname: string;
210
+ url: string;
211
+ }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
212
+ previousPageContext: {
213
+ pageId: string;
214
+ } | null;
215
+ } & {
216
+ urlOriginal: string;
30
217
  }>;
31
218
  type PageContextFromServerHooks = {
32
219
  _hasPageContextFromServer: boolean;
33
220
  };
34
221
  declare function getPageContextFromServerHooks(pageContext: {
35
222
  pageId: string;
36
- } & PageContext, isErrorPage: boolean): Promise<{
223
+ } & PageContextCreated, isErrorPage: boolean): Promise<{
37
224
  is404ServerSideRouted: true;
38
225
  } | {
39
226
  is404ServerSideRouted?: undefined;
@@ -42,16 +229,206 @@ declare function getPageContextFromServerHooks(pageContext: {
42
229
  declare function getPageContextFromClientHooks(pageContext: {
43
230
  pageId: string;
44
231
  _hasPageContextFromServer: boolean;
45
- } & PageContext & PageConfigUserFriendlyOld, isErrorPage: boolean): Promise<{
232
+ } & PageContextBegin & PageConfigUserFriendlyOld & PageContextForPublicUsageClient, isErrorPage: boolean): Promise<{
46
233
  pageId: string;
47
234
  _hasPageContextFromServer: boolean;
48
- } & PageContext & PageConfigUserFriendlyOld>;
49
- type PageContextExecuteHookClient = PageConfigUserFriendlyOld & PageContextForUserConsumptionClientSide;
50
- declare function executeHookClient(hookName: HookName, pageContext: PageContextExecuteHookClient): Promise<{
51
- hookResult: unknown;
52
- hookName: import("../../shared/page-configs/Config.js").HookNameOld;
53
- hookFilePath: string;
54
- hookFn: (arg: object) => unknown;
235
+ } & {
236
+ _isOriginalObject: true;
237
+ isPageContext: true;
238
+ } & {
239
+ isClientSide: true;
240
+ isPrerendering: false;
241
+ urlOriginal: string;
242
+ _globalContext: {
243
+ isGlobalContext: true;
244
+ _isOriginalObject: true;
245
+ _virtualFileExports: unknown;
246
+ _pageFilesAll: PageFile[];
247
+ _pageConfigs: PageConfigRuntime[];
248
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
249
+ _allPageIds: string[];
250
+ _userFriendlyConfigsGlobal: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
251
+ config: import("../../types/index.js").ConfigResolved;
252
+ pages: {
253
+ [k: string]: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
254
+ route: import("../../shared/page-configs/Config.js").Route;
255
+ isErrorPage?: undefined;
256
+ } | {
257
+ route?: undefined;
258
+ isErrorPage: true;
259
+ });
260
+ };
261
+ } & {
262
+ isClientSide: true;
263
+ } & {
264
+ _pageRoutes: import("../../__internal/index.js").PageRoutes;
265
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
266
+ };
267
+ _pageFilesAll: PageFile[];
268
+ _pageConfigs: PageConfigRuntime[];
269
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
270
+ _allPageIds: string[];
271
+ _pageRoutes: import("../../__internal/index.js").PageRoutes;
272
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
273
+ _urlHandler: null;
274
+ _urlRewrite: null | string;
275
+ _baseServer: string;
276
+ } & {
277
+ urlParsed: import("./utils.js").UrlPublic;
278
+ urlPathname: string;
279
+ url: string;
280
+ } & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
281
+ isBackwardNavigation: boolean | null;
282
+ isClientSideNavigation: boolean;
283
+ isHydration: boolean;
284
+ previousPageContext: ({
285
+ pageId: string;
286
+ } & PageConfigUserFriendlyOld & {
287
+ pageId: string;
288
+ routeParams: Record<string, string>;
289
+ } & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & import("../../shared/types.js").PageContextInternalClient & Omit<Partial<{
290
+ isPageContext: true;
291
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
292
+ routeParams: Record<string, string>;
293
+ data: unknown;
294
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
295
+ configEntries: import("../../types/index.js").ConfigEntries;
296
+ exports: Record<string, unknown>;
297
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
298
+ urlOriginal: string;
299
+ headers: Record<string, string> | null;
300
+ headersOriginal?: unknown;
301
+ is404: boolean | null;
302
+ isClientSideNavigation: boolean;
303
+ abortReason?: unknown;
304
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
305
+ errorWhileRendering?: unknown;
306
+ pageId: string | null;
307
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
308
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
309
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
310
+ url: string;
311
+ pageExports: Record<string, unknown>;
312
+ isBaseMissing?: true;
313
+ }> & Pick<{
314
+ isPageContext: true;
315
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
316
+ routeParams: Record<string, string>;
317
+ data: unknown;
318
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
319
+ configEntries: import("../../types/index.js").ConfigEntries;
320
+ exports: Record<string, unknown>;
321
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
322
+ urlOriginal: string;
323
+ headers: Record<string, string> | null;
324
+ headersOriginal?: unknown;
325
+ is404: boolean | null;
326
+ isClientSideNavigation: boolean;
327
+ abortReason?: unknown;
328
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
329
+ errorWhileRendering?: unknown;
330
+ pageId: string | null;
331
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
332
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
333
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
334
+ url: string;
335
+ pageExports: Record<string, unknown>;
336
+ isBaseMissing?: true;
337
+ }, "exports" | "pageId" | "Page" | "data" | "config" | "pageExports" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "source" | "sources" | "from"> & {
338
+ isClientSide: true;
339
+ isPrerendering: false;
340
+ } & {
341
+ isHydration: boolean;
342
+ isBackwardNavigation: boolean | null;
343
+ previousPageContext: import("../../shared/types.js").PageContextClient<unknown> | null;
344
+ globalContext: import("./globalContext.js").GlobalContextClient;
345
+ } & {
346
+ urlOriginal: string;
347
+ } & {
348
+ urlParsed: import("./utils.js").UrlPublic;
349
+ urlPathname: string;
350
+ url: string;
351
+ }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
352
+ previousPageContext: {
353
+ pageId: string;
354
+ } | null;
355
+ } & {
356
+ urlOriginal: string;
357
+ }) | null;
358
+ } & PageConfigUserFriendlyOld & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & Omit<Partial<{
359
+ isPageContext: true;
360
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
361
+ routeParams: Record<string, string>;
362
+ data: unknown;
363
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
364
+ configEntries: import("../../types/index.js").ConfigEntries;
365
+ exports: Record<string, unknown>;
366
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
367
+ urlOriginal: string;
368
+ headers: Record<string, string> | null;
369
+ headersOriginal?: unknown;
370
+ is404: boolean | null;
371
+ isClientSideNavigation: boolean;
372
+ abortReason?: unknown;
373
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
374
+ errorWhileRendering?: unknown;
375
+ pageId: string | null;
376
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
377
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
378
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
379
+ url: string;
380
+ pageExports: Record<string, unknown>;
381
+ isBaseMissing?: true;
382
+ }> & Pick<{
383
+ isPageContext: true;
384
+ Page: import("../../shared/page-configs/Config.js").Config["Page"];
385
+ routeParams: Record<string, string>;
386
+ data: unknown;
387
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
388
+ configEntries: import("../../types/index.js").ConfigEntries;
389
+ exports: Record<string, unknown>;
390
+ exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
391
+ urlOriginal: string;
392
+ headers: Record<string, string> | null;
393
+ headersOriginal?: unknown;
394
+ is404: boolean | null;
395
+ isClientSideNavigation: boolean;
396
+ abortReason?: unknown;
397
+ abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
398
+ errorWhileRendering?: unknown;
399
+ pageId: string | null;
400
+ from: import("../../shared/page-configs/getUserFriendlyConfigs.js").From;
401
+ source: import("../../shared/page-configs/getUserFriendlyConfigs.js").Source;
402
+ sources: import("../../shared/page-configs/getUserFriendlyConfigs.js").Sources;
403
+ url: string;
404
+ pageExports: Record<string, unknown>;
405
+ isBaseMissing?: true;
406
+ }, "exports" | "pageId" | "Page" | "data" | "config" | "pageExports" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "source" | "sources" | "from"> & {
407
+ isClientSide: true;
408
+ isPrerendering: false;
409
+ } & {
410
+ isHydration: boolean;
411
+ isBackwardNavigation: boolean | null;
412
+ previousPageContext: import("../../shared/types.js").PageContextClient<unknown> | null;
413
+ globalContext: import("./globalContext.js").GlobalContextClient;
414
+ } & {
415
+ urlOriginal: string;
416
+ } & {
417
+ urlParsed: import("./utils.js").UrlPublic;
418
+ urlPathname: string;
419
+ url: string;
420
+ }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
421
+ previousPageContext: {
422
+ pageId: string;
423
+ } | null;
424
+ } & {
425
+ urlOriginal: string;
426
+ }>;
427
+ type PageContextExecuteHookClient = PageConfigUserFriendlyOld & PageContextForPublicUsageClient;
428
+ declare function execHookClient(hookName: HookName, pageContext: PageContextExecuteHookClient): Promise<(import("../../shared/hooks/getHook.js").HookLoc & {
429
+ hookFn: (arg: import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum | import("../../shared/prepareGlobalContextForPublicUsage.js").GlobalContextPrepareMinimum) => unknown;
55
430
  hookTimeout: import("../../shared/hooks/getHook.js").HookTimeout;
56
- }[]>;
431
+ } & {
432
+ hookReturn: unknown;
433
+ })[]>;
57
434
  declare function setPageContextInitIsPassedToClient(pageContext: Record<string, unknown>): void;
@@ -3,12 +3,11 @@ export { getPageContextFromHooks_serialized };
3
3
  export { getPageContextFromServerHooks };
4
4
  export { getPageContextFromClientHooks };
5
5
  export { setPageContextInitIsPassedToClient };
6
- export { executeHookClient };
6
+ export { execHookClient };
7
7
  import { assert, assertUsage, hasProp, objectAssign, getProjectError, redirectHard, isObject, getGlobalObject } from './utils.js';
8
8
  import { parse } from '@brillout/json-serializer/parse';
9
9
  import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
10
10
  import { analyzePageServerSide } from '../../shared/getPageFiles/analyzePageServerSide.js';
11
- import { preparePageContextForUserConsumptionClientSide } from '../shared/preparePageContextForUserConsumptionClientSide.js';
12
11
  import { removeBuiltInOverrides } from './getPageContext/removeBuiltInOverrides.js';
13
12
  import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
14
13
  import { getPageConfig } from '../../shared/page-configs/helpers.js';
@@ -18,7 +17,8 @@ import { executeGuardHook } from '../../shared/route/executeGuardHook.js';
18
17
  import { AbortRender, isAbortPageContext } from '../../shared/route/abort.js';
19
18
  import { pageContextInitIsPassedToClient } from '../../shared/misc/pageContextInitIsPassedToClient.js';
20
19
  import { isServerSideError } from '../../shared/misc/isServerSideError.js';
21
- import { executeHookNew } from '../../shared/hooks/executeHook.js';
20
+ import { execHook } from '../../shared/hooks/execHook.js';
21
+ import { preparePageContextForPublicUsageClient } from './preparePageContextForPublicUsageClient.js';
22
22
  const globalObject = getGlobalObject('client-routing-runtime/getPageContextFromHooks.ts', {});
23
23
  // TO-DO/eventually: rename
24
24
  function getPageContextFromHooks_serialized() {
@@ -78,7 +78,7 @@ async function getPageContextFromClientHooks(pageContext, isErrorPage) {
78
78
  !pageContext._hasPageContextFromServer) {
79
79
  // Should we really call the guard() hook on the client-side? Shouldn't we make the guard() hook a server-side
80
80
  // only hook? Or maybe make its env configurable like data() and onBeforeRender()?
81
- await executeGuardHook(pageContext, (pageContext) => preparePageContextForUserConsumptionClientSide(pageContext, true));
81
+ await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageClient(pageContext));
82
82
  }
83
83
  }
84
84
  else {
@@ -92,13 +92,13 @@ async function getPageContextFromClientHooks(pageContext, isErrorPage) {
92
92
  }
93
93
  // Execute +onData
94
94
  if (dataHookExists) {
95
- await executeHookClient('onData', pageContext);
95
+ await execHookClient('onData', pageContext);
96
96
  }
97
97
  const pageContextFromClientHooks = pageContext;
98
98
  return pageContextFromClientHooks;
99
99
  }
100
- async function executeHookClient(hookName, pageContext) {
101
- return await executeHookNew(hookName, pageContext, (p) => preparePageContextForUserConsumptionClientSide(p, true));
100
+ async function execHookClient(hookName, pageContext) {
101
+ return await execHook(hookName, pageContext, (p) => preparePageContextForPublicUsageClient(p));
102
102
  }
103
103
  async function executeDataLikeHook(hookName, pageContext) {
104
104
  let pageContextFromHook;
@@ -111,24 +111,24 @@ async function executeDataLikeHook(hookName, pageContext) {
111
111
  Object.assign(pageContext, pageContextFromHook);
112
112
  }
113
113
  async function executeDataHook(pageContext) {
114
- const res = await executeHookClient('data', pageContext);
114
+ const res = await execHookClient('data', pageContext);
115
115
  const hook = res[0]; // TO-DO/soon: support cumulative
116
116
  if (!hook)
117
117
  return;
118
- const { hookResult } = hook;
119
- const pageContextAddendum = { data: hookResult };
118
+ const { hookReturn } = hook;
119
+ const pageContextAddendum = { data: hookReturn };
120
120
  return pageContextAddendum;
121
121
  }
122
122
  async function executeOnBeforeRenderHook(pageContext) {
123
- const res = await executeHookClient('onBeforeRender', pageContext);
123
+ const res = await execHookClient('onBeforeRender', pageContext);
124
124
  const hook = res[0]; // TO-DO/soon: support cumulative
125
125
  if (!hook)
126
126
  return;
127
- const { hookResult, hookFilePath } = hook;
127
+ const { hookReturn, hookFilePath } = hook;
128
128
  const pageContextFromHook = {};
129
- assertOnBeforeRenderHookReturn(hookResult, hookFilePath);
130
- // Note: hookResult looks like { pageContext: { ... } }
131
- const pageContextFromOnBeforeRender = hookResult?.pageContext;
129
+ assertOnBeforeRenderHookReturn(hookReturn, hookFilePath);
130
+ // Note: hookReturn looks like { pageContext: { ... } }
131
+ const pageContextFromOnBeforeRender = hookReturn?.pageContext;
132
132
  if (pageContextFromOnBeforeRender) {
133
133
  objectAssign(pageContextFromHook, pageContextFromOnBeforeRender);
134
134
  }
@@ -5,6 +5,7 @@ type GlobalContextClient = GlobalContextSharedPublic & Pick<GlobalContextClientI
5
5
  type GlobalContextClientInternal = Awaited<ReturnType<typeof getGlobalContextClientInternal>>;
6
6
  declare const getGlobalContextClientInternal: () => Promise<{
7
7
  isGlobalContext: true;
8
+ _isOriginalObject: true;
8
9
  _virtualFileExports: unknown;
9
10
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
10
11
  _pageConfigs: import("../../__internal/index.js").PageConfig[];
@@ -5,17 +5,12 @@ export { populatePageContextPrefetchCache };
5
5
  export { addLinkPrefetchHandlers };
6
6
  export { addLinkPrefetchHandlers_watch };
7
7
  export { addLinkPrefetchHandlers_unwatch };
8
+ import { type PageContextCreated } from './createPageContextClientSide.js';
8
9
  import { type PageContextFromServerHooks, getPageContextFromServerHooks } from './getPageContextFromHooks.js';
9
- import type { PageConfigUserFriendlyOld, PageFile } from '../../shared/getPageFiles.js';
10
- import { type PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
10
+ import type { PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
11
11
  type ResultPageContextFromServer = Awaited<ReturnType<typeof getPageContextFromServerHooks>>;
12
- type PageContextForPrefetch = {
13
- urlOriginal: string;
14
- urlPathname: string;
12
+ type PageContextForPrefetch = PageContextCreated & {
15
13
  pageId: string;
16
- _urlRewrite: null;
17
- _pageFilesAll: PageFile[];
18
- _pageConfigs: PageConfigRuntime[];
19
14
  };
20
15
  declare function getPageContextPrefetched(pageContext: {
21
16
  urlPathname: string;
@@ -0,0 +1,11 @@
1
+ export { preparePageContextForPublicUsageClient };
2
+ export type { PageContextForPublicUsageClient };
3
+ import type { PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
4
+ import type { PageContextInternalClient_ClientRouting } from '../../shared/types.js';
5
+ import type { PageContextPrepareMinimum } from '../../shared/preparePageContextForPublicUsage.js';
6
+ type PageContextForPublicUsageClient = PageContextPrepareMinimum & PageContextInternalClient_ClientRouting & PageConfigUserFriendlyOld & {
7
+ urlOriginal: string;
8
+ };
9
+ declare function preparePageContextForPublicUsageClient<PageContext extends PageContextForPublicUsageClient>(pageContext: PageContext): PageContext & {
10
+ Page: unknown;
11
+ };
@@ -0,0 +1,5 @@
1
+ export { preparePageContextForPublicUsageClient };
2
+ import { preparePageContextForPublicUsageClientShared } from '../shared/preparePageContextForPublicUsageClientShared.js';
3
+ function preparePageContextForPublicUsageClient(pageContext) {
4
+ return preparePageContextForPublicUsageClientShared(pageContext);
5
+ }