reroute-js 1.0.0-alpha.4 → 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.
Files changed (203) hide show
  1. package/cli/bin.d.ts +1 -1
  2. package/cli/bin.js +733 -669
  3. package/cli/bin.js.map +10 -10
  4. package/cli/index.d.ts +1 -1
  5. package/cli/index.js +37 -25
  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 +5 -6
  11. package/cli/src/commands/dev.d.ts.map +1 -1
  12. package/cli/src/commands/gen.d.ts +4 -1
  13. package/cli/src/commands/gen.d.ts.map +1 -1
  14. package/cli/src/commands/index.d.ts +1 -1
  15. package/cli/src/commands/init.d.ts +1 -1
  16. package/cli/src/commands/lib/assets.d.ts +1 -1
  17. package/cli/src/commands/lib/bundler.d.ts +1 -1
  18. package/cli/src/commands/lib/command.d.ts +1 -1
  19. package/cli/src/commands/lib/env.d.ts +1 -1
  20. package/cli/src/commands/lib/index.d.ts +1 -1
  21. package/cli/src/commands/lib/log.d.ts +1 -1
  22. package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
  23. package/cli/src/commands/lib/markdown/index.d.ts +1 -1
  24. package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
  25. package/cli/src/commands/lib/production.d.ts +1 -1
  26. package/cli/src/commands/lib/server.d.ts +2 -1
  27. package/cli/src/commands/lib/server.d.ts.map +1 -1
  28. package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
  29. package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
  30. package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
  31. package/cli/src/commands/lib/theme.d.ts +1 -1
  32. package/cli/src/commands/lib/version.d.ts +1 -1
  33. package/cli/src/commands/og.d.ts +1 -1
  34. package/cli/src/commands/start.d.ts +1 -1
  35. package/cli/src/index.d.ts +1 -1
  36. package/core/index.d.ts +1 -1
  37. package/core/index.js +201 -158
  38. package/core/index.js.map +5 -5
  39. package/core/src/bundler/hash.d.ts +1 -1
  40. package/core/src/bundler/index.d.ts +1 -1
  41. package/core/src/config.d.ts +1 -1
  42. package/core/src/content/discovery.d.ts +1 -1
  43. package/core/src/content/index.d.ts +1 -1
  44. package/core/src/content/metadata.d.ts +1 -1
  45. package/core/src/i18n/catalog.d.ts +1 -1
  46. package/core/src/i18n/discover.d.ts +1 -1
  47. package/core/src/i18n/index.d.ts +1 -1
  48. package/core/src/i18n/messages.d.ts +1 -1
  49. package/core/src/i18n/negotiate.d.ts +1 -1
  50. package/core/src/i18n/pathname.d.ts +1 -1
  51. package/core/src/i18n/resolve.d.ts +1 -1
  52. package/core/src/i18n/types.d.ts +1 -1
  53. package/core/src/index.d.ts +1 -1
  54. package/core/src/llms/extractor.d.ts +1 -1
  55. package/core/src/llms/formatter.d.ts +1 -1
  56. package/core/src/llms/full-generator.d.ts +1 -1
  57. package/core/src/llms/index-generator.d.ts +1 -1
  58. package/core/src/llms/index.d.ts +1 -1
  59. package/core/src/og/discovery.d.ts +1 -1
  60. package/core/src/og/index.d.ts +1 -1
  61. package/core/src/og/meta.d.ts +1 -1
  62. package/core/src/og/render.d.ts +1 -1
  63. package/core/src/og/types.d.ts +1 -1
  64. package/core/src/robots/discovery.d.ts +1 -1
  65. package/core/src/robots/generator.d.ts +1 -1
  66. package/core/src/robots/index.d.ts +1 -1
  67. package/core/src/robots/policies.d.ts +1 -1
  68. package/core/src/rss/discovery.d.ts +1 -1
  69. package/core/src/rss/generator.d.ts +1 -1
  70. package/core/src/rss/index.d.ts +1 -1
  71. package/core/src/sitemap/discovery.d.ts +1 -1
  72. package/core/src/sitemap/generator.d.ts +1 -1
  73. package/core/src/sitemap/index.d.ts +1 -1
  74. package/core/src/ssr/index.d.ts +1 -1
  75. package/core/src/ssr/lib/cache.d.ts +1 -1
  76. package/core/src/ssr/lib/cleanup.d.ts +1 -1
  77. package/core/src/ssr/lib/collections.d.ts +1 -1
  78. package/core/src/ssr/lib/compression.d.ts +1 -1
  79. package/core/src/ssr/lib/compute/content.d.ts +1 -1
  80. package/core/src/ssr/lib/compute/index.d.ts +1 -1
  81. package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
  82. package/core/src/ssr/lib/compute/routes.d.ts +1 -1
  83. package/core/src/ssr/lib/content-path.d.ts +1 -1
  84. package/core/src/ssr/lib/data.d.ts +1 -1
  85. package/core/src/ssr/lib/html.d.ts +1 -1
  86. package/core/src/ssr/lib/imports.d.ts +8 -3
  87. package/core/src/ssr/lib/imports.d.ts.map +1 -1
  88. package/core/src/ssr/lib/index.d.ts +1 -1
  89. package/core/src/ssr/lib/layouts.d.ts +1 -1
  90. package/core/src/ssr/lib/metadata.d.ts +1 -1
  91. package/core/src/ssr/lib/mime.d.ts +1 -1
  92. package/core/src/ssr/lib/modules.d.ts +1 -1
  93. package/core/src/ssr/lib/path.d.ts +1 -1
  94. package/core/src/ssr/lib/preload.d.ts +1 -1
  95. package/core/src/ssr/lib/route-match.d.ts +1 -1
  96. package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
  97. package/core/src/ssr/lib/scripts/data.d.ts +1 -1
  98. package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
  99. package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
  100. package/core/src/ssr/lib/scripts/index.d.ts +1 -1
  101. package/core/src/ssr/lib/seed.d.ts +6 -1
  102. package/core/src/ssr/lib/seed.d.ts.map +1 -1
  103. package/core/src/ssr/lib/serialize.d.ts +1 -1
  104. package/core/src/ssr/lib/setup.d.ts +1 -1
  105. package/core/src/ssr/lib/styles.d.ts +1 -1
  106. package/core/src/ssr/lib/template.d.ts +1 -1
  107. package/core/src/ssr/lib/types.d.ts +1 -1
  108. package/core/src/ssr/render.d.ts +1 -1
  109. package/core/src/ssr/stream.d.ts +1 -1
  110. package/elysia/index.d.ts +1 -1
  111. package/elysia/index.js +278 -209
  112. package/elysia/index.js.map +11 -10
  113. package/elysia/src/index.d.ts +1 -1
  114. package/elysia/src/libs/assets.d.ts +1 -1
  115. package/elysia/src/libs/cache.d.ts +1 -1
  116. package/elysia/src/libs/caching.d.ts +1 -1
  117. package/elysia/src/libs/http.d.ts +1 -1
  118. package/elysia/src/libs/i18n.d.ts +1 -1
  119. package/elysia/src/libs/image.d.ts +1 -1
  120. package/elysia/src/libs/index.d.ts +1 -1
  121. package/elysia/src/libs/llms.d.ts +1 -1
  122. package/elysia/src/libs/response.d.ts +1 -1
  123. package/elysia/src/libs/serving.d.ts +1 -1
  124. package/elysia/src/plugin.d.ts +1 -1
  125. package/elysia/src/plugin.d.ts.map +1 -1
  126. package/elysia/src/routes/artifacts.d.ts +1 -1
  127. package/elysia/src/routes/content.d.ts +2 -2
  128. package/elysia/src/routes/content.d.ts.map +1 -1
  129. package/elysia/src/routes/image.d.ts +1 -1
  130. package/elysia/src/routes/index.d.ts +1 -1
  131. package/elysia/src/routes/internal.d.ts +1 -1
  132. package/elysia/src/routes/internal.d.ts.map +1 -1
  133. package/elysia/src/routes/llms.d.ts +1 -1
  134. package/elysia/src/routes/og.d.ts +1 -1
  135. package/elysia/src/routes/redirects.d.ts +1 -1
  136. package/elysia/src/routes/robots.d.ts +1 -1
  137. package/elysia/src/routes/rss.d.ts +1 -1
  138. package/elysia/src/routes/search.d.ts +1 -1
  139. package/elysia/src/routes/sitemap.d.ts +1 -1
  140. package/elysia/src/routes/ssr.d.ts +1 -1
  141. package/elysia/src/routes/static.d.ts +1 -1
  142. package/elysia/src/routes/themeCssRefresh.d.ts +17 -0
  143. package/elysia/src/routes/themeCssRefresh.d.ts.map +1 -0
  144. package/elysia/src/types.d.ts +1 -1
  145. package/package.json +1 -1
  146. package/react/index.d.ts +1 -1
  147. package/react/index.js +71 -71
  148. package/react/index.js.map +1 -1
  149. package/react/src/components/ClientOnly.d.ts +1 -1
  150. package/react/src/components/ContentRoute.d.ts +1 -1
  151. package/react/src/components/Image.d.ts +1 -1
  152. package/react/src/components/LazyRoute.d.ts +1 -1
  153. package/react/src/components/Link.d.ts +1 -1
  154. package/react/src/components/Markdown.d.ts +1 -1
  155. package/react/src/components/Outlet.d.ts +1 -1
  156. package/react/src/components/index.d.ts +1 -1
  157. package/react/src/hooks/index.d.ts +1 -1
  158. package/react/src/hooks/useContent.d.ts +1 -1
  159. package/react/src/hooks/useData.d.ts +1 -1
  160. package/react/src/hooks/useFeed.d.ts +1 -1
  161. package/react/src/hooks/useLayoutData.d.ts +1 -1
  162. package/react/src/hooks/useLlms.d.ts +1 -1
  163. package/react/src/hooks/useNavigate.d.ts +1 -1
  164. package/react/src/hooks/useParams.d.ts +1 -1
  165. package/react/src/hooks/useRouter.d.ts +1 -1
  166. package/react/src/hooks/useSearch.d.ts +1 -1
  167. package/react/src/hooks/useSearchParams.d.ts +1 -1
  168. package/react/src/hooks/useToc.d.ts +1 -1
  169. package/react/src/i18n/LocaleProvider.d.ts +1 -1
  170. package/react/src/i18n/helpers.d.ts +1 -1
  171. package/react/src/i18n/index.d.ts +1 -1
  172. package/react/src/index.d.ts +1 -1
  173. package/react/src/lib/collection.d.ts +1 -1
  174. package/react/src/lib/content.d.ts +1 -1
  175. package/react/src/lib/head.d.ts +1 -1
  176. package/react/src/lib/index.d.ts +1 -1
  177. package/react/src/lib/lazy-route.d.ts +1 -1
  178. package/react/src/lib/route-loader.d.ts +1 -1
  179. package/react/src/providers/ContentProvider.d.ts +1 -1
  180. package/react/src/providers/RerouteProvider.d.ts +1 -1
  181. package/react/src/providers/RouterProvider.d.ts +1 -1
  182. package/react/src/providers/index.d.ts +1 -1
  183. package/react/src/types/any.d.ts +1 -1
  184. package/react/src/types/index.d.ts +1 -1
  185. package/react/src/types/router.d.ts +1 -1
  186. package/telemetry/react.d.ts +1 -1
  187. package/telemetry/react.js +16 -16
  188. package/telemetry/react.js.map +2 -2
  189. package/telemetry/server.d.ts +1 -1
  190. package/telemetry/server.js +28 -220
  191. package/telemetry/server.js.map +5 -4
  192. package/telemetry/src/react/api.d.ts +1 -1
  193. package/telemetry/src/react/context.d.ts +1 -1
  194. package/telemetry/src/react/index.d.ts +1 -1
  195. package/telemetry/src/react/telemetry.d.ts +1 -1
  196. package/telemetry/src/server/context.d.ts +1 -1
  197. package/telemetry/src/server/headers/extractor.d.ts +1 -1
  198. package/telemetry/src/server/headers/index.d.ts +1 -1
  199. package/telemetry/src/server/headers/presets.d.ts +1 -1
  200. package/telemetry/src/server/index.d.ts +1 -1
  201. package/telemetry/src/server/instrumentation.d.ts +1 -1
  202. package/telemetry/src/server/plugin.d.ts +1 -1
  203. package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
