reroute-js 1.0.0-alpha.12 → 1.0.0-alpha.13

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 (200) hide show
  1. package/cli/bin.d.ts +1 -1
  2. package/cli/bin.js +40 -37
  3. package/cli/bin.js.map +5 -5
  4. package/cli/index.d.ts +1 -1
  5. package/cli/index.js +4 -4
  6. package/cli/index.js.map +3 -3
  7. package/cli/src/cli.d.ts +1 -1
  8. package/cli/src/commands/analyze.d.ts +1 -1
  9. package/cli/src/commands/build.d.ts +1 -1
  10. package/cli/src/commands/dev.d.ts +1 -1
  11. package/cli/src/commands/gen.d.ts +1 -1
  12. package/cli/src/commands/index.d.ts +1 -1
  13. package/cli/src/commands/init.d.ts +1 -1
  14. package/cli/src/commands/lib/assets.d.ts +1 -1
  15. package/cli/src/commands/lib/bundler.d.ts +1 -1
  16. package/cli/src/commands/lib/command.d.ts +1 -1
  17. package/cli/src/commands/lib/env.d.ts +1 -1
  18. package/cli/src/commands/lib/index.d.ts +1 -1
  19. package/cli/src/commands/lib/log.d.ts +1 -1
  20. package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
  21. package/cli/src/commands/lib/markdown/index.d.ts +1 -1
  22. package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
  23. package/cli/src/commands/lib/production.d.ts +1 -1
  24. package/cli/src/commands/lib/server.d.ts +1 -1
  25. package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
  26. package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
  27. package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
  28. package/cli/src/commands/lib/theme.d.ts +2 -2
  29. package/cli/src/commands/lib/theme.d.ts.map +1 -1
  30. package/cli/src/commands/lib/version.d.ts +1 -1
  31. package/cli/src/commands/lib/watch.d.ts +1 -1
  32. package/cli/src/commands/og.d.ts +1 -1
  33. package/cli/src/commands/start.d.ts +1 -1
  34. package/cli/src/index.d.ts +1 -1
  35. package/core/index.d.ts +1 -1
  36. package/core/index.js +34 -31
  37. package/core/index.js.map +4 -4
  38. package/core/src/bundler/hash.d.ts +1 -1
  39. package/core/src/bundler/index.d.ts +1 -1
  40. package/core/src/config.d.ts +1 -1
  41. package/core/src/content/discovery.d.ts +1 -1
  42. package/core/src/content/index.d.ts +1 -1
  43. package/core/src/content/metadata.d.ts +1 -1
  44. package/core/src/i18n/catalog.d.ts +1 -1
  45. package/core/src/i18n/discover.d.ts +1 -1
  46. package/core/src/i18n/index.d.ts +1 -1
  47. package/core/src/i18n/messages.d.ts +1 -1
  48. package/core/src/i18n/negotiate.d.ts +1 -1
  49. package/core/src/i18n/pathname.d.ts +1 -1
  50. package/core/src/i18n/resolve.d.ts +1 -1
  51. package/core/src/i18n/types.d.ts +1 -1
  52. package/core/src/index.d.ts +1 -1
  53. package/core/src/llms/discovery.d.ts +1 -1
  54. package/core/src/llms/extractor.d.ts +1 -1
  55. package/core/src/llms/formatter.d.ts +1 -1
  56. package/core/src/llms/full-generator.d.ts +1 -1
  57. package/core/src/llms/index-generator.d.ts +1 -1
  58. package/core/src/llms/index.d.ts +1 -1
  59. package/core/src/og/discovery.d.ts +1 -1
  60. package/core/src/og/index.d.ts +1 -1
  61. package/core/src/og/meta.d.ts +1 -1
  62. package/core/src/og/render.d.ts +1 -1
  63. package/core/src/og/types.d.ts +1 -1
  64. package/core/src/robots/discovery.d.ts +1 -1
  65. package/core/src/robots/generator.d.ts +1 -1
  66. package/core/src/robots/index.d.ts +1 -1
  67. package/core/src/robots/policies.d.ts +1 -1
  68. package/core/src/rss/discovery.d.ts +1 -1
  69. package/core/src/rss/generator.d.ts +1 -1
  70. package/core/src/rss/index.d.ts +1 -1
  71. package/core/src/sitemap/discovery.d.ts +1 -1
  72. package/core/src/sitemap/generator.d.ts +1 -1
  73. package/core/src/sitemap/index.d.ts +1 -1
  74. package/core/src/ssr/index.d.ts +1 -1
  75. package/core/src/ssr/lib/cache.d.ts +1 -1
  76. package/core/src/ssr/lib/cleanup.d.ts +1 -1
  77. package/core/src/ssr/lib/collections.d.ts +1 -1
  78. package/core/src/ssr/lib/compression.d.ts +1 -1
  79. package/core/src/ssr/lib/compute/content.d.ts +1 -1
  80. package/core/src/ssr/lib/compute/index.d.ts +1 -1
  81. package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
  82. package/core/src/ssr/lib/compute/routes.d.ts +1 -1
  83. package/core/src/ssr/lib/content-path.d.ts +1 -1
  84. package/core/src/ssr/lib/data.d.ts +1 -1
  85. package/core/src/ssr/lib/html.d.ts +1 -1
  86. package/core/src/ssr/lib/imports.d.ts +1 -1
  87. package/core/src/ssr/lib/index.d.ts +1 -1
  88. package/core/src/ssr/lib/layouts.d.ts +1 -1
  89. package/core/src/ssr/lib/metadata.d.ts +1 -1
  90. package/core/src/ssr/lib/mime.d.ts +1 -1
  91. package/core/src/ssr/lib/modules.d.ts +1 -1
  92. package/core/src/ssr/lib/path.d.ts +1 -1
  93. package/core/src/ssr/lib/preload.d.ts +1 -1
  94. package/core/src/ssr/lib/route-match.d.ts +1 -1
  95. package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
  96. package/core/src/ssr/lib/scripts/data.d.ts +1 -1
  97. package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
  98. package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
  99. package/core/src/ssr/lib/scripts/index.d.ts +1 -1
  100. package/core/src/ssr/lib/seed.d.ts +1 -1
  101. package/core/src/ssr/lib/serialize.d.ts +1 -1
  102. package/core/src/ssr/lib/setup.d.ts +1 -1
  103. package/core/src/ssr/lib/styles.d.ts +7 -4
  104. package/core/src/ssr/lib/styles.d.ts.map +1 -1
  105. package/core/src/ssr/lib/template.d.ts +1 -1
  106. package/core/src/ssr/lib/types.d.ts +1 -1
  107. package/core/src/ssr/render.d.ts +1 -1
  108. package/core/src/ssr/stream.d.ts +1 -1
  109. package/elysia/index.d.ts +1 -1
  110. package/elysia/index.js +60 -37
  111. package/elysia/index.js.map +6 -6
  112. package/elysia/src/index.d.ts +1 -1
  113. package/elysia/src/libs/assets.d.ts +1 -1
  114. package/elysia/src/libs/cache.d.ts +1 -1
  115. package/elysia/src/libs/caching.d.ts +1 -1
  116. package/elysia/src/libs/http.d.ts +1 -1
  117. package/elysia/src/libs/i18n.d.ts +1 -1
  118. package/elysia/src/libs/image.d.ts +1 -1
  119. package/elysia/src/libs/index.d.ts +1 -1
  120. package/elysia/src/libs/llms.d.ts +1 -1
  121. package/elysia/src/libs/response.d.ts +1 -1
  122. package/elysia/src/libs/serving.d.ts +1 -1
  123. package/elysia/src/plugin.d.ts +1 -1
  124. package/elysia/src/routes/artifacts.d.ts +1 -1
  125. package/elysia/src/routes/artifacts.d.ts.map +1 -1
  126. package/elysia/src/routes/content.d.ts +1 -1
  127. package/elysia/src/routes/image.d.ts +1 -1
  128. package/elysia/src/routes/index.d.ts +1 -1
  129. package/elysia/src/routes/internal.d.ts +1 -1
  130. package/elysia/src/routes/liveReloadClient.d.ts +1 -1
  131. package/elysia/src/routes/llms.d.ts +1 -1
  132. package/elysia/src/routes/og.d.ts +1 -1
  133. package/elysia/src/routes/redirects.d.ts +1 -1
  134. package/elysia/src/routes/robots.d.ts +1 -1
  135. package/elysia/src/routes/rss.d.ts +1 -1
  136. package/elysia/src/routes/search.d.ts +1 -1
  137. package/elysia/src/routes/sitemap.d.ts +1 -1
  138. package/elysia/src/routes/ssr.d.ts +1 -1
  139. package/elysia/src/routes/static.d.ts +1 -1
  140. package/elysia/src/routes/themeCssRefresh.d.ts +1 -1
  141. package/elysia/src/types.d.ts +1 -1
  142. package/package.json +1 -1
  143. package/react/index.d.ts +1 -1
  144. package/react/index.js +2 -2
  145. package/react/index.js.map +1 -1
  146. package/react/src/components/ClientOnly.d.ts +1 -1
  147. package/react/src/components/ContentRoute.d.ts +1 -1
  148. package/react/src/components/Image.d.ts +1 -1
  149. package/react/src/components/LazyRoute.d.ts +1 -1
  150. package/react/src/components/Link.d.ts +1 -1
  151. package/react/src/components/Markdown.d.ts +1 -1
  152. package/react/src/components/Outlet.d.ts +1 -1
  153. package/react/src/components/index.d.ts +1 -1
  154. package/react/src/hooks/index.d.ts +1 -1
  155. package/react/src/hooks/useContent.d.ts +1 -1
  156. package/react/src/hooks/useData.d.ts +1 -1
  157. package/react/src/hooks/useFeed.d.ts +1 -1
  158. package/react/src/hooks/useLayoutData.d.ts +1 -1
  159. package/react/src/hooks/useLlms.d.ts +1 -1
  160. package/react/src/hooks/useNavigate.d.ts +1 -1
  161. package/react/src/hooks/useParams.d.ts +1 -1
  162. package/react/src/hooks/useRouter.d.ts +1 -1
  163. package/react/src/hooks/useSearch.d.ts +1 -1
  164. package/react/src/hooks/useSearchParams.d.ts +1 -1
  165. package/react/src/hooks/useToc.d.ts +1 -1
  166. package/react/src/i18n/LocaleProvider.d.ts +1 -1
  167. package/react/src/i18n/helpers.d.ts +1 -1
  168. package/react/src/i18n/index.d.ts +1 -1
  169. package/react/src/index.d.ts +1 -1
  170. package/react/src/lib/collection.d.ts +1 -1
  171. package/react/src/lib/content.d.ts +1 -1
  172. package/react/src/lib/head.d.ts +1 -1
  173. package/react/src/lib/index.d.ts +1 -1
  174. package/react/src/lib/lazy-route.d.ts +1 -1
  175. package/react/src/lib/route-loader.d.ts +1 -1
  176. package/react/src/providers/ContentProvider.d.ts +1 -1
  177. package/react/src/providers/RerouteProvider.d.ts +1 -1
  178. package/react/src/providers/RouterProvider.d.ts +1 -1
  179. package/react/src/providers/index.d.ts +1 -1
  180. package/react/src/types/any.d.ts +1 -1
  181. package/react/src/types/index.d.ts +1 -1
  182. package/react/src/types/router.d.ts +1 -1
  183. package/telemetry/react.d.ts +1 -1
  184. package/telemetry/react.js +2 -2
  185. package/telemetry/react.js.map +1 -1
  186. package/telemetry/server.d.ts +1 -1
  187. package/telemetry/server.js +2 -2
  188. package/telemetry/server.js.map +2 -2
  189. package/telemetry/src/react/api.d.ts +1 -1
  190. package/telemetry/src/react/context.d.ts +1 -1
  191. package/telemetry/src/react/index.d.ts +1 -1
  192. package/telemetry/src/react/telemetry.d.ts +1 -1
  193. package/telemetry/src/server/context.d.ts +1 -1
  194. package/telemetry/src/server/headers/extractor.d.ts +1 -1
  195. package/telemetry/src/server/headers/index.d.ts +1 -1
  196. package/telemetry/src/server/headers/presets.d.ts +1 -1
  197. package/telemetry/src/server/index.d.ts +1 -1
  198. package/telemetry/src/server/instrumentation.d.ts +1 -1
  199. package/telemetry/src/server/plugin.d.ts +1 -1
  200. package/telemetry/src/server/sourcemap.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -954,4 +954,4 @@ export {
954
954
  useTelemetry
955
955
  };
