@revealui/core 0.0.1-pre.1 → 0.0.1-pre.2

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 (706) hide show
  1. package/dist/exports/bin-entry.js +3 -1
  2. package/dist/node/cli/index.js +3 -0
  3. package/package.json +2 -2
  4. package/dist/core/__internal/index.ts +0 -63
  5. package/dist/core/__tests__/assertNoInfiniteHttpRedirect.spec.ts +0 -76
  6. package/dist/core/__tests__/deduceRouteStringFromFilesystemPath.spec.ts +0 -88
  7. package/dist/core/__tests__/freezePartial.spec.ts +0 -40
  8. package/dist/core/__tests__/getValuePrintable.spec.ts +0 -15
  9. package/dist/core/__tests__/injectHtmlTags.spec.ts +0 -101
  10. package/dist/core/__tests__/isHtml.spec.ts +0 -23
  11. package/dist/core/__tests__/isNpmPackage.spec.ts +0 -93
  12. package/dist/core/__tests__/normalizeHeaders.spec.ts +0 -142
  13. package/dist/core/__tests__/parseUrl-extras.spec.ts +0 -60
  14. package/dist/core/__tests__/parseUrl.spec.ts +0 -1339
  15. package/dist/core/__tests__/resolvePrecedence/resolvePrecedence_overall.spec.ts +0 -106
  16. package/dist/core/__tests__/resolvePrecedence/resolvePrecedence_route-strings.spec.ts +0 -99
  17. package/dist/core/__tests__/resolveRedirects.spec.ts +0 -132
  18. package/dist/core/__tests__/resolveRouteString.spec.ts +0 -211
  19. package/dist/core/__tests__/resolveUrlPathname.spec.ts +0 -22
  20. package/dist/core/__tests__/trimWithAnsi.spec.ts +0 -40
  21. package/dist/core/api/ssr.ts +0 -63
  22. package/dist/core/assets/extractAssetsQuery.ts +0 -29
  23. package/dist/core/assets/index.ts +0 -173
  24. package/dist/core/assets/inferHtmlTags.ts +0 -61
  25. package/dist/core/assets/injectHtmlTags.ts +0 -236
  26. package/dist/core/assets/mergeScriptTags.ts +0 -77
  27. package/dist/core/assets/sanitizeJson.ts +0 -8
  28. package/dist/core/cli/bin.ts +0 -161
  29. package/dist/core/cli/commands/add.ts +0 -158
  30. package/dist/core/cli/commands/check.ts +0 -47
  31. package/dist/core/cli/commands/doctor/checks/build.ts +0 -83
  32. package/dist/core/cli/commands/doctor/checks/config.ts +0 -130
  33. package/dist/core/cli/commands/doctor/checks/dependencies.ts +0 -144
  34. package/dist/core/cli/commands/doctor/checks/practices.ts +0 -156
  35. package/dist/core/cli/commands/doctor/checks/structure.ts +0 -127
  36. package/dist/core/cli/commands/doctor/fixes/index.ts +0 -136
  37. package/dist/core/cli/commands/doctor/index.ts +0 -47
  38. package/dist/core/cli/commands/doctor/print.ts +0 -44
  39. package/dist/core/cli/commands/doctor/types.ts +0 -16
  40. package/dist/core/cli/commands/fix.ts +0 -161
  41. package/dist/core/cli/commands/init.ts +0 -145
  42. package/dist/core/cli/commands/upgrade.ts +0 -115
  43. package/dist/core/cli/onLoad.ts +0 -7
  44. package/dist/core/cli/utils.ts +0 -6
  45. package/dist/core/components/Config/Config-client.ts +0 -14
  46. package/dist/core/components/Config/Config-server.ts +0 -16
  47. package/dist/core/components/Head/Head-client.ts +0 -4
  48. package/dist/core/components/Head/Head-server.ts +0 -16
  49. package/dist/core/components/Loading.tsx +0 -23
  50. package/dist/core/config/findPageConfig.ts +0 -14
  51. package/dist/core/config/loadConfigValues.ts +0 -28
  52. package/dist/core/constants/UnifiedConstants.ts +0 -348
  53. package/dist/core/dom/applyHeadSettings.tsx +0 -13
  54. package/dist/core/dom/onPageVisibilityChange.ts +0 -17
  55. package/dist/core/dom/updateDocumentHead.ts +0 -15
  56. package/dist/core/errors/ErrorHandler.ts +0 -480
  57. package/dist/core/files/file-system/filesystemPath.ts +0 -27
  58. package/dist/core/files/file-system/findFile.ts +0 -35
  59. package/dist/core/files/file-system/findPackageJson.ts +0 -19
  60. package/dist/core/files/file-system/findPageFiles.ts +0 -40
  61. package/dist/core/files/file-system/pathShim.ts +0 -16
  62. package/dist/core/files/file-system/prependEntriesDir.ts +0 -13
  63. package/dist/core/files/file-system/removeFileExtention.ts +0 -3
  64. package/dist/core/files/file-system/requireResolve.ts +0 -59
  65. package/dist/core/files/file-system/scanCodebase.ts +0 -64
  66. package/dist/core/files/virtual-files/index.ts +0 -31
  67. package/dist/core/files/virtual-files/virtualFileImportUserCode.ts +0 -34
  68. package/dist/core/files/virtual-files/virtualFilePageConfigValuesAll.ts +0 -49
  69. package/dist/core/gaurds/assertions/assert/base.ts +0 -6
  70. package/dist/core/gaurds/assertions/assert/index.ts +0 -2
  71. package/dist/core/gaurds/assertions/assert/log.ts +0 -42
  72. package/dist/core/gaurds/assertions/assertArguments.ts +0 -83
  73. package/dist/core/gaurds/assertions/assertCast.ts +0 -9
  74. package/dist/core/gaurds/assertions/assertCommonJS/base.ts +0 -9
  75. package/dist/core/gaurds/assertions/assertCommonJS/common.ts +0 -30
  76. package/dist/core/gaurds/assertions/assertCommonJS/index.ts +0 -2
  77. package/dist/core/gaurds/assertions/assertExtensions/base.ts +0 -187
  78. package/dist/core/gaurds/assertions/assertExtensions/index.ts +0 -1
  79. package/dist/core/gaurds/assertions/assertHookReturnedObject.ts +0 -30
  80. package/dist/core/gaurds/assertions/assertInfo/base.ts +0 -14
  81. package/dist/core/gaurds/assertions/assertInfo/index.ts +0 -2
  82. package/dist/core/gaurds/assertions/assertInfo/log.ts +0 -28
  83. package/dist/core/gaurds/assertions/assertIs404.ts +0 -12
  84. package/dist/core/gaurds/assertions/assertIsBrowser/base.ts +0 -8
  85. package/dist/core/gaurds/assertions/assertIsBrowser/index.ts +0 -1
  86. package/dist/core/gaurds/assertions/assertIsNotBrowser/base.ts +0 -9
  87. package/dist/core/gaurds/assertions/assertIsNotBrowser/index.ts +0 -1
  88. package/dist/core/gaurds/assertions/assertIsNotProductionRuntime/base.ts +0 -71
  89. package/dist/core/gaurds/assertions/assertIsNotProductionRuntime/index.ts +0 -1
  90. package/dist/core/gaurds/assertions/assertKeys/base.ts +0 -31
  91. package/dist/core/gaurds/assertions/assertKeys/index.ts +0 -1
  92. package/dist/core/gaurds/assertions/assertNoInfiniteHttpRedirect.ts +0 -55
  93. package/dist/core/gaurds/assertions/assertNodeEnv/base.ts +0 -120
  94. package/dist/core/gaurds/assertions/assertNodeEnv/index.ts +0 -1
  95. package/dist/core/gaurds/assertions/assertNodeVersion/base.ts +0 -11
  96. package/dist/core/gaurds/assertions/assertNodeVersion/index.ts +0 -1
  97. package/dist/core/gaurds/assertions/assertOnBeforeRenderHookReturn.ts +0 -37
  98. package/dist/core/gaurds/assertions/assertPageContextProvidedByUser.ts +0 -60
  99. package/dist/core/gaurds/assertions/assertPluginManifest.ts +0 -41
  100. package/dist/core/gaurds/assertions/assertPlusFileExport.ts +0 -66
  101. package/dist/core/gaurds/assertions/assertRoutingType/base.ts +0 -41
  102. package/dist/core/gaurds/assertions/assertRoutingType/index.ts +0 -1
  103. package/dist/core/gaurds/assertions/assertRuntimeManifest.ts +0 -34
  104. package/dist/core/gaurds/assertions/assertSingleInstance/index.ts +0 -142
  105. package/dist/core/gaurds/assertions/assertSingleInstance/onAssertModuleLoad.ts +0 -0
  106. package/dist/core/gaurds/assertions/assertSingleInstance/onClientEntryClientRouting.ts +0 -0
  107. package/dist/core/gaurds/assertions/assertSingleInstance/onClientEntryServerRouting.ts +0 -0
  108. package/dist/core/gaurds/assertions/assertType.ts +0 -12
  109. package/dist/core/gaurds/assertions/assertUsage/base.ts +0 -43
  110. package/dist/core/gaurds/assertions/assertUsage/index.ts +0 -3
  111. package/dist/core/gaurds/assertions/assertUsage/log.ts +0 -29
  112. package/dist/core/gaurds/assertions/assertUsage/node.ts +0 -16
  113. package/dist/core/gaurds/assertions/assertV1Design.ts +0 -29
  114. package/dist/core/gaurds/assertions/assertVersion/base.ts +0 -55
  115. package/dist/core/gaurds/assertions/assertVersion/index.ts +0 -1
  116. package/dist/core/gaurds/assertions/assertWarning/base.ts +0 -43
  117. package/dist/core/gaurds/assertions/assertWarning/index.ts +0 -2
  118. package/dist/core/gaurds/assertions/assertWarning/log.ts +0 -43
  119. package/dist/core/gaurds/assertions/checkType.ts +0 -2
  120. package/dist/core/gaurds/debugger/createDebugger.ts +0 -196
  121. package/dist/core/gaurds/debugger/debugPageFiles.ts +0 -121
  122. package/dist/core/gaurds/debugger/index.ts +0 -2
  123. package/dist/core/gaurds/errors/createErrorWithCleanStackTrace.ts +0 -56
  124. package/dist/core/gaurds/errors/removeErrMsg.ts +0 -8
  125. package/dist/core/gaurds/logger/addOnBeforeLogHook/index.ts +0 -7
  126. package/dist/core/gaurds/logger/formatHintLog.ts +0 -17
  127. package/dist/core/gaurds/logger/log404/index.spec.ts +0 -78
  128. package/dist/core/gaurds/logger/log404/index.ts +0 -208
  129. package/dist/core/gaurds/logger/logErrorHint/errors.ts +0 -17
  130. package/dist/core/gaurds/logger/logErrorHint/getErrorHint.spec.ts +0 -1057
  131. package/dist/core/gaurds/logger/logErrorHint.ts +0 -196
  132. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.ts +0 -16
  133. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.ts +0 -16
  134. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.ts +0 -39
  135. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.ts +0 -24
  136. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.ts +0 -83
  137. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.ts +0 -33
  138. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.ts +0 -20
  139. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.ts +0 -19
  140. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.ts +0 -36
  141. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.ts +0 -17
  142. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.ts +0 -16
  143. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/getPrettyErrMessage.spec.ts +0 -101
  144. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/getPrettyErrorWithCodeSnippet.spec.ts +0 -232
  145. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet.ts +0 -212
  146. package/dist/core/gaurds/logger/loggerNotProd/log.ts +0 -124
  147. package/dist/core/gaurds/logger/loggerNotProd.ts +0 -271
  148. package/dist/core/gaurds/logger/loggerProd.ts +0 -37
  149. package/dist/core/gaurds/logger/loggerRuntime.ts +0 -46
  150. package/dist/core/gaurds/logger/loggerVite/removeSuperfluousViteLog.ts +0 -30
  151. package/dist/core/gaurds/logger/loggerVite.ts +0 -65
  152. package/dist/core/gaurds/logger/overwriteAssertProductionLogger/index.ts +0 -9
  153. package/dist/core/gaurds/logger/trackLogs.ts +0 -35
  154. package/dist/core/gaurds/logger/warnIfErrorIsNotObject.ts +0 -31
  155. package/dist/core/gaurds/normalization/freezePartial.ts +0 -39
  156. package/dist/core/gaurds/normalization/normalizeHeaders.ts +0 -20
  157. package/dist/core/gaurds/normalization/normalizeLink.tsx +0 -14
  158. package/dist/core/gaurds/normalization/normalizeUrlArgument.ts +0 -22
  159. package/dist/core/gaurds/validators/hasProp.ts +0 -116
  160. package/dist/core/gaurds/validators/isArray.ts +0 -4
  161. package/dist/core/gaurds/validators/isArrayOfStrings.ts +0 -7
  162. package/dist/core/gaurds/validators/isAsset.ts +0 -43
  163. package/dist/core/gaurds/validators/isBrowser.ts +0 -5
  164. package/dist/core/gaurds/validators/isBug.ts +0 -5
  165. package/dist/core/gaurds/validators/isCallable.ts +0 -11
  166. package/dist/core/gaurds/validators/isClientSideRoutable.ts +0 -19
  167. package/dist/core/gaurds/validators/isConfigInvalid.ts +0 -10
  168. package/dist/core/gaurds/validators/isDev.ts +0 -56
  169. package/dist/core/gaurds/validators/isErrorDebug.ts +0 -7
  170. package/dist/core/gaurds/validators/isErrorPage.ts +0 -16
  171. package/dist/core/gaurds/validators/isFilePathAbsoluteFilesystem.ts +0 -55
  172. package/dist/core/gaurds/validators/isHtml.ts +0 -9
  173. package/dist/core/gaurds/validators/isNewError.ts +0 -29
  174. package/dist/core/gaurds/validators/isNodeJS.ts +0 -10
  175. package/dist/core/gaurds/validators/isNotFalse.ts +0 -3
  176. package/dist/core/gaurds/validators/isNotNullish.ts +0 -2
  177. package/dist/core/gaurds/validators/isNpmPackage.ts +0 -127
  178. package/dist/core/gaurds/validators/isObject.ts +0 -3
  179. package/dist/core/gaurds/validators/isObjectOfStrings.ts +0 -9
  180. package/dist/core/gaurds/validators/isObjectWithKeys.ts +0 -18
  181. package/dist/core/gaurds/validators/isPlainObject.ts +0 -21
  182. package/dist/core/gaurds/validators/isPromise.ts +0 -9
  183. package/dist/core/gaurds/validators/isPropertyGetter.ts +0 -4
  184. package/dist/core/gaurds/validators/isReact.ts +0 -24
  185. package/dist/core/gaurds/validators/isReactElement.ts +0 -21
  186. package/dist/core/gaurds/validators/isRevealApp.ts +0 -4
  187. package/dist/core/gaurds/validators/isSameErrorMessage.ts +0 -8
  188. package/dist/core/gaurds/validators/isScriptFile.ts +0 -75
  189. package/dist/core/gaurds/validators/isServerSideError.ts +0 -1
  190. package/dist/core/gaurds/validators/isViteCliCall.ts +0 -93
  191. package/dist/core/gaurds/validators/isVitest.ts +0 -7
  192. package/dist/core/gaurds/validators/rollupIsEsm.ts +0 -14
  193. package/dist/core/gaurds/validators/viteIsSSR.ts +0 -23
  194. package/dist/core/globals/contexts/globalContext/getPageFilesExports.ts +0 -28
  195. package/dist/core/globals/contexts/globalContext/index.ts +0 -374
  196. package/dist/core/globals/contexts/globalContext/loadImportBuild.ts +0 -44
  197. package/dist/core/globals/contexts/globalContext/setup.ts +0 -4
  198. package/dist/core/globals/contexts/index.ts +0 -1
  199. package/dist/core/globals/logger/index.ts +0 -1
  200. package/dist/core/globals/logger/numberOfStackTraceLinesToRemove.ts +0 -3
  201. package/dist/core/globals/objects/index.ts +0 -1
  202. package/dist/core/globals/objects/log.ts +0 -24
  203. package/dist/core/globals/patterns/styleFileRE.ts +0 -3
  204. package/dist/core/globals/tags/addPrefixAssertType.ts +0 -11
  205. package/dist/core/globals/tags/addPrefixProjectName.ts +0 -9
  206. package/dist/core/globals/tags/projectTag.ts +0 -3
  207. package/dist/core/globals/tags/projectTagWithVersion.ts +0 -5
  208. package/dist/core/globals/versions/PROJECT_VERSION.ts +0 -2
  209. package/dist/core/globals/versions/projectInfo.ts +0 -5
  210. package/dist/core/handlers/handleErrorWithoutErrorPage.ts +0 -70
  211. package/dist/core/handlers/handlePageContext.ts +0 -15
  212. package/dist/core/handlers/handlePageContextRequestUrl.ts +0 -56
  213. package/dist/core/handlers/openFacebook.ts +0 -20
  214. package/dist/core/hocs/clientOnly.tsx +0 -130
  215. package/dist/core/hooks/callCumulativeHooks.ts +0 -22
  216. package/dist/core/hooks/executeHook.ts +0 -118
  217. package/dist/core/hooks/useConfig/configsCumulative.ts +0 -6
  218. package/dist/core/hooks/useConfig/useConfig-client.ts +0 -82
  219. package/dist/core/hooks/useConfig/useConfig-server.ts +0 -152
  220. package/dist/core/hydration/progressive.ts +0 -252
  221. package/dist/core/index.ts +0 -60
  222. package/dist/core/islands/index.tsx +0 -198
  223. package/dist/core/logging/UnifiedLoggerV2.ts +0 -555
  224. package/dist/core/logging/index.ts +0 -80
  225. package/dist/core/logging/plugins/FilePlugin.ts +0 -132
  226. package/dist/core/logging/plugins/PayloadCMSPlugin.ts +0 -71
  227. package/dist/core/logging/plugins/RemotePlugin.ts +0 -110
  228. package/dist/core/logging/plugins/index.ts +0 -11
  229. package/dist/core/naming/UnifiedNaming.ts +0 -424
  230. package/dist/core/observability/logger.ts +0 -195
  231. package/dist/core/observability/metrics.ts +0 -156
  232. package/dist/core/processing/getters/getAssertErrMsg.ts +0 -49
  233. package/dist/core/processing/getters/getAssetsDir.ts +0 -11
  234. package/dist/core/processing/getters/getBaseServer.ts +0 -16
  235. package/dist/core/processing/getters/getCacheControl.ts +0 -26
  236. package/dist/core/processing/getters/getConfigDefinedAt.ts +0 -73
  237. package/dist/core/processing/getters/getConfigReveal.ts +0 -14
  238. package/dist/core/processing/getters/getConfigValue.ts +0 -68
  239. package/dist/core/processing/getters/getConfigValueBuildTime.ts +0 -92
  240. package/dist/core/processing/getters/getConfigValueFilePathToShowToUser.ts +0 -17
  241. package/dist/core/processing/getters/getCurrentUrl.ts +0 -42
  242. package/dist/core/processing/getters/getEarlyHints.ts +0 -58
  243. package/dist/core/processing/getters/getEnv.ts +0 -33
  244. package/dist/core/processing/getters/getErrorPageId.ts +0 -23
  245. package/dist/core/processing/getters/getExportPath.spec.ts +0 -34
  246. package/dist/core/processing/getters/getExportPath.ts +0 -33
  247. package/dist/core/processing/getters/getFileExtension.ts +0 -19
  248. package/dist/core/processing/getters/getFilePath.ts +0 -269
  249. package/dist/core/processing/getters/getGlobalObject.ts +0 -53
  250. package/dist/core/processing/getters/getHeadSetting.tsx +0 -36
  251. package/dist/core/processing/getters/getHook.ts +0 -222
  252. package/dist/core/processing/getters/getHookFilePathToShowToUser.ts +0 -12
  253. package/dist/core/processing/getters/getHtmlTags.ts +0 -341
  254. package/dist/core/processing/getters/getHttpRequestAsyncStore.ts +0 -122
  255. package/dist/core/processing/getters/getHttpResponseBody.ts +0 -177
  256. package/dist/core/processing/getters/getMostSimilar.ts +0 -72
  257. package/dist/core/processing/getters/getOutDirs.ts +0 -160
  258. package/dist/core/processing/getters/getPageAssets/getManifestEntry.ts +0 -164
  259. package/dist/core/processing/getters/getPageAssets/retrieveAssetsDev.ts +0 -96
  260. package/dist/core/processing/getters/getPageAssets/retrieveAssetsProd.ts +0 -86
  261. package/dist/core/processing/getters/getPageAssets/sortPageAssetsForEarlyHintsHeader.ts +0 -40
  262. package/dist/core/processing/getters/getPageAssets.ts +0 -140
  263. package/dist/core/processing/getters/getPageConfig.ts +0 -14
  264. package/dist/core/processing/getters/getPageContext.ts +0 -64
  265. package/dist/core/processing/getters/getPageContextCurrent.ts +0 -19
  266. package/dist/core/processing/getters/getPageContextFromHooks.ts +0 -335
  267. package/dist/core/processing/getters/getPageContextProxyForUser.ts +0 -97
  268. package/dist/core/processing/getters/getPageContextRequestUrl.ts +0 -22
  269. package/dist/core/processing/getters/getPageContextSerializedInHtml.ts +0 -32
  270. package/dist/core/processing/getters/getPageContextUrlComputed.ts +0 -410
  271. package/dist/core/processing/getters/getPageElement.tsx +0 -148
  272. package/dist/core/processing/getters/getPageFiles/analyzeClientSide.ts +0 -50
  273. package/dist/core/processing/getters/getPageFiles/analyzePageServerSide.ts +0 -32
  274. package/dist/core/processing/getters/getPageFiles/getExportNames.ts +0 -16
  275. package/dist/core/processing/getters/getPageFiles/getExports.ts +0 -193
  276. package/dist/core/processing/getters/getPageFiles/index.ts +0 -9
  277. package/dist/core/processing/getters/getPageFiles/parseGlobResults.ts +0 -167
  278. package/dist/core/processing/getters/getPageFiles/setPageFiles.ts +0 -76
  279. package/dist/core/processing/getters/getPrefetchSettingResolved.ts.ts +0 -87
  280. package/dist/core/processing/getters/getProjectError.ts +0 -18
  281. package/dist/core/processing/getters/getPropAccessNotation.ts +0 -10
  282. package/dist/core/processing/getters/getRandomId.ts +0 -15
  283. package/dist/core/processing/getters/getRevalidationKey.ts +0 -5
  284. package/dist/core/processing/getters/getRevealClientEntry.ts +0 -7
  285. package/dist/core/processing/getters/getRevealConfig/configDefinitionsBuiltIn.ts +0 -711
  286. package/dist/core/processing/getters/getRevealConfig/crawlPlusFiles.ts +0 -409
  287. package/dist/core/processing/getters/getRevealConfig/filesystemRouting.spec.ts +0 -40
  288. package/dist/core/processing/getters/getRevealConfig/filesystemRouting.ts +0 -286
  289. package/dist/core/processing/getters/getRevealConfig/index.ts +0 -1641
  290. package/dist/core/processing/getters/getRevealConfig/loadFileAtConfigTime.ts +0 -181
  291. package/dist/core/processing/getters/getRevealConfig/resolvePointerImport.ts +0 -240
  292. package/dist/core/processing/getters/getRevealConfig/transformPointerImports.spec.ts +0 -30
  293. package/dist/core/processing/getters/getRevealConfig/transformPointerImports.ts +0 -244
  294. package/dist/core/processing/getters/getRevealConfig/transpileAndExecuteFile.ts +0 -490
  295. package/dist/core/processing/getters/getTagAttributesString.ts +0 -27
  296. package/dist/core/processing/getters/getTerminWidth.ts +0 -9
  297. package/dist/core/processing/getters/getValuePrintable.ts +0 -6
  298. package/dist/core/processing/getters/getViteDevScript.ts +0 -47
  299. package/dist/core/processing/iterators/analyzePage.ts +0 -65
  300. package/dist/core/processing/iterators/includes.ts +0 -10
  301. package/dist/core/processing/iterators/index.ts +0 -2
  302. package/dist/core/processing/iterators/objectKeys.ts +0 -6
  303. package/dist/core/processing/parsers/parseEsModule.ts +0 -43
  304. package/dist/core/processing/parsers/parseTransform.ts +0 -36
  305. package/dist/core/processing/serializers/notSerializable.ts +0 -2
  306. package/dist/core/processing/serializers/replaceWithParserPath.ts +0 -30
  307. package/dist/core/processing/serializers/serializePage/PageConfigSerialized.ts +0 -45
  308. package/dist/core/processing/serializers/serializePage/parsePageConfigs.ts +0 -223
  309. package/dist/core/processing/serializers/serializePage/serializeConfigValues.ts +0 -336
  310. package/dist/core/processing/serializers/serializePageContextClientSide.ts +0 -179
  311. package/dist/core/processing/serializers/stringify.ts +0 -188
  312. package/dist/core/processing/serializers/stringifyTypes.ts +0 -103
  313. package/dist/core/processing/setters/addIs404ToPageProps.ts +0 -27
  314. package/dist/core/processing/setters/setAlwaysShowStackTrace.ts +0 -7
  315. package/dist/core/processing/transformers/augmentType.ts +0 -10
  316. package/dist/core/processing/transformers/rollupSourceMap.ts +0 -23
  317. package/dist/core/processing/transformers/slice.ts +0 -52
  318. package/dist/core/renderer/page/executeOnBeforeRenderAndDataHooks.ts +0 -53
  319. package/dist/core/renderer/page/executeOnRenderHtmlHook.ts +0 -261
  320. package/dist/core/renderer/page/index.ts +0 -804
  321. package/dist/core/renderer/page/inferMediaType.ts +0 -128
  322. package/dist/core/renderer/page/loadUserFilesServerSide.ts +0 -154
  323. package/dist/core/renderer/page/preparePageContextForUserConsumption.ts +0 -55
  324. package/dist/core/renderer/page/preparePageContextForUserConsumptionServerSide.ts +0 -38
  325. package/dist/core/renderer/page/renderPageAlreadyRouted.ts +0 -373
  326. package/dist/core/renderer/page/resolveRedirects.ts +0 -75
  327. package/dist/core/renderer/prerender/index.ts +0 -1
  328. package/dist/core/renderer/prerender/runPrerender.ts +0 -1141
  329. package/dist/core/renderer/prerender/utils.ts +0 -22
  330. package/dist/core/renderer/stream/html.ts +0 -408
  331. package/dist/core/renderer/stream/index.ts +0 -1001
  332. package/dist/core/renderer/stream/onLoad.ts +0 -14
  333. package/dist/core/renderer/stream/react-streaming.ts +0 -69
  334. package/dist/core/renderer/stream/utils.ts +0 -66
  335. package/dist/core/resilience/circuit-breaker.ts +0 -212
  336. package/dist/core/resilience/retry.ts +0 -172
  337. package/dist/core/result/adapters.ts +0 -254
  338. package/dist/core/result.ts +0 -332
  339. package/dist/core/router/abort.ts +0 -339
  340. package/dist/core/router/apiRoutes.ts +0 -94
  341. package/dist/core/router/debug.ts +0 -19
  342. package/dist/core/router/deduceRouteStringFromFilesystemPath.ts +0 -75
  343. package/dist/core/router/dynamicApiRoutes.ts +0 -18
  344. package/dist/core/router/dynamicPageRoutes.ts +0 -18
  345. package/dist/core/router/executeGuardHook.ts +0 -45
  346. package/dist/core/router/executeOnBeforeRouteHook.ts +0 -161
  347. package/dist/core/router/index.ts +0 -230
  348. package/dist/core/router/loadPageRoutes.ts +0 -155
  349. package/dist/core/router/noRouteMatch.ts +0 -1
  350. package/dist/core/router/pageRoutes.ts +0 -159
  351. package/dist/core/router/resolvePrecedence.ts +0 -128
  352. package/dist/core/router/resolveRoute.ts +0 -29
  353. package/dist/core/router/resolveRouteFunction.ts +0 -193
  354. package/dist/core/router/resolveRouteString.ts +0 -204
  355. package/dist/core/router/resolveRouteUtils.ts +0 -77
  356. package/dist/core/router/resolveUrlPathname.ts +0 -67
  357. package/dist/core/router/routeInternal.ts +0 -97
  358. package/dist/core/router/utils.ts +0 -30
  359. package/dist/core/services/BaseService.ts +0 -403
  360. package/dist/core/targets/client/abort.ts +0 -11
  361. package/dist/core/targets/client/createPageContext.ts +0 -48
  362. package/dist/core/targets/client/entry.ts +0 -15
  363. package/dist/core/targets/client/executeOnRenderClientHook.ts +0 -94
  364. package/dist/core/targets/client/history.ts +0 -142
  365. package/dist/core/targets/client/index.ts +0 -9
  366. package/dist/core/targets/client/initClientRouter.ts +0 -48
  367. package/dist/core/targets/client/initOnLinkClick.ts +0 -54
  368. package/dist/core/targets/client/loadUserFilesClientSide.ts +0 -92
  369. package/dist/core/targets/client/navigate.ts +0 -45
  370. package/dist/core/targets/client/onBrowserHistoryNavigation.ts +0 -85
  371. package/dist/core/targets/client/onLoad.ts +0 -10
  372. package/dist/core/targets/client/pageContextInitIsPassedToClient.ts +0 -2
  373. package/dist/core/targets/client/pageFiles.ts +0 -4
  374. package/dist/core/targets/client/prefetch.ts +0 -399
  375. package/dist/core/targets/client/preparePageContextForUserConsumptionClientSide.ts +0 -48
  376. package/dist/core/targets/client/removeBuiltInOverrides.ts +0 -37
  377. package/dist/core/targets/client/removeFoucBuster.ts +0 -70
  378. package/dist/core/targets/client/renderPageClientSide.ts +0 -1817
  379. package/dist/core/targets/client/router.ts +0 -15
  380. package/dist/core/targets/client/scrollRestoration.ts +0 -37
  381. package/dist/core/targets/client/setScrollPosition.ts +0 -87
  382. package/dist/core/targets/client/skipLink.ts +0 -63
  383. package/dist/core/targets/client/utils.ts +0 -34
  384. package/dist/core/targets/http/createHttpResponse.ts +0 -254
  385. package/dist/core/targets/http/fetchBanner.ts +0 -25
  386. package/dist/core/targets/http/fetchCard.ts +0 -25
  387. package/dist/core/targets/http/fetchEvents.ts +0 -25
  388. package/dist/core/targets/http/fetchHero.ts +0 -25
  389. package/dist/core/targets/http/fetchMainInfos.ts +0 -25
  390. package/dist/core/targets/http/fetchPage.ts +0 -78
  391. package/dist/core/targets/http/fetchPages.ts +0 -70
  392. package/dist/core/targets/http/fetchVideos.ts +0 -26
  393. package/dist/core/targets/http/fetchYouTube.ts +0 -90
  394. package/dist/core/targets/server/entry.ts +0 -43
  395. package/dist/core/targets/server/middleware/addSsrMiddleware.ts +0 -52
  396. package/dist/core/targets/server/onLoad.ts +0 -7
  397. package/dist/core/targets/server/pageFiles.ts +0 -4
  398. package/dist/core/targets/server/root.ts +0 -10
  399. package/dist/core/targets/server/utils.ts +0 -20
  400. package/dist/core/targets/url/index.ts +0 -439
  401. package/dist/core/targets/url/modifyUrl.ts +0 -45
  402. package/dist/core/targets/url/parseUrl.ts +0 -440
  403. package/dist/core/targets/url/parseUrlExtras.ts +0 -193
  404. package/dist/core/targets/url/redirectHard.ts +0 -3
  405. package/dist/core/targets/url/updateCurrentPath.ts +0 -52
  406. package/dist/core/targets/url/urlToFile.ts +0 -47
  407. package/dist/core/types/UnifiedTypes.ts +0 -493
  408. package/dist/core/types/contracts.ts +0 -61
  409. package/dist/core/types/generator.ts +0 -316
  410. package/dist/core/utils/array/includes.ts +0 -10
  411. package/dist/core/utils/array/slice.ts +0 -52
  412. package/dist/core/utils/array/sorter.ts +0 -130
  413. package/dist/core/utils/array/stringifyStringArray.ts +0 -7
  414. package/dist/core/utils/array/unique.ts +0 -5
  415. package/dist/core/utils/async/genPromise.ts +0 -8
  416. package/dist/core/utils/async/pLimit.ts +0 -157
  417. package/dist/core/utils/async/sleep.ts +0 -3
  418. package/dist/core/utils/async/throttle.ts +0 -14
  419. package/dist/core/utils/index.ts +0 -31
  420. package/dist/core/utils/object/changeEnumerable.ts +0 -9
  421. package/dist/core/utils/object/deepEqual.ts +0 -10
  422. package/dist/core/utils/object/objectAssign.ts +0 -16
  423. package/dist/core/utils/object/objectDefineProperty.ts +0 -15
  424. package/dist/core/utils/object/objectEntries.ts +0 -7
  425. package/dist/core/utils/object/objectEntriesForEach.ts +0 -7
  426. package/dist/core/utils/object/objectFromEntries.ts +0 -6
  427. package/dist/core/utils/string/addWhitespace.ts +0 -9
  428. package/dist/core/utils/string/capitalizeFirstLetter.ts +0 -8
  429. package/dist/core/utils/string/compareString.ts +0 -7
  430. package/dist/core/utils/string/escapeHtml.ts +0 -10
  431. package/dist/core/utils/string/escapeRegex.ts +0 -4
  432. package/dist/core/utils/string/joinEnglish.ts +0 -18
  433. package/dist/core/utils/string/removeEmptyLines.ts +0 -6
  434. package/dist/core/utils/string/stripAnsi.ts +0 -24
  435. package/dist/core/utils/string/trimWithAnsi.ts +0 -40
  436. package/dist/core/utils/string/truncateString.ts +0 -19
  437. package/dist/core/utils/time/humanizeTime.ts +0 -24
  438. package/dist/integration/hydration.ts +0 -52
  439. package/dist/integration/onRenderClient.tsx +0 -377
  440. package/dist/integration/onRenderHtml.tsx +0 -761
  441. package/dist/integration/ssrEffect.ts +0 -31
  442. package/dist/plugins/baseUrls.ts +0 -54
  443. package/dist/plugins/buildConfig/index.ts +0 -701
  444. package/dist/plugins/buildConfig/injectRollupInputs.ts +0 -36
  445. package/dist/plugins/commonConfig.ts +0 -112
  446. package/dist/plugins/config/assertResolveAlias.ts +0 -99
  447. package/dist/plugins/config/assertRevealConfig.ts +0 -116
  448. package/dist/plugins/config/fixServerAssets.ts +0 -213
  449. package/dist/plugins/config/index.ts +0 -227
  450. package/dist/plugins/config/pickFirst.ts +0 -3
  451. package/dist/plugins/config/resolveBase.ts +0 -78
  452. package/dist/plugins/devConfig/determineFsAllowList.ts +0 -34
  453. package/dist/plugins/devConfig/determineOptimizeDeps.ts +0 -129
  454. package/dist/plugins/devConfig/index.ts +0 -222
  455. package/dist/plugins/distFileNames.ts +0 -341
  456. package/dist/plugins/envVars.ts +0 -150
  457. package/dist/plugins/extractAssetsPlugin.ts +0 -318
  458. package/dist/plugins/extractExportNamesPlugin.ts +0 -154
  459. package/dist/plugins/fileEnv.ts +0 -374
  460. package/dist/plugins/importBuild/getRevealManifest.ts +0 -20
  461. package/dist/plugins/importBuild/index.ts +0 -120
  462. package/dist/plugins/importUserCode/addImportStatement.ts +0 -32
  463. package/dist/plugins/importUserCode/debug.ts +0 -2
  464. package/dist/plugins/importUserCode/getConfigFileExport.ts +0 -24
  465. package/dist/plugins/importUserCode/getVirtualFilePageConfigValuesAll.ts +0 -95
  466. package/dist/plugins/importUserCode/getVirtualFilePageConfigs.ts +0 -150
  467. package/dist/plugins/importUserCode/index.ts +0 -375
  468. package/dist/plugins/importUserCode/isRuntimeEnvMatch.ts +0 -31
  469. package/dist/plugins/index.ts +0 -233
  470. package/dist/plugins/onLoad.ts +0 -12
  471. package/dist/plugins/packageJsonFile.ts +0 -62
  472. package/dist/plugins/payload/index.ts +0 -62
  473. package/dist/plugins/previewConfig.ts +0 -95
  474. package/dist/plugins/react/index.ts +0 -72
  475. package/dist/plugins/removeRequireHookPlugin.ts +0 -27
  476. package/dist/plugins/resolveClientEntriesDev.ts +0 -87
  477. package/dist/plugins/reveal/index.ts +0 -39
  478. package/dist/plugins/reveal/remove-use-client-server.ts +0 -52
  479. package/dist/plugins/setGlobalContext.ts +0 -53
  480. package/dist/plugins/suppressRollupWarning.ts +0 -94
  481. package/dist/plugins/utils.ts +0 -33
  482. package/dist/plugins/vercel/+config.ts +0 -18
  483. package/dist/plugins/vercel/functions/assert.ts +0 -13
  484. package/dist/plugins/vercel/functions/build.ts +0 -484
  485. package/dist/plugins/vercel/functions/config.ts +0 -147
  486. package/dist/plugins/vercel/functions/helpers.ts +0 -134
  487. package/dist/plugins/vercel/functions/prerender.ts +0 -140
  488. package/dist/plugins/vercel/functions/route-regex.ts +0 -37
  489. package/dist/plugins/vercel/functions/utils.ts +0 -33
  490. package/dist/plugins/vercel/functions/vike.ts +0 -754
  491. package/dist/plugins/vercel/index.ts +0 -186
  492. package/dist/plugins/vercel/plugin.ts +0 -45
  493. package/dist/plugins/vercel/schemas/config/prerender-config.ts +0 -20
  494. package/dist/plugins/vercel/schemas/config/vc-config.ts +0 -45
  495. package/dist/plugins/vercel/schemas/config/vercel.ts +0 -130
  496. package/dist/plugins/vercel/schemas/exports.ts +0 -12
  497. package/dist/plugins/vercel/templates/edge-helpers.ts +0 -72
  498. package/dist/plugins/vercel/templates/node-helpers.ts +0 -60
  499. package/dist/plugins/vercel/templates/ssr_.template.ts +0 -25
  500. package/dist/plugins/vercel/templates/ssr_edge_.template.ts +0 -20
  501. package/dist/plugins/vercel/templates/utils.ts +0 -31
  502. package/dist/plugins/workaroundCssModuleHmr.ts +0 -23
  503. package/dist/types/index.ts +0 -50
  504. package/dist/types/interfaces/app.ts +0 -700
  505. package/dist/types/interfaces/client.ts +0 -10
  506. package/dist/types/interfaces/config.ts +0 -481
  507. package/dist/types/interfaces/context.ts +0 -677
  508. package/dist/types/interfaces/error.ts +0 -6
  509. package/dist/types/interfaces/file.ts +0 -98
  510. package/dist/types/interfaces/host.ts +0 -209
  511. package/dist/types/interfaces/log.ts +0 -3
  512. package/dist/types/interfaces/logic.ts +0 -46
  513. package/dist/types/interfaces/manifest.ts +0 -15
  514. package/dist/types/interfaces/node.ts +0 -8
  515. package/dist/types/interfaces/page.ts +0 -154
  516. package/dist/types/interfaces/reveal.ts +0 -118
  517. package/dist/types/interfaces/tag.ts +0 -3
  518. package/dist/types/modules/assets.d.ts +0 -57
  519. package/dist/types/modules/env.d.ts +0 -34
  520. package/dist/types/modules/global.d.ts +0 -10
  521. package/dist/types/modules/index.d.ts +0 -1
  522. package/dist/types/modules/node.d.ts +0 -2
  523. package/dist/types/modules/payload.d.ts +0 -2
  524. package/dist/types/modules/reveal-vercel.d.ts +0 -19
  525. package/dist/types/modules/reveal.d.ts +0 -1
  526. package/dist/types/modules/stripe.d.ts +0 -41
  527. package/dist/types/modules/supabase.d.ts +0 -19
  528. package/dist/types/modules/tailwindcss.d.ts +0 -49
  529. package/dist/types/modules/vite.d.ts +0 -7
  530. package/dist/types/namespaces/Config.ts +0 -291
  531. package/dist/types/namespaces/PageContext.ts +0 -23
  532. package/dist/types/namespaces/RevealNamespace.ts +0 -51
  533. package/dist/types/namespaces/index.ts +0 -3
  534. package/dist/ui/accents/DiagonalGrid.tsx +0 -36
  535. package/dist/ui/accents/Glass.tsx +0 -33
  536. package/dist/ui/accents/Parallax.tsx +0 -78
  537. package/dist/ui/accents/Shadow.tsx +0 -28
  538. package/dist/ui/accents/index.tsx +0 -4
  539. package/dist/ui/accessibility/index.ts +0 -168
  540. package/dist/ui/ai/ChatGPTAssistant.tsx +0 -113
  541. package/dist/ui/ai/index.ts +0 -3
  542. package/dist/ui/animations/container.ts +0 -7
  543. package/dist/ui/animations/content.ts +0 -16
  544. package/dist/ui/animations/fade.ts +0 -16
  545. package/dist/ui/animations/index.ts +0 -6
  546. package/dist/ui/animations/slide.ts +0 -23
  547. package/dist/ui/animations/text.ts +0 -14
  548. package/dist/ui/animations/transition.ts +0 -1
  549. package/dist/ui/audio/AudioTrack.tsx +0 -26
  550. package/dist/ui/audio/index.tsx +0 -1
  551. package/dist/ui/backgrounds/Diagonal.tsx +0 -46
  552. package/dist/ui/backgrounds/GradientConic.tsx +0 -21
  553. package/dist/ui/backgrounds/GradientConicRev.tsx +0 -50
  554. package/dist/ui/backgrounds/GradientGlass.tsx +0 -28
  555. package/dist/ui/backgrounds/GradientRadial.tsx +0 -37
  556. package/dist/ui/backgrounds/GradientRadialLeft.tsx +0 -33
  557. package/dist/ui/backgrounds/GradientToBottom.tsx +0 -59
  558. package/dist/ui/backgrounds/GradientToTop.tsx +0 -60
  559. package/dist/ui/backgrounds/Solid.tsx +0 -50
  560. package/dist/ui/backgrounds/Straight.tsx +0 -55
  561. package/dist/ui/backgrounds/TopRight.tsx +0 -15
  562. package/dist/ui/backgrounds/Wrapper.tsx +0 -33
  563. package/dist/ui/backgrounds/index.tsx +0 -12
  564. package/dist/ui/buttons/Button.tsx +0 -54
  565. package/dist/ui/buttons/DisclosureButton.tsx +0 -35
  566. package/dist/ui/buttons/GradientButton.tsx +0 -51
  567. package/dist/ui/buttons/IconButton.tsx +0 -24
  568. package/dist/ui/buttons/LikeButton.tsx +0 -221
  569. package/dist/ui/buttons/MobileMenuButton.tsx +0 -63
  570. package/dist/ui/buttons/MusicButton.tsx +0 -53
  571. package/dist/ui/buttons/SignUpButton.tsx +0 -18
  572. package/dist/ui/buttons/index.tsx +0 -8
  573. package/dist/ui/cards/Card.tsx +0 -255
  574. package/dist/ui/cards/ProductCard.tsx +0 -291
  575. package/dist/ui/cards/VideoCard.tsx +0 -201
  576. package/dist/ui/cards/index.tsx +0 -3
  577. package/dist/ui/contexts/DisclosureContext.tsx +0 -44
  578. package/dist/ui/contexts/GlobalContext.tsx +0 -67
  579. package/dist/ui/contexts/MenuContext.tsx +0 -8
  580. package/dist/ui/contexts/PageContext.tsx +0 -28
  581. package/dist/ui/contexts/ThemeContext.tsx +0 -195
  582. package/dist/ui/controls/MusicHeader.tsx +0 -484
  583. package/dist/ui/controls/MusicPlayer.tsx +0 -76
  584. package/dist/ui/controls/MusicSidebar.tsx +0 -118
  585. package/dist/ui/controls/MusicSlider.tsx +0 -25
  586. package/dist/ui/controls/MusicUpload.tsx +0 -296
  587. package/dist/ui/controls/PlayPause.tsx +0 -64
  588. package/dist/ui/controls/PlayerContent.tsx +0 -205
  589. package/dist/ui/controls/SearchContent.tsx +0 -58
  590. package/dist/ui/controls/SearchInput.tsx +0 -118
  591. package/dist/ui/controls/Searchbar.tsx +0 -53
  592. package/dist/ui/controls/SidebarItem.tsx +0 -57
  593. package/dist/ui/controls/SongItem.tsx +0 -45
  594. package/dist/ui/controls/VideoPlayer.tsx +0 -36
  595. package/dist/ui/controls/index.tsx +0 -13
  596. package/dist/ui/dividers/Horizontal.tsx +0 -18
  597. package/dist/ui/dividers/Transparent.tsx +0 -7
  598. package/dist/ui/dividers/index.tsx +0 -2
  599. package/dist/ui/error/ErrorBoundary.tsx +0 -150
  600. package/dist/ui/error/index.tsx +0 -1
  601. package/dist/ui/forms/Input.tsx +0 -38
  602. package/dist/ui/forms/MediaItem.tsx +0 -105
  603. package/dist/ui/forms/index.tsx +0 -2
  604. package/dist/ui/game/Enemy.tsx +0 -52
  605. package/dist/ui/game/Fighters.tsx +0 -38
  606. package/dist/ui/game/GameControls.tsx +0 -37
  607. package/dist/ui/game/HealthBar.tsx +0 -18
  608. package/dist/ui/game/Player.tsx +0 -70
  609. package/dist/ui/game/index.tsx +0 -5
  610. package/dist/ui/hooks/useApiData.ts +0 -57
  611. package/dist/ui/hooks/useAuthModal.ts +0 -18
  612. package/dist/ui/hooks/useCart.ts +0 -21
  613. package/dist/ui/hooks/useChatGPT.ts +0 -94
  614. package/dist/ui/hooks/useCustomProps.ts +0 -31
  615. package/dist/ui/hooks/useData.ts +0 -10
  616. package/dist/ui/hooks/useDebounce.ts +0 -52
  617. package/dist/ui/hooks/useDisclosure.ts +0 -8
  618. package/dist/ui/hooks/useGame.ts +0 -1147
  619. package/dist/ui/hooks/useLayoutClasses.ts +0 -70
  620. package/dist/ui/hooks/useLazyLoad.ts +0 -78
  621. package/dist/ui/hooks/useLikeSong.ts +0 -22
  622. package/dist/ui/hooks/useLivePreview.ts +0 -60
  623. package/dist/ui/hooks/useMenu.ts +0 -6
  624. package/dist/ui/hooks/useOnPlay.ts +0 -23
  625. package/dist/ui/hooks/usePageContext.ts +0 -174
  626. package/dist/ui/hooks/useParallax.ts +0 -161
  627. package/dist/ui/hooks/usePreviewModal.ts +0 -25
  628. package/dist/ui/hooks/useScreenSize.ts +0 -56
  629. package/dist/ui/hooks/useTheme.ts +0 -6
  630. package/dist/ui/images/Carousel.tsx +0 -326
  631. package/dist/ui/images/Circle.tsx +0 -9
  632. package/dist/ui/images/Defs.tsx +0 -7
  633. package/dist/ui/images/Image.tsx +0 -127
  634. package/dist/ui/images/ImageGrid.tsx +0 -73
  635. package/dist/ui/images/Logo.tsx +0 -22
  636. package/dist/ui/images/Path.tsx +0 -27
  637. package/dist/ui/images/Pattern.tsx +0 -70
  638. package/dist/ui/images/PromoBanner.tsx +0 -25
  639. package/dist/ui/images/Rect.tsx +0 -10
  640. package/dist/ui/images/SVG.tsx +0 -58
  641. package/dist/ui/images/Stop.tsx +0 -15
  642. package/dist/ui/images/index.tsx +0 -12
  643. package/dist/ui/layouts/classNames.ts +0 -8
  644. package/dist/ui/layouts/container.ts +0 -20
  645. package/dist/ui/layouts/flex.ts +0 -13
  646. package/dist/ui/layouts/grid.ts +0 -11
  647. package/dist/ui/layouts/main.ts +0 -31
  648. package/dist/ui/layouts/responsive.ts +0 -28
  649. package/dist/ui/layouts/stack.ts +0 -24
  650. package/dist/ui/lists/DescriptionList.tsx +0 -41
  651. package/dist/ui/lists/DisclosurePanel.tsx +0 -20
  652. package/dist/ui/lists/JobOpeningsList.tsx +0 -54
  653. package/dist/ui/lists/List.tsx +0 -18
  654. package/dist/ui/lists/ListElements.tsx +0 -43
  655. package/dist/ui/lists/ListItem.tsx +0 -63
  656. package/dist/ui/lists/ProductList.tsx +0 -37
  657. package/dist/ui/lists/StatsList.tsx +0 -64
  658. package/dist/ui/lists/UList.tsx +0 -54
  659. package/dist/ui/lists/index.ts +0 -9
  660. package/dist/ui/navigation/DesktopMenu.tsx +0 -14
  661. package/dist/ui/navigation/Footer.tsx +0 -128
  662. package/dist/ui/navigation/Link.tsx +0 -225
  663. package/dist/ui/navigation/MobileMenu.tsx +0 -26
  664. package/dist/ui/navigation/NavigationLinks.tsx +0 -244
  665. package/dist/ui/navigation/NotFound.tsx +0 -12
  666. package/dist/ui/navigation/Route.tsx +0 -120
  667. package/dist/ui/navigation/Transition.tsx +0 -40
  668. package/dist/ui/navigation/index.tsx +0 -8
  669. package/dist/ui/notifications/Banner.tsx +0 -69
  670. package/dist/ui/notifications/Error.tsx +0 -12
  671. package/dist/ui/notifications/Loader.tsx +0 -14
  672. package/dist/ui/notifications/NoResults.tsx +0 -11
  673. package/dist/ui/notifications/index.tsx +0 -4
  674. package/dist/ui/providers/AppProvider.tsx +0 -115
  675. package/dist/ui/providers/DisclosureProvider.tsx +0 -21
  676. package/dist/ui/providers/MenuProvider.tsx +0 -40
  677. package/dist/ui/providers/PageContextProvider.tsx +0 -176
  678. package/dist/ui/providers/ThemeProvider.tsx +0 -196
  679. package/dist/ui/shells/App.tsx +0 -57
  680. package/dist/ui/shells/Container.tsx +0 -74
  681. package/dist/ui/shells/Disclosure.tsx +0 -72
  682. package/dist/ui/shells/Field.tsx +0 -21
  683. package/dist/ui/shells/Flex.tsx +0 -193
  684. package/dist/ui/shells/Grid.tsx +0 -118
  685. package/dist/ui/shells/Header.tsx +0 -123
  686. package/dist/ui/shells/Main.tsx +0 -96
  687. package/dist/ui/shells/Nav.tsx +0 -138
  688. package/dist/ui/shells/Section.tsx +0 -94
  689. package/dist/ui/shells/Skeleton.tsx +0 -24
  690. package/dist/ui/shells/index.ts +0 -11
  691. package/dist/ui/text/Article.tsx +0 -141
  692. package/dist/ui/text/Currency.tsx +0 -29
  693. package/dist/ui/text/Heading.tsx +0 -29
  694. package/dist/ui/text/Label.tsx +0 -24
  695. package/dist/ui/text/Motto.tsx +0 -40
  696. package/dist/ui/text/Paragraph.tsx +0 -20
  697. package/dist/ui/text/Span.tsx +0 -20
  698. package/dist/ui/text/TagLine.tsx +0 -20
  699. package/dist/ui/text/Time.tsx +0 -36
  700. package/dist/ui/text/WelcomeHeading.tsx +0 -40
  701. package/dist/ui/text/index.ts +0 -10
  702. package/dist/ui/video/VideoComponent.tsx +0 -23
  703. package/dist/ui/video/VideoDetail.tsx +0 -33
  704. package/dist/ui/video/VideoItem.tsx +0 -51
  705. package/dist/ui/video/VideoList.tsx +0 -155
  706. package/dist/ui/video/index.ts +0 -4
