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
@@ -11,7 +11,6 @@ if ((0, isBrowser_js_1.isBrowser)()) {
11
11
  (0, assertRoutingType_js_1.assertClientRouting)();
12
12
  }
13
13
  const utils_js_1 = require("./utils.js");
14
- const getPageContextUrlComputed_js_1 = require("../getPageContextUrlComputed.js");
15
14
  const resolvePrecedence_js_1 = require("./resolvePrecedence.js");
16
15
  const resolveRouteString_js_1 = require("./resolveRouteString.js");
17
16
  const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
@@ -20,7 +19,6 @@ const debug_js_1 = require("./debug.js");
20
19
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
21
20
  async function route(pageContext, skipOnBeforeRouteHook) {
22
21
  (0, debug_js_1.debug)('Pages routes:', pageContext._pageRoutes);
23
- (0, getPageContextUrlComputed_js_1.assertPageContextUrl)(pageContext);
24
22
  const pageContextFromRoute = {};
25
23
  // onBeforeRoute()
26
24
  if (!skipOnBeforeRouteHook) {
@@ -74,8 +72,8 @@ async function route(pageContext, skipOnBeforeRouteHook) {
74
72
  }
75
73
  // Route Function defined in `.page.route.js`
76
74
  if (pageRoute.routeType === 'FUNCTION') {
77
- const { routeFunction, routeDefinedAtString } = pageRoute;
78
- const match = await (0, resolveRouteFunction_js_1.resolveRouteFunction)(routeFunction, pageContext, routeDefinedAtString);
75
+ const { routeFunction, routeFunctionFilePath } = pageRoute;
76
+ const match = await (0, resolveRouteFunction_js_1.resolveRouteFunction)(routeFunction, pageContext, routeFunctionFilePath);
79
77
  if (match) {
80
78
  const { routeParams, precedence } = match;
81
79
  routeMatches.push({ pageId, precedence, routeParams, routeType });
@@ -46,6 +46,10 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
46
46
  };
47
47
  }
48
48
  else {
49
+ const { definedAtData } = configValue;
50
+ (0, utils_js_1.assert)(!(0, utils_js_2.isArray)(definedAtData) && !definedAtData.definedBy);
51
+ const { filePathToShowToUser } = definedAtData;
52
+ (0, utils_js_1.assert)(filePathToShowToUser);
49
53
  (0, utils_js_1.assert)((0, utils_js_2.isCallable)(route));
50
54
  // TODO/next-major: remove
51
55
  if ((0, getConfigValueRuntime_js_1.getConfigValueRuntime)(pageConfig, 'iKnowThePerformanceRisksOfAsyncRouteFunctions', 'boolean'))
@@ -54,6 +58,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
54
58
  pageId,
55
59
  comesFromV1PageConfig,
56
60
  routeFunction: route,
61
+ routeFunctionFilePath: filePathToShowToUser,
57
62
  routeDefinedAtString: definedAtString,
58
63
  routeType: 'FUNCTION'
59
64
  };
@@ -127,6 +132,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
127
132
  pageId,
128
133
  comesFromV1PageConfig,
129
134
  routeFunction,
135
+ routeFunctionFilePath: filePath,
130
136
  routeDefinedAtString: filePath,
131
137
  routeType: 'FUNCTION'
132
138
  });
@@ -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,5 @@ __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);
47
+ __exportStar(require("../utils/objectReplace.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-5da80bf';
@@ -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);