956
956
 
957
- //# debugId=5D71AA777993A3FF64756E2164756E21
957
+ //# debugId=2D9540F8A4CDAE8264756E2164756E21
@@ -8,6 +8,6 @@
8
8
  "export * from './api';\nexport * from './context';\nexport * from './telemetry';\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "5D71AA777993A3FF64756E2164756E21",
11
+ "debugId": "2D9540F8A4CDAE8264756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1630,4 +1630,4 @@ export {
1630
1630
  withSpanSync
1631
1631
  };
1632
1632
 
1633
- //# debugId=29307E7FB67683C064756E2164756E21
1633
+ //# debugId=5DFE5E2BF3C475B864756E2164756E21
@@ -28,7 +28,7 @@
28
28
  "import { readdir, stat } from 'node:fs/promises';\nimport { dynamicImport } from './imports';\nimport { join } from './path';\nimport type { Doc, PreloadResult } from './types';\n\n/**\n * Handle content module preloading for content pages\n */\nexport async function preloadContentModule(\n\tpathname: string,\n\tclientDir: string,\n\tcwd: string,\n\tisWatchMode: boolean,\n): Promise<PreloadResult> {\n\tlet extraHead = '';\n\tlet hydrationScript = '';\n\tlet statusOverride: number | undefined;\n\n\ttry {\n\t\tconst { resolveContentPathParts } = await import('./content-path');\n\t\tconst resolved = resolveContentPathParts(pathname);\n\n\t\tif (!resolved) {\n\t\t\treturn { extraHead, hydrationScript };\n\t\t}\n\n\t\tconst { collection, name, key, locale } = resolved;\n\n\t\t// Check if this is a content collection\n\t\tif (!(await isContentCollection(clientDir, collection))) {\n\t\t\treturn { extraHead, hydrationScript };\n\t\t}\n\n\t\t// Try to find module path\n\t\tconst modulePath = await findContentModulePath(\n\t\t\tcollection,\n\t\t\tname,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t\tlocale,\n\t\t);\n\n\t\tif (!modulePath) {\n\t\t\tstatusOverride = 404;\n\t\t\treturn { extraHead, hydrationScript, statusOverride };\n\t\t}\n\t\textraHead += `\\n<link rel=\"modulepreload\" href=\"${modulePath}\" />`;\n\n\t\t// Store the module path and key for the inline loader\n\t\t// The actual loading happens via a blocking mechanism in the data script\n\t\t// Mark that this content module needs to be preloaded in the hydration script\n\t\thydrationScript += `<script>\n(globalThis.__REROUTE_CONTENT_PRELOAD__ ||= []).push({src:'${modulePath}',key:'${key}'});\n</script>`;\n\t} catch {\n\t\t// Return empty result on error\n\t}\n\n\treturn { extraHead, hydrationScript, statusOverride };\n}\n\nasync function isContentCollection(\n\tclientDir: string,\n\tcollection: string,\n): Promise<boolean> {\n\ttry {\n\t\t// In production (clientDir = .reroute), check for collection files instead of source dirs\n\t\tconst isProduction = clientDir.endsWith('.reroute');\n\n\t\tif (isProduction) {\n\t\t\t// Check if collection file exists in .reroute/collections/\n\t\t\tconst collectionFile = join(clientDir, 'collections', `${collection}.js`);\n\t\t\ttry {\n\t\t\t\tconst s = await stat(collectionFile);\n\t\t\t\treturn s?.isFile() ?? false;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// In development, check for content directory\n\t\tconst maybeDir = join(clientDir, 'routes', collection, 'content');\n\t\tconst s = await stat(maybeDir);\n\t\treturn typeof s?.isDirectory === 'function' ? s.isDirectory() : true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nasync function findLatestCandidate(\n\tchunkDir: string,\n\tcandidates: string[],\n): Promise<string> {\n\tlet latest = candidates[0];\n\tlet latestM = 0;\n\n\tfor (const candidateName of candidates) {\n\t\ttry {\n\t\t\tconst s = await stat(join(chunkDir, candidateName));\n\t\t\tif (s.mtimeMs >= latestM) {\n\t\t\t\tlatestM = s.mtimeMs;\n\t\t\t\tlatest = candidateName;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Skip inaccessible files\n\t\t}\n\t}\n\n\treturn latest;\n}\n\nasync function findContentModulePath(\n\tcollection: string,\n\tname: string,\n\tclientDir: string,\n\tcwd: string,\n\tisWatchMode: boolean,\n\tlocale?: string,\n): Promise<string | null> {\n\t// 1. Try registry mapping\n\ttry {\n\t\tconst registryPath = join(cwd, '.reroute', 'content.ts');\n\t\tconst reg = await dynamicImport(registryPath, isWatchMode);\n\t\tconst get = reg?.getContentEntry as\n\t\t\t| ((c: string, n: string, l?: string) => { module?: string } | undefined)\n\t\t\t| undefined;\n\t\tconst entry =\n\t\t\ttypeof get === 'function' ? get(collection, name, locale) : undefined;\n\t\tconst moduleUrl = (entry as Doc)?.module as string | undefined;\n\n\t\tif (moduleUrl?.endsWith('.js')) {\n\t\t\treturn moduleUrl;\n\t\t}\n\t} catch {\n\t\t// Registry unavailable\n\t}\n\n\t// 2. Try newest chunk\n\ttry {\n\t\tconst chunkDir = join(cwd, '.reroute', 'chunks', collection);\n\t\tconst files = await readdir(chunkDir);\n\t\tconst candidates = files.filter(\n\t\t\t(n) => n.startsWith(`${name}.`) && n.endsWith('.js'),\n\t\t);\n\n\t\tif (candidates.length) {\n\t\t\tconst latest = await findLatestCandidate(chunkDir, candidates);\n\t\t\treturn `/${join('.reroute', 'chunks', collection, latest).replace(/\\\\+/g, '/')}`;\n\t\t}\n\t} catch {\n\t\t// Chunk directory unavailable\n\t}\n\n\t// 3. Try source files (locale subdir first when present)\n\ttry {\n\t\tconst contentRoot = join(clientDir, 'routes', collection, 'content');\n\t\tconst candidates = locale\n\t\t\t? [\n\t\t\t\t\tjoin(contentRoot, locale, `${name}.tsx`),\n\t\t\t\t\tjoin(contentRoot, locale, `${name}.ts`),\n\t\t\t\t\tjoin(contentRoot, `${name}.tsx`),\n\t\t\t\t\tjoin(contentRoot, `${name}.ts`),\n\t\t\t\t]\n\t\t\t: [join(contentRoot, `${name}.tsx`), join(contentRoot, `${name}.ts`)];\n\n\t\tfor (const abs of candidates) {\n\t\t\tif (await Bun.file(abs).exists()) {\n\t\t\t\tconst rel = abs.startsWith(clientDir)\n\t\t\t\t\t? abs.slice(clientDir.length).replace(/^[/\\\\]/, '')\n\t\t\t\t\t: join('routes', collection, 'content', `${name}.tsx`);\n\t\t\t\treturn `/${rel.replace(/\\\\+/g, '/')}`;\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Source files unavailable\n\t}\n\n\treturn null;\n}\n\n/**\n * Reset SSR access tracking for a new request\n */\nexport function resetSSRAccessTracking(): void {\n\ttry {\n\t\t(globalThis as Doc).__REROUTE_SSR_ACCESSED__ = {};\n\t} catch {\n\t\t// Ignore errors in restricted environments\n\t}\n}\n\n/**\n * Create bundle preload link\n */\nexport function createBundlePreload(bundleUrl: string): string {\n\ttry {\n\t\tif (typeof bundleUrl === 'string' && bundleUrl.endsWith('.js')) {\n\t\t\treturn `\\n<link rel=\"modulepreload\" href=\"${bundleUrl}\" />`;\n\t\t}\n\t} catch {\n\t\t// Return empty on error\n\t}\n\treturn '';\n}\n",
