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

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 (202) hide show
  1. package/cli/bin.d.ts +1 -1
  2. package/cli/bin.js +112 -67
  3. package/cli/bin.js.map +7 -7
  4. package/cli/index.d.ts +1 -1
  5. package/cli/index.js +28 -11
  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 +5 -4
  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 +57 -29
  37. package/core/index.js.map +5 -5
  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 +6 -1
  55. package/core/src/llms/extractor.d.ts.map +1 -1
  56. package/core/src/llms/formatter.d.ts +1 -1
  57. package/core/src/llms/full-generator.d.ts +1 -1
  58. package/core/src/llms/index-generator.d.ts +1 -1
  59. package/core/src/llms/index.d.ts +2 -2
  60. package/core/src/llms/index.d.ts.map +1 -1
  61. package/core/src/og/discovery.d.ts +1 -1
  62. package/core/src/og/index.d.ts +1 -1
  63. package/core/src/og/meta.d.ts +1 -1
  64. package/core/src/og/render.d.ts +1 -1
  65. package/core/src/og/types.d.ts +1 -1
  66. package/core/src/robots/discovery.d.ts +1 -1
  67. package/core/src/robots/generator.d.ts +1 -1
  68. package/core/src/robots/index.d.ts +1 -1
  69. package/core/src/robots/policies.d.ts +1 -1
  70. package/core/src/rss/discovery.d.ts +1 -1
  71. package/core/src/rss/generator.d.ts +1 -1
  72. package/core/src/rss/index.d.ts +1 -1
  73. package/core/src/sitemap/discovery.d.ts +1 -1
  74. package/core/src/sitemap/generator.d.ts +1 -1
  75. package/core/src/sitemap/index.d.ts +1 -1
  76. package/core/src/ssr/index.d.ts +1 -1
  77. package/core/src/ssr/lib/cache.d.ts +1 -1
  78. package/core/src/ssr/lib/cleanup.d.ts +1 -1
  79. package/core/src/ssr/lib/collections.d.ts +1 -1
  80. package/core/src/ssr/lib/compression.d.ts +1 -1
  81. package/core/src/ssr/lib/compute/content.d.ts +1 -1
  82. package/core/src/ssr/lib/compute/index.d.ts +1 -1
  83. package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
  84. package/core/src/ssr/lib/compute/routes.d.ts +1 -1
  85. package/core/src/ssr/lib/content-path.d.ts +1 -1
  86. package/core/src/ssr/lib/data.d.ts +1 -1
  87. package/core/src/ssr/lib/html.d.ts +1 -1
  88. package/core/src/ssr/lib/imports.d.ts +1 -1
  89. package/core/src/ssr/lib/index.d.ts +1 -1
  90. package/core/src/ssr/lib/layouts.d.ts +1 -1
  91. package/core/src/ssr/lib/metadata.d.ts +1 -1
  92. package/core/src/ssr/lib/mime.d.ts +1 -1
  93. package/core/src/ssr/lib/modules.d.ts +1 -1
  94. package/core/src/ssr/lib/path.d.ts +1 -1
  95. package/core/src/ssr/lib/preload.d.ts +1 -1
  96. package/core/src/ssr/lib/route-match.d.ts +1 -1
  97. package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
  98. package/core/src/ssr/lib/scripts/data.d.ts +1 -1
  99. package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
  100. package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
  101. package/core/src/ssr/lib/scripts/index.d.ts +1 -1
  102. package/core/src/ssr/lib/seed.d.ts +1 -1
  103. package/core/src/ssr/lib/serialize.d.ts +1 -1
  104. package/core/src/ssr/lib/setup.d.ts +1 -1
  105. package/core/src/ssr/lib/styles.d.ts +4 -6
  106. package/core/src/ssr/lib/styles.d.ts.map +1 -1
  107. package/core/src/ssr/lib/template.d.ts +1 -1
  108. package/core/src/ssr/lib/types.d.ts +1 -1
  109. package/core/src/ssr/render.d.ts +1 -1
  110. package/core/src/ssr/stream.d.ts +1 -1
  111. package/elysia/index.d.ts +1 -1
  112. package/elysia/index.js +69 -64
  113. package/elysia/index.js.map +7 -7
  114. package/elysia/src/index.d.ts +1 -1
  115. package/elysia/src/libs/assets.d.ts +1 -1
  116. package/elysia/src/libs/cache.d.ts +1 -1
  117. package/elysia/src/libs/caching.d.ts +1 -1
  118. package/elysia/src/libs/http.d.ts +1 -1
  119. package/elysia/src/libs/i18n.d.ts +1 -1
  120. package/elysia/src/libs/image.d.ts +1 -1
  121. package/elysia/src/libs/index.d.ts +1 -1
  122. package/elysia/src/libs/llms.d.ts +1 -1
  123. package/elysia/src/libs/response.d.ts +1 -1
  124. package/elysia/src/libs/serving.d.ts +1 -1
  125. package/elysia/src/plugin.d.ts +1 -1
  126. package/elysia/src/routes/artifacts.d.ts +1 -1
  127. package/elysia/src/routes/artifacts.d.ts.map +1 -1
  128. package/elysia/src/routes/content.d.ts +1 -1
  129. package/elysia/src/routes/image.d.ts +1 -1
  130. package/elysia/src/routes/index.d.ts +1 -1
  131. package/elysia/src/routes/internal.d.ts +1 -1
  132. package/elysia/src/routes/liveReloadClient.d.ts +1 -1
  133. package/elysia/src/routes/llms.d.ts +1 -1
  134. package/elysia/src/routes/og.d.ts +1 -1
  135. package/elysia/src/routes/redirects.d.ts +1 -1
  136. package/elysia/src/routes/robots.d.ts +1 -1
  137. package/elysia/src/routes/rss.d.ts +1 -1
  138. package/elysia/src/routes/search.d.ts +1 -1
  139. package/elysia/src/routes/sitemap.d.ts +1 -1
  140. package/elysia/src/routes/ssr.d.ts +1 -1
  141. package/elysia/src/routes/static.d.ts +1 -1
  142. package/elysia/src/routes/themeCssRefresh.d.ts +1 -1
  143. package/elysia/src/types.d.ts +1 -1
  144. package/package.json +1 -1
  145. package/react/index.d.ts +1 -1
  146. package/react/index.js +2 -2
  147. package/react/index.js.map +1 -1
  148. package/react/src/components/ClientOnly.d.ts +1 -1
  149. package/react/src/components/ContentRoute.d.ts +1 -1
  150. package/react/src/components/Image.d.ts +1 -1
  151. package/react/src/components/LazyRoute.d.ts +1 -1
  152. package/react/src/components/Link.d.ts +1 -1
  153. package/react/src/components/Markdown.d.ts +1 -1
  154. package/react/src/components/Outlet.d.ts +1 -1
  155. package/react/src/components/index.d.ts +1 -1
  156. package/react/src/hooks/index.d.ts +1 -1
  157. package/react/src/hooks/useContent.d.ts +1 -1
  158. package/react/src/hooks/useData.d.ts +1 -1
  159. package/react/src/hooks/useFeed.d.ts +1 -1
  160. package/react/src/hooks/useLayoutData.d.ts +1 -1
  161. package/react/src/hooks/useLlms.d.ts +1 -1
  162. package/react/src/hooks/useNavigate.d.ts +1 -1
  163. package/react/src/hooks/useParams.d.ts +1 -1
  164. package/react/src/hooks/useRouter.d.ts +1 -1
  165. package/react/src/hooks/useSearch.d.ts +1 -1
  166. package/react/src/hooks/useSearchParams.d.ts +1 -1
  167. package/react/src/hooks/useToc.d.ts +1 -1
  168. package/react/src/i18n/LocaleProvider.d.ts +1 -1
  169. package/react/src/i18n/helpers.d.ts +1 -1
  170. package/react/src/i18n/index.d.ts +1 -1
  171. package/react/src/index.d.ts +1 -1
  172. package/react/src/lib/collection.d.ts +1 -1
  173. package/react/src/lib/content.d.ts +1 -1
  174. package/react/src/lib/head.d.ts +1 -1
  175. package/react/src/lib/index.d.ts +1 -1
  176. package/react/src/lib/lazy-route.d.ts +1 -1
  177. package/react/src/lib/route-loader.d.ts +1 -1
  178. package/react/src/providers/ContentProvider.d.ts +1 -1
  179. package/react/src/providers/RerouteProvider.d.ts +1 -1
  180. package/react/src/providers/RouterProvider.d.ts +1 -1
  181. package/react/src/providers/index.d.ts +1 -1
  182. package/react/src/types/any.d.ts +1 -1
  183. package/react/src/types/index.d.ts +1 -1
  184. package/react/src/types/router.d.ts +1 -1
  185. package/telemetry/react.d.ts +1 -1
  186. package/telemetry/react.js +2 -2
  187. package/telemetry/react.js.map +1 -1
  188. package/telemetry/server.d.ts +1 -1
  189. package/telemetry/server.js +2 -2
  190. package/telemetry/server.js.map +4 -4
  191. package/telemetry/src/react/api.d.ts +1 -1
  192. package/telemetry/src/react/context.d.ts +1 -1
  193. package/telemetry/src/react/index.d.ts +1 -1
  194. package/telemetry/src/react/telemetry.d.ts +1 -1
  195. package/telemetry/src/server/context.d.ts +1 -1
  196. package/telemetry/src/server/headers/extractor.d.ts +1 -1
  197. package/telemetry/src/server/headers/index.d.ts +1 -1
  198. package/telemetry/src/server/headers/presets.d.ts +1 -1
  199. package/telemetry/src/server/index.d.ts +1 -1
  200. package/telemetry/src/server/instrumentation.d.ts +1 -1
  201. package/telemetry/src/server/plugin.d.ts +1 -1
  202. package/telemetry/src/server/sourcemap.d.ts +1 -1
