reroute-js 1.0.0-alpha.1 → 1.0.0-alpha.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 (197) hide show
  1. package/cli/bin.d.ts +1 -1
  2. package/cli/bin.js +120 -51
  3. package/cli/bin.js.map +4 -4
  4. package/cli/index.d.ts +1 -1
  5. package/cli/index.js +61 -8
  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/gen.d.ts.map +1 -1
  13. package/cli/src/commands/index.d.ts +1 -1
  14. package/cli/src/commands/init.d.ts +1 -1
  15. package/cli/src/commands/lib/assets.d.ts +1 -1
  16. package/cli/src/commands/lib/bundler.d.ts +1 -1
  17. package/cli/src/commands/lib/command.d.ts +1 -1
  18. package/cli/src/commands/lib/env.d.ts +1 -1
  19. package/cli/src/commands/lib/index.d.ts +1 -1
  20. package/cli/src/commands/lib/log.d.ts +1 -1
  21. package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
  22. package/cli/src/commands/lib/markdown/index.d.ts +1 -1
  23. package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
  24. package/cli/src/commands/lib/production.d.ts +1 -1
  25. package/cli/src/commands/lib/server.d.ts +1 -1
  26. package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
  27. package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
  28. package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
  29. package/cli/src/commands/lib/theme.d.ts +17 -3
  30. package/cli/src/commands/lib/theme.d.ts.map +1 -1
  31. package/cli/src/commands/lib/version.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 +2 -2
  37. package/core/index.js.map +1 -1
  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/extractor.d.ts +1 -1
  54. package/core/src/llms/formatter.d.ts +1 -1
  55. package/core/src/llms/full-generator.d.ts +1 -1
  56. package/core/src/llms/index-generator.d.ts +1 -1
  57. package/core/src/llms/index.d.ts +1 -1
  58. package/core/src/og/discovery.d.ts +1 -1
  59. package/core/src/og/index.d.ts +1 -1
  60. package/core/src/og/meta.d.ts +1 -1
  61. package/core/src/og/render.d.ts +1 -1
  62. package/core/src/og/types.d.ts +1 -1
  63. package/core/src/robots/discovery.d.ts +1 -1
  64. package/core/src/robots/generator.d.ts +1 -1
  65. package/core/src/robots/index.d.ts +1 -1
  66. package/core/src/robots/policies.d.ts +1 -1
  67. package/core/src/rss/discovery.d.ts +1 -1
  68. package/core/src/rss/generator.d.ts +1 -1
  69. package/core/src/rss/index.d.ts +1 -1
  70. package/core/src/sitemap/discovery.d.ts +1 -1
  71. package/core/src/sitemap/generator.d.ts +1 -1
  72. package/core/src/sitemap/index.d.ts +1 -1
  73. package/core/src/ssr/index.d.ts +1 -1
  74. package/core/src/ssr/lib/cache.d.ts +1 -1
  75. package/core/src/ssr/lib/cleanup.d.ts +1 -1
  76. package/core/src/ssr/lib/collections.d.ts +1 -1
  77. package/core/src/ssr/lib/compression.d.ts +1 -1
  78. package/core/src/ssr/lib/compute/content.d.ts +1 -1
  79. package/core/src/ssr/lib/compute/index.d.ts +1 -1
  80. package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
  81. package/core/src/ssr/lib/compute/routes.d.ts +1 -1
  82. package/core/src/ssr/lib/content-path.d.ts +1 -1
  83. package/core/src/ssr/lib/data.d.ts +1 -1
  84. package/core/src/ssr/lib/html.d.ts +1 -1
  85. package/core/src/ssr/lib/imports.d.ts +1 -1
  86. package/core/src/ssr/lib/index.d.ts +1 -1
  87. package/core/src/ssr/lib/layouts.d.ts +1 -1
  88. package/core/src/ssr/lib/metadata.d.ts +1 -1
  89. package/core/src/ssr/lib/mime.d.ts +1 -1
  90. package/core/src/ssr/lib/modules.d.ts +1 -1
  91. package/core/src/ssr/lib/path.d.ts +1 -1
  92. package/core/src/ssr/lib/preload.d.ts +1 -1
  93. package/core/src/ssr/lib/route-match.d.ts +1 -1
  94. package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
  95. package/core/src/ssr/lib/scripts/data.d.ts +1 -1
  96. package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
  97. package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
  98. package/core/src/ssr/lib/scripts/index.d.ts +1 -1
  99. package/core/src/ssr/lib/seed.d.ts +1 -1
  100. package/core/src/ssr/lib/serialize.d.ts +1 -1
  101. package/core/src/ssr/lib/setup.d.ts +1 -1
  102. package/core/src/ssr/lib/styles.d.ts +1 -1
  103. package/core/src/ssr/lib/template.d.ts +1 -1
  104. package/core/src/ssr/lib/types.d.ts +1 -1
  105. package/core/src/ssr/render.d.ts +1 -1
  106. package/core/src/ssr/stream.d.ts +1 -1
  107. package/elysia/index.d.ts +1 -1
  108. package/elysia/index.js +95 -19
  109. package/elysia/index.js.map +4 -4
  110. package/elysia/src/index.d.ts +1 -1
  111. package/elysia/src/libs/assets.d.ts +1 -1
  112. package/elysia/src/libs/cache.d.ts +1 -1
  113. package/elysia/src/libs/caching.d.ts +1 -1
  114. package/elysia/src/libs/http.d.ts +1 -1
  115. package/elysia/src/libs/i18n.d.ts +1 -1
  116. package/elysia/src/libs/image.d.ts +1 -1
  117. package/elysia/src/libs/index.d.ts +1 -1
  118. package/elysia/src/libs/llms.d.ts +1 -1
  119. package/elysia/src/libs/response.d.ts +1 -1
  120. package/elysia/src/libs/serving.d.ts +1 -1
  121. package/elysia/src/plugin.d.ts +1 -1
  122. package/elysia/src/plugin.d.ts.map +1 -1
  123. package/elysia/src/routes/artifacts.d.ts +1 -1
  124. package/elysia/src/routes/content.d.ts +1 -1
  125. package/elysia/src/routes/image.d.ts +1 -1
  126. package/elysia/src/routes/index.d.ts +1 -1
  127. package/elysia/src/routes/internal.d.ts +3 -2
  128. package/elysia/src/routes/internal.d.ts.map +1 -1
  129. package/elysia/src/routes/llms.d.ts +1 -1
  130. package/elysia/src/routes/og.d.ts +1 -1
  131. package/elysia/src/routes/redirects.d.ts +1 -1
  132. package/elysia/src/routes/robots.d.ts +1 -1
  133. package/elysia/src/routes/rss.d.ts +1 -1
  134. package/elysia/src/routes/search.d.ts +1 -1
  135. package/elysia/src/routes/sitemap.d.ts +1 -1
  136. package/elysia/src/routes/ssr.d.ts +1 -1
  137. package/elysia/src/routes/static.d.ts +1 -1
  138. package/elysia/src/types.d.ts +1 -1
  139. package/package.json +1 -1
  140. package/react/index.d.ts +1 -1
  141. package/react/index.js +2 -2
  142. package/react/index.js.map +1 -1
  143. package/react/src/components/ClientOnly.d.ts +1 -1
  144. package/react/src/components/ContentRoute.d.ts +1 -1
  145. package/react/src/components/Image.d.ts +1 -1
  146. package/react/src/components/LazyRoute.d.ts +1 -1
  147. package/react/src/components/Link.d.ts +1 -1
  148. package/react/src/components/Markdown.d.ts +1 -1
  149. package/react/src/components/Outlet.d.ts +1 -1
  150. package/react/src/components/index.d.ts +1 -1
  151. package/react/src/hooks/index.d.ts +1 -1
  152. package/react/src/hooks/useContent.d.ts +1 -1
  153. package/react/src/hooks/useData.d.ts +1 -1
  154. package/react/src/hooks/useFeed.d.ts +1 -1
  155. package/react/src/hooks/useLayoutData.d.ts +1 -1
  156. package/react/src/hooks/useLlms.d.ts +1 -1
  157. package/react/src/hooks/useNavigate.d.ts +1 -1
  158. package/react/src/hooks/useParams.d.ts +1 -1
  159. package/react/src/hooks/useRouter.d.ts +1 -1
  160. package/react/src/hooks/useSearch.d.ts +1 -1
  161. package/react/src/hooks/useSearchParams.d.ts +1 -1
  162. package/react/src/hooks/useToc.d.ts +1 -1
  163. package/react/src/i18n/LocaleProvider.d.ts +1 -1
  164. package/react/src/i18n/helpers.d.ts +1 -1
  165. package/react/src/i18n/index.d.ts +1 -1
  166. package/react/src/index.d.ts +1 -1
  167. package/react/src/lib/collection.d.ts +1 -1
  168. package/react/src/lib/content.d.ts +1 -1
  169. package/react/src/lib/head.d.ts +1 -1
  170. package/react/src/lib/index.d.ts +1 -1
  171. package/react/src/lib/lazy-route.d.ts +1 -1
  172. package/react/src/lib/route-loader.d.ts +1 -1
  173. package/react/src/providers/ContentProvider.d.ts +1 -1
  174. package/react/src/providers/RerouteProvider.d.ts +1 -1
  175. package/react/src/providers/RouterProvider.d.ts +1 -1
  176. package/react/src/providers/index.d.ts +1 -1
  177. package/react/src/types/any.d.ts +1 -1
  178. package/react/src/types/index.d.ts +1 -1
  179. package/react/src/types/router.d.ts +1 -1
  180. package/telemetry/react.d.ts +1 -1
  181. package/telemetry/react.js +2 -2
  182. package/telemetry/react.js.map +1 -1
  183. package/telemetry/server.d.ts +1 -1
  184. package/telemetry/server.js +2 -2
  185. package/telemetry/server.js.map +1 -1
  186. package/telemetry/src/react/api.d.ts +1 -1
  187. package/telemetry/src/react/context.d.ts +1 -1
  188. package/telemetry/src/react/index.d.ts +1 -1
  189. package/telemetry/src/react/telemetry.d.ts +1 -1
  190. package/telemetry/src/server/context.d.ts +1 -1
  191. package/telemetry/src/server/headers/extractor.d.ts +1 -1
  192. package/telemetry/src/server/headers/index.d.ts +1 -1
  193. package/telemetry/src/server/headers/presets.d.ts +1 -1
  194. package/telemetry/src/server/index.d.ts +1 -1
  195. package/telemetry/src/server/instrumentation.d.ts +1 -1
  196. package/telemetry/src/server/plugin.d.ts +1 -1
  197. package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