29
29
  "import { resolveContentPathParts } from '../content-path';\nimport { escapeJsonForScript } from './escape';\n\n/**\n * Duplicate SSR data for query param routes.\n * Stores at both /path?query and /path so useData() can find it.\n */\nexport function duplicateQueryParamData(\n\tssrData: Record<string, unknown>,\n): Record<string, unknown> {\n\tconst duplicated: Record<string, unknown> = {};\n\tfor (const [key, value] of Object.entries(ssrData)) {\n\t\tduplicated[key] = value;\n\t\tconst pathnameOnly = key.split('?')[0];\n\t\tif (pathnameOnly !== key) {\n\t\t\tduplicated[pathnameOnly] = value;\n\t\t}\n\t}\n\treturn duplicated;\n}\n\n/**\n * Get the content key from a pathname (e.g., /blog/my-post -> blog:my-post,\n * /blog/pt-BR/my-post -> blog:my-post:pt-BR)\n */\nfunction getContentKeyFromPathname(pathname: string): string | null {\n\treturn resolveContentPathParts(pathname)?.key ?? null;\n}\n\n/**\n * Create inline script for i18n hydration.\n */\nfunction createI18nScript(i18n?: Record<string, unknown>): string {\n\tif (!i18n?.enabled) return '';\n\ttry {\n\t\tconst json = escapeJsonForScript(JSON.stringify(i18n));\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_I18N__=${json};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error('[reroute] Failed to serialize i18n hydration:', error);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script that captures DOM content HTML BEFORE React hydrates.\n * This eliminates the need to duplicate HTML in the response - we just read it from the DOM.\n * Must be placed BEFORE the React bundle script.\n *\n * Also sets __REROUTE_INITIAL_HYDRATION__ flag to true so components know this is\n * the first render and should not replace SSR'd content.\n */\nexport function createContentCaptureScript(): string {\n\t// This script:\n\t// 1. Sets initial hydration flag so components know not to replace content\n\t// 2. Finds all [data-reroute-key] elements and captures their innerHTML\n\t// into __REROUTE_CONTENT_HTML__ before React runs and potentially modifies them\n\t// 3. Finds the [data-reroute-route=\"ssr\"] element and captures its innerHTML\n\t// into __REROUTE_ROUTE_HTML__ for LazyRoute hydration\n\treturn `<script>(function(){try{var w=window;w.__REROUTE_INITIAL_HYDRATION__=true;var h={};document.querySelectorAll('[data-reroute-key]').forEach(function(el){var k=el.getAttribute('data-reroute-key');if(k)h[k]=el.innerHTML;});w.__REROUTE_CONTENT_HTML__=h;var r=document.querySelector('[data-reroute-route=\"ssr\"]');if(r)w.__REROUTE_ROUTE_HTML__=r.innerHTML;}catch(e){}})();</script>`;\n}\n\n/**\n * Create inline script for SSR exports hydration (includes toc, meta, etc.)\n * This ensures hooks like useToc have access to server-side data during hydration\n * Only includes data for the current pathname to avoid cross-request pollution\n */\nexport function createSSRExportsScript(pathname: string): string {\n\ttry {\n\t\t// biome-ignore lint/suspicious/noExplicitAny: dynamic global access\n\t\tconst g = globalThis as any;\n\t\tconst ssrExports = g.__REROUTE_SSR_EXPORTS__;\n\n\t\tif (!ssrExports || typeof ssrExports !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\t// Only serialize the current page's exports, not all accumulated exports\n\t\tconst currentKey = getContentKeyFromPathname(pathname);\n\t\tif (!currentKey) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst currentExports = ssrExports[currentKey];\n\t\tif (!currentExports) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst filteredExports = { [currentKey]: currentExports };\n\t\tconst exportsJson = escapeJsonForScript(JSON.stringify(filteredExports));\n\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_SSR_EXPORTS__=${exportsJson};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error('[reroute] Failed to create SSR exports script:', error);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script for browser telemetry config hydration\n * Injects telemetry.browser config so TelemetryProvider can use it\n */\nfunction createTelemetryConfigScript(\n\tbrowserTelemetryConfig?: Record<string, unknown>,\n): string {\n\tif (\n\t\t!browserTelemetryConfig ||\n\t\tObject.keys(browserTelemetryConfig).length === 0\n\t) {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\tconst configJson = escapeJsonForScript(\n\t\t\tJSON.stringify(browserTelemetryConfig),\n\t\t);\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_TELEMETRY_BROWSER__=${configJson};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t'[reroute] Failed to serialize browser telemetry config:',\n\t\t\terror,\n\t\t);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script for trace context injection\n * Injects W3C Trace Context so browser spans can link to server spans\n */\nfunction createTraceContextScript(traceContext?: {\n\ttraceparent?: string;\n\ttracestate?: string;\n}): string {\n\tif (\n\t\t!traceContext?.traceparent ||\n\t\ttypeof traceContext.traceparent !== 'string'\n\t) {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\tconst contextJson = escapeJsonForScript(JSON.stringify(traceContext));\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_TRACE_CONTEXT__=${contextJson};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error('[reroute] Failed to serialize trace context:', error);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script for title suffix hydration\n * Injects titleSuffix so client-side navigation maintains the suffix\n */\nfunction createTitleSuffixScript(titleSuffix?: string): string {\n\tif (!titleSuffix) {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\tconst suffixJson = escapeJsonForScript(JSON.stringify(titleSuffix));\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_TITLE_SUFFIX__=${suffixJson};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error('[reroute] Failed to serialize title suffix:', error);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script for SSR pathname hydration\n * Tells the client which pathname was SSR'd so components can skip re-rendering\n * on the initial hydration pass.\n */\nfunction createSSRPathnameScript(pathname?: string): string {\n\tif (!pathname) {\n\t\treturn '';\n\t}\n\n\ttry {\n\t\tconst pathnameJson = escapeJsonForScript(JSON.stringify(pathname));\n\t\treturn `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_SSR_PATHNAME__=${pathnameJson};}catch(e){}})();</script>`;\n\t} catch (error) {\n\t\tconsole.error('[reroute] Failed to serialize SSR pathname:', error);\n\t\treturn '';\n\t}\n}\n\n/**\n * Create inline script for SSR data hydration\n */\nexport function createDataScript(\n\tssrData: Record<string, unknown>,\n\terrorMsg?: string,\n\tpathname?: string,\n\tbrowserTelemetryConfig?: Record<string, unknown>,\n\ttraceContext?: { traceparent?: string; tracestate?: string },\n\ttitleSuffix?: string,\n\ti18n?: Record<string, unknown>,\n): string {\n\tlet script = '';\n\n\t// Capture DOM content HTML before React hydrates (reads from DOM, no duplication)\n\tscript += createContentCaptureScript();\n\n\t// Add SSR pathname script (tells client which route was SSR'd)\n\tscript += createSSRPathnameScript(pathname);\n\n\t// Add SSR exports script (for useToc, etc.) - scoped to current pathname\n\tif (pathname) {\n\t\tscript += createSSRExportsScript(pathname);\n\t}\n\n\t// Inject i18n hydration (locale + catalogs)\n\tscript += createI18nScript(i18n);\n\n\t// Inject browser telemetry config\n\tscript += createTelemetryConfigScript(browserTelemetryConfig);\n\n\t// Inject trace context for distributed tracing\n\tscript += createTraceContextScript(traceContext);\n\n\t// Inject title suffix for client-side navigation\n\tscript += createTitleSuffixScript(titleSuffix);\n\n\tif (ssrData && Object.keys(ssrData).length > 0) {\n\t\ttry {\n\t\t\tconst duplicatedData = duplicateQueryParamData(ssrData);\n\t\t\tconst dataJson = escapeJsonForScript(JSON.stringify(duplicatedData));\n\t\t\tconst keysJson = escapeJsonForScript(\n\t\t\t\tJSON.stringify(Object.keys(ssrData)),\n\t\t\t);\n\t\t\tscript += `<script>(function(){try{var w=(typeof window!=='undefined'?window:globalThis);w.__REROUTE_DATA__=Object.assign({},w.__REROUTE_DATA__||{},${dataJson});try{w.dispatchEvent(new CustomEvent('__reroute_data__',{detail:{keys:${keysJson}}}));}catch(e){}}catch(e){}})();</script>`;\n\t\t} catch (error) {\n\t\t\tconsole.error('[reroute] Failed to serialize SSR data:', error);\n\t\t}\n\t}\n\n\tif (errorMsg) {\n\t\tconst escapedMsg = JSON.stringify(errorMsg);\n\t\tscript += `<script>(function(){try{console.warn('%c[reroute] SSR Data Error','background: #ff5555; color: white; padding: 2px 6px; border-radius: 3px;',${escapedMsg});}catch(e){}})();</script>`;\n\t}\n\n\treturn script;\n}\n",
30
30
  "export { createCollectionScript, processCollections } from './collections';\nexport { createDataScript, duplicateQueryParamData } from './data';\nexport { escapeJsonForScript } from './escape';\nexport { createFeedsScript, createLlmsScript } from './feeds';\n",
