vike 0.4.144 → 0.4.145-commit-2520555

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 (198) hide show
  1. package/dist/cjs/__internal/index.js +6 -2
  2. package/dist/cjs/node/plugin/plugins/buildConfig.js +3 -3
  3. package/dist/cjs/node/plugin/plugins/commonConfig.js +0 -3
  4. package/dist/cjs/node/plugin/plugins/config/index.js +3 -3
  5. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +8 -8
  6. package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -0
  7. package/dist/cjs/node/plugin/plugins/envVars.js +34 -20
  8. package/dist/cjs/node/plugin/plugins/importBuild/index.js +3 -3
  9. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
  10. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +3 -3
  11. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -4
  12. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +12 -12
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +249 -228
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +8 -6
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +36 -14
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/helpers.js +1 -14
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +18 -0
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +15 -17
  19. package/dist/cjs/node/plugin/plugins/previewConfig.js +11 -2
  20. package/dist/cjs/node/prerender/runPrerender.js +34 -26
  21. package/dist/cjs/node/prerender/utils.js +1 -1
  22. package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +20 -6
  23. package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +5 -5
  24. package/dist/cjs/node/runtime/renderPage/log404/index.js +28 -17
  25. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  26. package/dist/cjs/node/runtime/renderPage.js +3 -3
  27. package/dist/cjs/node/runtime/utils.js +1 -1
  28. package/dist/cjs/node/shared/getClientEntryFilePath.js +2 -2
  29. package/dist/cjs/node/shared/getConfigVike.js +4 -1
  30. package/dist/cjs/shared/addUrlComputedProps.js +24 -12
  31. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +4 -6
  32. package/dist/cjs/shared/getPageFiles/getExports.js +3 -3
  33. package/dist/cjs/shared/hooks/getHook.js +1 -1
  34. package/dist/cjs/shared/page-configs/getExportPath.js +3 -3
  35. package/dist/cjs/shared/page-configs/helpers/getConfigDefinedAtString.js +43 -0
  36. package/dist/cjs/shared/page-configs/helpers/getConfigValue.js +44 -0
  37. package/dist/cjs/shared/page-configs/helpers.js +33 -0
  38. package/dist/cjs/shared/page-configs/loadConfigValues.js +2 -2
  39. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +14 -13
  40. package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +2 -2
  41. package/dist/cjs/shared/page-configs/serialize/serializeConfigValue.js +9 -10
  42. package/dist/cjs/shared/route/abort.js +1 -1
  43. package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +41 -15
  44. package/dist/cjs/shared/route/index.js +22 -32
  45. package/dist/cjs/shared/route/loadPageRoutes.js +11 -10
  46. package/dist/cjs/shared/route/noRouteMatch.js +4 -0
  47. package/dist/cjs/shared/route/resolveRouteFunction.js +1 -1
  48. package/dist/cjs/shared/utils.js +1 -1
  49. package/dist/cjs/utils/getFilePathAbsolute.js +11 -11
  50. package/dist/cjs/utils/isExternalLink.js +7 -0
  51. package/dist/cjs/utils/{hasPropertyGetter.js → isPropertyGetter.js} +3 -3
  52. package/dist/cjs/utils/onPageVisibilityChange.js +19 -0
  53. package/dist/cjs/utils/parseUrl.js +1 -1
  54. package/dist/cjs/utils/projectInfo.js +1 -1
  55. package/dist/cjs/utils/truncateString.js +12 -7
  56. package/dist/esm/__internal/index.d.ts +6 -3
  57. package/dist/esm/__internal/index.js +8 -3
  58. package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +2 -3
  59. package/dist/esm/client/client-routing-runtime/createPageContext.js +3 -4
  60. package/dist/esm/client/client-routing-runtime/entry.js +2 -2
  61. package/dist/esm/client/client-routing-runtime/getBaseServer.d.ts +2 -1
  62. package/dist/esm/client/client-routing-runtime/getBaseServer.js +2 -1
  63. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +39 -0
  64. package/dist/esm/client/client-routing-runtime/{getPageContext.js → getPageContextFromHooks.js} +50 -79
  65. package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
  66. package/dist/esm/client/client-routing-runtime/history.js +31 -9
  67. package/dist/esm/client/client-routing-runtime/installClientRouter.d.ts +2 -0
  68. package/dist/esm/client/client-routing-runtime/installClientRouter.js +22 -0
  69. package/dist/esm/client/client-routing-runtime/isClientSideRoutable.d.ts +8 -0
  70. package/dist/esm/client/client-routing-runtime/isClientSideRoutable.js +12 -0
  71. package/dist/esm/client/client-routing-runtime/navigate.d.ts +0 -2
  72. package/dist/esm/client/client-routing-runtime/navigate.js +9 -8
  73. package/dist/esm/client/client-routing-runtime/onBrowserHistoryNavigation.d.ts +4 -0
  74. package/dist/esm/client/client-routing-runtime/onBrowserHistoryNavigation.js +63 -0
  75. package/dist/esm/client/client-routing-runtime/onLinkClick.d.ts +2 -0
  76. package/dist/esm/client/client-routing-runtime/onLinkClick.js +40 -0
  77. package/dist/esm/client/client-routing-runtime/prefetch.js +54 -29
  78. package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +19 -0
  79. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +347 -0
  80. package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +6 -0
  81. package/dist/esm/client/client-routing-runtime/scrollRestoration.js +25 -0
  82. package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +7 -0
  83. package/dist/esm/client/client-routing-runtime/setScrollPosition.js +77 -0
  84. package/dist/esm/client/client-routing-runtime/skipLink.d.ts +0 -1
  85. package/dist/esm/client/client-routing-runtime/skipLink.js +9 -5
  86. package/dist/esm/client/client-routing-runtime/utils.d.ts +2 -0
  87. package/dist/esm/client/client-routing-runtime/utils.js +2 -0
  88. package/dist/esm/client/server-routing-runtime/getPageContext.js +1 -1
  89. package/dist/esm/client/shared/executeOnRenderClientHook.js +6 -5
  90. package/dist/esm/client/shared/getPageContextProxyForUser.js +13 -7
  91. package/dist/esm/client/shared/loadPageFilesClientSide.d.ts +8 -3
  92. package/dist/esm/client/shared/loadPageFilesClientSide.js +5 -5
  93. package/dist/esm/node/plugin/plugins/buildConfig.js +3 -3
  94. package/dist/esm/node/plugin/plugins/commonConfig.js +0 -3
  95. package/dist/esm/node/plugin/plugins/config/index.js +4 -4
  96. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +9 -9
  97. package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -0
  98. package/dist/esm/node/plugin/plugins/envVars.d.ts +2 -0
  99. package/dist/esm/node/plugin/plugins/envVars.js +35 -20
  100. package/dist/esm/node/plugin/plugins/importBuild/index.js +3 -3
  101. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
  102. package/dist/esm/node/plugin/plugins/importUserCode/index.js +3 -3
  103. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -1
  104. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -4
  105. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +1 -1
  106. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +12 -12
  107. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -1
  108. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +250 -229
  109. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.d.ts +2 -2
  110. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +7 -5
  111. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.d.ts +2 -2
  112. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +37 -15
  113. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.js +1 -14
  114. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.d.ts +7 -0
  115. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +15 -0
  116. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.d.ts +2 -2
  117. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +16 -18
  118. package/dist/esm/node/plugin/plugins/previewConfig.js +11 -2
  119. package/dist/esm/node/prerender/runPrerender.js +29 -21
  120. package/dist/esm/node/prerender/utils.d.ts +1 -1
  121. package/dist/esm/node/prerender/utils.js +1 -1
  122. package/dist/esm/node/runtime/html/serializePageContextClientSide.js +21 -7
  123. package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +5 -5
  124. package/dist/esm/node/runtime/renderPage/debugPageFiles.js +5 -5
  125. package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.d.ts +2 -2
  126. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  127. package/dist/esm/node/runtime/renderPage/log404/index.js +28 -16
  128. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -2
  129. package/dist/esm/node/runtime/renderPage.js +3 -3
  130. package/dist/esm/node/runtime/utils.d.ts +1 -1
  131. package/dist/esm/node/runtime/utils.js +1 -1
  132. package/dist/esm/node/shared/getClientEntryFilePath.js +1 -1
  133. package/dist/esm/node/shared/getConfigVike.d.ts +2 -1
  134. package/dist/esm/node/shared/getConfigVike.js +4 -1
  135. package/dist/esm/shared/addUrlComputedProps.d.ts +1 -0
  136. package/dist/esm/shared/addUrlComputedProps.js +25 -13
  137. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +2 -4
  138. package/dist/esm/shared/getPageFiles/getExports.js +2 -2
  139. package/dist/esm/shared/hooks/getHook.js +1 -1
  140. package/dist/esm/shared/page-configs/PageConfig.d.ts +55 -31
  141. package/dist/esm/shared/page-configs/getExportPath.d.ts +1 -1
  142. package/dist/esm/shared/page-configs/getExportPath.js +3 -3
  143. package/dist/esm/shared/page-configs/helpers/getConfigDefinedAtString.d.ts +7 -0
  144. package/dist/esm/shared/page-configs/helpers/getConfigDefinedAtString.js +37 -0
  145. package/dist/esm/shared/page-configs/helpers/getConfigValue.d.ts +14 -0
  146. package/dist/esm/shared/page-configs/helpers/getConfigValue.js +38 -0
  147. package/dist/esm/shared/page-configs/helpers.d.ts +13 -0
  148. package/dist/esm/shared/page-configs/helpers.js +27 -0
  149. package/dist/esm/shared/page-configs/loadConfigValues.js +2 -2
  150. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +4 -4
  151. package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +15 -11
  152. package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +2 -2
  153. package/dist/esm/shared/page-configs/serialize/serializeConfigValue.js +9 -10
  154. package/dist/esm/shared/route/abort.js +1 -1
  155. package/dist/esm/shared/route/executeOnBeforeRouteHook.d.ts +5 -8
  156. package/dist/esm/shared/route/executeOnBeforeRouteHook.js +41 -15
  157. package/dist/esm/shared/route/index.d.ts +12 -10
  158. package/dist/esm/shared/route/index.js +23 -33
  159. package/dist/esm/shared/route/loadPageRoutes.js +8 -7
  160. package/dist/esm/shared/route/noRouteMatch.d.ts +1 -0
  161. package/dist/esm/shared/route/noRouteMatch.js +1 -0
  162. package/dist/esm/shared/route/resolveRouteFunction.js +1 -1
  163. package/dist/esm/shared/utils.d.ts +1 -1
  164. package/dist/esm/shared/utils.js +1 -1
  165. package/dist/esm/utils/getFilePathAbsolute.d.ts +1 -1
  166. package/dist/esm/utils/getFilePathAbsolute.js +11 -11
  167. package/dist/esm/utils/isPropertyGetter.d.ts +1 -0
  168. package/dist/esm/utils/{hasPropertyGetter.js → isPropertyGetter.js} +1 -1
  169. package/dist/esm/utils/onPageVisibilityChange.d.ts +4 -0
  170. package/dist/esm/utils/onPageVisibilityChange.js +16 -0
  171. package/dist/esm/utils/parseUrl.js +1 -1
  172. package/dist/esm/utils/projectInfo.d.ts +1 -1
  173. package/dist/esm/utils/projectInfo.js +1 -1
  174. package/dist/esm/utils/truncateString.d.ts +2 -1
  175. package/dist/esm/utils/truncateString.js +10 -7
  176. package/node/cli/bin-entry.js +1 -1
  177. package/package.json +2 -3
  178. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +0 -16
  179. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +0 -13
  180. package/dist/cjs/shared/page-configs/utils.js +0 -103
  181. package/dist/esm/client/client-routing-runtime/getPageContext.d.ts +0 -29
  182. package/dist/esm/client/client-routing-runtime/getPageId.d.ts +0 -10
  183. package/dist/esm/client/client-routing-runtime/getPageId.js +0 -17
  184. package/dist/esm/client/client-routing-runtime/navigationState.d.ts +0 -5
  185. package/dist/esm/client/client-routing-runtime/navigationState.js +0 -14
  186. package/dist/esm/client/client-routing-runtime/skipLink/isClientSideRoutable.d.ts +0 -2
  187. package/dist/esm/client/client-routing-runtime/skipLink/isClientSideRoutable.js +0 -15
  188. package/dist/esm/client/client-routing-runtime/useClientRouter.d.ts +0 -6
  189. package/dist/esm/client/client-routing-runtime/useClientRouter.js +0 -493
  190. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.d.ts +0 -24
  191. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +0 -13
  192. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.d.ts +0 -3
  193. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +0 -10
  194. package/dist/esm/shared/page-configs/utils.d.ts +0 -35
  195. package/dist/esm/shared/page-configs/utils.js +0 -97
  196. package/dist/esm/utils/hasPropertyGetter.d.ts +0 -1
  197. /package/dist/esm/{client/client-routing-runtime → utils}/isExternalLink.d.ts +0 -0
  198. /package/dist/esm/{client/client-routing-runtime → utils}/isExternalLink.js +0 -0