package/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -592,21 +592,73 @@ async function waitForServerReady(port = 3000, timeout = 30000) {
592
592
  throw new Error(`Timeout waiting for server to respond after ${timeout}ms. ` + `Make sure your server is starting correctly on port ${port}.`);
593
593
  }
594
594
  // packages/cli/src/commands/lib/theme.ts
595
- import { existsSync as existsSync4 } from "node:fs";
596
- import { mkdir } from "node:fs/promises";
597
- import { dirname as dirname3, join as join4 } from "node:path";
595
+ import { existsSync as existsSync4, readFileSync as readFileSync3 } from "node:fs";
596
+ import { mkdir, writeFile } from "node:fs/promises";
597
+ import { dirname as dirname3, isAbsolute, join as join4, resolve as resolve2 } from "node:path";
598
598
  function getCssPaths(cwd) {
599
599
  const input = join4(cwd, "src/client/index.css");
600
600
  const output = join4(cwd, ".reroute/index.css");
601
601
  return { input, output };
602
602
  }
603
+ var IMPORT_RE = /@import\s+(?:url\(\s*)?(?:'([^']+)'|"([^"]+)"|([^'")\s]+))\s*\)?\s*([^;]*);/g;
604
+ function isFileImport(specifier) {
605
+ if (specifier.startsWith("http://") || specifier.startsWith("https://") || specifier.startsWith("data:") || specifier.startsWith("/")) {
606
+ return false;
607
+ }
608
+ return true;
609
+ }
610
+ function bundleCssEntrypoint(entryPath) {
611
+ const absEntry = resolve2(entryPath);
612
+ const stack = new Set;
613
+ const completed = new Set;
614
+ function bundleFile(filePath) {
615
+ const absPath = resolve2(filePath);
616
+ if (completed.has(absPath)) {
617
+ return "";
618
+ }
619
+ if (stack.has(absPath)) {
620
+ throw new Error(`[reroute/theme] Circular @import detected: ${absPath}`);
621
+ }
622
+ if (!existsSync4(absPath)) {
623
+ throw new Error(`[reroute/theme] Missing CSS import: ${absPath}`);
624
+ }
625
+ stack.add(absPath);
626
+ const source = readFileSync3(absPath, "utf-8");
627
+ const baseDir = dirname3(absPath);
628
+ const bundled = source.replace(IMPORT_RE, (full, single, double, bare, rest) => {
629
+ const specifier = single || double || bare;
630
+ const condition = (rest ?? "").trim();
631
+ if (condition || !isFileImport(specifier)) {
632
+ return full;
633
+ }
634
+ const importedPath = isAbsolute(specifier) ? specifier : resolve2(baseDir, specifier);
635
+ return `/* ${specifier} */
636
+ ${bundleFile(importedPath)}
637
+ `;
638
+ });
639
+ stack.delete(absPath);
640
+ completed.add(absPath);
641
+ return bundled;
642
+ }
643
+ return bundleFile(absEntry);
644
+ }
603
645
  async function syncThemeCss(cwd) {
604
646
  const { input, output } = getCssPaths(cwd);
605
647
  if (!existsSync4(input)) {
606
648
  return false;
607
649
  }
608
650
  await mkdir(dirname3(output), { recursive: true });
609
- await Bun.write(output, Bun.file(input));
651
+ try {
652
+ const css = bundleCssEntrypoint(input);
653
+ await writeFile(output, css, "utf-8");
654
+ } catch (err) {
655
+ const message = err instanceof Error ? err.message : String(err);
656
+ if (message.startsWith("[reroute/theme]")) {
657
+ throw err;
658
+ }
659
+ throw new Error(`[reroute/theme] Failed to bundle index.css:
660
+ ${message}`);
661
+ }
610
662
  console.log("[reroute/theme] synced index.css");
611
663
  return true;
612
664
  }
