reroute-js 1.0.0-alpha.3 → 1.0.0-alpha.5
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.
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +740 -671
- package/cli/bin.js.map +11 -11
- package/cli/index.d.ts +1 -1
- package/cli/index.js +37 -25
- package/cli/index.js.map +3 -3
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/dev.d.ts +5 -6
- package/cli/src/commands/dev.d.ts.map +1 -1
- package/cli/src/commands/gen.d.ts +4 -1
- package/cli/src/commands/gen.d.ts.map +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +7 -1
- package/cli/src/commands/lib/bundler.d.ts.map +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +2 -1
- package/cli/src/commands/lib/server.d.ts.map +1 -1
- package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
- package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/theme.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/og.d.ts +1 -1
- package/cli/src/commands/start.d.ts +1 -1
- package/cli/src/index.d.ts +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +201 -158
- package/core/index.js.map +5 -5
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +1 -1
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +1 -1
- package/core/src/i18n/catalog.d.ts +1 -1
- package/core/src/i18n/discover.d.ts +1 -1
- package/core/src/i18n/index.d.ts +1 -1
- package/core/src/i18n/messages.d.ts +1 -1
- package/core/src/i18n/negotiate.d.ts +1 -1
- package/core/src/i18n/pathname.d.ts +1 -1
- package/core/src/i18n/resolve.d.ts +1 -1
- package/core/src/i18n/types.d.ts +1 -1
- package/core/src/index.d.ts +1 -1
- package/core/src/llms/extractor.d.ts +1 -1
- package/core/src/llms/formatter.d.ts +1 -1
- package/core/src/llms/full-generator.d.ts +1 -1
- package/core/src/llms/index-generator.d.ts +1 -1
- package/core/src/llms/index.d.ts +1 -1
- package/core/src/og/discovery.d.ts +1 -1
- package/core/src/og/index.d.ts +1 -1
- package/core/src/og/meta.d.ts +1 -1
- package/core/src/og/render.d.ts +1 -1
- package/core/src/og/types.d.ts +1 -1
- package/core/src/robots/discovery.d.ts +1 -1
- package/core/src/robots/generator.d.ts +1 -1
- package/core/src/robots/index.d.ts +1 -1
- package/core/src/robots/policies.d.ts +1 -1
- package/core/src/rss/discovery.d.ts +1 -1
- package/core/src/rss/generator.d.ts +1 -1
- package/core/src/rss/index.d.ts +1 -1
- package/core/src/sitemap/discovery.d.ts +1 -1
- package/core/src/sitemap/generator.d.ts +1 -1
- package/core/src/sitemap/index.d.ts +1 -1
- package/core/src/ssr/index.d.ts +1 -1
- package/core/src/ssr/lib/cache.d.ts +1 -1
- package/core/src/ssr/lib/cleanup.d.ts +1 -1
- package/core/src/ssr/lib/collections.d.ts +1 -1
- package/core/src/ssr/lib/compression.d.ts +1 -1
- package/core/src/ssr/lib/compute/content.d.ts +1 -1
- package/core/src/ssr/lib/compute/index.d.ts +1 -1
- package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
- package/core/src/ssr/lib/compute/routes.d.ts +1 -1
- package/core/src/ssr/lib/content-path.d.ts +1 -1
- package/core/src/ssr/lib/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +8 -3
- package/core/src/ssr/lib/imports.d.ts.map +1 -1
- package/core/src/ssr/lib/index.d.ts +1 -1
- package/core/src/ssr/lib/layouts.d.ts +1 -1
- package/core/src/ssr/lib/metadata.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts +1 -1
- package/core/src/ssr/lib/modules.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts +1 -1
- package/core/src/ssr/lib/preload.d.ts +1 -1
- package/core/src/ssr/lib/route-match.d.ts +1 -1
- package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
- package/core/src/ssr/lib/scripts/data.d.ts +1 -1
- package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
- package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
- package/core/src/ssr/lib/scripts/index.d.ts +1 -1
- package/core/src/ssr/lib/seed.d.ts +6 -1
- package/core/src/ssr/lib/seed.d.ts.map +1 -1
- package/core/src/ssr/lib/serialize.d.ts +1 -1
- package/core/src/ssr/lib/setup.d.ts +1 -1
- package/core/src/ssr/lib/styles.d.ts +1 -1
- package/core/src/ssr/lib/template.d.ts +1 -1
- package/core/src/ssr/lib/types.d.ts +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +278 -209
- package/elysia/index.js.map +11 -10
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/assets.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/caching.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/i18n.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/libs/index.d.ts +1 -1
- package/elysia/src/libs/llms.d.ts +1 -1
- package/elysia/src/libs/response.d.ts +1 -1
- package/elysia/src/libs/serving.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/plugin.d.ts.map +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +2 -2
- package/elysia/src/routes/content.d.ts.map +1 -1
- package/elysia/src/routes/image.d.ts +1 -1
- package/elysia/src/routes/index.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts.map +1 -1
- package/elysia/src/routes/llms.d.ts +1 -1
- package/elysia/src/routes/og.d.ts +1 -1
- package/elysia/src/routes/redirects.d.ts +1 -1
- package/elysia/src/routes/robots.d.ts +1 -1
- package/elysia/src/routes/rss.d.ts +1 -1
- package/elysia/src/routes/search.d.ts +1 -1
- package/elysia/src/routes/sitemap.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts +1 -1
- package/elysia/src/routes/static.d.ts +1 -1
- package/elysia/src/routes/themeCssRefresh.d.ts +17 -0
- package/elysia/src/routes/themeCssRefresh.d.ts.map +1 -0
- package/elysia/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +71 -71
- package/react/index.js.map +1 -1
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +1 -1
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useFeed.d.ts +1 -1
- package/react/src/hooks/useLayoutData.d.ts +1 -1
- package/react/src/hooks/useLlms.d.ts +1 -1
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearch.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/hooks/useToc.d.ts +1 -1
- package/react/src/i18n/LocaleProvider.d.ts +1 -1
- package/react/src/i18n/helpers.d.ts +1 -1
- package/react/src/i18n/index.d.ts +1 -1
- package/react/src/index.d.ts +1 -1
- package/react/src/lib/collection.d.ts +1 -1
- package/react/src/lib/content.d.ts +1 -1
- package/react/src/lib/head.d.ts +1 -1
- package/react/src/lib/index.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts +1 -1
- package/react/src/lib/route-loader.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/telemetry/react.d.ts +1 -1
- package/telemetry/react.js +16 -16
- package/telemetry/react.js.map +2 -2
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +28 -220
- package/telemetry/server.js.map +5 -4
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/headers/extractor.d.ts +1 -1
- package/telemetry/src/server/headers/index.d.ts +1 -1
- package/telemetry/src/server/headers/presets.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/index.d.ts
CHANGED
package/cli/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v1.0.0-alpha.
|
|
2
|
+
* reroute-js v1.0.0-alpha.5
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -572,6 +572,17 @@ function filterProdFlag(args) {
|
|
|
572
572
|
return args.filter((arg) => arg !== "--prod");
|
|
573
573
|
}
|
|
574
574
|
// packages/cli/src/commands/lib/server.ts
|
|
575
|
+
async function isServerRunning(port, timeout = 1000) {
|
|
576
|
+
try {
|
|
577
|
+
const response = await fetch(`http://localhost:${port}/`, {
|
|
578
|
+
method: "GET",
|
|
579
|
+
signal: AbortSignal.timeout(timeout)
|
|
580
|
+
});
|
|
581
|
+
return response.status < 500;
|
|
582
|
+
} catch {
|
|
583
|
+
return false;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
575
586
|
async function waitForServerReady(port = 3000, timeout = 30000) {
|
|
576
587
|
const startTime = Date.now();
|
|
577
588
|
let checkInterval = 50;
|
|
@@ -671,7 +682,7 @@ async function getVersionString() {
|
|
|
671
682
|
}
|
|
672
683
|
async function getVersion() {
|
|
673
684
|
if (true) {
|
|
674
|
-
return "1.0.0-alpha.
|
|
685
|
+
return "1.0.0-alpha.5";
|
|
675
686
|
}
|
|
676
687
|
const possiblePaths = [
|
|
677
688
|
path.join(import.meta.dir, "../../../../package.json"),
|
|
@@ -689,33 +700,34 @@ async function getVersion() {
|
|
|
689
700
|
}
|
|
690
701
|
async function getCommit() {
|
|
691
702
|
if (true) {
|
|
692
|
-
return "
|
|
703
|
+
return "403cf32";
|
|
693
704
|
}
|
|
694
705
|
return "dev";
|
|
695
706
|
}
|
|
696
707
|
export {
|
|
697
|
-
|
|
698
|
-
syncThemeCss,
|
|
699
|
-
stripMarkdown,
|
|
700
|
-
processMarkdownFile,
|
|
701
|
-
logMarkdownStatus,
|
|
702
|
-
isProductionMode,
|
|
703
|
-
isMarkdownFile,
|
|
704
|
-
getVersionString,
|
|
705
|
-
getRerouteCommand,
|
|
706
|
-
getMarkdownRouteName,
|
|
707
|
-
getMarkdownConfig,
|
|
708
|
-
generatePlainMarkdownModule,
|
|
709
|
-
generateMarkdownModule,
|
|
710
|
-
filterProdFlag,
|
|
711
|
-
extractHeadings,
|
|
712
|
-
ensureProductionEnv,
|
|
713
|
-
createServerOutputHandler,
|
|
714
|
-
colorizeLogPrefixAnsi,
|
|
715
|
-
colorizeLogPrefix,
|
|
716
|
-
checkMarkdownIfConfigured,
|
|
708
|
+
blessedToAnsi,
|
|
717
709
|
bundleCssEntrypoint,
|
|
718
|
-
|
|
710
|
+
checkMarkdownIfConfigured,
|
|
711
|
+
colorizeLogPrefix,
|
|
712
|
+
colorizeLogPrefixAnsi,
|
|
713
|
+
createServerOutputHandler,
|
|
714
|
+
ensureProductionEnv,
|
|
715
|
+
extractHeadings,
|
|
716
|
+
filterProdFlag,
|
|
717
|
+
generateMarkdownModule,
|
|
718
|
+
generatePlainMarkdownModule,
|
|
719
|
+
getMarkdownConfig,
|
|
720
|
+
getMarkdownRouteName,
|
|
721
|
+
getRerouteCommand,
|
|
722
|
+
getVersionString,
|
|
723
|
+
isMarkdownFile,
|
|
724
|
+
isProductionMode,
|
|
725
|
+
isServerRunning,
|
|
726
|
+
logMarkdownStatus,
|
|
727
|
+
processMarkdownFile,
|
|
728
|
+
stripMarkdown,
|
|
729
|
+
syncThemeCss,
|
|
730
|
+
waitForServerReady
|
|
719
731
|
};
|
|
720
732
|
|
|
721
|
-
//# debugId=
|
|
733
|
+
//# debugId=5AD1AA0F564F930264756E2164756E21
|
package/cli/index.js.map
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
"/**\n * Markdown integration utility\n *\n * Manages markdown and syntax highlighting packages for the Reroute framework\n */\n\nimport { existsSync, readFileSync } from 'node:fs';\nimport { dirname, join } from 'node:path';\n\n/**\n * Check if a package is available in package.json, searching up to 5 parent directories\n */\nfunction isPackageAvailable(cwd: string, packageName: 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 (packageName 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\n/**\n * Check if streamdown is available in the project\n */\nfunction isStreamdownAvailable(cwd: string): boolean {\n\treturn isPackageAvailable(cwd, 'streamdown');\n}\n\n/**\n * Check if Shiki is available in the project (deprecated: now built into streamdown)\n */\nfunction isShikiAvailable(cwd: string): boolean {\n\treturn isPackageAvailable(cwd, '@shikijs/rehype');\n}\n\n/**\n * @deprecated Streamdown includes GFM support built-in\n * Check if remark-gfm (GitHub Flavored Markdown) is available\n */\nfunction isRemarkGfmAvailable(cwd: string): boolean {\n\treturn isPackageAvailable(cwd, 'remark-gfm');\n}\n\n/**\n * Check if @mdx-js/mdx is available in the project\n */\nfunction isMdxAvailable(cwd: string): boolean {\n\treturn isPackageAvailable(cwd, '@mdx-js/mdx');\n}\n\n/**\n * Get markdown configuration status for the project\n */\nexport function getMarkdownConfig(cwd: string) {\n\tconst hasStreamdown = isStreamdownAvailable(cwd);\n\tconst hasShiki = isShikiAvailable(cwd);\n\tconst hasRemarkGfm = isRemarkGfmAvailable(cwd);\n\tconst hasMdx = isMdxAvailable(cwd);\n\n\treturn {\n\t\thasStreamdown,\n\t\thasShiki,\n\t\thasRemarkGfm,\n\t\thasMdx,\n\t\tisConfigured: hasStreamdown,\n\t};\n}\n\n/**\n * Log markdown configuration status\n */\nexport function logMarkdownStatus(cwd: string): void {\n\tconst config = getMarkdownConfig(cwd);\n\n\tif (config.isConfigured) {\n\t\tconsole.log(\n\t\t\t'[reroute/markdown] Streamdown available (GFM, syntax highlighting, math, mermaid built-in)',\n\t\t);\n\t\tif (config.hasMdx) {\n\t\t\tconsole.log('[reroute/markdown] MDX compiler enabled (JSX in markdown)');\n\t\t}\n\t}\n}\n\n/**\n * Check if markdown packages are configured and log status\n */\nexport function checkMarkdownIfConfigured(cwd: string): boolean {\n\ttry {\n\t\tconst config = getMarkdownConfig(cwd);\n\t\tif (config.isConfigured) {\n\t\t\tlogMarkdownStatus(cwd);\n\t\t}\n\t\treturn config.isConfigured;\n\t} catch (e) {\n\t\tconsole.warn('[reroute/markdown] check failed:', e);\n\t\treturn false;\n\t}\n}\n",
|
|
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
|
-
"/**\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",
|
|
10
|
+
"/**\n * Server utilities for waiting and polling\n */\n\nexport async function isServerRunning(\n\tport: number,\n\ttimeout = 1000,\n): Promise<boolean> {\n\ttry {\n\t\tconst response = await fetch(`http://localhost:${port}/`, {\n\t\t\tmethod: 'GET',\n\t\t\tsignal: AbortSignal.timeout(timeout),\n\t\t});\n\t\treturn response.status < 500;\n\t} catch {\n\t\treturn false;\n\t}\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
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": "
|
|
14
|
+
"mappings": ";;;;;;;;;;;;;AAAA;AACA;AAMO,SAAS,iBAAiB,GAAW;AAAA,EAG3C,MAAM,UAAU,KAAK,YAAY,KAAK,MAAM,MAAM,QAAQ;AAAA,EAC1D,MAAM,WAAW,WAAW,OAAO;AAAA,EAEnC,IAAI,UAAU;AAAA,IAEb,OAAO,OAAO;AAAA,EACf;AAAA,EAGA,MAAM,MAAM,QAAQ,IAAI;AAAA,EACxB,MAAM,mBAAmB;AAAA,IACxB,KAAK,KAAK,gBAAgB,QAAQ,SAAS;AAAA,IAC3C,KAAK,KAAK,MAAM,gBAAgB,QAAQ,SAAS;AAAA,IACjD,KAAK,KAAK,MAAM,MAAM,gBAAgB,QAAQ,SAAS;AAAA,IACvD,KAAK,KAAK,MAAM,MAAM,MAAM,gBAAgB,QAAQ,SAAS;AAAA,EAC9D;AAAA,EAEA,WAAW,YAAW,kBAAkB;AAAA,IACvC,IAAI,WAAW,QAAO,GAAG;AAAA,MACxB,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAGA,OAAO;AAAA;;ACvBR,IAAM,gBAAwC;AAAA,EAC7C,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,SAAS;AACV;AAQO,SAAS,iBAAiB,CAAC,MAAsB;AAAA,EACvD,IAAI,UAAU;AAAA,EAGd,MAAM,iBAAiB,OAAO,QAAQ,aAAa,EAAE,KACpD,EAAE,KAAK,OAAO,EAAE,SAAS,EAAE,MAC5B;AAAA,EAEA,YAAY,QAAQ,aAAa,gBAAgB;AAAA,IAEhD,UAAU,QAAQ,QACjB,IAAI,OAAO,IAAI,OAAO,QAAQ,uBAAuB,MAAM,MAAM,GAAG,GACpE,GAAG,eACJ;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AASD,SAAS,aAAa,CAAC,MAAsB;AAAA,EACnD,OACC,KAEE,QAAQ,gBAAgB,UAAU,EAClC,QAAQ,gBAAgB,UAAU,EAClC,QAAQ,mBAAmB,UAAU,EACrC,QAAQ,kBAAkB,UAAU,EACpC,QAAQ,iBAAiB,UAAU,EACnC,QAAQ,eAAe,UAAU,EAEjC,QAAQ,uBAAuB,UAAU,EACzC,QAAQ,uBAAuB,UAAU,EACzC,QAAQ,0BAA0B,UAAU,EAC5C,QAAQ,yBAAyB,UAAU,EAC3C,QAAQ,wBAAwB,UAAU,EAC1C,QAAQ,sBAAsB,UAAU,EACxC,QAAQ,WAAW,SAAS;AAAA;AAUzB,SAAS,qBAAqB,CAAC,MAAsB;AAAA,EAC3D,OAAO,cAAc,kBAAkB,IAAI,CAAC;AAAA;AAStC,SAAS,yBAAyB,CAAC,QAA6B;AAAA,EACtE,OAAO,CAAC,SAAiB;AAAA,IACxB,MAAM,OAAO,OAAO,UAAU,KAAK,SAAS;AAAA,IAC5C,MAAM,QAAQ,KAAK,MAAM;AAAA,CAAI;AAAA,IAC7B,OAAO,UAAU,MAAM,IAAI,KAAK;AAAA,IAEhC,WAAW,QAAQ,OAAO;AAAA,MAEzB,MAAM,cAAc,KAAK,KAAK;AAAA,MAC9B,IAAI,CAAC,aAAa;AAAA,QACjB;AAAA,MACD;AAAA,MAGA,MAAM,cAAc,sBAAsB,IAAI;AAAA,MAC9C,QAAQ,IAAI,WAAW;AAAA,IACxB;AAAA;AAAA;;ACxGF,uBAAS;AACT,0BAAkB;AAKlB,SAAS,kBAAkB,CAAC,KAAa,aAA8B;AAAA,EACtE,IAAI,aAAa;AAAA,EAGjB,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,MAAM,kBAAkB,MAAK,YAAY,cAAc;AAAA,IAEvD,IAAI,YAAW,eAAe,GAAG;AAAA,MAChC,IAAI;AAAA,QACH,MAAM,cAAc,KAAK,MAAM,aAAa,iBAAiB,OAAO,CAAC;AAAA,QACrE,MAAM,OAAO;AAAA,aACT,YAAY;AAAA,aACZ,YAAY;AAAA,aACZ,YAAY;AAAA,QAChB;AAAA,QAEA,IAAI,eAAe,MAAM;AAAA,UACxB,OAAO;AAAA,QACR;AAAA,QACC,MAAM;AAAA,IAGT;AAAA,IAEA,MAAM,YAAY,QAAQ,UAAU;AAAA,IAEpC,IAAI,cAAc,YAAY;AAAA,MAC7B;AAAA,IACD;AAAA,IACA,aAAa;AAAA,EACd;AAAA,EAEA,OAAO;AAAA;AAMR,SAAS,qBAAqB,CAAC,KAAsB;AAAA,EACpD,OAAO,mBAAmB,KAAK,YAAY;AAAA;AAM5C,SAAS,gBAAgB,CAAC,KAAsB;AAAA,EAC/C,OAAO,mBAAmB,KAAK,iBAAiB;AAAA;AAOjD,SAAS,oBAAoB,CAAC,KAAsB;AAAA,EACnD,OAAO,mBAAmB,KAAK,YAAY;AAAA;AAM5C,SAAS,cAAc,CAAC,KAAsB;AAAA,EAC7C,OAAO,mBAAmB,KAAK,aAAa;AAAA;AAMtC,SAAS,iBAAiB,CAAC,KAAa;AAAA,EAC9C,MAAM,gBAAgB,sBAAsB,GAAG;AAAA,EAC/C,MAAM,WAAW,iBAAiB,GAAG;AAAA,EACrC,MAAM,eAAe,qBAAqB,GAAG;AAAA,EAC7C,MAAM,SAAS,eAAe,GAAG;AAAA,EAEjC,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EACf;AAAA;AAMM,SAAS,iBAAiB,CAAC,KAAmB;AAAA,EACpD,MAAM,SAAS,kBAAkB,GAAG;AAAA,EAEpC,IAAI,OAAO,cAAc;AAAA,IACxB,QAAQ,IACP,4FACD;AAAA,IACA,IAAI,OAAO,QAAQ;AAAA,MAClB,QAAQ,IAAI,2DAA2D;AAAA,IACxE;AAAA,EACD;AAAA;AAMM,SAAS,yBAAyB,CAAC,KAAsB;AAAA,EAC/D,IAAI;AAAA,IACH,MAAM,SAAS,kBAAkB,GAAG;AAAA,IACpC,IAAI,OAAO,cAAc;AAAA,MACxB,kBAAkB,GAAG;AAAA,IACtB;AAAA,IACA,OAAO,OAAO;AAAA,IACb,OAAO,GAAG;AAAA,IACX,QAAQ,KAAK,oCAAoC,CAAC;AAAA,IAClD,OAAO;AAAA;AAAA;;ACpHT,uBAAS,6BAAY;AACrB,8BAAmB,2BAAkB;AACrC;AAQA,IAAM,sBAA8C;AAAA,EACnD,OAAO;AAAA,EACP,KAAK;AAAA,EACL,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EAEV,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe;AAAA,EACf,aAAa;AAAA,EACb,eAAe;AAAA,EACf,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,iBAAiB;AAClB;AAEA,SAAS,sBAAsB,CAC9B,YACsB;AAAA,EACtB,MAAM,gBAAqC,CAAC;AAAA,EAC5C,YAAY,KAAK,UAAU,OAAO,QAAQ,UAAU,GAAG;AAAA,IACtD,MAAM,SAAS,oBAAoB,QAAQ;AAAA,IAC3C,cAAc,UAAU;AAAA,EACzB;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,SAAS,CAAC,MAAiB;AAAA,EACnC,IAAI,KAAK,SAAS,aAAa,KAAK,YAAY;AAAA,IAC/C,KAAK,aAAa,uBAAuB,KAAK,UAAU;AAAA,EACzD;AAAA,EACA,IAAI,KAAK,UAAU;AAAA,IAClB,WAAW,SAAS,KAAK,UAAU;AAAA,MAClC,UAAU,KAAK;AAAA,IAChB;AAAA,EACD;AAAA;AAMD,SAAS,eAAe,GAAG;AAAA,EAC1B,OAAO,CAAC,SAAc;AAAA,IACrB,UAAU,IAAI;AAAA,IACd,OAAO;AAAA;AAAA;AAgCT,SAAS,gBAAgB,CAAC,SAGxB;AAAA,EACD,IAAI;AAAA,IACH,QAAQ,MAAM,SAAS,oBAAoB,OAAO,OAAO;AAAA,IACzD,OAAO,EAAE,MAAM,SAAS,gBAAgB;AAAA,IACvC,OAAO,OAAO;AAAA,IACf,QAAQ,KAAK,sDAAsD,KAAK;AAAA,IACxE,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ;AAAA;AAAA;AAO7B,SAAS,YAAY,CAAC,SAA0B;AAAA,EAE/C,MAAM,cAAc;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,KAAK,CAAC,YAAY,QAAQ,KAAK,OAAO,CAAC;AAAA;AAMpD,SAAS,mBAAmB,CAAC,UAAqC;AAAA,EACxE,MAAM,aAAa,cAAa,UAAU,OAAO;AAAA,EACjD,QAAQ,MAAM,YAAY,iBAAiB,UAAU;AAAA,EACrD,MAAM,SAAS,aAAa,OAAO;AAAA,EAEnC,OAAO;AAAA,IACN,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAMD,SAAS,eAAc,CAAC,KAAsB;AAAA,EAC7C,IAAI,aAAa;AAAA,EAGjB,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,MAAM,kBAAkB,MAAK,YAAY,cAAc;AAAA,IAEvD,IAAI,YAAW,eAAe,GAAG;AAAA,MAChC,IAAI;AAAA,QACH,MAAM,cAAc,KAAK,MAAM,cAAa,iBAAiB,OAAO,CAAC;AAAA,QACrE,MAAM,OAAO;AAAA,aACT,YAAY;AAAA,aACZ,YAAY;AAAA,aACZ,YAAY;AAAA,QAChB;AAAA,QAEA,IAAI,iBAAiB,MAAM;AAAA,UAC1B,OAAO;AAAA,QACR;AAAA,QACC,MAAM;AAAA,IAGT;AAAA,IAEA,MAAM,YAAY,SAAQ,UAAU;AAAA,IAEpC,IAAI,cAAc,YAAY;AAAA,MAC7B;AAAA,IACD;AAAA,IACA,aAAa;AAAA,EACd;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,aAAa,CAAC,KAAa,YAAyB;AAAA,EAC5D,MAAM,aAAa;AAAA,IAClB,MAAK,KAAK,gBAAgB,YAAY;AAAA,IACtC,MAAK,KAAK,mBAAmB,YAAY;AAAA,IACzC,MAAK,KAAK,sBAAsB,YAAY;AAAA,IAC5C,MAAK,KAAK,yBAAyB,YAAY;AAAA,EAChD;AAAA,EAEA,WAAW,cAAc,YAAY;AAAA,IACpC,IAAI;AAAA,MACH,OAAO,UAAQ,UAAU;AAAA,MACxB,MAAM;AAAA,EAGT;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,eAAe,CAAC,KAAkB;AAAA,EAC1C,MAAM,YAAY,cAAc,KAAK,aAAa;AAAA,EAClD,IAAI,CAAC,WAAW;AAAA,IACf,QAAQ,MAAM,wDAAwD;AAAA,IACtE,OAAO;AAAA,EACR;AAAA,EACA,OAAO,UAAU;AAAA;AAGlB,SAAS,kBAAkB,CAAC,KAAa,WAA2B;AAAA,EACnE,MAAM,gBAAgB,CAAC;AAAA,EAEvB,IAAI,CAAC;AAAA,IAAW,OAAO;AAAA,EAEvB,MAAM,YAAY,cAAc,KAAK,YAAY;AAAA,EACjD,IAAI,WAAW;AAAA,IACd,cAAc,KAAK,UAAU,WAAW,SAAS;AAAA,EAClD,EAAO;AAAA,IACN,QAAQ,KACP,oGACD;AAAA;AAAA,EAGD,OAAO;AAAA;AAGR,SAAS,kBAAkB,CAAC,KAAa,OAAsB;AAAA,EAC9D,MAAM,gBAAgB,CAAC;AAAA,EAEvB,MAAM,YAAY,cAAc,KAAK,YAAY;AAAA,EACjD,IAAI,WAAW;AAAA,IACd,cAAc,KAAK;AAAA,MAClB,UAAU,WAAW;AAAA,MACrB;AAAA,QACC,aAAa;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAC;AAAA,IACD,cAAc,KAAK,eAAe;AAAA,EACnC;AAAA,EAEA,MAAM,cAAc,cAAc,KAAK,iBAAiB;AAAA,EACxD,IAAI,aAAa;AAAA,IAChB,cAAc,KAAK,CAAC,YAAY,WAAW,aAAa,EAAE,MAAM,CAAC,CAAC;AAAA,EACnE,EAAO;AAAA,IACN,QAAQ,KACP,oEACD;AAAA;AAAA,EAGD,OAAO;AAAA;AAGR,SAAS,cAAc,CAAC,OAAgB,SAAsC;AAAA,EAC7E,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EAC1E,MAAM,gBACL,SACA,OAAO,UAAU,YACjB,WAAW,SACX,MAAM,SACN,OAAO,MAAM,UAAU,WACpB,WAAY,MAAM,MAAc,QAAQ,eAAgB,MAAM,MAAc,UAAU,QACtF;AAAA,EACJ,MAAM,WAAW,QAAQ,WAAW,OAAO,QAAQ,aAAa;AAAA,EAEhE,QAAQ,KACP,mCAAmC,WAAW,gBAAgB,IAAI,kBAAkB,OAAO,cAC5F;AAAA,EACA,QAAQ,KACP,yEACD;AAAA;AAMD,eAAe,UAAU,CACxB,SACA,KACA,UAII,CAAC,GACoB;AAAA,EACzB,IAAI,CAAC,gBAAe,GAAG,GAAG;AAAA,IACzB,QAAQ,KACP,4EACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI;AAAA,IACH,MAAM,UAAU,gBAAgB,GAAG;AAAA,IACnC,IAAI,CAAC;AAAA,MAAS,OAAO;AAAA,IAErB,QAAQ,YAAY,MAAM,QAAQ,kBAAkB;AAAA,IAEpD,MAAM,gBAAgB,mBAAmB,KAAK,SAAS;AAAA,IACvD,MAAM,gBAAgB,mBAAmB,KAAK,KAAK;AAAA,IAEnD,MAAM,SAAS,MAAM,QAAQ,SAAS;AAAA,MACrC;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,aAAa;AAAA,IACd,CAAC;AAAA,IAED,OAAO,OAAO,MAAM;AAAA,IACnB,OAAO,OAAO;AAAA,IACf,eAAe,OAAO,OAAO;AAAA,IAC7B,OAAO;AAAA;AAAA;AAOT,SAAS,kBAAkB,CAC1B,MACA,YACA,YACS;AAAA,EAET,MAAM,cACL;AAAA,EAED,OAAO,KAAK,QAAQ,aAAa,CAAC,OAAO,eAAe;AAAA,IAEvD,MAAM,YAAY,SAAQ,UAAU;AAAA,IACpC,MAAM,qBAAqB,QAAQ,WAAW,UAAU;AAAA,IAGxD,MAAM,YAAY,SAAQ,UAAU;AAAA,IACpC,IAAI,kBAAkB,SAAS,WAAW,kBAAkB;AAAA,IAG5D,IAAI,CAAC,gBAAgB,WAAW,GAAG,GAAG;AAAA,MACrC,kBAAkB,KAAK;AAAA,IACxB;AAAA,IAGA,kBAAkB,gBAAgB,QAAQ,OAAO,GAAG;AAAA,IAGpD,OAAO,MAAM,QAAQ,YAAY,eAAe;AAAA,GAChD;AAAA;AAOF,eAAsB,sBAAsB,CAC3C,WACA,KACA,UAQI,CAAC,GACa;AAAA,EAClB,QAAQ,aAAa,YAAY;AAAA,EACjC;AAAA,IACC,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG;AAAA,EAIJ,IAAI,cAAc,MAAM,WAAW,SAAS,KAAK;AAAA,IAChD;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EACD,IAAI,aAAa;AAAA,IAEhB,IAAI,cAAc,YAAY;AAAA,MAC7B,cAAc,mBAAmB,aAAa,YAAY,UAAU;AAAA,IACrE;AAAA,IAGA,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYxB,MAAM,WAAW,YACf,QACA,mDACA,6CACD,EACC,QACA,4CACA,sCACD;AAAA,IAMD,OAAO;AAAA,oBACW,QAAQ,QAAQ;AAAA;AAAA;AAAA,EAGlC;AAAA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,sBAGoB,KAAK,UAAU,aAAa,MAAM,CAAC;AAAA;AAAA;AAAA,qBAGpC,KAAK,UAAU,gBAAgB,OAAO,GAAG,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASpE;AAAA,EAGA,MAAM,iBAAiB,QACrB,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,OAAO,KAAK;AAAA,EAGtB,MAAM,gBAA0B,CAAC;AAAA,EACjC,MAAM,oBAA8B,CAAC;AAAA,EACrC,MAAM,oBAA8B,CAAC;AAAA,EAGrC,IAAI,gBAAgB;AAAA,IACnB,cAAc,KAAK,mCAAmC,kBAAkB;AAAA,EACzE;AAAA,EAIA,IAAI,WAAW;AAAA,IACd,cAAc,KAAK,qCAAqC;AAAA,IACxD,kBAAkB,KAAK,WAAW;AAAA,EACnC;AAAA,EAIA,MAAM,mBACL,cAAc,SAAS,IAAI,GAAG,cAAc,KAAK;AAAA,CAAI;AAAA,IAAQ;AAAA,EAC9D,MAAM,mBACL,kBAAkB,SAAS,IACxB,mBAAmB,kBAAkB,KAAK,IAAI,QAC9C;AAAA,EACJ,MAAM,mBACL,kBAAkB,SAAS,IACxB,mBAAmB,kBAAkB,KAAK,IAAI,QAC9C;AAAA,EACJ,MAAM,gBAAgB,iBAAiB,oCAAoC;AAAA,EAC3E,MAAM,kBAAkB,CAAC,kBAAkB,kBAAkB,aAAa,EACxE,OAAO,OAAO,EACd,KAAK;AAAA,SAAY;AAAA,EAEnB,OAAO;AAAA;AAAA,EAEN;AAAA,eACa,KAAK,UAAU,aAAa,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAStB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBASW,KAAK,UAAU,gBAAgB,OAAO,GAAG,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAY9D,SAAS,2BAA2B,CAC1C,WACS;AAAA,EACT,QAAQ,aAAa,YAAY;AAAA,EACjC,MAAM,iBAAiB,QACrB,QAAQ,OAAO,MAAM,EACrB,MAAM,OAAO,aAAa,EAAE,CAAC,EAC7B,KAAK,KAAK,OAAO,aAAa,EAAE,GAAG,EACnC,MAAM,GAAG,EACT,KAAK,KAAK;AAAA,EAEZ,OAAO;AAAA;AAAA,sBAEc,KAAK,UAAU,aAAa,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAY7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BrB,SAAS,cAAc,CAAC,UAA2B;AAAA,EACzD,MAAM,MAAM,QAAQ,QAAQ,EAAE,YAAY;AAAA,EAC1C,OAAO,QAAQ,SAAS,QAAQ;AAAA;AAO1B,SAAS,oBAAoB,CAAC,UAA0B;AAAA,EAC9D,MAAM,OAAO,SAAS,UAAU,QAAQ,QAAQ,CAAC;AAAA,EACjD,OAAO;AAAA;AAOD,SAAS,eAAe,CAC9B,SACA,UAAoD,CAAC,GACrC;AAAA,EAChB,QAAQ,WAAW,GAAG,WAAW,MAAM;AAAA,EACvC,MAAM,WAA0B,CAAC;AAAA,EAGjC,MAAM,eAAe;AAAA,EACrB,IAAI,QAAgC,aAAa,KAAK,OAAO;AAAA,EAE7D,OAAO,UAAU,MAAM;AAAA,IACtB,MAAM,QAAQ,MAAM,GAAG;AAAA,IAGvB,IAAI,SAAS,YAAY,SAAS,UAAU;AAAA,MAC3C,MAAM,OAAO,MAAM,GAAG,KAAK;AAAA,MAE3B,MAAM,OAAO,KACX,YAAY,EACZ,QAAQ,aAAa,EAAE,EACvB,QAAQ,QAAQ,GAAG,EACnB,QAAQ,OAAO,GAAG,EAClB,KAAK;AAAA,MAEP,SAAS,KAAK,EAAE,OAAO,MAAM,KAAK,CAAC;AAAA,IACpC;AAAA,IAEA,QAAQ,aAAa,KAAK,OAAO;AAAA,EAClC;AAAA,EAEA,OAAO;AAAA;AAOD,SAAS,aAAa,CAAC,SAAyB;AAAA,EACtD,IAAI,OAAO;AAAA,EAGX,OAAO,KAAK,QAAQ,gCAAgC,IAAI;AAAA,EAExD,OAAO,KAAK,QAAQ,cAAc,IAAI;AAAA,EAGtC,OAAO,KAAK,QAAQ,YAAY,EAAE;AAAA,EAGlC,OAAO,KAAK,QAAQ,2BAA2B,IAAI;AAAA,EAGnD,OAAO,KAAK,QAAQ,0BAA0B,IAAI;AAAA,EAGlD,OAAO,KAAK,QAAQ,gBAAgB,EAAE;AAAA,EAGtC,OAAO,KAAK,QAAQ,+BAA+B,IAAI;AAAA,EAGvD,OAAO,KAAK,QAAQ,WAAW,EAAE;AAAA,EAGjC,OAAO,KAAK,QAAQ,iBAAiB,EAAE;AAAA,EAGvC,OAAO,KAAK,QAAQ,eAAe,EAAE;AAAA,EACrC,OAAO,KAAK,QAAQ,eAAe,EAAE;AAAA,EAGrC,OAAO,KAAK,QAAQ,WAAW;AAAA;AAAA,CAAM;AAAA,EACrC,OAAO,KAAK,KAAK;AAAA,EAEjB,OAAO;AAAA;;AC3pBD,SAAS,gBAAgB,CAAC,OAAiB,CAAC,GAAY;AAAA,EAC9D,OAAO,KAAK,SAAS,QAAQ;AAAA;AAQvB,SAAS,mBAAmB,CAAC,OAAiB,CAAC,GAAS;AAAA,EAC9D,IAAI,KAAK,SAAS,QAAQ,GAAG;AAAA,IAC5B,QAAQ,IAAI,WAAW;AAAA,IACvB,IAAI,IAAI,WAAW;AAAA,EACpB;AAAA;AAQM,SAAS,cAAc,CAAC,MAA0B;AAAA,EACxD,OAAO,KAAK,OAAO,CAAC,QAAQ,QAAQ,QAAQ;AAAA;;AC9B7C,eAAsB,eAAe,CACpC,MACA,UAAU,MACS;AAAA,EACnB,IAAI;AAAA,IACH,MAAM,WAAW,MAAM,MAAM,oBAAoB,SAAS;AAAA,MACzD,QAAQ;AAAA,MACR,QAAQ,YAAY,QAAQ,OAAO;AAAA,IACpC,CAAC;AAAA,IACD,OAAO,SAAS,SAAS;AAAA,IACxB,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAST,eAAsB,kBAAkB,CACvC,OAAO,MACP,UAAU,OACM;AAAA,EAChB,MAAM,YAAY,KAAK,IAAI;AAAA,EAC3B,IAAI,gBAAgB;AAAA,EACpB,MAAM,cAAc;AAAA,EAEpB,OAAO,KAAK,IAAI,IAAI,YAAY,SAAS;AAAA,IACxC,IAAI;AAAA,MACH,MAAM,WAAW,MAAM,MAAM,oBAAoB,SAAS;AAAA,QACzD,QAAQ;AAAA,QACR,QAAQ,YAAY,QAAQ,IAAI;AAAA,MACjC,CAAC;AAAA,MAED,IAAI,SAAS,SAAS,KAAK;AAAA,QAC1B;AAAA,MACD;AAAA,MACC,MAAM;AAAA,IAIR,MAAM,IAAI,QAAQ,CAAC,aAAY,WAAW,UAAS,aAAa,CAAC;AAAA,IAGjE,gBAAgB,KAAK,IAAI,gBAAgB,KAAK,WAAW;AAAA,EAC1D;AAAA,EAEA,MAAM,IAAI,MACT,+CAA+C,gBAC9C,uDAAuD,OACzD;AAAA;;ACxCD,uBAAS,6BAAY;AACrB;AACA,oBAAS,8BAAqB,kBAAM;AAEpC,SAAS,WAAW,CAAC,KAAa;AAAA,EACjC,MAAM,QAAQ,MAAK,KAAK,sBAAsB;AAAA,EAC9C,MAAM,SAAS,MAAK,KAAK,oBAAoB;AAAA,EAE7C,OAAO,EAAE,OAAO,OAAO;AAAA;AAUxB,IAAM,YACL;AAED,SAAS,YAAY,CAAC,WAA4B;AAAA,EACjD,IACC,UAAU,WAAW,SAAS,KAC9B,UAAU,WAAW,UAAU,KAC/B,UAAU,WAAW,OAAO,KAC5B,UAAU,WAAW,GAAG,GACvB;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA;AAOD,SAAS,mBAAmB,CAAC,WAA2B;AAAA,EAC9D,MAAM,WAAW,SAAQ,SAAS;AAAA,EAClC,MAAM,QAAQ,IAAI;AAAA,EAClB,MAAM,YAAY,IAAI;AAAA,EAEtB,SAAS,UAAU,CAAC,UAA0B;AAAA,IAC7C,MAAM,UAAU,SAAQ,QAAQ;AAAA,IAGhC,IAAI,UAAU,IAAI,OAAO,GAAG;AAAA,MAC3B,OAAO;AAAA,IACR;AAAA,IACA,IAAI,MAAM,IAAI,OAAO,GAAG;AAAA,MACvB,MAAM,IAAI,MACT,8CAA8C,SAC/C;AAAA,IACD;AAAA,IACA,IAAI,CAAC,YAAW,OAAO,GAAG;AAAA,MACzB,MAAM,IAAI,MAAM,uCAAuC,SAAS;AAAA,IACjE;AAAA,IAEA,MAAM,IAAI,OAAO;AAAA,IACjB,MAAM,SAAS,cAAa,SAAS,OAAO;AAAA,IAC5C,MAAM,UAAU,SAAQ,OAAO;AAAA,IAE/B,MAAM,UAAU,OAAO,QACtB,WACA,CAAC,MAAM,QAAgB,QAAgB,MAAc,SAAiB;AAAA,MACrE,MAAM,YAAY,UAAU,UAAU;AAAA,MACtC,MAAM,aAAa,QAAQ,IAAI,KAAK;AAAA,MAGpC,IAAI,aAAa,CAAC,aAAa,SAAS,GAAG;AAAA,QAC1C,OAAO;AAAA,MACR;AAAA,MAEA,MAAM,eAAe,WAAW,SAAS,IACtC,YACA,SAAQ,SAAS,SAAS;AAAA,MAE7B,OAAO,MAAM;AAAA,EAAiB,WAAW,YAAY;AAAA;AAAA,KAEvD;AAAA,IAEA,MAAM,OAAO,OAAO;AAAA,IACpB,UAAU,IAAI,OAAO;AAAA,IACrB,OAAO;AAAA;AAAA,EAGR,OAAO,WAAW,QAAQ;AAAA;AAO3B,eAAsB,YAAY,CAAC,KAA+B;AAAA,EACjE,QAAQ,OAAO,WAAW,YAAY,GAAG;AAAA,EAEzC,IAAI,CAAC,YAAW,KAAK,GAAG;AAAA,IACvB,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,MAAM,SAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAEhD,IAAI;AAAA,IACH,MAAM,MAAM,oBAAoB,KAAK;AAAA,IACrC,MAAM,UAAU,QAAQ,KAAK,OAAO;AAAA,IACnC,OAAO,KAAK;AAAA,IACb,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IAC/D,IAAI,QAAQ,WAAW,iBAAiB,GAAG;AAAA,MAC1C,MAAM;AAAA,IACP;AAAA,IACA,MAAM,IAAI,MAAM;AAAA,EAAgD,SAAS;AAAA;AAAA,EAG1E,QAAQ,IAAI,kCAAkC;AAAA,EAC9C,OAAO;AAAA;;ACjIR;AAMA,eAAsB,gBAAgB,GAAoB;AAAA,EACzD,MAAM,UAAU,MAAM,WAAW;AAAA,EACjC,MAAM,SAAS,MAAM,UAAU;AAAA,EAC/B,OAAO,YAAY,WAAW;AAAA;AAG/B,eAAe,UAAU,GAAoB;AAAA,EAE5C,IAAI,MAA4C;AAAA,IAC/C,OAAO;AAAA,EACR;AAAA,EAGA,MAAM,gBAAgB;AAAA,IACrB,KAAK,KAAK,YAAY,KAAK,0BAA0B;AAAA,IACrD,KAAK,KAAK,YAAY,KAAK,uBAAuB;AAAA,IAClD,KAAK,KAAK,YAAY,KAAK,oBAAoB;AAAA,IAC/C,KAAK,KAAK,YAAY,KAAK,iBAAiB;AAAA,EAC7C;AAAA,EAEA,WAAW,WAAW,eAAe;AAAA,IACpC,IAAI;AAAA,MACH,MAAM,MAAM,MAAM,IAAI,KAAK,OAAO,EAAE,KAAK;AAAA,MACzC,OAAO,IAAI;AAAA,MACV,MAAM;AAAA,EACT;AAAA,EAEA,OAAO;AAAA;AAGR,eAAe,SAAS,GAAoB;AAAA,EAE3C,IAAI,MAA2C;AAAA,IAC9C,OAAO;AAAA,EACR;AAAA,EAGA,OAAO;AAAA;",
|
|
15
|
+
"debugId": "5AD1AA0F564F930264756E2164756E21",
|
|
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.
|
|
2
|
+
* reroute-js v1.0.0-alpha.5
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -8,13 +8,12 @@
|
|
|
8
8
|
* Built with Bun <3
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
|
-
* Dev command
|
|
11
|
+
* Dev command — one bun process.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Default: generate + watch in-process, then import `src/index.ts` in the
|
|
14
|
+
* same process. Live reload is `REROUTE_DEV=1` (not a second `bun --watch`).
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
* Use `-t` or `--tui` to enable the side-by-side terminal UI.
|
|
16
|
+
* `--tui` still splits gen/server into child processes for the two-column UI.
|
|
18
17
|
*/
|
|
19
18
|
export default function dev(args: string[]): Promise<void>;
|
|
20
19
|
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/dev.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmJH,wBAA8B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAgC/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v1.0.0-alpha.
|
|
2
|
+
* reroute-js v1.0.0-alpha.5
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -7,5 +7,8 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Built with Bun <3
|
|
9
9
|
*/
|
|
10
|
+
export declare function startGenWatch(cwd: string, args: string[]): Promise<{
|
|
11
|
+
close: () => void;
|
|
12
|
+
}>;
|
|
10
13
|
export default function gen(args: string[]): Promise<void>;
|
|
11
14
|
//# sourceMappingURL=gen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/gen.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../../../../packages/cli/src/commands/gen.ts"],"names":[],"mappings":";AAymEA,wBAAsB,aAAa,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CA0chC;AAED,wBAA8B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBA0B/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v1.0.0-alpha.
|
|
2
|
+
* reroute-js v1.0.0-alpha.5
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -37,4 +37,10 @@ export declare function getNamingConfig(options?: {
|
|
|
37
37
|
chunk: string;
|
|
38
38
|
asset: string;
|
|
39
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Client files whose contents are inlined into the entrypoint bundle.
|
|
42
|
+
* Markdown imported as text (`with { type: 'text' }`) must rebuild the
|
|
43
|
+
* bundle — watching alone only reloads the stale JS.
|
|
44
|
+
*/
|
|
45
|
+
export declare function shouldRebuildClientBundle(filename: string): boolean;
|
|
40
46
|
//# sourceMappingURL=bundler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/bundler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/bundler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAU5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;;;;EAMA;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOnE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v1.0.0-alpha.
|
|
2
|
+
* reroute-js v1.0.0-alpha.5
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* Server utilities for waiting and polling
|
|
12
12
|
*/
|
|
13
|
+
export declare function isServerRunning(port: number, timeout?: number): Promise<boolean>;
|
|
13
14
|
/**
|
|
14
15
|
* Wait for server to be ready by checking if it responds to HTTP requests
|
|
15
16
|
* Uses exponential backoff for efficient polling without artificial delays
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,SAAO,EACX,OAAO,SAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../../packages/cli/src/commands/lib/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,SAAO,EACX,OAAO,SAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
package/cli/src/commands/og.d.ts
CHANGED
package/cli/src/index.d.ts
CHANGED
package/core/index.d.ts
CHANGED