@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,1141 +0,0 @@
1
- export {
2
- runPrerender_forceExit,
3
- runPrerenderFromAPI,
4
- runPrerenderFromAutoFullBuild,
5
- runPrerenderFromCLI,
6
- };
7
- export type { PrerenderOptions };
8
-
9
- import pc from "@brillout/picocolors";
10
- import { cpus } from "os";
11
- import path from "path";
12
- import type { InlineConfig } from "vite";
13
- import { resolveConfig } from "vite";
14
- import type { PageConfigBuildTime } from "../../../types/interfaces/page.js";
15
- import { loadConfigValues } from "../../config/loadConfigValues.js";
16
- import { logErrorHint } from "../../gaurds/logger/logErrorHint.js";
17
- import { isErrorPage } from "../../gaurds/validators/isErrorPage.js";
18
- import {
19
- getGlobalContext,
20
- initGlobalContext_runPrerender,
21
- setGlobalContext_isPrerendering,
22
- } from "../../globals/contexts/globalContext/index.js";
23
- import "../../globals/contexts/globalContext/setup.js";
24
- import { executeHook, isUserHookError } from "../../hooks/executeHook.js";
25
- import { getConfigReveal } from "../../processing/getters/getConfigReveal.js";
26
- import { getConfigValueRuntime } from "../../processing/getters/getConfigValue.js";
27
- import { getConfigValueBuildTime } from "../../processing/getters/getConfigValueBuildTime.js";
28
- import { getConfigValueFilePathToShowToUser } from "../../processing/getters/getConfigValueFilePathToShowToUser.js";
29
- import type { HookTimeout } from "../../processing/getters/getHook.js";
30
- import {
31
- getHook_setIsPrerenderering,
32
- getHookFromPageConfig,
33
- getHookFromPageConfigGlobal,
34
- } from "../../processing/getters/getHook.js";
35
- import { getPageContextRequestUrl } from "../../processing/getters/getPageContextRequestUrl.js";
36
- import {
37
- getPageContextUrlComputed,
38
- PageContextUrlInternal,
39
- PageContextUrlSource,
40
- } from "../../processing/getters/getPageContextUrlComputed.js";
41
- import { getRevealConfig } from "../../processing/getters/getRevealConfig/index.js";
42
- import { isAbortError } from "../../router/abort.js";
43
- import { route } from "../../router/index.js";
44
- import { noRouteMatch } from "../../router/noRouteMatch.js";
45
- import { getUrlFromRouteString } from "../../router/resolveRouteString.js";
46
- import { loadUserFilesServerSide } from "../page/loadUserFilesServerSide.js";
47
- import {
48
- getPageContextInitEnhanced,
49
- getRenderContext,
50
- PageContextInitEnhanced,
51
- prerender404Page,
52
- prerenderPage,
53
- type RenderContext,
54
- } from "../page/renderPageAlreadyRouted.js";
55
- import {
56
- assert,
57
- assertPosixPath,
58
- assertUsage,
59
- assertWarning,
60
- changeEnumerable,
61
- getOutDirs,
62
- handleNodeEnv_prerender,
63
- hasProp,
64
- isArray,
65
- isCallable,
66
- isObjectWithKeys,
67
- isPlainObject,
68
- isPropertyGetter,
69
- objectAssign,
70
- pLimit,
71
- PLimit,
72
- projectInfo,
73
- urlToFile,
74
- } from "./utils.js";
75
-
76
- type HtmlFile = {
77
- urlOriginal: string;
78
- pageContext: PageContextPrerendered;
79
- htmlString: string;
80
- pageContextSerialized: string | null;
81
- doNotCreateExtraDirectory: boolean;
82
- pageId: string | null;
83
- };
84
-
85
- type DoNotPrerenderList = ({ pageId: string; setByConfigFile: string } & (
86
- // | {
87
- // // TODO/v1-release: remove 0.4 case
88
- // setByConfigName: "doNotPrerender";
89
- // setByConfigValue: true;
90
- // }
91
- | {
92
- setByConfigName: "prerender";
93
- setByConfigValue: false;
94
- }
95
- ))[];
96
- type ProvidedByHook = null | {
97
- hookFilePath: string;
98
- hookName: "onBeforePrerenderStart" | "prerender";
99
- };
100
- type TransformerHook = {
101
- hookFilePath: string;
102
- hookName: "onPrerenderStart" | "onBeforePrerender";
103
- };
104
- type PageContextPrerendered = {
105
- urlOriginal: string;
106
- _providedByHook?: ProvidedByHook;
107
- };
108
- type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
109
-
110
- type PrerenderContext = {
111
- pageContexts: PageContext[];
112
- pageContextInit: Record<string, unknown> | null;
113
- _noExtraDir: boolean;
114
- };
115
-
116
- type PageContext = PageContextInitEnhanced & {
117
- _urlRewrite: null;
118
- _urlHandler: null;
119
- _urlOriginalBeforeHook?: string;
120
- _urlOriginalModifiedByHook?: TransformerHook;
121
- _providedByHook: ProvidedByHook;
122
- _pageContextAlreadyProvidedByOnPrerenderHook?: true;
123
- } & PageContextUrlInternal;
124
-
125
- type PrerenderOptions = {
126
- partial?: boolean;
127
- noExtraDir?: boolean;
128
- base?: string;
129
- parallel?: number;
130
- outDir?: string;
131
- configFile?: string;
132
- root?: string;
133
- pageContextInit?: Record<string, unknown>;
134
- /**
135
- * The Vite config.
136
- *
137
- * This is optional and, if omitted, then Vite will automatically load your `vite.config.js`.
138
- *
139
- * We recommend to either omit this option or set it to `prerender({ viteConfig: { root }})`: the `vite.config.js` file living at `root` will be loaded.
140
- *
141
- * Alternatively you can:
142
- * - Set `prerender({ viteConfig: { configFile: './path/to/vite.config.js' }})`.
143
- * - Not load any `vite.config.js` file and, instead, use `prerender({ viteConfig: { configFile: false, ...myViteConfig }})` to programmatically define the entire Vite config.
144
- *
145
- * You can also load a `vite.config.js` file while overriding parts of the Vite config.
146
- *
147
- * See https://vitejs.dev/guide/api-javascript.html#inlineconfig for more information.
148
- *
149
- * @default ` {root: process.cwd()} `
150
- *
151
- */
152
- viteConfig?: InlineConfig;
153
- /**
154
- * @internal
155
- * Don't use without having talked to a reveal maintainer.
156
- */
157
- onPagePrerender?: Function;
158
- };
159
-
160
- async function runPrerenderFromAPI(
161
- options: PrerenderOptions = {},
162
- ): Promise<void> {
163
- await runPrerender(options, "prerender()");
164
- // - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
165
- // - We don't use logErrorHint() because we don't have control over what happens with the error. For example, if the user land purposely swallows the error then the hint shouldn't be logged. Also, it's best if the hint is shown to the user *after* the error, but we cannot do/guarentee that.
166
- }
167
- async function runPrerenderFromCLI(options: PrerenderOptions): Promise<void> {
168
- try {
169
- await runPrerender(options, "$ reveal prerender");
170
- } catch (err) {
171
- console.error(err);
172
- logErrorHint(err);
173
- process.exit(1);
174
- }
175
- }
176
- async function runPrerenderFromAutoFullBuild(
177
- options: PrerenderOptions,
178
- ): Promise<void> {
179
- try {
180
- await runPrerender(options, null);
181
- } catch (err) {
182
- console.error(err);
183
- logErrorHint(err);
184
- process.exit(1);
185
- }
186
- }
187
- async function runPrerender(
188
- options: PrerenderOptions,
189
- manuallyTriggered: null | "$ reveal prerender" | "prerender()",
190
- ): Promise<void> {
191
- setGlobalContext_isPrerendering();
192
- getHook_setIsPrerenderering();
193
-
194
- const logLevel = !!options.onPagePrerender ? "warn" : "info";
195
- if (logLevel === "info") {
196
- console.log(
197
- `${pc.cyan(`reveal v${projectInfo.projectVersion}`)} ${pc.green("pre-rendering HTML...")}`,
198
- );
199
- }
200
-
201
- handleNodeEnv_prerender();
202
-
203
- await disableReactStreaming();
204
-
205
- const viteConfig = await resolveConfig(
206
- options.viteConfig || {},
207
- "reveal pre-rendering" as any,
208
- "production",
209
- );
210
- assertLoadedConfig(viteConfig, options);
211
- const configReveal = await getConfigReveal(viteConfig);
212
-
213
- const { outDirClient } = getOutDirs(viteConfig);
214
- const { root } = viteConfig;
215
- const prerenderConfig = configReveal.prerender;
216
- if (!prerenderConfig) {
217
- assert(manuallyTriggered);
218
- assertWarning(
219
- prerenderConfig,
220
- `You're executing ${pc.cyan(manuallyTriggered)} but the config ${pc.cyan("prerender")} isn't set to true`,
221
- {
222
- onlyOnce: true,
223
- },
224
- );
225
- }
226
- const {
227
- partial = false,
228
- noExtraDir = false,
229
- parallel = true,
230
- } = prerenderConfig || {};
231
-
232
- const concurrencyLimit = pLimit(
233
- parallel === false || parallel === 0
234
- ? 1
235
- : parallel === true || parallel === undefined
236
- ? cpus().length
237
- : parallel,
238
- );
239
-
240
- await initGlobalContext_runPrerender();
241
- const renderContext = await getRenderContext();
242
- renderContext.pageFilesAll.forEach(assertExportNames);
243
-
244
- const prerenderContext = {};
245
- objectAssign(prerenderContext, {
246
- _urlHandler: null,
247
- _noExtraDir: noExtraDir ?? false,
248
- pageContexts: [] as PageContext[],
249
- pageContextInit: options.pageContextInit ?? null,
250
- });
251
-
252
- const doNotPrerenderList: DoNotPrerenderList = [];
253
- const revealConfig = await getRevealConfig(viteConfig, false);
254
- await collectDoNoPrerenderList(
255
- renderContext,
256
- revealConfig.pageConfigs,
257
- doNotPrerenderList,
258
- concurrencyLimit,
259
- );
260
-
261
- await callOnBeforePrerenderStartHooks(
262
- prerenderContext,
263
- renderContext,
264
- concurrencyLimit,
265
- doNotPrerenderList,
266
- );
267
-
268
- await handlePagesWithStaticRoutes(
269
- prerenderContext,
270
- renderContext,
271
- doNotPrerenderList,
272
- concurrencyLimit,
273
- );
274
-
275
- await callOnPrerenderStartHook(prerenderContext, renderContext);
276
-
277
- const prerenderedPageContexts: PrerenderedPageContexts = {};
278
- let prerenderedCount = 0;
279
- const onComplete = async (htmlFile: HtmlFile) => {
280
- prerenderedCount++;
281
- if (htmlFile.pageId) {
282
- prerenderedPageContexts[htmlFile.pageId] = htmlFile.pageContext;
283
- }
284
- await writeFiles(
285
- htmlFile,
286
- root,
287
- outDirClient,
288
- options.onPagePrerender,
289
- logLevel,
290
- );
291
- };
292
-
293
- await routeAndPrerender(prerenderContext, concurrencyLimit, onComplete);
294
-
295
- warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerenderList);
296
-
297
- await prerender404(
298
- prerenderedPageContexts,
299
- renderContext,
300
- prerenderContext,
301
- onComplete,
302
- );
303
-
304
- if (logLevel === "info") {
305
- console.log(
306
- `${pc.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`,
307
- );
308
- }
309
-
310
- warnMissingPages(
311
- prerenderedPageContexts,
312
- doNotPrerenderList,
313
- renderContext,
314
- partial,
315
- );
316
- }
317
-
318
- async function collectDoNoPrerenderList(
319
- renderContext: RenderContext,
320
- pageConfigs: PageConfigBuildTime[],
321
- doNotPrerenderList: DoNotPrerenderList,
322
- concurrencyLimit: PLimit,
323
- ) {
324
- // V1 design
325
- pageConfigs.forEach((pageConfig) => {
326
- const configName = "prerender";
327
- const configValue = getConfigValueBuildTime(
328
- pageConfig,
329
- configName,
330
- "boolean",
331
- );
332
- if (configValue?.value === false) {
333
- const configValueFilePathToShowToUser =
334
- getConfigValueFilePathToShowToUser(configValue.definedAtData);
335
- assert(configValueFilePathToShowToUser);
336
- doNotPrerenderList.push({
337
- pageId: pageConfig.pageId,
338
- setByConfigName: "prerender",
339
- setByConfigValue: false,
340
- setByConfigFile: configValueFilePathToShowToUser,
341
- });
342
- }
343
- });
344
-
345
- // renderContext.allPageIds.forEach((pageId) => {
346
- // const pageFilesServerSide = getPageFilesServerSide(
347
- // renderContext.pageFilesAll,
348
- // pageId
349
- // )
350
- // for (const p of pageFilesServerSide) {
351
- // if (!p.exportNames?.includes("doNotPrerender")) continue
352
- // const { fileExports } = p
353
- // assert(fileExports)
354
- // assert(hasProp(fileExports, "doNotPrerender"))
355
- // const { doNotPrerender } = fileExports
356
- // assertUsage(
357
- // doNotPrerender === true || doNotPrerender === false,
358
- // `The \`export { doNotPrerender }\` value of ${p.filePath} should be \`true\` or \`false\``
359
- // )
360
- // if (!doNotPrerender) {
361
- // // Do pre-render `pageId`
362
- // return
363
- // } else {
364
- // // Don't pre-render `pageId`
365
- // doNotPrerenderList.push({
366
- // pageId,
367
- // setByConfigFile: p.filePath,
368
- // setByConfigName: "doNotPrerender",
369
- // setByConfigValue: doNotPrerender,
370
- // })
371
- // }
372
- // }
373
- }
374
-
375
- function assertExportNames(pageFile: PageFile) {
376
- const { exportNames } = pageFile;
377
- assert(exportNames && isArray(exportNames), pageFile.filePath);
378
- }
379
-
380
- async function callOnBeforePrerenderStartHooks(
381
- prerenderContext: PrerenderContext,
382
- renderContext: RenderContext,
383
- concurrencyLimit: PLimit,
384
- doNotPrerenderList: DoNotPrerenderList,
385
- ) {
386
- const onBeforePrerenderStartHooks: {
387
- hookFn: Function;
388
- hookName: "onBeforePrerenderStart";
389
- hookFilePath: string;
390
- pageId: string;
391
- hookTimeout: HookTimeout;
392
- }[] = [];
393
-
394
- // V1 design
395
- await Promise.allSettled(
396
- renderContext.pageConfigs.map((pageConfig) =>
397
- concurrencyLimit(async () => {
398
- const hookName = "onBeforePrerenderStart";
399
- const pageConfigLoaded = await loadConfigValues(pageConfig, false);
400
- const hook = getHookFromPageConfig(pageConfigLoaded, hookName);
401
- if (!hook) return;
402
- const { hookFn, hookFilePath, hookTimeout } = hook;
403
- onBeforePrerenderStartHooks.push({
404
- hookFn,
405
- hookName: "onBeforePrerenderStart",
406
- hookFilePath,
407
- pageId: pageConfig.pageId,
408
- hookTimeout,
409
- });
410
- }),
411
- ),
412
- );
413
-
414
- await Promise.allSettled(
415
- onBeforePrerenderStartHooks.map(
416
- ({ hookFn, hookName, hookFilePath, pageId, hookTimeout }) =>
417
- concurrencyLimit(async () => {
418
- if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
419
- return;
420
- }
421
-
422
- const prerenderResult: unknown = await executeHook(
423
- () => hookFn(),
424
- { hookName, hookFilePath, hookTimeout },
425
- null,
426
- );
427
- const result = normalizeOnPrerenderHookResult(
428
- prerenderResult,
429
- hookFilePath,
430
- hookName,
431
- );
432
- result.forEach(({ url, pageContext }) => {
433
- {
434
- const pageContextFound: PageContext | undefined =
435
- prerenderContext.pageContexts.find((pageContext) =>
436
- isSameUrl(pageContext.urlOriginal, url),
437
- );
438
- if (pageContextFound) {
439
- assert(pageContextFound._providedByHook);
440
- const providedTwice =
441
- hookFilePath === pageContextFound._providedByHook.hookFilePath
442
- ? (`twice by the ${hookName}() hook (${hookFilePath})` as const)
443
- : (`twice: by the ${hookName}() hook (${hookFilePath}) as well as by the hook ${pageContextFound._providedByHook.hookFilePath}() (${pageContextFound._providedByHook.hookName})` as const);
444
- assertUsage(
445
- false,
446
- `URL ${pc.cyan(url)} provided ${providedTwice}. Make sure to provide the URL only once instead.`,
447
- );
448
- }
449
- }
450
- const pageContextNew = createPageContext(
451
- url,
452
- renderContext,
453
- prerenderContext,
454
- );
455
- objectAssign(pageContextNew, {
456
- _providedByHook: {
457
- hookFilePath,
458
- hookName,
459
- },
460
- });
461
- prerenderContext.pageContexts.push(pageContextNew);
462
- if (pageContext) {
463
- objectAssign(pageContextNew, {
464
- _pageContextAlreadyProvidedByOnPrerenderHook: true,
465
- });
466
- objectAssign(pageContextNew, pageContext);
467
- }
468
- });
469
- }),
470
- ),
471
- );
472
- }
473
-
474
- async function handlePagesWithStaticRoutes(
475
- prerenderContext: PrerenderContext,
476
- renderContext: RenderContext,
477
- doNotPrerenderList: DoNotPrerenderList,
478
- concurrencyLimit: PLimit,
479
- ) {
480
- // Pre-render pages with a static route
481
- await Promise.allSettled(
482
- renderContext.pageRoutes.map((pageRoute) =>
483
- concurrencyLimit(async () => {
484
- const { pageId } = pageRoute;
485
-
486
- if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
487
- return;
488
- }
489
-
490
- let urlOriginal: string;
491
- if (!("routeString" in pageRoute)) {
492
- // Abort since the page's route is a Route Function
493
- assert(pageRoute.routeType === "FUNCTION");
494
- return;
495
- } else {
496
- const url = getUrlFromRouteString(pageRoute.routeString);
497
- if (!url) {
498
- // Abort since no URL can be deduced from a parameterized Route String
499
- return;
500
- }
501
- urlOriginal = url;
502
- }
503
- assert(urlOriginal.startsWith("/"));
504
-
505
- // Already included in a onBeforePrerenderStart() hook
506
- if (
507
- prerenderContext.pageContexts.find((pageContext) =>
508
- isSameUrl(pageContext.urlOriginal, urlOriginal),
509
- )
510
- ) {
511
- return;
512
- }
513
-
514
- const routeParams = {};
515
- const pageContext = createPageContext(
516
- urlOriginal,
517
- renderContext,
518
- prerenderContext,
519
- );
520
- objectAssign(pageContext, {
521
- _providedByHook: null,
522
- routeParams,
523
- pageId: pageId,
524
- _debugRouteMatches: [
525
- {
526
- pageId,
527
- routeType: pageRoute.routeType,
528
- routeString: urlOriginal,
529
- routeParams,
530
- },
531
- ],
532
- });
533
- objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
534
-
535
- prerenderContext.pageContexts.push(pageContext);
536
- }),
537
- ),
538
- );
539
- }
540
-
541
- function createPageContext(
542
- urlOriginal: string,
543
- renderContext: RenderContext,
544
- prerenderContext: PrerenderContext,
545
- ) {
546
- const pageContext = {
547
- _urlHandler: null,
548
- _urlRewrite: null,
549
- _noExtraDir: prerenderContext._noExtraDir,
550
- _prerenderContext: prerenderContext,
551
- };
552
- const pageContextInit = {
553
- urlOriginal,
554
- };
555
- objectAssign(pageContextInit, prerenderContext.pageContextInit);
556
- {
557
- const pageContextInitEnhanced = getPageContextInitEnhanced(
558
- pageContextInit,
559
- renderContext,
560
- );
561
- objectAssign(pageContext, pageContextInitEnhanced);
562
- }
563
- return pageContext;
564
- }
565
-
566
- async function callOnPrerenderStartHook(
567
- prerenderContext: {
568
- pageContexts: PageContext[];
569
- },
570
- renderContext: RenderContext,
571
- ) {
572
- let onPrerenderStartHook:
573
- | undefined
574
- | {
575
- hookFn: unknown;
576
- hookFilePath: string;
577
- hookName: "onPrerenderStart";
578
- hookTimeout: HookTimeout;
579
- };
580
-
581
- if (renderContext.pageConfigs.length > 0) {
582
- const hookName = "onPrerenderStart";
583
- const hook = getHookFromPageConfigGlobal(
584
- renderContext.pageConfigGlobal,
585
- hookName,
586
- );
587
- if (hook) {
588
- assert(hook.hookName === "onPrerenderStart");
589
- onPrerenderStartHook = {
590
- ...hook,
591
- hookName,
592
- };
593
- }
594
- }
595
-
596
- if (!onPrerenderStartHook) {
597
- return;
598
- }
599
-
600
- const msgPrefix =
601
- `The ${onPrerenderStartHook.hookName}() hook defined by ${onPrerenderStartHook.hookFilePath}` as const;
602
-
603
- const { hookFn, hookFilePath, hookName } = onPrerenderStartHook;
604
- assertUsage(isCallable(hookFn), `${msgPrefix} should be a function.`);
605
-
606
- prerenderContext.pageContexts.forEach((pageContext) => {
607
- Object.defineProperty(pageContext, "url", {
608
- get() {
609
- return pageContext.urlOriginal;
610
- },
611
- enumerable: false,
612
- configurable: true,
613
- });
614
- assert(isPropertyGetter(pageContext, "url"));
615
- assert(pageContext.urlOriginal);
616
- pageContext._urlOriginalBeforeHook = pageContext.urlOriginal;
617
- });
618
-
619
- // Set `enumerable` to `false` to avoid computed URL properties from being iterated & copied in onPrerenderStart() hook, e.g. /examples/i18n/
620
- const { restoreEnumerable, addPageContextComputedUrl } =
621
- makePageContextComputedUrlNonEnumerable(prerenderContext.pageContexts);
622
-
623
- let result: unknown = await executeHook(
624
- () =>
625
- hookFn({
626
- pageContexts: prerenderContext.pageContexts,
627
-
628
- get prerenderPageContexts() {
629
- return prerenderContext.pageContexts;
630
- },
631
- }),
632
- onPrerenderStartHook,
633
- null,
634
- );
635
-
636
- restoreEnumerable();
637
-
638
- if (result === null || result === undefined) {
639
- return;
640
- }
641
-
642
- const errPrefix = `The ${hookName}() hook exported by ${hookFilePath}`;
643
- const rightUsage = `${errPrefix} should return ${pc.cyan("null")}, ${pc.cyan("undefined")}, or ${pc.cyan(
644
- "{ prerenderContext: { pageContexts } }",
645
- )}`;
646
-
647
- assertUsage(
648
- isObjectWithKeys(result, ["prerenderContext"] as const) &&
649
- hasProp(result, "prerenderContext", "object") &&
650
- hasProp(result.prerenderContext, "pageContexts", "array"),
651
- rightUsage,
652
- );
653
- prerenderContext.pageContexts = result.prerenderContext
654
- .pageContexts as PageContext[];
655
-
656
- prerenderContext.pageContexts.forEach(
657
- (pageContext: { urlOriginal?: string; url?: string }) => {
658
- delete pageContext.url;
659
- },
660
- );
661
-
662
- prerenderContext.pageContexts.forEach((pageContext: PageContext) => {
663
- if (pageContext.urlOriginal !== pageContext._urlOriginalBeforeHook) {
664
- pageContext._urlOriginalModifiedByHook = {
665
- hookFilePath,
666
- hookName,
667
- };
668
- }
669
- });
670
-
671
- addPageContextComputedUrl(prerenderContext.pageContexts);
672
- }
673
-
674
- async function routeAndPrerender(
675
- prerenderContext: PrerenderContext,
676
- concurrencyLimit: PLimit,
677
- onComplete: (htmlFile: HtmlFile) => Promise<void>,
678
- ) {
679
- const globalContext = getGlobalContext();
680
- assert(globalContext.isPrerendering);
681
-
682
- // Route all URLs
683
- await Promise.allSettled(
684
- prerenderContext.pageContexts.map((pageContext) =>
685
- concurrencyLimit(async () => {
686
- const { urlOriginal } = pageContext;
687
- assert(urlOriginal);
688
- const pageContextFromRoute = await route(pageContext);
689
- assert(
690
- hasProp(pageContextFromRoute, "pageId", "null") ||
691
- hasProp(pageContextFromRoute, "pageId", "string"),
692
- );
693
- if (pageContextFromRoute.pageId === null) {
694
- let hookName: string | undefined;
695
- let hookFilePath: string | undefined;
696
- if (pageContext._providedByHook) {
697
- hookName = pageContext._providedByHook.hookName;
698
- hookFilePath = pageContext._providedByHook.hookFilePath;
699
- } else if (pageContext._urlOriginalModifiedByHook) {
700
- hookName = pageContext._urlOriginalModifiedByHook.hookName;
701
- hookFilePath = pageContext._urlOriginalModifiedByHook.hookFilePath;
702
- }
703
- if (hookName) {
704
- assert(hookFilePath);
705
- assertUsage(
706
- false,
707
- `The ${hookName}() hook defined by ${hookFilePath} returns a URL ${pc.cyan(
708
- urlOriginal,
709
- )} that ${noRouteMatch}. Make sure that the URLs returned by ${hookName}() always match the route of a page.`,
710
- );
711
- } else {
712
- // `prerenderHookFile` is `null` when the URL was deduced by the Filesytem Routing of `.page.js` files. The `onBeforeRoute()` can override Filesystem Routing; it is therefore expected that the deduced URL may not match any page.
713
- assert(pageContextFromRoute._routingProvidedByOnBeforeRouteHook);
714
- // Abort since the URL doesn't correspond to any page
715
- return;
716
- }
717
- }
718
-
719
- assert(pageContextFromRoute.pageId);
720
- objectAssign(pageContext, pageContextFromRoute);
721
- const { pageId: pageId } = pageContext;
722
-
723
- objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
724
-
725
- let usesClientRouter: boolean;
726
- {
727
- if (pageContext._pageConfigs.length > 0) {
728
- const pageConfig = pageContext._pageConfigs.find(
729
- (p) => p.pageId === pageId,
730
- );
731
- assert(pageConfig);
732
- usesClientRouter =
733
- getConfigValueRuntime(pageConfig, "clientRouting", "boolean")
734
- ?.value ?? false;
735
- } else {
736
- usesClientRouter = globalContext.pluginManifest.usesClientRouter;
737
- }
738
- }
739
-
740
- objectAssign(pageContext, {
741
- is404: null,
742
- _httpRequestId: null,
743
- _usesClientRouter: usesClientRouter,
744
- });
745
-
746
- let res: Awaited<ReturnType<typeof prerenderPage>>;
747
- try {
748
- res = await prerenderPage(pageContext);
749
- } catch (err) {
750
- assertIsNotAbort(err, pc.cyan(pageContext.urlOriginal));
751
- throw err;
752
- }
753
- const { documentHtml, pageContextSerialized } = res;
754
- await onComplete({
755
- urlOriginal,
756
- pageContext,
757
- htmlString: documentHtml,
758
- pageContextSerialized,
759
- doNotCreateExtraDirectory: prerenderContext._noExtraDir,
760
- pageId,
761
- });
762
- }),
763
- ),
764
- );
765
- }
766
-
767
- function warnContradictoryNoPrerenderList(
768
- prerenderedPageContexts: PrerenderedPageContexts,
769
- doNotPrerenderList: DoNotPrerenderList,
770
- ) {
771
- Object.entries(prerenderedPageContexts).forEach(([pageId, pageContext]) => {
772
- const doNotPrerenderListEntry = doNotPrerenderList.find(
773
- (p) => p.pageId === pageId,
774
- );
775
- const { urlOriginal, _providedByHook: providedByHook } = pageContext;
776
- {
777
- const isContradictory = !!doNotPrerenderListEntry && providedByHook;
778
- if (!isContradictory) return;
779
- }
780
- const { setByConfigName, setByConfigValue, setByConfigFile } =
781
- doNotPrerenderListEntry;
782
- assertWarning(
783
- false,
784
- `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${pc.cyan(
785
- urlOriginal,
786
- )}, while ${setByConfigFile} sets the config ${pc.cyan(setByConfigName)} to ${pc.cyan(
787
- String(setByConfigValue),
788
- )}. This is contradictory: either don't set the config ${pc.cyan(setByConfigName)} to ${pc.cyan(
789
- String(setByConfigValue),
790
- )} or remove the URL ${pc.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`,
791
- { onlyOnce: true },
792
- );
793
- });
794
- }
795
-
796
- function warnMissingPages(
797
- prerenderedPageContexts: Record<string, unknown>,
798
- doNotPrerenderList: DoNotPrerenderList,
799
- renderContext: RenderContext,
800
- partial: boolean,
801
- ) {
802
- const isV1 = renderContext.pageConfigs.length > 0;
803
- const hookName = isV1 ? "onBeforePrerenderStart" : "prerender";
804
- /* TODO/after-v1-design-release: document setting `prerender: false` as an alternative to using prerender.partial (both in the warnings and the docs)
805
- const optOutName = isV1 ? 'prerender' : 'doNotPrerender'
806
- const msgAddendum = `Explicitly opt-out by setting the config ${optOutName} to ${isV1 ? 'false' : 'true'} or use the option prerender.partial`
807
- */
808
- renderContext.allPageIds
809
- .filter((pageId) => !prerenderedPageContexts[pageId])
810
- .filter((pageId) => !doNotPrerenderList.find((p) => p.pageId === pageId))
811
- .filter((pageId) => !isErrorPage(pageId, renderContext.pageConfigs))
812
- .forEach((pageId) => {
813
- const pageAt = isV1 ? pageId : `\`${pageId}.page.*\``;
814
- assertWarning(
815
- partial,
816
- `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial to suppress this warning.`,
817
- { onlyOnce: true },
818
- );
819
- });
820
- }
821
-
822
- async function prerender404(
823
- prerenderedPageContexts: Record<string, { urlOriginal: string }>,
824
- renderContext: RenderContext,
825
- prerenderContext: PrerenderContext,
826
- onComplete: (htmlFile: HtmlFile) => Promise<void>,
827
- ) {
828
- if (
829
- !Object.values(prerenderedPageContexts).find(
830
- ({ urlOriginal }) => urlOriginal === "/404",
831
- )
832
- ) {
833
- let result: Awaited<ReturnType<typeof prerender404Page>>;
834
- try {
835
- result = await prerender404Page(
836
- renderContext,
837
- prerenderContext.pageContextInit,
838
- );
839
- } catch (err) {
840
- assertIsNotAbort(err, "the 404 page");
841
- throw err;
842
- }
843
- if (result) {
844
- const urlOriginal = "/404";
845
- const { documentHtml, pageContext } = result;
846
- await onComplete({
847
- urlOriginal,
848
- pageContext,
849
- htmlString: documentHtml,
850
- pageContextSerialized: null,
851
- doNotCreateExtraDirectory: true,
852
- pageId: null,
853
- });
854
- }
855
- }
856
- }
857
-
858
- async function writeFiles(
859
- {
860
- urlOriginal,
861
- pageContext,
862
- htmlString,
863
- pageContextSerialized,
864
- doNotCreateExtraDirectory,
865
- }: HtmlFile,
866
- root: string,
867
- outDirClient: string,
868
- onPagePrerender: Function | undefined,
869
- logLevel: "warn" | "info",
870
- ) {
871
- assert(urlOriginal.startsWith("/"));
872
-
873
- const writeJobs = [
874
- write(
875
- urlOriginal,
876
- pageContext,
877
- ".html",
878
- htmlString,
879
- root,
880
- outDirClient,
881
- doNotCreateExtraDirectory,
882
- onPagePrerender,
883
- logLevel,
884
- ),
885
- ];
886
- if (pageContextSerialized !== null) {
887
- writeJobs.push(
888
- write(
889
- urlOriginal,
890
- pageContext,
891
- ".pageContext.json",
892
- pageContextSerialized,
893
- root,
894
- outDirClient,
895
- doNotCreateExtraDirectory,
896
- onPagePrerender,
897
- logLevel,
898
- ),
899
- );
900
- }
901
- await Promise.allSettled(writeJobs);
902
- }
903
-
904
- async function write(
905
- urlOriginal: string,
906
- pageContext: Record<string, unknown>,
907
- fileExtension: ".html" | ".pageContext.json",
908
- fileContent: string,
909
- root: string,
910
- outDirClient: string,
911
- doNotCreateExtraDirectory: boolean,
912
- onPagePrerender: Function | undefined,
913
- logLevel: "info" | "warn",
914
- ) {
915
- let fileUrl: string;
916
- if (fileExtension === ".html") {
917
- fileUrl = urlToFile(urlOriginal, ".html", doNotCreateExtraDirectory);
918
- } else {
919
- fileUrl = getPageContextRequestUrl(urlOriginal);
920
- }
921
-
922
- assertPosixPath(fileUrl);
923
- assert(fileUrl.startsWith("/"));
924
- const filePathRelative = fileUrl.slice(1);
925
- assert(!filePathRelative.startsWith("/"));
926
- assertPosixPath(outDirClient);
927
- assertPosixPath(filePathRelative);
928
- const filePath = path.posix.join(outDirClient, filePathRelative);
929
- if (onPagePrerender) {
930
- const prerenderPageContext = {};
931
- objectAssign(prerenderPageContext, pageContext);
932
- objectAssign(prerenderPageContext, {
933
- _prerenderResult: {
934
- filePath,
935
- fileContent,
936
- },
937
- });
938
- await onPagePrerender(prerenderPageContext);
939
- } else {
940
- const { promises } = await import("fs");
941
- const { writeFile, mkdir } = promises;
942
- await mkdir(path.posix.dirname(filePath), { recursive: true });
943
- await writeFile(filePath, fileContent);
944
- if (logLevel === "info") {
945
- assertPosixPath(root);
946
- assertPosixPath(outDirClient);
947
- let outDirClientRelative = path.posix.relative(root, outDirClient);
948
- if (!outDirClientRelative.endsWith("/")) {
949
- outDirClientRelative = outDirClientRelative + "/";
950
- }
951
- console.log(
952
- `${pc.dim(outDirClientRelative)}${pc.blue(filePathRelative)}`,
953
- );
954
- }
955
- }
956
- }
957
-
958
- function normalizeOnPrerenderHookResult(
959
- prerenderResult: unknown,
960
- prerenderHookFile: string,
961
- hookName: "prerender" | "onBeforePrerenderStart",
962
- ): { url: string; pageContext: null | Record<string, unknown> }[] {
963
- if (isArray(prerenderResult)) {
964
- return prerenderResult.map(normalize);
965
- } else {
966
- return [normalize(prerenderResult)];
967
- }
968
-
969
- function normalize(prerenderElement: unknown): {
970
- url: string;
971
- pageContext: null | Record<string, unknown>;
972
- } {
973
- if (typeof prerenderElement === "string") {
974
- prerenderElement = { url: prerenderElement, pageContext: null };
975
- }
976
-
977
- const errMsg1 =
978
- `The ${hookName}() hook defined by ${prerenderHookFile} returned` as const;
979
- const errMsg2 = `${errMsg1} an invalid value` as const;
980
- const errHint =
981
- `Make sure your ${hookName}() hook returns an object ${pc.cyan(
982
- "{ url, pageContext }",
983
- )} or an array of such objects.` as const;
984
- assertUsage(isPlainObject(prerenderElement), `${errMsg2}. ${errHint}`);
985
- assertUsage(
986
- hasProp(prerenderElement, "url"),
987
- `${errMsg2}: ${pc.cyan("url")} is missing. ${errHint}`,
988
- );
989
- assertUsage(
990
- hasProp(prerenderElement, "url", "string"),
991
- `${errMsg2}: ${pc.cyan("url")} should be a string (but ${pc.cyan(
992
- `typeof url === "${typeof prerenderElement.url}"`,
993
- )}).`,
994
- );
995
- assertUsage(
996
- prerenderElement.url.startsWith("/"),
997
- `${errMsg1} a URL with an invalid value ${pc.cyan(prerenderElement.url)} which doesn't start with ${pc.cyan(
998
- "/",
999
- )}. Make sure each URL starts with ${pc.cyan("/")}.`,
1000
- );
1001
- Object.keys(prerenderElement).forEach((key) => {
1002
- assertUsage(
1003
- key === "url" || key === "pageContext",
1004
- `${errMsg2}: unexpected object key ${pc.cyan(key)}. ${errHint}`,
1005
- );
1006
- });
1007
- if (!hasProp(prerenderElement, "pageContext")) {
1008
- prerenderElement.pageContext = null;
1009
- } else if (!hasProp(prerenderElement, "pageContext", "null")) {
1010
- assertUsage(
1011
- hasProp(prerenderElement, "pageContext", "object"),
1012
- `${errMsg1} an invalid ${pc.cyan("pageContext")} value: make sure ${pc.cyan("pageContext")} is an object.`,
1013
- );
1014
- assertUsage(
1015
- isPlainObject(prerenderElement.pageContext),
1016
- `${errMsg1} an invalid ${pc.cyan("pageContext")} object: make sure ${pc.cyan(
1017
- "pageContext",
1018
- )} is a plain JavaScript object.`,
1019
- );
1020
- }
1021
- assert(
1022
- hasProp(prerenderElement, "pageContext", "object") ||
1023
- hasProp(prerenderElement, "pageContext", "null"),
1024
- );
1025
- return prerenderElement;
1026
- }
1027
- }
1028
-
1029
- async function disableReactStreaming() {
1030
- let mod: { disable?: () => void } | undefined;
1031
- try {
1032
- mod = await import("react-streaming/server");
1033
- } catch {
1034
- return;
1035
- }
1036
- const { disable } = mod;
1037
- if (disable) {
1038
- disable();
1039
- }
1040
- }
1041
-
1042
- import type { Plugin } from "vite";
1043
- import {PageFile} from "../../__internal/index.js";
1044
-
1045
- function assertLoadedConfig(
1046
- viteConfig: { plugins: readonly Plugin[]; configFile?: string },
1047
- options: { viteConfig?: InlineConfig },
1048
- ) {
1049
- if (
1050
- viteConfig.plugins.some((p) =>
1051
- (p as { name: string }).name.startsWith("reveal"),
1052
- )
1053
- ) {
1054
- return;
1055
- }
1056
- const { configFile } = viteConfig;
1057
- if (configFile) {
1058
- assertUsage(false, `${configFile} doesn't install the reveal plugin`);
1059
- } else {
1060
- if (!options.viteConfig) {
1061
- assertUsage(
1062
- false,
1063
- `[prerender()] No vite.config.js file found at ${process.cwd()}. Use the option ${pc.cyan(
1064
- "prerender({ viteConfig })",
1065
- )}.`,
1066
- { showStackTrace: true },
1067
- );
1068
- } else {
1069
- assertUsage(
1070
- false,
1071
- `[prerender()] The Vite config ${pc.cyan("prerender({ viteConfig })")} is missing the reveal plugin.`,
1072
- {
1073
- showStackTrace: true,
1074
- },
1075
- );
1076
- }
1077
- }
1078
- }
1079
-
1080
- function isSameUrl(url1: string, url2: string) {
1081
- return normalizeUrl(url1) === normalizeUrl(url2);
1082
- }
1083
- function normalizeUrl(url: string) {
1084
- return "/" + url.split("/").filter(Boolean).join("/");
1085
- }
1086
-
1087
- function runPrerender_forceExit() {
1088
- // Force exit; known situations where pre-rendering is hanging:
1089
-
1090
- process.exit(0);
1091
-
1092
- /* I guess there is no need to tell the user about it? Let's see if a user complains.
1093
- * I don't known whether there is a way to call process.exit(0) only if needed, thus I'm not sure if there is a way to conditionally show a assertInfo().
1094
- assertInfo(false, "Pre-rendering was forced exit. (Didn't gracefully exit because the event queue isn't empty. This is usally fine, see ...", { onlyOnce: false })
1095
- */
1096
- }
1097
-
1098
- function assertIsNotAbort(err: unknown, urlOr404: string) {
1099
- if (!isAbortError(err)) return;
1100
- const pageContextAbort = err._pageContextAbort;
1101
-
1102
- const hookLoc = isUserHookError(err);
1103
- assert(hookLoc);
1104
- const thrownBy = ` by ${pc.cyan(`${hookLoc.hookName}()`)} hook defined at ${hookLoc.hookFilePath}`;
1105
-
1106
- const abortCaller = pageContextAbort._abortCaller;
1107
- assert(abortCaller);
1108
-
1109
- const abortCall = pageContextAbort._abortCall;
1110
- assert(abortCall);
1111
-
1112
- assertUsage(
1113
- false,
1114
- `${pc.cyan(abortCall)} thrown${thrownBy} while pre-rendering ${urlOr404} but ${pc.cyan(
1115
- abortCaller,
1116
- )} isn't supported for pre-rendered pages`,
1117
- );
1118
- }
1119
-
1120
- function makePageContextComputedUrlNonEnumerable(
1121
- pageContexts: PageContextUrlInternal[],
1122
- ) {
1123
- change(false);
1124
- return { restoreEnumerable, addPageContextComputedUrl };
1125
- function restoreEnumerable() {
1126
- change(true);
1127
- }
1128
- function addPageContextComputedUrl(pageContexts: PageContextUrlSource[]) {
1129
- // Add URL computed props to the user-generated pageContext copies
1130
- pageContexts.forEach((pageContext) => {
1131
- const pageContextUrlComputed = getPageContextUrlComputed(pageContext);
1132
- objectAssign(pageContext, pageContextUrlComputed);
1133
- });
1134
- }
1135
- function change(enumerable: boolean) {
1136
- pageContexts.forEach((pageContext) => {
1137
- changeEnumerable(pageContext, "urlPathname", enumerable);
1138
- changeEnumerable(pageContext, "urlParsed", enumerable);
1139
- });
1140
- }
1141
- }