31
- "import type { Span } from '@opentelemetry/api';\nimport { withParentSpan, withSpan } from 'reroute-js/telemetry/server';\nimport type { OGImageOptions, OGOptions } from '../../config';\nimport { cleanupPathScopedSSRData } from './cleanup';\nimport {\n\tloadCollections,\n\tresetSSRContentResults,\n\tsetGlobalCollections,\n} from './collections';\nimport { computeSSRData, setGlobalSSRData } from './compute';\nimport { extractPageMetadata } from './metadata';\nimport {\n\tcreateBundlePreload,\n\tpreloadContentModule,\n\tresetSSRAccessTracking,\n} from './preload';\nimport {\n\tcreateCollectionScript,\n\tcreateDataScript,\n\tcreateFeedsScript,\n\tcreateLlmsScript,\n\tprocessCollections,\n} from './scripts';\nimport { seedSSRModuleForPath } from './seed';\nimport { inlineThemeCSS } from './styles';\nimport type { ComputeResult, SSR } from './types';\n\n/**\n * Common SSR options shared between render and stream modes\n */\ntype SSRSetupOptions = {\n\tpathname: string;\n\tclientDir: string;\n\tcwd: string;\n\tisWatchMode: boolean;\n\tbundleUrl: string;\n\tcachedCollections?: Record<string, unknown[]>;\n\tcachedThemeCSS?: string;\n\tdebug?: boolean;\n\tmaxAge?: number;\n\tsearchParams?: URLSearchParams;\n\togConfig?: OGImageOptions;\n\togMetaConfig?: OGOptions;\n\tbaseUrl?: string;\n\tautoCanonical?: boolean;\n\tparentSpan?: Span | null;\n\t/** Request headers from the incoming HTTP request */\n\theaders?: Record<string, string>;\n\t/** Suffix to append to all page titles */\n\ttitleSuffix?: string;\n\t/** Maximum timeout in milliseconds for SSR setup */\n\ttimeout?: number;\n};\n\n/**\n * Result of SSR setup phase\n */\ntype SSRSetupResult = {\n\tssrData: Record<string, unknown>;\n\tssrError?: string;\n\tstatusContainer: { value: number | undefined };\n\tbyCollectionForSSR: Record<string, unknown[]>;\n\tbundlePreload: string;\n\tpreloadExtraHead: string;\n\tpreloadHydrationScript: string;\n\tpreloadStatusOverride?: number;\n\tinlineStyleTag: string;\n\tmetadataResult: {\n\t\tperPageHead: string;\n\t\tpageLang?: string;\n\t\tstatusOverride?: number;\n\t\t/** SSR export for dynamic head generation at stream end */\n\t\tssrExport?: SSR;\n\t};\n\tpending?: Promise<void>;\n};\n\ntype SSRSetupTimeoutState = {\n\ttimedOut: boolean;\n};\n\n/**\n * Perform common SSR setup steps shared between render and stream modes.\n * This includes seeding modules, computing data, loading collections, and preloading.\n */\nasync function performSSRSetup(\n\toptions: SSRSetupOptions,\n\tstreaming = false,\n): Promise<SSRSetupResult> {\n\tconst { pathname } = options;\n\tconst timeoutState: SSRSetupTimeoutState = { timedOut: false };\n\n\t// Add a global timeout for SSR setup to prevent indefinite hangs.\n\t// Consumer-provided timeout takes precedence.\n\tconst setupTimeout = options.timeout ?? (streaming ? 10000 : 30000);\n\tlet timeoutId: ReturnType<typeof setTimeout> | null = null;\n\tconst timeoutPromise = new Promise<never>((_, reject) => {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutState.timedOut = true;\n\t\t\treject(\n\t\t\t\tnew Error(\n\t\t\t\t\t`[reroute] SSR setup timeout after ${setupTimeout}ms for ${pathname}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}, setupTimeout);\n\t});\n\tconst setupPromise = withParentSpan(options.parentSpan, () =>\n\t\tperformSSRSetupInternal(options, streaming, timeoutState),\n\t);\n\tconst setupPromiseWithCleanup = setupPromise.finally(() => {\n\t\tif (timeoutState.timedOut) {\n\t\t\tcleanupPathScopedSSRData(pathname);\n\t\t}\n\t});\n\n\ttry {\n\t\treturn await Promise.race([setupPromiseWithCleanup, timeoutPromise]);\n\t} catch (error) {\n\t\tcleanupPathScopedSSRData(pathname);\n\t\tconsole.error('[reroute] SSR setup error:', error);\n\t\t// Return minimal setup result to allow page to render with fallback\n\t\treturn {\n\t\t\tssrData: {},\n\t\t\tssrError: error instanceof Error ? error.message : String(error),\n\t\t\tstatusContainer: { value: 500 },\n\t\t\tbyCollectionForSSR: {},\n\t\t\tbundlePreload: '',\n\t\t\tpreloadExtraHead: '',\n\t\t\tpreloadHydrationScript: '',\n\t\t\tinlineStyleTag: '',\n\t\t\tmetadataResult: { perPageHead: '' },\n\t\t};\n\t} finally {\n\t\tif (timeoutId) {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\t}\n}\n\n/**\n * Internal SSR setup implementation (wrapped with timeout above)\n */\nasync function performSSRSetupInternal(\n\toptions: SSRSetupOptions,\n\tstreaming: boolean,\n\ttimeoutState: SSRSetupTimeoutState,\n): Promise<SSRSetupResult> {\n\tconst debug = options.debug ?? false;\n\tconst t0 = debug ? performance.now() : 0;\n\tconst {\n\t\tpathname,\n\t\tclientDir,\n\t\tcwd,\n\t\tisWatchMode,\n\t\tbundleUrl,\n\t\tmaxAge = 0,\n\t\tsearchParams,\n\t\togConfig,\n\t} = options;\n\tconst assertNotTimedOut = () => {\n\t\tif (timeoutState.timedOut) {\n\t\t\tthrow new Error(`[reroute] SSR setup cancelled for ${pathname}`);\n\t\t}\n\t};\n\n\t// Note: We don't reset SSR globals here because multiple requests may run concurrently.\n\t// Instead, we use pathname-scoped serialization to ensure each response only includes\n\t// its own data (see createContentHtmlScript and createSSRExportsScript).\n\n\t// 1. Seed content modules for SSR rendering\n\tawait withSpan('ssr.seed', async (span) => {\n\t\tspan.setAttribute('pathname', pathname);\n\t\tspan.setAttribute('streaming', streaming);\n\t\tawait seedSSRModuleForPath(pathname, clientDir, cwd, isWatchMode);\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - seedModule: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t});\n\tassertNotTimedOut();\n\n\t// 2. Reset SSR access tracking and create bundle preload\n\tresetSSRAccessTracking();\n\tresetSSRContentResults();\n\tconst bundlePreload = createBundlePreload(bundleUrl);\n\n\t// 3. Preload content module\n\tconst preloadResult = await withSpan('ssr.preload', async (span) => {\n\t\tspan.setAttribute('pathname', pathname);\n\t\tconst result = await preloadContentModule(\n\t\t\tpathname,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t);\n\t\tspan.setAttribute('has_module', !!result.modulePath);\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - preloadContent: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t\treturn result;\n\t});\n\tassertNotTimedOut();\n\n\t// 4. Compute SSR data\n\tconst computeResult: ComputeResult = await withSpan(\n\t\t'ssr.compute.data',\n\t\tasync (span) => {\n\t\t\tspan.setAttribute('pathname', pathname);\n\t\t\tspan.setAttribute('streaming', streaming);\n\t\t\tconst result = await computeSSRData(\n\t\t\t\tpathname,\n\t\t\t\tclientDir,\n\t\t\t\tcwd,\n\t\t\t\tisWatchMode,\n\t\t\t\t{ streaming, maxAge, headers: options.headers },\n\t\t\t\tsearchParams,\n\t\t\t);\n\t\t\tspan.setAttribute('has_error', !!result.error);\n\t\t\tspan.setAttribute('has_data', Object.keys(result.data).length > 0);\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - computeSSRData: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn result;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\n\tsetGlobalSSRData(computeResult.data);\n\n\t// 5. Load content collections (use cached if available)\n\tconst usingCachedCollections = !!options.cachedCollections;\n\tconst byCollectionForSSR = await withSpan(\n\t\t'ssr.load.collections',\n\t\tasync (span) => {\n\t\t\tspan.setAttribute('pathname', pathname);\n\t\t\tspan.setAttribute('cached', usingCachedCollections);\n\t\t\tconst collections = options.cachedCollections\n\t\t\t\t? options.cachedCollections\n\t\t\t\t: await loadCollections(cwd, isWatchMode);\n\t\t\tspan.setAttribute('collection_count', Object.keys(collections).length);\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - loadCollections (cached: ${usingCachedCollections}): ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn collections;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\tsetGlobalCollections(byCollectionForSSR);\n\n\t// 6. Inline theme CSS (use cached if available)\n\tconst usingCachedCSS = !!options.cachedThemeCSS;\n\tconst inlineStyleTag = await withSpan('ssr.inline.css', async (span) => {\n\t\tconst css = options.cachedThemeCSS\n\t\t\t? options.cachedThemeCSS\n\t\t\t: await inlineThemeCSS(clientDir, !streaming, isWatchMode);\n\t\tspan.setAttributes({\n\t\t\t'reroute.cached': usingCachedCSS,\n\t\t\t'reroute.css.size': css.length,\n\t\t});\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - inlineThemeCSS (cached: ${usingCachedCSS}): ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t\treturn css;\n\t});\n\tassertNotTimedOut();\n\n\t// 7. Determine initial status override\n\tlet statusOverride = preloadResult.statusOverride;\n\tif (computeResult.statusContainer.value !== undefined) {\n\t\tstatusOverride = computeResult.statusContainer.value;\n\t}\n\n\t// 8. Extract page metadata (with SSR data for dynamic head tags)\n\tconst metadataResult = await withSpan(\n\t\t'ssr.extract.metadata',\n\t\tasync (span) => {\n\t\t\tconst result = await extractPageMetadata(\n\t\t\t\tpathname,\n\t\t\t\tclientDir,\n\t\t\t\tcwd,\n\t\t\t\tisWatchMode,\n\t\t\t\tstatusOverride,\n\t\t\t\togConfig,\n\t\t\t\toptions.ogMetaConfig,\n\t\t\t\toptions.baseUrl,\n\t\t\t\toptions.autoCanonical,\n\t\t\t\tcomputeResult.data,\n\t\t\t\toptions.titleSuffix,\n\t\t\t);\n\t\t\tspan.setAttributes({\n\t\t\t\t'reroute.pathname': pathname,\n\t\t\t\t'reroute.metadata.exists': !!result.perPageHead,\n\t\t\t});\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - extractMetadata: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn result;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\n\treturn {\n\t\tssrData: computeResult.data,\n\t\tssrError: computeResult.error,\n\t\tstatusContainer: computeResult.statusContainer,\n\t\tbyCollectionForSSR,\n\t\tbundlePreload,\n\t\tpreloadExtraHead: preloadResult.extraHead,\n\t\tpreloadHydrationScript: preloadResult.hydrationScript,\n\t\tpreloadStatusOverride: preloadResult.statusOverride,\n\t\tinlineStyleTag,\n\t\tmetadataResult,\n\t\tpending: computeResult.pending,\n\t};\n}\n\n/**\n * Generate hydration scripts for collections that were accessed during SSR.\n */\nfunction generateCollectionScripts(\n\tbyCollectionForSSR: Record<string, unknown[]>,\n\tcapturedResults?: Record<string, unknown[]>,\n): string {\n\ttry {\n\t\tconst g = globalThis as unknown as { __REROUTE_SSR_ACCESSED__?: unknown };\n\t\tconst acc = g.__REROUTE_SSR_ACCESSED__;\n\n\t\tif (acc) {\n\t\t\tconst { subset, partial } = processCollections(\n\t\t\t\tacc,\n\t\t\t\tbyCollectionForSSR,\n\t\t\t\tcapturedResults,\n\t\t\t);\n\t\t\tif (Object.keys(subset).length > 0) {\n\t\t\t\treturn createCollectionScript(subset, partial);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Ignore errors\n\t}\n\treturn '';\n}\n\n/**\n * Generate all hydration scripts for SSR\n */\nfunction generateHydrationScripts(\n\tssrData: Record<string, unknown>,\n\tisWatchMode: boolean,\n\tssrError?: string,\n\tcollectionScripts = '',\n\tpreloadScript = '',\n\tbundleUrl = '',\n\tpathname = '',\n\tbrowserTelemetryConfig?: Record<string, unknown>,\n\ttraceContext?: { traceparent?: string; tracestate?: string },\n\ttitleSuffix?: string,\n\ti18n?: Record<string, unknown>,\n): string {\n\tlet scripts = preloadScript;\n\n\t// Add collection scripts\n\tscripts += collectionScripts;\n\n\t// Add SSR data script (pathname is used to scope content HTML and exports to current request)\n\tscripts += createDataScript(\n\t\tssrData,\n\t\tisWatchMode ? ssrError : undefined,\n\t\tpathname,\n\t\tbrowserTelemetryConfig,\n\t\ttraceContext,\n\t\ttitleSuffix,\n\t\ti18n,\n\t);\n\n\t// Add feeds and llms scripts\n\tscripts += createFeedsScript();\n\tscripts += createLlmsScript();\n\n\t// Add bundle script\n\tif (bundleUrl) {\n\t\tscripts += `<script type=\"module\" src=\"${bundleUrl}\"></script>`;\n\t}\n\n\t// Add dev watcher in watch mode\n\tif (isWatchMode) {\n\t\tscripts += `<script type=\"module\" src=\"/__reroute_watch.js\"></script>`;\n\t}\n\n\treturn scripts;\n}\n\nexport type { SSRSetupOptions, SSRSetupResult };\nexport { performSSRSetup, generateCollectionScripts, generateHydrationScripts };\n",
31
+ "import type { Span } from '@opentelemetry/api';\nimport { withParentSpan, withSpan } from 'reroute-js/telemetry/server';\nimport type { OGImageOptions, OGOptions } from '../../config';\nimport { cleanupPathScopedSSRData } from './cleanup';\nimport {\n\tloadCollections,\n\tresetSSRContentResults,\n\tsetGlobalCollections,\n} from './collections';\nimport { computeSSRData, setGlobalSSRData } from './compute';\nimport { extractPageMetadata } from './metadata';\nimport {\n\tcreateBundlePreload,\n\tpreloadContentModule,\n\tresetSSRAccessTracking,\n} from './preload';\nimport {\n\tcreateCollectionScript,\n\tcreateDataScript,\n\tcreateFeedsScript,\n\tcreateLlmsScript,\n\tprocessCollections,\n} from './scripts';\nimport { seedSSRModuleForPath } from './seed';\nimport { inlineThemeCSS } from './styles';\nimport type { ComputeResult, SSR } from './types';\n\n/**\n * Common SSR options shared between render and stream modes\n */\ntype SSRSetupOptions = {\n\tpathname: string;\n\tclientDir: string;\n\tcwd: string;\n\tisWatchMode: boolean;\n\tbundleUrl: string;\n\tcachedCollections?: Record<string, unknown[]>;\n\tcachedThemeCSS?: string;\n\tdebug?: boolean;\n\tmaxAge?: number;\n\tsearchParams?: URLSearchParams;\n\togConfig?: OGImageOptions;\n\togMetaConfig?: OGOptions;\n\tbaseUrl?: string;\n\tautoCanonical?: boolean;\n\tparentSpan?: Span | null;\n\t/** Request headers from the incoming HTTP request */\n\theaders?: Record<string, string>;\n\t/** Suffix to append to all page titles */\n\ttitleSuffix?: string;\n\t/** Maximum timeout in milliseconds for SSR setup */\n\ttimeout?: number;\n};\n\n/**\n * Result of SSR setup phase\n */\ntype SSRSetupResult = {\n\tssrData: Record<string, unknown>;\n\tssrError?: string;\n\tstatusContainer: { value: number | undefined };\n\tbyCollectionForSSR: Record<string, unknown[]>;\n\tbundlePreload: string;\n\tpreloadExtraHead: string;\n\tpreloadHydrationScript: string;\n\tpreloadStatusOverride?: number;\n\tinlineStyleTag: string;\n\tmetadataResult: {\n\t\tperPageHead: string;\n\t\tpageLang?: string;\n\t\tstatusOverride?: number;\n\t\t/** SSR export for dynamic head generation at stream end */\n\t\tssrExport?: SSR;\n\t};\n\tpending?: Promise<void>;\n};\n\ntype SSRSetupTimeoutState = {\n\ttimedOut: boolean;\n};\n\n/**\n * Perform common SSR setup steps shared between render and stream modes.\n * This includes seeding modules, computing data, loading collections, and preloading.\n */\nasync function performSSRSetup(\n\toptions: SSRSetupOptions,\n\tstreaming = false,\n): Promise<SSRSetupResult> {\n\tconst { pathname } = options;\n\tconst timeoutState: SSRSetupTimeoutState = { timedOut: false };\n\n\t// Add a global timeout for SSR setup to prevent indefinite hangs.\n\t// Consumer-provided timeout takes precedence.\n\tconst setupTimeout = options.timeout ?? (streaming ? 10000 : 30000);\n\tlet timeoutId: ReturnType<typeof setTimeout> | null = null;\n\tconst timeoutPromise = new Promise<never>((_, reject) => {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutState.timedOut = true;\n\t\t\treject(\n\t\t\t\tnew Error(\n\t\t\t\t\t`[reroute] SSR setup timeout after ${setupTimeout}ms for ${pathname}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}, setupTimeout);\n\t});\n\tconst setupPromise = withParentSpan(options.parentSpan, () =>\n\t\tperformSSRSetupInternal(options, streaming, timeoutState),\n\t);\n\tconst setupPromiseWithCleanup = setupPromise.finally(() => {\n\t\tif (timeoutState.timedOut) {\n\t\t\tcleanupPathScopedSSRData(pathname);\n\t\t}\n\t});\n\n\ttry {\n\t\treturn await Promise.race([setupPromiseWithCleanup, timeoutPromise]);\n\t} catch (error) {\n\t\tcleanupPathScopedSSRData(pathname);\n\t\tconsole.error('[reroute] SSR setup error:', error);\n\t\t// Return minimal setup result to allow page to render with fallback\n\t\treturn {\n\t\t\tssrData: {},\n\t\t\tssrError: error instanceof Error ? error.message : String(error),\n\t\t\tstatusContainer: { value: 500 },\n\t\t\tbyCollectionForSSR: {},\n\t\t\tbundlePreload: '',\n\t\t\tpreloadExtraHead: '',\n\t\t\tpreloadHydrationScript: '',\n\t\t\tinlineStyleTag: '',\n\t\t\tmetadataResult: { perPageHead: '' },\n\t\t};\n\t} finally {\n\t\tif (timeoutId) {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\t}\n}\n\n/**\n * Internal SSR setup implementation (wrapped with timeout above)\n */\nasync function performSSRSetupInternal(\n\toptions: SSRSetupOptions,\n\tstreaming: boolean,\n\ttimeoutState: SSRSetupTimeoutState,\n): Promise<SSRSetupResult> {\n\tconst debug = options.debug ?? false;\n\tconst t0 = debug ? performance.now() : 0;\n\tconst {\n\t\tpathname,\n\t\tclientDir,\n\t\tcwd,\n\t\tisWatchMode,\n\t\tbundleUrl,\n\t\tmaxAge = 0,\n\t\tsearchParams,\n\t\togConfig,\n\t} = options;\n\tconst assertNotTimedOut = () => {\n\t\tif (timeoutState.timedOut) {\n\t\t\tthrow new Error(`[reroute] SSR setup cancelled for ${pathname}`);\n\t\t}\n\t};\n\n\t// Note: We don't reset SSR globals here because multiple requests may run concurrently.\n\t// Instead, we use pathname-scoped serialization to ensure each response only includes\n\t// its own data (see createContentHtmlScript and createSSRExportsScript).\n\n\t// 1. Seed content modules for SSR rendering\n\tawait withSpan('ssr.seed', async (span) => {\n\t\tspan.setAttribute('pathname', pathname);\n\t\tspan.setAttribute('streaming', streaming);\n\t\tawait seedSSRModuleForPath(pathname, clientDir, cwd, isWatchMode);\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - seedModule: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t});\n\tassertNotTimedOut();\n\n\t// 2. Reset SSR access tracking and create bundle preload\n\tresetSSRAccessTracking();\n\tresetSSRContentResults();\n\tconst bundlePreload = createBundlePreload(bundleUrl);\n\n\t// 3. Preload content module\n\tconst preloadResult = await withSpan('ssr.preload', async (span) => {\n\t\tspan.setAttribute('pathname', pathname);\n\t\tconst result = await preloadContentModule(\n\t\t\tpathname,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t);\n\t\tspan.setAttribute('has_module', !!result.modulePath);\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - preloadContent: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t\treturn result;\n\t});\n\tassertNotTimedOut();\n\n\t// 4. Compute SSR data\n\tconst computeResult: ComputeResult = await withSpan(\n\t\t'ssr.compute.data',\n\t\tasync (span) => {\n\t\t\tspan.setAttribute('pathname', pathname);\n\t\t\tspan.setAttribute('streaming', streaming);\n\t\t\tconst result = await computeSSRData(\n\t\t\t\tpathname,\n\t\t\t\tclientDir,\n\t\t\t\tcwd,\n\t\t\t\tisWatchMode,\n\t\t\t\t{ streaming, maxAge, headers: options.headers },\n\t\t\t\tsearchParams,\n\t\t\t);\n\t\t\tspan.setAttribute('has_error', !!result.error);\n\t\t\tspan.setAttribute('has_data', Object.keys(result.data).length > 0);\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - computeSSRData: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn result;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\n\tsetGlobalSSRData(computeResult.data);\n\n\t// 5. Load content collections (use cached if available)\n\tconst usingCachedCollections = !!options.cachedCollections;\n\tconst byCollectionForSSR = await withSpan(\n\t\t'ssr.load.collections',\n\t\tasync (span) => {\n\t\t\tspan.setAttribute('pathname', pathname);\n\t\t\tspan.setAttribute('cached', usingCachedCollections);\n\t\t\tconst collections = options.cachedCollections\n\t\t\t\t? options.cachedCollections\n\t\t\t\t: await loadCollections(cwd, isWatchMode);\n\t\t\tspan.setAttribute('collection_count', Object.keys(collections).length);\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - loadCollections (cached: ${usingCachedCollections}): ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn collections;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\tsetGlobalCollections(byCollectionForSSR);\n\n\t// 6. Theme stylesheet tag (use cached if available)\n\tconst usingCachedCSS = !!options.cachedThemeCSS;\n\tconst inlineStyleTag = await withSpan('ssr.inline.css', async (span) => {\n\t\tconst css = options.cachedThemeCSS\n\t\t\t? options.cachedThemeCSS\n\t\t\t: await inlineThemeCSS(clientDir, isWatchMode);\n\t\tspan.setAttributes({\n\t\t\t'reroute.cached': usingCachedCSS,\n\t\t\t'reroute.css.size': css.length,\n\t\t});\n\t\tif (debug)\n\t\t\tconsole.log(\n\t\t\t\t`[Setup] ${pathname} - inlineThemeCSS (cached: ${usingCachedCSS}): ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t);\n\t\treturn css;\n\t});\n\tassertNotTimedOut();\n\n\t// 7. Determine initial status override\n\tlet statusOverride = preloadResult.statusOverride;\n\tif (computeResult.statusContainer.value !== undefined) {\n\t\tstatusOverride = computeResult.statusContainer.value;\n\t}\n\n\t// 8. Extract page metadata (with SSR data for dynamic head tags)\n\tconst metadataResult = await withSpan(\n\t\t'ssr.extract.metadata',\n\t\tasync (span) => {\n\t\t\tconst result = await extractPageMetadata(\n\t\t\t\tpathname,\n\t\t\t\tclientDir,\n\t\t\t\tcwd,\n\t\t\t\tisWatchMode,\n\t\t\t\tstatusOverride,\n\t\t\t\togConfig,\n\t\t\t\toptions.ogMetaConfig,\n\t\t\t\toptions.baseUrl,\n\t\t\t\toptions.autoCanonical,\n\t\t\t\tcomputeResult.data,\n\t\t\t\toptions.titleSuffix,\n\t\t\t);\n\t\t\tspan.setAttributes({\n\t\t\t\t'reroute.pathname': pathname,\n\t\t\t\t'reroute.metadata.exists': !!result.perPageHead,\n\t\t\t});\n\t\t\tif (debug)\n\t\t\t\tconsole.log(\n\t\t\t\t\t`[Setup] ${pathname} - extractMetadata: ${(performance.now() - t0).toFixed(2)}ms`,\n\t\t\t\t);\n\t\t\treturn result;\n\t\t},\n\t);\n\tassertNotTimedOut();\n\n\treturn {\n\t\tssrData: computeResult.data,\n\t\tssrError: computeResult.error,\n\t\tstatusContainer: computeResult.statusContainer,\n\t\tbyCollectionForSSR,\n\t\tbundlePreload,\n\t\tpreloadExtraHead: preloadResult.extraHead,\n\t\tpreloadHydrationScript: preloadResult.hydrationScript,\n\t\tpreloadStatusOverride: preloadResult.statusOverride,\n\t\tinlineStyleTag,\n\t\tmetadataResult,\n\t\tpending: computeResult.pending,\n\t};\n}\n\n/**\n * Generate hydration scripts for collections that were accessed during SSR.\n */\nfunction generateCollectionScripts(\n\tbyCollectionForSSR: Record<string, unknown[]>,\n\tcapturedResults?: Record<string, unknown[]>,\n): string {\n\ttry {\n\t\tconst g = globalThis as unknown as { __REROUTE_SSR_ACCESSED__?: unknown };\n\t\tconst acc = g.__REROUTE_SSR_ACCESSED__;\n\n\t\tif (acc) {\n\t\t\tconst { subset, partial } = processCollections(\n\t\t\t\tacc,\n\t\t\t\tbyCollectionForSSR,\n\t\t\t\tcapturedResults,\n\t\t\t);\n\t\t\tif (Object.keys(subset).length > 0) {\n\t\t\t\treturn createCollectionScript(subset, partial);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Ignore errors\n\t}\n\treturn '';\n}\n\n/**\n * Generate all hydration scripts for SSR\n */\nfunction generateHydrationScripts(\n\tssrData: Record<string, unknown>,\n\tisWatchMode: boolean,\n\tssrError?: string,\n\tcollectionScripts = '',\n\tpreloadScript = '',\n\tbundleUrl = '',\n\tpathname = '',\n\tbrowserTelemetryConfig?: Record<string, unknown>,\n\ttraceContext?: { traceparent?: string; tracestate?: string },\n\ttitleSuffix?: string,\n\ti18n?: Record<string, unknown>,\n): string {\n\tlet scripts = preloadScript;\n\n\t// Add collection scripts\n\tscripts += collectionScripts;\n\n\t// Add SSR data script (pathname is used to scope content HTML and exports to current request)\n\tscripts += createDataScript(\n\t\tssrData,\n\t\tisWatchMode ? ssrError : undefined,\n\t\tpathname,\n\t\tbrowserTelemetryConfig,\n\t\ttraceContext,\n\t\ttitleSuffix,\n\t\ti18n,\n\t);\n\n\t// Add feeds and llms scripts\n\tscripts += createFeedsScript();\n\tscripts += createLlmsScript();\n\n\t// Add bundle script\n\tif (bundleUrl) {\n\t\tscripts += `<script type=\"module\" src=\"${bundleUrl}\"></script>`;\n\t}\n\n\t// Add dev watcher in watch mode\n\tif (isWatchMode) {\n\t\tscripts += `<script type=\"module\" src=\"/__reroute_watch.js\"></script>`;\n\t}\n\n\treturn scripts;\n}\n\nexport type { SSRSetupOptions, SSRSetupResult };\nexport { performSSRSetup, generateCollectionScripts, generateHydrationScripts };\n",
32
32
  "// Types\n\n// Core utilities\nexport * from './cache';\nexport * from './cleanup';\n// Content handling\nexport * from './collections';\n// HTTP utilities\nexport * from './compression';\n// SSR compute\nexport * from './compute';\nexport { computeSSRDataForPath } from './data';\n// HTML handling\nexport * from './html';\nexport * from './imports';\nexport * from './layouts';\nexport * from './metadata';\nexport * from './mime';\nexport * from './modules';\nexport * from './path';\nexport * from './preload';\nexport * from './route-match';\n// Script generation\nexport * from './scripts';\nexport * from './seed';\n// Shared setup\nexport * from './setup';\nexport * from './styles';\nexport * from './template';\nexport * from './types';\n",