package/core/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.13
2
+ * reroute-js v1.0.0-alpha.15
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -3497,26 +3497,45 @@ var init_scripts = __esm(() => {
3497
3497
 
3498
3498
  // packages/core/src/ssr/lib/styles.ts
3499
3499
  import { createHash } from "node:crypto";
3500
- function themeLink(query) {
3501
- return `<link rel="stylesheet" href="${THEME_CSS_HREF}?${query}" data-reroute="theme">`;
3502
- }
3503
- function hashCss(css) {
3504
- return createHash("sha1").update(css).digest("hex").slice(0, 12);
3505
- }
3506
- async function readThemeCssFromDisk(clientDir) {
3507
- const candidates = [
3508
- join(clientDir, "..", ".reroute", "index.css"),
3509
- join(clientDir, "..", "..", ".reroute", "index.css"),
3510
- join(clientDir, "..", "..", "..", ".reroute", "index.css"),
3511
- join(clientDir, "..", "..", "..", "..", ".reroute", "index.css")
3500
+ import { readdirSync } from "node:fs";
3501
+ function themeCssHash(css) {
3502
+ return createHash("sha1").update(css).digest("hex").slice(0, 8);
3503
+ }
3504
+ function themeCssFileName(css) {
3505
+ return `index.${themeCssHash(css)}.css`;
3506
+ }
3507
+ function themeLink(href) {
3508
+ return `<link rel="stylesheet" href="${href}" data-reroute="theme">`;
3509
+ }
3510
+ function bundlesDirs(clientDir) {
3511
+ return [
3512
+ join(clientDir, "..", ".reroute", "bundles"),
3513
+ join(clientDir, "..", "..", ".reroute", "bundles"),
3514
+ join(clientDir, "..", "..", "..", ".reroute", "bundles"),
3515
+ join(clientDir, "..", "..", "..", "..", ".reroute", "bundles")
3512
3516
  ];
3513
- for (const cssPath of candidates) {
3514
- if (await Bun.file(cssPath).exists()) {
3515
- const { readFileSync } = await import("node:fs");
3516
- return readFileSync(cssPath, "utf-8");
3517
- }
3517
+ }
3518
+ async function readFileIfExists(path) {
3519
+ if (!await Bun.file(path).exists())
3520
+ return "";
3521
+ const { readFileSync } = await import("node:fs");
3522
+ return readFileSync(path, "utf-8");
3523
+ }
3524
+ async function readThemeFromBundles(clientDir) {
3525
+ for (const dir of bundlesDirs(clientDir)) {
3526
+ try {
3527
+ const hashed = readdirSync(dir).find((name) => HASHED_THEME_RE.test(name));
3528
+ if (hashed) {
3529
+ const css2 = await readFileIfExists(join(dir, hashed));
3530
+ if (css2)
3531
+ return { css: css2, href: `/bundles/${hashed}` };
3532
+ }
3533
+ const css = await readFileIfExists(join(dir, "index.css"));
3534
+ if (css)
3535
+ return { css, href: `/bundles/${themeCssFileName(css)}` };
3536
+ } catch {}
3518
3537
  }
3519
- return "";
3538
+ return null;
3520
3539
  }
3521
3540
  function bundledThemeCss() {
3522
3541
  return globalThis.__REROUTE_THEME_CSS__ || "";
@@ -3524,18 +3543,26 @@ function bundledThemeCss() {
3524
3543
  async function inlineThemeCSS(clientDir, isWatchMode = false) {
3525
3544
  try {
3526
3545
  if (isWatchMode) {
3527
- return themeLink(`t=${Date.now()}`);
3546
+ return themeLink(`${THEME_CSS_WATCH_HREF}?t=${Date.now()}`);
3528
3547
  }
3529
- const css = bundledThemeCss() || await readThemeCssFromDisk(clientDir);
3548
+ const fromDisk = await readThemeFromBundles(clientDir);
3549
+ const css = bundledThemeCss() || fromDisk?.css;
3530
3550
  if (!css)
3531
3551
  return "";
3532
- return themeLink(`v=${hashCss(css)}`);
3552
+ if (bundledThemeCss()) {
3553
+ return themeLink(`/bundles/${themeCssFileName(css)}`);
3554
+ }
3555
+ if (fromDisk)
3556
+ return themeLink(fromDisk.href);
3557
+ return "";
3533
3558
  } catch {
3534
3559
  return "";
3535
3560
  }
3536
3561
  }
3537
- var THEME_CSS_HREF = "/.reroute/index.css";
3538
- var init_styles = () => {};
3562
+ var THEME_CSS_WATCH_HREF = "/bundles/index.css", HASHED_THEME_RE;
3563
+ var init_styles = __esm(() => {
3564
+ HASHED_THEME_RE = /^index\.[a-z0-9]{8,}\.css$/i;
3565
+ });
3539
3566
 
3540
3567
  // packages/core/src/ssr/lib/setup.ts
3541
3568
  async function performSSRSetup(options, streaming = false) {
@@ -4050,6 +4077,9 @@ Formats: .txt | .md | Accept: text/plain | Accept: text/markdown`;
4050
4077
  // packages/core/src/llms/extractor.ts
4051
4078
  import { pathToFileURL as pathToFileURL5 } from "node:url";
4052
4079
  import { renderToStaticMarkup } from "react-dom/server";
4080
+ function stripLayoutChrome(html2) {
4081
+ return html2.replace(/<nav[\s\S]*?<\/nav>/gi, "").replace(/<header[\s\S]*?<\/header>/gi, "").replace(/<aside[\s\S]*?<\/aside>/gi, "");
4082
+ }
4053
4083
  function shouldExcludeRoute(pathname, excludeRoutes) {
4054
4084
  if (!excludeRoutes || excludeRoutes.length === 0) {
4055
4085
  return false;
@@ -4172,10 +4202,7 @@ async function extractSSRContent(pathname, rootComponent, clientDir, cwd, isWatc
4172
4202
  if (appDivMatch) {
4173
4203
  contentHtml = appDivMatch[1];
4174
4204
  }
4175
- contentHtml = contentHtml.replace(/<nav[\s\S]*?<\/nav>/gi, "");
4176
- contentHtml = contentHtml.replace(/<footer[\s\S]*?<\/footer>/gi, "");
4177
- contentHtml = contentHtml.replace(/<header[\s\S]*?<\/header>/gi, "");
4178
- contentHtml = contentHtml.replace(/<aside[\s\S]*?<\/aside>/gi, "");
4205
+ contentHtml = stripLayoutChrome(contentHtml);
4179
4206
  return {
4180
4207
  title: extractTitle(html2),
4181
4208
  body: stripHtmlTags(contentHtml),
@@ -6689,6 +6716,7 @@ export {
6689
6716
  statusCache,
6690
6717
  stripEnd,
6691
6718
  stripHtmlTags,
6719
+ stripLayoutChrome,
6692
6720
  stripStart,
6693
6721
  takeSSRContentResults,
6694
6722
  toBytes,
@@ -6696,4 +6724,4 @@ export {
6696
6724
  toPromise
6697
6725
  };
6698
6726
 
6699
- //# debugId=009B083855CF394D64756E2164756E21
6727
+ //# debugId=7A911EF5A1EB025C64756E2164756E21