vike 0.4.229-commit-7056ef0 → 0.4.229-commit-e27d672

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} +14 -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 +4 -4
  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 +12 -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 +55 -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 +1 -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 +13 -0
  62. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +39 -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 +4 -4
  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 +13 -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 +4 -0
  101. package/dist/esm/shared/getProxyForPublicUsage.js +53 -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 +13 -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 +1 -0
  122. package/dist/esm/shared/utils.js +1 -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
@@ -7,13 +7,17 @@ exports.resolveRouteFunction = resolveRouteFunction;
7
7
  exports.assertRouteParams = assertRouteParams;
8
8
  exports.assertSyncRouting = assertSyncRouting;
9
9
  exports.warnDeprecatedAllowKey = warnDeprecatedAllowKey;
10
- const getPageContextUrlComputed_js_1 = require("../getPageContextUrlComputed.js");
10
+ const execHook_js_1 = require("../hooks/execHook.js");
11
+ const preparePageContextForPublicUsage_js_1 = require("../preparePageContextForPublicUsage.js");
11
12
  const utils_js_1 = require("./utils.js");
12
13
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
13
- async function resolveRouteFunction(routeFunction, pageContext, routeDefinedAtString) {
14
- (0, getPageContextUrlComputed_js_1.assertPageContextUrl)(pageContext);
15
- let result = routeFunction(pageContext);
16
- assertSyncRouting(result, `The Route Function ${routeDefinedAtString}`);
14
+ async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFilePath) {
15
+ let { hookReturn: result } = (0, execHook_js_1.execHookSync)({
16
+ hookFn: routeFunction,
17
+ hookFilePath: routeFunctionFilePath,
18
+ hookName: 'route'
19
+ }, pageContext, preparePageContextForPublicUsage_js_1.preparePageContextForPublicUsage);
20
+ assertSyncRouting(result, `The Route Function ${routeFunctionFilePath}`);
17
21
  // TODO/v1-release: make resolveRouteFunction() and route() sync
18
22
  //* We disallow asynchronous routing, because we need to check whether a link is a Vike link in a synchronous fashion before calling ev.preventDefault() in the 'click' event listener
19
23
  result = await result;
@@ -24,11 +28,11 @@ async function resolveRouteFunction(routeFunction, pageContext, routeDefinedAtSt
24
28
  if (result === true) {
25
29
  result = {};
26
30
  }
27
- (0, utils_js_1.assertUsage)((0, utils_js_1.isPlainObject)(result), `The Route Function ${routeDefinedAtString} should return a boolean or a plain JavaScript object (but it's ${picocolors_1.default.cyan(`typeof result === ${JSON.stringify(typeof result)}`)} instead)`);
31
+ (0, utils_js_1.assertUsage)((0, utils_js_1.isPlainObject)(result), `The Route Function ${routeFunctionFilePath} should return a boolean or a plain JavaScript object (but it's ${picocolors_1.default.cyan(`typeof result === ${JSON.stringify(typeof result)}`)} instead)`);
28
32
  // AFAICT this return interface is superfluous. Should we soft-deprecate it and remove it?
29
33
  if ('match' in result) {
30
34
  const { match } = result;
31
- (0, utils_js_1.assertUsage)(typeof match === 'boolean', `The ${picocolors_1.default.cyan('match')} value returned by the Route Function ${routeDefinedAtString} should be a boolean.`);
35
+ (0, utils_js_1.assertUsage)(typeof match === 'boolean', `The ${picocolors_1.default.cyan('match')} value returned by the Route Function ${routeFunctionFilePath} should be a boolean.`);
32
36
  if (!match) {
33
37
  return null;
34
38
  }
@@ -36,14 +40,14 @@ async function resolveRouteFunction(routeFunction, pageContext, routeDefinedAtSt
36
40
  let precedence = null;
37
41
  if ('precedence' in result) {
38
42
  precedence = result.precedence;
39
- (0, utils_js_1.assertUsage)(typeof precedence === 'number', `The ${picocolors_1.default.cyan('precedence')} value returned by the Route Function ${routeDefinedAtString} should be a number.`);
43
+ (0, utils_js_1.assertUsage)(typeof precedence === 'number', `The ${picocolors_1.default.cyan('precedence')} value returned by the Route Function ${routeFunctionFilePath} should be a number.`);
40
44
  }
41
- assertRouteParams(result, `The ${picocolors_1.default.cyan('routeParams')} object returned by the Route Function ${routeDefinedAtString} should`);
45
+ assertRouteParams(result, `The ${picocolors_1.default.cyan('routeParams')} object returned by the Route Function ${routeFunctionFilePath} should`);
42
46
  const routeParams = result.routeParams || {};
43
47
  (0, utils_js_1.assertUsage)(!('pageContext' in result), `Providing ${picocolors_1.default.cyan('pageContext')} in Route Functions is prohibited, see https://vike.dev/route-function#cannot-provide-pagecontext`);
44
48
  (0, utils_js_1.assert)((0, utils_js_1.isPlainObject)(routeParams));
45
49
  Object.keys(result).forEach((key) => {
46
- (0, utils_js_1.assertUsage)(key === 'match' || key === 'routeParams' || key === 'precedence', `The Route Function ${routeDefinedAtString} returned an object with an unknown property ${picocolors_1.default.cyan(key)} (the known properties are ${picocolors_1.default.cyan('match')}, ${picocolors_1.default.cyan('routeParams')}, and ${picocolors_1.default.cyan('precedence')})`);
50
+ (0, utils_js_1.assertUsage)(key === 'match' || key === 'routeParams' || key === 'precedence', `The Route Function ${routeFunctionFilePath} returned an object with an unknown property ${picocolors_1.default.cyan(key)} (the known properties are ${picocolors_1.default.cyan('match')}, ${picocolors_1.default.cyan('routeParams')}, and ${picocolors_1.default.cyan('precedence')})`);
47
51
  });
48
52
  return {
49
53
  precedence,
@@ -43,3 +43,4 @@ __exportStar(require("../utils/changeEnumerable.js"), exports);
43
43
  __exportStar(require("../utils/objectDefineProperty.js"), exports);
44
44
  __exportStar(require("../utils/isScriptFile.js"), exports);
45
45
  __exportStar(require("../utils/objectFilter.js"), exports);
46
+ __exportStar(require("../utils/getPropAccessNotation.js"), exports);
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.229-commit-7056ef0';
5
+ exports.PROJECT_VERSION = '0.4.229-commit-e27d672';
@@ -5,10 +5,10 @@ const assert_js_1 = require("./assert.js");
5
5
  // Same as Object.assign() but:
6
6
  // - With type inference
7
7
  // - Preserves property descriptors, which we need for preserving the getters of getPageContextUrlComputed()
8
- function objectAssign(obj, objAddendum, objAddendumCanBePageContextObject) {
8
+ function objectAssign(obj, objAddendum, objAddendumCanBeOriginalObject) {
9
9
  if (!objAddendum)
10
10
  return;
11
- if (!objAddendumCanBePageContextObject)
12
- (0, assert_js_1.assert)(!('isPageContext' in objAddendum));
11
+ if (!objAddendumCanBeOriginalObject)
12
+ (0, assert_js_1.assert)(!objAddendum._isOriginalObject);
13
13
  Object.defineProperties(obj, Object.getOwnPropertyDescriptors(objAddendum));
14
14
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.objectDefineProperty = objectDefineProperty;
4
- /** Like Object.defineProperty() but with type inference */
4
+ // Same as Object.defineProperty() but with type inference
5
5
  function objectDefineProperty(obj, prop, { get, ...args }) {
6
6
  Object.defineProperty(obj, prop, { ...args, get });
7
7
  }
@@ -1,7 +1,15 @@
1
1
  export { createPageContextClientSide };
2
+ export type PageContextCreated = Awaited<ReturnType<typeof createPageContextClientSide>>;
2
3
  declare function createPageContextClientSide(urlOriginal: string): Promise<{
3
- globalContext: {
4
+ _isOriginalObject: true;
5
+ isPageContext: true;
6
+ } & {
7
+ isClientSide: true;
8
+ isPrerendering: false;
9
+ urlOriginal: string;
10
+ _globalContext: {
4
11
  isGlobalContext: true;
12
+ _isOriginalObject: true;
5
13
  _virtualFileExports: unknown;
6
14
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
7
15
  _pageConfigs: import("../../__internal/index.js").PageConfig[];
@@ -30,16 +38,11 @@ declare function createPageContextClientSide(urlOriginal: string): Promise<{
30
38
  _allPageIds: string[];
31
39
  _pageRoutes: import("../../__internal/index.js").PageRoutes;
32
40
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
33
- isClientSide: boolean;
34
- isPrerendering: boolean;
35
- urlOriginal: string;
36
41
  _urlHandler: null;
37
- _urlRewrite: null;
42
+ _urlRewrite: null | string;
38
43
  _baseServer: string;
39
44
  } & {
40
45
  urlParsed: import("./utils.js").UrlPublic;
41
46
  urlPathname: string;
42
47
  url: string;
43
- } & {
44
- isPageContext: true;
45
48
  } & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly>;
@@ -1,5 +1,5 @@
1
1
  export { createPageContextClientSide };
2
- import { createPageContextShared } from '../../shared/createPageContextShared.js';
2
+ import { createPageContextObject, createPageContextShared } from '../../shared/createPageContextShared.js';
3
3
  import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js';
4
4
  import { getBaseServer } from './getBaseServer.js';
5
5
  import { getGlobalContextClientInternal } from './globalContext.js';
@@ -8,24 +8,22 @@ async function createPageContextClientSide(urlOriginal) {
8
8
  const globalContext = await getGlobalContextClientInternal();
9
9
  const baseServer = getBaseServer();
10
10
  assert(isBaseServer(baseServer));
11
- const pageContextCreated = {
12
- /* Don't spread globalContext for now? Or never spread it as it leads to confusion? The convenience isn't worth the added confusion?
13
- ...globalContext, // least precedence
14
- */
15
- globalContext,
11
+ const pageContextCreated = createPageContextObject();
12
+ objectAssign(pageContextCreated, {
13
+ isClientSide: true,
14
+ isPrerendering: false,
15
+ urlOriginal,
16
+ _globalContext: globalContext,
16
17
  _pageFilesAll: globalContext._pageFilesAll,
17
18
  _pageConfigs: globalContext._pageConfigs,
18
19
  _pageConfigGlobal: globalContext._pageConfigGlobal,
19
20
  _allPageIds: globalContext._allPageIds,
20
21
  _pageRoutes: globalContext._pageRoutes,
21
22
  _onBeforeRouteHook: globalContext._onBeforeRouteHook,
22
- isClientSide: true,
23
- isPrerendering: false,
24
- urlOriginal,
25
23
  _urlHandler: null,
26
24
  _urlRewrite: null,
27
25
  _baseServer: baseServer
28
- };
26
+ });
29
27
  const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
30
28
  objectAssign(pageContextCreated, pageContextUrlComputed);
31
29
  const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal, globalContext._userFriendlyConfigsGlobal);
@@ -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;