33
33
  "import type { Span } from '@opentelemetry/api';\nimport dedent from 'dedent';\nimport { cloneElement, type ReactElement } from 'react';\nimport { renderToString } from 'react-dom/server';\nimport {\n\tgetTraceContextForInjection,\n\twithSpan,\n\twithSpanSync,\n} from 'reroute-js/telemetry/server';\nimport { loadConfig, type OGImageOptions, type OGOptions } from '../config';\nimport { appendLlmsAlternateHead } from '../llms/discovery';\nimport {\n\ttype Doc,\n\tduplicateQueryParamData,\n\tgenerateCollectionScripts,\n\tgenerateHydrationScripts,\n\tperformSSRSetup,\n\tresetSSRContentResults,\n\tsetGlobalSSRData,\n\ttakeSSRContentResults,\n} from './lib';\nimport { applyIndexTemplate, loadIndexHtml } from './lib/html';\n\ntype SSRRenderOptions = {\n\tpathname: string;\n\trootComponent: ReactElement;\n\tclientDir: string;\n\tcwd: string;\n\tisWatchMode: boolean;\n\tbundleUrl: string;\n\tcachedCollections?: Record<string, unknown[]>;\n\tcachedThemeCSS?: string;\n\thead?: string;\n\tlang?: string;\n\tappId?: string;\n\tminify?: boolean;\n\tmaxAge?: number;\n\tsearchParams?: URLSearchParams;\n\togConfig?: OGImageOptions;\n\togMetaConfig?: OGOptions;\n\tbaseUrl?: string;\n\tautoCanonical?: boolean;\n\tparentSpan?: Span | null;\n\t/** Request headers from the incoming HTTP request */\n\theaders?: Record<string, string>;\n\t/** Suffix to append to all page titles */\n\ttitleSuffix?: string;\n\t/** Hydrated i18n state (opt-in) */\n\ti18n?: Record<string, unknown>;\n};\n\ntype SSRRenderResult = {\n\thtml: string;\n\tstatus: number;\n};\n\n/**\n * Render a React component to a complete HTML document for SSR.\n * Uses synchronous rendering (renderToString) for full HTML generation.\n */\nasync function renderSSRDocument(\n\toptions: SSRRenderOptions,\n): Promise<SSRRenderResult> {\n\tconst {\n\t\tpathname,\n\t\trootComponent,\n\t\tclientDir,\n\t\tcwd,\n\t\tisWatchMode,\n\t\tbundleUrl,\n\t\thead = '',\n\t\tlang = 'en',\n\t\tappId = 'root',\n\t\tmaxAge = 0,\n\t\tsearchParams,\n\t\togConfig,\n\t} = options;\n\n\t// Perform shared SSR setup\n\tconst setup = await performSSRSetup(\n\t\t{\n\t\t\tpathname,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t\tparentSpan: options.parentSpan,\n\t\t\tbundleUrl,\n\t\t\tmaxAge,\n\t\t\tsearchParams,\n\t\t\togConfig,\n\t\t\togMetaConfig: options.ogMetaConfig,\n\t\t\tbaseUrl: options.baseUrl,\n\t\t\tautoCanonical: options.autoCanonical,\n\t\t\tcachedCollections: options.cachedCollections,\n\t\t\tcachedThemeCSS: options.cachedThemeCSS,\n\t\t\theaders: options.headers,\n\t\t\ttitleSuffix: options.titleSuffix,\n\t\t},\n\t\tfalse, // not streaming\n\t);\n\n\t// Duplicate data for query param routes\n\tconst duplicatedData = duplicateQueryParamData(setup.ssrData);\n\tsetGlobalSSRData(duplicatedData);\n\n\t// Render React component to string.\n\t// The capture buffer is reset and read around the synchronous render so a\n\t// concurrent request cannot mix its items (and locale) into this response.\n\tlet capturedResults: Record<string, unknown[]> | undefined;\n\tconst appHtml = await withSpan('ssr.render.react', async (span) => {\n\t\tconst componentWithPathname = cloneElement<Doc>(rootComponent, {\n\t\t\tpathname,\n\t\t\tsearchParams,\n\t\t} as Doc);\n\t\tspan.setAttribute('reroute.pathname', pathname);\n\t\tresetSSRContentResults();\n\t\tconst html = renderToString(componentWithPathname);\n\t\tcapturedResults = takeSSRContentResults();\n\t\tspan.setAttribute('reroute.html.final.size', html.length);\n\t\treturn html;\n\t});\n\n\t// Load base template\n\tconst baseTemplate = await withSpan('ssr.load.template', async (span) => {\n\t\tconst template = await loadIndexHtml(clientDir);\n\t\tspan.setAttribute('reroute.template.size', template.length);\n\t\treturn template;\n\t});\n\n\t// Generate collection scripts from accessed collections\n\tconst collectionScripts = generateCollectionScripts(\n\t\tsetup.byCollectionForSSR,\n\t\tcapturedResults,\n\t);\n\n\t// Load config to get browser telemetry settings\n\tconst config = await loadConfig(cwd);\n\tconst browserTelemetryConfigRaw = config.telemetry?.browser as\n\t\t| Record<string, unknown>\n\t\t| undefined;\n\n\t// Serialize browser telemetry config (convert functions to strings for JSON)\n\tconst { serializeBrowserTelemetryConfig } = await import('./lib/serialize');\n\tconst browserTelemetryConfig = serializeBrowserTelemetryConfig(\n\t\tbrowserTelemetryConfigRaw,\n\t);\n\n\t// Extract trace context from parent span for distributed tracing\n\tconst traceContext = getTraceContextForInjection(options.parentSpan);\n\n\t// Generate all hydration scripts\n\tconst hydrationScript = await withSpan(\n\t\t'ssr.generate.scripts',\n\t\tasync (span) => {\n\t\t\tconst script = generateHydrationScripts(\n\t\t\t\tsetup.ssrData,\n\t\t\t\tisWatchMode,\n\t\t\t\tsetup.ssrError,\n\t\t\t\tcollectionScripts,\n\t\t\t\tsetup.preloadHydrationScript,\n\t\t\t\tbundleUrl,\n\t\t\t\tpathname,\n\t\t\t\tbrowserTelemetryConfig,\n\t\t\t\ttraceContext,\n\t\t\t\toptions.titleSuffix,\n\t\t\t\toptions.i18n,\n\t\t\t);\n\t\t\tspan.setAttribute('reroute.scripts.size', script.length);\n\t\t\treturn script;\n\t\t},\n\t);\n\n\t// Determine final status (only override if value is set)\n\tlet statusOverride = setup.preloadStatusOverride;\n\tif (setup.statusContainer.value !== undefined) {\n\t\tstatusOverride = setup.statusContainer.value;\n\t}\n\tif (setup.metadataResult.statusOverride !== undefined) {\n\t\tstatusOverride = setup.metadataResult.statusOverride;\n\t}\n\n\tconst extraHead = appendLlmsAlternateHead(\n\t\tsetup.bundlePreload + setup.preloadExtraHead,\n\t\tpathname,\n\t\tstatusOverride || 200,\n\t\tconfig.llms,\n\t);\n\tconst combinedHead = dedent(\n\t\t[\n\t\t\tdedent(head) || '',\n\t\t\tdedent(extraHead),\n\t\t\tdedent(setup.metadataResult.perPageHead),\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join('\\n'),\n\t);\n\n\tconst i18nLocale = options.i18n?.enabled\n\t\t? String(options.i18n.locale || '')\n\t\t: '';\n\n\t// Apply template with SSR content\n\tconst html = withSpanSync('ssr.apply.template', (span) => {\n\t\tconst result = applyIndexTemplate(baseTemplate, appHtml, {\n\t\t\thead: [setup.inlineStyleTag, combinedHead].filter(Boolean).join('\\n'),\n\t\t\thydrationScript,\n\t\t\tlang: setup.metadataResult.pageLang || i18nLocale || lang,\n\t\t\tappId,\n\t\t});\n\t\tspan.setAttributes({\n\t\t\t'reroute.html.final.size': result.length,\n\t\t\t'reroute.html.original.size': appHtml.length,\n\t\t});\n\t\treturn result;\n\t});\n\n\treturn {\n\t\thtml,\n\t\tstatus: statusOverride || 200,\n\t};\n}\n\nexport { renderSSRDocument, type SSRRenderOptions, type SSRRenderResult };\n",