@@ -8,9 +8,39 @@ const assertPageContextProvidedByUser_js_1 = require("../assertPageContextProvid
8
8
  const utils_js_1 = require("./utils.js");
9
9
  const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
10
10
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
11
- async function executeOnBeforeRouteHook(onBeforeRouteHook, pageContext) {
11
+ async function executeOnBeforeRouteHook(pageContext) {
12
+ const pageContextFromOnBeforeRouteHook = {};
13
+ if (!pageContext._onBeforeRouteHook)
14
+ return null;
15
+ const pageContextFromHook = await executeHook(pageContext._onBeforeRouteHook, pageContext);
16
+ if (pageContextFromHook) {
17
+ (0, utils_js_1.objectAssign)(pageContextFromOnBeforeRouteHook, pageContextFromHook);
18
+ if ((0, utils_js_1.hasProp)(pageContextFromOnBeforeRouteHook, '_pageId', 'string') ||
19
+ (0, utils_js_1.hasProp)(pageContextFromOnBeforeRouteHook, '_pageId', 'null')) {
20
+ // We bypass Vike's routing
21
+ if (!(0, utils_js_1.hasProp)(pageContextFromOnBeforeRouteHook, 'routeParams')) {
22
+ (0, utils_js_1.objectAssign)(pageContextFromOnBeforeRouteHook, { routeParams: {} });
23
+ }
24
+ else {
25
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextFromOnBeforeRouteHook, 'routeParams', 'object'));
26
+ }
27
+ (0, utils_js_1.objectAssign)(pageContextFromOnBeforeRouteHook, {
28
+ _routingProvidedByOnBeforeRouteHook: true,
29
+ _debugRouteMatches: 'CUSTOM_ROUTING'
30
+ });
31
+ return pageContextFromOnBeforeRouteHook;
32
+ }
33
+ }
34
+ (0, utils_js_1.objectAssign)(pageContextFromOnBeforeRouteHook, {
35
+ _routingProvidedByOnBeforeRouteHook: false
36
+ });
37
+ return pageContextFromOnBeforeRouteHook;
38
+ }
39
+ exports.executeOnBeforeRouteHook = executeOnBeforeRouteHook;
40
+ async function executeHook(onBeforeRouteHook, pageContext) {
12
41
  let hookReturn = onBeforeRouteHook.onBeforeRoute(pageContext);
13
42
  (0, resolveRouteFunction_js_1.assertSyncRouting)(hookReturn, `The onBeforeRoute() hook ${onBeforeRouteHook.hookFilePath}`);
43
+ // TODO/v1-release: make executeOnBeforeRouteHook() and route() sync
14
44
  hookReturn = await hookReturn;
15
45
  const errPrefix = `The onBeforeRoute() hook defined by ${onBeforeRouteHook.hookFilePath}`;
16
46
  (0, utils_js_1.assertUsage)(hookReturn === null ||
@@ -28,29 +58,25 @@ async function executeOnBeforeRouteHook(onBeforeRouteHook, pageContext) {
28
58
  if ((0, utils_js_1.hasProp)(hookReturn.pageContext, 'routeParams')) {
29
59
  (0, resolveRouteFunction_js_1.assertRouteParams)(hookReturn.pageContext, `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext: { routeParams } }')} but routeParams should`);
30
60
  }
31
- const pageContextAddendumHook = {};
61
+ const deprecatedReturn = (prop) => `${errPrefix} returned ${picocolors_1.default.cyan(`{ pageContext: { ${prop} } }`)} which is deprecated. Return ${picocolors_1.default.cyan('{ pageContext: { urlLogical } }')} instead.`;
32
62
  if ((0, utils_js_1.hasProp)(hookReturn.pageContext, 'url')) {
33
- (0, utils_js_1.assertWarning)(false, `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext: { url } }')} but ${picocolors_1.default.cyan('pageContext.url')} has been renamed to ${picocolors_1.default.cyan('pageContext.urlOriginal')}. Return ${picocolors_1.default.cyan('{ pageContext: { urlOriginal } }')} instead. (See https://vike.dev/migration/0.4.23 for more information.)`, { onlyOnce: true });
34
- hookReturn.pageContext.urlOriginal = hookReturn.pageContext.url;
63
+ (0, utils_js_1.assertWarning)(false, deprecatedReturn('url'), { onlyOnce: true });
64
+ hookReturn.pageContext.urlLogical = hookReturn.pageContext.url;
35
65
  delete hookReturn.pageContext.url;
36
66
  }
37
67
  if ((0, utils_js_1.hasProp)(hookReturn.pageContext, 'urlOriginal')) {
38
- (0, utils_js_1.assertUsageUrl)(hookReturn.pageContext.urlOriginal, `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext: { urlOriginal } }')} but ${picocolors_1.default.cyan('urlOriginal')}`);
39
- // Ugly workaround: ideally urlOriginal should be immutable.
40
- // - Instead of using pageContext._urlOriginalPristine, maybe we can keep pageContext.urlOriginal immutable while re-using `pageContext._urlRewrite`.
41
- // - Or better yet we rename pageContext._urlRewrite to pageContext.urlLogical and we allow the user to override pageContext.urlLogical, and we rename pageContext.urlOriginal => `pageContext.urlReal`.
42
- // - pageContext.urlReal / pageContext.urlLogical
43
- // VS
44
- // pageContext.urlReal / pageContext.urlModified
45
- // VS
46
- // pageContext.urlOriginal / pageContext.urlModified
47
- (0, utils_js_1.objectAssign)(pageContextAddendumHook, { _urlOriginalPristine: pageContext.urlOriginal });
68
+ (0, utils_js_1.assertWarning)(false, deprecatedReturn('urlOriginal'), { onlyOnce: true });
69
+ hookReturn.pageContext.urlLogical = hookReturn.pageContext.urlOriginal;
70
+ delete hookReturn.pageContext.urlOriginal;
71
+ }
72
+ if ((0, utils_js_1.hasProp)(hookReturn.pageContext, 'urlLogical')) {
73
+ (0, utils_js_1.assertUsageUrl)(hookReturn.pageContext.urlLogical, `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext: { urlLogical } }')} but ${picocolors_1.default.cyan('urlLogical')}`);
48
74
  }
49
75
  (0, assertPageContextProvidedByUser_js_1.assertPageContextProvidedByUser)(hookReturn.pageContext, {
50
76
  hookFilePath: onBeforeRouteHook.hookFilePath,
51
77
  hookName: 'onBeforeRoute'
52
78
  });
79
+ const pageContextAddendumHook = {};
53
80
  (0, utils_js_1.objectAssign)(pageContextAddendumHook, hookReturn.pageContext);
54
81
  return pageContextAddendumHook;
55
82
  }
56
- exports.executeOnBeforeRouteHook = executeOnBeforeRouteHook;
@@ -18,35 +18,25 @@ const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
18
18
  const executeOnBeforeRouteHook_js_1 = require("./executeOnBeforeRouteHook.js");
19
19
  const debug_js_1 = require("./debug.js");
20
20
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
21
- async function route(pageContext) {
22
- (0, addUrlComputedProps_js_1.addUrlComputedProps)(pageContext);
23
- (0, debug_js_1.debug)('Pages routes:', pageContext._pageRoutes);
24
- const pageContextAddendum = {};
25
- if (pageContext._onBeforeRouteHook) {
26
- const pageContextAddendumHook = await (0, executeOnBeforeRouteHook_js_1.executeOnBeforeRouteHook)(pageContext._onBeforeRouteHook, pageContext);
27
- if (pageContextAddendumHook) {
28
- (0, utils_js_1.objectAssign)(pageContextAddendum, pageContextAddendumHook);
29
- if ((0, utils_js_1.hasProp)(pageContextAddendum, '_pageId', 'string') || (0, utils_js_1.hasProp)(pageContextAddendum, '_pageId', 'null')) {
30
- // We bypass Vike's routing
31
- if (!(0, utils_js_1.hasProp)(pageContextAddendum, 'routeParams')) {
32
- (0, utils_js_1.objectAssign)(pageContextAddendum, { routeParams: {} });
33
- }
34
- else {
35
- (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextAddendum, 'routeParams', 'object'));
36
- }
37
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
38
- _routingProvidedByOnBeforeRouteHook: true,
39
- _routeMatches: 'CUSTOM_ROUTE'
40
- });
41
- return { pageContextAddendum };
42
- }
43
- // We already assign so that `pageContext.urlOriginal === pageContextAddendum.urlOriginal`; enabling the `onBeforeRoute()` hook to mutate `pageContext.urlOriginal` before routing.
44
- (0, utils_js_1.objectAssign)(pageContext, pageContextAddendum);
21
+ async function route(pageContextForRoute) {
22
+ (0, debug_js_1.debug)('Pages routes:', pageContextForRoute._pageRoutes);
23
+ (0, addUrlComputedProps_js_1.addUrlComputedProps)(pageContextForRoute);
24
+ const pageContextFromRoute = {};
25
+ // onBeforeRoute()
26
+ const pageContextFromOnBeforeRouteHook = await (0, executeOnBeforeRouteHook_js_1.executeOnBeforeRouteHook)(pageContextForRoute);
27
+ if (pageContextFromOnBeforeRouteHook) {
28
+ if (pageContextFromOnBeforeRouteHook._routingProvidedByOnBeforeRouteHook) {
29
+ (0, utils_js_1.assert)(pageContextFromOnBeforeRouteHook._pageId);
30
+ return pageContextFromOnBeforeRouteHook;
31
+ }
32
+ else {
33
+ (0, utils_js_1.objectAssign)(pageContextFromRoute, pageContextFromOnBeforeRouteHook);
45
34
  }
46
35
  }
47
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
48
- _routingProvidedByOnBeforeRouteHook: false
49
- });
36
+ // We take into account pageContext.urlLogical set by onBeforeRoute()
37
+ const pageContext = {};
38
+ (0, utils_js_1.objectAssign)(pageContext, pageContextForRoute);
39
+ (0, utils_js_1.objectAssign)(pageContext, pageContextFromOnBeforeRouteHook);
50
40
  // Vike's routing
51
41
  const allPageIds = pageContext._allPageIds;
52
42
  (0, utils_js_1.assert)(allPageIds.length >= 0);
@@ -98,22 +88,22 @@ async function route(pageContext) {
98
88
  (0, resolvePrecedence_js_1.resolvePrecendence)(routeMatches);
99
89
  const winner = routeMatches[0];
100
90
  (0, debug_js_1.debug)(`Route matches for URL ${picocolors_1.default.cyan(urlPathname)} (in precedence order):`, routeMatches);
101
- (0, utils_js_1.objectAssign)(pageContextAddendum, { _routeMatches: routeMatches });
91
+ (0, utils_js_1.objectAssign)(pageContextFromRoute, { _debugRouteMatches: routeMatches });
102
92
  if (!winner) {
103
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
93
+ (0, utils_js_1.objectAssign)(pageContextFromRoute, {
104
94
  _pageId: null,
105
95
  routeParams: {}
106
96
  });
107
- return { pageContextAddendum };
97
+ return pageContextFromRoute;
108
98
  }
109
99
  {
110
100
  const { routeParams } = winner;
111
101
  (0, utils_js_1.assert)((0, utils_js_1.isPlainObject)(routeParams));
112
- (0, utils_js_1.objectAssign)(pageContextAddendum, {
102
+ (0, utils_js_1.objectAssign)(pageContextFromRoute, {
113
103
  _pageId: winner.pageId,
114
104
  routeParams: winner.routeParams
115
105
  });
116
106
  }
117
- return { pageContextAddendum };
107
+ return pageContextFromRoute;
118
108
  }
119
109
  exports.route = route;
@@ -5,10 +5,10 @@ const error_page_js_1 = require("../error-page.js");
5
5
  const utils_js_1 = require("./utils.js");
6
6
  const deduceRouteStringFromFilesystemPath_js_1 = require("./deduceRouteStringFromFilesystemPath.js");
7
7
  const utils_js_2 = require("../utils.js");
8
- const utils_js_3 = require("../page-configs/utils.js");
8
+ const helpers_js_1 = require("../page-configs/helpers.js");
9
9
  const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
10
10
  async function loadPageRoutes(
11
- // TODO: remove all arguments and use GlobalContext instead
11
+ // Remove all arguments and use GlobalContext instead?
12
12
  pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
13
13
  await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
14
14
  const { onBeforeRouteHook, filesystemRoots } = getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal);
@@ -31,10 +31,10 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
31
31
  let pageRoute = null;
32
32
  {
33
33
  const configName = 'route';
34
- const configValue = (0, utils_js_3.getConfigValue)(pageConfig, configName);
34
+ const configValue = (0, helpers_js_1.getConfigValue)(pageConfig, configName);
35
35
  if (configValue) {
36
36
  const route = configValue.value;
37
- const definedAt = (0, utils_js_3.getDefinedAtString)(configValue, configName);
37
+ const definedAt = (0, helpers_js_1.getDefinedAtString)(configValue.definedAt, configName);
38
38
  if (typeof route === 'string') {
39
39
  pageRoute = {
40
40
  pageId,
@@ -46,7 +46,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
46
46
  }
47
47
  else {
48
48
  (0, utils_js_1.assert)((0, utils_js_2.isCallable)(route));
49
- if ((0, utils_js_3.getConfigValue)(pageConfig, 'iKnowThePerformanceRisksOfAsyncRouteFunctions', 'boolean'))
49
+ if ((0, helpers_js_1.getConfigValue)(pageConfig, 'iKnowThePerformanceRisksOfAsyncRouteFunctions', 'boolean'))
50
50
  (0, resolveRouteFunction_js_1.warnDeprecatedAllowKey)();
51
51
  pageRoute = {
52
52
  pageId,
@@ -139,12 +139,13 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
139
139
  function getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal) {
140
140
  // V1 Design
141
141
  if (pageConfigs.length > 0) {
142
- if (pageConfigGlobal.configValues.onBeforeRoute?.value) {
143
- const configValue = pageConfigGlobal.configValues.onBeforeRoute;
142
+ const hookName = 'onBeforeRoute';
143
+ if (pageConfigGlobal.configValues[hookName]?.value) {
144
+ const configValue = pageConfigGlobal.configValues[hookName];
144
145
  const { value: hookFn } = configValue;
145
- const hookFilePath = (0, utils_js_3.getHookFilePathToShowToUser)(configValue);
146
- // TODO: use getConfigDefinedAtString()
147
- (0, utils_js_1.assertUsage)((0, utils_js_2.isCallable)(hookFn), `The hook onBeforeRoute() defined by ${hookFilePath} should be a function.`);
146
+ const hookFilePath = (0, helpers_js_1.getHookFilePathToShowToUser)(configValue);
147
+ const hookDefinedAt = (0, helpers_js_1.getConfigDefinedAtString)('Hook', hookName, configValue);
148
+ (0, utils_js_1.assertUsage)((0, utils_js_2.isCallable)(hookFn), `${hookDefinedAt} should be a function.`);
148
149
  const onBeforeRouteHook = {
149
150
  hookFilePath: hookFilePath,
150
151
  onBeforeRoute: hookFn
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noRouteMatch = void 0;
4
+ exports.noRouteMatch = "doesn't match the route of any of your pages";
@@ -11,7 +11,7 @@ async function resolveRouteFunction(routeFunction, pageContext, routeDefinedAt)
11
11
  (0, addUrlComputedProps_js_1.assertPageContextUrlComputedProps)(pageContext);
12
12
  let result = routeFunction(pageContext);
13
13
  assertSyncRouting(result, `The Route Function ${routeDefinedAt}`);
14
- // TODO/v1-release
14
+ // TODO/v1-release: make resolveRouteFunction() and route() sync
15
15
  //* 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
16
16
  result = await result;
17
17
  //*/
@@ -35,7 +35,7 @@ __exportStar(require("../utils/stringifyStringArray.js"), exports);
35
35
  __exportStar(require("../utils/filesystemPathHandling.js"), exports);
36
36
  __exportStar(require("../utils/cast.js"), exports);
37
37
  __exportStar(require("../utils/projectInfo.js"), exports);
38
- __exportStar(require("../utils/hasPropertyGetter.js"), exports);
38
+ __exportStar(require("../utils/isPropertyGetter.js"), exports);
39
39
  __exportStar(require("../utils/isPromise.js"), exports);
40
40
  __exportStar(require("../utils/checkType.js"), exports);
41
41
  __exportStar(require("../utils/objectEntries.js"), exports);
@@ -34,27 +34,27 @@ function getFilePathAbsolute(filePath, config) {
34
34
  filePathUnresolved = path_1.default.posix.join(root, filePath);
35
35
  (0, assertPathIsFilesystemAbsolute_js_1.assertPathIsFilesystemAbsolute)(filePathUnresolved);
36
36
  }
37
- let filePathAbsolute;
37
+ let filePathAbsoluteFilesystem;
38
38
  try {
39
- filePathAbsolute = require_.resolve(filePathUnresolved, { paths: [config.root] });
39
+ filePathAbsoluteFilesystem = require_.resolve(filePathUnresolved, { paths: [config.root] });
40
40
  }
41
41
  catch (err) {
42
42
  console.error(err);
43
43
  (0, assert_js_1.assert)(false);
44
44
  }
45
- filePathAbsolute = (0, filesystemPathHandling_js_1.toPosixPath)(filePathAbsolute);
46
- (0, assertPathIsFilesystemAbsolute_js_1.assertPathIsFilesystemAbsolute)(filePathAbsolute);
47
- return filePathAbsolute;
45
+ filePathAbsoluteFilesystem = (0, filesystemPathHandling_js_1.toPosixPath)(filePathAbsoluteFilesystem);
46
+ (0, assertPathIsFilesystemAbsolute_js_1.assertPathIsFilesystemAbsolute)(filePathAbsoluteFilesystem);
47
+ return filePathAbsoluteFilesystem;
48
48
  }
49
49
  exports.getFilePathAbsolute = getFilePathAbsolute;
50
- function getFilePathRelativeToUserRootDir(filePathAbsolute, userRootDir, alwaysRelative = false) {
51
- (0, filesystemPathHandling_js_1.assertPosixPath)(filePathAbsolute);
50
+ function getFilePathRelativeToUserRootDir(filePathAbsoluteFilesystem, userRootDir, alwaysRelative = false) {
51
+ (0, filesystemPathHandling_js_1.assertPosixPath)(filePathAbsoluteFilesystem);
52
52
  (0, filesystemPathHandling_js_1.assertPosixPath)(userRootDir);
53
- let filePathRelativeToUserRootDir = path_1.default.posix.relative(userRootDir, filePathAbsolute);
54
- if (filePathAbsolute.startsWith(userRootDir)) {
53
+ let filePathRelativeToUserRootDir = path_1.default.posix.relative(userRootDir, filePathAbsoluteFilesystem);
54
+ if (filePathAbsoluteFilesystem.startsWith(userRootDir)) {
55
55
  (0, assert_js_1.assert)(!filePathRelativeToUserRootDir.startsWith('.') && !filePathRelativeToUserRootDir.startsWith('/'),
56
56
  // Surprinsingly, this assertion seem to fail sometimes: https://github.com/vikejs/vike/issues/1139
57
- { filePathRelativeToUserRootDir, filePathAbsolute, userRootDir });
57
+ { filePathRelativeToUserRootDir, filePathAbsoluteFilesystem, userRootDir });
58
58
  filePathRelativeToUserRootDir = `/${filePathRelativeToUserRootDir}`;
59
59
  return filePathRelativeToUserRootDir;
60
60
  }
@@ -63,7 +63,7 @@ function getFilePathRelativeToUserRootDir(filePathAbsolute, userRootDir, alwaysR
63
63
  return filePathRelativeToUserRootDir;
64
64
  }
65
65
  else {
66
- return filePathAbsolute;
66
+ return filePathAbsoluteFilesystem;
67
67
  }
68
68
  }
69
69
  }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isExternalLink = void 0;
4
+ function isExternalLink(url) {
5
+ return !url.startsWith('/') && !url.startsWith('.') && !url.startsWith('?') && url !== '';
6
+ }
7
+ exports.isExternalLink = isExternalLink;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasPropertyGetter = void 0;
4
- function hasPropertyGetter(obj, prop) {
3
+ exports.isPropertyGetter = void 0;
4
+ function isPropertyGetter(obj, prop) {
5
5
  const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
6
6
  return !!descriptor && !('value' in descriptor) && !!descriptor.get;
7
7
  }
8
- exports.hasPropertyGetter = hasPropertyGetter;
8
+ exports.isPropertyGetter = isPropertyGetter;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onPageShow = exports.onPageHide = void 0;
4
+ function onPageHide(listener) {
5
+ window.addEventListener('visibilitychange', () => {
6
+ if (document.visibilityState === 'hidden') {
7
+ listener();
8
+ }
9
+ });
10
+ }
11
+ exports.onPageHide = onPageHide;
12
+ function onPageShow(listener) {
13
+ window.addEventListener('visibilitychange', () => {
14
+ if (document.visibilityState === 'visible') {
15
+ listener();
16
+ }
17
+ });
18
+ }
19
+ exports.onPageShow = onPageShow;
@@ -52,7 +52,7 @@ function parseUrl(url, baseServer) {
52
52
  const searchAll = {};
53
53
  Array.from(new URLSearchParams(searchOriginal || '')).forEach(([key, val]) => {
54
54
  search[key] = val;
55
- searchAll[key] = [...(searchAll[key] || []), val];
55
+ searchAll[key] = [...(searchAll.hasOwnProperty(key) ? searchAll[key] : []), val];
56
56
  });
57
57
  // Origin + pathname
58
58
  const { origin, pathname: pathnameResolved } = parsePathname(urlWithoutHashNorSearch, baseServer);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.projectInfo = void 0;
4
4
  const assertSingleInstance_js_1 = require("./assertSingleInstance.js");
5
- const PROJECT_VERSION = '0.4.144';
5
+ const PROJECT_VERSION = '0.4.145-commit-2520555';
6
6
  const projectInfo = {
7
7
  projectName: 'Vike',
8
8
  projectVersion: PROJECT_VERSION,
@@ -1,17 +1,22 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.truncateString = void 0;
4
- function truncateString(str, lenMax, dim) {
7
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
8
+ const assert_js_1 = require("./assert.js");
9
+ function truncateString(str, lenMax) {
10
+ const lenMaxReal = lenMax - 3;
11
+ (0, assert_js_1.assert)(lenMaxReal >= 1); // Show at least one character before the ellipsis
5
12
  if (str.length < lenMax) {
6
13
  return str;
7
14
  }
8
15
  else {
9
- // May break ANSI codes
10
- // - So far, the str we pass to truncateString(str) are expected to not contain any ANSI code
11
- str = str.substring(0, lenMax - 3);
12
- let ellipsis = '...';
13
- if (dim)
14
- ellipsis = dim(ellipsis);
16
+ // Breaks ANSI codes.
17
+ // - So far, the `str` we pass to truncateString(str) is always expected to not contain any ANSI code
18
+ str = str.substring(0, lenMaxReal);
19
+ const ellipsis = picocolors_1.default.dim('...');
15
20
  str = str + ellipsis;
16
21
  return str;
17
22
  }
@@ -1,8 +1,8 @@
1
- import { route, type PageRoutes } from '../shared/route/index.js';
2
- import { type PageFile } from '../shared/getPageFiles.js';
3
- import { PageConfigRuntime } from '../shared/page-configs/PageConfig.js';
4
1
  export { route, getPagesAndRoutes };
5
2
  export type { PageRoutes, PageFile, PageConfigRuntime as PageConfig };
3
+ import { route as routeInternal, type PageRoutes } from '../shared/route/index.js';
4
+ import { type PageFile } from '../shared/getPageFiles.js';
5
+ import { PageConfigRuntime } from '../shared/page-configs/PageConfig.js';
6
6
  /**
7
7
  * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel}
8
8
  * to compute some rewrite rules and extract { isr } configs.
@@ -15,3 +15,6 @@ declare function getPagesAndRoutes(): Promise<{
15
15
  pageConfigs: PageConfigRuntime[];
16
16
  allPageIds: string[];
17
17
  }>;
18
+ declare function route(pageContext: Parameters<typeof routeInternal>[0]): Promise<{
19
+ pageContextAddendum: import("../shared/route/index.js").PageContextFromRoute;
20
+ }>;
@@ -1,10 +1,10 @@
1
- // Internal functions of vike needed by other plugins are exported via this file
2
- import { route } from '../shared/route/index.js';
1
+ // Internals needed by vite-plugin-vercel
2
+ export { route, getPagesAndRoutes };
3
+ import { route as routeInternal } from '../shared/route/index.js';
3
4
  import { getGlobalContext, initGlobalContext } from '../node/runtime/globalContext.js';
4
5
  import { setNodeEnvToProduction } from '../utils/nodeEnv.js';
5
6
  import { assert } from '../utils/assert.js';
6
7
  import { getRenderContext } from '../node/runtime/renderPage/renderPageAlreadyRouted.js';
7
- export { route, getPagesAndRoutes };
8
8
  /**
9
9
  * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel}
10
10
  * to compute some rewrite rules and extract { isr } configs.
@@ -25,3 +25,8 @@ async function getPagesAndRoutes() {
25
25
  allPageIds
26
26
  };
27
27
  }
28
+ async function route(pageContext) {
29
+ const pageContextFromRoute = await routeInternal(pageContext);
30
+ // Old interface
31
+ return { pageContextAddendum: pageContextFromRoute };
32
+ }
@@ -1,7 +1,6 @@
1
1
  export { createPageContext };
2
- declare function createPageContext<T extends {
2
+ declare function createPageContext(urlOriginal: string): Promise<{
3
3
  urlOriginal: string;
4
- }>(pageContextBase?: T): Promise<{
5
4
  _objectCreatedByVike: boolean;
6
5
  _urlHandler: null;
7
6
  _urlRewrite: null;
@@ -13,6 +12,6 @@ declare function createPageContext<T extends {
13
12
  _allPageIds: string[];
14
13
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
15
14
  _onBeforeRouteHook: import("../../shared/route/executeOnBeforeRouteHook.js").OnBeforeRouteHook | null;
16
- } & T & import("../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
15
+ } & import("../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
17
16
  _urlRewrite: string | null;
18
17
  }>;
@@ -3,9 +3,9 @@ import { addUrlComputedProps } from '../../shared/addUrlComputedProps.js';
3
3
  import { getPageFilesAll } from '../../shared/getPageFiles.js';
4
4
  import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
5
5
  import { getBaseServer } from './getBaseServer.js';
6
- import { assert, isBaseServer, objectAssign, getGlobalObject } from './utils.js';
6
+ import { assert, isBaseServer, getGlobalObject } from './utils.js';
7
7
  const globalObject = getGlobalObject('createPageContext.ts', {});
8
- async function createPageContext(pageContextBase) {
8
+ async function createPageContext(urlOriginal) {
9
9
  if (!globalObject.pageFilesData) {
10
10
  globalObject.pageFilesData = await getPageFilesAll(true);
11
11
  }
@@ -16,12 +16,12 @@ async function createPageContext(pageContextBase) {
16
16
  // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
17
17
  const isProd = import.meta.env.PROD;
18
18
  const pageContext = {
19
+ urlOriginal,
19
20
  _objectCreatedByVike: true,
20
21
  _urlHandler: null,
21
22
  _urlRewrite: null,
22
23
  _baseServer: baseServer,
23
24
  _isProduction: isProd,
24
- // TODO: use GlobalContext instead
25
25
  _pageFilesAll: pageFilesAll,
26
26
  _pageConfigs: pageConfigs,
27
27
  _pageConfigGlobal: pageConfigGlobal,
@@ -29,7 +29,6 @@ async function createPageContext(pageContextBase) {
29
29
  _pageRoutes: pageRoutes,
30
30
  _onBeforeRouteHook: onBeforeRouteHook
31
31
  };
32
- objectAssign(pageContext, pageContextBase);
33
32
  addUrlComputedProps(pageContext);
34
33
  return pageContext;
35
34
  }
@@ -1,9 +1,9 @@
1
1
  import { assertClientRouting } from '../../utils/assertRoutingType.js';
2
2
  assertClientRouting();
3
3
  import './pageFiles';
4
- import { useClientRouter } from './useClientRouter.js';
4
+ import { installClientRouter } from './installClientRouter.js';
5
5
  import { onClientEntry_ClientRouting } from './utils.js';
6
6
  // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
7
7
  const isProd = import.meta.env.PROD;
8
8
  onClientEntry_ClientRouting(isProd);
9
- useClientRouter();
9
+ installClientRouter();
@@ -1 +1,2 @@
1
- export declare function getBaseServer(): string;
1
+ export { getBaseServer };
2
+ declare function getBaseServer(): string;
@@ -1,5 +1,6 @@
1
+ export { getBaseServer };
1
2
  import { assert } from '../server-routing-runtime/utils.js';
2
- export function getBaseServer() {
3
+ function getBaseServer() {
3
4
  // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
4
5
  const baseServer = import.meta.env.BASE_SERVER;
5
6
  assert(isBaseServer(baseServer));
@@ -0,0 +1,39 @@
1
+ export { getPageContextFromHooks_firstRender };
2
+ export { getPageContextFromHooks_uponNavigation };
3
+ export { getPageContextFromHooks_errorPage };
4
+ export { isAlreadyServerSideRouted };
5
+ export type { PageContextFromHooks };
6
+ import type { PageContextExports, PageFile } from '../../shared/getPageFiles.js';
7
+ import type { PageContextUrlComputedPropsInternal } from '../../shared/addUrlComputedProps.js';
8
+ import type { PageContextForRoute } from '../../shared/route/index.js';
9
+ import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
10
+ import type { PageContextForPassToClientWarning } from '../shared/getPageContextProxyForUser.js';
11
+ /** - pageContext set by user hooks
12
+ * - pageContext set by loadPageFilesClientSide()
13
+ * - misc:
14
+ * - pageContext.isHydration
15
+ * - pageContext._pageId
16
+ * - pageContext._hasPageContextFromClient
17
+ * - pageContext._hasPageContextFromServer
18
+ */
19
+ type PageContextFromHooks = {
20
+ _pageId: string;
21
+ isHydration: boolean;
22
+ _pageFilesLoaded: PageFile[];
23
+ } & PageContextExports & PageContextForPassToClientWarning;
24
+ type PageContext = PageContextUrlComputedPropsInternal & PageContextForRoute & {
25
+ _allPageIds: string[];
26
+ _pageFilesAll: PageFile[];
27
+ _pageConfigs: PageConfigRuntime[];
28
+ isBackwardNavigation: boolean | null;
29
+ };
30
+ declare function getPageContextFromHooks_firstRender(pageContext: {
31
+ urlOriginal: string;
32
+ } & PageContext): Promise<PageContextFromHooks>;
33
+ declare function getPageContextFromHooks_errorPage(pageContext: {
34
+ urlOriginal: string;
35
+ } & PageContext): Promise<PageContextFromHooks>;
36
+ declare function getPageContextFromHooks_uponNavigation(pageContext: {
37
+ _pageId: string;
38
+ } & PageContext): Promise<PageContextFromHooks>;
39
+ declare function isAlreadyServerSideRouted(err: unknown): boolean;