@@ -619,7 +671,7 @@ async function getVersionString() {
619
671
  }
620
672
  async function getVersion() {
621
673
  if (true) {
622
- return "1.0.0-alpha.1";
674
+ return "1.0.0-alpha.2";
623
675
  }
624
676
  const possiblePaths = [
625
677
  path.join(import.meta.dir, "../../../../package.json"),
@@ -637,7 +689,7 @@ async function getVersion() {
637
689
  }
638
690
  async function getCommit() {
639
691
  if (true) {
640
- return "6889da1";
692
+ return "3e34125";
641
693
  }
642
694
  return "dev";
643
695
  }
@@ -662,7 +714,8 @@ export {
662
714
  colorizeLogPrefixAnsi,
663
715
  colorizeLogPrefix,
664
716
  checkMarkdownIfConfigured,
717
+ bundleCssEntrypoint,
665
718
  blessedToAnsi
666
719
  };
667
720
 
668
- //# debugId=6788C31C3DADFB6B64756E2164756E21
721
+ //# debugId=16FECD4ED774FD2A64756E2164756E21
package/cli/index.js.map CHANGED
@@ -8,10 +8,10 @@
8
8
  "/**\n * Markdown/MDX processor for route files\n *\n * Processes .md and .mdx files with frontmatter support for use in the routing system\n */\n\nimport { existsSync, readFileSync } from 'node:fs';\nimport { basename, dirname, extname, join, relative, resolve } from 'node:path';\nimport matter from 'gray-matter';\n\n// biome-ignore lint/suspicious/noExplicitAny: yes\ntype Any = any;\n\n/**\n * HTML attribute to JSX prop mapping\n */\nconst htmlToJsxAttributes: Record<string, string> = {\n\tclass: 'className',\n\tfor: 'htmlFor',\n\t'accept-charset': 'acceptCharset',\n\t'http-equiv': 'httpEquiv',\n\taccesskey: 'accessKey',\n\tcontenteditable: 'contentEditable',\n\tcrossorigin: 'crossOrigin',\n\ttabindex: 'tabIndex',\n\t// SVG attributes\n\t'stroke-width': 'strokeWidth',\n\t'stroke-linecap': 'strokeLinecap',\n\t'stroke-linejoin': 'strokeLinejoin',\n\t'stroke-miterlimit': 'strokeMiterlimit',\n\t'stroke-dasharray': 'strokeDasharray',\n\t'stroke-dashoffset': 'strokeDashoffset',\n\t'stroke-opacity': 'strokeOpacity',\n\t'fill-opacity': 'fillOpacity',\n\t'fill-rule': 'fillRule',\n\t'clip-path': 'clipPath',\n\t'clip-rule': 'clipRule',\n\t'font-family': 'fontFamily',\n\t'font-size': 'fontSize',\n\t'font-weight': 'fontWeight',\n\t'text-anchor': 'textAnchor',\n\t'text-decoration': 'textDecoration',\n\t'vector-effect': 'vectorEffect',\n};\n\nfunction convertPropertiesToJsx(\n\tproperties: Record<string, Any>,\n): Record<string, Any> {\n\tconst newProperties: Record<string, Any> = {};\n\tfor (const [key, value] of Object.entries(properties)) {\n\t\tconst jsxKey = htmlToJsxAttributes[key] || key;\n\t\tnewProperties[jsxKey] = value;\n\t}\n\treturn newProperties;\n}\n\nfunction visitNode(node: Any): void {\n\tif (node.type === 'element' && node.properties) {\n\t\tnode.properties = convertPropertiesToJsx(node.properties);\n\t}\n\tif (node.children) {\n\t\tfor (const child of node.children) {\n\t\t\tvisitNode(child);\n\t\t}\n\t}\n}\n\n/**\n * Rehype plugin to convert HTML attributes to React JSX props\n */\nfunction rehypeHtmlToJsx() {\n\treturn (tree: Any) => {\n\t\tvisitNode(tree);\n\t\treturn tree;\n\t};\n}\n\nexport interface MarkdownFrontmatter {\n\ttitle?: string;\n\tdescription?: string;\n\tdate?: string;\n\tslug?: string;\n\texcerpt?: string;\n\tdraft?: boolean;\n\t[key: string]: Any;\n}\n\nexport interface ProcessedMarkdown {\n\tfrontmatter: MarkdownFrontmatter;\n\tcontent: string;\n\trawContent: string;\n\thasJSX: boolean;\n}\n\nexport interface HeadingNode {\n\tlevel: number;\n\ttext: string;\n\tslug: string;\n}\n\n/**\n * Frontmatter parser using gray-matter\n * Extracts metadata from markdown files between --- delimiters\n * Supports YAML data types: strings, numbers, booleans, arrays, objects, null\n */\nfunction parseFrontmatter(content: string): {\n\tdata: MarkdownFrontmatter;\n\tcontent: string;\n} {\n\ttry {\n\t\tconst { data, content: markdownContent } = matter(content);\n\t\treturn { data, content: markdownContent };\n\t} catch (error) {\n\t\tconsole.warn('[reroute/frontmatter] Failed to parse frontmatter:', error);\n\t\treturn { data: {}, content };\n\t}\n}\n\n/**\n * Check if markdown content contains JSX syntax\n */\nfunction hasJSXSyntax(content: string): boolean {\n\t// Simple heuristic: look for JSX-like patterns\n\tconst jsxPatterns = [\n\t\t/<[A-Z][a-zA-Z0-9]*/, // Component tags like <Component>\n\t\t/import\\s+{[^}]+}\\s+from/, // ES6 imports\n\t\t/import\\s+\\w+\\s+from/, // Default imports\n\t\t/export\\s+(default|const|function)/, // Exports\n\t\t/<\\w+\\s+\\w+={/, // Props with curly braces\n\t];\n\n\treturn jsxPatterns.some((pattern) => pattern.test(content));\n}\n\n/**\n * Process a markdown/MDX file and return structured data\n */\nexport function processMarkdownFile(filePath: string): ProcessedMarkdown {\n\tconst rawContent = readFileSync(filePath, 'utf-8');\n\tconst { data, content } = parseFrontmatter(rawContent);\n\tconst hasJSX = hasJSXSyntax(content);\n\n\treturn {\n\t\tfrontmatter: data,\n\t\tcontent,\n\t\trawContent,\n\t\thasJSX,\n\t};\n}\n\n/**\n * Check if @mdx-js/mdx is available in the project\n */\nfunction isMdxAvailable(cwd: string): boolean {\n\tlet currentDir = cwd;\n\n\t// Check up to 5 levels up\n\tfor (let i = 0; i < 5; i++) {\n\t\tconst packageJsonPath = join(currentDir, 'package.json');\n\n\t\tif (existsSync(packageJsonPath)) {\n\t\t\ttry {\n\t\t\t\tconst packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));\n\t\t\t\tconst deps = {\n\t\t\t\t\t...packageJson.dependencies,\n\t\t\t\t\t...packageJson.devDependencies,\n\t\t\t\t\t...packageJson.peerDependencies,\n\t\t\t\t};\n\n\t\t\t\tif ('@mdx-js/mdx' in deps) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Continue to parent directory\n\t\t\t}\n\t\t}\n\n\t\tconst parentDir = dirname(currentDir);\n\t\t// Stop if we've reached the root\n\t\tif (parentDir === currentDir) {\n\t\t\tbreak;\n\t\t}\n\t\tcurrentDir = parentDir;\n\t}\n\n\treturn false;\n}\n\nfunction tryLoadModule(cwd: string, moduleName: string): Any {\n\tconst pathsToTry = [\n\t\tjoin(cwd, `node_modules/${moduleName}`),\n\t\tjoin(cwd, `../node_modules/${moduleName}`),\n\t\tjoin(cwd, `../../node_modules/${moduleName}`),\n\t\tjoin(cwd, `../../../node_modules/${moduleName}`),\n\t];\n\n\tfor (const modulePath of pathsToTry) {\n\t\ttry {\n\t\t\treturn require(modulePath);\n\t\t} catch {\n\t\t\t// Try next path\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction loadMdxCompiler(cwd: string): Any {\n\tconst mdxModule = tryLoadModule(cwd, '@mdx-js/mdx');\n\tif (!mdxModule) {\n\t\tconsole.error('[reroute/mdx] Could not load @mdx-js/mdx from any path');\n\t\treturn null;\n\t}\n\treturn mdxModule.compile;\n}\n\nfunction setupRemarkPlugins(cwd: string, enableGfm: boolean): Any[] {\n\tconst remarkPlugins = [] as Any[];\n\n\tif (!enableGfm) return remarkPlugins;\n\n\tconst remarkGfm = tryLoadModule(cwd, 'remark-gfm');\n\tif (remarkGfm) {\n\t\tremarkPlugins.push(remarkGfm.default || remarkGfm);\n\t} else {\n\t\tconsole.warn(\n\t\t\t'[reroute/mdx] remark-gfm not available for MDX compilation (Streamdown includes GFM for .md files)',\n\t\t);\n\t}\n\n\treturn remarkPlugins;\n}\n\nfunction setupRehypePlugins(cwd: string, theme: string): Any[] {\n\tconst rehypePlugins = [] as Any[];\n\n\tconst rehypeRaw = tryLoadModule(cwd, 'rehype-raw');\n\tif (rehypeRaw) {\n\t\trehypePlugins.push([\n\t\t\trehypeRaw.default || rehypeRaw,\n\t\t\t{\n\t\t\t\tpassThrough: [\n\t\t\t\t\t'mdxFlowExpression',\n\t\t\t\t\t'mdxJsxFlowElement',\n\t\t\t\t\t'mdxJsxTextElement',\n\t\t\t\t\t'mdxTextExpression',\n\t\t\t\t\t'mdxjsEsm',\n\t\t\t\t],\n\t\t\t},\n\t\t]);\n\t\trehypePlugins.push(rehypeHtmlToJsx);\n\t}\n\n\tconst rehypeShiki = tryLoadModule(cwd, '@shikijs/rehype');\n\tif (rehypeShiki) {\n\t\trehypePlugins.push([rehypeShiki.default || rehypeShiki, { theme }]);\n\t} else {\n\t\tconsole.warn(\n\t\t\t'[reroute/mdx] @shikijs/rehype not available, skipping highlighting',\n\t\t);\n\t}\n\n\treturn rehypePlugins;\n}\n\nfunction formatMdxError(error: unknown, options: { filename?: string }): void {\n\tconst errorMessage = error instanceof Error ? error.message : String(error);\n\tconst errorLocation =\n\t\terror &&\n\t\ttypeof error === 'object' &&\n\t\t'place' in error &&\n\t\terror.place &&\n\t\ttypeof error.place === 'object'\n\t\t\t? `at line ${(error.place as Any).line || '?'}, column ${(error.place as Any).column || '?'}`\n\t\t\t: '';\n\tconst fileInfo = options.filename ? ` in ${options.filename}` : '';\n\n\tconsole.warn(\n\t\t`[reroute/mdx] Compilation failed${fileInfo}${errorLocation ? ` ${errorLocation}` : ''}: ${errorMessage}`,\n\t);\n\tconsole.warn(\n\t\t'[reroute/mdx] MDX compilation failed (Streamdown will handle .md files)',\n\t);\n}\n\n/**\n * Compile MDX content to JSX using @mdx-js/mdx\n */\nasync function compileMdx(\n\tcontent: string,\n\tcwd: string,\n\toptions: {\n\t\tenableGfm?: boolean;\n\t\ttheme?: string;\n\t\tfilename?: string;\n\t} = {},\n): Promise<string | null> {\n\tif (!isMdxAvailable(cwd)) {\n\t\tconsole.warn(\n\t\t\t'[reroute/mdx] @mdx-js/mdx not installed. Install with: bun add @mdx-js/mdx',\n\t\t);\n\t\treturn null;\n\t}\n\n\ttry {\n\t\tconst compile = loadMdxCompiler(cwd);\n\t\tif (!compile) return null;\n\n\t\tconst { enableGfm = true, theme = 'github-dark' } = options;\n\n\t\tconst remarkPlugins = setupRemarkPlugins(cwd, enableGfm);\n\t\tconst rehypePlugins = setupRehypePlugins(cwd, theme);\n\n\t\tconst result = await compile(content, {\n\t\t\tremarkPlugins,\n\t\t\trehypePlugins,\n\t\t\toutputFormat: 'program',\n\t\t\tdevelopment: false,\n\t\t});\n\n\t\treturn String(result);\n\t} catch (error) {\n\t\tformatMdxError(error, options);\n\t\treturn null;\n\t}\n}\n\n/**\n * Rewrite relative imports in compiled MDX to be correct from the target location\n */\nfunction rewriteImportPaths(\n\tcode: string,\n\tsourcePath: string,\n\ttargetPath: string,\n): string {\n\t// Find all import statements with relative paths\n\tconst importRegex =\n\t\t/import\\s+(?:{[^}]+}|[\\w\\s,]+)\\s+from\\s+['\"](\\.[^'\"]+)['\"]/g;\n\n\treturn code.replace(importRegex, (match, importPath) => {\n\t\t// Resolve the import path relative to the source file\n\t\tconst sourceDir = dirname(sourcePath);\n\t\tconst absoluteImportPath = resolve(sourceDir, importPath);\n\n\t\t// Calculate the new relative path from the target file\n\t\tconst targetDir = dirname(targetPath);\n\t\tlet newRelativePath = relative(targetDir, absoluteImportPath);\n\n\t\t// Ensure the path starts with ./ or ../\n\t\tif (!newRelativePath.startsWith('.')) {\n\t\t\tnewRelativePath = `./${newRelativePath}`;\n\t\t}\n\n\t\t// Replace backslashes with forward slashes for consistency\n\t\tnewRelativePath = newRelativePath.replace(/\\\\/g, '/');\n\n\t\t// Replace the import path in the original match\n\t\treturn match.replace(importPath, newRelativePath);\n\t});\n}\n\n/**\n * Generate a React component wrapper for markdown content\n * This creates a TypeScript module that can be imported as a route\n */\nexport async function generateMarkdownModule(\n\tprocessed: ProcessedMarkdown,\n\tcwd: string,\n\toptions: {\n\t\tenableGfm?: boolean;\n\t\ttheme?: string;\n\t\tisMdx?: boolean;\n\t\tfilename?: string;\n\t\tsourcePath?: string;\n\t\ttargetPath?: string;\n\t\tcomponentsPath?: string;\n\t} = {},\n): Promise<string> {\n\tconst { frontmatter, content } = processed;\n\tconst {\n\t\tenableGfm = true,\n\t\ttheme = 'github-dark',\n\t\tisMdx = false,\n\t\tfilename,\n\t\tsourcePath,\n\t\ttargetPath,\n\t\tcomponentsPath,\n\t} = options;\n\n\t// Prefer MDX engine for both .mdx and .md when available to ensure\n\t// identical SSR/CSR output. MD is a subset of MDX, so compile it too.\n\tlet compiledMdx = await compileMdx(content, cwd, {\n\t\tenableGfm,\n\t\ttheme,\n\t\tfilename,\n\t});\n\tif (compiledMdx) {\n\t\t// Rewrite import paths if source and target paths are provided\n\t\tif (sourcePath && targetPath) {\n\t\t\tcompiledMdx = rewriteImportPaths(compiledMdx, sourcePath, targetPath);\n\t\t}\n\t\t// Add TypeScript type definitions for MDX props\n\t\t// Using proper JSX types to avoid ElementType errors\n\t\tconst typeDefinitions = `// TypeScript types for MDX components\ntype MDXProps = {\n components?: Record<string, React.ComponentType<any>>;\n [key: string]: any;\n};\n\n// Suppress JSX element type checking for MDX-generated code\n// @ts-nocheck enables this for the entire generated file\n`;\n\n\t\t// Fix type annotations in the compiled MDX by adding types to function parameters\n\t\t// Also remove 'export default' from MDXContent if we're adding custom components wrapper\n\t\tconst typedMdx = compiledMdx\n\t\t\t.replace(\n\t\t\t\t/function\\s+_createMdxContent\\s*\\(\\s*props\\s*\\)/g,\n\t\t\t\t'function _createMdxContent(props: MDXProps)',\n\t\t\t)\n\t\t\t.replace(\n\t\t\t\t/function\\s+MDXContent\\s*\\(\\s*props\\s*\\)/g,\n\t\t\t\t'function MDXContent(props: MDXProps)',\n\t\t\t);\n\n\t\t// MDX already supports passing components as props at runtime\n\t\t// No need to import them at build time - this avoids bundling issues\n\n\t\t// Already a complete program that exports a default component\n\t\treturn `// @ts-nocheck\n// Generated from ${isMdx ? 'MDX' : 'Markdown'} file with @mdx-js/mdx\n// TypeScript checking is disabled for MDX-generated code\n\n${typeDefinitions}\n\n// MDX compiled content with imports and component\n${typedMdx}\n\n// Frontmatter exports\nexport const meta = ${JSON.stringify(frontmatter, null, 2)};\n\n// Table of Contents\nexport const toc = ${JSON.stringify(extractHeadings(content), null, 2)};\n\nexport const ssr = {\n head: [\n '<meta property=\"og:type\" content=\"article\" />',\n '<meta name=\"twitter:card\" content=\"summary_large_image\" />',\n ],\n};\n`;\n\t}\n\n\t// Regular markdown - wrap with Markdown component\n\tconst escapedContent = content\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$/g, '\\\\$');\n\n\t// Build plugin imports\n\tconst pluginImports: string[] = [];\n\tconst remarkPluginsList: string[] = [];\n\tconst rehypePluginsList: string[] = [];\n\n\t// Add custom components import if provided\n\tif (componentsPath) {\n\t\tpluginImports.push(`import markdownComponents from '${componentsPath}';`);\n\t}\n\n\t// Note: GFM is built into Streamdown, no need to import remark-gfm for .md files\n\t// This is only used for MDX files\n\tif (enableGfm) {\n\t\tpluginImports.push(\"import remarkGfm from 'remark-gfm';\");\n\t\tremarkPluginsList.push('remarkGfm');\n\t}\n\n\t// Note: Shiki is async and breaks SSR - skip it\n\n\tconst pluginImportsStr =\n\t\tpluginImports.length > 0 ? `${pluginImports.join('\\n')}\\n` : '';\n\tconst remarkPluginsStr =\n\t\tremarkPluginsList.length > 0\n\t\t\t? `remarkPlugins={[${remarkPluginsList.join(', ')}]}`\n\t\t\t: '';\n\tconst rehypePluginsStr =\n\t\trehypePluginsList.length > 0\n\t\t\t? `rehypePlugins={[${rehypePluginsList.join(', ')}]}`\n\t\t\t: '';\n\tconst componentsStr = componentsPath ? 'components={markdownComponents}' : '';\n\tconst pluginsPropsStr = [remarkPluginsStr, rehypePluginsStr, componentsStr]\n\t\t.filter(Boolean)\n\t\t.join('\\n ');\n\n\treturn `// Generated from markdown file\nimport { Markdown } from 'reroute-js/react';\n${pluginImportsStr}\nconst meta = ${JSON.stringify(frontmatter, null, 2)};\n\nconst ssr = {\n head: [\n '<meta property=\"og:type\" content=\"article\" />',\n '<meta name=\"twitter:card\" content=\"summary_large_image\" />',\n ],\n};\n\nconst markdownContent = \\`${escapedContent}\\`;\n\nfunction MarkdownRoute() {\n return (\n <div>\n <Markdown\n ${pluginsPropsStr}\n >\n {markdownContent}\n </Markdown>\n </div>\n );\n}\n\n// Table of Contents\nexport const toc = ${JSON.stringify(extractHeadings(content), null, 2)};\n\nexport { meta, ssr, toc };\nexport default MarkdownRoute;\n`;\n}\n\n/**\n * Generate a plain fallback TSX module when markdown tooling\n * is not configured. Renders raw markdown content in a <pre> block\n * so routes still work without extra deps.\n */\nexport function generatePlainMarkdownModule(\n\tprocessed: ProcessedMarkdown,\n): string {\n\tconst { frontmatter, content } = processed;\n\tconst escapedContent = content\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.split(String.fromCharCode(96))\n\t\t.join(`\\\\${String.fromCharCode(96)}`)\n\t\t.split('$')\n\t\t.join('\\\\$');\n\n\treturn `// Generated from markdown file (plain fallback)\n// No markdown renderer detected; showing raw content.\nexport const meta = ${JSON.stringify(frontmatter, null, 2)};\n\n// Table of Contents (empty for fallback)\nexport const toc = [];\n\nexport const ssr = {\n head: [\n '<meta property=\"og:type\" content=\"article\" />',\n '<meta name=\"twitter:card\" content=\"summary_large_image\" />',\n ],\n};\n\nconst markdownContent = \\`${escapedContent}\\`;\n\nexport default function MarkdownFallback() {\n return (\n <div style={{ padding: '1rem' }}>\n {meta?.title && (\n <h1 style={{ fontSize: '1.5rem', fontWeight: 600 }}>{meta.title}</h1>\n )}\n <div style={{\n margin: '0.75rem 0',\n padding: '0.75rem',\n borderLeft: '4px solid #eab308',\n background: '#fefce8',\n color: '#713f12'\n }}>\n <strong>Markdown rendering not configured.</strong>\n <div style={{ marginTop: '0.25rem' }}>\n Install: streamdown (required - includes GFM, syntax highlighting, math, and mermaid), @mdx-js/mdx (optional for JSX in markdown).\n </div>\n </div>\n <pre style={{ whiteSpace: 'pre-wrap', lineHeight: 1.6 }}>{markdownContent}</pre>\n </div>\n );\n}\n`;\n}\n\n/**\n * Check if a file is a markdown file\n */\nexport function isMarkdownFile(filePath: string): boolean {\n\tconst ext = extname(filePath).toLowerCase();\n\treturn ext === '.md' || ext === '.mdx';\n}\n\n/**\n * Get the route name from a markdown filename\n * Converts kebab-case to the route path\n */\nexport function getMarkdownRouteName(filePath: string): string {\n\tconst name = basename(filePath, extname(filePath));\n\treturn name;\n}\n\n/**\n * Extract headings from markdown content\n * Parses markdown headers (# ## ### etc) and returns structured data\n */\nexport function extractHeadings(\n\tcontent: string,\n\toptions: { minLevel?: number; maxLevel?: number } = {},\n): HeadingNode[] {\n\tconst { minLevel = 1, maxLevel = 6 } = options;\n\tconst headings: HeadingNode[] = [];\n\n\t// Match markdown headings: # Title, ## Title, etc.\n\tconst headingRegex = /^(#{1,6})\\s+(.+)$/gm;\n\tlet match: RegExpExecArray | null = headingRegex.exec(content);\n\n\twhile (match !== null) {\n\t\tconst level = match[1].length;\n\n\t\t// Only include headings within the specified level range\n\t\tif (level >= minLevel && level <= maxLevel) {\n\t\t\tconst text = match[2].trim();\n\t\t\t// Generate slug from heading text (lowercase, replace spaces with hyphens)\n\t\t\tconst slug = text\n\t\t\t\t.toLowerCase()\n\t\t\t\t.replace(/[^\\w\\s-]/g, '')\n\t\t\t\t.replace(/\\s+/g, '-')\n\t\t\t\t.replace(/-+/g, '-')\n\t\t\t\t.trim();\n\n\t\t\theadings.push({ level, text, slug });\n\t\t}\n\n\t\tmatch = headingRegex.exec(content);\n\t}\n\n\treturn headings;\n}\n\n/**\n * Strip markdown syntax and return plain text\n * Useful for creating search-friendly content\n */\nexport function stripMarkdown(content: string): string {\n\tlet text = content;\n\n\t// Keep code block content but remove fences (code is often searchable!)\n\ttext = text.replace(/```(?:\\w+)?\\n?([\\s\\S]*?)```/g, '$1');\n\t// Keep inline code content but remove backticks\n\ttext = text.replace(/`([^`]+)`/g, '$1');\n\n\t// Remove HTML tags\n\ttext = text.replace(/<[^>]+>/g, '');\n\n\t// Remove images\n\ttext = text.replace(/!\\[([^\\]]*)\\]\\([^)]+\\)/g, '$1');\n\n\t// Remove links but keep text\n\ttext = text.replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, '$1');\n\n\t// Remove headings markers\n\ttext = text.replace(/^#{1,6}\\s+/gm, '');\n\n\t// Remove bold/italic\n\ttext = text.replace(/[*_]{1,3}([^*_]+)[*_]{1,3}/g, '$1');\n\n\t// Remove blockquotes\n\ttext = text.replace(/^>\\s+/gm, '');\n\n\t// Remove horizontal rules\n\ttext = text.replace(/^[-*_]{3,}$/gm, '');\n\n\t// Remove list markers\n\ttext = text.replace(/^[-*+]\\s+/gm, '');\n\ttext = text.replace(/^\\d+\\.\\s+/gm, '');\n\n\t// Normalize whitespace\n\ttext = text.replace(/\\n{3,}/g, '\\n\\n');\n\ttext = text.trim();\n\n\treturn text;\n}\n",
9
9
  "/**\n * Production mode utility\n *\n * Provides utilities to check if the CLI is running in production mode.\n * Production mode can be enabled either via NODE_ENV=production or --prod flag.\n */\n\n/**\n * Check if production mode is enabled\n * @param args Command line arguments to check for --prod flag\n * @returns true if --prod flag is present\n */\nexport function isProductionMode(args: string[] = []): boolean {\n\treturn args.includes('--prod');\n}\n\n/**\n * Set NODE_ENV to production if --prod flag is present\n * This ensures child processes inherit the production setting\n * @param args Command line arguments to check for --prod flag\n */\nexport function ensureProductionEnv(args: string[] = []): void {\n\tif (args.includes('--prod')) {\n\t\tprocess.env.NODE_ENV = 'production';\n\t\tBun.env.NODE_ENV = 'production';\n\t}\n}\n\n/**\n * Filter out --prod flag from arguments since it's handled globally\n * @param args Command line arguments\n * @returns Filtered arguments without --prod\n */\nexport function filterProdFlag(args: string[]): string[] {\n\treturn args.filter((arg) => arg !== '--prod');\n}\n",
10
10
  "/**\n * Server utilities for waiting and polling\n */\n\n/**\n * Wait for server to be ready by checking if it responds to HTTP requests\n * Uses exponential backoff for efficient polling without artificial delays\n * This ensures the server is fully initialized before declaring it ready\n */\nexport async function waitForServerReady(\n\tport = 3000,\n\ttimeout = 30000, // 30 seconds, more reasonable for large projects\n): Promise<void> {\n\tconst startTime = Date.now();\n\tlet checkInterval = 50; // Start with 50ms\n\tconst maxInterval = 1000; // Max 1 second between checks\n\n\twhile (Date.now() - startTime < timeout) {\n\t\ttry {\n\t\t\tconst response = await fetch(`http://localhost:${port}/`, {\n\t\t\t\tmethod: 'GET',\n\t\t\t\tsignal: AbortSignal.timeout(2000), // 2 second timeout per request\n\t\t\t});\n\t\t\t// Accept both success and 404 (means server is responding)\n\t\t\tif (response.status < 500) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Server not ready yet, continue with exponential backoff\n\t\t}\n\n\t\tawait new Promise((resolve) => setTimeout(resolve, checkInterval));\n\n\t\t// Exponential backoff: increase interval but cap at maxInterval\n\t\tcheckInterval = Math.min(checkInterval * 1.5, maxInterval);\n\t}\n\n\tthrow new Error(\n\t\t`Timeout waiting for server to respond after ${timeout}ms. ` +\n\t\t\t`Make sure your server is starting correctly on port ${port}.`,\n\t);\n}\n",
11
- "/**\n * Client CSS sync utility\n *\n * Copies src/client/index.css into .reroute/index.css for serving and SSR inlining.\n */\n\nimport { existsSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\n\nfunction getCssPaths(cwd: string) {\n\tconst input = join(cwd, 'src/client/index.css');\n\tconst output = join(cwd, '.reroute/index.css');\n\n\treturn { input, output };\n}\n\n/**\n * Sync index.css into .reroute when the source file exists.\n * Returns true if a sync was performed, false if skipped.\n */\nexport async function syncThemeCss(cwd: string): Promise<boolean> {\n\tconst { input, output } = getCssPaths(cwd);\n\n\tif (!existsSync(input)) {\n\t\treturn false;\n\t}\n\n\tawait mkdir(dirname(output), { recursive: true });\n\tawait Bun.write(output, Bun.file(input));\n\tconsole.log('[reroute/theme] synced index.css');\n\treturn true;\n}\n",
11
+ "/**\n * Client CSS sync utility\n *\n * Bundles src/client/index.css (resolving @import) into .reroute/index.css\n * for serving and SSR inlining.\n *\n * DX pattern — keep the design system modular and import from the entry:\n *\n * src/client/index.css → @import './theme/index.css';\n * src/client/theme/index.css → tokens, fonts, base, components…\n *\n * Absolute public URLs (e.g. url('/assets/fonts/…')) and remote @imports\n * are left untouched. Relative url() assets are not rewritten.\n */\n\nimport { existsSync, readFileSync } from 'node:fs';\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport { dirname, isAbsolute, join, resolve } from 'node:path';\n\nfunction getCssPaths(cwd: string) {\n\tconst input = join(cwd, 'src/client/index.css');\n\tconst output = join(cwd, '.reroute/index.css');\n\n\treturn { input, output };\n}\n\n/**\n * Match @import with optional url(), quoted/unquoted path, and trailing condition.\n * Examples:\n * @import url('./theme/index.css');\n * @import './theme/index.css';\n * @import url('./print.css') print;\n */\nconst IMPORT_RE =\n\t/@import\\s+(?:url\\(\\s*)?(?:'([^']+)'|\"([^\"]+)\"|([^'\")\\s]+))\\s*\\)?\\s*([^;]*);/g;\n\nfunction isFileImport(specifier: string): boolean {\n\tif (\n\t\tspecifier.startsWith('http://') ||\n\t\tspecifier.startsWith('https://') ||\n\t\tspecifier.startsWith('data:') ||\n\t\tspecifier.startsWith('/')\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n/**\n * Resolve relative @import into a single CSS string. Non-file imports\n * (absolute `/…`, http(s), data, or @import with media conditions) stay as-is.\n */\nexport function bundleCssEntrypoint(entryPath: string): string {\n\tconst absEntry = resolve(entryPath);\n\tconst stack = new Set<string>();\n\tconst completed = new Set<string>();\n\n\tfunction bundleFile(filePath: string): string {\n\t\tconst absPath = resolve(filePath);\n\n\t\t// Already inlined earlier in this graph — skip duplicates.\n\t\tif (completed.has(absPath)) {\n\t\t\treturn '';\n\t\t}\n\t\tif (stack.has(absPath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`[reroute/theme] Circular @import detected: ${absPath}`,\n\t\t\t);\n\t\t}\n\t\tif (!existsSync(absPath)) {\n\t\t\tthrow new Error(`[reroute/theme] Missing CSS import: ${absPath}`);\n\t\t}\n\n\t\tstack.add(absPath);\n\t\tconst source = readFileSync(absPath, 'utf-8');\n\t\tconst baseDir = dirname(absPath);\n\n\t\tconst bundled = source.replace(\n\t\t\tIMPORT_RE,\n\t\t\t(full, single: string, double: string, bare: string, rest: string) => {\n\t\t\t\tconst specifier = single || double || bare;\n\t\t\t\tconst condition = (rest ?? '').trim();\n\n\t\t\t\t// Keep conditional / non-file imports for the browser to resolve.\n\t\t\t\tif (condition || !isFileImport(specifier)) {\n\t\t\t\t\treturn full;\n\t\t\t\t}\n\n\t\t\t\tconst importedPath = isAbsolute(specifier)\n\t\t\t\t\t? specifier\n\t\t\t\t\t: resolve(baseDir, specifier);\n\n\t\t\t\treturn `/* ${specifier} */\\n${bundleFile(importedPath)}\\n`;\n\t\t\t},\n\t\t);\n\n\t\tstack.delete(absPath);\n\t\tcompleted.add(absPath);\n\t\treturn bundled;\n\t}\n\n\treturn bundleFile(absEntry);\n}\n\n/**\n * Bundle index.css (with @import resolution) into .reroute when the source exists.\n * Returns true if a sync was performed, false if skipped.\n */\nexport async function syncThemeCss(cwd: string): Promise<boolean> {\n\tconst { input, output } = getCssPaths(cwd);\n\n\tif (!existsSync(input)) {\n\t\treturn false;\n\t}\n\n\tawait mkdir(dirname(output), { recursive: true });\n\n\ttry {\n\t\tconst css = bundleCssEntrypoint(input);\n\t\tawait writeFile(output, css, 'utf-8');\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tif (message.startsWith('[reroute/theme]')) {\n\t\t\tthrow err;\n\t\t}\n\t\tthrow new Error(`[reroute/theme] Failed to bundle index.css:\\n${message}`);\n\t}\n\n\tconsole.log('[reroute/theme] synced index.css');\n\treturn true;\n}\n",
12
12
  "import path from 'node:path';\n\n// Version and commit injected at build time\ndeclare const __REROUTE_VERSION__: string;\ndeclare const __REROUTE_COMMIT__: string;\n\nexport async function getVersionString(): Promise<string> {\n\tconst version = await getVersion();\n\tconst commit = await getCommit();\n\treturn `Reroute v${version} ${commit}`;\n}\n\nasync function getVersion(): Promise<string> {\n\t// Use version injected at build time\n\tif (typeof __REROUTE_VERSION__ !== 'undefined') {\n\t\treturn __REROUTE_VERSION__;\n\t}\n\n\t// Fallback for development: try to find package.json\n\tconst possiblePaths = [\n\t\tpath.join(import.meta.dir, '../../../../package.json'),\n\t\tpath.join(import.meta.dir, '../../../package.json'),\n\t\tpath.join(import.meta.dir, '../../package.json'),\n\t\tpath.join(import.meta.dir, '../package.json'),\n\t];\n\n\tfor (const pkgPath of possiblePaths) {\n\t\ttry {\n\t\t\tconst pkg = await Bun.file(pkgPath).json();\n\t\t\treturn pkg.version;\n\t\t} catch {}\n\t}\n\n\treturn 'unknown';\n}\n\nasync function getCommit(): Promise<string> {\n\t// Use commit injected at build time\n\tif (typeof __REROUTE_COMMIT__ !== 'undefined') {\n\t\treturn __REROUTE_COMMIT__;\n\t}\n\n\t// Fallback for development\n\treturn 'dev';\n}\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "6788C31C3DADFB6B64756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "16FECD4ED774FD2A64756E2164756E21",
16
16
  "names": []
17
17
  }
package/cli/src/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/gen.ts"],"names":[],"mappings":";AAgkEA,wBAA8B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAgb/C"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/gen.ts"],"names":[],"mappings":";AAgkEA,wBAA8B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAqd/C"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -10,10 +10,24 @@
10
10
  /**
11
11
  * Client CSS sync utility
12
12
  *
13
- * Copies src/client/index.css into .reroute/index.css for serving and SSR inlining.
13
+ * Bundles src/client/index.css (resolving @import) into .reroute/index.css
14
+ * for serving and SSR inlining.
15
+ *
16
+ * DX pattern — keep the design system modular and import from the entry:
17
+ *
18
+ * src/client/index.css → @import './theme/index.css';
19
+ * src/client/theme/index.css → tokens, fonts, base, components…
20
+ *
21
+ * Absolute public URLs (e.g. url('/assets/fonts/…')) and remote @imports
22
+ * are left untouched. Relative url() assets are not rewritten.
23
+ */
24
+ /**
25
+ * Resolve relative @import into a single CSS string. Non-file imports
26
+ * (absolute `/…`, http(s), data, or @import with media conditions) stay as-is.
14
27
  */
28
+ export declare function bundleCssEntrypoint(entryPath: string): string;
15
29
  /**
16
- * Sync index.css into .reroute when the source file exists.
30
+ * Bundle index.css (with @import resolution) into .reroute when the source exists.
17
31
  * Returns true if a sync was performed, false if skipped.
18
32
  */
19
33
  export declare function syncThemeCss(cwd: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWhE"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmCH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAkD7D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBhE"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
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.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
package/core/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
package/core/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v1.0.0-alpha.1
2
+ * reroute-js v1.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
@@ -6327,4 +6327,4 @@ export {
6327
6327
  AI_CRAWLERS
6328
6328
  };
6329
6329
 
6330
- //# debugId=F4C703E9C4ED683964756E2164756E21
6330
+ //# debugId=526DAF189345000E64756E2164756E21