3
  /**
4
- * reroute-js v1.0.0-alpha.4
4
+ * reroute-js v1.0.0-alpha.5
5
5
  *
6
6
  * @license MIT
7
7
  * @copyright 2026 stewones <hi@stewan.io>
@@ -30,12 +30,14 @@ var __toESM = (mod, isNodeMode, target) => {
30
30
  }
31
31
  target = mod != null ? __create(__getProtoOf(mod)) : {};
32
32
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
33
- for (let key of __getOwnPropNames(mod))
34
- if (!__hasOwnProp.call(to, key))
35
- __defProp(to, key, {
36
- get: __accessProp.bind(mod, key),
37
- enumerable: true
38
- });
33
+ if (mod && typeof mod === "object" || typeof mod === "function") {
34
+ for (let key of __getOwnPropNames(mod))
35
+ if (!__hasOwnProp.call(to, key))
36
+ __defProp(to, key, {
37
+ get: __accessProp.bind(mod, key),
38
+ enumerable: true
39
+ });
40
+ }
39
41
  if (canCache)
40
42
  cache.set(mod, to);
41
43
  return to;
@@ -66,7 +68,7 @@ async function getVersionString() {
66
68
  }
67
69
  async function getVersion() {
68
70
  if (true) {
69
- return "1.0.0-alpha.4";
71
+ return "1.0.0-alpha.5";
70
72
  }
71
73
  const possiblePaths = [
72
74
  path.join(import.meta.dir, "../../../../package.json"),
@@ -84,7 +86,7 @@ async function getVersion() {
84
86
  }
85
87
  async function getCommit() {
86
88
  if (true) {
87
- return "f832946";
89
+ return "403cf32";
88
90
  }
89
91
  return "dev";
90
92
  }
@@ -726,14 +728,14 @@ var init_negotiate = () => {};
726
728
  // packages/core/src/i18n/pathname.ts
727
729
  var exports_pathname = {};
728
730
  __export(exports_pathname, {
729
- toOgLocale: () => toOgLocale,
730
- parseContentPath: () => parseContentPath,
731
- normalizePathname: () => normalizePathname,
732
- looksLikeLocale: () => looksLikeLocale,
733
- localizeHref: () => localizeHref,
734
- localizeContentHref: () => localizeContentHref,
731
+ contentKey: () => contentKey,
735
732
  hreflangTags: () => hreflangTags,
736
- contentKey: () => contentKey
733
+ localizeContentHref: () => localizeContentHref,
734
+ localizeHref: () => localizeHref,
735
+ looksLikeLocale: () => looksLikeLocale,
736
+ normalizePathname: () => normalizePathname,
737
+ parseContentPath: () => parseContentPath,
738
+ toOgLocale: () => toOgLocale
737
739
  });
738
740
  function looksLikeLocale(segment) {
739
741
  return /^[a-z]{2}(?:-[A-Za-z0-9]{2,8})*$/i.test(segment);
@@ -1385,11 +1387,39 @@ function cleanupPathScopedSSRData(pathname) {
1385
1387
  }
1386
1388
 
1387
1389
  // packages/core/src/ssr/lib/imports.ts
1390
+ import { copyFile, realpath, stat as stat3, unlink } from "node:fs/promises";
1391
+ import { basename as basename2, dirname, extname as extname2, join as join4 } from "node:path";
1388
1392
  import { pathToFileURL as pathToFileURL3 } from "node:url";
1393
+ function clearWatchImportCache() {
1394
+ watchImportCache.clear();
1395
+ }
1396
+ function bustCopyPath(absolutePath) {
1397
+ const dir = dirname(absolutePath);
1398
+ const ext = extname2(absolutePath);
1399
+ const base = basename2(absolutePath, ext);
1400
+ const token = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
1401
+ return join4(dir, `${base}.bust-${token}${ext}`);
1402
+ }
1389
1403
  async function dynamicImport(absolutePath, isWatchMode) {
1390
1404
  const href = pathToFileURL3(absolutePath).href;
1391
- const url = isWatchMode ? `${href}?t=${Date.now()}` : href;
1392
- return await import(url);
1405
+ if (!isWatchMode) {
1406
+ return await import(href);
1407
+ }
1408
+ const resolved = await realpath(absolutePath);
1409
+ const mtimeMs = (await stat3(resolved)).mtimeMs;
1410
+ const cached = watchImportCache.get(resolved);
1411
+ if (cached && cached.mtimeMs === mtimeMs) {
1412
+ return cached.mod;
1413
+ }
1414
+ const tmp = bustCopyPath(resolved);
1415
+ await copyFile(resolved, tmp);
1416
+ try {
1417
+ const mod = await import(pathToFileURL3(tmp).href);
1418
+ watchImportCache.set(resolved, { mtimeMs, mod });
1419
+ return mod;
1420
+ } finally {
1421
+ await unlink(tmp).catch(() => {});
1422
+ }
1393
1423
  }
1394
1424
  function isThenable(value) {
1395
1425
  return typeof value === "object" && value !== null && typeof value.then === "function";
@@ -1397,7 +1427,10 @@ function isThenable(value) {
1397
1427
  function toPromise(input) {
1398
1428
  return input instanceof Promise ? input : Promise.resolve(input);
1399
1429
  }
1400
- var init_imports = () => {};
1430
+ var watchImportCache;
1431
+ var init_imports = __esm(() => {
1432
+ watchImportCache = new Map;
1433
+ });
1401
1434
 
1402
1435
  // packages/core/src/ssr/lib/collections.ts
1403
1436
  async function loadCollections(cwd, isWatchMode) {
@@ -2187,7 +2220,7 @@ var init_compute = __esm(() => {
2187
2220
  });
2188
2221
 
2189
2222
  // packages/core/src/ssr/lib/modules.ts
2190
- import { readdir as readdir4, stat as stat3 } from "node:fs/promises";
2223
+ import { readdir as readdir4, stat as stat4 } from "node:fs/promises";
2191
2224
  async function importContentModuleForPath(pathname, clientDir, cwd, isWatchMode) {
2192
2225
  try {
2193
2226
  const resolved = resolveContentPathParts(pathname);
@@ -2245,7 +2278,7 @@ async function tryChunkImport(collection, name, cwd, isWatchMode) {
2245
2278
  let latestM = 0;
2246
2279
  for (const f of matches) {
2247
2280
  try {
2248
- const s = await stat3(join2(chunkDir, f));
2281
+ const s = await stat4(join2(chunkDir, f));
2249
2282
  if (s.mtimeMs >= latestM) {
2250
2283
  latestM = s.mtimeMs;
2251
2284
  latest = f;
@@ -2302,6 +2335,16 @@ function touchModule(key) {
2302
2335
  evictLRUModule();
2303
2336
  }
2304
2337
  }
2338
+ function clearSSRModuleStores() {
2339
+ const g = globalThis;
2340
+ if (g.__REROUTE_SSR_MODULES__) {
2341
+ g.__REROUTE_SSR_MODULES__ = {};
2342
+ }
2343
+ if (g.__REROUTE_SSR_EXPORTS__) {
2344
+ g.__REROUTE_SSR_EXPORTS__ = {};
2345
+ }
2346
+ moduleAccessOrder.length = 0;
2347
+ }
2305
2348
  async function seedSSRModuleForPath(pathname, clientDir, cwd, isWatchMode) {
2306
2349
  try {
2307
2350
  const resolved = resolveContentPathParts(pathname);
@@ -3286,7 +3329,7 @@ var init_metadata2 = __esm(() => {
3286
3329
  });
3287
3330
 
3288
3331
  // packages/core/src/ssr/lib/preload.ts
3289
- import { readdir as readdir6, stat as stat4 } from "node:fs/promises";
3332
+ import { readdir as readdir6, stat as stat5 } from "node:fs/promises";
3290
3333
  async function preloadContentModule(pathname, clientDir, cwd, isWatchMode) {
3291
3334
  let extraHead = "";
3292
3335
  let hydrationScript = "";
@@ -3320,14 +3363,14 @@ async function isContentCollection(clientDir, collection) {
3320
3363
  if (isProduction) {
3321
3364
  const collectionFile = join2(clientDir, "collections", `${collection}.js`);
3322
3365
  try {
3323
- const s2 = await stat4(collectionFile);
3366
+ const s2 = await stat5(collectionFile);
3324
3367
  return s2?.isFile() ?? false;
3325
3368
  } catch {
3326
3369
  return false;
3327
3370
  }
3328
3371
  }
3329
3372
  const maybeDir = join2(clientDir, "routes", collection, "content");
3330
- const s = await stat4(maybeDir);
3373
+ const s = await stat5(maybeDir);
3331
3374
  return typeof s?.isDirectory === "function" ? s.isDirectory() : true;
3332
3375
  } catch {
3333
3376
  return false;
@@ -3338,7 +3381,7 @@ async function findLatestCandidate(chunkDir, candidates) {
3338
3381
  let latestM = 0;
3339
3382
  for (const candidateName of candidates) {
3340
3383
  try {
3341
- const s = await stat4(join2(chunkDir, candidateName));
3384
+ const s = await stat5(join2(chunkDir, candidateName));
3342
3385
  if (s.mtimeMs >= latestM) {
3343
3386
  latestM = s.mtimeMs;
3344
3387
  latest = candidateName;
@@ -3726,15 +3769,15 @@ var init_scripts = __esm(() => {
3726
3769
  // packages/core/src/ssr/lib/styles.ts
3727
3770
  async function inlineThemeCSS(clientDir, minify = false, isWatchMode = false) {
3728
3771
  try {
3772
+ if (isWatchMode) {
3773
+ const timestamp = Date.now();
3774
+ return `<link rel="stylesheet" href="/.reroute/index.css?t=${timestamp}" data-reroute="theme">`;
3775
+ }
3729
3776
  const bundledCss = globalThis.__REROUTE_THEME_CSS__;
3730
3777
  if (bundledCss) {
3731
3778
  const css2 = minify ? minifyCSS(bundledCss) : bundledCss;
3732
3779
  return `<style data-reroute="theme">${css2}</style>`;
3733
3780
  }
3734
- if (isWatchMode) {
3735
- const timestamp = Date.now();
3736
- return `<link rel="stylesheet" href="/.reroute/index.css?t=${timestamp}" data-reroute="theme">`;
3737
- }
3738
3781
  const candidates = [
3739
3782
  join2(clientDir, "..", ".reroute", "index.css"),
3740
3783
  join2(clientDir, "..", "..", ".reroute", "index.css"),
@@ -4453,10 +4496,10 @@ var init_extractor = __esm(() => {
4453
4496
  // packages/core/src/llms/index-generator.ts
4454
4497
  var exports_index_generator = {};
4455
4498
  __export(exports_index_generator, {
4456
- generateLLMsIndex: () => generateLLMsIndex,
4457
- discoverStaticRoutes: () => discoverStaticRoutes,
4499
+ discoverCollectionRoutes: () => discoverCollectionRoutes,
4458
4500
  discoverSSRDataRoutes: () => discoverSSRDataRoutes,
4459
- discoverCollectionRoutes: () => discoverCollectionRoutes
4501
+ discoverStaticRoutes: () => discoverStaticRoutes,
4502
+ generateLLMsIndex: () => generateLLMsIndex
4460
4503
  });
4461
4504
  import { pathToFileURL as pathToFileURL6 } from "node:url";
4462
4505
  async function discoverStaticRoutes(cwd, isWatchMode) {
@@ -5239,10 +5282,10 @@ var init_robots = __esm(() => {
5239
5282
  // packages/core/src/sitemap/discovery.ts
5240
5283
  var exports_discovery = {};
5241
5284
  __export(exports_discovery, {
5242
- discoverSitemapData: () => discoverSitemapData,
5243
- discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
5285
+ discoverCollectionContent: () => discoverCollectionContent,
5244
5286
  discoverRoutes: () => discoverRoutes,
5245
- discoverCollectionContent: () => discoverCollectionContent
5287
+ discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
5288
+ discoverSitemapData: () => discoverSitemapData
5246
5289
  });
5247
5290
  async function loadRoutesModule2(cwd, isWatchMode) {
5248
5291
  let routes = globalThis.__REROUTE_ROUTES__;
@@ -6526,137 +6569,139 @@ var init_src = __esm(() => {
6526
6569
  // packages/core/index.ts
6527
6570
  var exports_core = {};
6528
6571
  __export(exports_core, {
6529
- toPromise: () => toPromise,
6530
- toOgLocale: () => toOgLocale,
6531
- toBytes: () => toBytes,
6532
- stripStart: () => stripStart,
6533
- stripHtmlTags: () => stripHtmlTags,
6534
- stripEnd: () => stripEnd,
6535
- statusCache: () => statusCache,
6536
- ssrCache: () => ssrCache,
6537
- splitTemplate: () => splitTemplate,
6538
- shouldExcludeRoute: () => shouldExcludeRoute,
6539
- setGlobalSSRData: () => setGlobalSSRData,
6540
- setGlobalCollections: () => setGlobalCollections,
6541
- seedSSRModuleForPath: () => seedSSRModuleForPath,
6542
- resolveLocale: () => resolveLocale,
6543
- resetSSRAccessTracking: () => resetSSRAccessTracking,
6544
- renderSSRDocumentStream: () => renderSSRDocumentStream,
6545
- renderSSRDocument: () => renderSSRDocument,
6546
- renderOGImageToPNG: () => renderOGImageToPNG,
6547
- removeOverriddenMetaTags: () => removeOverriddenMetaTags,
6548
- processCollections: () => processCollections,
6549
- preloadContentModule: () => preloadContentModule,
6550
- performSSRSetup: () => performSSRSetup,
6551
- parseCookieValue: () => parseCookieValue,
6552
- parseContentPath: () => parseContentPath,
6553
- normalizePathname: () => normalizePathname,
6554
- negotiateLocale: () => negotiateLocale,
6555
- mergeLayoutData: () => mergeLayoutData,
6556
- matchRoutes: () => matchRoutes,
6557
- matchRoutePattern: () => matchRoutePattern,
6558
- lookupMessage: () => lookupMessage,
6559
- looksLikeLocale: () => looksLikeLocale,
6560
- localizeHref: () => localizeHref,
6561
- localizeContentHref: () => localizeContentHref,
6562
- loadRoutesModule: () => loadRoutesModule,
6563
- loadOGImageComponent: () => loadOGImageComponent,
6564
- loadIndexHtml: () => loadIndexHtml,
6565
- loadConfig: () => loadConfig,
6566
- loadCollections: () => loadCollections,
6567
- listContentFiles: () => listContentFiles,
6568
- join: () => join2,
6569
- isThenable: () => isThenable,
6570
- isCompressible: () => isCompressible,
6571
- inlineThemeCSS: () => inlineThemeCSS,
6572
- importContentModuleForPath: () => importContentModuleForPath,
6573
- htmlToMarkdown: () => htmlToMarkdown,
6574
- hreflangTags: () => hreflangTags,
6575
- gzipIfAccepted: () => gzipIfAccepted,
6576
- getSitemapExcludedRoutes: () => getSitemapExcludedRoutes,
6577
- getRedirectSourcePaths: () => getRedirectSourcePaths,
6578
- getPatternDepth: () => getPatternDepth,
6579
- getMimeType: () => getMimeType,
6580
- getMessage: () => getMessage,
6581
- getMatchingLayouts: () => getMatchingLayouts,
6582
- getContentMeta: () => getContentMeta,
6583
- generateSitemapXML: () => generateSitemapXML,
6584
- generateSitemapIndexXML: () => generateSitemapIndexXML,
6585
- generateSitemap: () => generateSitemap,
6586
- generateRobots: () => generateRobots,
6587
- generateRSSXML: () => generateRSSXML,
6588
- generateOGImageMetaTags: () => generateOGImageMetaTags,
6589
- generateLLMsIndex: () => generateLLMsIndex,
6590
- generateLLMsFullContent: () => generateLLMsFullContent,
6591
- generateLLMsFooter: () => generateLLMsFooter,
6592
- generateHydrationScripts: () => generateHydrationScripts,
6593
- generateFeed: () => generateFeed,
6594
- generateContentHash: () => generateContentHash,
6595
- generateCollectionScripts: () => generateCollectionScripts,
6596
- generateAtomXML: () => generateAtomXML,
6597
- formatMessage: () => formatMessage,
6598
- formatAsText: () => formatAsText,
6599
- formatAsMarkdown: () => formatAsMarkdown,
6600
- findOGImageForPath: () => findOGImageForPath,
6601
- extractTitle: () => extractTitle,
6602
- extractParamsFromPath: () => extractParamsFromPath,
6603
- extractPageMetadata: () => extractPageMetadata,
6604
- extractContentForLLMs: () => extractContentForLLMs,
6605
- extname: () => extname,
6606
- escapeXml: () => escapeXml2,
6607
- escapeJsonForScript: () => escapeJsonForScript,
6608
- dynamicImport: () => dynamicImport,
6609
- duplicateQueryParamData: () => duplicateQueryParamData,
6610
- discoverSitemapData: () => discoverSitemapData,
6611
- discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
6612
- discoverSSRDataFeedItems: () => discoverSSRDataFeedItems,
6613
- discoverRoutesForRobots: () => discoverRoutesForRobots,
6614
- discoverRoutes: () => discoverRoutes,
6615
- discoverRobotsData: () => discoverRobotsData,
6616
- discoverRSSData: () => discoverRSSData,
6617
- discoverI18n: () => discoverI18n,
6618
- discoverCollections: () => discoverCollections,
6619
- discoverCollectionContent: () => discoverCollectionContent,
6620
- defineConfig: () => defineConfig,
6621
- deduplicateMetaTags: () => deduplicateMetaTags,
6622
- createTranslator: () => createTranslator,
6623
- createLlmsScript: () => createLlmsScript,
6624
- createLayoutDataKey: () => createLayoutDataKey,
6625
- createLayoutCacheKey: () => createLayoutCacheKey,
6626
- createFeedsScript: () => createFeedsScript,
6627
- createDataScript: () => createDataScript,
6628
- createCollectionScript: () => createCollectionScript,
6629
- createBundlePreload: () => createBundlePreload,
6630
- contentNegotiateRedirect: () => contentNegotiateRedirect,
6631
- contentKey: () => contentKey,
6632
- computeSSRDataForPath: () => computeSSRDataForPath,
6633
- computeSSRData: () => computeSSRData,
6634
- computeRouteData: () => computeRouteData,
6635
- computeLayoutData: () => computeLayoutData,
6636
- computeContentData: () => computeContentData,
6637
- compressStreamIfAccepted: () => compressStreamIfAccepted,
6638
- compareRouteSpecificity: () => compareRouteSpecificity,
6639
- cleanupPathScopedSSRData: () => cleanupPathScopedSSRData,
6640
- buildLocaleCookie: () => buildLocaleCookie,
6641
- buildHeadFromMeta: () => buildHeadFromMeta,
6642
- blockSearchCrawlers: () => blockSearchCrawlers,
6643
- blockAITrainingCrawlers: () => blockAITrainingCrawlers,
6644
- blockAICrawlers: () => blockAICrawlers,
6645
- basename: () => basename,
6646
- applyIndexTemplate: () => applyIndexTemplate,
6647
- allowSearchCrawlers: () => allowSearchCrawlers,
6648
- allowAICrawlers: () => allowAICrawlers,
6649
- acceptsGzip: () => acceptsGzip,
6650
- acceptsBrotli: () => acceptsBrotli,
6651
- TTLCache: () => TTLCache,
6652
- SSRDataCache: () => SSRDataCache,
6653
- SEARCH_CRAWLERS: () => SEARCH_CRAWLERS,
6654
- LRUCache: () => LRUCache,
6655
- DefaultOGTemplate: () => DefaultOGTemplate,
6656
- DEFAULT_LOCALES_DIR: () => DEFAULT_LOCALES_DIR,
6657
- DEFAULT_LOCALE: () => DEFAULT_LOCALE,
6572
+ AI_CRAWLERS: () => AI_CRAWLERS,
6658
6573
  DEFAULT_COOKIE: () => DEFAULT_COOKIE,
6659
- AI_CRAWLERS: () => AI_CRAWLERS
6574
+ DEFAULT_LOCALE: () => DEFAULT_LOCALE,
6575
+ DEFAULT_LOCALES_DIR: () => DEFAULT_LOCALES_DIR,
6576
+ DefaultOGTemplate: () => DefaultOGTemplate,
6577
+ LRUCache: () => LRUCache,
6578
+ SEARCH_CRAWLERS: () => SEARCH_CRAWLERS,
6579
+ SSRDataCache: () => SSRDataCache,
6580
+ TTLCache: () => TTLCache,
6581
+ acceptsBrotli: () => acceptsBrotli,
6582
+ acceptsGzip: () => acceptsGzip,
6583
+ allowAICrawlers: () => allowAICrawlers,
6584
+ allowSearchCrawlers: () => allowSearchCrawlers,
6585
+ applyIndexTemplate: () => applyIndexTemplate,
6586
+ basename: () => basename,
6587
+ blockAICrawlers: () => blockAICrawlers,
6588
+ blockAITrainingCrawlers: () => blockAITrainingCrawlers,
6589
+ blockSearchCrawlers: () => blockSearchCrawlers,
6590
+ buildHeadFromMeta: () => buildHeadFromMeta,
6591
+ buildLocaleCookie: () => buildLocaleCookie,
6592
+ cleanupPathScopedSSRData: () => cleanupPathScopedSSRData,
6593
+ clearSSRModuleStores: () => clearSSRModuleStores,
6594
+ clearWatchImportCache: () => clearWatchImportCache,
6595
+ compareRouteSpecificity: () => compareRouteSpecificity,
6596
+ compressStreamIfAccepted: () => compressStreamIfAccepted,
6597
+ computeContentData: () => computeContentData,
6598
+ computeLayoutData: () => computeLayoutData,
6599
+ computeRouteData: () => computeRouteData,
6600
+ computeSSRData: () => computeSSRData,
6601
+ computeSSRDataForPath: () => computeSSRDataForPath,
6602
+ contentKey: () => contentKey,
6603
+ contentNegotiateRedirect: () => contentNegotiateRedirect,
6604
+ createBundlePreload: () => createBundlePreload,
6605
+ createCollectionScript: () => createCollectionScript,
6606
+ createDataScript: () => createDataScript,
6607
+ createFeedsScript: () => createFeedsScript,
6608
+ createLayoutCacheKey: () => createLayoutCacheKey,
6609
+ createLayoutDataKey: () => createLayoutDataKey,
6610
+ createLlmsScript: () => createLlmsScript,
6611
+ createTranslator: () => createTranslator,
6612
+ deduplicateMetaTags: () => deduplicateMetaTags,
6613
+ defineConfig: () => defineConfig,
6614
+ discoverCollectionContent: () => discoverCollectionContent,
6615
+ discoverCollections: () => discoverCollections,
6616
+ discoverI18n: () => discoverI18n,
6617
+ discoverRSSData: () => discoverRSSData,
6618
+ discoverRobotsData: () => discoverRobotsData,
6619
+ discoverRoutes: () => discoverRoutes,
6620
+ discoverRoutesForRobots: () => discoverRoutesForRobots,
6621
+ discoverSSRDataFeedItems: () => discoverSSRDataFeedItems,
6622
+ discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
6623
+ discoverSitemapData: () => discoverSitemapData,
6624
+ duplicateQueryParamData: () => duplicateQueryParamData,
6625
+ dynamicImport: () => dynamicImport,
6626
+ escapeJsonForScript: () => escapeJsonForScript,
6627
+ escapeXml: () => escapeXml2,
6628
+ extname: () => extname,
6629
+ extractContentForLLMs: () => extractContentForLLMs,
6630
+ extractPageMetadata: () => extractPageMetadata,
6631
+ extractParamsFromPath: () => extractParamsFromPath,
6632
+ extractTitle: () => extractTitle,
6633
+ findOGImageForPath: () => findOGImageForPath,
6634
+ formatAsMarkdown: () => formatAsMarkdown,
6635
+ formatAsText: () => formatAsText,
6636
+ formatMessage: () => formatMessage,
6637
+ generateAtomXML: () => generateAtomXML,
6638
+ generateCollectionScripts: () => generateCollectionScripts,
6639
+ generateContentHash: () => generateContentHash,
6640
+ generateFeed: () => generateFeed,
6641
+ generateHydrationScripts: () => generateHydrationScripts,
6642
+ generateLLMsFooter: () => generateLLMsFooter,
6643
+ generateLLMsFullContent: () => generateLLMsFullContent,
6644
+ generateLLMsIndex: () => generateLLMsIndex,
6645
+ generateOGImageMetaTags: () => generateOGImageMetaTags,
6646
+ generateRSSXML: () => generateRSSXML,
6647
+ generateRobots: () => generateRobots,
6648
+ generateSitemap: () => generateSitemap,
6649
+ generateSitemapIndexXML: () => generateSitemapIndexXML,
6650
+ generateSitemapXML: () => generateSitemapXML,
6651
+ getContentMeta: () => getContentMeta,
6652
+ getMatchingLayouts: () => getMatchingLayouts,
6653
+ getMessage: () => getMessage,
6654
+ getMimeType: () => getMimeType,
6655
+ getPatternDepth: () => getPatternDepth,
6656
+ getRedirectSourcePaths: () => getRedirectSourcePaths,
6657
+ getSitemapExcludedRoutes: () => getSitemapExcludedRoutes,
6658
+ gzipIfAccepted: () => gzipIfAccepted,
6659
+ hreflangTags: () => hreflangTags,
6660
+ htmlToMarkdown: () => htmlToMarkdown,
6661
+ importContentModuleForPath: () => importContentModuleForPath,
6662
+ inlineThemeCSS: () => inlineThemeCSS,
6663
+ isCompressible: () => isCompressible,
6664
+ isThenable: () => isThenable,
6665
+ join: () => join2,
6666
+ listContentFiles: () => listContentFiles,
6667
+ loadCollections: () => loadCollections,
6668
+ loadConfig: () => loadConfig,
6669
+ loadIndexHtml: () => loadIndexHtml,
6670
+ loadOGImageComponent: () => loadOGImageComponent,
6671
+ loadRoutesModule: () => loadRoutesModule,
6672
+ localizeContentHref: () => localizeContentHref,
6673
+ localizeHref: () => localizeHref,
6674
+ looksLikeLocale: () => looksLikeLocale,
6675
+ lookupMessage: () => lookupMessage,
6676
+ matchRoutePattern: () => matchRoutePattern,
6677
+ matchRoutes: () => matchRoutes,
6678
+ mergeLayoutData: () => mergeLayoutData,
6679
+ negotiateLocale: () => negotiateLocale,
6680
+ normalizePathname: () => normalizePathname,
6681
+ parseContentPath: () => parseContentPath,
6682
+ parseCookieValue: () => parseCookieValue,
6683
+ performSSRSetup: () => performSSRSetup,
6684
+ preloadContentModule: () => preloadContentModule,
6685
+ processCollections: () => processCollections,
6686
+ removeOverriddenMetaTags: () => removeOverriddenMetaTags,
6687
+ renderOGImageToPNG: () => renderOGImageToPNG,
6688
+ renderSSRDocument: () => renderSSRDocument,
6689
+ renderSSRDocumentStream: () => renderSSRDocumentStream,
6690
+ resetSSRAccessTracking: () => resetSSRAccessTracking,
6691
+ resolveLocale: () => resolveLocale,
6692
+ seedSSRModuleForPath: () => seedSSRModuleForPath,
6693
+ setGlobalCollections: () => setGlobalCollections,
6694
+ setGlobalSSRData: () => setGlobalSSRData,
6695
+ shouldExcludeRoute: () => shouldExcludeRoute,
6696
+ splitTemplate: () => splitTemplate,
6697
+ ssrCache: () => ssrCache,
6698
+ statusCache: () => statusCache,
6699
+ stripEnd: () => stripEnd,
6700
+ stripHtmlTags: () => stripHtmlTags,
6701
+ stripStart: () => stripStart,
6702
+ toBytes: () => toBytes,
6703
+ toOgLocale: () => toOgLocale,
6704
+ toPromise: () => toPromise
6660
6705
  });
6661
6706
  var init_core = __esm(() => {
6662
6707
  init_src();
@@ -6685,7 +6730,7 @@ function shouldRebuildClientBundle(filename) {
6685
6730
 
6686
6731
  // packages/cli/src/commands/lib/env.ts
6687
6732
  import { existsSync as existsSync2, readFileSync } from "node:fs";
6688
- import { join as join4 } from "node:path";
6733
+ import { join as join5 } from "node:path";
6689
6734
  function parseEnvFile(content2) {
6690
6735
  const env = {};
6691
6736
  const lines = content2.split(`
@@ -6711,7 +6756,7 @@ function loadEnvFiles(cwd, mode = "development") {
6711
6756
  const env = {};
6712
6757
  const loadedFiles = [];
6713
6758
  for (const file of envFiles) {
6714
- const filePath = join4(cwd, file);
6759
+ const filePath = join5(cwd, file);
6715
6760
  if (existsSync2(filePath)) {
6716
6761
  try {
6717
6762
  const content2 = readFileSync(filePath, "utf-8");
@@ -6755,11 +6800,11 @@ var init_env = () => {};
6755
6800
 
6756
6801
  // packages/cli/src/commands/lib/markdown/availability.ts
6757
6802
  import { existsSync as existsSync3, readFileSync as readFileSync2 } from "node:fs";
6758
- import { dirname, join as join5 } from "node:path";
6803
+ import { dirname as dirname2, join as join6 } from "node:path";
6759
6804
  function isPackageAvailable(cwd, packageName) {
6760
6805
  let currentDir = cwd;
6761
6806
  for (let i = 0;i < 5; i++) {
6762
- const packageJsonPath = join5(currentDir, "package.json");
6807
+ const packageJsonPath = join6(currentDir, "package.json");
6763
6808
  if (existsSync3(packageJsonPath)) {
6764
6809
  try {
6765
6810
  const packageJson = JSON.parse(readFileSync2(packageJsonPath, "utf-8"));
@@ -6773,7 +6818,7 @@ function isPackageAvailable(cwd, packageName) {
6773
6818
  }
6774
6819
  } catch {}
6775
6820
  }
6776
- const parentDir = dirname(currentDir);
6821
+ const parentDir = dirname2(currentDir);
6777
6822
  if (parentDir === currentDir) {
6778
6823
  break;
6779
6824
  }
@@ -6831,7 +6876,7 @@ var init_availability = () => {};
6831
6876
 
6832
6877
  // packages/cli/src/commands/lib/markdown/processor.ts
6833
6878
  import { existsSync as existsSync4, readFileSync as readFileSync3 } from "node:fs";
6834
- import { basename as basename2, dirname as dirname2, extname as extname2, join as join6, relative, resolve } from "node:path";
6879
+ import { basename as basename3, dirname as dirname3, extname as extname3, join as join7, relative, resolve } from "node:path";
6835
6880
  import matter from "gray-matter";
6836
6881
  function convertPropertiesToJsx(properties) {
6837
6882
  const newProperties = {};
@@ -6890,7 +6935,7 @@ function processMarkdownFile(filePath) {
6890
6935
  function isMdxAvailable2(cwd) {
6891
6936
  let currentDir = cwd;
6892
6937
  for (let i = 0;i < 5; i++) {
6893
- const packageJsonPath = join6(currentDir, "package.json");
6938
+ const packageJsonPath = join7(currentDir, "package.json");
6894
6939
  if (existsSync4(packageJsonPath)) {
6895
6940
  try {
6896
6941
  const packageJson = JSON.parse(readFileSync3(packageJsonPath, "utf-8"));
@@ -6904,7 +6949,7 @@ function isMdxAvailable2(cwd) {
6904
6949
  }
6905
6950
  } catch {}
6906
6951
  }
6907
- const parentDir = dirname2(currentDir);
6952
+ const parentDir = dirname3(currentDir);
6908
6953
  if (parentDir === currentDir) {
6909
6954
  break;
6910
6955
  }
@@ -6914,10 +6959,10 @@ function isMdxAvailable2(cwd) {
6914
6959
  }
6915
6960
  function tryLoadModule(cwd, moduleName) {
6916
6961
  const pathsToTry = [
6917
- join6(cwd, `node_modules/${moduleName}`),
6918
- join6(cwd, `../node_modules/${moduleName}`),
6919
- join6(cwd, `../../node_modules/${moduleName}`),
6920
- join6(cwd, `../../../node_modules/${moduleName}`)
6962
+ join7(cwd, `node_modules/${moduleName}`),
6963
+ join7(cwd, `../node_modules/${moduleName}`),
6964
+ join7(cwd, `../../node_modules/${moduleName}`),
6965
+ join7(cwd, `../../../node_modules/${moduleName}`)
6921
6966
  ];
6922
6967
  for (const modulePath of pathsToTry) {
6923
6968
  try {
@@ -7006,9 +7051,9 @@ async function compileMdx(content2, cwd, options = {}) {
7006
7051
  function rewriteImportPaths(code, sourcePath, targetPath) {
7007
7052
  const importRegex = /import\s+(?:{[^}]+}|[\w\s,]+)\s+from\s+['"](\.[^'"]+)['"]/g;
7008
7053
  return code.replace(importRegex, (match, importPath) => {
7009
- const sourceDir = dirname2(sourcePath);
7054
+ const sourceDir = dirname3(sourcePath);
7010
7055
  const absoluteImportPath = resolve(sourceDir, importPath);
7011
- const targetDir = dirname2(targetPath);
7056
+ const targetDir = dirname3(targetPath);
7012
7057
  let newRelativePath = relative(targetDir, absoluteImportPath);
7013
7058
  if (!newRelativePath.startsWith(".")) {
7014
7059
  newRelativePath = `./${newRelativePath}`;
@@ -7166,7 +7211,7 @@ export default function MarkdownFallback() {
7166
7211
  `;
7167
7212
  }
7168
7213
  function isMarkdownFile(filePath) {
7169
- const ext = extname2(filePath).toLowerCase();
7214
+ const ext = extname3(filePath).toLowerCase();
7170
7215
  return ext === ".md" || ext === ".mdx";
7171
7216
  }
7172
7217
  function extractHeadings(content2, options = {}) {
@@ -7247,7 +7292,7 @@ function isProductionMode(args = []) {
7247
7292
  }
7248
7293
 
7249
7294
  // packages/cli/src/commands/lib/streaming/analyzer.ts
7250
- import { dirname as dirname3, join as join7 } from "node:path";
7295
+ import { dirname as dirname4, join as join8 } from "node:path";
7251
7296
  function hasSSRDataExport(source) {
7252
7297
  if (SSR_DATA_INLINE_EXPORT_REGEX.test(source)) {
7253
7298
  return true;
@@ -7274,11 +7319,11 @@ async function analyzeRouteForStreaming(options) {
7274
7319
  };
7275
7320
  }
7276
7321
  async function findSkeletonForTarget(routesDir, relativePath, type) {
7277
- const dirName = normalizeRelativePath(dirname3(relativePath));
7278
- const baseDir = dirName === "." ? routesDir : join7(routesDir, dirName).replace(/\\/g, "/");
7322
+ const dirName = normalizeRelativePath(dirname4(relativePath));
7323
+ const baseDir = dirName === "." ? routesDir : join8(routesDir, dirName).replace(/\\/g, "/");
7279
7324
  const candidates = type === "layout" ? ["[layout+skeleton].tsx", "[layout+skeleton].ts"] : ["[skeleton].tsx", "[skeleton].ts"];
7280
7325
  for (const candidate of candidates) {
7281
- const candidatePath = join7(baseDir, candidate);
7326
+ const candidatePath = join8(baseDir, candidate);
7282
7327
  try {
7283
7328
  const file = Bun.file(candidatePath);
7284
7329
  if (await file.exists()) {
@@ -7299,12 +7344,12 @@ var init_analyzer = __esm(() => {
7299
7344
  });
7300
7345
 
7301
7346
  // packages/cli/src/commands/lib/streaming/suspense.ts
7302
- import { dirname as dirname4, join as join8, relative as relative2 } from "node:path";
7347
+ import { dirname as dirname5, join as join9, relative as relative2 } from "node:path";
7303
7348
  async function generateStreamingWrapper(options) {
7304
7349
  const { cwd, relativeFilePath, analysis, config: config2 } = options;
7305
- const streamingModulePath = join8(cwd, ".reroute", "streaming", relativeFilePath).replace(/\.(tsx|ts)$/, ".tsx");
7306
- const wrapperDir = dirname4(streamingModulePath);
7307
- const originalModuleWithoutExt = removeExtension(join8(cwd, "src", "client", "routes", relativeFilePath));
7350
+ const streamingModulePath = join9(cwd, ".reroute", "streaming", relativeFilePath).replace(/\.(tsx|ts)$/, ".tsx");
7351
+ const wrapperDir = dirname5(streamingModulePath);
7352
+ const originalModuleWithoutExt = removeExtension(join9(cwd, "src", "client", "routes", relativeFilePath));
7308
7353
  const originalImportPath = toImportPath(wrapperDir, originalModuleWithoutExt);
7309
7354
  const skeletonImportBlock = await resolveSkeletonBlock({
7310
7355
  analysis,
@@ -7346,7 +7391,7 @@ async function resolveSkeletonBlock(args) {
7346
7391
  }
7347
7392
  function resolveConfiguredSkeletonPath(value, cwd) {
7348
7393
  if (typeof value === "string" && value.trim().length > 0) {
7349
- return value.startsWith("/") ? value : join8(cwd, value);
7394
+ return value.startsWith("/") ? value : join9(cwd, value);
7350
7395
  }
7351
7396
  if (value && !warnedSkeletonType) {
7352
7397
  console.warn("[reroute/streaming] default skeletons must be provided as string module paths in reroute.config.ts");
@@ -7383,10 +7428,10 @@ var init_suspense = () => {};
7383
7428
  // packages/cli/src/commands/lib/theme.ts
7384
7429
  import { existsSync as existsSync5, readFileSync as readFileSync4 } from "node:fs";
7385
7430
  import { mkdir as mkdir2, writeFile } from "node:fs/promises";
7386
- import { dirname as dirname5, isAbsolute, join as join9, resolve as resolve2 } from "node:path";
7431
+ import { dirname as dirname6, isAbsolute, join as join10, resolve as resolve2 } from "node:path";
7387
7432
  function getCssPaths(cwd) {
7388
- const input = join9(cwd, "src/client/index.css");
7389
- const output = join9(cwd, ".reroute/index.css");
7433
+ const input = join10(cwd, "src/client/index.css");
7434
+ const output = join10(cwd, ".reroute/index.css");
7390
7435
  return { input, output };
7391
7436
  }
7392
7437
  function isFileImport(specifier) {
@@ -7412,7 +7457,7 @@ function bundleCssEntrypoint(entryPath) {
7412
7457
  }
7413
7458
  stack.add(absPath);
7414
7459
  const source = readFileSync4(absPath, "utf-8");
7415
- const baseDir = dirname5(absPath);
7460
+ const baseDir = dirname6(absPath);
7416
7461
  const bundled = source.replace(IMPORT_RE, (full, single, double, bare, rest) => {
7417
7462
  const specifier = single || double || bare;
7418
7463
  const condition = (rest ?? "").trim();
@@ -7435,7 +7480,7 @@ async function syncThemeCss(cwd) {
7435
7480
  if (!existsSync5(input)) {
7436
7481
  return false;
7437
7482
  }
7438
- await mkdir2(dirname5(output), { recursive: true });
7483
+ await mkdir2(dirname6(output), { recursive: true });
7439
7484
  try {
7440
7485
  const css = bundleCssEntrypoint(input);
7441
7486
  await writeFile(output, css, "utf-8");
@@ -7458,15 +7503,19 @@ var init_theme = __esm(() => {
7458
7503
  // packages/cli/src/commands/gen.ts
7459
7504
  var exports_gen = {};
7460
7505
  __export(exports_gen, {
7461
- default: () => gen
7506
+ default: () => gen,
7507
+ startGenWatch: () => startGenWatch
7462
7508
  });
7463
7509
  import { watch } from "node:fs";
7464
- import { copyFile, mkdir as mkdir3, readdir as readdir7, rm, unlink } from "node:fs/promises";
7465
- import { dirname as dirname6, extname as extname3, join as join10 } from "node:path";
7510
+ import { copyFile as copyFile2, mkdir as mkdir3, readdir as readdir7, rm, unlink as unlink2 } from "node:fs/promises";
7511
+ import { dirname as dirname7, extname as extname4, join as join11 } from "node:path";
7466
7512
  import { pathToFileURL as pathToFileURL8 } from "node:url";
7513
+ function isWatchNoise(name) {
7514
+ return name.split(/[/\\]/).some((part) => part.startsWith(".")) || /\.bust-[^/\\]+$/.test(name);
7515
+ }
7467
7516
  async function bundleThemeCssIntoArtifacts(cwd) {
7468
- const cssPath = join10(cwd, ".reroute", "index.css");
7469
- const artifactsPath = join10(cwd, OUTPUT_ARTIFACTS);
7517
+ const cssPath = join11(cwd, ".reroute", "index.css");
7518
+ const artifactsPath = join11(cwd, OUTPUT_ARTIFACTS);
7470
7519
  try {
7471
7520
  const cssContent = await Bun.file(cssPath).text();
7472
7521
  if (!cssContent)
@@ -7492,7 +7541,7 @@ async function bundleThemeCssIntoArtifacts(cwd) {
7492
7541
  async function ensureOutputDir(cwd, options = {}) {
7493
7542
  const { clean = true } = options;
7494
7543
  try {
7495
- const outputPath = join10(cwd, OUTPUT_DIR);
7544
+ const outputPath = join11(cwd, OUTPUT_DIR);
7496
7545
  if (clean) {
7497
7546
  let needsCleanup = false;
7498
7547
  try {
@@ -7505,9 +7554,9 @@ async function ensureOutputDir(cwd, options = {}) {
7505
7554
  }
7506
7555
  }
7507
7556
  await mkdir3(outputPath, { recursive: true });
7508
- await mkdir3(join10(cwd, OUTPUT_COLLECTIONS_DIR), { recursive: true });
7509
- await mkdir3(join10(cwd, ".reroute/bundles"), { recursive: true });
7510
- await mkdir3(join10(cwd, ".reroute/streaming"), { recursive: true });
7557
+ await mkdir3(join11(cwd, OUTPUT_COLLECTIONS_DIR), { recursive: true });
7558
+ await mkdir3(join11(cwd, ".reroute/bundles"), { recursive: true });
7559
+ await mkdir3(join11(cwd, ".reroute/streaming"), { recursive: true });
7511
7560
  } catch {}
7512
7561
  }
7513
7562
  async function writeStubFiles(cwd) {
@@ -7565,11 +7614,11 @@ import './artifacts';
7565
7614
  import './routes'; // Import routes (bundles all route components)
7566
7615
  import '../src/index';
7567
7616
  `;
7568
- await Bun.write(join10(cwd, OUTPUT_ROUTES), STUB_ROUTES);
7569
- await Bun.write(join10(cwd, OUTPUT_CONTENT_TS), STUB_CONTENT);
7570
- await Bun.write(join10(cwd, OUTPUT_ARTIFACTS), STUB_ARTIFACTS);
7571
- await Bun.write(join10(cwd, OUTPUT_INDEX), STUB_INDEX);
7572
- await Bun.write(join10(cwd, ".reroute/entry.ts"), STUB_ENTRY);
7617
+ await Bun.write(join11(cwd, OUTPUT_ROUTES), STUB_ROUTES);
7618
+ await Bun.write(join11(cwd, OUTPUT_CONTENT_TS), STUB_CONTENT);
7619
+ await Bun.write(join11(cwd, OUTPUT_ARTIFACTS), STUB_ARTIFACTS);
7620
+ await Bun.write(join11(cwd, OUTPUT_INDEX), STUB_INDEX);
7621
+ await Bun.write(join11(cwd, ".reroute/entry.ts"), STUB_ENTRY);
7573
7622
  console.log("[reroute/gen] Initialized stub files");
7574
7623
  }
7575
7624
  function shouldSkipFile(relativePath, entryName) {
@@ -7591,8 +7640,8 @@ async function scanDirectory(dir, base = "") {
7591
7640
  const files = [];
7592
7641
  const entries = await readdir7(dir, { withFileTypes: true });
7593
7642
  for (const entry of entries) {
7594
- const fullPath = join10(dir, entry.name);
7595
- const relativePath = join10(base, entry.name);
7643
+ const fullPath = join11(dir, entry.name);
7644
+ const relativePath = join11(base, entry.name);
7596
7645
  if (entry.isDirectory()) {
7597
7646
  if (entry.name === "content")
7598
7647
  continue;
@@ -7610,8 +7659,8 @@ async function scan404Files(dir, base = "") {
7610
7659
  const files = [];
7611
7660
  const entries = await readdir7(dir, { withFileTypes: true });
7612
7661
  for (const entry of entries) {
7613
- const fullPath = join10(dir, entry.name);
7614
- const relativePath = join10(base, entry.name);
7662
+ const fullPath = join11(dir, entry.name);
7663
+ const relativePath = join11(base, entry.name);
7615
7664
  if (entry.isDirectory()) {
7616
7665
  const nested = await scan404Files(fullPath, relativePath);
7617
7666
  files.push(...nested);
@@ -7626,8 +7675,8 @@ async function scanOgFiles(dir, base = "") {
7626
7675
  const files = [];
7627
7676
  const entries = await readdir7(dir, { withFileTypes: true });
7628
7677
  for (const entry of entries) {
7629
- const fullPath = join10(dir, entry.name);
7630
- const relativePath = join10(base, entry.name);
7678
+ const fullPath = join11(dir, entry.name);
7679
+ const relativePath = join11(base, entry.name);
7631
7680
  if (entry.isDirectory()) {
7632
7681
  if (entry.name === "content")
7633
7682
  continue;
@@ -7881,7 +7930,7 @@ function matchPattern(route: Route, pathname: string): Record<string, string> |
7881
7930
  `;
7882
7931
  }
7883
7932
  async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
7884
- const streamingDir = join10(cwd, ".reroute", "streaming");
7933
+ const streamingDir = join11(cwd, ".reroute", "streaming");
7885
7934
  const analyses = new Map;
7886
7935
  const candidates = [
7887
7936
  ...tree.routes.map((route) => ({
@@ -7900,7 +7949,7 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
7900
7949
  for (const candidate of candidates) {
7901
7950
  if (!/\.(tsx|ts)$/.test(candidate.filePath))
7902
7951
  continue;
7903
- const absolutePath = join10(routesPath, candidate.filePath);
7952
+ const absolutePath = join11(routesPath, candidate.filePath);
7904
7953
  const analysis = await analyzeRouteForStreaming({
7905
7954
  absolutePath,
7906
7955
  relativePath: candidate.filePath,
@@ -7909,8 +7958,8 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
7909
7958
  });
7910
7959
  if (!analysis.needsStreaming)
7911
7960
  continue;
7912
- const wrapperPath = join10(streamingDir, candidate.filePath).replace(/\.(tsx|ts)$/, ".tsx");
7913
- await mkdir3(dirname6(wrapperPath), { recursive: true });
7961
+ const wrapperPath = join11(streamingDir, candidate.filePath).replace(/\.(tsx|ts)$/, ".tsx");
7962
+ await mkdir3(dirname7(wrapperPath), { recursive: true });
7914
7963
  const code = await generateStreamingWrapper({
7915
7964
  cwd,
7916
7965
  relativeFilePath: candidate.filePath,
@@ -7934,13 +7983,13 @@ function isContentFileName(name) {
7934
7983
  }
7935
7984
  async function listLocaleContentFiles(collectionDir, locale) {
7936
7985
  try {
7937
- const nested = await readdir7(join10(collectionDir, locale), {
7986
+ const nested = await readdir7(join11(collectionDir, locale), {
7938
7987
  withFileTypes: true
7939
7988
  });
7940
7989
  const files = [];
7941
7990
  for (const n of nested) {
7942
7991
  if (n.isFile() && isContentFileName(n.name)) {
7943
- files.push({ relativePath: join10(locale, n.name), locale });
7992
+ files.push({ relativePath: join11(locale, n.name), locale });
7944
7993
  }
7945
7994
  }
7946
7995
  return files;
@@ -7978,13 +8027,13 @@ async function loadContentMeta(absSrc, buildSrc, isMarkdown) {
7978
8027
  if (isMarkdown) {
7979
8028
  return processMarkdownFile(absSrc).frontmatter || {};
7980
8029
  }
7981
- const tmp = join10(dirname6(buildSrc), `.meta-${Date.now()}-${Math.random().toString(36).slice(2)}${extname3(buildSrc)}`);
8030
+ const tmp = join11(dirname7(buildSrc), `.meta-${Date.now()}-${Math.random().toString(36).slice(2)}${extname4(buildSrc)}`);
7982
8031
  try {
7983
- await copyFile(buildSrc, tmp);
8032
+ await copyFile2(buildSrc, tmp);
7984
8033
  const m = await import(pathToFileURL8(tmp).href);
7985
8034
  return m.meta || {};
7986
8035
  } finally {
7987
- await unlink(tmp).catch(() => {});
8036
+ await unlink2(tmp).catch(() => {});
7988
8037
  }
7989
8038
  }
7990
8039
  function serializeConfig(config2) {
@@ -8036,9 +8085,9 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
8036
8085
  const locale = fileRef.locale || defaultLocale;
8037
8086
  const baseName = file.split("/").pop() || file;
8038
8087
  const name = baseName.replace(/\.(tsx|ts|md|mdx)$/, "");
8039
- const absSrc = join10(contentDir, file);
8088
+ const absSrc = join11(contentDir, file);
8040
8089
  const isMarkdown = /\.(md|mdx)$/.test(file);
8041
- const buildSrc = isMarkdown ? join10(cwd, ".reroute", "markdown", collection, "content", file.replace(/\.(md|mdx)$/, ".tsx")) : absSrc;
8090
+ const buildSrc = isMarkdown ? join11(cwd, ".reroute", "markdown", collection, "content", file.replace(/\.(md|mdx)$/, ".tsx")) : absSrc;
8042
8091
  if (isMarkdown) {
8043
8092
  try {
8044
8093
  const exists = await Bun.file(buildSrc).exists();
@@ -8084,11 +8133,11 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
8084
8133
  return null;
8085
8134
  }
8086
8135
  const hash2 = await sha8(code);
8087
- const chunkRelDir = join10(".reroute", "bundles");
8088
- const chunkAbsDir = join10(cwd, chunkRelDir);
8136
+ const chunkRelDir = join11(".reroute", "bundles");
8137
+ const chunkAbsDir = join11(cwd, chunkRelDir);
8089
8138
  const localeSuffix = locale !== defaultLocale ? `${locale}-` : "";
8090
8139
  const outFile = `${collection}-${localeSuffix}${name}.${hash2}.js`;
8091
- const absOut = join10(chunkAbsDir, outFile);
8140
+ const absOut = join11(chunkAbsDir, outFile);
8092
8141
  if (sourcemapContent) {
8093
8142
  code = code.replace(/\/\/# sourceMappingURL=.*\.js\.map/, `//# sourceMappingURL=${outFile}.map`);
8094
8143
  }
@@ -8121,7 +8170,7 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
8121
8170
  };
8122
8171
  }
8123
8172
  async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
8124
- const routesRoot = join10(cwd, ROUTES_DIR);
8173
+ const routesRoot = join11(cwd, ROUTES_DIR);
8125
8174
  console.log(`[reroute/content] scan ${routesRoot}`);
8126
8175
  const collections2 = await readdir7(routesRoot, { withFileTypes: true });
8127
8176
  const results = [];
@@ -8129,7 +8178,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
8129
8178
  if (!c.isDirectory())
8130
8179
  continue;
8131
8180
  const collection = c.name;
8132
- const contentDir = join10(routesRoot, collection, "content");
8181
+ const contentDir = join11(routesRoot, collection, "content");
8133
8182
  console.log(`[reroute/content] collection ${collection} dir ${contentDir}`);
8134
8183
  const files = await listContentFiles2(contentDir);
8135
8184
  console.log(`[reroute/content] files ${files.length}`);
@@ -8181,7 +8230,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
8181
8230
  lines.push("");
8182
8231
  const writes = [];
8183
8232
  writes.push({
8184
- path: join10(cwd, OUTPUT_CONTENT_TS),
8233
+ path: join11(cwd, OUTPUT_CONTENT_TS),
8185
8234
  content: lines.join(`
8186
8235
  `)
8187
8236
  });
@@ -8215,7 +8264,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
8215
8264
  js.push("}");
8216
8265
  js.push("");
8217
8266
  writes.push({
8218
- path: join10(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`),
8267
+ path: join11(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`),
8219
8268
  content: js.join(`
8220
8269
  `)
8221
8270
  });
@@ -8239,7 +8288,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
8239
8288
  minHeadingLevel = 1,
8240
8289
  maxHeadingLevel = 6
8241
8290
  } = searchConfig;
8242
- const routesRoot = join10(cwd, ROUTES_DIR);
8291
+ const routesRoot = join11(cwd, ROUTES_DIR);
8243
8292
  const collections2 = await readdir7(routesRoot, { withFileTypes: true });
8244
8293
  const i18n2 = await discoverI18n(cwd, config2.i18n);
8245
8294
  const defaultLocale = i18n2.defaultLocale;
@@ -8251,7 +8300,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
8251
8300
  if (targetCollections.length > 0 && !targetCollections.includes(collection)) {
8252
8301
  continue;
8253
8302
  }
8254
- const contentDir = join10(routesRoot, collection, "content");
8303
+ const contentDir = join11(routesRoot, collection, "content");
8255
8304
  try {
8256
8305
  const files = await listContentFiles2(contentDir);
8257
8306
  for (const fileRef of files) {
@@ -8261,7 +8310,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
8261
8310
  const baseName = file.split("/").pop() || file;
8262
8311
  const name = baseName.replace(/\.(md|mdx)$/, "");
8263
8312
  const locale = fileRef.locale || defaultLocale;
8264
- const filePath = join10(contentDir, file);
8313
+ const filePath = join11(contentDir, file);
8265
8314
  try {
8266
8315
  const processed = processMarkdownFile(filePath);
8267
8316
  const { frontmatter, content: content2 } = processed;
@@ -8309,13 +8358,13 @@ async function buildSearchIndex(cwd, config2, args = []) {
8309
8358
  generated: new Date().toISOString(),
8310
8359
  entries: searchIndex
8311
8360
  };
8312
- await Bun.write(join10(cwd, OUTPUT_SEARCH_INDEX), JSON.stringify(indexData, null, 2));
8313
- console.log(`[reroute/search] Generated search index with ${searchIndex.length} entries: ${join10(cwd, OUTPUT_SEARCH_INDEX)}`);
8361
+ await Bun.write(join11(cwd, OUTPUT_SEARCH_INDEX), JSON.stringify(indexData, null, 2));
8362
+ console.log(`[reroute/search] Generated search index with ${searchIndex.length} entries: ${join11(cwd, OUTPUT_SEARCH_INDEX)}`);
8314
8363
  }
8315
8364
  async function preprocessMarkdownFiles(cwd, config2) {
8316
8365
  console.log("[reroute/markdown] Starting markdown preprocessing...");
8317
- const routesPath = join10(cwd, ROUTES_DIR);
8318
- const markdownDir = join10(cwd, ".reroute", "markdown");
8366
+ const routesPath = join11(cwd, ROUTES_DIR);
8367
+ const markdownDir = join11(cwd, ".reroute", "markdown");
8319
8368
  try {
8320
8369
  await rm(markdownDir, { force: true, recursive: true });
8321
8370
  } catch {}
@@ -8325,8 +8374,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
8325
8374
  try {
8326
8375
  const entries = await readdir7(dir, { withFileTypes: true });
8327
8376
  for (const entry of entries) {
8328
- const fullPath = join10(dir, entry.name);
8329
- const relativePath = join10(base, entry.name);
8377
+ const fullPath = join11(dir, entry.name);
8378
+ const relativePath = join11(base, entry.name);
8330
8379
  if (entry.isDirectory()) {
8331
8380
  const nested = await scanMarkdown(fullPath, relativePath);
8332
8381
  files.push(...nested);
@@ -8348,8 +8397,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
8348
8397
  }
8349
8398
  console.log(`[reroute/markdown] Found ${markdownFiles.length} markdown file(s)`);
8350
8399
  for (const file of markdownFiles) {
8351
- const sourcePath = join10(routesPath, file);
8352
- const targetPath = join10(markdownDir, file.replace(/\.mdx?$/, ".tsx"));
8400
+ const sourcePath = join11(routesPath, file);
8401
+ const targetPath = join11(markdownDir, file.replace(/\.mdx?$/, ".tsx"));
8353
8402
  try {
8354
8403
  const processed = processMarkdownFile(sourcePath);
8355
8404
  const isMdx = file.endsWith(".mdx");
@@ -8375,8 +8424,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
8375
8424
  }
8376
8425
  async function buildEntrypointBundle(cwd, args = []) {
8377
8426
  const buildStartTime = performance.now();
8378
- const clientDir = join10(cwd, "src", "client");
8379
- const entrypoint = join10(clientDir, "index.tsx");
8427
+ const clientDir = join11(cwd, "src", "client");
8428
+ const entrypoint = join11(clientDir, "index.tsx");
8380
8429
  const exists = await Bun.file(entrypoint).exists();
8381
8430
  if (!exists) {
8382
8431
  console.log("[reroute/gen] No index.tsx found, skipping bundle build");
@@ -8384,7 +8433,7 @@ async function buildEntrypointBundle(cwd, args = []) {
8384
8433
  }
8385
8434
  console.log("[reroute/gen] Building entrypoint bundle...");
8386
8435
  const isProd = args.includes("--prod");
8387
- const bundlesDir = join10(cwd, ".reroute", "bundles");
8436
+ const bundlesDir = join11(cwd, ".reroute", "bundles");
8388
8437
  await mkdir3(bundlesDir, { recursive: true });
8389
8438
  const mode = isProd ? "production" : "development";
8390
8439
  const publicEnv = getPublicEnvVars(cwd, mode);
@@ -8486,7 +8535,7 @@ async function buildEntrypointBundle(cwd, args = []) {
8486
8535
  const existingFiles = await readdir7(bundlesDir);
8487
8536
  for (const file of existingFiles) {
8488
8537
  if (/^(index|chunk|asset)\.[a-z0-9]+\.(js|css|js\.map|css\.map)(\.gz|\.br)?$/i.test(file) && !newFiles.has(file.replace(/\.(gz|br)$/, ""))) {
8489
- await rm(join10(bundlesDir, file), { force: true });
8538
+ await rm(join11(bundlesDir, file), { force: true });
8490
8539
  }
8491
8540
  }
8492
8541
  } catch (_error) {}
@@ -8502,7 +8551,7 @@ async function buildEntrypointBundle(cwd, args = []) {
8502
8551
  }
8503
8552
  }
8504
8553
  await Promise.all(outputs.map(async (output) => {
8505
- const destPath = join10(bundlesDir, output.fileName);
8554
+ const destPath = join11(bundlesDir, output.fileName);
8506
8555
  await Bun.write(destPath, output.content);
8507
8556
  if (shouldPreCompress) {
8508
8557
  const shouldCompress = /\.(js|css)$/i.test(output.fileName) && !output.fileName.endsWith(".map");
@@ -8571,7 +8620,7 @@ async function generate(cwd, args = [], options = {}) {
8571
8620
  await writeStubFiles(cwd);
8572
8621
  }
8573
8622
  await perfTrack("Markdown preprocessing", () => preprocessMarkdownFiles(cwd, config2));
8574
- const routesPath = join10(cwd, ROUTES_DIR);
8623
+ const routesPath = join11(cwd, ROUTES_DIR);
8575
8624
  try {
8576
8625
  await perfTrack("Routes generation", async () => {
8577
8626
  const files = await scanDirectory(routesPath);
@@ -8580,10 +8629,10 @@ async function generate(cwd, args = [], options = {}) {
8580
8629
  const tree = generateRouteTree(all.map((f) => f.replace(/\\/g, "/")));
8581
8630
  const streamingAnalyses = streamingEnabled ? await buildStreamingWrappersForTree(cwd, routesPath, tree, config2) : new Map;
8582
8631
  const ts = generateTypeScript(tree, streamingAnalyses);
8583
- await Bun.write(join10(cwd, OUTPUT_ROUTES), ts);
8632
+ await Bun.write(join11(cwd, OUTPUT_ROUTES), ts);
8584
8633
  });
8585
8634
  if (!showPerformance) {
8586
- console.log(`[reroute/gen] Generated routes: ${join10(cwd, OUTPUT_ROUTES)}`);
8635
+ console.log(`[reroute/gen] Generated routes: ${join11(cwd, OUTPUT_ROUTES)}`);
8587
8636
  }
8588
8637
  } catch (error) {
8589
8638
  console.error("[reroute/gen] Failed to generate routes:", error);
@@ -8592,7 +8641,7 @@ async function generate(cwd, args = [], options = {}) {
8592
8641
  const i18n2 = await discoverI18n(cwd, config2.i18n);
8593
8642
  const defaultLocale = i18n2.defaultLocale;
8594
8643
  try {
8595
- await Bun.write(join10(cwd, ".reroute", "i18n.json"), JSON.stringify({
8644
+ await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
8596
8645
  enabled: i18n2.enabled,
8597
8646
  defaultLocale: i18n2.defaultLocale,
8598
8647
  locales: i18n2.locales,
@@ -8609,7 +8658,7 @@ async function generate(cwd, args = [], options = {}) {
8609
8658
  try {
8610
8659
  await perfTrack("Content building", () => buildContentChunks(cwd, args, defaultLocale));
8611
8660
  if (!showPerformance) {
8612
- console.log(`[reroute/gen] Generated content: ${join10(cwd, OUTPUT_CONTENT_TS)} + collections/*.js`);
8661
+ console.log(`[reroute/gen] Generated content: ${join11(cwd, OUTPUT_CONTENT_TS)} + collections/*.js`);
8613
8662
  }
8614
8663
  } catch (error) {
8615
8664
  console.error("[reroute/gen] Failed to generate content:", error);
@@ -8617,17 +8666,17 @@ async function generate(cwd, args = [], options = {}) {
8617
8666
  }
8618
8667
  try {
8619
8668
  await perfTrack("Manifest generation", async () => {
8620
- const routesPath2 = join10(cwd, OUTPUT_ROUTES);
8669
+ const routesPath2 = join11(cwd, OUTPUT_ROUTES);
8621
8670
  const routesModule = await import(`file://${routesPath2}?t=${Date.now()}`);
8622
8671
  const routes = routesModule.routes || [];
8623
8672
  const staticRoutes = routes.filter((r) => !r.params || r.params.length === 0).map((r) => r.pattern);
8624
8673
  const contentRoutes = [];
8625
- const collectionsDir = join10(cwd, ".reroute", "collections");
8674
+ const collectionsDir = join11(cwd, ".reroute", "collections");
8626
8675
  try {
8627
8676
  const collectionFiles = await readdir7(collectionsDir);
8628
8677
  for (const file of collectionFiles) {
8629
8678
  if (file.endsWith(".js")) {
8630
- const collectionPath = join10(collectionsDir, file);
8679
+ const collectionPath = join11(collectionsDir, file);
8631
8680
  const collectionModule = await import(`file://${collectionPath}?t=${Date.now()}`);
8632
8681
  const items = collectionModule.items || [];
8633
8682
  for (const item of items) {
@@ -8652,7 +8701,7 @@ async function generate(cwd, args = [], options = {}) {
8652
8701
  dynamicRoutes,
8653
8702
  version: 1
8654
8703
  };
8655
- await Bun.write(join10(cwd, ".reroute", "manifest.json"), JSON.stringify(manifest, null, 2));
8704
+ await Bun.write(join11(cwd, ".reroute", "manifest.json"), JSON.stringify(manifest, null, 2));
8656
8705
  });
8657
8706
  } catch (error) {
8658
8707
  console.error("[reroute/gen] Failed to generate manifest:", error);
@@ -8673,7 +8722,7 @@ async function generate(cwd, args = [], options = {}) {
8673
8722
  mdComponentsLines.push("");
8674
8723
  mdComponentsLines.push(`import markdownComponents from '${componentsPath}';`);
8675
8724
  mdComponentsLines.push("export { markdownComponents };");
8676
- await Bun.write(join10(cwd, ".reroute/markdown-components.ts"), mdComponentsLines.join(`
8725
+ await Bun.write(join11(cwd, ".reroute/markdown-components.ts"), mdComponentsLines.join(`
8677
8726
  `));
8678
8727
  }
8679
8728
  const indexLines = [];
@@ -8693,7 +8742,7 @@ async function generate(cwd, args = [], options = {}) {
8693
8742
  const ogTemplatePath = config2.ogImage.defaultTemplate.startsWith(".") ? `../${config2.ogImage.defaultTemplate}` : config2.ogImage.defaultTemplate;
8694
8743
  indexLines.push(`import OGTemplate from '${ogTemplatePath}';`);
8695
8744
  }
8696
- const ogFiles = await scanOgFiles(join10(cwd, ROUTES_DIR));
8745
+ const ogFiles = await scanOgFiles(join11(cwd, ROUTES_DIR));
8697
8746
  const ogImports = [];
8698
8747
  for (let i = 0;i < ogFiles.length; i++) {
8699
8748
  const ogFile = ogFiles[i];
@@ -8739,7 +8788,7 @@ async function generate(cwd, args = [], options = {}) {
8739
8788
  }
8740
8789
  indexLines.push("};");
8741
8790
  }
8742
- const templatePath = join10(cwd, "src", "client", "index.html");
8791
+ const templatePath = join11(cwd, "src", "client", "index.html");
8743
8792
  try {
8744
8793
  const templateContent = await Bun.file(templatePath).text();
8745
8794
  indexLines.push("");
@@ -8751,7 +8800,7 @@ async function generate(cwd, args = [], options = {}) {
8751
8800
  indexLines.push(`(globalThis as any).__REROUTE_CONFIG__ = ${serializeConfig(config2)};`);
8752
8801
  indexLines.push("");
8753
8802
  indexLines.push("export type RerouteBundle = typeof bundle;");
8754
- await Bun.write(join10(cwd, OUTPUT_ARTIFACTS), indexLines.join(`
8803
+ await Bun.write(join11(cwd, OUTPUT_ARTIFACTS), indexLines.join(`
8755
8804
  `));
8756
8805
  const barrelLines = [
8757
8806
  "// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
@@ -8761,7 +8810,7 @@ async function generate(cwd, args = [], options = {}) {
8761
8810
  "",
8762
8811
  "export * from './artifacts';"
8763
8812
  ];
8764
- await Bun.write(join10(cwd, OUTPUT_INDEX), barrelLines.join(`
8813
+ await Bun.write(join11(cwd, OUTPUT_INDEX), barrelLines.join(`
8765
8814
  `));
8766
8815
  const entryLines = [
8767
8816
  "// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
@@ -8777,10 +8826,10 @@ async function generate(cwd, args = [], options = {}) {
8777
8826
  "import './routes'; // Import routes (bundles all route components)",
8778
8827
  "import '../src/index'; // Import user's server entry"
8779
8828
  ];
8780
- await Bun.write(join10(cwd, ".reroute/entry.ts"), entryLines.join(`
8829
+ await Bun.write(join11(cwd, ".reroute/entry.ts"), entryLines.join(`
8781
8830
  `));
8782
8831
  if (!showPerformance) {
8783
- console.log(`[reroute/gen] Generated artifacts: ${join10(cwd, OUTPUT_ARTIFACTS)}`);
8832
+ console.log(`[reroute/gen] Generated artifacts: ${join11(cwd, OUTPUT_ARTIFACTS)}`);
8784
8833
  }
8785
8834
  await perfTrack("Bundle building", () => buildEntrypointBundle(cwd, args));
8786
8835
  const endTime = performance.now();
@@ -8791,22 +8840,8 @@ async function generate(cwd, args = [], options = {}) {
8791
8840
  console.log(`[reroute/gen] Generation complete in ${duration}s`);
8792
8841
  }
8793
8842
  }
8794
- async function gen(args) {
8843
+ async function startGenWatch(cwd, args) {
8795
8844
  const genStartTime = performance.now();
8796
- const cwd = process.cwd();
8797
- const watchMode = args.includes("--watch") || args.includes("-w");
8798
- if (!watchMode) {
8799
- await generate(cwd, args);
8800
- await syncThemeCss(cwd);
8801
- await bundleThemeCssIntoArtifacts(cwd);
8802
- checkMarkdownIfConfigured(cwd);
8803
- const genEndTime2 = performance.now();
8804
- const totalDuration2 = ((genEndTime2 - genStartTime) / 1000).toFixed(2);
8805
- console.log(`
8806
- [reroute/gen] ✓ Build complete in ${totalDuration2}s
8807
- `);
8808
- process.exit(0);
8809
- }
8810
8845
  console.log("[reroute/gen] Watch mode enabled");
8811
8846
  console.log("[reroute/gen] Initial generation...");
8812
8847
  await generate(cwd, args);
@@ -8915,7 +8950,7 @@ async function gen(args) {
8915
8950
  const mediumDebounce = createDebouncer(150);
8916
8951
  const slowDebounce = createDebouncer(300);
8917
8952
  const loadedConfig = await loadConfig(cwd);
8918
- const configPath = join10(cwd, "reroute.config.ts");
8953
+ const configPath = join11(cwd, "reroute.config.ts");
8919
8954
  let configWatcher = null;
8920
8955
  try {
8921
8956
  configWatcher = watch(configPath, () => {
@@ -8937,7 +8972,7 @@ async function gen(args) {
8937
8972
  ];
8938
8973
  const envWatchers = [];
8939
8974
  for (const envFile of envFiles) {
8940
- const envPath = join10(cwd, envFile);
8975
+ const envPath = join11(cwd, envFile);
8941
8976
  try {
8942
8977
  const envWatcher = watch(envPath, () => {
8943
8978
  mediumDebounce(() => {
@@ -8956,21 +8991,23 @@ async function gen(args) {
8956
8991
  let packagesWatcher = null;
8957
8992
  const isRerouteWorkspace = async () => {
8958
8993
  try {
8959
- const packagesPath = join10(cwd, "..", "..", "packages");
8960
- const exists = await Bun.file(join10(packagesPath, "core", "index.ts")).exists();
8994
+ const packagesPath = join11(cwd, "..", "..", "packages");
8995
+ const exists = await Bun.file(join11(packagesPath, "core", "index.ts")).exists();
8961
8996
  return exists;
8962
8997
  } catch {
8963
8998
  return false;
8964
8999
  }
8965
9000
  };
8966
9001
  if (await isRerouteWorkspace()) {
8967
- const packagesPath = join10(cwd, "..", "..", "packages");
9002
+ const packagesPath = join11(cwd, "..", "..", "packages");
8968
9003
  console.log("[reroute/watch] \uD83D\uDD27 Workspace development mode enabled");
8969
9004
  console.log(`[reroute/watch] \uD83D\uDD27 Watching ${packagesPath}...`);
8970
9005
  packagesWatcher = watch(packagesPath, { recursive: true }, (_ev, filename) => {
8971
9006
  if (!filename)
8972
9007
  return;
8973
9008
  const name = String(filename);
9009
+ if (isWatchNoise(name))
9010
+ return;
8974
9011
  if (name.includes("dist/") || name.includes("node_modules/"))
8975
9012
  return;
8976
9013
  if (!/\.(tsx|ts|jsx|js)$/.test(name))
@@ -8987,12 +9024,14 @@ async function gen(args) {
8987
9024
  });
8988
9025
  });
8989
9026
  }
8990
- const routesPath = join10(cwd, ROUTES_DIR);
9027
+ const routesPath = join11(cwd, ROUTES_DIR);
8991
9028
  console.log(`[reroute/watch] \uD83D\uDCC1 Watching ${routesPath}...`);
8992
9029
  const routesWatcher = watch(routesPath, { recursive: true }, (_ev, filename) => {
8993
9030
  if (!filename)
8994
9031
  return;
8995
9032
  const name = String(filename);
9033
+ if (isWatchNoise(name))
9034
+ return;
8996
9035
  quickDebounce(() => {
8997
9036
  scheduleBuild(async () => {
8998
9037
  const isContentFile = name.includes("/content/") || name.includes("\\content\\");
@@ -9010,7 +9049,7 @@ async function gen(args) {
9010
9049
  console.log("[reroute/watch] ├─ Building content chunks...");
9011
9050
  const contentStart = performance.now();
9012
9051
  const watchI18n = await discoverI18n(cwd, loadedConfig.i18n);
9013
- await Bun.write(join10(cwd, ".reroute", "i18n.json"), JSON.stringify({
9052
+ await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
9014
9053
  enabled: watchI18n.enabled,
9015
9054
  defaultLocale: watchI18n.defaultLocale,
9016
9055
  locales: watchI18n.locales,
@@ -9047,13 +9086,15 @@ async function gen(args) {
9047
9086
  }, "routes change");
9048
9087
  });
9049
9088
  });
9050
- const clientPath = join10(cwd, "src", "client");
9089
+ const clientPath = join11(cwd, "src", "client");
9051
9090
  console.log(`[reroute/watch] \uD83D\uDCE6 Watching ${clientPath}...`);
9052
9091
  let pendingClientFiles = new Set;
9053
9092
  const clientWatcher = watch(clientPath, { recursive: true }, (_ev, filename) => {
9054
9093
  if (!filename)
9055
9094
  return;
9056
9095
  const name = String(filename);
9096
+ if (isWatchNoise(name))
9097
+ return;
9057
9098
  if (name.includes(".reroute") || name.includes("node_modules"))
9058
9099
  return;
9059
9100
  if (name.includes("routes/") || name.includes("routes\\"))
@@ -9096,16 +9137,42 @@ async function gen(args) {
9096
9137
  configWatcher,
9097
9138
  ...envWatchers
9098
9139
  ].filter(Boolean);
9099
- process.on("SIGINT", () => {
9100
- console.log(`
9140
+ return {
9141
+ close() {
9142
+ console.log(`
9101
9143
  [reroute/watch] \uD83D\uDED1 Stopping watch mode...`);
9102
- for (const watcher of watchers) {
9103
- try {
9104
- watcher?.close();
9105
- } catch {}
9144
+ for (const watcher of watchers) {
9145
+ try {
9146
+ watcher?.close();
9147
+ } catch {}
9148
+ }
9106
9149
  }
9150
+ };
9151
+ }
9152
+ async function gen(args) {
9153
+ const cwd = process.cwd();
9154
+ const watchMode = args.includes("--watch") || args.includes("-w");
9155
+ if (!watchMode) {
9156
+ const genStartTime = performance.now();
9157
+ await generate(cwd, args);
9158
+ await syncThemeCss(cwd);
9159
+ await bundleThemeCssIntoArtifacts(cwd);
9160
+ checkMarkdownIfConfigured(cwd);
9161
+ const genEndTime = performance.now();
9162
+ const totalDuration = ((genEndTime - genStartTime) / 1000).toFixed(2);
9163
+ console.log(`
9164
+ [reroute/gen] ✓ Build complete in ${totalDuration}s
9165
+ `);
9107
9166
  process.exit(0);
9167
+ }
9168
+ const session = await startGenWatch(cwd, args);
9169
+ await new Promise((resolve3) => {
9170
+ process.on("SIGINT", () => {
9171
+ session.close();
9172
+ resolve3();
9173
+ });
9108
9174
  });
9175
+ process.exit(0);
9109
9176
  }
9110
9177
  var ROUTES_DIR = "src/client/routes", OUTPUT_DIR = ".reroute", OUTPUT_ROUTES = ".reroute/routes.ts", OUTPUT_CONTENT_TS = ".reroute/content.ts", OUTPUT_COLLECTIONS_DIR = ".reroute/collections", OUTPUT_SEARCH_INDEX = ".reroute/search.json", OUTPUT_ARTIFACTS = ".reroute/artifacts.ts", OUTPUT_INDEX = ".reroute/index.ts";
9111
9178
  var init_gen = __esm(() => {
@@ -9117,6 +9184,35 @@ var init_gen = __esm(() => {
9117
9184
  init_theme();
9118
9185
  });
9119
9186
 
9187
+ // packages/cli/src/commands/lib/command.ts
9188
+ var exports_command = {};
9189
+ __export(exports_command, {
9190
+ getRerouteCommand: () => getRerouteCommand
9191
+ });
9192
+ import { existsSync as existsSync6 } from "node:fs";
9193
+ import { join as join12 } from "node:path";
9194
+ function getRerouteCommand() {
9195
+ const binPath = join12(import.meta.dir, "..", "..", "bin.ts");
9196
+ const isBunDev = existsSync6(binPath);
9197
+ if (isBunDev) {
9198
+ return `bun ${binPath}`;
9199
+ }
9200
+ const cwd = process.cwd();
9201
+ const nodeModulesPaths = [
9202
+ join12(cwd, "node_modules", ".bin", "reroute"),
9203
+ join12(cwd, "..", "node_modules", ".bin", "reroute"),
9204
+ join12(cwd, "..", "..", "node_modules", ".bin", "reroute"),
9205
+ join12(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
9206
+ ];
9207
+ for (const binPath2 of nodeModulesPaths) {
9208
+ if (existsSync6(binPath2)) {
9209
+ return binPath2;
9210
+ }
9211
+ }
9212
+ return "reroute";
9213
+ }
9214
+ var init_command = () => {};
9215
+
9120
9216
  // packages/cli/src/commands/lib/log.ts
9121
9217
  function colorizeLogPrefix(text) {
9122
9218
  let colored = text;
@@ -9167,6 +9263,17 @@ var init_log = __esm(() => {
9167
9263
  });
9168
9264
 
9169
9265
  // packages/cli/src/commands/lib/server.ts
9266
+ async function isServerRunning(port, timeout = 1000) {
9267
+ try {
9268
+ const response = await fetch(`http://localhost:${port}/`, {
9269
+ method: "GET",
9270
+ signal: AbortSignal.timeout(timeout)
9271
+ });
9272
+ return response.status < 500;
9273
+ } catch {
9274
+ return false;
9275
+ }
9276
+ }
9170
9277
  async function waitForServerReady(port = 3000, timeout = 30000) {
9171
9278
  const startTime = Date.now();
9172
9279
  let checkInterval = 50;
@@ -9188,7 +9295,7 @@ async function waitForServerReady(port = 3000, timeout = 30000) {
9188
9295
  }
9189
9296
 
9190
9297
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/alias.js
9191
- var require_alias = __commonJS((exports) => {
9298
+ var require_alias = __commonJS(function(exports) {
9192
9299
  var alias = exports;
9193
9300
  alias.bools = {
9194
9301
  auto_left_margin: ["bw", "bw"],
@@ -9663,7 +9770,7 @@ var require_alias = __commonJS((exports) => {
9663
9770
  });
9664
9771
 
9665
9772
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/tput.js
9666
- var require_tput = __commonJS((exports, module) => {
9773
+ var require_tput = __commonJS(function(exports, module) {
9667
9774
  var __dirname = "/Users/stewan/dev/reroute/node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib";
9668
9775
  var assert = __require("assert");
9669
9776
  var path3 = __require("path");
@@ -11761,7 +11868,7 @@ var require_tput = __commonJS((exports, module) => {
11761
11868
  });
11762
11869
 
11763
11870
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/colors.js
11764
- var require_colors = __commonJS((exports) => {
11871
+ var require_colors = __commonJS(function(exports) {
11765
11872
  exports.match = function(r1, g1, b1) {
11766
11873
  if (typeof r1 === "string") {
11767
11874
  var hex = r1;
@@ -12181,7 +12288,7 @@ var require_colors = __commonJS((exports) => {
12181
12288
  });
12182
12289
 
12183
12290
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/keys.js
12184
- var require_keys = __commonJS((exports) => {
12291
+ var require_keys = __commonJS(function(exports) {
12185
12292
  var EventEmitter = __require("events").EventEmitter;
12186
12293
  function listenerCount(stream2, event) {
12187
12294
  return EventEmitter.listenerCount ? EventEmitter.listenerCount(stream2, event) : stream2.listeners(event).length;
@@ -12538,7 +12645,7 @@ var require_keys = __commonJS((exports) => {
12538
12645
  });
12539
12646
 
12540
12647
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/gpmclient.js
12541
- var require_gpmclient = __commonJS((exports, module) => {
12648
+ var require_gpmclient = __commonJS(function(exports, module) {
12542
12649
  var net = __require("net");
12543
12650
  var fs = __require("fs");
12544
12651
  var EventEmitter = __require("events").EventEmitter;
@@ -12613,8 +12720,8 @@ var require_gpmclient = __commonJS((exports, module) => {
12613
12720
  }
12614
12721
  var self2 = this;
12615
12722
  if (tty) {
12616
- fs.stat(GPM_SOCKET, function(err, stat5) {
12617
- if (err || !stat5.isSocket()) {
12723
+ fs.stat(GPM_SOCKET, function(err, stat6) {
12724
+ if (err || !stat6.isSocket()) {
12618
12725
  return;
12619
12726
  }
12620
12727
  var conf = {
@@ -12701,7 +12808,7 @@ var require_gpmclient = __commonJS((exports, module) => {
12701
12808
  });
12702
12809
 
12703
12810
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/program.js
12704
- var require_program = __commonJS((exports, module) => {
12811
+ var require_program = __commonJS(function(exports, module) {
12705
12812
  var EventEmitter = __require("events").EventEmitter;
12706
12813
  var StringDecoder = __require("string_decoder").StringDecoder;
12707
12814
  var cp = __require("child_process");
@@ -15242,7 +15349,7 @@ var require_program = __commonJS((exports, module) => {
15242
15349
  });
15243
15350
 
15244
15351
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widget.js
15245
- var require_widget = __commonJS((exports) => {
15352
+ var require_widget = __commonJS(function(exports) {
15246
15353
  var widget = exports;
15247
15354
  widget.classes = [
15248
15355
  "Node",
@@ -15296,7 +15403,7 @@ var require_widget = __commonJS((exports) => {
15296
15403
  });
15297
15404
 
15298
15405
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/unicode.js
15299
- var require_unicode = __commonJS((exports) => {
15406
+ var require_unicode = __commonJS(function(exports) {
15300
15407
  var stringFromCharCode = String.fromCharCode;
15301
15408
  var floor = Math.floor;
15302
15409
  exports.charWidth = function(str, i) {
@@ -15596,7 +15703,7 @@ var require_unicode = __commonJS((exports) => {
15596
15703
  });
15597
15704
 
15598
15705
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/events.js
15599
- var require_events = __commonJS((exports, module) => {
15706
+ var require_events = __commonJS(function(exports, module) {
15600
15707
  var slice = Array.prototype.slice;
15601
15708
  function EventEmitter() {
15602
15709
  if (!this._events)
@@ -15696,7 +15803,7 @@ var require_events = __commonJS((exports, module) => {
15696
15803
  });
15697
15804
 
15698
15805
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/node.js
15699
- var require_node = __commonJS((exports, module) => {
15806
+ var require_node = __commonJS(function(exports, module) {
15700
15807
  var EventEmitter = require_events().EventEmitter;
15701
15808
  function Node(options) {
15702
15809
  var self2 = this;
@@ -15918,7 +16025,7 @@ var require_node = __commonJS((exports, module) => {
15918
16025
  });
15919
16026
 
15920
16027
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/element.js
15921
- var require_element = __commonJS((exports, module) => {
16028
+ var require_element = __commonJS(function(exports, module) {
15922
16029
  var assert = __require("assert");
15923
16030
  var colors = require_colors();
15924
16031
  var unicode = require_unicode();
@@ -17831,7 +17938,7 @@ var require_element = __commonJS((exports, module) => {
17831
17938
  });
17832
17939
 
17833
17940
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/box.js
17834
- var require_box = __commonJS((exports, module) => {
17941
+ var require_box = __commonJS(function(exports, module) {
17835
17942
  var Node = require_node();
17836
17943
  var Element = require_element();
17837
17944
  function Box(options) {
@@ -17847,7 +17954,7 @@ var require_box = __commonJS((exports, module) => {
17847
17954
  });
17848
17955
 
17849
17956
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollablebox.js
17850
- var require_scrollablebox = __commonJS((exports, module) => {
17957
+ var require_scrollablebox = __commonJS(function(exports, module) {
17851
17958
  var Node = require_node();
17852
17959
  var Box = require_box();
17853
17960
  function ScrollableBox(options) {
@@ -18127,7 +18234,7 @@ var require_scrollablebox = __commonJS((exports, module) => {
18127
18234
  });
18128
18235
 
18129
18236
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollabletext.js
18130
- var require_scrollabletext = __commonJS((exports, module) => {
18237
+ var require_scrollabletext = __commonJS(function(exports, module) {
18131
18238
  var Node = require_node();
18132
18239
  var ScrollableBox = require_scrollablebox();
18133
18240
  function ScrollableText(options) {
@@ -18144,7 +18251,7 @@ var require_scrollabletext = __commonJS((exports, module) => {
18144
18251
  });
18145
18252
 
18146
18253
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/log.js
18147
- var require_log = __commonJS((exports, module) => {
18254
+ var require_log = __commonJS(function(exports, module) {
18148
18255
  var util = __require("util");
18149
18256
  var nextTick = global.setImmediate || process.nextTick.bind(process);
18150
18257
  var Node = require_node();
@@ -18198,7 +18305,7 @@ var require_log = __commonJS((exports, module) => {
18198
18305
  });
18199
18306
 
18200
18307
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/screen.js
18201
- var require_screen = __commonJS((exports, module) => {
18308
+ var require_screen = __commonJS(function(exports, module) {
18202
18309
  var path3 = __require("path");
18203
18310
  var fs = __require("fs");
18204
18311
  var cp = __require("child_process");
@@ -19907,7 +20014,7 @@ var require_screen = __commonJS((exports, module) => {
19907
20014
  });
19908
20015
 
19909
20016
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/helpers.js
19910
- var require_helpers = __commonJS((exports) => {
20017
+ var require_helpers = __commonJS(function(exports) {
19911
20018
  var fs = __require("fs");
19912
20019
  var unicode = require_unicode();
19913
20020
  var helpers = exports;
@@ -19938,7 +20045,7 @@ var require_helpers = __commonJS((exports) => {
19938
20045
  };
19939
20046
  helpers.findFile = function(start, target) {
19940
20047
  return function read(dir) {
19941
- var files, file, stat5, out;
20048
+ var files, file, stat6, out;
19942
20049
  if (dir === "/dev" || dir === "/sys" || dir === "/proc" || dir === "/net") {
19943
20050
  return null;
19944
20051
  }
@@ -19953,11 +20060,11 @@ var require_helpers = __commonJS((exports) => {
19953
20060
  return (dir === "/" ? "" : dir) + "/" + file;
19954
20061
  }
19955
20062
  try {
19956
- stat5 = fs.lstatSync((dir === "/" ? "" : dir) + "/" + file);
20063
+ stat6 = fs.lstatSync((dir === "/" ? "" : dir) + "/" + file);
19957
20064
  } catch (e) {
19958
- stat5 = null;
20065
+ stat6 = null;
19959
20066
  }
19960
- if (stat5 && stat5.isDirectory() && !stat5.isSymbolicLink()) {
20067
+ if (stat6 && stat6.isDirectory() && !stat6.isSymbolicLink()) {
19961
20068
  out = read((dir === "/" ? "" : dir) + "/" + file);
19962
20069
  if (out)
19963
20070
  return out;
@@ -20029,7 +20136,7 @@ var require_helpers = __commonJS((exports) => {
20029
20136
  });
20030
20137
 
20031
20138
  // node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/blessed.js
20032
- var require_blessed = __commonJS((exports, module) => {
20139
+ var require_blessed = __commonJS(function(exports, module) {
20033
20140
  function blessed() {
20034
20141
  return blessed.program.apply(null, arguments);
20035
20142
  }
@@ -20047,7 +20154,7 @@ var require_blessed = __commonJS((exports, module) => {
20047
20154
  });
20048
20155
 
20049
20156
  // node_modules/.bun/x256@0.0.2/node_modules/x256/colors.json
20050
- var require_colors2 = __commonJS((exports, module) => {
20157
+ var require_colors2 = __commonJS(function(exports, module) {
20051
20158
  module.exports = [
20052
20159
  "000000",
20053
20160
  "800000",
@@ -20309,7 +20416,7 @@ var require_colors2 = __commonJS((exports, module) => {
20309
20416
  });
20310
20417
 
20311
20418
  // node_modules/.bun/x256@0.0.2/node_modules/x256/index.js
20312
- var require_x256 = __commonJS((exports, module) => {
20419
+ var require_x256 = __commonJS(function(exports, module) {
20313
20420
  var colors = require_colors2().map(function(hex) {
20314
20421
  var r = parseInt(hex.slice(0, 2), 16);
20315
20422
  var g = parseInt(hex.slice(2, 4), 16);
@@ -20334,7 +20441,7 @@ var require_x256 = __commonJS((exports, module) => {
20334
20441
  });
20335
20442
 
20336
20443
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/utils.js
20337
- var require_utils = __commonJS((exports) => {
20444
+ var require_utils = __commonJS(function(exports) {
20338
20445
  var x256 = require_x256();
20339
20446
  function MergeRecursive(obj1, obj2) {
20340
20447
  if (obj1 == null) {
@@ -20392,7 +20499,7 @@ var require_utils = __commonJS((exports) => {
20392
20499
  });
20393
20500
 
20394
20501
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/grid.js
20395
- var require_grid = __commonJS((exports, module) => {
20502
+ var require_grid = __commonJS(function(exports, module) {
20396
20503
  var utils = require_utils();
20397
20504
  var widgetSpacing = 0;
20398
20505
  function Grid(options) {
@@ -20427,7 +20534,7 @@ var require_grid = __commonJS((exports, module) => {
20427
20534
  });
20428
20535
 
20429
20536
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/carousel.js
20430
- var require_carousel = __commonJS((exports, module) => {
20537
+ var require_carousel = __commonJS(function(exports, module) {
20431
20538
  function Carousel(pages, options) {
20432
20539
  this.currPage = 0;
20433
20540
  this.pages = pages;
@@ -20496,7 +20603,7 @@ var require_carousel = __commonJS((exports, module) => {
20496
20603
  });
20497
20604
 
20498
20605
  // node_modules/.bun/drawille-blessed-contrib@1.0.0/node_modules/drawille-blessed-contrib/index.js
20499
- var require_drawille_blessed_contrib = __commonJS((exports, module) => {
20606
+ var require_drawille_blessed_contrib = __commonJS(function(exports, module) {
20500
20607
  var map = [
20501
20608
  [1, 8],
20502
20609
  [2, 16],
@@ -20606,7 +20713,7 @@ var require_drawille_blessed_contrib = __commonJS((exports, module) => {
20606
20713
  });
20607
20714
 
20608
20715
  // node_modules/.bun/bresenham@0.0.3/node_modules/bresenham/index.js
20609
- var require_bresenham = __commonJS((exports, module) => {
20716
+ var require_bresenham = __commonJS(function(exports, module) {
20610
20717
  module.exports = function(x0, y0, x1, y1, fn) {
20611
20718
  if (!fn) {
20612
20719
  var arr = [];
@@ -20645,7 +20752,7 @@ var require_bresenham = __commonJS((exports, module) => {
20645
20752
  });
20646
20753
 
20647
20754
  // node_modules/.bun/gl-matrix@2.8.1/node_modules/gl-matrix/dist/gl-matrix.js
20648
- var require_gl_matrix = __commonJS((exports, module) => {
20755
+ var require_gl_matrix = __commonJS(function(exports, module) {
20649
20756
  /*!
20650
20757
  @fileoverview gl-matrix - High performance matrix and vector operations
20651
20758
  @author Brandon Jones
@@ -21746,7 +21853,7 @@ var require_gl_matrix = __commonJS((exports, module) => {
21746
21853
  });
21747
21854
 
21748
21855
  // node_modules/.bun/drawille-canvas-blessed-contrib@0.1.3/node_modules/drawille-canvas-blessed-contrib/index.js
21749
- var require_drawille_canvas_blessed_contrib = __commonJS((exports, module) => {
21856
+ var require_drawille_canvas_blessed_contrib = __commonJS(function(exports, module) {
21750
21857
  var Canvas = require_drawille_blessed_contrib();
21751
21858
  var bresenham = require_bresenham();
21752
21859
  var glMatrix = require_gl_matrix();
@@ -21953,7 +22060,7 @@ var require_drawille_canvas_blessed_contrib = __commonJS((exports, module) => {
21953
22060
  });
21954
22061
 
21955
22062
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/canvas.js
21956
- var require_canvas = __commonJS((exports, module) => {
22063
+ var require_canvas = __commonJS(function(exports, module) {
21957
22064
  var blessed = require_blessed();
21958
22065
  var Node = blessed.Node;
21959
22066
  var Box = blessed.Box;
@@ -21993,7 +22100,7 @@ var require_canvas = __commonJS((exports, module) => {
21993
22100
  });
21994
22101
 
21995
22102
  // node_modules/.bun/map-canvas@0.1.5/node_modules/map-canvas/map.js
21996
- var require_map = __commonJS((exports, module) => {
22103
+ var require_map = __commonJS(function(exports, module) {
21997
22104
  (function() {})();
21998
22105
  Map2.prototype.drawBackground = function() {
21999
22106
  this.ctx.fillStyle = "rgb(0,0,0)";
@@ -81989,7 +82096,7 @@ var require_map = __commonJS((exports, module) => {
81989
82096
  });
81990
82097
 
81991
82098
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/map.js
81992
- var require_map2 = __commonJS((exports, module) => {
82099
+ var require_map2 = __commonJS(function(exports, module) {
81993
82100
  var blessed = require_blessed();
81994
82101
  var Node = blessed.Node;
81995
82102
  var Canvas = require_canvas();
@@ -82060,7 +82167,7 @@ var require_map2 = __commonJS((exports, module) => {
82060
82167
  });
82061
82168
 
82062
82169
  // node_modules/.bun/ansi-term@0.0.2/node_modules/ansi-term/index.js
82063
- var require_ansi_term = __commonJS((exports, module) => {
82170
+ var require_ansi_term = __commonJS(function(exports, module) {
82064
82171
  var x256 = require_x256();
82065
82172
  function AnsiTerminal(width, height) {
82066
82173
  this.width = width;
@@ -82166,7 +82273,7 @@ var require_ansi_term = __commonJS((exports, module) => {
82166
82273
  });
82167
82274
 
82168
82275
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/gauge.js
82169
- var require_gauge = __commonJS((exports, module) => {
82276
+ var require_gauge = __commonJS(function(exports, module) {
82170
82277
  var blessed = require_blessed();
82171
82278
  var Node = blessed.Node;
82172
82279
  var Canvas = require_canvas();
@@ -82198,7 +82305,7 @@ var require_gauge = __commonJS((exports, module) => {
82198
82305
  };
82199
82306
  Gauge.prototype.type = "gauge";
82200
82307
  Gauge.prototype.setData = function(data) {
82201
- if (typeof data == "object" && data.length > 0) {
82308
+ if (typeof data == typeof [] && data.length > 0) {
82202
82309
  this.setStack(data);
82203
82310
  } else if (typeof data == "number") {
82204
82311
  this.setPercent(data);
@@ -82236,7 +82343,7 @@ var require_gauge = __commonJS((exports, module) => {
82236
82343
  for (var i = 0;i < stack.length; i++) {
82237
82344
  var currentStack = stack[i];
82238
82345
  let percent;
82239
- if (typeof currentStack == "object")
82346
+ if (typeof currentStack == typeof {})
82240
82347
  percent = currentStack.percent;
82241
82348
  else
82242
82349
  percent = currentStack;
@@ -82265,7 +82372,7 @@ var require_gauge = __commonJS((exports, module) => {
82265
82372
  });
82266
82373
 
82267
82374
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/gauge-list.js
82268
- var require_gauge_list = __commonJS((exports, module) => {
82375
+ var require_gauge_list = __commonJS(function(exports, module) {
82269
82376
  var blessed = require_blessed();
82270
82377
  var Node = blessed.Node;
82271
82378
  var Canvas = require_canvas();
@@ -82316,7 +82423,7 @@ var require_gauge_list = __commonJS((exports, module) => {
82316
82423
  for (var i = 0;i < stack.length; i++) {
82317
82424
  var currentStack = stack[i];
82318
82425
  var percent;
82319
- if (typeof currentStack == "object") {
82426
+ if (typeof currentStack == typeof {}) {
82320
82427
  percent = currentStack.percent;
82321
82428
  } else {
82322
82429
  percent = currentStack;
@@ -82343,7 +82450,7 @@ var require_gauge_list = __commonJS((exports, module) => {
82343
82450
  });
82344
82451
 
82345
82452
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/lcd.js
82346
- var require_lcd = __commonJS((exports, module) => {
82453
+ var require_lcd = __commonJS(function(exports, module) {
82347
82454
  var blessed = require_blessed();
82348
82455
  var Node = blessed.Node;
82349
82456
  var Canvas = require_canvas();
@@ -82700,7 +82807,7 @@ var require_lcd = __commonJS((exports, module) => {
82700
82807
  });
82701
82808
 
82702
82809
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/donut.js
82703
- var require_donut = __commonJS((exports, module) => {
82810
+ var require_donut = __commonJS(function(exports, module) {
82704
82811
  var blessed = require_blessed();
82705
82812
  var Node = blessed.Node;
82706
82813
  var Canvas = require_canvas();
@@ -82788,15 +82895,15 @@ var require_donut = __commonJS((exports, module) => {
82788
82895
  c.fillText(ptext, cxx - Math.round(parseFloat(c.measureText(ptext).width / 2)) + 3, middle2);
82789
82896
  c.fillText(label, cxx - Math.round(parseFloat(c.measureText(label).width / 2)) + 3, middle2 + radius2 + 5);
82790
82897
  }
82791
- function makeDonut(stat5, which) {
82898
+ function makeDonut(stat6, which) {
82792
82899
  var left = radius + spacing * which + radius * 2 * (which - 1);
82793
- var percent = stat5.percent;
82900
+ var percent = stat6.percent;
82794
82901
  if (percent > 1.001) {
82795
82902
  percent = parseFloat(percent / 100).toFixed(2);
82796
82903
  }
82797
- var label = stat5.label;
82798
- var percentAltNumber = stat5.percentAltNumber;
82799
- var color = stat5.color || "green";
82904
+ var label = stat6.label;
82905
+ var percentAltNumber = stat6.percentAltNumber;
82906
+ var color = stat6.color || "green";
82800
82907
  var cxx = left;
82801
82908
  drawDonut(label, percent, radius, width, cxx, middle, color, percentAltNumber);
82802
82909
  }
@@ -82830,7 +82937,7 @@ var require_donut = __commonJS((exports, module) => {
82830
82937
  });
82831
82938
 
82832
82939
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/log.js
82833
- var require_log2 = __commonJS((exports, module) => {
82940
+ var require_log2 = __commonJS(function(exports, module) {
82834
82941
  var blessed = require_blessed();
82835
82942
  var Node = blessed.Node;
82836
82943
  var List = blessed.List;
@@ -82859,7 +82966,7 @@ var require_log2 = __commonJS((exports, module) => {
82859
82966
  });
82860
82967
 
82861
82968
  // node_modules/.bun/png-js@0.1.1/node_modules/png-js/png-node.js
82862
- var require_png_node = __commonJS((exports, module) => {
82969
+ var require_png_node = __commonJS(function(exports, module) {
82863
82970
  (function() {
82864
82971
  var PNG, fs, zlib;
82865
82972
  fs = __require("fs");
@@ -83140,7 +83247,7 @@ var require_png_node = __commonJS((exports, module) => {
83140
83247
  });
83141
83248
 
83142
83249
  // node_modules/.bun/charm@0.1.2/node_modules/charm/lib/encode.js
83143
- var require_encode = __commonJS((exports, module) => {
83250
+ var require_encode = __commonJS(function(exports, module) {
83144
83251
  var encode = module.exports = function(xs) {
83145
83252
  function bytes(s) {
83146
83253
  if (typeof s === "string") {
@@ -83159,7 +83266,7 @@ var require_encode = __commonJS((exports, module) => {
83159
83266
  });
83160
83267
 
83161
83268
  // node_modules/.bun/charm@0.1.2/node_modules/charm/index.js
83162
- var require_charm = __commonJS((exports, module) => {
83269
+ var require_charm = __commonJS(function(exports, module) {
83163
83270
  var tty = __require("tty");
83164
83271
  var encode = require_encode();
83165
83272
  var Stream = __require("stream").Stream;
@@ -83428,7 +83535,7 @@ var require_charm = __commonJS((exports, module) => {
83428
83535
  });
83429
83536
 
83430
83537
  // node_modules/.bun/buffers@0.1.1/node_modules/buffers/index.js
83431
- var require_buffers = __commonJS((exports, module) => {
83538
+ var require_buffers = __commonJS(function(exports, module) {
83432
83539
  module.exports = Buffers;
83433
83540
  function Buffers(bufs) {
83434
83541
  if (!(this instanceof Buffers))
@@ -83638,7 +83745,7 @@ var require_buffers = __commonJS((exports, module) => {
83638
83745
  });
83639
83746
 
83640
83747
  // node_modules/.bun/wordwrap@0.0.3/node_modules/wordwrap/index.js
83641
- var require_wordwrap = __commonJS((exports, module) => {
83748
+ var require_wordwrap = __commonJS(function(exports, module) {
83642
83749
  var wordwrap = module.exports = function(start, stop, params) {
83643
83750
  if (typeof start === "object") {
83644
83751
  params = start;
@@ -83699,7 +83806,7 @@ var require_wordwrap = __commonJS((exports, module) => {
83699
83806
  });
83700
83807
 
83701
83808
  // node_modules/.bun/optimist@0.2.8/node_modules/optimist/index.js
83702
- var require_optimist = __commonJS((exports, module) => {
83809
+ var require_optimist = __commonJS(function(exports, module) {
83703
83810
  var path3 = __require("path");
83704
83811
  var wordwrap = require_wordwrap();
83705
83812
  var inst = Argv(process.argv.slice(2));
@@ -84041,7 +84148,7 @@ var require_optimist = __commonJS((exports, module) => {
84041
84148
  });
84042
84149
 
84043
84150
  // node_modules/.bun/event-stream@0.9.8/node_modules/event-stream/index.js
84044
- var require_event_stream = __commonJS((exports) => {
84151
+ var require_event_stream = __commonJS(function(exports) {
84045
84152
  var Stream = __require("stream").Stream;
84046
84153
  var es = exports;
84047
84154
  es.Stream = Stream;
@@ -84466,7 +84573,7 @@ var require_event_stream = __commonJS((exports) => {
84466
84573
  });
84467
84574
 
84468
84575
  // node_modules/.bun/picture-tuber@1.0.2/node_modules/picture-tuber/index.js
84469
- var require_picture_tuber = __commonJS((exports, module) => {
84576
+ var require_picture_tuber = __commonJS(function(exports, module) {
84470
84577
  var PNG = require_png_node();
84471
84578
  var charm = require_charm();
84472
84579
  var x256 = require_x256();
@@ -84507,14 +84614,14 @@ var require_picture_tuber = __commonJS((exports, module) => {
84507
84614
  });
84508
84615
 
84509
84616
  // node_modules/.bun/isarray@0.0.1/node_modules/isarray/index.js
84510
- var require_isarray = __commonJS((exports, module) => {
84617
+ var require_isarray = __commonJS(function(exports, module) {
84511
84618
  module.exports = Array.isArray || function(arr) {
84512
84619
  return Object.prototype.toString.call(arr) == "[object Array]";
84513
84620
  };
84514
84621
  });
84515
84622
 
84516
84623
  // node_modules/.bun/core-util-is@1.0.3/node_modules/core-util-is/lib/util.js
84517
- var require_util = __commonJS((exports) => {
84624
+ var require_util = __commonJS(function(exports) {
84518
84625
  function isArray(arg) {
84519
84626
  if (Array.isArray) {
84520
84627
  return Array.isArray(arg);
@@ -84581,7 +84688,7 @@ var require_util = __commonJS((exports) => {
84581
84688
  });
84582
84689
 
84583
84690
  // node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits_browser.js
84584
- var require_inherits_browser = __commonJS((exports, module) => {
84691
+ var require_inherits_browser = __commonJS(function(exports, module) {
84585
84692
  if (typeof Object.create === "function") {
84586
84693
  module.exports = function inherits(ctor, superCtor) {
84587
84694
  if (superCtor) {
@@ -84610,7 +84717,7 @@ var require_inherits_browser = __commonJS((exports, module) => {
84610
84717
  });
84611
84718
 
84612
84719
  // node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits.js
84613
- var require_inherits = __commonJS((exports, module) => {
84720
+ var require_inherits = __commonJS(function(exports, module) {
84614
84721
  try {
84615
84722
  util = __require("util");
84616
84723
  if (typeof util.inherits !== "function")
@@ -84623,7 +84730,7 @@ var require_inherits = __commonJS((exports, module) => {
84623
84730
  });
84624
84731
 
84625
84732
  // node_modules/.bun/string_decoder@0.10.31/node_modules/string_decoder/index.js
84626
- var require_string_decoder = __commonJS((exports) => {
84733
+ var require_string_decoder = __commonJS(function(exports) {
84627
84734
  var Buffer2 = __require("buffer").Buffer;
84628
84735
  var isBufferEncoding = Buffer2.isEncoding || function(encoding) {
84629
84736
  switch (encoding && encoding.toLowerCase()) {
@@ -84759,7 +84866,7 @@ var require_string_decoder = __commonJS((exports) => {
84759
84866
  });
84760
84867
 
84761
84868
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_readable.js
84762
- var require__stream_readable = __commonJS((exports, module) => {
84869
+ var require__stream_readable = __commonJS(function(exports, module) {
84763
84870
  module.exports = Readable;
84764
84871
  var isArray = require_isarray();
84765
84872
  var Buffer2 = __require("buffer").Buffer;
@@ -85366,7 +85473,7 @@ var require__stream_readable = __commonJS((exports, module) => {
85366
85473
  });
85367
85474
 
85368
85475
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_duplex.js
85369
- var require__stream_duplex = __commonJS((exports, module) => {
85476
+ var require__stream_duplex = __commonJS(function(exports, module) {
85370
85477
  module.exports = Duplex;
85371
85478
  var objectKeys = Object.keys || function(obj) {
85372
85479
  var keys = [];
@@ -85410,7 +85517,7 @@ var require__stream_duplex = __commonJS((exports, module) => {
85410
85517
  });
85411
85518
 
85412
85519
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_writable.js
85413
- var require__stream_writable = __commonJS((exports, module) => {
85520
+ var require__stream_writable = __commonJS(function(exports, module) {
85414
85521
  module.exports = Writable;
85415
85522
  var Buffer2 = __require("buffer").Buffer;
85416
85523
  Writable.WritableState = WritableState;
@@ -85638,7 +85745,7 @@ var require__stream_writable = __commonJS((exports, module) => {
85638
85745
  });
85639
85746
 
85640
85747
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_transform.js
85641
- var require__stream_transform = __commonJS((exports, module) => {
85748
+ var require__stream_transform = __commonJS(function(exports, module) {
85642
85749
  module.exports = Transform;
85643
85750
  var Duplex = require__stream_duplex();
85644
85751
  var util = require_util();
@@ -85730,7 +85837,7 @@ var require__stream_transform = __commonJS((exports, module) => {
85730
85837
  });
85731
85838
 
85732
85839
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_passthrough.js
85733
- var require__stream_passthrough = __commonJS((exports, module) => {
85840
+ var require__stream_passthrough = __commonJS(function(exports, module) {
85734
85841
  module.exports = PassThrough;
85735
85842
  var Transform = require__stream_transform();
85736
85843
  var util = require_util();
@@ -85747,7 +85854,7 @@ var require__stream_passthrough = __commonJS((exports, module) => {
85747
85854
  });
85748
85855
 
85749
85856
  // node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/readable.js
85750
- var require_readable = __commonJS((exports, module) => {
85857
+ var require_readable = __commonJS(function(exports, module) {
85751
85858
  var Stream = __require("stream");
85752
85859
  exports = module.exports = require__stream_readable();
85753
85860
  exports.Stream = Stream;
@@ -85762,7 +85869,7 @@ var require_readable = __commonJS((exports, module) => {
85762
85869
  });
85763
85870
 
85764
85871
  // node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/ReadableStream.js
85765
- var require_ReadableStream = __commonJS((exports, module) => {
85872
+ var require_ReadableStream = __commonJS(function(exports, module) {
85766
85873
  var Stream = require_readable();
85767
85874
  var util = __require("util");
85768
85875
  module.exports = ReadableStream;
@@ -85781,7 +85888,7 @@ var require_ReadableStream = __commonJS((exports, module) => {
85781
85888
  });
85782
85889
 
85783
85890
  // node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/WritableStream.js
85784
- var require_WritableStream = __commonJS((exports, module) => {
85891
+ var require_WritableStream = __commonJS(function(exports, module) {
85785
85892
  var Stream = require_readable();
85786
85893
  var util = __require("util");
85787
85894
  module.exports = WritableStream;
@@ -85816,13 +85923,13 @@ var require_WritableStream = __commonJS((exports, module) => {
85816
85923
  });
85817
85924
 
85818
85925
  // node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/index.js
85819
- var require_memory_streams = __commonJS((exports, module) => {
85926
+ var require_memory_streams = __commonJS(function(exports, module) {
85820
85927
  exports.ReadableStream = require_ReadableStream();
85821
85928
  exports.WritableStream = require_WritableStream();
85822
85929
  });
85823
85930
 
85824
85931
  // node_modules/.bun/memorystream@0.3.1/node_modules/memorystream/index.js
85825
- var require_memorystream = __commonJS((exports, module) => {
85932
+ var require_memorystream = __commonJS(function(exports, module) {
85826
85933
  var STREAM = __require("stream");
85827
85934
  var UTIL = __require("util");
85828
85935
  var StringDecoder = __require("string_decoder").StringDecoder;
@@ -85970,7 +86077,7 @@ var require_memorystream = __commonJS((exports, module) => {
85970
86077
  });
85971
86078
 
85972
86079
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/picture.js
85973
- var require_picture = __commonJS((exports, module) => {
86080
+ var require_picture = __commonJS(function(exports, module) {
85974
86081
  var blessed = require_blessed();
85975
86082
  var Node = blessed.Node;
85976
86083
  var Box = blessed.Box;
@@ -86025,7 +86132,7 @@ var require_picture = __commonJS((exports, module) => {
86025
86132
  });
86026
86133
 
86027
86134
  // node_modules/.bun/sparkline@0.1.2/node_modules/sparkline/lib/sparkline.js
86028
- var require_sparkline = __commonJS((exports, module) => {
86135
+ var require_sparkline = __commonJS(function(exports, module) {
86029
86136
  (function(window2) {
86030
86137
  var sparkline, ticks = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
86031
86138
  sparkline = function(numbers, options) {
@@ -86054,7 +86161,7 @@ var require_sparkline = __commonJS((exports, module) => {
86054
86161
  });
86055
86162
 
86056
86163
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/sparkline.js
86057
- var require_sparkline2 = __commonJS((exports, module) => {
86164
+ var require_sparkline2 = __commonJS(function(exports, module) {
86058
86165
  var blessed = require_blessed();
86059
86166
  var Node = blessed.Node;
86060
86167
  var Box = blessed.Box;
@@ -86111,14 +86218,14 @@ var require_sparkline2 = __commonJS((exports, module) => {
86111
86218
  });
86112
86219
 
86113
86220
  // node_modules/.bun/ansi-regex@2.1.1/node_modules/ansi-regex/index.js
86114
- var require_ansi_regex = __commonJS((exports, module) => {
86221
+ var require_ansi_regex = __commonJS(function(exports, module) {
86115
86222
  module.exports = function() {
86116
86223
  return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
86117
86224
  };
86118
86225
  });
86119
86226
 
86120
86227
  // node_modules/.bun/strip-ansi@3.0.1/node_modules/strip-ansi/index.js
86121
- var require_strip_ansi = __commonJS((exports, module) => {
86228
+ var require_strip_ansi = __commonJS(function(exports, module) {
86122
86229
  var ansiRegex = require_ansi_regex()();
86123
86230
  module.exports = function(str) {
86124
86231
  return typeof str === "string" ? str.replace(ansiRegex, "") : str;
@@ -86126,7 +86233,7 @@ var require_strip_ansi = __commonJS((exports, module) => {
86126
86233
  });
86127
86234
 
86128
86235
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/table.js
86129
- var require_table = __commonJS((exports, module) => {
86236
+ var require_table = __commonJS(function(exports, module) {
86130
86237
  var blessed = require_blessed();
86131
86238
  var Node = blessed.Node;
86132
86239
  var Box = blessed.Box;
@@ -86242,7 +86349,7 @@ var require_table = __commonJS((exports, module) => {
86242
86349
  });
86243
86350
 
86244
86351
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/tree.js
86245
- var require_tree = __commonJS((exports, module) => {
86352
+ var require_tree = __commonJS(function(exports, module) {
86246
86353
  var blessed = require_blessed();
86247
86354
  var Node = blessed.Node;
86248
86355
  var Box = blessed.Box;
@@ -86375,7 +86482,7 @@ var require_tree = __commonJS((exports, module) => {
86375
86482
  });
86376
86483
 
86377
86484
  // node_modules/.bun/marked@4.3.0/node_modules/marked/lib/marked.cjs
86378
- var require_marked = __commonJS((exports) => {
86485
+ var require_marked = __commonJS(function(exports) {
86379
86486
  function _defineProperties(target, props) {
86380
86487
  for (var i = 0;i < props.length; i++) {
86381
86488
  var descriptor = props[i];
@@ -88689,7 +88796,7 @@ Please report this to https://github.com/markedjs/marked.`;
88689
88796
  });
88690
88797
 
88691
88798
  // node_modules/.bun/esprima@4.0.1/node_modules/esprima/dist/esprima.js
88692
- var require_esprima = __commonJS((exports, module) => {
88799
+ var require_esprima = __commonJS(function(exports, module) {
88693
88800
  (function webpackUniversalModuleDefinition(root, factory) {
88694
88801
  if (typeof exports === "object" && typeof module === "object")
88695
88802
  module.exports = factory();
@@ -94829,7 +94936,7 @@ var require_esprima = __commonJS((exports, module) => {
94829
94936
  });
94830
94937
 
94831
94938
  // node_modules/.bun/redeyed@2.1.1/node_modules/redeyed/redeyed.js
94832
- var require_redeyed = __commonJS((exports, module) => {
94939
+ var require_redeyed = __commonJS(function(exports, module) {
94833
94940
  (function() {
94834
94941
  var esprima;
94835
94942
  var exportFn;
@@ -95069,7 +95176,7 @@ Should be of format "before:after"`);
95069
95176
  });
95070
95177
 
95071
95178
  // node_modules/.bun/ansicolors@0.3.2/node_modules/ansicolors/ansicolors.js
95072
- var require_ansicolors = __commonJS((exports, module) => {
95179
+ var require_ansicolors = __commonJS(function(exports, module) {
95073
95180
  var colorNums = {
95074
95181
  white: 37,
95075
95182
  black: 30,
@@ -95129,7 +95236,7 @@ var require_ansicolors = __commonJS((exports, module) => {
95129
95236
  });
95130
95237
 
95131
95238
  // node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/themes/default.js
95132
- var require_default = __commonJS((exports, module) => {
95239
+ var require_default = __commonJS(function(exports, module) {
95133
95240
  var colors = require_ansicolors();
95134
95241
  module.exports = {
95135
95242
  Boolean: {
@@ -95301,7 +95408,7 @@ var require_default = __commonJS((exports, module) => {
95301
95408
  });
95302
95409
 
95303
95410
  // node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlight.js
95304
- var require_highlight = __commonJS((exports, module) => {
95411
+ var require_highlight = __commonJS(function(exports, module) {
95305
95412
  var redeyed = require_redeyed();
95306
95413
  var theme = require_default();
95307
95414
  var colors = require_ansicolors();
@@ -95373,7 +95480,7 @@ var require_highlight = __commonJS((exports, module) => {
95373
95480
  });
95374
95481
 
95375
95482
  // node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFile.js
95376
- var require_highlightFile = __commonJS((exports, module) => {
95483
+ var require_highlightFile = __commonJS(function(exports, module) {
95377
95484
  var fs = __require("fs");
95378
95485
  var highlight = require_highlight();
95379
95486
  function isFunction(obj) {
@@ -95398,7 +95505,7 @@ var require_highlightFile = __commonJS((exports, module) => {
95398
95505
  });
95399
95506
 
95400
95507
  // node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFileSync.js
95401
- var require_highlightFileSync = __commonJS((exports, module) => {
95508
+ var require_highlightFileSync = __commonJS(function(exports, module) {
95402
95509
  var fs = __require("fs");
95403
95510
  var highlight = require_highlight();
95404
95511
  module.exports = function highlightFileSync(fullPath, opts) {
@@ -95409,7 +95516,7 @@ var require_highlightFileSync = __commonJS((exports, module) => {
95409
95516
  });
95410
95517
 
95411
95518
  // node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/cardinal.js
95412
- var require_cardinal = __commonJS((exports, module) => {
95519
+ var require_cardinal = __commonJS(function(exports, module) {
95413
95520
  module.exports = {
95414
95521
  highlight: require_highlight(),
95415
95522
  highlightFile: require_highlightFile(),
@@ -95418,13 +95525,13 @@ var require_cardinal = __commonJS((exports, module) => {
95418
95525
  });
95419
95526
 
95420
95527
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js
95421
- var require__freeGlobal = __commonJS((exports, module) => {
95528
+ var require__freeGlobal = __commonJS(function(exports, module) {
95422
95529
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
95423
95530
  module.exports = freeGlobal;
95424
95531
  });
95425
95532
 
95426
95533
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js
95427
- var require__root = __commonJS((exports, module) => {
95534
+ var require__root = __commonJS(function(exports, module) {
95428
95535
  var freeGlobal = require__freeGlobal();
95429
95536
  var freeSelf = typeof self == "object" && self && self.Object === Object && self;
95430
95537
  var root = freeGlobal || freeSelf || Function("return this")();
@@ -95432,14 +95539,14 @@ var require__root = __commonJS((exports, module) => {
95432
95539
  });
95433
95540
 
95434
95541
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js
95435
- var require__Symbol = __commonJS((exports, module) => {
95542
+ var require__Symbol = __commonJS(function(exports, module) {
95436
95543
  var root = require__root();
95437
95544
  var Symbol2 = root.Symbol;
95438
95545
  module.exports = Symbol2;
95439
95546
  });
95440
95547
 
95441
95548
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_copyArray.js
95442
- var require__copyArray = __commonJS((exports, module) => {
95549
+ var require__copyArray = __commonJS(function(exports, module) {
95443
95550
  function copyArray(source, array) {
95444
95551
  var index = -1, length = source.length;
95445
95552
  array || (array = Array(length));
@@ -95452,7 +95559,7 @@ var require__copyArray = __commonJS((exports, module) => {
95452
95559
  });
95453
95560
 
95454
95561
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js
95455
- var require__getRawTag = __commonJS((exports, module) => {
95562
+ var require__getRawTag = __commonJS(function(exports, module) {
95456
95563
  var Symbol2 = require__Symbol();
95457
95564
  var objectProto = Object.prototype;
95458
95565
  var hasOwnProperty = objectProto.hasOwnProperty;
@@ -95478,7 +95585,7 @@ var require__getRawTag = __commonJS((exports, module) => {
95478
95585
  });
95479
95586
 
95480
95587
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js
95481
- var require__objectToString = __commonJS((exports, module) => {
95588
+ var require__objectToString = __commonJS(function(exports, module) {
95482
95589
  var objectProto = Object.prototype;
95483
95590
  var nativeObjectToString = objectProto.toString;
95484
95591
  function objectToString(value) {
@@ -95488,7 +95595,7 @@ var require__objectToString = __commonJS((exports, module) => {
95488
95595
  });
95489
95596
 
95490
95597
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js
95491
- var require__baseGetTag = __commonJS((exports, module) => {
95598
+ var require__baseGetTag = __commonJS(function(exports, module) {
95492
95599
  var Symbol2 = require__Symbol();
95493
95600
  var getRawTag = require__getRawTag();
95494
95601
  var objectToString = require__objectToString();
@@ -95505,7 +95612,7 @@ var require__baseGetTag = __commonJS((exports, module) => {
95505
95612
  });
95506
95613
 
95507
95614
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js
95508
- var require_isObject = __commonJS((exports, module) => {
95615
+ var require_isObject = __commonJS(function(exports, module) {
95509
95616
  function isObject(value) {
95510
95617
  var type = typeof value;
95511
95618
  return value != null && (type == "object" || type == "function");
@@ -95514,7 +95621,7 @@ var require_isObject = __commonJS((exports, module) => {
95514
95621
  });
95515
95622
 
95516
95623
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js
95517
- var require_isFunction = __commonJS((exports, module) => {
95624
+ var require_isFunction = __commonJS(function(exports, module) {
95518
95625
  var baseGetTag = require__baseGetTag();
95519
95626
  var isObject = require_isObject();
95520
95627
  var asyncTag = "[object AsyncFunction]";
@@ -95532,14 +95639,14 @@ var require_isFunction = __commonJS((exports, module) => {
95532
95639
  });
95533
95640
 
95534
95641
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js
95535
- var require__coreJsData = __commonJS((exports, module) => {
95642
+ var require__coreJsData = __commonJS(function(exports, module) {
95536
95643
  var root = require__root();
95537
95644
  var coreJsData = root["__core-js_shared__"];
95538
95645
  module.exports = coreJsData;
95539
95646
  });
95540
95647
 
95541
95648
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js
95542
- var require__isMasked = __commonJS((exports, module) => {
95649
+ var require__isMasked = __commonJS(function(exports, module) {
95543
95650
  var coreJsData = require__coreJsData();
95544
95651
  var maskSrcKey = function() {
95545
95652
  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
@@ -95552,7 +95659,7 @@ var require__isMasked = __commonJS((exports, module) => {
95552
95659
  });
95553
95660
 
95554
95661
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js
95555
- var require__toSource = __commonJS((exports, module) => {
95662
+ var require__toSource = __commonJS(function(exports, module) {
95556
95663
  var funcProto = Function.prototype;
95557
95664
  var funcToString = funcProto.toString;
95558
95665
  function toSource(func) {
@@ -95570,7 +95677,7 @@ var require__toSource = __commonJS((exports, module) => {
95570
95677
  });
95571
95678
 
95572
95679
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js
95573
- var require__baseIsNative = __commonJS((exports, module) => {
95680
+ var require__baseIsNative = __commonJS(function(exports, module) {
95574
95681
  var isFunction = require_isFunction();
95575
95682
  var isMasked = require__isMasked();
95576
95683
  var isObject = require_isObject();
@@ -95593,7 +95700,7 @@ var require__baseIsNative = __commonJS((exports, module) => {
95593
95700
  });
95594
95701
 
95595
95702
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js
95596
- var require__getValue = __commonJS((exports, module) => {
95703
+ var require__getValue = __commonJS(function(exports, module) {
95597
95704
  function getValue(object, key) {
95598
95705
  return object == null ? undefined : object[key];
95599
95706
  }
@@ -95601,7 +95708,7 @@ var require__getValue = __commonJS((exports, module) => {
95601
95708
  });
95602
95709
 
95603
95710
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js
95604
- var require__getNative = __commonJS((exports, module) => {
95711
+ var require__getNative = __commonJS(function(exports, module) {
95605
95712
  var baseIsNative = require__baseIsNative();
95606
95713
  var getValue = require__getValue();
95607
95714
  function getNative(object, key) {
@@ -95612,7 +95719,7 @@ var require__getNative = __commonJS((exports, module) => {
95612
95719
  });
95613
95720
 
95614
95721
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_DataView.js
95615
- var require__DataView = __commonJS((exports, module) => {
95722
+ var require__DataView = __commonJS(function(exports, module) {
95616
95723
  var getNative = require__getNative();
95617
95724
  var root = require__root();
95618
95725
  var DataView = getNative(root, "DataView");
@@ -95620,7 +95727,7 @@ var require__DataView = __commonJS((exports, module) => {
95620
95727
  });
95621
95728
 
95622
95729
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js
95623
- var require__Map = __commonJS((exports, module) => {
95730
+ var require__Map = __commonJS(function(exports, module) {
95624
95731
  var getNative = require__getNative();
95625
95732
  var root = require__root();
95626
95733
  var Map2 = getNative(root, "Map");
@@ -95628,7 +95735,7 @@ var require__Map = __commonJS((exports, module) => {
95628
95735
  });
95629
95736
 
95630
95737
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Promise.js
95631
- var require__Promise = __commonJS((exports, module) => {
95738
+ var require__Promise = __commonJS(function(exports, module) {
95632
95739
  var getNative = require__getNative();
95633
95740
  var root = require__root();
95634
95741
  var Promise2 = getNative(root, "Promise");
@@ -95636,7 +95743,7 @@ var require__Promise = __commonJS((exports, module) => {
95636
95743
  });
95637
95744
 
95638
95745
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Set.js
95639
- var require__Set = __commonJS((exports, module) => {
95746
+ var require__Set = __commonJS(function(exports, module) {
95640
95747
  var getNative = require__getNative();
95641
95748
  var root = require__root();
95642
95749
  var Set2 = getNative(root, "Set");
@@ -95644,7 +95751,7 @@ var require__Set = __commonJS((exports, module) => {
95644
95751
  });
95645
95752
 
95646
95753
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_WeakMap.js
95647
- var require__WeakMap = __commonJS((exports, module) => {
95754
+ var require__WeakMap = __commonJS(function(exports, module) {
95648
95755
  var getNative = require__getNative();
95649
95756
  var root = require__root();
95650
95757
  var WeakMap2 = getNative(root, "WeakMap");
@@ -95652,7 +95759,7 @@ var require__WeakMap = __commonJS((exports, module) => {
95652
95759
  });
95653
95760
 
95654
95761
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getTag.js
95655
- var require__getTag = __commonJS((exports, module) => {
95762
+ var require__getTag = __commonJS(function(exports, module) {
95656
95763
  var DataView = require__DataView();
95657
95764
  var Map2 = require__Map();
95658
95765
  var Promise2 = require__Promise();
@@ -95696,7 +95803,7 @@ var require__getTag = __commonJS((exports, module) => {
95696
95803
  });
95697
95804
 
95698
95805
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isLength.js
95699
- var require_isLength = __commonJS((exports, module) => {
95806
+ var require_isLength = __commonJS(function(exports, module) {
95700
95807
  var MAX_SAFE_INTEGER = 9007199254740991;
95701
95808
  function isLength(value) {
95702
95809
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
@@ -95705,7 +95812,7 @@ var require_isLength = __commonJS((exports, module) => {
95705
95812
  });
95706
95813
 
95707
95814
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArrayLike.js
95708
- var require_isArrayLike = __commonJS((exports, module) => {
95815
+ var require_isArrayLike = __commonJS(function(exports, module) {
95709
95816
  var isFunction = require_isFunction();
95710
95817
  var isLength = require_isLength();
95711
95818
  function isArrayLike(value) {
@@ -95715,13 +95822,13 @@ var require_isArrayLike = __commonJS((exports, module) => {
95715
95822
  });
95716
95823
 
95717
95824
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArray.js
95718
- var require_isArray = __commonJS((exports, module) => {
95825
+ var require_isArray = __commonJS(function(exports, module) {
95719
95826
  var isArray = Array.isArray;
95720
95827
  module.exports = isArray;
95721
95828
  });
95722
95829
 
95723
95830
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObjectLike.js
95724
- var require_isObjectLike = __commonJS((exports, module) => {
95831
+ var require_isObjectLike = __commonJS(function(exports, module) {
95725
95832
  function isObjectLike(value) {
95726
95833
  return value != null && typeof value == "object";
95727
95834
  }
@@ -95729,7 +95836,7 @@ var require_isObjectLike = __commonJS((exports, module) => {
95729
95836
  });
95730
95837
 
95731
95838
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isString.js
95732
- var require_isString = __commonJS((exports, module) => {
95839
+ var require_isString = __commonJS(function(exports, module) {
95733
95840
  var baseGetTag = require__baseGetTag();
95734
95841
  var isArray = require_isArray();
95735
95842
  var isObjectLike = require_isObjectLike();
@@ -95741,7 +95848,7 @@ var require_isString = __commonJS((exports, module) => {
95741
95848
  });
95742
95849
 
95743
95850
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_iteratorToArray.js
95744
- var require__iteratorToArray = __commonJS((exports, module) => {
95851
+ var require__iteratorToArray = __commonJS(function(exports, module) {
95745
95852
  function iteratorToArray(iterator) {
95746
95853
  var data, result = [];
95747
95854
  while (!(data = iterator.next()).done) {
@@ -95753,7 +95860,7 @@ var require__iteratorToArray = __commonJS((exports, module) => {
95753
95860
  });
95754
95861
 
95755
95862
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapToArray.js
95756
- var require__mapToArray = __commonJS((exports, module) => {
95863
+ var require__mapToArray = __commonJS(function(exports, module) {
95757
95864
  function mapToArray(map) {
95758
95865
  var index = -1, result = Array(map.size);
95759
95866
  map.forEach(function(value, key) {
@@ -95765,7 +95872,7 @@ var require__mapToArray = __commonJS((exports, module) => {
95765
95872
  });
95766
95873
 
95767
95874
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_setToArray.js
95768
- var require__setToArray = __commonJS((exports, module) => {
95875
+ var require__setToArray = __commonJS(function(exports, module) {
95769
95876
  function setToArray(set) {
95770
95877
  var index = -1, result = Array(set.size);
95771
95878
  set.forEach(function(value) {
@@ -95777,7 +95884,7 @@ var require__setToArray = __commonJS((exports, module) => {
95777
95884
  });
95778
95885
 
95779
95886
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_asciiToArray.js
95780
- var require__asciiToArray = __commonJS((exports, module) => {
95887
+ var require__asciiToArray = __commonJS(function(exports, module) {
95781
95888
  function asciiToArray(string) {
95782
95889
  return string.split("");
95783
95890
  }
@@ -95785,7 +95892,7 @@ var require__asciiToArray = __commonJS((exports, module) => {
95785
95892
  });
95786
95893
 
95787
95894
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hasUnicode.js
95788
- var require__hasUnicode = __commonJS((exports, module) => {
95895
+ var require__hasUnicode = __commonJS(function(exports, module) {
95789
95896
  var rsAstralRange = "\\ud800-\\udfff";
95790
95897
  var rsComboMarksRange = "\\u0300-\\u036f";
95791
95898
  var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
@@ -95801,7 +95908,7 @@ var require__hasUnicode = __commonJS((exports, module) => {
95801
95908
  });
95802
95909
 
95803
95910
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_unicodeToArray.js
95804
- var require__unicodeToArray = __commonJS((exports, module) => {
95911
+ var require__unicodeToArray = __commonJS(function(exports, module) {
95805
95912
  var rsAstralRange = "\\ud800-\\udfff";
95806
95913
  var rsComboMarksRange = "\\u0300-\\u036f";
95807
95914
  var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
@@ -95829,7 +95936,7 @@ var require__unicodeToArray = __commonJS((exports, module) => {
95829
95936
  });
95830
95937
 
95831
95938
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_stringToArray.js
95832
- var require__stringToArray = __commonJS((exports, module) => {
95939
+ var require__stringToArray = __commonJS(function(exports, module) {
95833
95940
  var asciiToArray = require__asciiToArray();
95834
95941
  var hasUnicode = require__hasUnicode();
95835
95942
  var unicodeToArray = require__unicodeToArray();
@@ -95840,7 +95947,7 @@ var require__stringToArray = __commonJS((exports, module) => {
95840
95947
  });
95841
95948
 
95842
95949
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayMap.js
95843
- var require__arrayMap = __commonJS((exports, module) => {
95950
+ var require__arrayMap = __commonJS(function(exports, module) {
95844
95951
  function arrayMap(array, iteratee) {
95845
95952
  var index = -1, length = array == null ? 0 : array.length, result = Array(length);
95846
95953
  while (++index < length) {
@@ -95852,7 +95959,7 @@ var require__arrayMap = __commonJS((exports, module) => {
95852
95959
  });
95853
95960
 
95854
95961
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseValues.js
95855
- var require__baseValues = __commonJS((exports, module) => {
95962
+ var require__baseValues = __commonJS(function(exports, module) {
95856
95963
  var arrayMap = require__arrayMap();
95857
95964
  function baseValues(object, props) {
95858
95965
  return arrayMap(props, function(key) {
@@ -95863,7 +95970,7 @@ var require__baseValues = __commonJS((exports, module) => {
95863
95970
  });
95864
95971
 
95865
95972
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseTimes.js
95866
- var require__baseTimes = __commonJS((exports, module) => {
95973
+ var require__baseTimes = __commonJS(function(exports, module) {
95867
95974
  function baseTimes(n, iteratee) {
95868
95975
  var index = -1, result = Array(n);
95869
95976
  while (++index < n) {
@@ -95875,7 +95982,7 @@ var require__baseTimes = __commonJS((exports, module) => {
95875
95982
  });
95876
95983
 
95877
95984
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js
95878
- var require__baseIsArguments = __commonJS((exports, module) => {
95985
+ var require__baseIsArguments = __commonJS(function(exports, module) {
95879
95986
  var baseGetTag = require__baseGetTag();
95880
95987
  var isObjectLike = require_isObjectLike();
95881
95988
  var argsTag = "[object Arguments]";
@@ -95886,7 +95993,7 @@ var require__baseIsArguments = __commonJS((exports, module) => {
95886
95993
  });
95887
95994
 
95888
95995
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArguments.js
95889
- var require_isArguments = __commonJS((exports, module) => {
95996
+ var require_isArguments = __commonJS(function(exports, module) {
95890
95997
  var baseIsArguments = require__baseIsArguments();
95891
95998
  var isObjectLike = require_isObjectLike();
95892
95999
  var objectProto = Object.prototype;
@@ -95901,7 +96008,7 @@ var require_isArguments = __commonJS((exports, module) => {
95901
96008
  });
95902
96009
 
95903
96010
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/stubFalse.js
95904
- var require_stubFalse = __commonJS((exports, module) => {
96011
+ var require_stubFalse = __commonJS(function(exports, module) {
95905
96012
  function stubFalse() {
95906
96013
  return false;
95907
96014
  }
@@ -95909,7 +96016,7 @@ var require_stubFalse = __commonJS((exports, module) => {
95909
96016
  });
95910
96017
 
95911
96018
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isBuffer.js
95912
- var require_isBuffer = __commonJS((exports, module) => {
96019
+ var require_isBuffer = __commonJS(function(exports, module) {
95913
96020
  var root = require__root();
95914
96021
  var stubFalse = require_stubFalse();
95915
96022
  var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
@@ -95922,7 +96029,7 @@ var require_isBuffer = __commonJS((exports, module) => {
95922
96029
  });
95923
96030
 
95924
96031
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isIndex.js
95925
- var require__isIndex = __commonJS((exports, module) => {
96032
+ var require__isIndex = __commonJS(function(exports, module) {
95926
96033
  var MAX_SAFE_INTEGER = 9007199254740991;
95927
96034
  var reIsUint = /^(?:0|[1-9]\d*)$/;
95928
96035
  function isIndex(value, length) {
@@ -95934,7 +96041,7 @@ var require__isIndex = __commonJS((exports, module) => {
95934
96041
  });
95935
96042
 
95936
96043
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js
95937
- var require__baseIsTypedArray = __commonJS((exports, module) => {
96044
+ var require__baseIsTypedArray = __commonJS(function(exports, module) {
95938
96045
  var baseGetTag = require__baseGetTag();
95939
96046
  var isLength = require_isLength();
95940
96047
  var isObjectLike = require_isObjectLike();
@@ -95972,7 +96079,7 @@ var require__baseIsTypedArray = __commonJS((exports, module) => {
95972
96079
  });
95973
96080
 
95974
96081
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseUnary.js
95975
- var require__baseUnary = __commonJS((exports, module) => {
96082
+ var require__baseUnary = __commonJS(function(exports, module) {
95976
96083
  function baseUnary(func) {
95977
96084
  return function(value) {
95978
96085
  return func(value);
@@ -95982,7 +96089,7 @@ var require__baseUnary = __commonJS((exports, module) => {
95982
96089
  });
95983
96090
 
95984
96091
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nodeUtil.js
95985
- var require__nodeUtil = __commonJS((exports, module) => {
96092
+ var require__nodeUtil = __commonJS(function(exports, module) {
95986
96093
  var freeGlobal = require__freeGlobal();
95987
96094
  var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
95988
96095
  var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
@@ -96001,7 +96108,7 @@ var require__nodeUtil = __commonJS((exports, module) => {
96001
96108
  });
96002
96109
 
96003
96110
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/isTypedArray.js
96004
- var require_isTypedArray = __commonJS((exports, module) => {
96111
+ var require_isTypedArray = __commonJS(function(exports, module) {
96005
96112
  var baseIsTypedArray = require__baseIsTypedArray();
96006
96113
  var baseUnary = require__baseUnary();
96007
96114
  var nodeUtil = require__nodeUtil();
@@ -96011,7 +96118,7 @@ var require_isTypedArray = __commonJS((exports, module) => {
96011
96118
  });
96012
96119
 
96013
96120
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js
96014
- var require__arrayLikeKeys = __commonJS((exports, module) => {
96121
+ var require__arrayLikeKeys = __commonJS(function(exports, module) {
96015
96122
  var baseTimes = require__baseTimes();
96016
96123
  var isArguments = require_isArguments();
96017
96124
  var isArray = require_isArray();
@@ -96033,7 +96140,7 @@ var require__arrayLikeKeys = __commonJS((exports, module) => {
96033
96140
  });
96034
96141
 
96035
96142
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isPrototype.js
96036
- var require__isPrototype = __commonJS((exports, module) => {
96143
+ var require__isPrototype = __commonJS(function(exports, module) {
96037
96144
  var objectProto = Object.prototype;
96038
96145
  function isPrototype(value) {
96039
96146
  var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
@@ -96043,7 +96150,7 @@ var require__isPrototype = __commonJS((exports, module) => {
96043
96150
  });
96044
96151
 
96045
96152
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_overArg.js
96046
- var require__overArg = __commonJS((exports, module) => {
96153
+ var require__overArg = __commonJS(function(exports, module) {
96047
96154
  function overArg(func, transform) {
96048
96155
  return function(arg) {
96049
96156
  return func(transform(arg));
@@ -96053,14 +96160,14 @@ var require__overArg = __commonJS((exports, module) => {
96053
96160
  });
96054
96161
 
96055
96162
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeKeys.js
96056
- var require__nativeKeys = __commonJS((exports, module) => {
96163
+ var require__nativeKeys = __commonJS(function(exports, module) {
96057
96164
  var overArg = require__overArg();
96058
96165
  var nativeKeys = overArg(Object.keys, Object);
96059
96166
  module.exports = nativeKeys;
96060
96167
  });
96061
96168
 
96062
96169
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseKeys.js
96063
- var require__baseKeys = __commonJS((exports, module) => {
96170
+ var require__baseKeys = __commonJS(function(exports, module) {
96064
96171
  var isPrototype = require__isPrototype();
96065
96172
  var nativeKeys = require__nativeKeys();
96066
96173
  var objectProto = Object.prototype;
@@ -96081,7 +96188,7 @@ var require__baseKeys = __commonJS((exports, module) => {
96081
96188
  });
96082
96189
 
96083
96190
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/keys.js
96084
- var require_keys2 = __commonJS((exports, module) => {
96191
+ var require_keys2 = __commonJS(function(exports, module) {
96085
96192
  var arrayLikeKeys = require__arrayLikeKeys();
96086
96193
  var baseKeys = require__baseKeys();
96087
96194
  var isArrayLike = require_isArrayLike();
@@ -96092,7 +96199,7 @@ var require_keys2 = __commonJS((exports, module) => {
96092
96199
  });
96093
96200
 
96094
96201
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/values.js
96095
- var require_values = __commonJS((exports, module) => {
96202
+ var require_values = __commonJS(function(exports, module) {
96096
96203
  var baseValues = require__baseValues();
96097
96204
  var keys = require_keys2();
96098
96205
  function values(object) {
@@ -96102,7 +96209,7 @@ var require_values = __commonJS((exports, module) => {
96102
96209
  });
96103
96210
 
96104
96211
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/toArray.js
96105
- var require_toArray = __commonJS((exports, module) => {
96212
+ var require_toArray = __commonJS(function(exports, module) {
96106
96213
  var Symbol2 = require__Symbol();
96107
96214
  var copyArray = require__copyArray();
96108
96215
  var getTag = require__getTag();
@@ -96133,12 +96240,12 @@ var require_toArray = __commonJS((exports, module) => {
96133
96240
  });
96134
96241
 
96135
96242
  // node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.json
96136
- var require_emoji = __commonJS((exports, module) => {
96243
+ var require_emoji = __commonJS(function(exports, module) {
96137
96244
  module.exports = { "100": "💯", "1234": "🔢", umbrella_with_rain_drops: "☔", coffee: "☕", aries: "♈", taurus: "♉", sagittarius: "♐", capricorn: "♑", aquarius: "♒", pisces: "♓", anchor: "⚓", white_check_mark: "✅", sparkles: "✨", question: "❓", grey_question: "❔", grey_exclamation: "❕", exclamation: "❗", heavy_exclamation_mark: "❗", heavy_plus_sign: "➕", heavy_minus_sign: "➖", heavy_division_sign: "➗", hash: "#️⃣", keycap_star: "*️⃣", zero: "0️⃣", one: "1️⃣", two: "2️⃣", three: "3️⃣", four: "4️⃣", five: "5️⃣", six: "6️⃣", seven: "7️⃣", eight: "8️⃣", nine: "9️⃣", copyright: "©️", registered: "®️", mahjong: "🀄", black_joker: "🃏", a: "🅰️", b: "🅱️", o2: "🅾️", parking: "🅿️", ab: "🆎", cl: "🆑", cool: "🆒", free: "🆓", id: "🆔", new: "🆕", ng: "🆖", ok: "🆗", sos: "🆘", up: "🆙", vs: "🆚", "flag-ac": "🇦🇨", "flag-ad": "🇦🇩", "flag-ae": "🇦🇪", "flag-af": "🇦🇫", "flag-ag": "🇦🇬", "flag-ai": "🇦🇮", "flag-al": "🇦🇱", "flag-am": "🇦🇲", "flag-ao": "🇦🇴", "flag-aq": "🇦🇶", "flag-ar": "🇦🇷", "flag-as": "🇦🇸", "flag-at": "🇦🇹", "flag-au": "🇦🇺", "flag-aw": "🇦🇼", "flag-ax": "🇦🇽", "flag-az": "🇦🇿", "flag-ba": "🇧🇦", "flag-bb": "🇧🇧", "flag-bd": "🇧🇩", "flag-be": "🇧🇪", "flag-bf": "🇧🇫", "flag-bg": "🇧🇬", "flag-bh": "🇧🇭", "flag-bi": "🇧🇮", "flag-bj": "🇧🇯", "flag-bl": "🇧🇱", "flag-bm": "🇧🇲", "flag-bn": "🇧🇳", "flag-bo": "🇧🇴", "flag-bq": "🇧🇶", "flag-br": "🇧🇷", "flag-bs": "🇧🇸", "flag-bt": "🇧🇹", "flag-bv": "🇧🇻", "flag-bw": "🇧🇼", "flag-by": "🇧🇾", "flag-bz": "🇧🇿", "flag-ca": "🇨🇦", "flag-cc": "🇨🇨", "flag-cd": "🇨🇩", "flag-cf": "🇨🇫", "flag-cg": "🇨🇬", "flag-ch": "🇨🇭", "flag-ci": "🇨🇮", "flag-ck": "🇨🇰", "flag-cl": "🇨🇱", "flag-cm": "🇨🇲", cn: "🇨🇳", "flag-cn": "🇨🇳", "flag-co": "🇨🇴", "flag-cp": "🇨🇵", "flag-cr": "🇨🇷", "flag-cu": "🇨🇺", "flag-cv": "🇨🇻", "flag-cw": "🇨🇼", "flag-cx": "🇨🇽", "flag-cy": "🇨🇾", "flag-cz": "🇨🇿", de: "🇩🇪", "flag-de": "🇩🇪", "flag-dg": "🇩🇬", "flag-dj": "🇩🇯", "flag-dk": "🇩🇰", "flag-dm": "🇩🇲", "flag-do": "🇩🇴", "flag-dz": "🇩🇿", "flag-ea": "🇪🇦", "flag-ec": "🇪🇨", "flag-ee": "🇪🇪", "flag-eg": "🇪🇬", "flag-eh": "🇪🇭", "flag-er": "🇪🇷", es: "🇪🇸", "flag-es": "🇪🇸", "flag-et": "🇪🇹", "flag-eu": "🇪🇺", "flag-fi": "🇫🇮", "flag-fj": "🇫🇯", "flag-fk": "🇫🇰", "flag-fm": "🇫🇲", "flag-fo": "🇫🇴", fr: "🇫🇷", "flag-fr": "🇫🇷", "flag-ga": "🇬🇦", gb: "🇬🇧", uk: "🇬🇧", "flag-gb": "🇬🇧", "flag-gd": "🇬🇩", "flag-ge": "🇬🇪", "flag-gf": "🇬🇫", "flag-gg": "🇬🇬", "flag-gh": "🇬🇭", "flag-gi": "🇬🇮", "flag-gl": "🇬🇱", "flag-gm": "🇬🇲", "flag-gn": "🇬🇳", "flag-gp": "🇬🇵", "flag-gq": "🇬🇶", "flag-gr": "🇬🇷", "flag-gs": "🇬🇸", "flag-gt": "🇬🇹", "flag-gu": "🇬🇺", "flag-gw": "🇬🇼", "flag-gy": "🇬🇾", "flag-hk": "🇭🇰", "flag-hm": "🇭🇲", "flag-hn": "🇭🇳", "flag-hr": "🇭🇷", "flag-ht": "🇭🇹", "flag-hu": "🇭🇺", "flag-ic": "🇮🇨", "flag-id": "🇮🇩", "flag-ie": "🇮🇪", "flag-il": "🇮🇱", "flag-im": "🇮🇲", "flag-in": "🇮🇳", "flag-io": "🇮🇴", "flag-iq": "🇮🇶", "flag-ir": "🇮🇷", "flag-is": "🇮🇸", it: "🇮🇹", "flag-it": "🇮🇹", "flag-je": "🇯🇪", "flag-jm": "🇯🇲", "flag-jo": "🇯🇴", jp: "🇯🇵", "flag-jp": "🇯🇵", "flag-ke": "🇰🇪", "flag-kg": "🇰🇬", "flag-kh": "🇰🇭", "flag-ki": "🇰🇮", "flag-km": "🇰🇲", "flag-kn": "🇰🇳", "flag-kp": "🇰🇵", kr: "🇰🇷", "flag-kr": "🇰🇷", "flag-kw": "🇰🇼", "flag-ky": "🇰🇾", "flag-kz": "🇰🇿", "flag-la": "🇱🇦", "flag-lb": "🇱🇧", "flag-lc": "🇱🇨", "flag-li": "🇱🇮", "flag-lk": "🇱🇰", "flag-lr": "🇱🇷", "flag-ls": "🇱🇸", "flag-lt": "🇱🇹", "flag-lu": "🇱🇺", "flag-lv": "🇱🇻", "flag-ly": "🇱🇾", "flag-ma": "🇲🇦", "flag-mc": "🇲🇨", "flag-md": "🇲🇩", "flag-me": "🇲🇪", "flag-mf": "🇲🇫", "flag-mg": "🇲🇬", "flag-mh": "🇲🇭", "flag-mk": "🇲🇰", "flag-ml": "🇲🇱", "flag-mm": "🇲🇲", "flag-mn": "🇲🇳", "flag-mo": "🇲🇴", "flag-mp": "🇲🇵", "flag-mq": "🇲🇶", "flag-mr": "🇲🇷", "flag-ms": "🇲🇸", "flag-mt": "🇲🇹", "flag-mu": "🇲🇺", "flag-mv": "🇲🇻", "flag-mw": "🇲🇼", "flag-mx": "🇲🇽", "flag-my": "🇲🇾", "flag-mz": "🇲🇿", "flag-na": "🇳🇦", "flag-nc": "🇳🇨", "flag-ne": "🇳🇪", "flag-nf": "🇳🇫", "flag-ng": "🇳🇬", "flag-ni": "🇳🇮", "flag-nl": "🇳🇱", "flag-no": "🇳🇴", "flag-np": "🇳🇵", "flag-nr": "🇳🇷", "flag-nu": "🇳🇺", "flag-nz": "🇳🇿", "flag-om": "🇴🇲", "flag-pa": "🇵🇦", "flag-pe": "🇵🇪", "flag-pf": "🇵🇫", "flag-pg": "🇵🇬", "flag-ph": "🇵🇭", "flag-pk": "🇵🇰", "flag-pl": "🇵🇱", "flag-pm": "🇵🇲", "flag-pn": "🇵🇳", "flag-pr": "🇵🇷", "flag-ps": "🇵🇸", "flag-pt": "🇵🇹", "flag-pw": "🇵🇼", "flag-py": "🇵🇾", "flag-qa": "🇶🇦", "flag-re": "🇷🇪", "flag-ro": "🇷🇴", "flag-rs": "🇷🇸", ru: "🇷🇺", "flag-ru": "🇷🇺", "flag-rw": "🇷🇼", "flag-sa": "🇸🇦", "flag-sb": "🇸🇧", "flag-sc": "🇸🇨", "flag-sd": "🇸🇩", "flag-se": "🇸🇪", "flag-sg": "🇸🇬", "flag-sh": "🇸🇭", "flag-si": "🇸🇮", "flag-sj": "🇸🇯", "flag-sk": "🇸🇰", "flag-sl": "🇸🇱", "flag-sm": "🇸🇲", "flag-sn": "🇸🇳", "flag-so": "🇸🇴", "flag-sr": "🇸🇷", "flag-ss": "🇸🇸", "flag-st": "🇸🇹", "flag-sv": "🇸🇻", "flag-sx": "🇸🇽", "flag-sy": "🇸🇾", "flag-sz": "🇸🇿", "flag-ta": "🇹🇦", "flag-tc": "🇹🇨", "flag-td": "🇹🇩", "flag-tf": "🇹🇫", "flag-tg": "🇹🇬", "flag-th": "🇹🇭", "flag-tj": "🇹🇯", "flag-tk": "🇹🇰", "flag-tl": "🇹🇱", "flag-tm": "🇹🇲", "flag-tn": "🇹🇳", "flag-to": "🇹🇴", "flag-tr": "🇹🇷", "flag-tt": "🇹🇹", "flag-tv": "🇹🇻", "flag-tw": "🇹🇼", "flag-tz": "🇹🇿", "flag-ua": "🇺🇦", "flag-ug": "🇺🇬", "flag-um": "🇺🇲", "flag-un": "🇺🇳", us: "🇺🇸", "flag-us": "🇺🇸", "flag-uy": "🇺🇾", "flag-uz": "🇺🇿", "flag-va": "🇻🇦", "flag-vc": "🇻🇨", "flag-ve": "🇻🇪", "flag-vg": "🇻🇬", "flag-vi": "🇻🇮", "flag-vn": "🇻🇳", "flag-vu": "🇻🇺", "flag-wf": "🇼🇫", "flag-ws": "🇼🇸", "flag-xk": "🇽🇰", "flag-ye": "🇾🇪", "flag-yt": "🇾🇹", "flag-za": "🇿🇦", "flag-zm": "🇿🇲", "flag-zw": "🇿🇼", koko: "🈁", sa: "🈂️", u7121: "🈚", u6307: "🈯", u7981: "🈲", u7a7a: "🈳", u5408: "🈴", u6e80: "🈵", u6709: "🈶", u6708: "🈷️", u7533: "🈸", u5272: "🈹", u55b6: "🈺", ideograph_advantage: "🉐", accept: "🉑", cyclone: "🌀", foggy: "🌁", closed_umbrella: "🌂", night_with_stars: "🌃", sunrise_over_mountains: "🌄", sunrise: "🌅", city_sunset: "🌆", city_sunrise: "🌇", rainbow: "🌈", bridge_at_night: "🌉", ocean: "🌊", volcano: "🌋", milky_way: "🌌", earth_africa: "🌍", earth_americas: "🌎", earth_asia: "🌏", globe_with_meridians: "🌐", new_moon: "🌑", waxing_crescent_moon: "🌒", first_quarter_moon: "🌓", moon: "🌔", waxing_gibbous_moon: "🌔", full_moon: "🌕", waning_gibbous_moon: "🌖", last_quarter_moon: "🌗", waning_crescent_moon: "🌘", crescent_moon: "🌙", new_moon_with_face: "🌚", first_quarter_moon_with_face: "🌛", last_quarter_moon_with_face: "🌜", full_moon_with_face: "🌝", sun_with_face: "🌞", star2: "🌟", stars: "🌠", thermometer: "🌡️", mostly_sunny: "🌤️", sun_small_cloud: "🌤️", barely_sunny: "🌥️", sun_behind_cloud: "🌥️", partly_sunny_rain: "🌦️", sun_behind_rain_cloud: "🌦️", rain_cloud: "🌧️", snow_cloud: "🌨️", lightning: "🌩️", lightning_cloud: "🌩️", tornado: "🌪️", tornado_cloud: "🌪️", fog: "🌫️", wind_blowing_face: "🌬️", hotdog: "🌭", taco: "🌮", burrito: "🌯", chestnut: "🌰", seedling: "🌱", evergreen_tree: "🌲", deciduous_tree: "🌳", palm_tree: "🌴", cactus: "🌵", hot_pepper: "🌶️", tulip: "🌷", cherry_blossom: "🌸", rose: "🌹", hibiscus: "🌺", sunflower: "🌻", blossom: "🌼", corn: "🌽", ear_of_rice: "🌾", herb: "🌿", four_leaf_clover: "🍀", maple_leaf: "🍁", fallen_leaf: "🍂", leaves: "🍃", mushroom: "🍄", tomato: "🍅", eggplant: "🍆", grapes: "🍇", melon: "🍈", watermelon: "🍉", tangerine: "🍊", lemon: "🍋", banana: "🍌", pineapple: "🍍", apple: "🍎", green_apple: "🍏", pear: "🍐", peach: "🍑", cherries: "🍒", strawberry: "🍓", hamburger: "🍔", pizza: "🍕", meat_on_bone: "🍖", poultry_leg: "🍗", rice_cracker: "🍘", rice_ball: "🍙", rice: "🍚", curry: "🍛", ramen: "🍜", spaghetti: "🍝", bread: "🍞", fries: "🍟", sweet_potato: "🍠", dango: "🍡", oden: "🍢", sushi: "🍣", fried_shrimp: "🍤", fish_cake: "🍥", icecream: "🍦", shaved_ice: "🍧", ice_cream: "🍨", doughnut: "🍩", cookie: "🍪", chocolate_bar: "🍫", candy: "🍬", lollipop: "🍭", custard: "🍮", honey_pot: "🍯", cake: "🍰", bento: "🍱", stew: "🍲", fried_egg: "🍳", cooking: "🍳", fork_and_knife: "🍴", tea: "🍵", sake: "🍶", wine_glass: "🍷", cocktail: "🍸", tropical_drink: "🍹", beer: "🍺", beers: "🍻", baby_bottle: "🍼", knife_fork_plate: "🍽️", champagne: "🍾", popcorn: "🍿", ribbon: "🎀", gift: "🎁", birthday: "🎂", jack_o_lantern: "🎃", christmas_tree: "🎄", santa: "🎅", fireworks: "🎆", sparkler: "🎇", balloon: "🎈", tada: "🎉", confetti_ball: "🎊", tanabata_tree: "🎋", crossed_flags: "🎌", bamboo: "🎍", dolls: "🎎", flags: "🎏", wind_chime: "🎐", rice_scene: "🎑", school_satchel: "🎒", mortar_board: "🎓", medal: "🎖️", reminder_ribbon: "🎗️", studio_microphone: "🎙️", level_slider: "🎚️", control_knobs: "🎛️", film_frames: "🎞️", admission_tickets: "🎟️", carousel_horse: "🎠", ferris_wheel: "🎡", roller_coaster: "🎢", fishing_pole_and_fish: "🎣", microphone: "🎤", movie_camera: "🎥", cinema: "🎦", headphones: "🎧", art: "🎨", tophat: "🎩", circus_tent: "🎪", ticket: "🎫", clapper: "🎬", performing_arts: "🎭", video_game: "🎮", dart: "🎯", slot_machine: "🎰", "8ball": "🎱", game_die: "🎲", bowling: "🎳", flower_playing_cards: "🎴", musical_note: "🎵", notes: "🎶", saxophone: "🎷", guitar: "🎸", musical_keyboard: "🎹", trumpet: "🎺", violin: "🎻", musical_score: "🎼", running_shirt_with_sash: "🎽", tennis: "🎾", ski: "🎿", basketball: "🏀", checkered_flag: "🏁", snowboarder: "🏂", "woman-running": "🏃‍♀️", "man-running": "🏃‍♂️", runner: "🏃‍♂️", running: "🏃‍♂️", "woman-surfing": "🏄‍♀️", "man-surfing": "🏄‍♂️", surfer: "🏄‍♂️", sports_medal: "🏅", trophy: "🏆", horse_racing: "🏇", football: "🏈", rugby_football: "🏉", "woman-swimming": "🏊‍♀️", "man-swimming": "🏊‍♂️", swimmer: "🏊‍♂️", "woman-lifting-weights": "🏋️‍♀️", "man-lifting-weights": "🏋️‍♂️", weight_lifter: "🏋️‍♂️", "woman-golfing": "🏌️‍♀️", "man-golfing": "🏌️‍♂️", golfer: "🏌️‍♂️", racing_motorcycle: "🏍️", racing_car: "🏎️", cricket_bat_and_ball: "🏏", volleyball: "🏐", field_hockey_stick_and_ball: "🏑", ice_hockey_stick_and_puck: "🏒", table_tennis_paddle_and_ball: "🏓", snow_capped_mountain: "🏔️", camping: "🏕️", beach_with_umbrella: "🏖️", building_construction: "🏗️", house_buildings: "🏘️", cityscape: "🏙️", derelict_house_building: "🏚️", classical_building: "🏛️", desert: "🏜️", desert_island: "🏝️", national_park: "🏞️", stadium: "🏟️", house: "🏠", house_with_garden: "🏡", office: "🏢", post_office: "🏣", european_post_office: "🏤", hospital: "🏥", bank: "🏦", atm: "🏧", hotel: "🏨", love_hotel: "🏩", convenience_store: "🏪", school: "🏫", department_store: "🏬", factory: "🏭", izakaya_lantern: "🏮", lantern: "🏮", japanese_castle: "🏯", european_castle: "🏰", "rainbow-flag": "🏳️‍🌈", transgender_flag: "🏳️‍⚧️", waving_white_flag: "🏳️", pirate_flag: "🏴‍☠️", "flag-england": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "flag-scotland": "🏴󠁧󠁢󠁳󠁣󠁴󠁿", "flag-wales": "🏴󠁧󠁢󠁷󠁬󠁳󠁿", waving_black_flag: "🏴", rosette: "🏵️", label: "🏷️", badminton_racquet_and_shuttlecock: "🏸", bow_and_arrow: "🏹", amphora: "🏺", "skin-tone-2": "🏻", "skin-tone-3": "🏼", "skin-tone-4": "🏽", "skin-tone-5": "🏾", "skin-tone-6": "🏿", rat: "🐀", mouse2: "🐁", ox: "🐂", water_buffalo: "🐃", cow2: "🐄", tiger2: "🐅", leopard: "🐆", rabbit2: "🐇", black_cat: "🐈‍⬛", cat2: "🐈", dragon: "🐉", crocodile: "🐊", whale2: "🐋", snail: "🐌", snake: "🐍", racehorse: "🐎", ram: "🐏", goat: "🐐", sheep: "🐑", monkey: "🐒", rooster: "🐓", chicken: "🐔", service_dog: "🐕‍🦺", dog2: "🐕", pig2: "🐖", boar: "🐗", elephant: "🐘", octopus: "🐙", shell: "🐚", bug: "🐛", ant: "🐜", bee: "🐝", honeybee: "🐝", ladybug: "🐞", lady_beetle: "🐞", fish: "🐟", tropical_fish: "🐠", blowfish: "🐡", turtle: "🐢", hatching_chick: "🐣", baby_chick: "🐤", hatched_chick: "🐥", bird: "🐦", penguin: "🐧", koala: "🐨", poodle: "🐩", dromedary_camel: "🐪", camel: "🐫", dolphin: "🐬", flipper: "🐬", mouse: "🐭", cow: "🐮", tiger: "🐯", rabbit: "🐰", cat: "🐱", dragon_face: "🐲", whale: "🐳", horse: "🐴", monkey_face: "🐵", dog: "🐶", pig: "🐷", frog: "🐸", hamster: "🐹", wolf: "🐺", polar_bear: "🐻‍❄️", bear: "🐻", panda_face: "🐼", pig_nose: "🐽", feet: "🐾", paw_prints: "🐾", chipmunk: "🐿️", eyes: "👀", "eye-in-speech-bubble": "👁️‍🗨️", eye: "👁️", ear: "👂", nose: "👃", lips: "👄", tongue: "👅", point_up_2: "👆", point_down: "👇", point_left: "👈", point_right: "👉", facepunch: "👊", punch: "👊", wave: "👋", ok_hand: "👌", "+1": "👍", thumbsup: "👍", "-1": "👎", thumbsdown: "👎", clap: "👏", open_hands: "👐", crown: "👑", womans_hat: "👒", eyeglasses: "👓", necktie: "👔", shirt: "👕", tshirt: "👕", jeans: "👖", dress: "👗", kimono: "👘", bikini: "👙", womans_clothes: "👚", purse: "👛", handbag: "👜", pouch: "👝", mans_shoe: "👞", shoe: "👞", athletic_shoe: "👟", high_heel: "👠", sandal: "👡", boot: "👢", footprints: "👣", bust_in_silhouette: "👤", busts_in_silhouette: "👥", boy: "👦", girl: "👧", "male-farmer": "👨‍🌾", "male-cook": "👨‍🍳", man_feeding_baby: "👨‍🍼", "male-student": "👨‍🎓", "male-singer": "👨‍🎤", "male-artist": "👨‍🎨", "male-teacher": "👨‍🏫", "male-factory-worker": "👨‍🏭", "man-boy-boy": "👨‍👦‍👦", "man-boy": "👨‍👦", "man-girl-boy": "👨‍👧‍👦", "man-girl-girl": "👨‍👧‍👧", "man-girl": "👨‍👧", "man-man-boy": "👨‍👨‍👦", "man-man-boy-boy": "👨‍👨‍👦‍👦", "man-man-girl": "👨‍👨‍👧", "man-man-girl-boy": "👨‍👨‍👧‍👦", "man-man-girl-girl": "👨‍👨‍👧‍👧", "man-woman-boy": "👨‍👩‍👦", family: "👨‍👩‍👦", "man-woman-boy-boy": "👨‍👩‍👦‍👦", "man-woman-girl": "👨‍👩‍👧", "man-woman-girl-boy": "👨‍👩‍👧‍👦", "man-woman-girl-girl": "👨‍👩‍👧‍👧", "male-technologist": "👨‍💻", "male-office-worker": "👨‍💼", "male-mechanic": "👨‍🔧", "male-scientist": "👨‍🔬", "male-astronaut": "👨‍🚀", "male-firefighter": "👨‍🚒", man_with_probing_cane: "👨‍🦯", red_haired_man: "👨‍🦰", curly_haired_man: "👨‍🦱", bald_man: "👨‍🦲", white_haired_man: "👨‍🦳", man_in_motorized_wheelchair: "👨‍🦼", man_in_manual_wheelchair: "👨‍🦽", "male-doctor": "👨‍⚕️", "male-judge": "👨‍⚖️", "male-pilot": "👨‍✈️", "man-heart-man": "👨‍❤️‍👨", "man-kiss-man": "👨‍❤️‍💋‍👨", man: "👨", "female-farmer": "👩‍🌾", "female-cook": "👩‍🍳", woman_feeding_baby: "👩‍🍼", "female-student": "👩‍🎓", "female-singer": "👩‍🎤", "female-artist": "👩‍🎨", "female-teacher": "👩‍🏫", "female-factory-worker": "👩‍🏭", "woman-boy-boy": "👩‍👦‍👦", "woman-boy": "👩‍👦", "woman-girl-boy": "👩‍👧‍👦", "woman-girl-girl": "👩‍👧‍👧", "woman-girl": "👩‍👧", "woman-woman-boy": "👩‍👩‍👦", "woman-woman-boy-boy": "👩‍👩‍👦‍👦", "woman-woman-girl": "👩‍👩‍👧", "woman-woman-girl-boy": "👩‍👩‍👧‍👦", "woman-woman-girl-girl": "👩‍👩‍👧‍👧", "female-technologist": "👩‍💻", "female-office-worker": "👩‍💼", "female-mechanic": "👩‍🔧", "female-scientist": "👩‍🔬", "female-astronaut": "👩‍🚀", "female-firefighter": "👩‍🚒", woman_with_probing_cane: "👩‍🦯", red_haired_woman: "👩‍🦰", curly_haired_woman: "👩‍🦱", bald_woman: "👩‍🦲", white_haired_woman: "👩‍🦳", woman_in_motorized_wheelchair: "👩‍🦼", woman_in_manual_wheelchair: "👩‍🦽", "female-doctor": "👩‍⚕️", "female-judge": "👩‍⚖️", "female-pilot": "👩‍✈️", "woman-heart-man": "👩‍❤️‍👨", "woman-heart-woman": "👩‍❤️‍👩", "woman-kiss-man": "👩‍❤️‍💋‍👨", "woman-kiss-woman": "👩‍❤️‍💋‍👩", woman: "👩", man_and_woman_holding_hands: "👫", woman_and_man_holding_hands: "👫", couple: "👫", two_men_holding_hands: "👬", men_holding_hands: "👬", two_women_holding_hands: "👭", women_holding_hands: "👭", "female-police-officer": "👮‍♀️", "male-police-officer": "👮‍♂️", cop: "👮‍♂️", "women-with-bunny-ears-partying": "👯‍♀️", "woman-with-bunny-ears-partying": "👯‍♀️", dancers: "👯‍♀️", "men-with-bunny-ears-partying": "👯‍♂️", "man-with-bunny-ears-partying": "👯‍♂️", woman_with_veil: "👰‍♀️", man_with_veil: "👰‍♂️", bride_with_veil: "👰", "blond-haired-woman": "👱‍♀️", "blond-haired-man": "👱‍♂️", person_with_blond_hair: "👱‍♂️", man_with_gua_pi_mao: "👲", "woman-wearing-turban": "👳‍♀️", "man-wearing-turban": "👳‍♂️", man_with_turban: "👳‍♂️", older_man: "👴", older_woman: "👵", baby: "👶", "female-construction-worker": "👷‍♀️", "male-construction-worker": "👷‍♂️", construction_worker: "👷‍♂️", princess: "👸", japanese_ogre: "👹", japanese_goblin: "👺", ghost: "👻", angel: "👼", alien: "👽", space_invader: "👾", imp: "👿", skull: "💀", "woman-tipping-hand": "💁‍♀️", information_desk_person: "💁‍♀️", "man-tipping-hand": "💁‍♂️", "female-guard": "💂‍♀️", "male-guard": "💂‍♂️", guardsman: "💂‍♂️", dancer: "💃", lipstick: "💄", nail_care: "💅", "woman-getting-massage": "💆‍♀️", massage: "💆‍♀️", "man-getting-massage": "💆‍♂️", "woman-getting-haircut": "💇‍♀️", haircut: "💇‍♀️", "man-getting-haircut": "💇‍♂️", barber: "💈", syringe: "💉", pill: "💊", kiss: "💋", love_letter: "💌", ring: "💍", gem: "💎", couplekiss: "💏", bouquet: "💐", couple_with_heart: "💑", wedding: "💒", heartbeat: "💓", broken_heart: "💔", two_hearts: "💕", sparkling_heart: "💖", heartpulse: "💗", cupid: "💘", blue_heart: "💙", green_heart: "💚", yellow_heart: "💛", purple_heart: "💜", gift_heart: "💝", revolving_hearts: "💞", heart_decoration: "💟", diamond_shape_with_a_dot_inside: "💠", bulb: "💡", anger: "💢", bomb: "💣", zzz: "💤", boom: "💥", collision: "💥", sweat_drops: "💦", droplet: "💧", dash: "💨", hankey: "💩", poop: "💩", shit: "💩", muscle: "💪", dizzy: "💫", speech_balloon: "💬", thought_balloon: "💭", white_flower: "💮", moneybag: "💰", currency_exchange: "💱", heavy_dollar_sign: "💲", credit_card: "💳", yen: "💴", dollar: "💵", euro: "💶", pound: "💷", money_with_wings: "💸", chart: "💹", seat: "💺", computer: "💻", briefcase: "💼", minidisc: "💽", floppy_disk: "💾", cd: "💿", dvd: "📀", file_folder: "📁", open_file_folder: "📂", page_with_curl: "📃", page_facing_up: "📄", date: "📅", calendar: "📆", card_index: "📇", chart_with_upwards_trend: "📈", chart_with_downwards_trend: "📉", bar_chart: "📊", clipboard: "📋", pushpin: "📌", round_pushpin: "📍", paperclip: "📎", straight_ruler: "📏", triangular_ruler: "📐", bookmark_tabs: "📑", ledger: "📒", notebook: "📓", notebook_with_decorative_cover: "📔", closed_book: "📕", book: "📖", open_book: "📖", green_book: "📗", blue_book: "📘", orange_book: "📙", books: "📚", name_badge: "📛", scroll: "📜", memo: "📝", pencil: "📝", telephone_receiver: "📞", pager: "📟", fax: "📠", satellite_antenna: "📡", loudspeaker: "📢", mega: "📣", outbox_tray: "📤", inbox_tray: "📥", package: "📦", "e-mail": "📧", incoming_envelope: "📨", envelope_with_arrow: "📩", mailbox_closed: "📪", mailbox: "📫", mailbox_with_mail: "📬", mailbox_with_no_mail: "📭", postbox: "📮", postal_horn: "📯", newspaper: "📰", iphone: "📱", calling: "📲", vibration_mode: "📳", mobile_phone_off: "📴", no_mobile_phones: "📵", signal_strength: "📶", camera: "📷", camera_with_flash: "📸", video_camera: "📹", tv: "📺", radio: "📻", vhs: "📼", film_projector: "📽️", prayer_beads: "📿", twisted_rightwards_arrows: "🔀", repeat: "🔁", repeat_one: "🔂", arrows_clockwise: "🔃", arrows_counterclockwise: "🔄", low_brightness: "🔅", high_brightness: "🔆", mute: "🔇", speaker: "🔈", sound: "🔉", loud_sound: "🔊", battery: "🔋", electric_plug: "🔌", mag: "🔍", mag_right: "🔎", lock_with_ink_pen: "🔏", closed_lock_with_key: "🔐", key: "🔑", lock: "🔒", unlock: "🔓", bell: "🔔", no_bell: "🔕", bookmark: "🔖", link: "🔗", radio_button: "🔘", back: "🔙", end: "🔚", on: "🔛", soon: "🔜", top: "🔝", underage: "🔞", keycap_ten: "🔟", capital_abcd: "🔠", abcd: "🔡", symbols: "🔣", abc: "🔤", fire: "🔥", flashlight: "🔦", wrench: "🔧", hammer: "🔨", nut_and_bolt: "🔩", hocho: "🔪", knife: "🔪", gun: "🔫", microscope: "🔬", telescope: "🔭", crystal_ball: "🔮", six_pointed_star: "🔯", beginner: "🔰", trident: "🔱", black_square_button: "🔲", white_square_button: "🔳", red_circle: "🔴", large_blue_circle: "🔵", large_orange_diamond: "🔶", large_blue_diamond: "🔷", small_orange_diamond: "🔸", small_blue_diamond: "🔹", small_red_triangle: "🔺", small_red_triangle_down: "🔻", arrow_up_small: "🔼", arrow_down_small: "🔽", om_symbol: "🕉️", dove_of_peace: "🕊️", kaaba: "🕋", mosque: "🕌", synagogue: "🕍", menorah_with_nine_branches: "🕎", clock1: "🕐", clock2: "🕑", clock3: "🕒", clock4: "🕓", clock5: "🕔", clock6: "🕕", clock7: "🕖", clock8: "🕗", clock9: "🕘", clock10: "🕙", clock11: "🕚", clock12: "🕛", clock130: "🕜", clock230: "🕝", clock330: "🕞", clock430: "🕟", clock530: "🕠", clock630: "🕡", clock730: "🕢", clock830: "🕣", clock930: "🕤", clock1030: "🕥", clock1130: "🕦", clock1230: "🕧", candle: "🕯️", mantelpiece_clock: "🕰️", hole: "🕳️", man_in_business_suit_levitating: "🕴️", "female-detective": "🕵️‍♀️", "male-detective": "🕵️‍♂️", sleuth_or_spy: "🕵️‍♂️", dark_sunglasses: "🕶️", spider: "🕷️", spider_web: "🕸️", joystick: "🕹️", man_dancing: "🕺", linked_paperclips: "🖇️", lower_left_ballpoint_pen: "🖊️", lower_left_fountain_pen: "🖋️", lower_left_paintbrush: "🖌️", lower_left_crayon: "🖍️", raised_hand_with_fingers_splayed: "🖐️", middle_finger: "🖕", reversed_hand_with_middle_finger_extended: "🖕", "spock-hand": "🖖", black_heart: "🖤", desktop_computer: "🖥️", printer: "🖨️", three_button_mouse: "🖱️", trackball: "🖲️", frame_with_picture: "🖼️", card_index_dividers: "🗂️", card_file_box: "🗃️", file_cabinet: "🗄️", wastebasket: "🗑️", spiral_note_pad: "🗒️", spiral_calendar_pad: "🗓️", compression: "🗜️", old_key: "🗝️", rolled_up_newspaper: "🗞️", dagger_knife: "🗡️", speaking_head_in_silhouette: "🗣️", left_speech_bubble: "🗨️", right_anger_bubble: "🗯️", ballot_box_with_ballot: "🗳️", world_map: "🗺️", mount_fuji: "🗻", tokyo_tower: "🗼", statue_of_liberty: "🗽", japan: "🗾", moyai: "🗿", grinning: "😀", grin: "😁", joy: "😂", smiley: "😃", smile: "😄", sweat_smile: "😅", laughing: "😆", satisfied: "😆", innocent: "😇", smiling_imp: "😈", wink: "😉", blush: "😊", yum: "😋", relieved: "😌", heart_eyes: "😍", sunglasses: "😎", smirk: "😏", neutral_face: "😐", expressionless: "😑", unamused: "😒", sweat: "😓", pensive: "😔", confused: "😕", confounded: "😖", kissing: "😗", kissing_heart: "😘", kissing_smiling_eyes: "😙", kissing_closed_eyes: "😚", stuck_out_tongue: "😛", stuck_out_tongue_winking_eye: "😜", stuck_out_tongue_closed_eyes: "😝", disappointed: "😞", worried: "😟", angry: "😠", rage: "😡", cry: "😢", persevere: "😣", triumph: "😤", disappointed_relieved: "😥", frowning: "😦", anguished: "😧", fearful: "😨", weary: "😩", sleepy: "😪", tired_face: "😫", grimacing: "😬", sob: "😭", face_exhaling: "😮‍💨", open_mouth: "😮", hushed: "😯", cold_sweat: "😰", scream: "😱", astonished: "😲", flushed: "😳", sleeping: "😴", face_with_spiral_eyes: "😵‍💫", dizzy_face: "😵", face_in_clouds: "😶‍🌫️", no_mouth: "😶", mask: "😷", smile_cat: "😸", joy_cat: "😹", smiley_cat: "😺", heart_eyes_cat: "😻", smirk_cat: "😼", kissing_cat: "😽", pouting_cat: "😾", crying_cat_face: "😿", scream_cat: "🙀", slightly_frowning_face: "🙁", slightly_smiling_face: "🙂", upside_down_face: "🙃", face_with_rolling_eyes: "🙄", "woman-gesturing-no": "🙅‍♀️", no_good: "🙅‍♀️", "man-gesturing-no": "🙅‍♂️", "woman-gesturing-ok": "🙆‍♀️", ok_woman: "🙆‍♀️", "man-gesturing-ok": "🙆‍♂️", "woman-bowing": "🙇‍♀️", "man-bowing": "🙇‍♂️", bow: "🙇‍♂️", see_no_evil: "🙈", hear_no_evil: "🙉", speak_no_evil: "🙊", "woman-raising-hand": "🙋‍♀️", raising_hand: "🙋‍♀️", "man-raising-hand": "🙋‍♂️", raised_hands: "🙌", "woman-frowning": "🙍‍♀️", person_frowning: "🙍‍♀️", "man-frowning": "🙍‍♂️", "woman-pouting": "🙎‍♀️", person_with_pouting_face: "🙎‍♀️", "man-pouting": "🙎‍♂️", pray: "🙏", rocket: "🚀", helicopter: "🚁", steam_locomotive: "🚂", railway_car: "🚃", bullettrain_side: "🚄", bullettrain_front: "🚅", train2: "🚆", metro: "🚇", light_rail: "🚈", station: "🚉", tram: "🚊", train: "🚋", bus: "🚌", oncoming_bus: "🚍", trolleybus: "🚎", busstop: "🚏", minibus: "🚐", ambulance: "🚑", fire_engine: "🚒", police_car: "🚓", oncoming_police_car: "🚔", taxi: "🚕", oncoming_taxi: "🚖", car: "🚗", red_car: "🚗", oncoming_automobile: "🚘", blue_car: "🚙", truck: "🚚", articulated_lorry: "🚛", tractor: "🚜", monorail: "🚝", mountain_railway: "🚞", suspension_railway: "🚟", mountain_cableway: "🚠", aerial_tramway: "🚡", ship: "🚢", "woman-rowing-boat": "🚣‍♀️", "man-rowing-boat": "🚣‍♂️", rowboat: "🚣‍♂️", speedboat: "🚤", traffic_light: "🚥", vertical_traffic_light: "🚦", construction: "🚧", rotating_light: "🚨", triangular_flag_on_post: "🚩", door: "🚪", no_entry_sign: "🚫", smoking: "🚬", no_smoking: "🚭", put_litter_in_its_place: "🚮", do_not_litter: "🚯", potable_water: "🚰", "non-potable_water": "🚱", bike: "🚲", no_bicycles: "🚳", "woman-biking": "🚴‍♀️", "man-biking": "🚴‍♂️", bicyclist: "🚴‍♂️", "woman-mountain-biking": "🚵‍♀️", "man-mountain-biking": "🚵‍♂️", mountain_bicyclist: "🚵‍♂️", "woman-walking": "🚶‍♀️", "man-walking": "🚶‍♂️", walking: "🚶‍♂️", no_pedestrians: "🚷", children_crossing: "🚸", mens: "🚹", womens: "🚺", restroom: "🚻", baby_symbol: "🚼", toilet: "🚽", wc: "🚾", shower: "🚿", bath: "🛀", bathtub: "🛁", passport_control: "🛂", customs: "🛃", baggage_claim: "🛄", left_luggage: "🛅", couch_and_lamp: "🛋️", sleeping_accommodation: "🛌", shopping_bags: "🛍️", bellhop_bell: "🛎️", bed: "🛏️", place_of_worship: "🛐", octagonal_sign: "🛑", shopping_trolley: "🛒", hindu_temple: "🛕", hut: "🛖", elevator: "🛗", hammer_and_wrench: "🛠️", shield: "🛡️", oil_drum: "🛢️", motorway: "🛣️", railway_track: "🛤️", motor_boat: "🛥️", small_airplane: "🛩️", airplane_departure: "🛫", airplane_arriving: "🛬", satellite: "🛰️", passenger_ship: "🛳️", scooter: "🛴", motor_scooter: "🛵", canoe: "🛶", sled: "🛷", flying_saucer: "🛸", skateboard: "🛹", auto_rickshaw: "🛺", pickup_truck: "🛻", roller_skate: "🛼", large_orange_circle: "🟠", large_yellow_circle: "🟡", large_green_circle: "🟢", large_purple_circle: "🟣", large_brown_circle: "🟤", large_red_square: "🟥", large_blue_square: "🟦", large_orange_square: "🟧", large_yellow_square: "🟨", large_green_square: "🟩", large_purple_square: "🟪", large_brown_square: "🟫", pinched_fingers: "🤌", white_heart: "🤍", brown_heart: "🤎", pinching_hand: "🤏", zipper_mouth_face: "🤐", money_mouth_face: "🤑", face_with_thermometer: "🤒", nerd_face: "🤓", thinking_face: "🤔", face_with_head_bandage: "🤕", robot_face: "🤖", hugging_face: "🤗", the_horns: "🤘", sign_of_the_horns: "🤘", call_me_hand: "🤙", raised_back_of_hand: "🤚", "left-facing_fist": "🤛", "right-facing_fist": "🤜", handshake: "🤝", crossed_fingers: "🤞", hand_with_index_and_middle_fingers_crossed: "🤞", i_love_you_hand_sign: "🤟", face_with_cowboy_hat: "🤠", clown_face: "🤡", nauseated_face: "🤢", rolling_on_the_floor_laughing: "🤣", drooling_face: "🤤", lying_face: "🤥", "woman-facepalming": "🤦‍♀️", "man-facepalming": "🤦‍♂️", face_palm: "🤦", sneezing_face: "🤧", face_with_raised_eyebrow: "🤨", face_with_one_eyebrow_raised: "🤨", "star-struck": "🤩", grinning_face_with_star_eyes: "🤩", zany_face: "🤪", grinning_face_with_one_large_and_one_small_eye: "🤪", shushing_face: "🤫", face_with_finger_covering_closed_lips: "🤫", face_with_symbols_on_mouth: "🤬", serious_face_with_symbols_covering_mouth: "🤬", face_with_hand_over_mouth: "🤭", smiling_face_with_smiling_eyes_and_hand_covering_mouth: "🤭", face_vomiting: "🤮", face_with_open_mouth_vomiting: "🤮", exploding_head: "🤯", shocked_face_with_exploding_head: "🤯", pregnant_woman: "🤰", "breast-feeding": "🤱", palms_up_together: "🤲", selfie: "🤳", prince: "🤴", woman_in_tuxedo: "🤵‍♀️", man_in_tuxedo: "🤵‍♂️", person_in_tuxedo: "🤵", mrs_claus: "🤶", mother_christmas: "🤶", "woman-shrugging": "🤷‍♀️", "man-shrugging": "🤷‍♂️", shrug: "🤷", "woman-cartwheeling": "🤸‍♀️", "man-cartwheeling": "🤸‍♂️", person_doing_cartwheel: "🤸", "woman-juggling": "🤹‍♀️", "man-juggling": "🤹‍♂️", juggling: "🤹", fencer: "🤺", "woman-wrestling": "🤼‍♀️", "man-wrestling": "🤼‍♂️", wrestlers: "🤼", "woman-playing-water-polo": "🤽‍♀️", "man-playing-water-polo": "🤽‍♂️", water_polo: "🤽", "woman-playing-handball": "🤾‍♀️", "man-playing-handball": "🤾‍♂️", handball: "🤾", diving_mask: "🤿", wilted_flower: "🥀", drum_with_drumsticks: "🥁", clinking_glasses: "🥂", tumbler_glass: "🥃", spoon: "🥄", goal_net: "🥅", first_place_medal: "🥇", second_place_medal: "🥈", third_place_medal: "🥉", boxing_glove: "🥊", martial_arts_uniform: "🥋", curling_stone: "🥌", lacrosse: "🥍", softball: "🥎", flying_disc: "🥏", croissant: "🥐", avocado: "🥑", cucumber: "🥒", bacon: "🥓", potato: "🥔", carrot: "🥕", baguette_bread: "🥖", green_salad: "🥗", shallow_pan_of_food: "🥘", stuffed_flatbread: "🥙", egg: "🥚", glass_of_milk: "🥛", peanuts: "🥜", kiwifruit: "🥝", pancakes: "🥞", dumpling: "🥟", fortune_cookie: "🥠", takeout_box: "🥡", chopsticks: "🥢", bowl_with_spoon: "🥣", cup_with_straw: "🥤", coconut: "🥥", broccoli: "🥦", pie: "🥧", pretzel: "🥨", cut_of_meat: "🥩", sandwich: "🥪", canned_food: "🥫", leafy_green: "🥬", mango: "🥭", moon_cake: "🥮", bagel: "🥯", smiling_face_with_3_hearts: "🥰", yawning_face: "🥱", smiling_face_with_tear: "🥲", partying_face: "🥳", woozy_face: "🥴", hot_face: "🥵", cold_face: "🥶", ninja: "🥷", disguised_face: "🥸", pleading_face: "🥺", sari: "🥻", lab_coat: "🥼", goggles: "🥽", hiking_boot: "🥾", womans_flat_shoe: "🥿", crab: "🦀", lion_face: "🦁", scorpion: "🦂", turkey: "🦃", unicorn_face: "🦄", eagle: "🦅", duck: "🦆", bat: "🦇", shark: "🦈", owl: "🦉", fox_face: "🦊", butterfly: "🦋", deer: "🦌", gorilla: "🦍", lizard: "🦎", rhinoceros: "🦏", shrimp: "🦐", squid: "🦑", giraffe_face: "🦒", zebra_face: "🦓", hedgehog: "🦔", sauropod: "🦕", "t-rex": "🦖", cricket: "🦗", kangaroo: "🦘", llama: "🦙", peacock: "🦚", hippopotamus: "🦛", parrot: "🦜", raccoon: "🦝", lobster: "🦞", mosquito: "🦟", microbe: "🦠", badger: "🦡", swan: "🦢", mammoth: "🦣", dodo: "🦤", sloth: "🦥", otter: "🦦", orangutan: "🦧", skunk: "🦨", flamingo: "🦩", oyster: "🦪", beaver: "🦫", bison: "🦬", seal: "🦭", guide_dog: "🦮", probing_cane: "🦯", bone: "🦴", leg: "🦵", foot: "🦶", tooth: "🦷", female_superhero: "🦸‍♀️", male_superhero: "🦸‍♂️", superhero: "🦸", female_supervillain: "🦹‍♀️", male_supervillain: "🦹‍♂️", supervillain: "🦹", safety_vest: "🦺", ear_with_hearing_aid: "🦻", motorized_wheelchair: "🦼", manual_wheelchair: "🦽", mechanical_arm: "🦾", mechanical_leg: "🦿", cheese_wedge: "🧀", cupcake: "🧁", salt: "🧂", beverage_box: "🧃", garlic: "🧄", onion: "🧅", falafel: "🧆", waffle: "🧇", butter: "🧈", mate_drink: "🧉", ice_cube: "🧊", bubble_tea: "🧋", woman_standing: "🧍‍♀️", man_standing: "🧍‍♂️", standing_person: "🧍", woman_kneeling: "🧎‍♀️", man_kneeling: "🧎‍♂️", kneeling_person: "🧎", deaf_woman: "🧏‍♀️", deaf_man: "🧏‍♂️", deaf_person: "🧏", face_with_monocle: "🧐", farmer: "🧑‍🌾", cook: "🧑‍🍳", person_feeding_baby: "🧑‍🍼", mx_claus: "🧑‍🎄", student: "🧑‍🎓", singer: "🧑‍🎤", artist: "🧑‍🎨", teacher: "🧑‍🏫", factory_worker: "🧑‍🏭", technologist: "🧑‍💻", office_worker: "🧑‍💼", mechanic: "🧑‍🔧", scientist: "🧑‍🔬", astronaut: "🧑‍🚀", firefighter: "🧑‍🚒", people_holding_hands: "🧑‍🤝‍🧑", person_with_probing_cane: "🧑‍🦯", red_haired_person: "🧑‍🦰", curly_haired_person: "🧑‍🦱", bald_person: "🧑‍🦲", white_haired_person: "🧑‍🦳", person_in_motorized_wheelchair: "🧑‍🦼", person_in_manual_wheelchair: "🧑‍🦽", health_worker: "🧑‍⚕️", judge: "🧑‍⚖️", pilot: "🧑‍✈️", adult: "🧑", child: "🧒", older_adult: "🧓", woman_with_beard: "🧔‍♀️", man_with_beard: "🧔‍♂️", bearded_person: "🧔", person_with_headscarf: "🧕", woman_in_steamy_room: "🧖‍♀️", man_in_steamy_room: "🧖‍♂️", person_in_steamy_room: "🧖‍♂️", woman_climbing: "🧗‍♀️", person_climbing: "🧗‍♀️", man_climbing: "🧗‍♂️", woman_in_lotus_position: "🧘‍♀️", person_in_lotus_position: "🧘‍♀️", man_in_lotus_position: "🧘‍♂️", female_mage: "🧙‍♀️", mage: "🧙‍♀️", male_mage: "🧙‍♂️", female_fairy: "🧚‍♀️", fairy: "🧚‍♀️", male_fairy: "🧚‍♂️", female_vampire: "🧛‍♀️", vampire: "🧛‍♀️", male_vampire: "🧛‍♂️", mermaid: "🧜‍♀️", merman: "🧜‍♂️", merperson: "🧜‍♂️", female_elf: "🧝‍♀️", male_elf: "🧝‍♂️", elf: "🧝‍♂️", female_genie: "🧞‍♀️", male_genie: "🧞‍♂️", genie: "🧞‍♂️", female_zombie: "🧟‍♀️", male_zombie: "🧟‍♂️", zombie: "🧟‍♂️", brain: "🧠", orange_heart: "🧡", billed_cap: "🧢", scarf: "🧣", gloves: "🧤", coat: "🧥", socks: "🧦", red_envelope: "🧧", firecracker: "🧨", jigsaw: "🧩", test_tube: "🧪", petri_dish: "🧫", dna: "🧬", compass: "🧭", abacus: "🧮", fire_extinguisher: "🧯", toolbox: "🧰", bricks: "🧱", magnet: "🧲", luggage: "🧳", lotion_bottle: "🧴", thread: "🧵", yarn: "🧶", safety_pin: "🧷", teddy_bear: "🧸", broom: "🧹", basket: "🧺", roll_of_paper: "🧻", soap: "🧼", sponge: "🧽", receipt: "🧾", nazar_amulet: "🧿", ballet_shoes: "🩰", "one-piece_swimsuit": "🩱", briefs: "🩲", shorts: "🩳", thong_sandal: "🩴", drop_of_blood: "🩸", adhesive_bandage: "🩹", stethoscope: "🩺", "yo-yo": "🪀", kite: "🪁", parachute: "🪂", boomerang: "🪃", magic_wand: "🪄", pinata: "🪅", nesting_dolls: "🪆", ringed_planet: "🪐", chair: "🪑", razor: "🪒", axe: "🪓", diya_lamp: "🪔", banjo: "🪕", military_helmet: "🪖", accordion: "🪗", long_drum: "🪘", coin: "🪙", carpentry_saw: "🪚", screwdriver: "🪛", ladder: "🪜", hook: "🪝", mirror: "🪞", window: "🪟", plunger: "🪠", sewing_needle: "🪡", knot: "🪢", bucket: "🪣", mouse_trap: "🪤", toothbrush: "🪥", headstone: "🪦", placard: "🪧", rock: "🪨", fly: "🪰", worm: "🪱", beetle: "🪲", cockroach: "🪳", potted_plant: "🪴", wood: "🪵", feather: "🪶", anatomical_heart: "🫀", lungs: "🫁", people_hugging: "🫂", blueberries: "🫐", bell_pepper: "🫑", olive: "🫒", flatbread: "🫓", tamale: "🫔", fondue: "🫕", teapot: "🫖", bangbang: "‼️", interrobang: "⁉️", tm: "™️", information_source: "ℹ️", left_right_arrow: "↔️", arrow_up_down: "↕️", arrow_upper_left: "↖️", arrow_upper_right: "↗️", arrow_lower_right: "↘️", arrow_lower_left: "↙️", leftwards_arrow_with_hook: "↩️", arrow_right_hook: "↪️", watch: "⌚", hourglass: "⌛", keyboard: "⌨️", eject: "⏏️", fast_forward: "⏩", rewind: "⏪", arrow_double_up: "⏫", arrow_double_down: "⏬", black_right_pointing_double_triangle_with_vertical_bar: "⏭️", black_left_pointing_double_triangle_with_vertical_bar: "⏮️", black_right_pointing_triangle_with_double_vertical_bar: "⏯️", alarm_clock: "⏰", stopwatch: "⏱️", timer_clock: "⏲️", hourglass_flowing_sand: "⏳", double_vertical_bar: "⏸️", black_square_for_stop: "⏹️", black_circle_for_record: "⏺️", m: "Ⓜ️", black_small_square: "▪️", white_small_square: "▫️", arrow_forward: "▶️", arrow_backward: "◀️", white_medium_square: "◻️", black_medium_square: "◼️", white_medium_small_square: "◽", black_medium_small_square: "◾", sunny: "☀️", cloud: "☁️", umbrella: "☂️", snowman: "☃️", comet: "☄️", phone: "☎️", telephone: "☎️", ballot_box_with_check: "☑️", shamrock: "☘️", point_up: "☝️", skull_and_crossbones: "☠️", radioactive_sign: "☢️", biohazard_sign: "☣️", orthodox_cross: "☦️", star_and_crescent: "☪️", peace_symbol: "☮️", yin_yang: "☯️", wheel_of_dharma: "☸️", white_frowning_face: "☹️", relaxed: "☺️", female_sign: "♀️", male_sign: "♂️", gemini: "♊", cancer: "♋", leo: "♌", virgo: "♍", libra: "♎", scorpius: "♏", chess_pawn: "♟️", spades: "♠️", clubs: "♣️", hearts: "♥️", diamonds: "♦️", hotsprings: "♨️", recycle: "♻️", infinity: "♾️", wheelchair: "♿", hammer_and_pick: "⚒️", crossed_swords: "⚔️", medical_symbol: "⚕️", staff_of_aesculapius: "⚕️", scales: "⚖️", alembic: "⚗️", gear: "⚙️", atom_symbol: "⚛️", fleur_de_lis: "⚜️", warning: "⚠️", zap: "⚡", transgender_symbol: "⚧️", white_circle: "⚪", black_circle: "⚫", coffin: "⚰️", funeral_urn: "⚱️", soccer: "⚽", baseball: "⚾", snowman_without_snow: "⛄", partly_sunny: "⛅", thunder_cloud_and_rain: "⛈️", ophiuchus: "⛎", pick: "⛏️", helmet_with_white_cross: "⛑️", chains: "⛓️", no_entry: "⛔", shinto_shrine: "⛩️", church: "⛪", mountain: "⛰️", umbrella_on_ground: "⛱️", fountain: "⛲", golf: "⛳", ferry: "⛴️", boat: "⛵", sailboat: "⛵", skier: "⛷️", ice_skate: "⛸️", "woman-bouncing-ball": "⛹️‍♀️", "man-bouncing-ball": "⛹️‍♂️", person_with_ball: "⛹️‍♂️", tent: "⛺", fuelpump: "⛽", scissors: "✂️", airplane: "✈️", email: "✉️", envelope: "✉️", fist: "✊", hand: "✋", raised_hand: "✋", v: "✌️", writing_hand: "✍️", pencil2: "✏️", black_nib: "✒️", heavy_check_mark: "✔️", heavy_multiplication_x: "✖️", latin_cross: "✝️", star_of_david: "✡️", eight_spoked_asterisk: "✳️", eight_pointed_black_star: "✴️", snowflake: "❄️", sparkle: "❇️", x: "❌", negative_squared_cross_mark: "❎", heavy_heart_exclamation_mark_ornament: "❣️", heart_on_fire: "❤️‍🔥", mending_heart: "❤️‍🩹", heart: "❤️", arrow_right: "➡️", curly_loop: "➰", loop: "➿", arrow_heading_up: "⤴️", arrow_heading_down: "⤵️", arrow_left: "⬅️", arrow_up: "⬆️", arrow_down: "⬇️", black_large_square: "⬛", white_large_square: "⬜", star: "⭐", o: "⭕", wavy_dash: "〰️", part_alternation_mark: "〽️", congratulations: "㊗️", secret: "㊙️" };
96138
96245
  });
96139
96246
 
96140
96247
  // node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.js
96141
- var require_emoji2 = __commonJS((exports, module) => {
96248
+ var require_emoji2 = __commonJS(function(exports, module) {
96142
96249
  var toArray = require_toArray();
96143
96250
  var emojiByName = require_emoji();
96144
96251
  var emojiNameRegex = /:([a-zA-Z0-9_\-\+]+):/g;
@@ -96283,7 +96390,7 @@ var require_emoji2 = __commonJS((exports, module) => {
96283
96390
  });
96284
96391
 
96285
96392
  // node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js
96286
- var require_has_flag = __commonJS((exports, module) => {
96393
+ var require_has_flag = __commonJS(function(exports, module) {
96287
96394
  module.exports = (flag, argv = process.argv) => {
96288
96395
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
96289
96396
  const position = argv.indexOf(prefix + flag);
@@ -96293,7 +96400,7 @@ var require_has_flag = __commonJS((exports, module) => {
96293
96400
  });
96294
96401
 
96295
96402
  // node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js
96296
- var require_supports_color = __commonJS((exports, module) => {
96403
+ var require_supports_color = __commonJS(function(exports, module) {
96297
96404
  var os = __require("os");
96298
96405
  var tty = __require("tty");
96299
96406
  var hasFlag = require_has_flag();
@@ -96392,7 +96499,7 @@ var require_supports_color = __commonJS((exports, module) => {
96392
96499
  });
96393
96500
 
96394
96501
  // node_modules/.bun/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js
96395
- var require_supports_hyperlinks = __commonJS((exports, module) => {
96502
+ var require_supports_hyperlinks = __commonJS(function(exports, module) {
96396
96503
  var supportsColor = require_supports_color();
96397
96504
  var hasFlag = require_has_flag();
96398
96505
  function parseVersion(versionString) {
@@ -96471,7 +96578,7 @@ var require_supports_hyperlinks = __commonJS((exports, module) => {
96471
96578
  });
96472
96579
 
96473
96580
  // node_modules/.bun/marked-terminal@5.2.0+2cbc53c039b95cf4/node_modules/marked-terminal/index.cjs
96474
- var require_marked_terminal = __commonJS((exports, module) => {
96581
+ var require_marked_terminal = __commonJS(function(exports, module) {
96475
96582
  var process$1 = __require("node:process");
96476
96583
  var os = __require("node:os");
96477
96584
  var tty = __require("node:tty");
@@ -97459,7 +97566,7 @@ var require_marked_terminal = __commonJS((exports, module) => {
97459
97566
  });
97460
97567
 
97461
97568
  // node_modules/.bun/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js
97462
- var require_escape_string_regexp = __commonJS((exports, module) => {
97569
+ var require_escape_string_regexp = __commonJS(function(exports, module) {
97463
97570
  var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
97464
97571
  module.exports = function(str) {
97465
97572
  if (typeof str !== "string") {
@@ -97470,7 +97577,7 @@ var require_escape_string_regexp = __commonJS((exports, module) => {
97470
97577
  });
97471
97578
 
97472
97579
  // node_modules/.bun/ansi-styles@2.2.1/node_modules/ansi-styles/index.js
97473
- var require_ansi_styles = __commonJS((exports, module) => {
97580
+ var require_ansi_styles = __commonJS(function(exports, module) {
97474
97581
  function assembleStyles() {
97475
97582
  var styles2 = {
97476
97583
  modifiers: {
@@ -97529,14 +97636,14 @@ var require_ansi_styles = __commonJS((exports, module) => {
97529
97636
  });
97530
97637
 
97531
97638
  // node_modules/.bun/has-ansi@2.0.0/node_modules/has-ansi/index.js
97532
- var require_has_ansi = __commonJS((exports, module) => {
97639
+ var require_has_ansi = __commonJS(function(exports, module) {
97533
97640
  var ansiRegex = require_ansi_regex();
97534
97641
  var re = new RegExp(ansiRegex().source);
97535
97642
  module.exports = re.test.bind(re);
97536
97643
  });
97537
97644
 
97538
97645
  // node_modules/.bun/supports-color@2.0.0/node_modules/supports-color/index.js
97539
- var require_supports_color2 = __commonJS((exports, module) => {
97646
+ var require_supports_color2 = __commonJS(function(exports, module) {
97540
97647
  var argv = process.argv;
97541
97648
  var terminator = argv.indexOf("--");
97542
97649
  var hasFlag = function(flag) {
@@ -97574,7 +97681,7 @@ var require_supports_color2 = __commonJS((exports, module) => {
97574
97681
  });
97575
97682
 
97576
97683
  // node_modules/.bun/chalk@1.1.3/node_modules/chalk/index.js
97577
- var require_chalk = __commonJS((exports, module) => {
97684
+ var require_chalk = __commonJS(function(exports, module) {
97578
97685
  var escapeStringRegexp = require_escape_string_regexp();
97579
97686
  var ansiStyles = require_ansi_styles();
97580
97687
  var stripAnsi = require_strip_ansi();
@@ -97655,7 +97762,7 @@ var require_chalk = __commonJS((exports, module) => {
97655
97762
  });
97656
97763
 
97657
97764
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/markdown.js
97658
- var require_markdown = __commonJS((exports, module) => {
97765
+ var require_markdown = __commonJS(function(exports, module) {
97659
97766
  var blessed = require_blessed();
97660
97767
  var Box = blessed.Box;
97661
97768
  var marked = require_marked();
@@ -97709,7 +97816,7 @@ var require_markdown = __commonJS((exports, module) => {
97709
97816
  });
97710
97817
 
97711
97818
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/bar.js
97712
- var require_bar = __commonJS((exports, module) => {
97819
+ var require_bar = __commonJS(function(exports, module) {
97713
97820
  var blessed = require_blessed();
97714
97821
  var Node = blessed.Node;
97715
97822
  var Canvas = require_canvas();
@@ -97790,7 +97897,7 @@ var require_bar = __commonJS((exports, module) => {
97790
97897
  });
97791
97898
 
97792
97899
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/stacked-bar.js
97793
- var require_stacked_bar = __commonJS((exports, module) => {
97900
+ var require_stacked_bar = __commonJS(function(exports, module) {
97794
97901
  var blessed = require_blessed();
97795
97902
  var Node = blessed.Node;
97796
97903
  var Canvas = require_canvas();
@@ -97946,7 +98053,7 @@ var require_stacked_bar = __commonJS((exports, module) => {
97946
98053
  });
97947
98054
 
97948
98055
  // node_modules/.bun/lodash@4.17.21/node_modules/lodash/lodash.js
97949
- var require_lodash = __commonJS((exports, module) => {
98056
+ var require_lodash = __commonJS(function(exports, module) {
97950
98057
  (function() {
97951
98058
  var undefined2;
97952
98059
  var VERSION = "4.17.21";
@@ -101173,7 +101280,7 @@ var require_lodash = __commonJS((exports, module) => {
101173
101280
  }
101174
101281
  return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : [];
101175
101282
  });
101176
- function join11(array, separator) {
101283
+ function join13(array, separator) {
101177
101284
  return array == null ? "" : nativeJoin.call(array, separator);
101178
101285
  }
101179
101286
  function last(array) {
@@ -103105,7 +103212,7 @@ __p += '`;
103105
103212
  lodash.isUndefined = isUndefined;
103106
103213
  lodash.isWeakMap = isWeakMap;
103107
103214
  lodash.isWeakSet = isWeakSet;
103108
- lodash.join = join11;
103215
+ lodash.join = join13;
103109
103216
  lodash.kebabCase = kebabCase;
103110
103217
  lodash.last = last;
103111
103218
  lodash.lastIndexOf = lastIndexOf;
@@ -103362,7 +103469,7 @@ __p += '`;
103362
103469
  });
103363
103470
 
103364
103471
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/line.js
103365
- var require_line = __commonJS((exports, module) => {
103472
+ var require_line = __commonJS(function(exports, module) {
103366
103473
  var blessed = require_blessed();
103367
103474
  var Node = blessed.Node;
103368
103475
  var Canvas = require_canvas();
@@ -103569,7 +103676,7 @@ var require_line = __commonJS((exports, module) => {
103569
103676
  });
103570
103677
 
103571
103678
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/server-utils.js
103572
- var require_server_utils = __commonJS((exports) => {
103679
+ var require_server_utils = __commonJS(function(exports) {
103573
103680
  var url = __require("url");
103574
103681
  var contrib = require_blessed_contrib();
103575
103682
  var blessed = require_blessed();
@@ -103633,7 +103740,7 @@ var require_server_utils = __commonJS((exports) => {
103633
103740
  });
103634
103741
 
103635
103742
  // node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/index.js
103636
- var require_blessed_contrib = __commonJS((exports) => {
103743
+ var require_blessed_contrib = __commonJS(function(exports) {
103637
103744
  exports.grid = require_grid();
103638
103745
  exports.carousel = require_carousel();
103639
103746
  exports.map = require_map2();
@@ -103786,27 +103893,15 @@ __export(exports_dev, {
103786
103893
  default: () => dev
103787
103894
  });
103788
103895
  import { spawn } from "node:child_process";
103789
- import { existsSync as existsSync6 } from "node:fs";
103790
- import { join as join11 } from "node:path";
103791
- function getRerouteCommand() {
103792
- const binPath = join11(import.meta.dir, "..", "..", "bin.ts");
103793
- const isBunDev = existsSync6(binPath);
103794
- if (isBunDev) {
103795
- return `bun ${binPath}`;
103796
- }
103797
- const cwd = process.cwd();
103798
- const nodeModulesPaths = [
103799
- join11(cwd, "node_modules", ".bin", "reroute"),
103800
- join11(cwd, "..", "node_modules", ".bin", "reroute"),
103801
- join11(cwd, "..", "..", "node_modules", ".bin", "reroute"),
103802
- join11(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
103803
- ];
103804
- for (const binPath2 of nodeModulesPaths) {
103805
- if (existsSync6(binPath2)) {
103806
- return binPath2;
103807
- }
103896
+ import { existsSync as existsSync7 } from "node:fs";
103897
+ import { join as join13 } from "node:path";
103898
+ import { pathToFileURL as pathToFileURL9 } from "node:url";
103899
+ function parsePort(args) {
103900
+ const portIndex = args.findIndex((arg) => arg === "--port" || arg === "-p");
103901
+ if (portIndex !== -1 && args[portIndex + 1]) {
103902
+ return Number(args[portIndex + 1]);
103808
103903
  }
103809
- return "reroute";
103904
+ return Number(process.env.PORT || "3000");
103810
103905
  }
103811
103906
  async function waitForInitialBuild(genProcess) {
103812
103907
  console.log("[reroute/dev] Waiting for initial build...");
@@ -103831,15 +103926,33 @@ async function waitForInitialBuild(genProcess) {
103831
103926
  console.log("[reroute/dev] Initial build complete!");
103832
103927
  return outputBuffer;
103833
103928
  }
103834
- async function startServerProcess(genProcess, port) {
103929
+ async function startTui(port) {
103930
+ const rerouteCmd = getRerouteCommand();
103931
+ const useShell = rerouteCmd.includes(" ");
103932
+ const genCommand = useShell ? `${rerouteCmd} gen --watch` : rerouteCmd;
103933
+ const genArgs = useShell ? [] : ["gen", "--watch"];
103934
+ const genProcess = spawn(genCommand, genArgs, {
103935
+ stdio: ["ignore", "pipe", "pipe"],
103936
+ shell: useShell,
103937
+ env: {
103938
+ ...process.env,
103939
+ PORT: String(port),
103940
+ REROUTE_DEV: "1"
103941
+ }
103942
+ });
103943
+ const outputBuffer = await waitForInitialBuild(genProcess).catch((error) => {
103944
+ console.error("[reroute/dev] Failed to complete initial build:", error);
103945
+ genProcess.kill();
103946
+ process.exit(1);
103947
+ });
103835
103948
  const serverProcess = spawn("bun", ["--watch", "src/index.ts"], {
103836
103949
  stdio: ["ignore", "pipe", "pipe"],
103837
103950
  env: {
103838
103951
  ...process.env,
103839
- PORT: String(port)
103952
+ PORT: String(port),
103953
+ REROUTE_DEV: "1"
103840
103954
  }
103841
103955
  });
103842
- console.log("[reroute/dev] Starting server...");
103843
103956
  try {
103844
103957
  await waitForServerReady(port);
103845
103958
  console.log(`[reroute/dev] ✓ Server ready at http://localhost:${port}
@@ -103850,48 +103963,6 @@ async function startServerProcess(genProcess, port) {
103850
103963
  serverProcess.kill();
103851
103964
  process.exit(1);
103852
103965
  }
103853
- return serverProcess;
103854
- }
103855
- function setupDefaultMode(genProcess, serverProcess, outputBuffer) {
103856
- const genBuffer = { current: "" };
103857
- const serverBuffer = { current: "" };
103858
- const handleGenOutput = (data) => {
103859
- const text = genBuffer.current + data.toString();
103860
- const lines = text.split(`
103861
- `);
103862
- genBuffer.current = lines.pop() || "";
103863
- for (const line of lines) {
103864
- if (!line.trim())
103865
- continue;
103866
- const ansiColored = colorizeLogPrefixAnsi(line);
103867
- console.log(ansiColored);
103868
- }
103869
- };
103870
- const handleServerOutput = createServerOutputHandler(serverBuffer);
103871
- for (const data of outputBuffer) {
103872
- handleGenOutput(data);
103873
- }
103874
- genProcess.stdout?.on("data", handleGenOutput);
103875
- genProcess.stderr?.on("data", handleGenOutput);
103876
- serverProcess.stdout?.on("data", handleServerOutput);
103877
- serverProcess.stderr?.on("data", handleServerOutput);
103878
- genProcess.on("exit", (code) => {
103879
- console.log(`
103880
- [reroute/gen] Process exited with code ${code}`);
103881
- });
103882
- serverProcess.on("exit", (code) => {
103883
- console.log(`
103884
- [server] Process exited with code ${code}`);
103885
- });
103886
- process.on("SIGINT", () => {
103887
- console.log(`
103888
- [reroute/dev] Shutting down...`);
103889
- genProcess.kill("SIGINT");
103890
- serverProcess.kill("SIGINT");
103891
- process.exit(0);
103892
- });
103893
- }
103894
- async function setupTerminalUI(genProcess, serverProcess, outputBuffer) {
103895
103966
  const blessed = await Promise.resolve().then(() => __toESM(require_blessed(), 1));
103896
103967
  const contrib = await Promise.resolve().then(() => __toESM(require_blessed_contrib(), 1));
103897
103968
  const screen = blessed.default.screen({
@@ -103907,33 +103978,53 @@ async function setupTerminalUI(genProcess, serverProcess, outputBuffer) {
103907
103978
  const { setupTerminalUIHandlers: setupTerminalUIHandlers2 } = await Promise.resolve().then(() => exports_terminal_ui);
103908
103979
  setupTerminalUIHandlers2(screen, grid, genProcess, serverProcess, outputBuffer, blessed, colorizeLogPrefix);
103909
103980
  }
103981
+ async function startDefault(port) {
103982
+ process.env.PORT = String(port);
103983
+ process.env.REROUTE_DEV = "1";
103984
+ const session = await startGenWatch(process.cwd(), ["--watch"]);
103985
+ const entry = join13(process.cwd(), "src/index.ts");
103986
+ if (!existsSync7(entry)) {
103987
+ session.close();
103988
+ throw new Error(`[reroute/dev] Missing ${entry}`);
103989
+ }
103990
+ console.log("[reroute/dev] Starting server...");
103991
+ await import(pathToFileURL9(entry).href);
103992
+ try {
103993
+ await waitForServerReady(port);
103994
+ console.log(`[reroute/dev] ✓ Server ready at http://localhost:${port}
103995
+ `);
103996
+ } catch (error) {
103997
+ session.close();
103998
+ console.error("[reroute/dev] Server failed to start:", error);
103999
+ process.exit(1);
104000
+ }
104001
+ const shutdown = () => {
104002
+ console.log(`
104003
+ [reroute/dev] Shutting down...`);
104004
+ session.close();
104005
+ process.exit(0);
104006
+ };
104007
+ process.on("SIGINT", shutdown);
104008
+ process.on("SIGTERM", shutdown);
104009
+ }
103910
104010
  async function dev(args) {
103911
104011
  const terminalUI = args.includes("--tui") || args.includes("-t");
103912
- const portIndex = args.findIndex((arg) => arg === "--port" || arg === "-p");
103913
- const port = portIndex !== -1 && args[portIndex + 1] ? Number(args[portIndex + 1]) : Number(process.env.PORT || "3000");
104012
+ const port = parsePort(args);
104013
+ if (await isServerRunning(port)) {
104014
+ console.log(`[reroute/dev] Already running at http://localhost:${port} — not starting another instance`);
104015
+ return;
104016
+ }
104017
+ process.env.PORT = String(port);
104018
+ process.env.REROUTE_DEV = "1";
103914
104019
  try {
103915
- console.log("[reroute/dev] Starting development servers...");
104020
+ console.log("[reroute/dev] Starting development server...");
103916
104021
  console.log(`[reroute/dev] Press Ctrl+C to stop
103917
104022
  `);
103918
- const rerouteCmd = getRerouteCommand();
103919
- const useShell = rerouteCmd.includes(" ");
103920
- const genCommand = useShell ? `${rerouteCmd} gen --watch` : rerouteCmd;
103921
- const genArgs = useShell ? [] : ["gen", "--watch"];
103922
- const genProcess = spawn(genCommand, genArgs, {
103923
- stdio: ["ignore", "pipe", "pipe"],
103924
- shell: useShell
103925
- });
103926
- const outputBuffer = await waitForInitialBuild(genProcess).catch((error) => {
103927
- console.error("[reroute/dev] Failed to complete initial build:", error);
103928
- genProcess.kill();
103929
- process.exit(1);
103930
- });
103931
- const serverProcess = await startServerProcess(genProcess, port);
103932
- if (!terminalUI) {
103933
- setupDefaultMode(genProcess, serverProcess, outputBuffer);
103934
- } else {
103935
- await setupTerminalUI(genProcess, serverProcess, outputBuffer);
104023
+ if (terminalUI) {
104024
+ await startTui(port);
104025
+ return;
103936
104026
  }
104027
+ await startDefault(port);
103937
104028
  } catch (error) {
103938
104029
  if (error.code === "SIGINT") {
103939
104030
  console.log(`
@@ -103945,6 +104036,8 @@ async function dev(args) {
103945
104036
  }
103946
104037
  }
103947
104038
  var init_dev = __esm(() => {
104039
+ init_gen();
104040
+ init_command();
103948
104041
  init_log();
103949
104042
  });
103950
104043
 
@@ -103954,23 +104047,23 @@ __export(exports_start, {
103954
104047
  default: () => start
103955
104048
  });
103956
104049
  import { spawn as spawn2 } from "node:child_process";
103957
- import { existsSync as existsSync7 } from "node:fs";
103958
- import { join as join12 } from "node:path";
104050
+ import { existsSync as existsSync8 } from "node:fs";
104051
+ import { join as join14 } from "node:path";
103959
104052
  function getRerouteCommand2() {
103960
- const binPath = join12(import.meta.dir, "..", "..", "bin.ts");
103961
- const isBunDev = existsSync7(binPath);
104053
+ const binPath = join14(import.meta.dir, "..", "..", "bin.ts");
104054
+ const isBunDev = existsSync8(binPath);
103962
104055
  if (isBunDev) {
103963
104056
  return `bun ${binPath}`;
103964
104057
  }
103965
104058
  const cwd = process.cwd();
103966
104059
  const nodeModulesPaths = [
103967
- join12(cwd, "node_modules", ".bin", "reroute"),
103968
- join12(cwd, "..", "node_modules", ".bin", "reroute"),
103969
- join12(cwd, "..", "..", "node_modules", ".bin", "reroute"),
103970
- join12(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
104060
+ join14(cwd, "node_modules", ".bin", "reroute"),
104061
+ join14(cwd, "..", "node_modules", ".bin", "reroute"),
104062
+ join14(cwd, "..", "..", "node_modules", ".bin", "reroute"),
104063
+ join14(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
103971
104064
  ];
103972
104065
  for (const binPath2 of nodeModulesPaths) {
103973
- if (existsSync7(binPath2)) {
104066
+ if (existsSync8(binPath2)) {
103974
104067
  return binPath2;
103975
104068
  }
103976
104069
  }
@@ -104091,17 +104184,17 @@ var init_start = __esm(() => {
104091
104184
  // packages/cli/src/commands/lib/assets.ts
104092
104185
  import {
104093
104186
  cpSync,
104094
- existsSync as existsSync8,
104187
+ existsSync as existsSync9,
104095
104188
  mkdirSync,
104096
104189
  readdirSync
104097
104190
  } from "node:fs";
104098
- import { join as join13 } from "node:path";
104191
+ import { join as join15 } from "node:path";
104099
104192
  function copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir) {
104100
- if (!existsSync8(sourceAssetsDir)) {
104193
+ if (!existsSync9(sourceAssetsDir)) {
104101
104194
  return 0;
104102
104195
  }
104103
- const rerouteDir = join13(cwd, ".reroute");
104104
- if (!existsSync8(rerouteDir)) {
104196
+ const rerouteDir = join15(cwd, ".reroute");
104197
+ if (!existsSync9(rerouteDir)) {
104105
104198
  mkdirSync(rerouteDir, { recursive: true });
104106
104199
  }
104107
104200
  cpSync(sourceAssetsDir, rerouteAssetsDir, { recursive: true });
@@ -104112,7 +104205,7 @@ function countFiles(dir) {
104112
104205
  const entries = readdirSync(dir, { withFileTypes: true });
104113
104206
  for (const entry of entries) {
104114
104207
  if (entry.isDirectory()) {
104115
- count += countFiles(join13(dir, entry.name));
104208
+ count += countFiles(join15(dir, entry.name));
104116
104209
  } else {
104117
104210
  count++;
104118
104211
  }
@@ -104127,23 +104220,23 @@ __export(exports_build, {
104127
104220
  default: () => build
104128
104221
  });
104129
104222
  import { spawn as spawn3 } from "node:child_process";
104130
- import { existsSync as existsSync9, readFileSync as readFileSync5, rmSync, unlinkSync } from "node:fs";
104131
- import { join as join14 } from "node:path";
104223
+ import { existsSync as existsSync10, readFileSync as readFileSync5, rmSync, unlinkSync } from "node:fs";
104224
+ import { join as join16 } from "node:path";
104132
104225
  function getRerouteCommand3() {
104133
- const binPath = join14(import.meta.dir, "..", "..", "bin.ts");
104134
- const isBunDev = existsSync9(binPath);
104226
+ const binPath = join16(import.meta.dir, "..", "..", "bin.ts");
104227
+ const isBunDev = existsSync10(binPath);
104135
104228
  if (isBunDev) {
104136
104229
  return `bun ${binPath}`;
104137
104230
  }
104138
104231
  const cwd = process.cwd();
104139
104232
  const nodeModulesPaths = [
104140
- join14(cwd, "node_modules", ".bin", "reroute"),
104141
- join14(cwd, "..", "node_modules", ".bin", "reroute"),
104142
- join14(cwd, "..", "..", "node_modules", ".bin", "reroute"),
104143
- join14(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
104233
+ join16(cwd, "node_modules", ".bin", "reroute"),
104234
+ join16(cwd, "..", "node_modules", ".bin", "reroute"),
104235
+ join16(cwd, "..", "..", "node_modules", ".bin", "reroute"),
104236
+ join16(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
104144
104237
  ];
104145
104238
  for (const binPath2 of nodeModulesPaths) {
104146
- if (existsSync9(binPath2)) {
104239
+ if (existsSync10(binPath2)) {
104147
104240
  return binPath2;
104148
104241
  }
104149
104242
  }
@@ -104151,8 +104244,8 @@ function getRerouteCommand3() {
104151
104244
  }
104152
104245
  function getOutputName() {
104153
104246
  const cwd = process.cwd();
104154
- const packageJsonPath = join14(cwd, "package.json");
104155
- if (existsSync9(packageJsonPath)) {
104247
+ const packageJsonPath = join16(cwd, "package.json");
104248
+ if (existsSync10(packageJsonPath)) {
104156
104249
  try {
104157
104250
  const packageJson = JSON.parse(readFileSync5(packageJsonPath, "utf-8"));
104158
104251
  const name = packageJson.name;
@@ -104183,16 +104276,16 @@ function parseBuildArgs(args) {
104183
104276
  return { outfile, compileBinary, noCompression, externalArgs };
104184
104277
  }
104185
104278
  function cleanDistFolder(cwd) {
104186
- const distDir = join14(cwd, "dist");
104187
- if (existsSync9(distDir)) {
104279
+ const distDir = join16(cwd, "dist");
104280
+ if (existsSync10(distDir)) {
104188
104281
  process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning dist folder...
104189
104282
  `));
104190
104283
  rmSync(distDir, { recursive: true });
104191
104284
  }
104192
104285
  }
104193
104286
  async function cleanRerouteFolder(cwd) {
104194
- const rerouteDir = join14(cwd, ".reroute");
104195
- if (existsSync9(rerouteDir)) {
104287
+ const rerouteDir = join16(cwd, ".reroute");
104288
+ if (existsSync10(rerouteDir)) {
104196
104289
  process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning .reroute folder...
104197
104290
  `));
104198
104291
  rmSync(rerouteDir, { recursive: true, force: true });
@@ -104246,10 +104339,10 @@ async function runGenCommand(rerouteCmd, useShell, noCompression) {
104246
104339
  async function copyAssets(cwd) {
104247
104340
  const config2 = await loadConfig(cwd);
104248
104341
  const appSrc = config2.app?.src ?? "./src/client/App";
104249
- const dirname7 = __require("node:path").dirname;
104250
- const assetsPath = dirname7(appSrc);
104251
- const sourceAssetsDir = join14(cwd, assetsPath, "assets");
104252
- const rerouteAssetsDir = join14(cwd, ".reroute", "assets");
104342
+ const dirname8 = __require("node:path").dirname;
104343
+ const assetsPath = dirname8(appSrc);
104344
+ const sourceAssetsDir = join16(cwd, assetsPath, "assets");
104345
+ const rerouteAssetsDir = join16(cwd, ".reroute", "assets");
104253
104346
  process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Copying assets...
104254
104347
  `));
104255
104348
  const fileCount = copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir);
@@ -104264,9 +104357,9 @@ async function copyAssets(cwd) {
104264
104357
  async function buildBundle(cwd, buildArgs) {
104265
104358
  const external = [...buildArgs.externalArgs, "sharp", "@vercel/og"];
104266
104359
  const buildResult = await Bun.build({
104267
- entrypoints: [join14(cwd, ".reroute/entry.ts")],
104360
+ entrypoints: [join16(cwd, ".reroute/entry.ts")],
104268
104361
  target: "bun",
104269
- outdir: join14(cwd, "dist"),
104362
+ outdir: join16(cwd, "dist"),
104270
104363
  sourcemap: "external",
104271
104364
  ...getCommonBuildOptions(),
104272
104365
  external,
@@ -104309,8 +104402,8 @@ function cleanupBundledFiles(rerouteDir) {
104309
104402
  "markdown-components.ts"
104310
104403
  ];
104311
104404
  for (const file of tsFilesToRemove) {
104312
- const filePath = join14(rerouteDir, file);
104313
- if (existsSync9(filePath)) {
104405
+ const filePath = join16(rerouteDir, file);
104406
+ if (existsSync10(filePath)) {
104314
104407
  try {
104315
104408
  unlinkSync(filePath);
104316
104409
  cleanupCount++;
@@ -104319,8 +104412,8 @@ function cleanupBundledFiles(rerouteDir) {
104319
104412
  }
104320
104413
  const dirsToRemove = ["markdown", "streaming"];
104321
104414
  for (const dir of dirsToRemove) {
104322
- const dirPath = join14(rerouteDir, dir);
104323
- if (existsSync9(dirPath)) {
104415
+ const dirPath = join16(rerouteDir, dir);
104416
+ if (existsSync10(dirPath)) {
104324
104417
  try {
104325
104418
  rmSync(dirPath, { recursive: true });
104326
104419
  cleanupCount++;
@@ -104353,7 +104446,7 @@ async function build(args) {
104353
104446
  await runGenCommand(rerouteCmd, useShell, buildArgs.noCompression);
104354
104447
  await copyAssets(cwd);
104355
104448
  await buildBundle(cwd, buildArgs);
104356
- const rerouteDir = join14(cwd, ".reroute");
104449
+ const rerouteDir = join16(cwd, ".reroute");
104357
104450
  cleanupBundledFiles(rerouteDir);
104358
104451
  logBuildComplete(buildStartTime, buildArgs);
104359
104452
  process.exit(0);
@@ -104369,60 +104462,31 @@ var init_build = __esm(() => {
104369
104462
  init_log();
104370
104463
  });
104371
104464
 
104372
- // packages/cli/src/commands/lib/command.ts
104373
- var exports_command = {};
104374
- __export(exports_command, {
104375
- getRerouteCommand: () => getRerouteCommand4
104376
- });
104377
- import { existsSync as existsSync10 } from "node:fs";
104378
- import { join as join15 } from "node:path";
104379
- function getRerouteCommand4() {
104380
- const binPath = join15(import.meta.dir, "..", "..", "bin.ts");
104381
- const isBunDev = existsSync10(binPath);
104382
- if (isBunDev) {
104383
- return `bun ${binPath}`;
104384
- }
104385
- const cwd = process.cwd();
104386
- const nodeModulesPaths = [
104387
- join15(cwd, "node_modules", ".bin", "reroute"),
104388
- join15(cwd, "..", "node_modules", ".bin", "reroute"),
104389
- join15(cwd, "..", "..", "node_modules", ".bin", "reroute"),
104390
- join15(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
104391
- ];
104392
- for (const binPath2 of nodeModulesPaths) {
104393
- if (existsSync10(binPath2)) {
104394
- return binPath2;
104395
- }
104396
- }
104397
- return "reroute";
104398
- }
104399
- var init_command = () => {};
104400
-
104401
104465
  // packages/cli/src/commands/analyze.ts
104402
104466
  var exports_analyze = {};
104403
104467
  __export(exports_analyze, {
104404
104468
  default: () => analyze
104405
104469
  });
104406
104470
  import { existsSync as existsSync11, statSync } from "node:fs";
104407
- import { readdir as readdir8, readFile, stat as stat5, writeFile as writeFile2 } from "node:fs/promises";
104408
- import { basename as basename3, join as join16, relative as relative3 } from "node:path";
104471
+ import { readdir as readdir8, readFile, stat as stat6, writeFile as writeFile2 } from "node:fs/promises";
104472
+ import { basename as basename4, join as join17, relative as relative3 } from "node:path";
104409
104473
  import Table from "cli-table3";
104410
104474
  async function findChunkBundles(cwd) {
104411
104475
  const bundles = [];
104412
- const chunksDir = join16(cwd, ".reroute", "chunks");
104476
+ const chunksDir = join17(cwd, ".reroute", "chunks");
104413
104477
  if (!existsSync11(chunksDir))
104414
104478
  return bundles;
104415
104479
  const collections2 = await readdir8(chunksDir, { withFileTypes: true });
104416
104480
  for (const collection of collections2) {
104417
104481
  if (!collection.isDirectory())
104418
104482
  continue;
104419
- const collectionDir = join16(chunksDir, collection.name);
104483
+ const collectionDir = join17(chunksDir, collection.name);
104420
104484
  const files = await readdir8(collectionDir);
104421
104485
  for (const file of files) {
104422
104486
  if (!file.endsWith(".js"))
104423
104487
  continue;
104424
- const filePath = join16(collectionDir, file);
104425
- const stats = await stat5(filePath);
104488
+ const filePath = join17(collectionDir, file);
104489
+ const stats = await stat6(filePath);
104426
104490
  const content2 = await Bun.file(filePath).arrayBuffer();
104427
104491
  const gzippedSize = Bun.gzipSync(new Uint8Array(content2)).length;
104428
104492
  bundles.push({
@@ -104439,12 +104503,12 @@ async function findChunkBundles(cwd) {
104439
104503
  }
104440
104504
  async function findDistBundles(cwd) {
104441
104505
  const bundles = [];
104442
- const distDir = join16(cwd, "dist");
104506
+ const distDir = join17(cwd, "dist");
104443
104507
  if (!existsSync11(distDir))
104444
104508
  return bundles;
104445
104509
  const files = await readdir8(distDir);
104446
104510
  for (const file of files) {
104447
- const filePath = join16(distDir, file);
104511
+ const filePath = join17(distDir, file);
104448
104512
  const stats = statSync(filePath);
104449
104513
  if (stats.isFile() && !file.endsWith(".map") && !file.endsWith(".d.ts")) {
104450
104514
  const content2 = await Bun.file(filePath).arrayBuffer();
@@ -104470,9 +104534,9 @@ async function findBundles(cwd) {
104470
104534
  }
104471
104535
  async function findBrowserEntry(cwd) {
104472
104536
  try {
104473
- const clientDir = join16(cwd, "src", "client");
104474
- const tsxEntry = join16(clientDir, "index.tsx");
104475
- const tsEntry = join16(clientDir, "index.ts");
104537
+ const clientDir = join17(cwd, "src", "client");
104538
+ const tsxEntry = join17(clientDir, "index.tsx");
104539
+ const tsEntry = join17(clientDir, "index.ts");
104476
104540
  let sourceEntry = null;
104477
104541
  if (existsSync11(tsxEntry)) {
104478
104542
  sourceEntry = tsxEntry;
@@ -104505,12 +104569,12 @@ async function findBrowserEntry(cwd) {
104505
104569
  console.warn("[reroute/analyze] Browser build produced no outputs");
104506
104570
  return null;
104507
104571
  }
104508
- const tempDir = join16(cwd, ".reroute", "browser");
104572
+ const tempDir = join17(cwd, ".reroute", "browser");
104509
104573
  await import("node:fs/promises").then((fs) => fs.mkdir(tempDir, { recursive: true }));
104510
104574
  const output = result.outputs[0];
104511
104575
  const code = await output.text();
104512
104576
  const actualHash = await generateContentHash2(code);
104513
- const bundlePath = join16(tempDir, `index.${actualHash}.js`);
104577
+ const bundlePath = join17(tempDir, `index.${actualHash}.js`);
104514
104578
  await writeFile2(bundlePath, code, "utf-8");
104515
104579
  const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
104516
104580
  if (mapOutput) {
@@ -104562,7 +104626,7 @@ function calculateStats(bundles) {
104562
104626
  }
104563
104627
  async function getInstalledPackageSizes(cwd) {
104564
104628
  const packageSizes = new Map;
104565
- const nodeModulesDir = join16(cwd, "node_modules");
104629
+ const nodeModulesDir = join17(cwd, "node_modules");
104566
104630
  if (!existsSync11(nodeModulesDir))
104567
104631
  return packageSizes;
104568
104632
  try {
@@ -104577,7 +104641,7 @@ async function getInstalledPackageSizes(cwd) {
104577
104641
  const [sizeKB, path3] = line.split("\t");
104578
104642
  if (!path3)
104579
104643
  continue;
104580
- const pkgName = basename3(path3);
104644
+ const pkgName = basename4(path3);
104581
104645
  if (pkgName.startsWith("@")) {
104582
104646
  const scopeDir = path3;
104583
104647
  const scopedOutput = execSync(`du -sk ${scopeDir}/* 2>/dev/null || true`, {
@@ -104589,7 +104653,7 @@ async function getInstalledPackageSizes(cwd) {
104589
104653
  const [scopedSizeKB, scopedPath] = scopedLine.split("\t");
104590
104654
  if (!scopedPath)
104591
104655
  continue;
104592
- const fullPkgName = `${pkgName}/${basename3(scopedPath)}`;
104656
+ const fullPkgName = `${pkgName}/${basename4(scopedPath)}`;
104593
104657
  packageSizes.set(fullPkgName, Number.parseInt(scopedSizeKB, 10) * 1024);
104594
104658
  }
104595
104659
  } else {
@@ -104604,7 +104668,7 @@ async function buildDependencyTree(entryPath, cwd) {
104604
104668
  if (!existsSync11(entryPath))
104605
104669
  return null;
104606
104670
  const root = {
104607
- name: basename3(entryPath),
104671
+ name: basename4(entryPath),
104608
104672
  path: entryPath,
104609
104673
  size: 0,
104610
104674
  children: []
@@ -104618,14 +104682,14 @@ async function buildDependencyTree(entryPath, cwd) {
104618
104682
  if (!pkgNode) {
104619
104683
  pkgNode = {
104620
104684
  name: pkgName || "unknown",
104621
- path: join16(cwd, "node_modules", pkgName || ""),
104685
+ path: join17(cwd, "node_modules", pkgName || ""),
104622
104686
  size: 0,
104623
104687
  children: []
104624
104688
  };
104625
104689
  nodeModulesNode.children?.push(pkgNode);
104626
104690
  }
104627
104691
  pkgNode.children?.push({
104628
- name: basename3(filePath),
104692
+ name: basename4(filePath),
104629
104693
  path: filePath,
104630
104694
  size
104631
104695
  });
@@ -104639,7 +104703,7 @@ async function buildDependencyTree(entryPath, cwd) {
104639
104703
  if (!child) {
104640
104704
  child = {
104641
104705
  name: part,
104642
- path: join16(cwd, ...parts.slice(0, i + 1)),
104706
+ path: join17(cwd, ...parts.slice(0, i + 1)),
104643
104707
  size: 0,
104644
104708
  children: []
104645
104709
  };
@@ -104648,7 +104712,7 @@ async function buildDependencyTree(entryPath, cwd) {
104648
104712
  current = child;
104649
104713
  }
104650
104714
  current.children?.push({
104651
- name: parts[parts.length - 1] || basename3(filePath),
104715
+ name: parts[parts.length - 1] || basename4(filePath),
104652
104716
  path: filePath,
104653
104717
  size
104654
104718
  });
@@ -104670,7 +104734,7 @@ async function buildDependencyTree(entryPath, cwd) {
104670
104734
  const modulePattern = /\/\/\s*(.+?\.(?:ts|tsx|js|jsx|mjs|cjs))\s*$/gm;
104671
104735
  const nodeModulesNode = {
104672
104736
  name: "node_modules",
104673
- path: join16(cwd, "node_modules"),
104737
+ path: join17(cwd, "node_modules"),
104674
104738
  size: 0,
104675
104739
  children: []
104676
104740
  };
@@ -104736,7 +104800,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
104736
104800
  if (sourcePath.startsWith("/") || sourcePath.match(/^[A-Za-z]:\\/))
104737
104801
  return sourcePath;
104738
104802
  const bundleDir = bundlePath.substring(0, bundlePath.lastIndexOf("/"));
104739
- return join16(bundleDir, sourceRoot || "", sourcePath);
104803
+ return join17(bundleDir, sourceRoot || "", sourcePath);
104740
104804
  }, computeSizes = function(node) {
104741
104805
  if (node.children && node.children.length > 0) {
104742
104806
  node.size = node.children.reduce((s, c) => s + computeSizes(c), 0);
@@ -104801,14 +104865,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
104801
104865
  }
104802
104866
  }
104803
104867
  const root = {
104804
- name: basename3(bundlePath),
104868
+ name: basename4(bundlePath),
104805
104869
  path: bundlePath,
104806
104870
  size: 0,
104807
104871
  children: []
104808
104872
  };
104809
104873
  const nodeModulesNode = {
104810
104874
  name: "node_modules",
104811
- path: join16(cwd, "node_modules"),
104875
+ path: join17(cwd, "node_modules"),
104812
104876
  size: 0,
104813
104877
  children: []
104814
104878
  };
@@ -104848,14 +104912,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
104848
104912
  if (!pkgNode) {
104849
104913
  pkgNode = {
104850
104914
  name: pkgName || "unknown",
104851
- path: join16(cwd, "node_modules", pkgName || ""),
104915
+ path: join17(cwd, "node_modules", pkgName || ""),
104852
104916
  size: 0,
104853
104917
  children: []
104854
104918
  };
104855
104919
  nodeModulesNode.children?.push(pkgNode);
104856
104920
  }
104857
104921
  pkgNode.children?.push({
104858
- name: basename3(srcPath),
104922
+ name: basename4(srcPath),
104859
104923
  path: srcPath,
104860
104924
  size
104861
104925
  });
@@ -104869,7 +104933,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
104869
104933
  if (!child) {
104870
104934
  child = {
104871
104935
  name: part,
104872
- path: join16(cwd, ...parts.slice(0, i2 + 1)),
104936
+ path: join17(cwd, ...parts.slice(0, i2 + 1)),
104873
104937
  size: 0,
104874
104938
  children: []
104875
104939
  };
@@ -104878,7 +104942,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
104878
104942
  current = child;
104879
104943
  }
104880
104944
  current.children?.push({
104881
- name: parts[parts.length - 1] || basename3(srcPath),
104945
+ name: parts[parts.length - 1] || basename4(srcPath),
104882
104946
  path: srcPath,
104883
104947
  size
104884
104948
  });
@@ -104899,11 +104963,11 @@ async function generateHTMLReport(stats, depTree, mainInfo, browserDepTree, brow
104899
104963
  let actualServerBinarySize = null;
104900
104964
  let actualServerBinaryGzipped = null;
104901
104965
  try {
104902
- const distDir = join16(process.cwd(), "dist");
104966
+ const distDir = join17(process.cwd(), "dist");
104903
104967
  if (existsSync11(distDir)) {
104904
104968
  const files = await readdir8(distDir);
104905
104969
  for (const file of files) {
104906
- const filePath = join16(distDir, file);
104970
+ const filePath = join17(distDir, file);
104907
104971
  const stats2 = statSync(filePath);
104908
104972
  if (stats2.isFile() && !file.includes(".")) {
104909
104973
  actualServerBinarySize = stats2.size;
@@ -106385,11 +106449,11 @@ async function printConsoleReport(stats, depTree, mainInfo, browserDepTree, brow
106385
106449
  let actualServerBinarySize = null;
106386
106450
  let actualServerBinaryGzipped = null;
106387
106451
  try {
106388
- const distDir = join16(process.cwd(), "dist");
106452
+ const distDir = join17(process.cwd(), "dist");
106389
106453
  if (existsSync11(distDir)) {
106390
106454
  const files = await readdir8(distDir);
106391
106455
  for (const file of files) {
106392
- const filePath = join16(distDir, file);
106456
+ const filePath = join17(distDir, file);
106393
106457
  const stats2 = statSync(filePath);
106394
106458
  if (stats2.isFile() && !file.includes(".")) {
106395
106459
  actualServerBinarySize = stats2.size;
@@ -106423,13 +106487,13 @@ async function analyze(args) {
106423
106487
  const isProd = isProductionMode(args);
106424
106488
  const searchIndex = args.indexOf("--search");
106425
106489
  const initialSearch = searchIndex !== -1 && args[searchIndex + 1] ? args[searchIndex + 1] : "";
106426
- const rerouteIndexPath = join16(cwd, ".reroute", "index.ts");
106490
+ const rerouteIndexPath = join17(cwd, ".reroute", "index.ts");
106427
106491
  if (!existsSync11(rerouteIndexPath)) {
106428
106492
  console.log(colorizeLogPrefixAnsi(`[reroute/analyze] .reroute artifacts not found, running build...
106429
106493
  `));
106430
106494
  const { spawn: spawn4 } = await import("node:child_process");
106431
- const { getRerouteCommand: getRerouteCommand5 } = await Promise.resolve().then(() => (init_command(), exports_command));
106432
- const rerouteCmd = getRerouteCommand5();
106495
+ const { getRerouteCommand: getRerouteCommand4 } = await Promise.resolve().then(() => (init_command(), exports_command));
106496
+ const rerouteCmd = getRerouteCommand4();
106433
106497
  const useShell = rerouteCmd.includes(" ");
106434
106498
  const buildCommand = useShell ? `${rerouteCmd} build` : rerouteCmd;
106435
106499
  const buildArgs = useShell ? [] : ["build"];
@@ -106470,11 +106534,11 @@ async function analyze(args) {
106470
106534
  `));
106471
106535
  }
106472
106536
  try {
106473
- const browserStat = await stat5(browserEntry);
106537
+ const browserStat = await stat6(browserEntry);
106474
106538
  const browserContent = await readFile(browserEntry);
106475
106539
  const browserGzipped = Bun.gzipSync(browserContent).length;
106476
106540
  browserInfo = {
106477
- name: basename3(browserEntry),
106541
+ name: basename4(browserEntry),
106478
106542
  size: browserStat.size,
106479
106543
  gzippedSize: browserGzipped
106480
106544
  };
@@ -106486,12 +106550,12 @@ async function analyze(args) {
106486
106550
  let entry = null;
106487
106551
  let depTree = null;
106488
106552
  let mainInfo = null;
106489
- const srcEntry = join16(cwd, "src", "index.ts");
106553
+ const srcEntry = join17(cwd, "src", "index.ts");
106490
106554
  if (existsSync11(srcEntry)) {
106491
106555
  console.log(colorizeLogPrefixAnsi(`[reroute/analyze] Building server binary for analysis...
106492
106556
  `));
106493
106557
  const { mkdir: mkdir4 } = await import("node:fs/promises");
106494
- const serverAnalysisDir = join16(cwd, ".reroute", "server");
106558
+ const serverAnalysisDir = join17(cwd, ".reroute", "server");
106495
106559
  await mkdir4(serverAnalysisDir, { recursive: true });
106496
106560
  const result = await Bun.build({
106497
106561
  entrypoints: [srcEntry],
@@ -106504,7 +106568,7 @@ async function analyze(args) {
106504
106568
  if (result.success && result.outputs.length > 0) {
106505
106569
  const output = result.outputs[0];
106506
106570
  const code = await output.text();
106507
- const analysisEntry = join16(serverAnalysisDir, "index.js");
106571
+ const analysisEntry = join17(serverAnalysisDir, "index.js");
106508
106572
  await writeFile2(analysisEntry, code, "utf-8");
106509
106573
  const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
106510
106574
  if (mapOutput) {
@@ -106522,7 +106586,7 @@ async function analyze(args) {
106522
106586
  `));
106523
106587
  const installedSizes = await getInstalledPackageSizes(cwd);
106524
106588
  if (depTree) {
106525
- const packageJsonPath = join16(cwd, "package.json");
106589
+ const packageJsonPath = join17(cwd, "package.json");
106526
106590
  if (existsSync11(packageJsonPath)) {
106527
106591
  try {
106528
106592
  const packageJson = JSON.parse(await readFile(packageJsonPath, "utf-8"));
@@ -106534,7 +106598,7 @@ async function analyze(args) {
106534
106598
  if (!trackedPkgs.has(pkgName) && installedSizes.has(pkgName)) {
106535
106599
  nodeModulesNode.children?.push({
106536
106600
  name: pkgName,
106537
- path: join16(cwd, "node_modules", pkgName),
106601
+ path: join17(cwd, "node_modules", pkgName),
106538
106602
  size: installedSizes.get(pkgName) || 0
106539
106603
  });
106540
106604
  }
@@ -106552,11 +106616,11 @@ async function analyze(args) {
106552
106616
  }
106553
106617
  }
106554
106618
  try {
106555
- const entryStat = await stat5(entry);
106619
+ const entryStat = await stat6(entry);
106556
106620
  const entryContent = await readFile(entry);
106557
106621
  const entryGzipped = Bun.gzipSync(entryContent).length;
106558
106622
  mainInfo = {
106559
- name: basename3(entry),
106623
+ name: basename4(entry),
106560
106624
  size: entryStat.size,
106561
106625
  gzippedSize: entryGzipped
106562
106626
  };
@@ -106565,10 +106629,10 @@ async function analyze(args) {
106565
106629
  const fullOutput = args.includes("--full");
106566
106630
  await printConsoleReport(stats, depTree, mainInfo, browserDepTree, browserInfo, fullOutput);
106567
106631
  if (outputHtml || openBrowser) {
106568
- const htmlPath = join16(cwd, ".reroute", "analysis.html");
106632
+ const htmlPath = join17(cwd, ".reroute", "analysis.html");
106569
106633
  const html2 = await generateHTMLReport(stats, depTree, mainInfo, browserDepTree, browserInfo, initialSearch);
106570
106634
  const { mkdir: mkdir4 } = await import("node:fs/promises");
106571
- await mkdir4(join16(cwd, ".reroute"), { recursive: true });
106635
+ await mkdir4(join17(cwd, ".reroute"), { recursive: true });
106572
106636
  await writeFile2(htmlPath, html2, "utf-8");
106573
106637
  console.log(colorizeLogPrefixAnsi(`[reroute/analyze] HTML report generated: ${relative3(cwd, htmlPath)}
106574
106638
  `));
@@ -106632,7 +106696,7 @@ __export(exports_og, {
106632
106696
  });
106633
106697
  import { spawn as spawn4 } from "node:child_process";
106634
106698
  import { readdir as readdir9 } from "node:fs/promises";
106635
- import { join as join17 } from "node:path";
106699
+ import { join as join18 } from "node:path";
106636
106700
  function getPortFromConfig(baseUrl) {
106637
106701
  if (!baseUrl)
106638
106702
  return 3000;
@@ -106653,7 +106717,7 @@ async function killProcessOnPort(port) {
106653
106717
  });
106654
106718
  } catch {}
106655
106719
  }
106656
- async function isServerRunning(port) {
106720
+ async function isServerRunning2(port) {
106657
106721
  try {
106658
106722
  const response = await fetch(`http://localhost:${port}`, {
106659
106723
  signal: AbortSignal.timeout(1000)
@@ -106664,7 +106728,7 @@ async function isServerRunning(port) {
106664
106728
  }
106665
106729
  }
106666
106730
  async function ensureServer(cwd, port) {
106667
- const alreadyRunning = await isServerRunning(port);
106731
+ const alreadyRunning = await isServerRunning2(port);
106668
106732
  if (alreadyRunning) {
106669
106733
  console.log(`✅ Dev server already running at http://localhost:${port}
106670
106734
  `);
@@ -106711,8 +106775,8 @@ async function scanForOgTemplates(dir, base, routes) {
106711
106775
  try {
106712
106776
  const entries = await readdir9(dir, { withFileTypes: true });
106713
106777
  for (const entry of entries) {
106714
- const fullPath = join17(dir, entry.name);
106715
- const relativePath = join17(base, entry.name);
106778
+ const fullPath = join18(dir, entry.name);
106779
+ const relativePath = join18(base, entry.name);
106716
106780
  if (entry.isDirectory()) {
106717
106781
  if (entry.name === "content")
106718
106782
  continue;
@@ -106733,7 +106797,7 @@ async function addContentRoutes(routesPath, routes) {
106733
106797
  for (const entry of entries) {
106734
106798
  if (!entry.isDirectory())
106735
106799
  continue;
106736
- const contentDir = join17(routesPath, entry.name, "content");
106800
+ const contentDir = join18(routesPath, entry.name, "content");
106737
106801
  try {
106738
106802
  const contentFiles = await readdir9(contentDir);
106739
106803
  if (contentFiles.length === 0)
@@ -106750,7 +106814,7 @@ async function addContentRoutes(routesPath, routes) {
106750
106814
  async function findRoutesWithOG(cwd) {
106751
106815
  const routes = [];
106752
106816
  try {
106753
- const manifestPath = join17(cwd, ".reroute", "manifest.json");
106817
+ const manifestPath = join18(cwd, ".reroute", "manifest.json");
106754
106818
  const manifestFile = Bun.file(manifestPath);
106755
106819
  const manifest = await manifestFile.json();
106756
106820
  if (manifest.staticRoutes && Array.isArray(manifest.staticRoutes)) {
@@ -106761,7 +106825,7 @@ async function findRoutesWithOG(cwd) {
106761
106825
  }
106762
106826
  } catch {
106763
106827
  console.warn("⚠️ .reroute/manifest.json not found, scanning routes directory...");
106764
- const routesPath = join17(cwd, ROUTES_DIR2);
106828
+ const routesPath = join18(cwd, ROUTES_DIR2);
106765
106829
  await scanForOgTemplates(routesPath, "", routes);
106766
106830
  await addContentRoutes(routesPath, routes);
106767
106831
  }
@@ -107013,7 +107077,7 @@ async function getVersionString2() {
107013
107077
  }
107014
107078
  async function getVersion2() {
107015
107079
  if (true) {
107016
- return "1.0.0-alpha.4";
107080
+ return "1.0.0-alpha.5";
107017
107081
  }
107018
107082
  const possiblePaths = [
107019
107083
  path3.join(import.meta.dir, "../../../package.json"),
@@ -107030,10 +107094,10 @@ async function getVersion2() {
107030
107094
  }
107031
107095
  async function getCommit2() {
107032
107096
  if (true) {
107033
- return "f832946";
107097
+ return "403cf32";
107034
107098
  }
107035
107099
  return "dev";
107036
107100
  }
107037
107101
  main();
107038
107102
 
107039
- //# debugId=3453DF5462E3D8B364756E2164756E21
107103
+ //# debugId=CD4585F819A6C03E64756E2164756E21