34
34
  "import { pathToFileURL } from 'node:url';\nimport type { ReactElement } from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport type { LLMsOptions } from '../config';\nimport { join } from '../ssr/lib/path';\nimport type { Doc } from '../ssr/lib/types';\nimport { renderSSRDocument } from '../ssr/render';\nimport { extractTitle, htmlToMarkdown, stripHtmlTags } from './formatter';\n\n/**\n * Check if a route should be excluded from LLM features\n * Supports strings (substring match), RegExp, and custom functions\n */\nexport function shouldExcludeRoute(\n\tpathname: string,\n\texcludeRoutes?: (string | RegExp | ((pathname: string) => boolean))[],\n): boolean {\n\tif (!excludeRoutes || excludeRoutes.length === 0) {\n\t\treturn false;\n\t}\n\n\treturn Boolean(\n\t\texcludeRoutes.find((pattern) => {\n\t\t\tif (typeof pattern === 'string') {\n\t\t\t\t// Substring match for simplicity\n\t\t\t\treturn pathname.includes(pattern);\n\t\t\t}\n\t\t\tif (pattern instanceof RegExp) {\n\t\t\t\treturn pattern.test(pathname);\n\t\t\t}\n\t\t\tif (typeof pattern === 'function') {\n\t\t\t\treturn pattern(pathname);\n\t\t\t}\n\t\t\treturn false;\n\t\t}),\n\t);\n}\n\nasync function loadCollectionItem(\n\tcwd: string,\n\tpathname: string,\n\tisWatchMode: boolean,\n): Promise<{ item: Doc; collection: string } | null> {\n\tconst parts = pathname.split('/').filter(Boolean);\n\tif (parts.length < 2) return null;\n\n\tconst collection = parts[0];\n\tconst collectionFile = join(\n\t\tcwd,\n\t\t'.reroute',\n\t\t'collections',\n\t\t`${collection}.js`,\n\t);\n\tconst exists = await Bun.file(collectionFile).exists();\n\tif (!exists) return null;\n\n\tconst url = `${pathToFileURL(collectionFile).href}${isWatchMode ? `?t=${Date.now()}` : ''}`;\n\tconst mod = await import(url);\n\tconst items = mod.items || [];\n\n\tconst item = items.find((i: Doc) => i.href === pathname);\n\tif (!item) return null;\n\n\treturn { item, collection };\n}\n\nasync function findComponentPath(\n\tclientDir: string,\n\tcollection: string,\n\tslug: string,\n): Promise<string | null> {\n\tconst extensions = ['.mdx', '.md', '.tsx', '.jsx'];\n\n\tfor (const ext of extensions) {\n\t\tconst testPath = join(\n\t\t\tclientDir,\n\t\t\t'routes',\n\t\t\tcollection,\n\t\t\t'content',\n\t\t\t`${slug}${ext}`,\n\t\t);\n\t\tconst file = Bun.file(testPath);\n\t\tif (await file.exists()) {\n\t\t\treturn testPath;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nfunction stripFrontmatterAndJsx(content: string, isMdx: boolean): string {\n\tlet rawContent = content.replace(/^---\\n[\\s\\S]*?\\n---\\n/, '');\n\n\tif (isMdx) {\n\t\trawContent = rawContent.replace(\n\t\t\t/^import\\s+.*?from\\s+['\"].*?['\"];?\\s*$/gm,\n\t\t\t'',\n\t\t);\n\t\trawContent = rawContent.replace(/<[A-Z][\\w]*[^>]*\\/>/g, '');\n\t\trawContent = rawContent.replace(\n\t\t\t/<[A-Z][\\w]*[^>]*>[\\s\\S]*?<\\/[A-Z][\\w]*>/g,\n\t\t\t'',\n\t\t);\n\t}\n\n\treturn rawContent.trim();\n}\n\nasync function extractMarkdownContent(\n\tcomponentPath: string,\n\tmeta: Record<string, unknown>,\n): Promise<{ title?: string; body: string; markdown: string }> {\n\tconst file = Bun.file(componentPath);\n\tlet rawContent = await file.text();\n\n\tconst isMdx = componentPath.endsWith('.mdx');\n\trawContent = stripFrontmatterAndJsx(rawContent, isMdx);\n\n\treturn {\n\t\ttitle: (meta.title as string) || extractTitle(rawContent),\n\t\tbody: stripHtmlTags(rawContent),\n\t\tmarkdown: rawContent,\n\t};\n}\n\nasync function extractComponentContent(\n\tcomponentPath: string,\n\tmeta: Record<string, unknown>,\n\tisWatchMode: boolean,\n): Promise<{ title?: string; body: string; markdown: string } | null> {\n\ttry {\n\t\tconst componentUrl = `${pathToFileURL(componentPath).href}${isWatchMode ? `?t=${Date.now()}` : ''}`;\n\t\tconst componentMod = await import(componentUrl);\n\n\t\tconst Component = componentMod.default;\n\t\tif (!Component || typeof Component !== 'function') return null;\n\n\t\tconst html = renderToStaticMarkup(Component({}));\n\n\t\treturn {\n\t\t\ttitle: (meta.title as string) || extractTitle(html),\n\t\t\tbody: stripHtmlTags(html),\n\t\t\tmarkdown: htmlToMarkdown(html),\n\t\t};\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[reroute/llms] Failed to import component ${componentPath}:`,\n\t\t\terror,\n\t\t);\n\t\treturn null;\n\t}\n}\n\n/**\n * Extract content from a collection item (markdown/mdx)\n */\nasync function extractCollectionContent(\n\tcwd: string,\n\tclientDir: string,\n\tpathname: string,\n\tisWatchMode: boolean,\n\t_format: 'txt' | 'md',\n): Promise<{ title?: string; body: string; markdown: string } | null> {\n\ttry {\n\t\tconst collectionData = await loadCollectionItem(cwd, pathname, isWatchMode);\n\t\tif (!collectionData) return null;\n\n\t\tconst { item, collection } = collectionData;\n\t\tconst slug = item.slug || item.name;\n\t\tif (!slug) return null;\n\n\t\tconst componentPath = await findComponentPath(clientDir, collection, slug);\n\t\tif (!componentPath) return null;\n\n\t\tconst meta = item.meta || {};\n\n\t\tif (componentPath.endsWith('.md') || componentPath.endsWith('.mdx')) {\n\t\t\treturn await extractMarkdownContent(componentPath, meta);\n\t\t}\n\n\t\treturn await extractComponentContent(componentPath, meta, isWatchMode);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[reroute/llms] Failed to extract collection content for ${pathname}:`,\n\t\t\terror,\n\t\t);\n\t\treturn null;\n\t}\n}\n\n/**\n * Extract content from an SSR route using full app rendering\n */\nasync function extractSSRContent(\n\tpathname: string,\n\trootComponent: ReactElement,\n\tclientDir: string,\n\tcwd: string,\n\tisWatchMode: boolean,\n\tbundleUrl: string,\n\t_format: 'txt' | 'md',\n): Promise<{ title?: string; body: string; markdown: string } | null> {\n\ttry {\n\t\t// Use the full SSR rendering pipeline to get the complete HTML\n\t\t// This includes all providers, context, and hooks - just like a real request\n\t\tconst { html } = await renderSSRDocument({\n\t\t\tpathname,\n\t\t\trootComponent,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t\tbundleUrl,\n\t\t\tminify: false,\n\t\t\tmaxAge: 0,\n\t\t});\n\n\t\t// Extract just the content from the rendered HTML\n\t\t// Remove script tags, styles, nav, footer, etc.\n\t\tlet contentHtml = html;\n\n\t\t// Extract the body content (inside the app div)\n\t\tconst appDivMatch = html.match(/<div id=\"[^\"]+\">(.+?)<\\/div>\\s*<script/s);\n\t\tif (appDivMatch) {\n\t\t\tcontentHtml = appDivMatch[1];\n\t\t}\n\n\t\t// Remove nav and footer elements (common layout noise)\n\t\tcontentHtml = contentHtml.replace(/<nav[\\s\\S]*?<\\/nav>/gi, '');\n\t\tcontentHtml = contentHtml.replace(/<footer[\\s\\S]*?<\\/footer>/gi, '');\n\t\tcontentHtml = contentHtml.replace(/<header[\\s\\S]*?<\\/header>/gi, '');\n\t\tcontentHtml = contentHtml.replace(/<aside[\\s\\S]*?<\\/aside>/gi, '');\n\n\t\treturn {\n\t\t\ttitle: extractTitle(html),\n\t\t\tbody: stripHtmlTags(contentHtml),\n\t\t\tmarkdown: htmlToMarkdown(contentHtml),\n\t\t};\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[reroute/llms] Failed to extract SSR content for ${pathname}:`,\n\t\t\terror,\n\t\t);\n\t\treturn null;\n\t}\n}\n\n/**\n * Main content extraction function\n * Extracts clean, LLM-optimized content from any route type\n */\nexport async function extractContentForLLMs(options: {\n\tpathname: string;\n\trootComponent?: ReactElement;\n\tclientDir: string;\n\tcwd: string;\n\tisWatchMode: boolean;\n\tbundleUrl?: string;\n\tformat: 'txt' | 'md';\n\tllmsConfig?: LLMsOptions;\n}): Promise<string> {\n\tconst {\n\t\tpathname,\n\t\trootComponent,\n\t\tclientDir,\n\t\tcwd,\n\t\tisWatchMode,\n\t\tbundleUrl,\n\t\tformat,\n\t\tllmsConfig,\n\t} = options;\n\n\t// Check if route should be excluded\n\tif (shouldExcludeRoute(pathname, llmsConfig?.excludeRoutes)) {\n\t\tthrow new Error('Route excluded from LLM features');\n\t}\n\n\t// Try collection content first (most common case for content sites)\n\tlet content = await extractCollectionContent(\n\t\tcwd,\n\t\tclientDir,\n\t\tpathname,\n\t\tisWatchMode,\n\t\tformat,\n\t);\n\n\t// Fall back to SSR route (uses full app rendering)\n\tif (!content && rootComponent && bundleUrl) {\n\t\tcontent = await extractSSRContent(\n\t\t\tpathname,\n\t\t\trootComponent,\n\t\t\tclientDir,\n\t\t\tcwd,\n\t\t\tisWatchMode,\n\t\t\tbundleUrl,\n\t\t\tformat,\n\t\t);\n\t}\n\n\t// If we still don't have content, throw\n\tif (!content) {\n\t\tthrow new Error('Content not found');\n\t}\n\n\t// Return based on format\n\tif (format === 'md') {\n\t\t// Return markdown with title as h1\n\t\tconst parts: string[] = [];\n\t\tif (content.title) {\n\t\t\tparts.push(`# ${content.title}`);\n\t\t\tparts.push('');\n\t\t}\n\t\tparts.push(content.markdown);\n\t\treturn parts.join('\\n');\n\t}\n\n\t// Return plain text\n\tconst parts: string[] = [];\n\tif (content.title) {\n\t\tparts.push(content.title);\n\t\tparts.push('');\n\t}\n\tparts.push(content.body);\n\treturn parts.join('\\n');\n}\n",
@@ -52,6 +52,6 @@
52
52
  "export * from './src/server';\n"
53
53
  ],
54
54
  "mappings": "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",
55
- "debugId": "29307E7FB67683C064756E2164756E21",
55
+ "debugId": "5DFE5E2BF3C475B864756E2164756E21",
56
56
  "names": []
57
57
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.12
2
+ * reroute-js v1.0.0-alpha.13
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>