@@ -1,1817 +0,0 @@
1
- export {
2
- disableClientRouting,
3
- firstRenderStartPromise,
4
- getRenderCount,
5
- renderPageClientSide,
6
- }
7
-
8
- import { isClientSideRoutable } from "../../gaurds/validators/isClientSideRoutable.js"
9
- import { assertHook, getHook } from "../../processing/getters/getHook.js"
10
- import { setPageContextCurrent } from "../../processing/getters/getPageContextCurrent.js"
11
- import {
12
- getPageContextFromClientHooks,
13
- getPageContextFromHooks_isHydration,
14
- getPageContextFromHooks_serialized,
15
- getPageContextFromServerHooks,
16
- PageContextFromClientHooks,
17
- setPageContextInitIsPassedToClient,
18
- type PageContextFromServerHooks,
19
- } from "../../processing/getters/getPageContextFromHooks.js"
20
- import {
21
- assertNoInfiniteAbortLoop,
22
- getPageContextFromAllRewrites,
23
- isAbortError,
24
- logAbortErrorHandled,
25
- type PageContextFromRewrite,
26
- } from "../../router/abort.js"
27
- import { route } from "../../router/index.js"
28
- import { getRouteStringParameterList } from "../../router/resolveRouteString.js"
29
- import { createPageContext } from "./createPageContext.js"
30
- import {
31
- executeOnRenderClientHook,
32
- type PageContextBeforeRenderClient,
33
- } from "./executeOnRenderClientHook.js"
34
- import { pushHistory } from "./history.js"
35
- import {
36
- isErrorFetchingStaticAssets,
37
- loadUserFilesClientSide,
38
- } from "./loadUserFilesClientSide.js"
39
- import { updateState } from "./onBrowserHistoryNavigation.js"
40
- import {
41
- addLinkPrefetchHandlers,
42
- addLinkPrefetchHandlers_unwatch,
43
- addLinkPrefetchHandlers_watch,
44
- getPageContextPrefetched,
45
- populatePageContextPrefetchCache,
46
- } from "./prefetch.js"
47
- import {
48
- browserNativeScrollRestoration_disable,
49
- setInitialRenderIsDone,
50
- } from "./scrollRestoration.js"
51
- import { setScrollPosition, type ScrollTarget } from "./setScrollPosition.js"
52
- import {
53
- executeHook,
54
- genPromise,
55
- getCurrentUrl,
56
- hasProp,
57
- isCallable,
58
- isReact,
59
- isSameErrorMessage,
60
- objectAssign,
61
- redirectHard,
62
- } from "./utils.js"
63
-
64
- import {
65
- PageContext,
66
- PageContextConfig,
67
- PageContextPageFiles,
68
- } from "../../../types/interfaces/context.js"
69
- import {
70
- ConfigValue,
71
- PageConfigRuntime,
72
- } from "../../../types/interfaces/page.js"
73
- import { Head } from "../../../types/namespaces/Config.js"
74
- import { assert } from "../../gaurds/assertions/assert/base.js"
75
- import { assertWarning } from "../../gaurds/assertions/assertWarning/index.js"
76
- import { getErrorPageId } from "../../processing/getters/getErrorPageId.js"
77
- import getGlobalObject from "../../processing/getters/getGlobalObject.js"
78
- import {
79
- Source,
80
- Sources,
81
- } from "../../processing/getters/getPageFiles/getExports.js"
82
- import { ConfigValueSerialized } from "../../processing/serializers/serializePage/PageConfigSerialized.js"
83
- import { augmentType } from "../../processing/transformers/augmentType.js"
84
-
85
- type PageContextExports = {
86
- exports?: Record<string, unknown>
87
- }
88
-
89
- // Extend PageContextPageFiles to include config
90
- interface ExtendedPageContextPageFiles extends PageContextPageFiles {
91
- config: { [key: string]: unknown; Head?: NonNullable<Head>[] | undefined }
92
- }
93
-
94
- // Define ConfigValues as a record of string to ConfigValue
95
- type ConfigValues = Record<string, ConfigValue>
96
-
97
- // Define PageFile
98
- // type PageFile = {
99
- // filePath: string;
100
- // fileExports: Record<string, unknown>;
101
- // };
102
-
103
- // Define PageConfigRuntime
104
- // type PageConfigRuntime = {
105
- // pageId: string;
106
- // route: string;
107
- // configValues: ConfigValues;
108
- // configElements?: any; // Placeholder for actual config elements
109
- // };
110
-
111
- // Define PageConfigBase
112
- type PageConfigBase = {
113
- pageId: string
114
- route: string
115
- configValues?: ConfigValues
116
- }
117
-
118
- type PageConfig = PageConfigBase & {
119
- loadConfigValuesAll: () => Promise<{ configValuesSerialized: ConfigValues }>
120
- Page?: () => React.ReactNode
121
- }
122
-
123
- type PageContextRouted = {
124
- pageId: string
125
- routeParams: Record<string, string>
126
- }
127
-
128
- // type PageContextExports = {
129
- // exports: Record<string, unknown>;
130
- // };
131
-
132
- // type PageContext = {
133
- // _pageFilesLoaded: PageFile[];
134
- // urlOriginal?: string;
135
- // urlPathname?: string;
136
- // pageId: string;
137
- // _pageConfigs: PageConfigRuntime[];
138
- // config: PageConfig;
139
- // } & PageContextExports & {
140
- // from: {
141
- // configsStandard: {
142
- // keepScrollPosition: {
143
- // value: any;
144
- // definedAt: string;
145
- // } | null;
146
- // };
147
- // };
148
- // configValues?: ConfigValues;
149
- // routeParams: Record<string, string>;
150
- // hydrationCanBeAborted?: boolean;
151
- // _pageFilesAll?: PageFile[];
152
- // _hasPageContextFromServer?: boolean;
153
- // errorWhileRendering?: unknown;
154
- // is404?: boolean;
155
- // isBackwardNavigation?: boolean | null;
156
- // isClientSideNavigation?: boolean;
157
- // isHydration?: boolean;
158
- // _previousPageContext?: PreviousPageContext;
159
- // } & PageContextRouted;
160
-
161
- const globalObject = getGlobalObject<{
162
- clientRoutingIsDisabled?: true
163
- renderCounter: number
164
- onRenderClientPromise?: Promise<unknown>
165
- isFirstRenderDone?: true
166
- isTransitioning?: true
167
- previousPageContext?: PreviousPageContext
168
- firstRenderStartPromise: Promise<void>
169
- firstRenderStartPromiseResolve: () => void
170
- }>(
171
- "renderPageClientSide.ts",
172
- (() => {
173
- const {
174
- promise: firstRenderStartPromise,
175
- resolve: firstRenderStartPromiseResolve,
176
- } = genPromise()
177
- return {
178
- renderCounter: 0,
179
- firstRenderStartPromise,
180
- firstRenderStartPromiseResolve,
181
- }
182
- })()
183
- )
184
- const { firstRenderStartPromise } = globalObject
185
-
186
- type SourceConfigsStandard = {
187
- type: "configsStandard"
188
- value: unknown
189
- definedAt: string
190
- }
191
-
192
- type SourceConfigsCumulative = {
193
- type: "configsCumulative"
194
- values: {
195
- value: unknown
196
- definedAt: string
197
- }[]
198
- }
199
-
200
- type SourceConfigsComputed = {
201
- type: "configsComputed"
202
- value: unknown
203
- definedAt: string
204
- }
205
-
206
- type From = {
207
- configsStandard: Omit<
208
- Record<string, SourceConfigsStandard>,
209
- "keepScrollPosition"
210
- > & {
211
- keepScrollPosition: SourceConfigsStandard
212
- }
213
- configsCumulative: Record<string, SourceConfigsCumulative>
214
- configsComputed: Record<string, SourceConfigsComputed>
215
- }
216
-
217
- type PreviousPageContext = { pageId: string } & PageContextExports &
218
- PageContextRouted & {
219
- source: Source
220
- sources: Sources
221
- from: From
222
- }
223
-
224
- type RenderArgs = {
225
- scrollTarget: ScrollTarget
226
- isBackwardNavigation: boolean | null
227
- urlOriginal?: string
228
- overwriteLastHistoryEntry?: boolean
229
- pageContextsFromRewrite?: PageContextFromRewrite[]
230
- redirectCount?: number
231
- /** Whether the navigation was triggered by the user land calling history.pushState() */
232
- isUserLandPushStateNavigation?: boolean
233
- isClientSideNavigation?: boolean
234
- }
235
-
236
- async function renderPageClientSide(renderArgs: RenderArgs): Promise<void> {
237
- const {
238
- urlOriginal = getCurrentUrl(),
239
- overwriteLastHistoryEntry = false,
240
- isBackwardNavigation,
241
- pageContextsFromRewrite = [],
242
- redirectCount = 0,
243
- isUserLandPushStateNavigation,
244
- isClientSideNavigation = true,
245
- } = renderArgs
246
- let { scrollTarget } = renderArgs
247
- const { previousPageContext } = globalObject
248
-
249
- addLinkPrefetchHandlers_unwatch()
250
-
251
- const { isRenderOutdated, setHydrationCanBeAborted, isFirstRender } =
252
- getIsRenderOutdated()
253
- assertNoInfiniteAbortLoop(pageContextsFromRewrite.length, redirectCount)
254
-
255
- if (globalObject.clientRoutingIsDisabled) {
256
- redirectHard(urlOriginal)
257
- return
258
- }
259
-
260
- globalObject.firstRenderStartPromiseResolve()
261
- if (isRenderOutdated()) return
262
-
263
- await renderPageNominal()
264
-
265
- return
266
-
267
- async function renderPageNominal() {
268
- const onError = async (err: unknown) => {
269
- await renderErrorPage({ err })
270
- }
271
-
272
- const pageContext = await getPageContextBegin(false)
273
- if (isRenderOutdated()) return
274
-
275
- // onPageTransitionStart()
276
- if (globalObject.isFirstRenderDone) {
277
- assert(previousPageContext)
278
- // We use the hook of the previous page in order to be able to call onPageTransitionStart() before fetching the files of the next page.
279
- // https://github.com/revealjs/reveal/issues/1560
280
- assertHook(previousPageContext, "onPageTransitionStart")
281
- if (!globalObject.isTransitioning) {
282
- globalObject.isTransitioning = true
283
- const onPageTransitionStartHook = getHook(
284
- previousPageContext,
285
- "onPageTransitionStart"
286
- )
287
- if (onPageTransitionStartHook) {
288
- const hook = onPageTransitionStartHook
289
- const { hookFn } = hook
290
- try {
291
- await executeHook(() => hookFn(pageContext), hook, pageContext)
292
- } catch (err) {
293
- await onError(err)
294
- return
295
- }
296
- if (isRenderOutdated()) return
297
- }
298
- }
299
- }
300
-
301
- // Route
302
- if (isFirstRender) {
303
- const pageContextSerialized = getPageContextFromHooks_serialized()
304
- assert(!("urlOriginal" in pageContextSerialized))
305
- objectAssign(pageContext, pageContextSerialized)
306
-
307
- // Populate prefetch cache
308
- populatePageContextPrefetchCache(
309
- {
310
- ...pageContext,
311
- config: {
312
- pageId: pageContext.pageId,
313
- configValues: (pageContext.config as PageConfig).configValues ?? {},
314
- loadConfigValuesAll: async () => {
315
- const result = await (
316
- pageContext.config as PageConfig
317
- ).loadConfigValuesAll()
318
- return {
319
- configValuesSerialized:
320
- result.configValuesSerialized as unknown as Record<
321
- string,
322
- ConfigValueSerialized
323
- >,
324
- }
325
- },
326
- Page: {
327
- getInitialProps: async () => ({
328
- pageProps: {
329
- pageId: pageContext.pageId,
330
- routeParams: getRouteStringParameterList(pageContext.pageId),
331
- },
332
- }),
333
- },
334
- },
335
- },
336
- {
337
- pageContextFromServerHooks: pageContextSerialized,
338
- }
339
- )
340
- } else {
341
- let pageContextFromRoute: Awaited<ReturnType<typeof route>>
342
- try {
343
- pageContextFromRoute = await route(pageContext)
344
- } catch (err) {
345
- await onError(err)
346
- return
347
- }
348
- if (isRenderOutdated()) return
349
-
350
- if (!pageContextFromRoute.pageId) {
351
- redirectHard(urlOriginal)
352
- return
353
- }
354
- assert(hasProp(pageContextFromRoute, "pageId", "string")) // Help TS
355
-
356
- const isClientRoutable = await isClientSideRoutable(
357
- pageContextFromRoute.pageId,
358
- {
359
- ...pageContext,
360
- config: {
361
- ...(typeof pageContext.config === "object" &&
362
- pageContext.config !== null
363
- ? pageContext.config
364
- : {}),
365
- Page: undefined,
366
- } as Partial<PageConfig>,
367
- }
368
- )
369
- if (isRenderOutdated()) return
370
- if (!isClientRoutable) {
371
- redirectHard(urlOriginal)
372
- return
373
- }
374
-
375
- const isSamePage =
376
- pageContextFromRoute.pageId &&
377
- previousPageContext?.pageId &&
378
- pageContextFromRoute.pageId === previousPageContext.pageId
379
- if (isUserLandPushStateNavigation && isSamePage) {
380
- // Skip rendering; let the user handle the navigation
381
- return
382
- }
383
-
384
- objectAssign(pageContext, pageContextFromRoute)
385
- }
386
-
387
- try {
388
- objectAssign(
389
- {
390
- ...pageContext,
391
- config: {
392
- ...(typeof pageContext.config === "object" &&
393
- pageContext.config !== null
394
- ? pageContext.config
395
- : {}),
396
- Page: undefined,
397
- } as Partial<PageConfig>,
398
- },
399
- await loadUserFilesClientSide(
400
- pageContext.pageId,
401
- pageContext._pageFilesAll || [],
402
- pageContext._pageConfigs || []
403
- )
404
- )
405
- } catch (err) {
406
- if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
407
- return
408
- } else {
409
- // A user file has a syntax error
410
- await onError(err)
411
- return
412
- }
413
- }
414
- if (isRenderOutdated()) return
415
- // Ensure that pageContext has the 'config' property
416
- augmentType(pageContext as unknown as PageContext, {
417
- config: pageContext.config as PageContextConfig,
418
- })
419
- setPageContextCurrent({
420
- ...pageContext,
421
- source: pageContext.source as Source,
422
- sources: pageContext.sources as Sources,
423
- from: pageContext.from as From,
424
- })
425
-
426
- // Set global hydrationCanBeAborted
427
- if (pageContext.hydrationCanBeAborted) {
428
- setHydrationCanBeAborted()
429
- } else {
430
- assertWarning(
431
- !isReact(),
432
- "You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://reveal.dev/hydrationCanBeAborted",
433
- { onlyOnce: true }
434
- )
435
- }
436
- if (isRenderOutdated()) return
437
-
438
- // Get pageContext from hooks (fetched from server, and/or directly called on the client-side)
439
- if (isFirstRender) {
440
- assert(hasProp(pageContext, "_hasPageContextFromServer", "true"))
441
- let pageContextAugmented: Awaited<
442
- ReturnType<typeof getPageContextFromHooks_isHydration>
443
- >
444
- try {
445
- pageContextAugmented = await getPageContextFromHooks_isHydration(
446
- pageContext as any
447
- )
448
- } catch (err) {
449
- await onError(err)
450
- return
451
- }
452
- if (isRenderOutdated()) return
453
- augmentType(
454
- pageContext as unknown as PageContext,
455
- pageContextAugmented as unknown as Partial<PageContext>
456
- )
457
-
458
- // Render page view
459
- await renderPageView(pageContext as any)
460
- } else {
461
- // Fetch pageContext from server-side hooks
462
- let pageContextFromServerHooks: PageContextFromServerHooks
463
- const pageContextPrefetched = getPageContextPrefetched({
464
- ...pageContext,
465
- urlPathname: pageContext.urlPathname || "",
466
- source: pageContext.source as Source,
467
- sources: pageContext.sources as Sources,
468
- from: pageContext.from as From,
469
- })
470
- if (pageContextPrefetched) {
471
- pageContextFromServerHooks = pageContextPrefetched
472
- } else {
473
- try {
474
- const result = await getPageContextFromServerHooks(
475
- pageContext as any,
476
- false
477
- )
478
- if (result.is404ServerSideRouted) return
479
- pageContextFromServerHooks = result.pageContextFromServerHooks
480
- populatePageContextPrefetchCache(pageContext as any, result)
481
- } catch (err) {
482
- await onError(err)
483
- return
484
- }
485
- }
486
- if (isRenderOutdated()) return
487
- objectAssign(pageContext, pageContextFromServerHooks)
488
-
489
- // Get pageContext from client-side hooks
490
- let pageContextFromClientHooks: PageContextFromClientHooks
491
- try {
492
- pageContextFromClientHooks = await getPageContextFromClientHooks(
493
- {
494
- ...pageContext,
495
- source: pageContext.source as Source,
496
- sources: pageContext.sources as Sources,
497
- from: pageContext.from as From,
498
- config: {
499
- pageId: pageContext.pageId,
500
- configValues: (pageContext.config as PageConfig).configValues ?? {},
501
- loadConfigValuesAll: async () => ({
502
- configValuesSerialized: {},
503
- }),
504
- Page: {} as Record<string, unknown>,
505
- } as PageConfigRuntime & { Page: Record<string, unknown> },
506
- },
507
- false
508
- )
509
- } catch (err) {
510
- await onError(err)
511
- return
512
- }
513
- if (isRenderOutdated()) return
514
- augmentType(
515
- pageContext as unknown as PageContext,
516
- pageContextFromClientHooks as unknown as Partial<PageContext>
517
- )
518
-
519
- await renderPageView(pageContext as any)
520
- }
521
- }
522
-
523
- async function getPageContextBegin(isForErrorPage: boolean) {
524
- const pageContext = await createPageContext(urlOriginal)
525
- objectAssign(pageContext, {
526
- isBackwardNavigation,
527
- isClientSideNavigation,
528
- isHydration: isFirstRender && !isForErrorPage,
529
- _previousPageContext: previousPageContext,
530
- })
531
- {
532
- const pageContextFromAllRewrites = getPageContextFromAllRewrites(
533
- pageContextsFromRewrite
534
- )
535
- assert(!("urlOriginal" in pageContextFromAllRewrites))
536
- objectAssign(pageContext, pageContextFromAllRewrites)
537
- }
538
- return pageContext
539
- }
540
-
541
- async function renderErrorPage(args: {
542
- err?: unknown
543
- pageContextError?: Record<string, unknown>
544
- is404?: boolean
545
- }) {
546
- const onError = (err: unknown) => {
547
- if (!isSameErrorMessage(err, args.err)) {
548
- console.error(err)
549
- }
550
- }
551
-
552
- if ("err" in args) {
553
- const { err } = args
554
- assert(err)
555
-
556
- if (!isAbortError(err)) {
557
- console.error(err)
558
- } else {
559
- // We swallow throw redirect()/render() called by client-side hooks onBeforeRender()/data()/guard()
560
- // We handle the abort error down below.
561
- }
562
- }
563
-
564
- const pageContext = await getPageContextBegin(true)
565
- if (isRenderOutdated()) return
566
-
567
- if (args.is404) objectAssign(pageContext, { is404: true })
568
- if (args.pageContextError) objectAssign(pageContext, args.pageContextError)
569
-
570
- if ("err" in args) {
571
- const { err } = args
572
- assert(!("errorWhileRendering" in pageContext))
573
- pageContext.errorWhileRendering = err
574
-
575
- if (isAbortError(err)) {
576
- const errAbort = err
577
- logAbortErrorHandled(err, !import.meta.env.DEV, pageContext)
578
- const pageContextAbort = errAbort._pageContextAbort
579
-
580
- // throw render('/some-url')
581
- if (pageContextAbort._urlRewrite) {
582
- await renderPageClientSide({
583
- ...renderArgs,
584
- scrollTarget: undefined,
585
- pageContextsFromRewrite: [
586
- ...pageContextsFromRewrite,
587
- pageContextAbort,
588
- ],
589
- })
590
- return
591
- }
592
-
593
- // throw redirect('/some-url')
594
- if (pageContextAbort._urlRedirect) {
595
- const urlRedirect = pageContextAbort._urlRedirect.url
596
- if (!urlRedirect.startsWith("/")) {
597
- // External redirection
598
- redirectHard(urlRedirect)
599
- return
600
- } else {
601
- await renderPageClientSide({
602
- ...renderArgs,
603
- scrollTarget: undefined,
604
- urlOriginal: urlRedirect,
605
- overwriteLastHistoryEntry: false,
606
- isBackwardNavigation: false,
607
- redirectCount: redirectCount + 1,
608
- })
609
- }
610
- return
611
- }
612
-
613
- // throw render(statusCode)
614
- assert(pageContextAbort.abortStatusCode)
615
- assert(!("urlOriginal" in pageContextAbort))
616
- objectAssign(pageContext, pageContextAbort)
617
- if (pageContextAbort.abortStatusCode === 404) {
618
- objectAssign(pageContext, { is404: true })
619
- }
620
- } else {
621
- objectAssign(pageContext, { is404: false })
622
- }
623
- }
624
-
625
- const errorPageId = getErrorPageId(
626
- pageContext._pageFilesAll || [],
627
- pageContext._pageConfigs || []
628
- )
629
- if (!errorPageId) throw new Error("No error page defined.")
630
- objectAssign(pageContext, {
631
- pageId: errorPageId,
632
- })
633
-
634
- const isClientRoutable = await isClientSideRoutable(pageContext.pageId, {
635
- ...pageContext,
636
- config: {
637
- ...(typeof pageContext.config === "object" &&
638
- pageContext.config !== null
639
- ? pageContext.config
640
- : {}),
641
- Page: {} as Record<string, unknown>,
642
- } as PageContextPageFiles["config"],
643
- })
644
- if (isRenderOutdated()) return
645
- if (!isClientRoutable) {
646
- redirectHard(urlOriginal)
647
- return
648
- }
649
-
650
- try {
651
- objectAssign(
652
- pageContext,
653
- await loadUserFilesClientSide(
654
- pageContext.pageId,
655
- pageContext._pageFilesAll || [],
656
- pageContext._pageConfigs || []
657
- )
658
- )
659
- } catch (err) {
660
- if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
661
- return
662
- } else {
663
- // A user file has a syntax error
664
- onError(err)
665
- return
666
- }
667
- }
668
- if (isRenderOutdated()) return
669
- setPageContextCurrent(pageContext)
670
-
671
- let pageContextFromServerHooks: PageContextFromServerHooks
672
- try {
673
- const result = await getPageContextFromServerHooks(
674
- pageContext as any,
675
- true
676
- )
677
- if (result.is404ServerSideRouted) return
678
- pageContextFromServerHooks = result.pageContextFromServerHooks
679
- } catch (err: unknown) {
680
- onError(err)
681
- return
682
- }
683
- if (isRenderOutdated()) return
684
- objectAssign(pageContext, pageContextFromServerHooks)
685
-
686
- let pageContextFromClientHooks: PageContextFromClientHooks
687
- try {
688
- pageContextFromClientHooks = await getPageContextFromClientHooks(
689
- pageContext as any,
690
- true
691
- )
692
- } catch (err: unknown) {
693
- onError(err)
694
- return
695
- }
696
- if (isRenderOutdated()) return
697
- augmentType(
698
- pageContext as unknown as PageContext,
699
- pageContextFromClientHooks as unknown as Partial<PageContext>
700
- )
701
-
702
- objectAssign(pageContext, { routeParams: {} })
703
-
704
- await renderPageView(pageContext as any, args)
705
- }
706
-
707
- async function renderPageView(
708
- pageContext: PageContextBeforeRenderClient & {
709
- urlPathname: string
710
- } & PageContextRouted,
711
- isErrorPage?: { err?: unknown }
712
- ) {
713
- const onError = async (err: unknown) => {
714
- if (!isErrorPage) {
715
- await renderErrorPage({ err })
716
- } else {
717
- if (!isSameErrorMessage(err, isErrorPage.err)) {
718
- console.error(err)
719
- }
720
- }
721
- }
722
-
723
- // We use globalObject.onRenderClientPromise to ensure that there is never two concurrent onRenderClient() calls
724
- if (globalObject.onRenderClientPromise) {
725
- // Make sure that the previous render has finished
726
- await globalObject.onRenderClientPromise
727
- assert(globalObject.onRenderClientPromise === undefined)
728
- if (isRenderOutdated()) return
729
- }
730
- changeUrl(urlOriginal, overwriteLastHistoryEntry)
731
- globalObject.previousPageContext = {
732
- pageId: pageContext.pageId,
733
- ...((pageContext as PageContextExports).exports || {}),
734
- routeParams: pageContext.routeParams,
735
- source: pageContext.source,
736
- sources: pageContext.sources,
737
- from: {
738
- configsStandard: {
739
- keepScrollPosition: pageContext.from.configsStandard
740
- .keepScrollPosition ?? {
741
- type: "configsStandard",
742
- value: null,
743
- definedAt: "",
744
- },
745
- },
746
- configsCumulative: {},
747
- configsComputed: {},
748
- },
749
- }
750
- assert(globalObject.onRenderClientPromise === undefined)
751
- globalObject.onRenderClientPromise = (async () => {
752
- let onRenderClientError: unknown
753
- try {
754
- await executeOnRenderClientHook(pageContext, true)
755
- } catch (err) {
756
- onRenderClientError = err
757
- }
758
- globalObject.onRenderClientPromise = undefined
759
- globalObject.isFirstRenderDone = true
760
- return onRenderClientError
761
- })()
762
- const onRenderClientError = await globalObject.onRenderClientPromise
763
- assert(globalObject.onRenderClientPromise === undefined)
764
- if (onRenderClientError) {
765
- await onError(onRenderClientError)
766
- if (!isErrorPage) return
767
- }
768
-
769
- // onHydrationEnd()
770
- if (isFirstRender && !onRenderClientError) {
771
- assertHook(pageContext, "onHydrationEnd")
772
- const hook = getHook(pageContext, "onHydrationEnd")
773
- if (hook) {
774
- const { hookFn } = hook
775
- try {
776
- await executeHook(() => hookFn(pageContext), hook, pageContext)
777
- } catch (err) {
778
- await onError(err)
779
- if (!isErrorPage) return
780
- }
781
- if (isRenderOutdated(true)) return
782
- }
783
- }
784
-
785
- // We purposely abort *after* onHydrationEnd() is called (see comment above).
786
- if (isRenderOutdated(true)) return
787
-
788
- // onPageTransitionEnd()
789
- if (globalObject.isTransitioning) {
790
- globalObject.isTransitioning = undefined
791
- assert(previousPageContext)
792
- assertHook(previousPageContext, "onPageTransitionEnd")
793
- const hook = getHook(previousPageContext, "onPageTransitionEnd")
794
- if (hook) {
795
- const { hookFn } = hook
796
- try {
797
- await executeHook(() => hookFn(pageContext), hook, pageContext)
798
- } catch (err) {
799
- await onError(err)
800
- if (!isErrorPage) return
801
- }
802
- if (isRenderOutdated(true)) return
803
- }
804
- }
805
-
806
- if (!scrollTarget && previousPageContext) {
807
- const keepScrollPositionPrev = getKeepScrollPositionSetting({
808
- ...previousPageContext,
809
- from: {
810
- configsStandard: {
811
- keepScrollPosition: previousPageContext.from?.configsStandard
812
- ?.keepScrollPosition ?? {
813
- type: "configsStandard",
814
- value: null,
815
- definedAt: "",
816
- },
817
- },
818
- },
819
- })
820
- const keepScrollPositionNext = getKeepScrollPositionSetting({
821
- ...pageContext,
822
- from: {
823
- configsStandard: {
824
- keepScrollPosition: pageContext.from?.configsStandard
825
- ?.keepScrollPosition ?? { value: null, definedAt: "" },
826
- },
827
- },
828
- })
829
- if (
830
- keepScrollPositionNext !== false &&
831
- keepScrollPositionPrev !== false &&
832
- areKeysEqual(keepScrollPositionNext, keepScrollPositionPrev)
833
- ) {
834
- scrollTarget = { preserveScroll: true }
835
- }
836
- }
837
-
838
- // Page scrolling
839
- setScrollPosition(scrollTarget)
840
- browserNativeScrollRestoration_disable()
841
- setInitialRenderIsDone()
842
- if (pageContext._hasPageContextFromServer)
843
- setPageContextInitIsPassedToClient(pageContext)
844
-
845
- // Add link prefetch handlers
846
- addLinkPrefetchHandlers_watch()
847
- addLinkPrefetchHandlers()
848
- }
849
- }
850
-
851
- function changeUrl(url: string, overwriteLastHistoryEntry: boolean) {
852
- if (getCurrentUrl() === url) return
853
- browserNativeScrollRestoration_disable()
854
- pushHistory(url, overwriteLastHistoryEntry)
855
- updateState()
856
- }
857
-
858
- function handleErrorFetchingStaticAssets(
859
- err: unknown,
860
- pageContext: { urlOriginal: string },
861
- isFirstRender: boolean
862
- ): boolean {
863
- if (!isErrorFetchingStaticAssets(err)) {
864
- return false
865
- }
866
-
867
- if (isFirstRender) {
868
- disableClientRouting(err, false)
869
- // This may happen if the frontend was newly deployed during hydration.
870
- // Ideally: re-try a couple of times by reloading the page (not entirely trivial to implement since localStorage is needed.)
871
- throw err
872
- } else {
873
- disableClientRouting(err, true)
874
- }
875
-
876
- redirectHard(pageContext.urlOriginal)
877
-
878
- return true
879
- }
880
-
881
- function disableClientRouting(err: unknown, log: boolean) {
882
- assert(isErrorFetchingStaticAssets(err))
883
-
884
- globalObject.clientRoutingIsDisabled = true
885
-
886
- if (log) {
887
- // We don't use console.error() to avoid flooding error trackers such as Sentry
888
- console.log(err)
889
- }
890
- // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
891
- const isProd: boolean = import.meta.env.PROD
892
- assertWarning(
893
- false,
894
- [
895
- "Failed to fetch static asset.",
896
- isProd ? "This usually happens when a new frontend is deployed." : null,
897
- "Falling back to Server Routing.",
898
- "(The next page navigation will use Server Routing instead of Client Routing.)",
899
- ]
900
- .filter(Boolean)
901
- .join(" "),
902
- { onlyOnce: true }
903
- )
904
- }
905
-
906
- function getIsRenderOutdated() {
907
- const renderNumber = ++globalObject.renderCounter
908
- assert(renderNumber >= 1)
909
-
910
- let hydrationCanBeAborted = false
911
- const setHydrationCanBeAborted = () => {
912
- hydrationCanBeAborted = true
913
- }
914
-
915
- /** Whether the rendering should be aborted because a new rendering has started. We should call this after each await. */
916
- const isRenderOutdated = (isRenderCleanup?: true) => {
917
- // Never abort first render if hydrationCanBeAborted isn't true
918
- {
919
- const isFirstRender = renderNumber === 1
920
- if (isFirstRender && !hydrationCanBeAborted && !isRenderCleanup) {
921
- return false
922
- }
923
- }
924
-
925
- // If there is a newer rendering, we should abort all previous renderings
926
- return renderNumber !== globalObject.renderCounter
927
- }
928
-
929
- return {
930
- isRenderOutdated,
931
- setHydrationCanBeAborted,
932
- isFirstRender: renderNumber === 1,
933
- }
934
- }
935
- function getRenderCount(): number {
936
- return globalObject.renderCounter
937
- }
938
-
939
- function getKeepScrollPositionSetting(
940
- pageContext: PageContextExports &
941
- PageContextRouted & {
942
- from: {
943
- configsStandard: {
944
- keepScrollPosition: { value: unknown; definedAt: string } | null
945
- }
946
- }
947
- }
948
- ): false | string | string[] {
949
- const c = pageContext.from.configsStandard.keepScrollPosition
950
- if (!c) return false
951
- let val = c.value
952
- const configDefinedAt = c.definedAt
953
- assert(configDefinedAt)
954
- const routeParameterList = getRouteStringParameterList(configDefinedAt)
955
- if (isCallable(val))
956
- val = val(pageContext, {
957
- configDefinedAt: c.definedAt,
958
- })
959
- if (val === true) {
960
- return [
961
- configDefinedAt,
962
- ...routeParameterList.map((param) => {
963
- const val = pageContext.routeParams[param]
964
- assert(val)
965
- return val
966
- }),
967
- ]
968
- }
969
- // We skip validation and type-cast instead of assertUsage() in order to save client-side KBs
970
- return val as any
971
- }
972
-
973
- function areKeysEqual(
974
- key1: string | string[],
975
- key2: string | string[]
976
- ): boolean {
977
- if (key1 === key2) return true
978
- if (!Array.isArray(key1) || !Array.isArray(key2)) return false
979
- return (
980
- key1.length === key2.length && key1.every((_, i) => key1[i] === key2[i])
981
- )
982
- }
983
-
984
- // export { renderPageClientSide };
985
- // export { getRenderCount };
986
- // export { disableClientRouting };
987
- // export { firstRenderStartPromise };
988
-
989
- // import {
990
- // assert,
991
- // getCurrentUrl,
992
- // isSameErrorMessage,
993
- // objectAssign,
994
- // redirectHard,
995
- // getGlobalObject,
996
- // executeHook,
997
- // hasProp,
998
- // augmentType,
999
- // genPromise,
1000
- // isCallable,
1001
- // } from "./utils.js";
1002
- // import {
1003
- // getPageContextFromClientHooks,
1004
- // getPageContextFromServerHooks,
1005
- // getPageContextFromHooks_isHydration,
1006
- // getPageContextFromHooks_serialized,
1007
- // type PageContextFromServerHooks,
1008
- // setPageContextInitIsPassedToClient,
1009
- // PageContextFromClientHooks,
1010
- // } from "./getPageContextFromHooks.js";
1011
- // import { createPageContext } from "./createPageContext.js";
1012
- // import {
1013
- // addLinkPrefetchHandlers,
1014
- // addLinkPrefetchHandlers_unwatch,
1015
- // addLinkPrefetchHandlers_watch,
1016
- // getPageContextPrefetched,
1017
- // populatePageContextPrefetchCache,
1018
- // } from "./prefetch.js";
1019
- // import { assertInfo, assertWarning, isReact } from "./utils.js";
1020
- // import {
1021
- // type PageContextBeforeRenderClient,
1022
- // executeOnRenderClientHook,
1023
- // } from "../shared/executeOnRenderClientHook.js";
1024
- // import { assertHook, getHook } from "../hooks/getHook.js";
1025
- // import {
1026
- // isErrorFetchingStaticAssets,
1027
- // loadUserFilesClientSide,
1028
- // } from "../shared/loadUserFilesClientSide.js";
1029
- // import { pushHistory } from "./history.js";
1030
- // import {
1031
- // assertNoInfiniteAbortLoop,
1032
- // getPageContextFromAllRewrites,
1033
- // isAbortError,
1034
- // logAbortErrorHandled,
1035
- // type PageContextFromRewrite,
1036
- // } from "../route/abort.js";
1037
- // import { route } from "../route/index.js";
1038
- // import { isClientSideRoutable } from "./isClientSideRoutable.js";
1039
- // import { setScrollPosition, type ScrollTarget } from "./setScrollPosition.js";
1040
- // import { updateState } from "./onBrowserHistoryNavigation.js";
1041
- // import {
1042
- // browserNativeScrollRestoration_disable,
1043
- // setInitialRenderIsDone,
1044
- // } from "./scrollRestoration.js";
1045
- // import { getErrorPageId } from "../error-page.js";
1046
- // import type { PageContextExports } from "../getPageFiles.js";
1047
- // import { setPageContextCurrent } from "./getPageContextCurrent.js";
1048
- // import { getRouteStringParameterList } from "../route/resolveRouteString.js";
1049
- // import {PageFile} from "reveal/__internal";
1050
- // import {PageConfigRuntime,ConfigValues} from "../page-configs/PageConfig.js";
1051
- // // Assuming PageConfigBase, ConfigValues, and other required types are defined elsewhere
1052
- // // import type { PageFile, PageConfigRuntime, PageConfigBase } from "../types";
1053
- // type PageConfigBase = {
1054
- // pageId: string;
1055
- // route: string;
1056
- // configValues: ConfigValues;
1057
- // };
1058
-
1059
- // type PageContext = {
1060
- // _pageFilesLoaded: PageFile[];
1061
- // urlOriginal?: string;
1062
- // urlPathname?: string;
1063
- // pageId: string;
1064
- // _pageConfigs: PageConfigRuntime[];
1065
- // config: PageConfigBase & {
1066
- // configValues: ConfigValues;
1067
- // loadConfigValuesAll: () => Promise<any>;
1068
- // };
1069
- // } & PageContextRouted;
1070
-
1071
- // const globalObject = getGlobalObject<{
1072
- // clientRoutingIsDisabled?: true;
1073
- // renderCounter: number;
1074
- // onRenderClientPromise?: Promise<unknown>;
1075
- // isFirstRenderDone?: true;
1076
- // isTransitioning?: true;
1077
- // previousPageContext?: PreviousPageContext;
1078
- // firstRenderStartPromise: Promise<void>;
1079
- // firstRenderStartPromiseResolve: () => void;
1080
- // }>(
1081
- // "renderPageClientSide.ts",
1082
- // (() => {
1083
- // const {
1084
- // promise: firstRenderStartPromise,
1085
- // resolve: firstRenderStartPromiseResolve,
1086
- // } = genPromise();
1087
- // return {
1088
- // renderCounter: 0,
1089
- // firstRenderStartPromise,
1090
- // firstRenderStartPromiseResolve,
1091
- // };
1092
- // })(),
1093
- // );
1094
- // const { firstRenderStartPromise } = globalObject;
1095
- // type PreviousPageContext = { pageId: string } & PageContextExports &
1096
- // PageContextRouted;
1097
- // type PageContextRouted = {
1098
- // pageId: string;
1099
- // routeParams: Record<string, string>;
1100
- // };
1101
-
1102
- // type RenderArgs = {
1103
- // scrollTarget: ScrollTarget;
1104
- // isBackwardNavigation: boolean | null;
1105
- // urlOriginal?: string;
1106
- // overwriteLastHistoryEntry?: boolean;
1107
- // pageContextsFromRewrite?: PageContextFromRewrite[];
1108
- // redirectCount?: number;
1109
- // /** Whether the navigation was triggered by the user land calling `history.pushState()` */
1110
- // isUserLandPushStateNavigation?: boolean;
1111
- // isClientSideNavigation?: boolean;
1112
- // };
1113
- // async function renderPageClientSide(renderArgs: RenderArgs): Promise<void> {
1114
- // const {
1115
- // urlOriginal = getCurrentUrl(),
1116
- // overwriteLastHistoryEntry = false,
1117
- // isBackwardNavigation,
1118
- // pageContextsFromRewrite = [],
1119
- // redirectCount = 0,
1120
- // isUserLandPushStateNavigation,
1121
- // isClientSideNavigation = true,
1122
- // } = renderArgs;
1123
- // let { scrollTarget } = renderArgs;
1124
- // const { previousPageContext } = globalObject;
1125
-
1126
- // addLinkPrefetchHandlers_unwatch();
1127
-
1128
- // const { isRenderOutdated, setHydrationCanBeAborted, isFirstRender } =
1129
- // getIsRenderOutdated();
1130
- // assertNoInfiniteAbortLoop(pageContextsFromRewrite.length, redirectCount);
1131
-
1132
- // if (globalObject.clientRoutingIsDisabled) {
1133
- // redirectHard(urlOriginal);
1134
- // return;
1135
- // }
1136
-
1137
- // globalObject.firstRenderStartPromiseResolve();
1138
- // if (isRenderOutdated()) return;
1139
-
1140
- // await renderPageNominal();
1141
-
1142
- // return;
1143
-
1144
- // async function renderPageNominal() {
1145
- // const onError = async (err: unknown) => {
1146
- // await renderErrorPage({ err });
1147
- // };
1148
-
1149
- // const pageContext = await getPageContextBegin(false);
1150
- // if (isRenderOutdated()) return;
1151
-
1152
- // // onPageTransitionStart()
1153
- // if (globalObject.isFirstRenderDone) {
1154
- // assert(previousPageContext);
1155
- // // We use the hook of the previous page in order to be able to call onPageTransitionStart() before fetching the files of the next page.
1156
- // // https://github.com/revealjs/reveal/issues/1560
1157
- // assertHook(previousPageContext, "onPageTransitionStart");
1158
- // if (!globalObject.isTransitioning) {
1159
- // globalObject.isTransitioning = true;
1160
- // const onPageTransitionStartHook = getHook(
1161
- // previousPageContext,
1162
- // "onPageTransitionStart",
1163
- // );
1164
- // if (onPageTransitionStartHook) {
1165
- // const hook = onPageTransitionStartHook;
1166
- // const { hookFn } = hook;
1167
- // try {
1168
- // await executeHook(() => hookFn(pageContext), hook, pageContext);
1169
- // } catch (err) {
1170
- // await onError(err);
1171
- // return;
1172
- // }
1173
- // if (isRenderOutdated()) return;
1174
- // }
1175
- // }
1176
- // }
1177
-
1178
- // // Route
1179
- // if (isFirstRender) {
1180
- // const pageContextSerialized = getPageContextFromHooks_serialized();
1181
- // // TODO/eventually: create helper assertPageContextFromHook()
1182
- // assert(!("urlOriginal" in pageContextSerialized));
1183
- // objectAssign(pageContext, pageContextSerialized);
1184
- // // TODO/pageContext-prefetch: remove or change, because this only makes sense for a pre-rendered page
1185
- // populatePageContextPrefetchCache(
1186
- // {
1187
- // ...pageContext,
1188
- // config: {
1189
- // pageId: pageContext.pageId,
1190
- // configValues: pageContext.configValues as ConfigValues,
1191
- // loadConfigValuesAll: async () => {
1192
- // return {
1193
- // configValuesSerialized: {} // Replace with actual logic to load config values
1194
- // };
1195
- // },
1196
- // Page: {} // Add the missing Page property
1197
- // }
1198
- // },
1199
- // {
1200
- // pageContextFromServerHooks: pageContextSerialized,
1201
- // }
1202
- // );
1203
- // } else {
1204
- // let pageContextFromRoute: Awaited<ReturnType<typeof route>>;
1205
- // try {
1206
- // pageContextFromRoute = await route(pageContext);
1207
- // } catch (err) {
1208
- // await onError(err);
1209
- // return;
1210
- // }
1211
- // if (isRenderOutdated()) return;
1212
-
1213
- // if (!pageContextFromRoute.pageId) {
1214
- // /*
1215
- // // We don't use the client router to render the 404 page:
1216
- // // - So that the +redirects setting (https://reveal.dev/redirects) can be applied.
1217
- // // - This is the main argument.
1218
- // // - See also failed CI: https://github.com/revealjs/reveal/pull/1871
1219
- // // - So that server-side error tracking can track 404 links?
1220
- // // - We do use the client router for rendering the error page, so I don't think this is much of an argument.
1221
- // await renderErrorPage({ is404: true })
1222
- // */
1223
- // redirectHard(urlOriginal);
1224
- // return;
1225
- // }
1226
- // assert(hasProp(pageContextFromRoute, "pageId", "string")); // Help TS
1227
-
1228
- // const isClientRoutable = await isClientSideRoutable(
1229
- // pageContextFromRoute.pageId,
1230
- // pageContext,
1231
- // );
1232
- // if (isRenderOutdated()) return;
1233
- // if (!isClientRoutable) {
1234
- // redirectHard(urlOriginal);
1235
- // return;
1236
- // }
1237
-
1238
- // const isSamePage =
1239
- // pageContextFromRoute.pageId &&
1240
- // previousPageContext?.pageId &&
1241
- // pageContextFromRoute.pageId === previousPageContext.pageId;
1242
- // if (isUserLandPushStateNavigation && isSamePage) {
1243
- // // Skip's Reveal's rendering; let the user handle the navigation
1244
- // return;
1245
- // }
1246
-
1247
- // // TODO/eventually: create helper assertPageContextFromHook()
1248
- // assert(!("urlOriginal" in pageContextFromRoute));
1249
- // objectAssign(pageContext, pageContextFromRoute);
1250
- // }
1251
-
1252
- // try {
1253
- // objectAssign(
1254
- // pageContext,
1255
- // await loadUserFilesClientSide(
1256
- // pageContext.pageId,
1257
- // pageContext._pageFilesAll,
1258
- // pageContext._pageConfigs,
1259
- // ),
1260
- // );
1261
- // } catch (err) {
1262
- // if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
1263
- // return;
1264
- // } else {
1265
- // // A user file has a syntax error
1266
- // await onError(err);
1267
- // return;
1268
- // }
1269
- // }
1270
- // if (isRenderOutdated()) return;
1271
- // setPageContextCurrent(pageContext);
1272
-
1273
- // // Set global hydrationCanBeAborted
1274
- // if (pageContext.hydrationCanBeAborted) {
1275
- // setHydrationCanBeAborted();
1276
- // } else {
1277
- // assertWarning(
1278
- // !isReact(),
1279
- // "You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://reveal.dev/hydrationCanBeAborted",
1280
- // { onlyOnce: true },
1281
- // );
1282
- // }
1283
- // // There wasn't any `await` but the isRenderOutdated() return value may have changed because we called setHydrationCanBeAborted()
1284
- // if (isRenderOutdated()) return;
1285
-
1286
- // // Get pageContext from hooks (fetched from server, and/or directly called on the client-side)
1287
- // if (isFirstRender) {
1288
- // assert(hasProp(pageContext, "_hasPageContextFromServer", "true"));
1289
- // let pageContextAugmented: Awaited<
1290
- // ReturnType<typeof getPageContextFromHooks_isHydration>
1291
- // >;
1292
- // try {
1293
- // pageContextAugmented =
1294
- // await getPageContextFromHooks_isHydration({
1295
- // ...pageContext,
1296
- // config: {
1297
- // pageId: pageContext.pageId,
1298
- // configValues: pageContext.configValues as ConfigValues,
1299
- // loadConfigValuesAll: async () => {
1300
- // return {
1301
- // configValuesSerialized: {} // Replace with actual logic to load config values
1302
- // };
1303
- // },
1304
- // Page: {} // Add the missing Page property
1305
- // }
1306
- // });
1307
- // } catch (err) {
1308
- // await onError(err);
1309
- // return;
1310
- // }
1311
- // if (isRenderOutdated()) return;
1312
- // augmentType(pageContext, pageContextAugmented);
1313
-
1314
- // // Render page view
1315
- // await renderPageView({
1316
- // ...pageContext,
1317
- // config: {
1318
- // pageId: pageContext.pageId,
1319
- // configValues: pageContext.configValues as ConfigValues,
1320
- // loadConfigValuesAll: async () => {
1321
- // return {
1322
- // configValuesSerialized: {} // Replace with actual logic to load config values
1323
- // };
1324
- // },
1325
- // Page: {} // Add the missing Page property
1326
- // },
1327
- // });
1328
- // } else {
1329
- // // Fetch pageContext from server-side hooks
1330
- // let pageContextFromServerHooks: PageContextFromServerHooks;
1331
- // const pageContextPrefetched = getPageContextPrefetched(pageContext);
1332
- // if (pageContextPrefetched) {
1333
- // pageContextFromServerHooks = pageContextPrefetched;
1334
- // } else {
1335
- // try {
1336
- // const result = await getPageContextFromServerHooks(
1337
- // pageContext,
1338
- // false,
1339
- // );
1340
- // if (result.is404ServerSideRouted) return;
1341
- // pageContextFromServerHooks = result.pageContextFromServerHooks;
1342
- // // TODO/pageContext-prefetch: remove or change, because this only makes sense for a pre-rendered page
1343
- // populatePageContextPrefetchCache(pageContext, result);
1344
- // } catch (err) {
1345
- // await onError(err);
1346
- // return;
1347
- // }
1348
- // }
1349
- // if (isRenderOutdated()) return;
1350
- // // TODO/eventually: create helper assertPageContextFromHook()
1351
- // assert(!("urlOriginal" in pageContextFromServerHooks));
1352
- // objectAssign(pageContext, pageContextFromServerHooks);
1353
-
1354
- // // Get pageContext from client-side hooks
1355
- // let pageContextFromClientHooks: PageContextFromClientHooks;
1356
- // try {
1357
- // pageContextFromClientHooks = await getPageContextFromClientHooks(
1358
- // pageContext,
1359
- // false,
1360
- // );
1361
- // } catch (err) {
1362
- // await onError(err);
1363
- // return;
1364
- // }
1365
- // if (isRenderOutdated()) return;
1366
- // augmentType(pageContext, pageContextFromClientHooks);
1367
-
1368
- // await renderPageView({
1369
- // ...pageContext,
1370
- // config: {
1371
- // pageId: pageContext.pageId,
1372
- // configValues: pageContext.configValues as ConfigValues,
1373
- // loadConfigValuesAll: async () => {
1374
- // return {
1375
- // configValuesSerialized: {} // Replace with actual logic to load config values
1376
- // };
1377
- // },
1378
- // Page: {} // Add the missing Page property
1379
- // },
1380
- // });
1381
- // }
1382
- // }
1383
-
1384
- // async function getPageContextBegin(isForErrorPage: boolean) {
1385
- // const pageContext = await createPageContext(urlOriginal);
1386
- // objectAssign(pageContext, {
1387
- // isBackwardNavigation,
1388
- // isClientSideNavigation,
1389
- // isHydration: isFirstRender && !isForErrorPage,
1390
- // _previousPageContext: previousPageContext,
1391
- // });
1392
- // {
1393
- // const pageContextFromAllRewrites = getPageContextFromAllRewrites(
1394
- // pageContextsFromRewrite,
1395
- // );
1396
- // assert(!("urlOriginal" in pageContextFromAllRewrites));
1397
- // objectAssign(pageContext, pageContextFromAllRewrites);
1398
- // }
1399
- // return pageContext;
1400
- // }
1401
-
1402
- // async function renderErrorPage(args: {
1403
- // err?: unknown;
1404
- // pageContextError?: Record<string, unknown>;
1405
- // is404?: boolean;
1406
- // }) {
1407
- // const onError = (err: unknown) => {
1408
- // if (!isSameErrorMessage(err, args.err)) {
1409
- // /* When we can't render the error page, we prefer showing a blank page over letting the server-side try because otherwise:
1410
- // - We risk running into an infinite loop of reloads which would overload the server.
1411
- // - An infinite reloading page is a even worse UX than a blank page.
1412
- // redirectHard(urlOriginal)
1413
- // */
1414
- // console.error(err);
1415
- // }
1416
- // };
1417
-
1418
- // if ("err" in args) {
1419
- // const { err } = args;
1420
- // assert(err);
1421
-
1422
- // if (!isAbortError(err)) {
1423
- // // We don't swallow 404 errors:
1424
- // // - On the server-side, Reveal swallows / doesn't show any 404 error log because it's expected that a user may go to some random non-existent URL. (We don't want to flood the app's error tracking with 404 logs.)
1425
- // // - On the client-side, if the user navigates to a 404 then it means that the UI has a broken link. (It isn't expected that users can go to some random URL using the client-side router, as it would require, for example, the user to manually change the URL of a link by manually manipulating the DOM which highly unlikely.)
1426
- // console.error(err);
1427
- // } else {
1428
- // // We swallow throw redirect()/render() called by client-side hooks onBeforeRender()/data()/guard()
1429
- // // We handle the abort error down below.
1430
- // }
1431
- // }
1432
-
1433
- // const pageContext = await getPageContextBegin(true);
1434
- // if (isRenderOutdated()) return;
1435
-
1436
- // if (args.is404) objectAssign(pageContext, { is404: true });
1437
- // if (args.pageContextError) objectAssign(pageContext, args.pageContextError);
1438
-
1439
- // if ("err" in args) {
1440
- // const { err } = args;
1441
- // assert(!("errorWhileRendering" in pageContext));
1442
- // pageContext.errorWhileRendering = err;
1443
-
1444
- // if (isAbortError(err)) {
1445
- // const errAbort = err;
1446
- // logAbortErrorHandled(err, !import.meta.env.DEV, pageContext);
1447
- // const pageContextAbort = errAbort._pageContextAbort;
1448
-
1449
- // // throw render('/some-url')
1450
- // if (pageContextAbort._urlRewrite) {
1451
- // await renderPageClientSide({
1452
- // ...renderArgs,
1453
- // scrollTarget: undefined,
1454
- // pageContextsFromRewrite: [
1455
- // ...pageContextsFromRewrite,
1456
- // pageContextAbort,
1457
- // ],
1458
- // });
1459
- // return;
1460
- // }
1461
-
1462
- // // throw redirect('/some-url')
1463
- // if (pageContextAbort._urlRedirect) {
1464
- // const urlRedirect = pageContextAbort._urlRedirect.url;
1465
- // if (!urlRedirect.startsWith("/")) {
1466
- // // External redirection
1467
- // redirectHard(urlRedirect);
1468
- // return;
1469
- // } else {
1470
- // await renderPageClientSide({
1471
- // ...renderArgs,
1472
- // scrollTarget: undefined,
1473
- // urlOriginal: urlRedirect,
1474
- // overwriteLastHistoryEntry: false,
1475
- // isBackwardNavigation: false,
1476
- // redirectCount: redirectCount + 1,
1477
- // });
1478
- // }
1479
- // return;
1480
- // }
1481
-
1482
- // // throw render(statusCode)
1483
- // assert(pageContextAbort.abortStatusCode);
1484
- // assert(!("urlOriginal" in pageContextAbort));
1485
- // objectAssign(pageContext, pageContextAbort);
1486
- // if (pageContextAbort.abortStatusCode === 404) {
1487
- // objectAssign(pageContext, { is404: true });
1488
- // }
1489
- // } else {
1490
- // objectAssign(pageContext, { is404: false });
1491
- // }
1492
- // }
1493
-
1494
- // const errorPageId = getErrorPageId(
1495
- // pageContext._pageFilesAll,
1496
- // pageContext._pageConfigs,
1497
- // );
1498
- // if (!errorPageId) throw new Error("No error page defined.");
1499
- // objectAssign(pageContext, {
1500
- // pageId: errorPageId,
1501
- // });
1502
-
1503
- // const isClientRoutable = await isClientSideRoutable(
1504
- // pageContext.pageId,
1505
- // pageContext,
1506
- // );
1507
- // if (isRenderOutdated()) return;
1508
- // if (!isClientRoutable) {
1509
- // redirectHard(urlOriginal);
1510
- // return;
1511
- // }
1512
-
1513
- // try {
1514
- // objectAssign(
1515
- // pageContext,
1516
- // await loadUserFilesClientSide(
1517
- // pageContext.pageId,
1518
- // pageContext._pageFilesAll,
1519
- // pageContext._pageConfigs,
1520
- // ),
1521
- // );
1522
- // } catch (err) {
1523
- // if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
1524
- // return;
1525
- // } else {
1526
- // // A user file has a syntax error
1527
- // onError(err);
1528
- // return;
1529
- // }
1530
- // }
1531
- // if (isRenderOutdated()) return;
1532
- // setPageContextCurrent(pageContext);
1533
-
1534
- // let pageContextFromServerHooks: PageContextFromServerHooks;
1535
- // try {
1536
- // const result = await getPageContextFromServerHooks(pageContext, true);
1537
- // if (result.is404ServerSideRouted) return;
1538
- // pageContextFromServerHooks = result.pageContextFromServerHooks;
1539
- // } catch (err: unknown) {
1540
- // onError(err);
1541
- // return;
1542
- // }
1543
- // if (isRenderOutdated()) return;
1544
- // // TODO/eventually: create helper assertPageContextFromHook()
1545
- // assert(!("urlOriginal" in pageContextFromServerHooks));
1546
- // objectAssign(pageContext, pageContextFromServerHooks);
1547
-
1548
- // let pageContextFromClientHooks: PageContextFromClientHooks;
1549
- // try {
1550
- // pageContextFromClientHooks = await getPageContextFromClientHooks(
1551
- // pageContext,
1552
- // true,
1553
- // );
1554
- // } catch (err: unknown) {
1555
- // onError(err);
1556
- // return;
1557
- // }
1558
- // if (isRenderOutdated()) return;
1559
- // augmentType(pageContext, pageContextFromClientHooks);
1560
-
1561
- // objectAssign(pageContext, { routeParams: {} });
1562
-
1563
- // await renderPageView({
1564
- // ...pageContext,
1565
- // config: {
1566
- // pageId: pageContext.pageId,
1567
- // // route: pageContext.route,
1568
- // configValues: pageContext.configValues as ConfigValues,
1569
- // loadConfigValuesAll: async () => {
1570
- // return {
1571
- // configValuesSerialized: {} // Replace with actual logic to load config values
1572
- // };
1573
- // // Implement the logic to load all config values
1574
- // },
1575
- // Page: {} // Add the missing Page property
1576
- // },
1577
- // }, args);
1578
- // }
1579
-
1580
- // async function renderPageView(
1581
- // pageContext: PageContextBeforeRenderClient & {
1582
- // urlPathname: string;
1583
- // } & PageContextRouted,
1584
- // isErrorPage?: { err?: unknown },
1585
- // ) {
1586
- // const onError = async (err: unknown) => {
1587
- // if (!isErrorPage) {
1588
- // await renderErrorPage({ err });
1589
- // } else {
1590
- // if (!isSameErrorMessage(err, isErrorPage.err)) {
1591
- // console.error(err);
1592
- // }
1593
- // }
1594
- // };
1595
-
1596
- // // We use globalObject.onRenderClientPromise in order to ensure that there is never two concurrent onRenderClient() calls
1597
- // if (globalObject.onRenderClientPromise) {
1598
- // // Make sure that the previous render has finished
1599
- // await globalObject.onRenderClientPromise;
1600
- // assert(globalObject.onRenderClientPromise === undefined);
1601
- // if (isRenderOutdated()) return;
1602
- // }
1603
- // changeUrl(urlOriginal, overwriteLastHistoryEntry);
1604
- // globalObject.previousPageContext = pageContext;
1605
- // assert(globalObject.onRenderClientPromise === undefined);
1606
- // globalObject.onRenderClientPromise = (async () => {
1607
- // let onRenderClientError: unknown;
1608
- // try {
1609
- // await executeOnRenderClientHook(pageContext, true);
1610
- // } catch (err) {
1611
- // onRenderClientError = err;
1612
- // }
1613
- // globalObject.onRenderClientPromise = undefined;
1614
- // globalObject.isFirstRenderDone = true;
1615
- // return onRenderClientError;
1616
- // })();
1617
- // const onRenderClientError = await globalObject.onRenderClientPromise;
1618
- // assert(globalObject.onRenderClientPromise === undefined);
1619
- // if (onRenderClientError) {
1620
- // await onError(onRenderClientError);
1621
- // if (!isErrorPage) return;
1622
- // }
1623
- // /* We don't abort in order to ensure that onHydrationEnd() is called: we abort only after onHydrationEnd() is called.
1624
- // if (isRenderOutdated(true)) return
1625
- // */
1626
-
1627
- // // onHydrationEnd()
1628
- // if (isFirstRender && !onRenderClientError) {
1629
- // assertHook(pageContext, "onHydrationEnd");
1630
- // const hook = getHook(pageContext, "onHydrationEnd");
1631
- // if (hook) {
1632
- // const { hookFn } = hook;
1633
- // try {
1634
- // await executeHook(() => hookFn(pageContext), hook, pageContext);
1635
- // } catch (err) {
1636
- // await onError(err);
1637
- // if (!isErrorPage) return;
1638
- // }
1639
- // if (isRenderOutdated(true)) return;
1640
- // }
1641
- // }
1642
-
1643
- // // We purposely abort *after* onHydrationEnd() is called (see comment above).
1644
- // if (isRenderOutdated(true)) return;
1645
-
1646
- // // onPageTransitionEnd()
1647
- // if (globalObject.isTransitioning) {
1648
- // globalObject.isTransitioning = undefined;
1649
- // assert(previousPageContext);
1650
- // assertHook(previousPageContext, "onPageTransitionEnd");
1651
- // const hook = getHook(previousPageContext, "onPageTransitionEnd");
1652
- // if (hook) {
1653
- // const { hookFn } = hook;
1654
- // try {
1655
- // await executeHook(() => hookFn(pageContext), hook, pageContext);
1656
- // } catch (err) {
1657
- // await onError(err);
1658
- // if (!isErrorPage) return;
1659
- // }
1660
- // if (isRenderOutdated(true)) return;
1661
- // }
1662
- // }
1663
-
1664
- // if (!scrollTarget && previousPageContext) {
1665
- // const keepScrollPositionPrev =
1666
- // getKeepScrollPositionSetting(previousPageContext);
1667
- // const keepScrollPositionNext = getKeepScrollPositionSetting(pageContext);
1668
- // if (
1669
- // keepScrollPositionNext !== false &&
1670
- // keepScrollPositionPrev !== false &&
1671
- // areKeysEqual(keepScrollPositionNext, keepScrollPositionPrev)
1672
- // ) {
1673
- // scrollTarget = { preserveScroll: true };
1674
- // }
1675
- // }
1676
-
1677
- // // Page scrolling
1678
- // setScrollPosition(scrollTarget);
1679
- // browserNativeScrollRestoration_disable();
1680
- // setInitialRenderIsDone();
1681
- // if (pageContext._hasPageContextFromServer)
1682
- // setPageContextInitIsPassedToClient(pageContext);
1683
-
1684
- // // Add link prefetch handlers
1685
- // addLinkPrefetchHandlers_watch();
1686
- // addLinkPrefetchHandlers();
1687
- // }
1688
- // }
1689
-
1690
- // function changeUrl(url: string, overwriteLastHistoryEntry: boolean) {
1691
- // if (getCurrentUrl() === url) return;
1692
- // browserNativeScrollRestoration_disable();
1693
- // pushHistory(url, overwriteLastHistoryEntry);
1694
- // updateState();
1695
- // }
1696
-
1697
- // function handleErrorFetchingStaticAssets(
1698
- // err: unknown,
1699
- // pageContext: { urlOriginal: string },
1700
- // isFirstRender: boolean,
1701
- // ): boolean {
1702
- // if (!isErrorFetchingStaticAssets(err)) {
1703
- // return false;
1704
- // }
1705
-
1706
- // if (isFirstRender) {
1707
- // disableClientRouting(err, false);
1708
- // // This may happen if the frontend was newly deployed during hydration.
1709
- // // Ideally: re-try a couple of times by reloading the page (not entirely trivial to implement since `localStorage` is needed.)
1710
- // throw err;
1711
- // } else {
1712
- // disableClientRouting(err, true);
1713
- // }
1714
-
1715
- // redirectHard(pageContext.urlOriginal);
1716
-
1717
- // return true;
1718
- // }
1719
-
1720
- // function disableClientRouting(err: unknown, log: boolean) {
1721
- // assert(isErrorFetchingStaticAssets(err));
1722
-
1723
- // globalObject.clientRoutingIsDisabled = true;
1724
-
1725
- // if (log) {
1726
- // // We don't use console.error() to avoid flooding error trackers such as Sentry
1727
- // console.log(err);
1728
- // }
1729
- // // @ts-ignore Since dist/cjs/client/ is never used, we can ignore this error.
1730
- // const isProd: boolean = import.meta.env.PROD;
1731
- // assertInfo(
1732
- // false,
1733
- // [
1734
- // "Failed to fetch static asset.",
1735
- // isProd ? "This usually happens when a new frontend is deployed." : null,
1736
- // "Falling back to Server Routing.",
1737
- // "(The next page navigation will use Server Routing instead of Client Routing.)",
1738
- // ]
1739
- // .filter(Boolean)
1740
- // .join(" "),
1741
- // { onlyOnce: true },
1742
- // );
1743
- // }
1744
-
1745
- // function getIsRenderOutdated() {
1746
- // const renderNumber = ++globalObject.renderCounter;
1747
- // assert(renderNumber >= 1);
1748
-
1749
- // let hydrationCanBeAborted = false;
1750
- // const setHydrationCanBeAborted = () => {
1751
- // hydrationCanBeAborted = true;
1752
- // };
1753
-
1754
- // /** Whether the rendering should be aborted because a new rendering has started. We should call this after each `await`. */
1755
- // const isRenderOutdated = (isRenderCleanup?: true) => {
1756
- // // Never abort first render if `hydrationCanBeAborted` isn't `true`
1757
- // {
1758
- // const isFirstRender = renderNumber === 1;
1759
- // if (isFirstRender && !hydrationCanBeAborted && !isRenderCleanup) {
1760
- // return false;
1761
- // }
1762
- // }
1763
-
1764
- // // If there is a newer rendering, we should abort all previous renderings
1765
- // return renderNumber !== globalObject.renderCounter;
1766
- // };
1767
-
1768
- // return {
1769
- // isRenderOutdated,
1770
- // setHydrationCanBeAborted,
1771
- // isFirstRender: renderNumber === 1,
1772
- // };
1773
- // }
1774
- // function getRenderCount(): number {
1775
- // return globalObject.renderCounter;
1776
- // }
1777
-
1778
- // function getKeepScrollPositionSetting(
1779
- // pageContext: PageContextExports & PageContextRouted & Record<string, unknown>,
1780
- // ): false | string | string[] {
1781
- // const c = pageContext.from.configsStandard.keepScrollPosition;
1782
- // if (!c) return false;
1783
- // let val = c.value;
1784
- // const configDefinedAt = c.definedAt;
1785
- // assert(configDefinedAt);
1786
- // const routeParameterList = getRouteStringParameterList(configDefinedAt);
1787
- // if (isCallable(val))
1788
- // val = val(pageContext, {
1789
- // configDefinedAt: c.definedAt,
1790
- // /* We don't pass routeParameterList because it's useless: the user knows the parameter list.
1791
- // routeParameterList
1792
- // */
1793
- // });
1794
- // if (val === true) {
1795
- // return [
1796
- // configDefinedAt,
1797
- // ...routeParameterList.map((param) => {
1798
- // const val = pageContext.routeParams[param];
1799
- // assert(val);
1800
- // return val;
1801
- // }),
1802
- // ];
1803
- // }
1804
- // // We skip validation and type-cast instead of assertUsage() in order to save client-side KBs
1805
- // return val as any;
1806
- // }
1807
-
1808
- // function areKeysEqual(
1809
- // key1: string | string[],
1810
- // key2: string | string[],
1811
- // ): boolean {
1812
- // if (key1 === key2) return true;
1813
- // if (!Array.isArray(key1) || !Array.isArray(key2)) return false;
1814
- // return (
1815
- // key1.length === key2.length && key1.every((_, i) => key1[i] === key2[i])
1816
- // );
1817
- // }