@revealui/core 0.0.1-pre.0 → 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 (712) hide show
  1. package/NOTICE +34 -0
  2. package/dist/exports/RenderErrorPage.js +2 -2
  3. package/dist/exports/bin-entry.js +3 -1
  4. package/dist/node/cli/index.js +3 -0
  5. package/dist/shared/RenderErrorPage.d.ts +3 -0
  6. package/dist/shared/RenderErrorPage.js +3 -0
  7. package/dist/shared/abort.js +3 -0
  8. package/dist/shared/route/routing.js +3 -0
  9. package/package.json +2 -2
  10. package/dist/core/__internal/index.ts +0 -63
  11. package/dist/core/__tests__/assertNoInfiniteHttpRedirect.spec.ts +0 -76
  12. package/dist/core/__tests__/deduceRouteStringFromFilesystemPath.spec.ts +0 -88
  13. package/dist/core/__tests__/freezePartial.spec.ts +0 -40
  14. package/dist/core/__tests__/getValuePrintable.spec.ts +0 -15
  15. package/dist/core/__tests__/injectHtmlTags.spec.ts +0 -101
  16. package/dist/core/__tests__/isHtml.spec.ts +0 -23
  17. package/dist/core/__tests__/isNpmPackage.spec.ts +0 -93
  18. package/dist/core/__tests__/normalizeHeaders.spec.ts +0 -142
  19. package/dist/core/__tests__/parseUrl-extras.spec.ts +0 -60
  20. package/dist/core/__tests__/parseUrl.spec.ts +0 -1339
  21. package/dist/core/__tests__/resolvePrecedence/resolvePrecedence_overall.spec.ts +0 -106
  22. package/dist/core/__tests__/resolvePrecedence/resolvePrecedence_route-strings.spec.ts +0 -99
  23. package/dist/core/__tests__/resolveRedirects.spec.ts +0 -132
  24. package/dist/core/__tests__/resolveRouteString.spec.ts +0 -211
  25. package/dist/core/__tests__/resolveUrlPathname.spec.ts +0 -22
  26. package/dist/core/__tests__/trimWithAnsi.spec.ts +0 -40
  27. package/dist/core/api/ssr.ts +0 -63
  28. package/dist/core/assets/extractAssetsQuery.ts +0 -29
  29. package/dist/core/assets/index.ts +0 -173
  30. package/dist/core/assets/inferHtmlTags.ts +0 -61
  31. package/dist/core/assets/injectHtmlTags.ts +0 -236
  32. package/dist/core/assets/mergeScriptTags.ts +0 -77
  33. package/dist/core/assets/sanitizeJson.ts +0 -8
  34. package/dist/core/cli/bin.ts +0 -161
  35. package/dist/core/cli/commands/add.ts +0 -158
  36. package/dist/core/cli/commands/check.ts +0 -47
  37. package/dist/core/cli/commands/doctor/checks/build.ts +0 -83
  38. package/dist/core/cli/commands/doctor/checks/config.ts +0 -130
  39. package/dist/core/cli/commands/doctor/checks/dependencies.ts +0 -144
  40. package/dist/core/cli/commands/doctor/checks/practices.ts +0 -156
  41. package/dist/core/cli/commands/doctor/checks/structure.ts +0 -127
  42. package/dist/core/cli/commands/doctor/fixes/index.ts +0 -136
  43. package/dist/core/cli/commands/doctor/index.ts +0 -47
  44. package/dist/core/cli/commands/doctor/print.ts +0 -44
  45. package/dist/core/cli/commands/doctor/types.ts +0 -16
  46. package/dist/core/cli/commands/fix.ts +0 -161
  47. package/dist/core/cli/commands/init.ts +0 -145
  48. package/dist/core/cli/commands/upgrade.ts +0 -115
  49. package/dist/core/cli/onLoad.ts +0 -7
  50. package/dist/core/cli/utils.ts +0 -6
  51. package/dist/core/components/Config/Config-client.ts +0 -14
  52. package/dist/core/components/Config/Config-server.ts +0 -16
  53. package/dist/core/components/Head/Head-client.ts +0 -4
  54. package/dist/core/components/Head/Head-server.ts +0 -16
  55. package/dist/core/components/Loading.tsx +0 -23
  56. package/dist/core/config/findPageConfig.ts +0 -14
  57. package/dist/core/config/loadConfigValues.ts +0 -28
  58. package/dist/core/constants/UnifiedConstants.ts +0 -348
  59. package/dist/core/dom/applyHeadSettings.tsx +0 -13
  60. package/dist/core/dom/onPageVisibilityChange.ts +0 -17
  61. package/dist/core/dom/updateDocumentHead.ts +0 -15
  62. package/dist/core/errors/ErrorHandler.ts +0 -480
  63. package/dist/core/files/file-system/filesystemPath.ts +0 -27
  64. package/dist/core/files/file-system/findFile.ts +0 -35
  65. package/dist/core/files/file-system/findPackageJson.ts +0 -19
  66. package/dist/core/files/file-system/findPageFiles.ts +0 -40
  67. package/dist/core/files/file-system/pathShim.ts +0 -16
  68. package/dist/core/files/file-system/prependEntriesDir.ts +0 -13
  69. package/dist/core/files/file-system/removeFileExtention.ts +0 -3
  70. package/dist/core/files/file-system/requireResolve.ts +0 -59
  71. package/dist/core/files/file-system/scanCodebase.ts +0 -64
  72. package/dist/core/files/virtual-files/index.ts +0 -31
  73. package/dist/core/files/virtual-files/virtualFileImportUserCode.ts +0 -34
  74. package/dist/core/files/virtual-files/virtualFilePageConfigValuesAll.ts +0 -49
  75. package/dist/core/gaurds/assertions/assert/base.ts +0 -6
  76. package/dist/core/gaurds/assertions/assert/index.ts +0 -2
  77. package/dist/core/gaurds/assertions/assert/log.ts +0 -42
  78. package/dist/core/gaurds/assertions/assertArguments.ts +0 -83
  79. package/dist/core/gaurds/assertions/assertCast.ts +0 -9
  80. package/dist/core/gaurds/assertions/assertCommonJS/base.ts +0 -9
  81. package/dist/core/gaurds/assertions/assertCommonJS/common.ts +0 -30
  82. package/dist/core/gaurds/assertions/assertCommonJS/index.ts +0 -2
  83. package/dist/core/gaurds/assertions/assertExtensions/base.ts +0 -187
  84. package/dist/core/gaurds/assertions/assertExtensions/index.ts +0 -1
  85. package/dist/core/gaurds/assertions/assertHookReturnedObject.ts +0 -30
  86. package/dist/core/gaurds/assertions/assertInfo/base.ts +0 -14
  87. package/dist/core/gaurds/assertions/assertInfo/index.ts +0 -2
  88. package/dist/core/gaurds/assertions/assertInfo/log.ts +0 -28
  89. package/dist/core/gaurds/assertions/assertIs404.ts +0 -12
  90. package/dist/core/gaurds/assertions/assertIsBrowser/base.ts +0 -8
  91. package/dist/core/gaurds/assertions/assertIsBrowser/index.ts +0 -1
  92. package/dist/core/gaurds/assertions/assertIsNotBrowser/base.ts +0 -9
  93. package/dist/core/gaurds/assertions/assertIsNotBrowser/index.ts +0 -1
  94. package/dist/core/gaurds/assertions/assertIsNotProductionRuntime/base.ts +0 -71
  95. package/dist/core/gaurds/assertions/assertIsNotProductionRuntime/index.ts +0 -1
  96. package/dist/core/gaurds/assertions/assertKeys/base.ts +0 -31
  97. package/dist/core/gaurds/assertions/assertKeys/index.ts +0 -1
  98. package/dist/core/gaurds/assertions/assertNoInfiniteHttpRedirect.ts +0 -55
  99. package/dist/core/gaurds/assertions/assertNodeEnv/base.ts +0 -120
  100. package/dist/core/gaurds/assertions/assertNodeEnv/index.ts +0 -1
  101. package/dist/core/gaurds/assertions/assertNodeVersion/base.ts +0 -11
  102. package/dist/core/gaurds/assertions/assertNodeVersion/index.ts +0 -1
  103. package/dist/core/gaurds/assertions/assertOnBeforeRenderHookReturn.ts +0 -37
  104. package/dist/core/gaurds/assertions/assertPageContextProvidedByUser.ts +0 -60
  105. package/dist/core/gaurds/assertions/assertPluginManifest.ts +0 -41
  106. package/dist/core/gaurds/assertions/assertPlusFileExport.ts +0 -66
  107. package/dist/core/gaurds/assertions/assertRoutingType/base.ts +0 -41
  108. package/dist/core/gaurds/assertions/assertRoutingType/index.ts +0 -1
  109. package/dist/core/gaurds/assertions/assertRuntimeManifest.ts +0 -34
  110. package/dist/core/gaurds/assertions/assertSingleInstance/index.ts +0 -142
  111. package/dist/core/gaurds/assertions/assertSingleInstance/onAssertModuleLoad.ts +0 -0
  112. package/dist/core/gaurds/assertions/assertSingleInstance/onClientEntryClientRouting.ts +0 -0
  113. package/dist/core/gaurds/assertions/assertSingleInstance/onClientEntryServerRouting.ts +0 -0
  114. package/dist/core/gaurds/assertions/assertType.ts +0 -12
  115. package/dist/core/gaurds/assertions/assertUsage/base.ts +0 -43
  116. package/dist/core/gaurds/assertions/assertUsage/index.ts +0 -3
  117. package/dist/core/gaurds/assertions/assertUsage/log.ts +0 -29
  118. package/dist/core/gaurds/assertions/assertUsage/node.ts +0 -16
  119. package/dist/core/gaurds/assertions/assertV1Design.ts +0 -29
  120. package/dist/core/gaurds/assertions/assertVersion/base.ts +0 -55
  121. package/dist/core/gaurds/assertions/assertVersion/index.ts +0 -1
  122. package/dist/core/gaurds/assertions/assertWarning/base.ts +0 -43
  123. package/dist/core/gaurds/assertions/assertWarning/index.ts +0 -2
  124. package/dist/core/gaurds/assertions/assertWarning/log.ts +0 -43
  125. package/dist/core/gaurds/assertions/checkType.ts +0 -2
  126. package/dist/core/gaurds/debugger/createDebugger.ts +0 -196
  127. package/dist/core/gaurds/debugger/debugPageFiles.ts +0 -121
  128. package/dist/core/gaurds/debugger/index.ts +0 -2
  129. package/dist/core/gaurds/errors/createErrorWithCleanStackTrace.ts +0 -56
  130. package/dist/core/gaurds/errors/removeErrMsg.ts +0 -8
  131. package/dist/core/gaurds/logger/addOnBeforeLogHook/index.ts +0 -7
  132. package/dist/core/gaurds/logger/formatHintLog.ts +0 -17
  133. package/dist/core/gaurds/logger/log404/index.spec.ts +0 -78
  134. package/dist/core/gaurds/logger/log404/index.ts +0 -208
  135. package/dist/core/gaurds/logger/logErrorHint/errors.ts +0 -17
  136. package/dist/core/gaurds/logger/logErrorHint/getErrorHint.spec.ts +0 -1057
  137. package/dist/core/gaurds/logger/logErrorHint.ts +0 -196
  138. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.ts +0 -16
  139. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.ts +0 -16
  140. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.ts +0 -39
  141. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.ts +0 -24
  142. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.ts +0 -83
  143. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.ts +0 -33
  144. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.ts +0 -20
  145. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.ts +0 -19
  146. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.ts +0 -36
  147. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.ts +0 -17
  148. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.ts +0 -16
  149. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/getPrettyErrMessage.spec.ts +0 -101
  150. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet/getPrettyErrorWithCodeSnippet.spec.ts +0 -232
  151. package/dist/core/gaurds/logger/loggerNotProd/errorWithCodeSnippet.ts +0 -212
  152. package/dist/core/gaurds/logger/loggerNotProd/log.ts +0 -124
  153. package/dist/core/gaurds/logger/loggerNotProd.ts +0 -271
  154. package/dist/core/gaurds/logger/loggerProd.ts +0 -37
  155. package/dist/core/gaurds/logger/loggerRuntime.ts +0 -46
  156. package/dist/core/gaurds/logger/loggerVite/removeSuperfluousViteLog.ts +0 -30
  157. package/dist/core/gaurds/logger/loggerVite.ts +0 -65
  158. package/dist/core/gaurds/logger/overwriteAssertProductionLogger/index.ts +0 -9
  159. package/dist/core/gaurds/logger/trackLogs.ts +0 -35
  160. package/dist/core/gaurds/logger/warnIfErrorIsNotObject.ts +0 -31
  161. package/dist/core/gaurds/normalization/freezePartial.ts +0 -39
  162. package/dist/core/gaurds/normalization/normalizeHeaders.ts +0 -20
  163. package/dist/core/gaurds/normalization/normalizeLink.tsx +0 -14
  164. package/dist/core/gaurds/normalization/normalizeUrlArgument.ts +0 -22
  165. package/dist/core/gaurds/validators/hasProp.ts +0 -116
  166. package/dist/core/gaurds/validators/isArray.ts +0 -4
  167. package/dist/core/gaurds/validators/isArrayOfStrings.ts +0 -7
  168. package/dist/core/gaurds/validators/isAsset.ts +0 -43
  169. package/dist/core/gaurds/validators/isBrowser.ts +0 -5
  170. package/dist/core/gaurds/validators/isBug.ts +0 -5
  171. package/dist/core/gaurds/validators/isCallable.ts +0 -11
  172. package/dist/core/gaurds/validators/isClientSideRoutable.ts +0 -19
  173. package/dist/core/gaurds/validators/isConfigInvalid.ts +0 -10
  174. package/dist/core/gaurds/validators/isDev.ts +0 -56
  175. package/dist/core/gaurds/validators/isErrorDebug.ts +0 -7
  176. package/dist/core/gaurds/validators/isErrorPage.ts +0 -16
  177. package/dist/core/gaurds/validators/isFilePathAbsoluteFilesystem.ts +0 -55
  178. package/dist/core/gaurds/validators/isHtml.ts +0 -9
  179. package/dist/core/gaurds/validators/isNewError.ts +0 -29
  180. package/dist/core/gaurds/validators/isNodeJS.ts +0 -10
  181. package/dist/core/gaurds/validators/isNotFalse.ts +0 -3
  182. package/dist/core/gaurds/validators/isNotNullish.ts +0 -2
  183. package/dist/core/gaurds/validators/isNpmPackage.ts +0 -127
  184. package/dist/core/gaurds/validators/isObject.ts +0 -3
  185. package/dist/core/gaurds/validators/isObjectOfStrings.ts +0 -9
  186. package/dist/core/gaurds/validators/isObjectWithKeys.ts +0 -18
  187. package/dist/core/gaurds/validators/isPlainObject.ts +0 -21
  188. package/dist/core/gaurds/validators/isPromise.ts +0 -9
  189. package/dist/core/gaurds/validators/isPropertyGetter.ts +0 -4
  190. package/dist/core/gaurds/validators/isReact.ts +0 -24
  191. package/dist/core/gaurds/validators/isReactElement.ts +0 -21
  192. package/dist/core/gaurds/validators/isRevealApp.ts +0 -4
  193. package/dist/core/gaurds/validators/isSameErrorMessage.ts +0 -8
  194. package/dist/core/gaurds/validators/isScriptFile.ts +0 -75
  195. package/dist/core/gaurds/validators/isServerSideError.ts +0 -1
  196. package/dist/core/gaurds/validators/isViteCliCall.ts +0 -93
  197. package/dist/core/gaurds/validators/isVitest.ts +0 -7
  198. package/dist/core/gaurds/validators/rollupIsEsm.ts +0 -14
  199. package/dist/core/gaurds/validators/viteIsSSR.ts +0 -23
  200. package/dist/core/globals/contexts/globalContext/getPageFilesExports.ts +0 -28
  201. package/dist/core/globals/contexts/globalContext/index.ts +0 -374
  202. package/dist/core/globals/contexts/globalContext/loadImportBuild.ts +0 -44
  203. package/dist/core/globals/contexts/globalContext/setup.ts +0 -4
  204. package/dist/core/globals/contexts/index.ts +0 -1
  205. package/dist/core/globals/logger/index.ts +0 -1
  206. package/dist/core/globals/logger/numberOfStackTraceLinesToRemove.ts +0 -3
  207. package/dist/core/globals/objects/index.ts +0 -1
  208. package/dist/core/globals/objects/log.ts +0 -24
  209. package/dist/core/globals/patterns/styleFileRE.ts +0 -3
  210. package/dist/core/globals/tags/addPrefixAssertType.ts +0 -11
  211. package/dist/core/globals/tags/addPrefixProjectName.ts +0 -9
  212. package/dist/core/globals/tags/projectTag.ts +0 -3
  213. package/dist/core/globals/tags/projectTagWithVersion.ts +0 -5
  214. package/dist/core/globals/versions/PROJECT_VERSION.ts +0 -2
  215. package/dist/core/globals/versions/projectInfo.ts +0 -5
  216. package/dist/core/handlers/handleErrorWithoutErrorPage.ts +0 -70
  217. package/dist/core/handlers/handlePageContext.ts +0 -15
  218. package/dist/core/handlers/handlePageContextRequestUrl.ts +0 -56
  219. package/dist/core/handlers/openFacebook.ts +0 -20
  220. package/dist/core/hocs/clientOnly.tsx +0 -130
  221. package/dist/core/hooks/callCumulativeHooks.ts +0 -22
  222. package/dist/core/hooks/executeHook.ts +0 -118
  223. package/dist/core/hooks/useConfig/configsCumulative.ts +0 -6
  224. package/dist/core/hooks/useConfig/useConfig-client.ts +0 -82
  225. package/dist/core/hooks/useConfig/useConfig-server.ts +0 -152
  226. package/dist/core/hydration/progressive.ts +0 -252
  227. package/dist/core/index.ts +0 -60
  228. package/dist/core/islands/index.tsx +0 -198
  229. package/dist/core/logging/UnifiedLoggerV2.ts +0 -555
  230. package/dist/core/logging/index.ts +0 -80
  231. package/dist/core/logging/plugins/FilePlugin.ts +0 -132
  232. package/dist/core/logging/plugins/PayloadCMSPlugin.ts +0 -71
  233. package/dist/core/logging/plugins/RemotePlugin.ts +0 -110
  234. package/dist/core/logging/plugins/index.ts +0 -11
  235. package/dist/core/naming/UnifiedNaming.ts +0 -424
  236. package/dist/core/observability/logger.ts +0 -195
  237. package/dist/core/observability/metrics.ts +0 -156
  238. package/dist/core/processing/getters/getAssertErrMsg.ts +0 -49
  239. package/dist/core/processing/getters/getAssetsDir.ts +0 -11
  240. package/dist/core/processing/getters/getBaseServer.ts +0 -16
  241. package/dist/core/processing/getters/getCacheControl.ts +0 -26
  242. package/dist/core/processing/getters/getConfigDefinedAt.ts +0 -73
  243. package/dist/core/processing/getters/getConfigReveal.ts +0 -14
  244. package/dist/core/processing/getters/getConfigValue.ts +0 -68
  245. package/dist/core/processing/getters/getConfigValueBuildTime.ts +0 -92
  246. package/dist/core/processing/getters/getConfigValueFilePathToShowToUser.ts +0 -17
  247. package/dist/core/processing/getters/getCurrentUrl.ts +0 -42
  248. package/dist/core/processing/getters/getEarlyHints.ts +0 -58
  249. package/dist/core/processing/getters/getEnv.ts +0 -33
  250. package/dist/core/processing/getters/getErrorPageId.ts +0 -23
  251. package/dist/core/processing/getters/getExportPath.spec.ts +0 -34
  252. package/dist/core/processing/getters/getExportPath.ts +0 -33
  253. package/dist/core/processing/getters/getFileExtension.ts +0 -19
  254. package/dist/core/processing/getters/getFilePath.ts +0 -269
  255. package/dist/core/processing/getters/getGlobalObject.ts +0 -53
  256. package/dist/core/processing/getters/getHeadSetting.tsx +0 -36
  257. package/dist/core/processing/getters/getHook.ts +0 -222
  258. package/dist/core/processing/getters/getHookFilePathToShowToUser.ts +0 -12
  259. package/dist/core/processing/getters/getHtmlTags.ts +0 -341
  260. package/dist/core/processing/getters/getHttpRequestAsyncStore.ts +0 -122
  261. package/dist/core/processing/getters/getHttpResponseBody.ts +0 -177
  262. package/dist/core/processing/getters/getMostSimilar.ts +0 -72
  263. package/dist/core/processing/getters/getOutDirs.ts +0 -160
  264. package/dist/core/processing/getters/getPageAssets/getManifestEntry.ts +0 -164
  265. package/dist/core/processing/getters/getPageAssets/retrieveAssetsDev.ts +0 -96
  266. package/dist/core/processing/getters/getPageAssets/retrieveAssetsProd.ts +0 -86
  267. package/dist/core/processing/getters/getPageAssets/sortPageAssetsForEarlyHintsHeader.ts +0 -40
  268. package/dist/core/processing/getters/getPageAssets.ts +0 -140
  269. package/dist/core/processing/getters/getPageConfig.ts +0 -14
  270. package/dist/core/processing/getters/getPageContext.ts +0 -64
  271. package/dist/core/processing/getters/getPageContextCurrent.ts +0 -19
  272. package/dist/core/processing/getters/getPageContextFromHooks.ts +0 -335
  273. package/dist/core/processing/getters/getPageContextProxyForUser.ts +0 -97
  274. package/dist/core/processing/getters/getPageContextRequestUrl.ts +0 -22
  275. package/dist/core/processing/getters/getPageContextSerializedInHtml.ts +0 -32
  276. package/dist/core/processing/getters/getPageContextUrlComputed.ts +0 -410
  277. package/dist/core/processing/getters/getPageElement.tsx +0 -148
  278. package/dist/core/processing/getters/getPageFiles/analyzeClientSide.ts +0 -50
  279. package/dist/core/processing/getters/getPageFiles/analyzePageServerSide.ts +0 -32
  280. package/dist/core/processing/getters/getPageFiles/getExportNames.ts +0 -16
  281. package/dist/core/processing/getters/getPageFiles/getExports.ts +0 -193
  282. package/dist/core/processing/getters/getPageFiles/index.ts +0 -9
  283. package/dist/core/processing/getters/getPageFiles/parseGlobResults.ts +0 -167
  284. package/dist/core/processing/getters/getPageFiles/setPageFiles.ts +0 -76
  285. package/dist/core/processing/getters/getPrefetchSettingResolved.ts.ts +0 -87
  286. package/dist/core/processing/getters/getProjectError.ts +0 -18
  287. package/dist/core/processing/getters/getPropAccessNotation.ts +0 -10
  288. package/dist/core/processing/getters/getRandomId.ts +0 -15
  289. package/dist/core/processing/getters/getRevalidationKey.ts +0 -5
  290. package/dist/core/processing/getters/getRevealClientEntry.ts +0 -7
  291. package/dist/core/processing/getters/getRevealConfig/configDefinitionsBuiltIn.ts +0 -711
  292. package/dist/core/processing/getters/getRevealConfig/crawlPlusFiles.ts +0 -409
  293. package/dist/core/processing/getters/getRevealConfig/filesystemRouting.spec.ts +0 -40
  294. package/dist/core/processing/getters/getRevealConfig/filesystemRouting.ts +0 -286
  295. package/dist/core/processing/getters/getRevealConfig/index.ts +0 -1641
  296. package/dist/core/processing/getters/getRevealConfig/loadFileAtConfigTime.ts +0 -181
  297. package/dist/core/processing/getters/getRevealConfig/resolvePointerImport.ts +0 -240
  298. package/dist/core/processing/getters/getRevealConfig/transformPointerImports.spec.ts +0 -30
  299. package/dist/core/processing/getters/getRevealConfig/transformPointerImports.ts +0 -244
  300. package/dist/core/processing/getters/getRevealConfig/transpileAndExecuteFile.ts +0 -490
  301. package/dist/core/processing/getters/getTagAttributesString.ts +0 -27
  302. package/dist/core/processing/getters/getTerminWidth.ts +0 -9
  303. package/dist/core/processing/getters/getValuePrintable.ts +0 -6
  304. package/dist/core/processing/getters/getViteDevScript.ts +0 -47
  305. package/dist/core/processing/iterators/analyzePage.ts +0 -65
  306. package/dist/core/processing/iterators/includes.ts +0 -10
  307. package/dist/core/processing/iterators/index.ts +0 -2
  308. package/dist/core/processing/iterators/objectKeys.ts +0 -6
  309. package/dist/core/processing/parsers/parseEsModule.ts +0 -43
  310. package/dist/core/processing/parsers/parseTransform.ts +0 -36
  311. package/dist/core/processing/serializers/notSerializable.ts +0 -2
  312. package/dist/core/processing/serializers/replaceWithParserPath.ts +0 -30
  313. package/dist/core/processing/serializers/serializePage/PageConfigSerialized.ts +0 -45
  314. package/dist/core/processing/serializers/serializePage/parsePageConfigs.ts +0 -223
  315. package/dist/core/processing/serializers/serializePage/serializeConfigValues.ts +0 -336
  316. package/dist/core/processing/serializers/serializePageContextClientSide.ts +0 -179
  317. package/dist/core/processing/serializers/stringify.ts +0 -188
  318. package/dist/core/processing/serializers/stringifyTypes.ts +0 -103
  319. package/dist/core/processing/setters/addIs404ToPageProps.ts +0 -27
  320. package/dist/core/processing/setters/setAlwaysShowStackTrace.ts +0 -7
  321. package/dist/core/processing/transformers/augmentType.ts +0 -10
  322. package/dist/core/processing/transformers/rollupSourceMap.ts +0 -23
  323. package/dist/core/processing/transformers/slice.ts +0 -52
  324. package/dist/core/renderer/page/executeOnBeforeRenderAndDataHooks.ts +0 -53
  325. package/dist/core/renderer/page/executeOnRenderHtmlHook.ts +0 -261
  326. package/dist/core/renderer/page/index.ts +0 -804
  327. package/dist/core/renderer/page/inferMediaType.ts +0 -128
  328. package/dist/core/renderer/page/loadUserFilesServerSide.ts +0 -154
  329. package/dist/core/renderer/page/preparePageContextForUserConsumption.ts +0 -55
  330. package/dist/core/renderer/page/preparePageContextForUserConsumptionServerSide.ts +0 -38
  331. package/dist/core/renderer/page/renderPageAlreadyRouted.ts +0 -373
  332. package/dist/core/renderer/page/resolveRedirects.ts +0 -75
  333. package/dist/core/renderer/prerender/index.ts +0 -1
  334. package/dist/core/renderer/prerender/runPrerender.ts +0 -1141
  335. package/dist/core/renderer/prerender/utils.ts +0 -22
  336. package/dist/core/renderer/stream/html.ts +0 -408
  337. package/dist/core/renderer/stream/index.ts +0 -1001
  338. package/dist/core/renderer/stream/onLoad.ts +0 -14
  339. package/dist/core/renderer/stream/react-streaming.ts +0 -69
  340. package/dist/core/renderer/stream/utils.ts +0 -66
  341. package/dist/core/resilience/circuit-breaker.ts +0 -212
  342. package/dist/core/resilience/retry.ts +0 -172
  343. package/dist/core/result/adapters.ts +0 -254
  344. package/dist/core/result.ts +0 -332
  345. package/dist/core/router/abort.ts +0 -339
  346. package/dist/core/router/apiRoutes.ts +0 -94
  347. package/dist/core/router/debug.ts +0 -19
  348. package/dist/core/router/deduceRouteStringFromFilesystemPath.ts +0 -75
  349. package/dist/core/router/dynamicApiRoutes.ts +0 -18
  350. package/dist/core/router/dynamicPageRoutes.ts +0 -18
  351. package/dist/core/router/executeGuardHook.ts +0 -45
  352. package/dist/core/router/executeOnBeforeRouteHook.ts +0 -161
  353. package/dist/core/router/index.ts +0 -230
  354. package/dist/core/router/loadPageRoutes.ts +0 -155
  355. package/dist/core/router/noRouteMatch.ts +0 -1
  356. package/dist/core/router/pageRoutes.ts +0 -159
  357. package/dist/core/router/resolvePrecedence.ts +0 -128
  358. package/dist/core/router/resolveRoute.ts +0 -29
  359. package/dist/core/router/resolveRouteFunction.ts +0 -193
  360. package/dist/core/router/resolveRouteString.ts +0 -204
  361. package/dist/core/router/resolveRouteUtils.ts +0 -77
  362. package/dist/core/router/resolveUrlPathname.ts +0 -67
  363. package/dist/core/router/routeInternal.ts +0 -97
  364. package/dist/core/router/utils.ts +0 -30
  365. package/dist/core/services/BaseService.ts +0 -403
  366. package/dist/core/targets/client/abort.ts +0 -11
  367. package/dist/core/targets/client/createPageContext.ts +0 -48
  368. package/dist/core/targets/client/entry.ts +0 -15
  369. package/dist/core/targets/client/executeOnRenderClientHook.ts +0 -94
  370. package/dist/core/targets/client/history.ts +0 -142
  371. package/dist/core/targets/client/index.ts +0 -9
  372. package/dist/core/targets/client/initClientRouter.ts +0 -48
  373. package/dist/core/targets/client/initOnLinkClick.ts +0 -54
  374. package/dist/core/targets/client/loadUserFilesClientSide.ts +0 -92
  375. package/dist/core/targets/client/navigate.ts +0 -45
  376. package/dist/core/targets/client/onBrowserHistoryNavigation.ts +0 -85
  377. package/dist/core/targets/client/onLoad.ts +0 -10
  378. package/dist/core/targets/client/pageContextInitIsPassedToClient.ts +0 -2
  379. package/dist/core/targets/client/pageFiles.ts +0 -4
  380. package/dist/core/targets/client/prefetch.ts +0 -399
  381. package/dist/core/targets/client/preparePageContextForUserConsumptionClientSide.ts +0 -48
  382. package/dist/core/targets/client/removeBuiltInOverrides.ts +0 -37
  383. package/dist/core/targets/client/removeFoucBuster.ts +0 -70
  384. package/dist/core/targets/client/renderPageClientSide.ts +0 -1817
  385. package/dist/core/targets/client/router.ts +0 -15
  386. package/dist/core/targets/client/scrollRestoration.ts +0 -37
  387. package/dist/core/targets/client/setScrollPosition.ts +0 -87
  388. package/dist/core/targets/client/skipLink.ts +0 -63
  389. package/dist/core/targets/client/utils.ts +0 -34
  390. package/dist/core/targets/http/createHttpResponse.ts +0 -254
  391. package/dist/core/targets/http/fetchBanner.ts +0 -25
  392. package/dist/core/targets/http/fetchCard.ts +0 -25
  393. package/dist/core/targets/http/fetchEvents.ts +0 -25
  394. package/dist/core/targets/http/fetchHero.ts +0 -25
  395. package/dist/core/targets/http/fetchMainInfos.ts +0 -25
  396. package/dist/core/targets/http/fetchPage.ts +0 -78
  397. package/dist/core/targets/http/fetchPages.ts +0 -70
  398. package/dist/core/targets/http/fetchVideos.ts +0 -26
  399. package/dist/core/targets/http/fetchYouTube.ts +0 -90
  400. package/dist/core/targets/server/entry.ts +0 -43
  401. package/dist/core/targets/server/middleware/addSsrMiddleware.ts +0 -52
  402. package/dist/core/targets/server/onLoad.ts +0 -7
  403. package/dist/core/targets/server/pageFiles.ts +0 -4
  404. package/dist/core/targets/server/root.ts +0 -10
  405. package/dist/core/targets/server/utils.ts +0 -20
  406. package/dist/core/targets/url/index.ts +0 -439
  407. package/dist/core/targets/url/modifyUrl.ts +0 -45
  408. package/dist/core/targets/url/parseUrl.ts +0 -440
  409. package/dist/core/targets/url/parseUrlExtras.ts +0 -193
  410. package/dist/core/targets/url/redirectHard.ts +0 -3
  411. package/dist/core/targets/url/updateCurrentPath.ts +0 -52
  412. package/dist/core/targets/url/urlToFile.ts +0 -47
  413. package/dist/core/types/UnifiedTypes.ts +0 -493
  414. package/dist/core/types/contracts.ts +0 -61
  415. package/dist/core/types/generator.ts +0 -316
  416. package/dist/core/utils/array/includes.ts +0 -10
  417. package/dist/core/utils/array/slice.ts +0 -52
  418. package/dist/core/utils/array/sorter.ts +0 -130
  419. package/dist/core/utils/array/stringifyStringArray.ts +0 -7
  420. package/dist/core/utils/array/unique.ts +0 -5
  421. package/dist/core/utils/async/genPromise.ts +0 -8
  422. package/dist/core/utils/async/pLimit.ts +0 -157
  423. package/dist/core/utils/async/sleep.ts +0 -3
  424. package/dist/core/utils/async/throttle.ts +0 -14
  425. package/dist/core/utils/index.ts +0 -31
  426. package/dist/core/utils/object/changeEnumerable.ts +0 -9
  427. package/dist/core/utils/object/deepEqual.ts +0 -10
  428. package/dist/core/utils/object/objectAssign.ts +0 -16
  429. package/dist/core/utils/object/objectDefineProperty.ts +0 -15
  430. package/dist/core/utils/object/objectEntries.ts +0 -7
  431. package/dist/core/utils/object/objectEntriesForEach.ts +0 -7
  432. package/dist/core/utils/object/objectFromEntries.ts +0 -6
  433. package/dist/core/utils/string/addWhitespace.ts +0 -9
  434. package/dist/core/utils/string/capitalizeFirstLetter.ts +0 -8
  435. package/dist/core/utils/string/compareString.ts +0 -7
  436. package/dist/core/utils/string/escapeHtml.ts +0 -10
  437. package/dist/core/utils/string/escapeRegex.ts +0 -4
  438. package/dist/core/utils/string/joinEnglish.ts +0 -18
  439. package/dist/core/utils/string/removeEmptyLines.ts +0 -6
  440. package/dist/core/utils/string/stripAnsi.ts +0 -24
  441. package/dist/core/utils/string/trimWithAnsi.ts +0 -40
  442. package/dist/core/utils/string/truncateString.ts +0 -19
  443. package/dist/core/utils/time/humanizeTime.ts +0 -24
  444. package/dist/integration/hydration.ts +0 -52
  445. package/dist/integration/onRenderClient.tsx +0 -377
  446. package/dist/integration/onRenderHtml.tsx +0 -761
  447. package/dist/integration/ssrEffect.ts +0 -31
  448. package/dist/plugins/baseUrls.ts +0 -54
  449. package/dist/plugins/buildConfig/index.ts +0 -701
  450. package/dist/plugins/buildConfig/injectRollupInputs.ts +0 -36
  451. package/dist/plugins/commonConfig.ts +0 -112
  452. package/dist/plugins/config/assertResolveAlias.ts +0 -99
  453. package/dist/plugins/config/assertRevealConfig.ts +0 -116
  454. package/dist/plugins/config/fixServerAssets.ts +0 -213
  455. package/dist/plugins/config/index.ts +0 -227
  456. package/dist/plugins/config/pickFirst.ts +0 -3
  457. package/dist/plugins/config/resolveBase.ts +0 -78
  458. package/dist/plugins/devConfig/determineFsAllowList.ts +0 -34
  459. package/dist/plugins/devConfig/determineOptimizeDeps.ts +0 -129
  460. package/dist/plugins/devConfig/index.ts +0 -222
  461. package/dist/plugins/distFileNames.ts +0 -341
  462. package/dist/plugins/envVars.ts +0 -150
  463. package/dist/plugins/extractAssetsPlugin.ts +0 -318
  464. package/dist/plugins/extractExportNamesPlugin.ts +0 -154
  465. package/dist/plugins/fileEnv.ts +0 -374
  466. package/dist/plugins/importBuild/getRevealManifest.ts +0 -20
  467. package/dist/plugins/importBuild/index.ts +0 -120
  468. package/dist/plugins/importUserCode/addImportStatement.ts +0 -32
  469. package/dist/plugins/importUserCode/debug.ts +0 -2
  470. package/dist/plugins/importUserCode/getConfigFileExport.ts +0 -24
  471. package/dist/plugins/importUserCode/getVirtualFilePageConfigValuesAll.ts +0 -95
  472. package/dist/plugins/importUserCode/getVirtualFilePageConfigs.ts +0 -150
  473. package/dist/plugins/importUserCode/index.ts +0 -375
  474. package/dist/plugins/importUserCode/isRuntimeEnvMatch.ts +0 -31
  475. package/dist/plugins/index.ts +0 -233
  476. package/dist/plugins/onLoad.ts +0 -12
  477. package/dist/plugins/packageJsonFile.ts +0 -62
  478. package/dist/plugins/payload/index.ts +0 -62
  479. package/dist/plugins/previewConfig.ts +0 -95
  480. package/dist/plugins/react/index.ts +0 -72
  481. package/dist/plugins/removeRequireHookPlugin.ts +0 -27
  482. package/dist/plugins/resolveClientEntriesDev.ts +0 -87
  483. package/dist/plugins/reveal/index.ts +0 -39
  484. package/dist/plugins/reveal/remove-use-client-server.ts +0 -52
  485. package/dist/plugins/setGlobalContext.ts +0 -53
  486. package/dist/plugins/suppressRollupWarning.ts +0 -94
  487. package/dist/plugins/utils.ts +0 -33
  488. package/dist/plugins/vercel/+config.ts +0 -18
  489. package/dist/plugins/vercel/functions/assert.ts +0 -13
  490. package/dist/plugins/vercel/functions/build.ts +0 -484
  491. package/dist/plugins/vercel/functions/config.ts +0 -147
  492. package/dist/plugins/vercel/functions/helpers.ts +0 -70
  493. package/dist/plugins/vercel/functions/prerender.ts +0 -140
  494. package/dist/plugins/vercel/functions/route-regex.ts +0 -37
  495. package/dist/plugins/vercel/functions/utils.ts +0 -33
  496. package/dist/plugins/vercel/functions/vike.ts +0 -754
  497. package/dist/plugins/vercel/index.ts +0 -186
  498. package/dist/plugins/vercel/plugin.ts +0 -45
  499. package/dist/plugins/vercel/schemas/config/prerender-config.ts +0 -20
  500. package/dist/plugins/vercel/schemas/config/vc-config.ts +0 -45
  501. package/dist/plugins/vercel/schemas/config/vercel.ts +0 -130
  502. package/dist/plugins/vercel/schemas/exports.ts +0 -12
  503. package/dist/plugins/vercel/templates/edge-helpers.ts +0 -72
  504. package/dist/plugins/vercel/templates/node-helpers.ts +0 -60
  505. package/dist/plugins/vercel/templates/ssr_.template.ts +0 -25
  506. package/dist/plugins/vercel/templates/ssr_edge_.template.ts +0 -20
  507. package/dist/plugins/vercel/templates/utils.ts +0 -31
  508. package/dist/plugins/workaroundCssModuleHmr.ts +0 -23
  509. package/dist/types/index.ts +0 -50
  510. package/dist/types/interfaces/app.ts +0 -700
  511. package/dist/types/interfaces/client.ts +0 -10
  512. package/dist/types/interfaces/config.ts +0 -481
  513. package/dist/types/interfaces/context.ts +0 -677
  514. package/dist/types/interfaces/error.ts +0 -6
  515. package/dist/types/interfaces/file.ts +0 -98
  516. package/dist/types/interfaces/host.ts +0 -209
  517. package/dist/types/interfaces/log.ts +0 -3
  518. package/dist/types/interfaces/logic.ts +0 -46
  519. package/dist/types/interfaces/manifest.ts +0 -15
  520. package/dist/types/interfaces/node.ts +0 -8
  521. package/dist/types/interfaces/page.ts +0 -154
  522. package/dist/types/interfaces/reveal.ts +0 -118
  523. package/dist/types/interfaces/tag.ts +0 -3
  524. package/dist/types/modules/assets.d.ts +0 -57
  525. package/dist/types/modules/env.d.ts +0 -34
  526. package/dist/types/modules/global.d.ts +0 -10
  527. package/dist/types/modules/index.d.ts +0 -1
  528. package/dist/types/modules/node.d.ts +0 -2
  529. package/dist/types/modules/payload.d.ts +0 -2
  530. package/dist/types/modules/reveal-vercel.d.ts +0 -19
  531. package/dist/types/modules/reveal.d.ts +0 -1
  532. package/dist/types/modules/stripe.d.ts +0 -41
  533. package/dist/types/modules/supabase.d.ts +0 -19
  534. package/dist/types/modules/tailwindcss.d.ts +0 -49
  535. package/dist/types/modules/vite.d.ts +0 -7
  536. package/dist/types/namespaces/Config.ts +0 -291
  537. package/dist/types/namespaces/PageContext.ts +0 -23
  538. package/dist/types/namespaces/RevealNamespace.ts +0 -51
  539. package/dist/types/namespaces/index.ts +0 -3
  540. package/dist/ui/accents/DiagonalGrid.tsx +0 -36
  541. package/dist/ui/accents/Glass.tsx +0 -33
  542. package/dist/ui/accents/Parallax.tsx +0 -78
  543. package/dist/ui/accents/Shadow.tsx +0 -28
  544. package/dist/ui/accents/index.tsx +0 -4
  545. package/dist/ui/accessibility/index.ts +0 -168
  546. package/dist/ui/ai/ChatGPTAssistant.tsx +0 -113
  547. package/dist/ui/ai/index.ts +0 -3
  548. package/dist/ui/animations/container.ts +0 -7
  549. package/dist/ui/animations/content.ts +0 -16
  550. package/dist/ui/animations/fade.ts +0 -16
  551. package/dist/ui/animations/index.ts +0 -6
  552. package/dist/ui/animations/slide.ts +0 -23
  553. package/dist/ui/animations/text.ts +0 -14
  554. package/dist/ui/animations/transition.ts +0 -1
  555. package/dist/ui/audio/AudioTrack.tsx +0 -26
  556. package/dist/ui/audio/index.tsx +0 -1
  557. package/dist/ui/backgrounds/Diagonal.tsx +0 -46
  558. package/dist/ui/backgrounds/GradientConic.tsx +0 -21
  559. package/dist/ui/backgrounds/GradientConicRev.tsx +0 -50
  560. package/dist/ui/backgrounds/GradientGlass.tsx +0 -28
  561. package/dist/ui/backgrounds/GradientRadial.tsx +0 -37
  562. package/dist/ui/backgrounds/GradientRadialLeft.tsx +0 -33
  563. package/dist/ui/backgrounds/GradientToBottom.tsx +0 -59
  564. package/dist/ui/backgrounds/GradientToTop.tsx +0 -60
  565. package/dist/ui/backgrounds/Solid.tsx +0 -50
  566. package/dist/ui/backgrounds/Straight.tsx +0 -55
  567. package/dist/ui/backgrounds/TopRight.tsx +0 -15
  568. package/dist/ui/backgrounds/Wrapper.tsx +0 -33
  569. package/dist/ui/backgrounds/index.tsx +0 -12
  570. package/dist/ui/buttons/Button.tsx +0 -54
  571. package/dist/ui/buttons/DisclosureButton.tsx +0 -35
  572. package/dist/ui/buttons/GradientButton.tsx +0 -51
  573. package/dist/ui/buttons/IconButton.tsx +0 -24
  574. package/dist/ui/buttons/LikeButton.tsx +0 -221
  575. package/dist/ui/buttons/MobileMenuButton.tsx +0 -63
  576. package/dist/ui/buttons/MusicButton.tsx +0 -53
  577. package/dist/ui/buttons/SignUpButton.tsx +0 -18
  578. package/dist/ui/buttons/index.tsx +0 -8
  579. package/dist/ui/cards/Card.tsx +0 -255
  580. package/dist/ui/cards/ProductCard.tsx +0 -291
  581. package/dist/ui/cards/VideoCard.tsx +0 -201
  582. package/dist/ui/cards/index.tsx +0 -3
  583. package/dist/ui/contexts/DisclosureContext.tsx +0 -44
  584. package/dist/ui/contexts/GlobalContext.tsx +0 -67
  585. package/dist/ui/contexts/MenuContext.tsx +0 -8
  586. package/dist/ui/contexts/PageContext.tsx +0 -28
  587. package/dist/ui/contexts/ThemeContext.tsx +0 -195
  588. package/dist/ui/controls/MusicHeader.tsx +0 -484
  589. package/dist/ui/controls/MusicPlayer.tsx +0 -76
  590. package/dist/ui/controls/MusicSidebar.tsx +0 -118
  591. package/dist/ui/controls/MusicSlider.tsx +0 -25
  592. package/dist/ui/controls/MusicUpload.tsx +0 -296
  593. package/dist/ui/controls/PlayPause.tsx +0 -64
  594. package/dist/ui/controls/PlayerContent.tsx +0 -205
  595. package/dist/ui/controls/SearchContent.tsx +0 -58
  596. package/dist/ui/controls/SearchInput.tsx +0 -118
  597. package/dist/ui/controls/Searchbar.tsx +0 -53
  598. package/dist/ui/controls/SidebarItem.tsx +0 -57
  599. package/dist/ui/controls/SongItem.tsx +0 -45
  600. package/dist/ui/controls/VideoPlayer.tsx +0 -36
  601. package/dist/ui/controls/index.tsx +0 -13
  602. package/dist/ui/dividers/Horizontal.tsx +0 -18
  603. package/dist/ui/dividers/Transparent.tsx +0 -7
  604. package/dist/ui/dividers/index.tsx +0 -2
  605. package/dist/ui/error/ErrorBoundary.tsx +0 -150
  606. package/dist/ui/error/index.tsx +0 -1
  607. package/dist/ui/forms/Input.tsx +0 -38
  608. package/dist/ui/forms/MediaItem.tsx +0 -105
  609. package/dist/ui/forms/index.tsx +0 -2
  610. package/dist/ui/game/Enemy.tsx +0 -52
  611. package/dist/ui/game/Fighters.tsx +0 -38
  612. package/dist/ui/game/GameControls.tsx +0 -37
  613. package/dist/ui/game/HealthBar.tsx +0 -18
  614. package/dist/ui/game/Player.tsx +0 -70
  615. package/dist/ui/game/index.tsx +0 -5
  616. package/dist/ui/hooks/useApiData.ts +0 -57
  617. package/dist/ui/hooks/useAuthModal.ts +0 -18
  618. package/dist/ui/hooks/useCart.ts +0 -21
  619. package/dist/ui/hooks/useChatGPT.ts +0 -94
  620. package/dist/ui/hooks/useCustomProps.ts +0 -31
  621. package/dist/ui/hooks/useData.ts +0 -10
  622. package/dist/ui/hooks/useDebounce.ts +0 -52
  623. package/dist/ui/hooks/useDisclosure.ts +0 -8
  624. package/dist/ui/hooks/useGame.ts +0 -1147
  625. package/dist/ui/hooks/useLayoutClasses.ts +0 -70
  626. package/dist/ui/hooks/useLazyLoad.ts +0 -78
  627. package/dist/ui/hooks/useLikeSong.ts +0 -22
  628. package/dist/ui/hooks/useLivePreview.ts +0 -60
  629. package/dist/ui/hooks/useMenu.ts +0 -6
  630. package/dist/ui/hooks/useOnPlay.ts +0 -23
  631. package/dist/ui/hooks/usePageContext.ts +0 -174
  632. package/dist/ui/hooks/useParallax.ts +0 -161
  633. package/dist/ui/hooks/usePreviewModal.ts +0 -25
  634. package/dist/ui/hooks/useScreenSize.ts +0 -56
  635. package/dist/ui/hooks/useTheme.ts +0 -6
  636. package/dist/ui/images/Carousel.tsx +0 -326
  637. package/dist/ui/images/Circle.tsx +0 -9
  638. package/dist/ui/images/Defs.tsx +0 -7
  639. package/dist/ui/images/Image.tsx +0 -127
  640. package/dist/ui/images/ImageGrid.tsx +0 -73
  641. package/dist/ui/images/Logo.tsx +0 -22
  642. package/dist/ui/images/Path.tsx +0 -27
  643. package/dist/ui/images/Pattern.tsx +0 -70
  644. package/dist/ui/images/PromoBanner.tsx +0 -25
  645. package/dist/ui/images/Rect.tsx +0 -10
  646. package/dist/ui/images/SVG.tsx +0 -58
  647. package/dist/ui/images/Stop.tsx +0 -15
  648. package/dist/ui/images/index.tsx +0 -12
  649. package/dist/ui/layouts/classNames.ts +0 -8
  650. package/dist/ui/layouts/container.ts +0 -20
  651. package/dist/ui/layouts/flex.ts +0 -13
  652. package/dist/ui/layouts/grid.ts +0 -11
  653. package/dist/ui/layouts/main.ts +0 -31
  654. package/dist/ui/layouts/responsive.ts +0 -28
  655. package/dist/ui/layouts/stack.ts +0 -24
  656. package/dist/ui/lists/DescriptionList.tsx +0 -41
  657. package/dist/ui/lists/DisclosurePanel.tsx +0 -20
  658. package/dist/ui/lists/JobOpeningsList.tsx +0 -54
  659. package/dist/ui/lists/List.tsx +0 -18
  660. package/dist/ui/lists/ListElements.tsx +0 -43
  661. package/dist/ui/lists/ListItem.tsx +0 -63
  662. package/dist/ui/lists/ProductList.tsx +0 -37
  663. package/dist/ui/lists/StatsList.tsx +0 -64
  664. package/dist/ui/lists/UList.tsx +0 -54
  665. package/dist/ui/lists/index.ts +0 -9
  666. package/dist/ui/navigation/DesktopMenu.tsx +0 -14
  667. package/dist/ui/navigation/Footer.tsx +0 -128
  668. package/dist/ui/navigation/Link.tsx +0 -225
  669. package/dist/ui/navigation/MobileMenu.tsx +0 -26
  670. package/dist/ui/navigation/NavigationLinks.tsx +0 -244
  671. package/dist/ui/navigation/NotFound.tsx +0 -12
  672. package/dist/ui/navigation/Route.tsx +0 -120
  673. package/dist/ui/navigation/Transition.tsx +0 -40
  674. package/dist/ui/navigation/index.tsx +0 -8
  675. package/dist/ui/notifications/Banner.tsx +0 -69
  676. package/dist/ui/notifications/Error.tsx +0 -12
  677. package/dist/ui/notifications/Loader.tsx +0 -14
  678. package/dist/ui/notifications/NoResults.tsx +0 -11
  679. package/dist/ui/notifications/index.tsx +0 -4
  680. package/dist/ui/providers/AppProvider.tsx +0 -115
  681. package/dist/ui/providers/DisclosureProvider.tsx +0 -21
  682. package/dist/ui/providers/MenuProvider.tsx +0 -40
  683. package/dist/ui/providers/PageContextProvider.tsx +0 -176
  684. package/dist/ui/providers/ThemeProvider.tsx +0 -196
  685. package/dist/ui/shells/App.tsx +0 -57
  686. package/dist/ui/shells/Container.tsx +0 -74
  687. package/dist/ui/shells/Disclosure.tsx +0 -72
  688. package/dist/ui/shells/Field.tsx +0 -21
  689. package/dist/ui/shells/Flex.tsx +0 -193
  690. package/dist/ui/shells/Grid.tsx +0 -118
  691. package/dist/ui/shells/Header.tsx +0 -123
  692. package/dist/ui/shells/Main.tsx +0 -96
  693. package/dist/ui/shells/Nav.tsx +0 -138
  694. package/dist/ui/shells/Section.tsx +0 -94
  695. package/dist/ui/shells/Skeleton.tsx +0 -24
  696. package/dist/ui/shells/index.ts +0 -11
  697. package/dist/ui/text/Article.tsx +0 -141
  698. package/dist/ui/text/Currency.tsx +0 -29
  699. package/dist/ui/text/Heading.tsx +0 -29
  700. package/dist/ui/text/Label.tsx +0 -24
  701. package/dist/ui/text/Motto.tsx +0 -40
  702. package/dist/ui/text/Paragraph.tsx +0 -20
  703. package/dist/ui/text/Span.tsx +0 -20
  704. package/dist/ui/text/TagLine.tsx +0 -20
  705. package/dist/ui/text/Time.tsx +0 -36
  706. package/dist/ui/text/WelcomeHeading.tsx +0 -40
  707. package/dist/ui/text/index.ts +0 -10
  708. package/dist/ui/video/VideoComponent.tsx +0 -23
  709. package/dist/ui/video/VideoDetail.tsx +0 -33
  710. package/dist/ui/video/VideoItem.tsx +0 -51
  711. package/dist/ui/video/VideoList.tsx +0 -155
  712. 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
- // }