reroute-js 1.0.0-alpha.4 → 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +755 -683
- package/cli/bin.js.map +12 -12
- package/cli/index.d.ts +1 -1
- package/cli/index.js +37 -25
- package/cli/index.js.map +3 -3
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/dev.d.ts +5 -6
- package/cli/src/commands/dev.d.ts.map +1 -1
- package/cli/src/commands/gen.d.ts +4 -1
- package/cli/src/commands/gen.d.ts.map +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +2 -1
- package/cli/src/commands/lib/server.d.ts.map +1 -1
- package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
- package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/theme.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/og.d.ts +1 -1
- package/cli/src/commands/start.d.ts +1 -1
- package/cli/src/index.d.ts +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +223 -172
- package/core/index.js.map +7 -7
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +1 -1
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +1 -1
- package/core/src/i18n/catalog.d.ts +1 -1
- package/core/src/i18n/discover.d.ts +1 -1
- package/core/src/i18n/index.d.ts +1 -1
- package/core/src/i18n/messages.d.ts +1 -1
- package/core/src/i18n/negotiate.d.ts +1 -1
- package/core/src/i18n/pathname.d.ts +1 -1
- package/core/src/i18n/resolve.d.ts +1 -1
- package/core/src/i18n/types.d.ts +1 -1
- package/core/src/index.d.ts +1 -1
- package/core/src/llms/extractor.d.ts +1 -1
- package/core/src/llms/formatter.d.ts +1 -1
- package/core/src/llms/full-generator.d.ts +3 -1
- package/core/src/llms/full-generator.d.ts.map +1 -1
- package/core/src/llms/index-generator.d.ts +3 -1
- package/core/src/llms/index-generator.d.ts.map +1 -1
- package/core/src/llms/index.d.ts +1 -1
- package/core/src/og/discovery.d.ts +1 -1
- package/core/src/og/index.d.ts +1 -1
- package/core/src/og/meta.d.ts +1 -1
- package/core/src/og/render.d.ts +1 -1
- package/core/src/og/types.d.ts +1 -1
- package/core/src/robots/discovery.d.ts +1 -1
- package/core/src/robots/generator.d.ts +1 -1
- package/core/src/robots/index.d.ts +1 -1
- package/core/src/robots/policies.d.ts +1 -1
- package/core/src/rss/discovery.d.ts +1 -1
- package/core/src/rss/generator.d.ts +1 -1
- package/core/src/rss/index.d.ts +1 -1
- package/core/src/sitemap/discovery.d.ts +1 -1
- package/core/src/sitemap/generator.d.ts +1 -1
- package/core/src/sitemap/index.d.ts +1 -1
- package/core/src/ssr/index.d.ts +1 -1
- package/core/src/ssr/lib/cache.d.ts +1 -1
- package/core/src/ssr/lib/cleanup.d.ts +1 -1
- package/core/src/ssr/lib/collections.d.ts +1 -1
- package/core/src/ssr/lib/compression.d.ts +1 -1
- package/core/src/ssr/lib/compute/content.d.ts +1 -1
- package/core/src/ssr/lib/compute/index.d.ts +1 -1
- package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
- package/core/src/ssr/lib/compute/routes.d.ts +1 -1
- package/core/src/ssr/lib/content-path.d.ts +1 -1
- package/core/src/ssr/lib/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +8 -3
- package/core/src/ssr/lib/imports.d.ts.map +1 -1
- package/core/src/ssr/lib/index.d.ts +1 -1
- package/core/src/ssr/lib/layouts.d.ts +1 -1
- package/core/src/ssr/lib/metadata.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts +1 -1
- package/core/src/ssr/lib/modules.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts +1 -1
- package/core/src/ssr/lib/preload.d.ts +1 -1
- package/core/src/ssr/lib/route-match.d.ts +1 -1
- package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
- package/core/src/ssr/lib/scripts/data.d.ts +1 -1
- package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
- package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
- package/core/src/ssr/lib/scripts/index.d.ts +1 -1
- package/core/src/ssr/lib/seed.d.ts +6 -1
- package/core/src/ssr/lib/seed.d.ts.map +1 -1
- package/core/src/ssr/lib/serialize.d.ts +1 -1
- package/core/src/ssr/lib/setup.d.ts +1 -1
- package/core/src/ssr/lib/styles.d.ts +1 -1
- package/core/src/ssr/lib/template.d.ts +1 -1
- package/core/src/ssr/lib/types.d.ts +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +302 -223
- package/elysia/index.js.map +14 -13
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/assets.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/caching.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/i18n.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/libs/index.d.ts +1 -1
- package/elysia/src/libs/llms.d.ts +1 -1
- package/elysia/src/libs/response.d.ts +1 -1
- package/elysia/src/libs/serving.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/plugin.d.ts.map +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +2 -2
- package/elysia/src/routes/content.d.ts.map +1 -1
- package/elysia/src/routes/image.d.ts +1 -1
- package/elysia/src/routes/index.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts.map +1 -1
- package/elysia/src/routes/llms.d.ts +1 -1
- package/elysia/src/routes/llms.d.ts.map +1 -1
- package/elysia/src/routes/og.d.ts +1 -1
- package/elysia/src/routes/redirects.d.ts +1 -1
- package/elysia/src/routes/robots.d.ts +1 -1
- package/elysia/src/routes/rss.d.ts +1 -1
- package/elysia/src/routes/search.d.ts +1 -1
- package/elysia/src/routes/sitemap.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts +1 -1
- package/elysia/src/routes/static.d.ts +1 -1
- package/elysia/src/routes/themeCssRefresh.d.ts +17 -0
- package/elysia/src/routes/themeCssRefresh.d.ts.map +1 -0
- package/elysia/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +71 -71
- package/react/index.js.map +1 -1
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +1 -1
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useFeed.d.ts +1 -1
- package/react/src/hooks/useLayoutData.d.ts +1 -1
- package/react/src/hooks/useLlms.d.ts +1 -1
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearch.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/hooks/useToc.d.ts +1 -1
- package/react/src/i18n/LocaleProvider.d.ts +1 -1
- package/react/src/i18n/helpers.d.ts +1 -1
- package/react/src/i18n/index.d.ts +1 -1
- package/react/src/index.d.ts +1 -1
- package/react/src/lib/collection.d.ts +1 -1
- package/react/src/lib/content.d.ts +1 -1
- package/react/src/lib/head.d.ts +1 -1
- package/react/src/lib/index.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts +1 -1
- package/react/src/lib/route-loader.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/telemetry/react.d.ts +1 -1
- package/telemetry/react.js +16 -16
- package/telemetry/react.js.map +2 -2
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +28 -220
- package/telemetry/server.js.map +7 -6
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/headers/extractor.d.ts +1 -1
- package/telemetry/src/server/headers/index.d.ts +1 -1
- package/telemetry/src/server/headers/presets.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/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
|
+
* reroute-js v1.0.0-alpha.6
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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.
|
|
71
|
+
return "1.0.0-alpha.6";
|
|
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 "
|
|
89
|
+
return "1f58c52";
|
|
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
|
-
|
|
730
|
-
parseContentPath: () => parseContentPath,
|
|
731
|
-
normalizePathname: () => normalizePathname,
|
|
732
|
-
looksLikeLocale: () => looksLikeLocale,
|
|
733
|
-
localizeHref: () => localizeHref,
|
|
734
|
-
localizeContentHref: () => localizeContentHref,
|
|
731
|
+
contentKey: () => contentKey,
|
|
735
732
|
hreflangTags: () => hreflangTags,
|
|
736
|
-
|
|
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
|
-
|
|
1392
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
4457
|
-
discoverStaticRoutes: () => discoverStaticRoutes,
|
|
4499
|
+
discoverCollectionRoutes: () => discoverCollectionRoutes,
|
|
4458
4500
|
discoverSSRDataRoutes: () => discoverSSRDataRoutes,
|
|
4459
|
-
|
|
4501
|
+
discoverStaticRoutes: () => discoverStaticRoutes,
|
|
4502
|
+
generateLLMsIndex: () => generateLLMsIndex
|
|
4460
4503
|
});
|
|
4461
4504
|
import { pathToFileURL as pathToFileURL6 } from "node:url";
|
|
4462
4505
|
async function discoverStaticRoutes(cwd, isWatchMode) {
|
|
@@ -4677,8 +4720,8 @@ function formatRouteUrl(routePath, baseUrl) {
|
|
|
4677
4720
|
function getRouteTitle(route) {
|
|
4678
4721
|
return route.title || (route.path === "/" ? "Home" : route.path.split("/").pop() || "Page");
|
|
4679
4722
|
}
|
|
4680
|
-
function addRootRoutes(parts, rootRoutes, baseUrl,
|
|
4681
|
-
if (
|
|
4723
|
+
function addRootRoutes(parts, rootRoutes, baseUrl, isScoped) {
|
|
4724
|
+
if (isScoped || rootRoutes.length === 0)
|
|
4682
4725
|
return;
|
|
4683
4726
|
for (const route of rootRoutes) {
|
|
4684
4727
|
const title = getRouteTitle(route);
|
|
@@ -4701,12 +4744,12 @@ function addCollectionSection(parts, collection, routes, baseUrl, llmsConfig) {
|
|
|
4701
4744
|
}
|
|
4702
4745
|
parts.push("");
|
|
4703
4746
|
}
|
|
4704
|
-
function shouldIncludeSection(section,
|
|
4705
|
-
return !
|
|
4747
|
+
function shouldIncludeSection(section, isScoped, targetCollection) {
|
|
4748
|
+
return !isScoped || section === targetCollection;
|
|
4706
4749
|
}
|
|
4707
|
-
function addSSRDataSection(parts, routePattern, routes, baseUrl,
|
|
4750
|
+
function addSSRDataSection(parts, routePattern, routes, baseUrl, isScoped, targetCollection, llmsConfig) {
|
|
4708
4751
|
const routeSection = routePattern.split("/").filter(Boolean)[0];
|
|
4709
|
-
if (!shouldIncludeSection(routeSection,
|
|
4752
|
+
if (!shouldIncludeSection(routeSection, isScoped, targetCollection)) {
|
|
4710
4753
|
return;
|
|
4711
4754
|
}
|
|
4712
4755
|
const filteredRoutes = routes.filter((r) => !shouldExcludeRoute(r.path, llmsConfig?.excludeRoutes));
|
|
@@ -4722,8 +4765,8 @@ function addSSRDataSection(parts, routePattern, routes, baseUrl, isSingleCollect
|
|
|
4722
4765
|
}
|
|
4723
4766
|
parts.push("");
|
|
4724
4767
|
}
|
|
4725
|
-
function addStaticSection(parts, section, routes, baseUrl,
|
|
4726
|
-
if (!shouldIncludeSection(section,
|
|
4768
|
+
function addStaticSection(parts, section, routes, baseUrl, isScoped, targetCollection, collectionsMap, llmsConfig) {
|
|
4769
|
+
if (!shouldIncludeSection(section, isScoped, targetCollection)) {
|
|
4727
4770
|
return;
|
|
4728
4771
|
}
|
|
4729
4772
|
const filteredRoutes = routes.filter((r) => !shouldExcludeRoute(r.path, llmsConfig?.excludeRoutes));
|
|
@@ -4741,15 +4784,15 @@ function addStaticSection(parts, section, routes, baseUrl, isSingleCollection, t
|
|
|
4741
4784
|
}
|
|
4742
4785
|
async function generateLLMsIndex(options) {
|
|
4743
4786
|
const { cwd, collections: collections2, baseUrl, isWatchMode, llmsConfig } = options;
|
|
4787
|
+
const targetCollection = options.targetCollection ?? null;
|
|
4788
|
+
const isScoped = targetCollection !== null;
|
|
4744
4789
|
const parts = [];
|
|
4745
4790
|
addIndexHeader(parts, llmsConfig);
|
|
4746
4791
|
const staticRoutes = await discoverStaticRoutes(cwd, isWatchMode);
|
|
4747
4792
|
const collectionsMap = await discoverCollectionRoutes(cwd, collections2, isWatchMode, llmsConfig);
|
|
4748
4793
|
const ssrDataRoutes = await discoverSSRDataRoutes(cwd, staticRoutes, isWatchMode);
|
|
4749
|
-
const isSingleCollection = collections2.length === 1;
|
|
4750
|
-
const targetCollection = isSingleCollection ? collections2[0] : null;
|
|
4751
4794
|
const { sections, rootRoutes } = groupStaticRoutes(staticRoutes, llmsConfig);
|
|
4752
|
-
addRootRoutes(parts, rootRoutes, baseUrl,
|
|
4795
|
+
addRootRoutes(parts, rootRoutes, baseUrl, isScoped);
|
|
4753
4796
|
for (const [collection, routes] of collectionsMap.entries()) {
|
|
4754
4797
|
if (routes.length > 0) {
|
|
4755
4798
|
addCollectionSection(parts, collection, routes, baseUrl, llmsConfig);
|
|
@@ -4757,17 +4800,20 @@ async function generateLLMsIndex(options) {
|
|
|
4757
4800
|
}
|
|
4758
4801
|
for (const [routePattern, routes] of ssrDataRoutes.entries()) {
|
|
4759
4802
|
if (routes.length > 0) {
|
|
4760
|
-
addSSRDataSection(parts, routePattern, routes, baseUrl,
|
|
4803
|
+
addSSRDataSection(parts, routePattern, routes, baseUrl, isScoped, targetCollection, llmsConfig);
|
|
4761
4804
|
}
|
|
4762
4805
|
}
|
|
4763
4806
|
for (const [section, routes] of sections.entries()) {
|
|
4764
4807
|
if (routes.length > 0) {
|
|
4765
|
-
addStaticSection(parts, section, routes, baseUrl,
|
|
4808
|
+
addStaticSection(parts, section, routes, baseUrl, isScoped, targetCollection, collectionsMap, llmsConfig);
|
|
4766
4809
|
}
|
|
4767
4810
|
}
|
|
4768
4811
|
parts.push("---");
|
|
4769
4812
|
parts.push("");
|
|
4770
4813
|
parts.push("Formats: .txt | .md | Accept: text/plain | Accept: text/markdown");
|
|
4814
|
+
if (!isScoped && baseUrl) {
|
|
4815
|
+
parts.push(`Full dump: ${baseUrl}/llms-full.txt`);
|
|
4816
|
+
}
|
|
4771
4817
|
return parts.join(`
|
|
4772
4818
|
`);
|
|
4773
4819
|
}
|
|
@@ -4825,6 +4871,9 @@ async function discoverAllRoutes(cwd, collections2, isWatchMode, llmsConfig) {
|
|
|
4825
4871
|
}
|
|
4826
4872
|
return allRoutes;
|
|
4827
4873
|
}
|
|
4874
|
+
function routeBelongsToCollection(path3, collection) {
|
|
4875
|
+
return path3 === `/${collection}` || path3.startsWith(`/${collection}/`);
|
|
4876
|
+
}
|
|
4828
4877
|
function formatContentBlock(content, routePath, baseUrl) {
|
|
4829
4878
|
const parts = [];
|
|
4830
4879
|
const lines = content.split(`
|
|
@@ -4894,7 +4943,9 @@ function buildFooter(parts) {
|
|
|
4894
4943
|
async function generateLLMsFullContent(options) {
|
|
4895
4944
|
const { cwd, collections: collections2, baseUrl, isWatchMode, llmsConfig } = options;
|
|
4896
4945
|
const parts = buildHeader(baseUrl, llmsConfig);
|
|
4897
|
-
const
|
|
4946
|
+
const discovered = await discoverAllRoutes(cwd, collections2, isWatchMode, llmsConfig);
|
|
4947
|
+
const targetCollection = options.targetCollection;
|
|
4948
|
+
const allRoutes = targetCollection ? discovered.filter((route) => routeBelongsToCollection(route.path, targetCollection)) : discovered;
|
|
4898
4949
|
const maxItems = llmsConfig?.maxItems || 1e4;
|
|
4899
4950
|
const routesToProcess = allRoutes.slice(0, maxItems);
|
|
4900
4951
|
const extracted = await extractRouteContents(routesToProcess, options);
|
|
@@ -5239,10 +5290,10 @@ var init_robots = __esm(() => {
|
|
|
5239
5290
|
// packages/core/src/sitemap/discovery.ts
|
|
5240
5291
|
var exports_discovery = {};
|
|
5241
5292
|
__export(exports_discovery, {
|
|
5242
|
-
|
|
5243
|
-
discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
|
|
5293
|
+
discoverCollectionContent: () => discoverCollectionContent,
|
|
5244
5294
|
discoverRoutes: () => discoverRoutes,
|
|
5245
|
-
|
|
5295
|
+
discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
|
|
5296
|
+
discoverSitemapData: () => discoverSitemapData
|
|
5246
5297
|
});
|
|
5247
5298
|
async function loadRoutesModule2(cwd, isWatchMode) {
|
|
5248
5299
|
let routes = globalThis.__REROUTE_ROUTES__;
|
|
@@ -6526,137 +6577,139 @@ var init_src = __esm(() => {
|
|
|
6526
6577
|
// packages/core/index.ts
|
|
6527
6578
|
var exports_core = {};
|
|
6528
6579
|
__export(exports_core, {
|
|
6529
|
-
|
|
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,
|
|
6580
|
+
AI_CRAWLERS: () => AI_CRAWLERS,
|
|
6658
6581
|
DEFAULT_COOKIE: () => DEFAULT_COOKIE,
|
|
6659
|
-
|
|
6582
|
+
DEFAULT_LOCALE: () => DEFAULT_LOCALE,
|
|
6583
|
+
DEFAULT_LOCALES_DIR: () => DEFAULT_LOCALES_DIR,
|
|
6584
|
+
DefaultOGTemplate: () => DefaultOGTemplate,
|
|
6585
|
+
LRUCache: () => LRUCache,
|
|
6586
|
+
SEARCH_CRAWLERS: () => SEARCH_CRAWLERS,
|
|
6587
|
+
SSRDataCache: () => SSRDataCache,
|
|
6588
|
+
TTLCache: () => TTLCache,
|
|
6589
|
+
acceptsBrotli: () => acceptsBrotli,
|
|
6590
|
+
acceptsGzip: () => acceptsGzip,
|
|
6591
|
+
allowAICrawlers: () => allowAICrawlers,
|
|
6592
|
+
allowSearchCrawlers: () => allowSearchCrawlers,
|
|
6593
|
+
applyIndexTemplate: () => applyIndexTemplate,
|
|
6594
|
+
basename: () => basename,
|
|
6595
|
+
blockAICrawlers: () => blockAICrawlers,
|
|
6596
|
+
blockAITrainingCrawlers: () => blockAITrainingCrawlers,
|
|
6597
|
+
blockSearchCrawlers: () => blockSearchCrawlers,
|
|
6598
|
+
buildHeadFromMeta: () => buildHeadFromMeta,
|
|
6599
|
+
buildLocaleCookie: () => buildLocaleCookie,
|
|
6600
|
+
cleanupPathScopedSSRData: () => cleanupPathScopedSSRData,
|
|
6601
|
+
clearSSRModuleStores: () => clearSSRModuleStores,
|
|
6602
|
+
clearWatchImportCache: () => clearWatchImportCache,
|
|
6603
|
+
compareRouteSpecificity: () => compareRouteSpecificity,
|
|
6604
|
+
compressStreamIfAccepted: () => compressStreamIfAccepted,
|
|
6605
|
+
computeContentData: () => computeContentData,
|
|
6606
|
+
computeLayoutData: () => computeLayoutData,
|
|
6607
|
+
computeRouteData: () => computeRouteData,
|
|
6608
|
+
computeSSRData: () => computeSSRData,
|
|
6609
|
+
computeSSRDataForPath: () => computeSSRDataForPath,
|
|
6610
|
+
contentKey: () => contentKey,
|
|
6611
|
+
contentNegotiateRedirect: () => contentNegotiateRedirect,
|
|
6612
|
+
createBundlePreload: () => createBundlePreload,
|
|
6613
|
+
createCollectionScript: () => createCollectionScript,
|
|
6614
|
+
createDataScript: () => createDataScript,
|
|
6615
|
+
createFeedsScript: () => createFeedsScript,
|
|
6616
|
+
createLayoutCacheKey: () => createLayoutCacheKey,
|
|
6617
|
+
createLayoutDataKey: () => createLayoutDataKey,
|
|
6618
|
+
createLlmsScript: () => createLlmsScript,
|
|
6619
|
+
createTranslator: () => createTranslator,
|
|
6620
|
+
deduplicateMetaTags: () => deduplicateMetaTags,
|
|
6621
|
+
defineConfig: () => defineConfig,
|
|
6622
|
+
discoverCollectionContent: () => discoverCollectionContent,
|
|
6623
|
+
discoverCollections: () => discoverCollections,
|
|
6624
|
+
discoverI18n: () => discoverI18n,
|
|
6625
|
+
discoverRSSData: () => discoverRSSData,
|
|
6626
|
+
discoverRobotsData: () => discoverRobotsData,
|
|
6627
|
+
discoverRoutes: () => discoverRoutes,
|
|
6628
|
+
discoverRoutesForRobots: () => discoverRoutesForRobots,
|
|
6629
|
+
discoverSSRDataFeedItems: () => discoverSSRDataFeedItems,
|
|
6630
|
+
discoverSSRDataRoutes: () => discoverSSRDataRoutes2,
|
|
6631
|
+
discoverSitemapData: () => discoverSitemapData,
|
|
6632
|
+
duplicateQueryParamData: () => duplicateQueryParamData,
|
|
6633
|
+
dynamicImport: () => dynamicImport,
|
|
6634
|
+
escapeJsonForScript: () => escapeJsonForScript,
|
|
6635
|
+
escapeXml: () => escapeXml2,
|
|
6636
|
+
extname: () => extname,
|
|
6637
|
+
extractContentForLLMs: () => extractContentForLLMs,
|
|
6638
|
+
extractPageMetadata: () => extractPageMetadata,
|
|
6639
|
+
extractParamsFromPath: () => extractParamsFromPath,
|
|
6640
|
+
extractTitle: () => extractTitle,
|
|
6641
|
+
findOGImageForPath: () => findOGImageForPath,
|
|
6642
|
+
formatAsMarkdown: () => formatAsMarkdown,
|
|
6643
|
+
formatAsText: () => formatAsText,
|
|
6644
|
+
formatMessage: () => formatMessage,
|
|
6645
|
+
generateAtomXML: () => generateAtomXML,
|
|
6646
|
+
generateCollectionScripts: () => generateCollectionScripts,
|
|
6647
|
+
generateContentHash: () => generateContentHash,
|
|
6648
|
+
generateFeed: () => generateFeed,
|
|
6649
|
+
generateHydrationScripts: () => generateHydrationScripts,
|
|
6650
|
+
generateLLMsFooter: () => generateLLMsFooter,
|
|
6651
|
+
generateLLMsFullContent: () => generateLLMsFullContent,
|
|
6652
|
+
generateLLMsIndex: () => generateLLMsIndex,
|
|
6653
|
+
generateOGImageMetaTags: () => generateOGImageMetaTags,
|
|
6654
|
+
generateRSSXML: () => generateRSSXML,
|
|
6655
|
+
generateRobots: () => generateRobots,
|
|
6656
|
+
generateSitemap: () => generateSitemap,
|
|
6657
|
+
generateSitemapIndexXML: () => generateSitemapIndexXML,
|
|
6658
|
+
generateSitemapXML: () => generateSitemapXML,
|
|
6659
|
+
getContentMeta: () => getContentMeta,
|
|
6660
|
+
getMatchingLayouts: () => getMatchingLayouts,
|
|
6661
|
+
getMessage: () => getMessage,
|
|
6662
|
+
getMimeType: () => getMimeType,
|
|
6663
|
+
getPatternDepth: () => getPatternDepth,
|
|
6664
|
+
getRedirectSourcePaths: () => getRedirectSourcePaths,
|
|
6665
|
+
getSitemapExcludedRoutes: () => getSitemapExcludedRoutes,
|
|
6666
|
+
gzipIfAccepted: () => gzipIfAccepted,
|
|
6667
|
+
hreflangTags: () => hreflangTags,
|
|
6668
|
+
htmlToMarkdown: () => htmlToMarkdown,
|
|
6669
|
+
importContentModuleForPath: () => importContentModuleForPath,
|
|
6670
|
+
inlineThemeCSS: () => inlineThemeCSS,
|
|
6671
|
+
isCompressible: () => isCompressible,
|
|
6672
|
+
isThenable: () => isThenable,
|
|
6673
|
+
join: () => join2,
|
|
6674
|
+
listContentFiles: () => listContentFiles,
|
|
6675
|
+
loadCollections: () => loadCollections,
|
|
6676
|
+
loadConfig: () => loadConfig,
|
|
6677
|
+
loadIndexHtml: () => loadIndexHtml,
|
|
6678
|
+
loadOGImageComponent: () => loadOGImageComponent,
|
|
6679
|
+
loadRoutesModule: () => loadRoutesModule,
|
|
6680
|
+
localizeContentHref: () => localizeContentHref,
|
|
6681
|
+
localizeHref: () => localizeHref,
|
|
6682
|
+
looksLikeLocale: () => looksLikeLocale,
|
|
6683
|
+
lookupMessage: () => lookupMessage,
|
|
6684
|
+
matchRoutePattern: () => matchRoutePattern,
|
|
6685
|
+
matchRoutes: () => matchRoutes,
|
|
6686
|
+
mergeLayoutData: () => mergeLayoutData,
|
|
6687
|
+
negotiateLocale: () => negotiateLocale,
|
|
6688
|
+
normalizePathname: () => normalizePathname,
|
|
6689
|
+
parseContentPath: () => parseContentPath,
|
|
6690
|
+
parseCookieValue: () => parseCookieValue,
|
|
6691
|
+
performSSRSetup: () => performSSRSetup,
|
|
6692
|
+
preloadContentModule: () => preloadContentModule,
|
|
6693
|
+
processCollections: () => processCollections,
|
|
6694
|
+
removeOverriddenMetaTags: () => removeOverriddenMetaTags,
|
|
6695
|
+
renderOGImageToPNG: () => renderOGImageToPNG,
|
|
6696
|
+
renderSSRDocument: () => renderSSRDocument,
|
|
6697
|
+
renderSSRDocumentStream: () => renderSSRDocumentStream,
|
|
6698
|
+
resetSSRAccessTracking: () => resetSSRAccessTracking,
|
|
6699
|
+
resolveLocale: () => resolveLocale,
|
|
6700
|
+
seedSSRModuleForPath: () => seedSSRModuleForPath,
|
|
6701
|
+
setGlobalCollections: () => setGlobalCollections,
|
|
6702
|
+
setGlobalSSRData: () => setGlobalSSRData,
|
|
6703
|
+
shouldExcludeRoute: () => shouldExcludeRoute,
|
|
6704
|
+
splitTemplate: () => splitTemplate,
|
|
6705
|
+
ssrCache: () => ssrCache,
|
|
6706
|
+
statusCache: () => statusCache,
|
|
6707
|
+
stripEnd: () => stripEnd,
|
|
6708
|
+
stripHtmlTags: () => stripHtmlTags,
|
|
6709
|
+
stripStart: () => stripStart,
|
|
6710
|
+
toBytes: () => toBytes,
|
|
6711
|
+
toOgLocale: () => toOgLocale,
|
|
6712
|
+
toPromise: () => toPromise
|
|
6660
6713
|
});
|
|
6661
6714
|
var init_core = __esm(() => {
|
|
6662
6715
|
init_src();
|
|
@@ -6685,7 +6738,7 @@ function shouldRebuildClientBundle(filename) {
|
|
|
6685
6738
|
|
|
6686
6739
|
// packages/cli/src/commands/lib/env.ts
|
|
6687
6740
|
import { existsSync as existsSync2, readFileSync } from "node:fs";
|
|
6688
|
-
import { join as
|
|
6741
|
+
import { join as join5 } from "node:path";
|
|
6689
6742
|
function parseEnvFile(content2) {
|
|
6690
6743
|
const env = {};
|
|
6691
6744
|
const lines = content2.split(`
|
|
@@ -6711,7 +6764,7 @@ function loadEnvFiles(cwd, mode = "development") {
|
|
|
6711
6764
|
const env = {};
|
|
6712
6765
|
const loadedFiles = [];
|
|
6713
6766
|
for (const file of envFiles) {
|
|
6714
|
-
const filePath =
|
|
6767
|
+
const filePath = join5(cwd, file);
|
|
6715
6768
|
if (existsSync2(filePath)) {
|
|
6716
6769
|
try {
|
|
6717
6770
|
const content2 = readFileSync(filePath, "utf-8");
|
|
@@ -6755,11 +6808,11 @@ var init_env = () => {};
|
|
|
6755
6808
|
|
|
6756
6809
|
// packages/cli/src/commands/lib/markdown/availability.ts
|
|
6757
6810
|
import { existsSync as existsSync3, readFileSync as readFileSync2 } from "node:fs";
|
|
6758
|
-
import { dirname, join as
|
|
6811
|
+
import { dirname as dirname2, join as join6 } from "node:path";
|
|
6759
6812
|
function isPackageAvailable(cwd, packageName) {
|
|
6760
6813
|
let currentDir = cwd;
|
|
6761
6814
|
for (let i = 0;i < 5; i++) {
|
|
6762
|
-
const packageJsonPath =
|
|
6815
|
+
const packageJsonPath = join6(currentDir, "package.json");
|
|
6763
6816
|
if (existsSync3(packageJsonPath)) {
|
|
6764
6817
|
try {
|
|
6765
6818
|
const packageJson = JSON.parse(readFileSync2(packageJsonPath, "utf-8"));
|
|
@@ -6773,7 +6826,7 @@ function isPackageAvailable(cwd, packageName) {
|
|
|
6773
6826
|
}
|
|
6774
6827
|
} catch {}
|
|
6775
6828
|
}
|
|
6776
|
-
const parentDir =
|
|
6829
|
+
const parentDir = dirname2(currentDir);
|
|
6777
6830
|
if (parentDir === currentDir) {
|
|
6778
6831
|
break;
|
|
6779
6832
|
}
|
|
@@ -6831,7 +6884,7 @@ var init_availability = () => {};
|
|
|
6831
6884
|
|
|
6832
6885
|
// packages/cli/src/commands/lib/markdown/processor.ts
|
|
6833
6886
|
import { existsSync as existsSync4, readFileSync as readFileSync3 } from "node:fs";
|
|
6834
|
-
import { basename as
|
|
6887
|
+
import { basename as basename3, dirname as dirname3, extname as extname3, join as join7, relative, resolve } from "node:path";
|
|
6835
6888
|
import matter from "gray-matter";
|
|
6836
6889
|
function convertPropertiesToJsx(properties) {
|
|
6837
6890
|
const newProperties = {};
|
|
@@ -6890,7 +6943,7 @@ function processMarkdownFile(filePath) {
|
|
|
6890
6943
|
function isMdxAvailable2(cwd) {
|
|
6891
6944
|
let currentDir = cwd;
|
|
6892
6945
|
for (let i = 0;i < 5; i++) {
|
|
6893
|
-
const packageJsonPath =
|
|
6946
|
+
const packageJsonPath = join7(currentDir, "package.json");
|
|
6894
6947
|
if (existsSync4(packageJsonPath)) {
|
|
6895
6948
|
try {
|
|
6896
6949
|
const packageJson = JSON.parse(readFileSync3(packageJsonPath, "utf-8"));
|
|
@@ -6904,7 +6957,7 @@ function isMdxAvailable2(cwd) {
|
|
|
6904
6957
|
}
|
|
6905
6958
|
} catch {}
|
|
6906
6959
|
}
|
|
6907
|
-
const parentDir =
|
|
6960
|
+
const parentDir = dirname3(currentDir);
|
|
6908
6961
|
if (parentDir === currentDir) {
|
|
6909
6962
|
break;
|
|
6910
6963
|
}
|
|
@@ -6914,10 +6967,10 @@ function isMdxAvailable2(cwd) {
|
|
|
6914
6967
|
}
|
|
6915
6968
|
function tryLoadModule(cwd, moduleName) {
|
|
6916
6969
|
const pathsToTry = [
|
|
6917
|
-
|
|
6918
|
-
|
|
6919
|
-
|
|
6920
|
-
|
|
6970
|
+
join7(cwd, `node_modules/${moduleName}`),
|
|
6971
|
+
join7(cwd, `../node_modules/${moduleName}`),
|
|
6972
|
+
join7(cwd, `../../node_modules/${moduleName}`),
|
|
6973
|
+
join7(cwd, `../../../node_modules/${moduleName}`)
|
|
6921
6974
|
];
|
|
6922
6975
|
for (const modulePath of pathsToTry) {
|
|
6923
6976
|
try {
|
|
@@ -7006,9 +7059,9 @@ async function compileMdx(content2, cwd, options = {}) {
|
|
|
7006
7059
|
function rewriteImportPaths(code, sourcePath, targetPath) {
|
|
7007
7060
|
const importRegex = /import\s+(?:{[^}]+}|[\w\s,]+)\s+from\s+['"](\.[^'"]+)['"]/g;
|
|
7008
7061
|
return code.replace(importRegex, (match, importPath) => {
|
|
7009
|
-
const sourceDir =
|
|
7062
|
+
const sourceDir = dirname3(sourcePath);
|
|
7010
7063
|
const absoluteImportPath = resolve(sourceDir, importPath);
|
|
7011
|
-
const targetDir =
|
|
7064
|
+
const targetDir = dirname3(targetPath);
|
|
7012
7065
|
let newRelativePath = relative(targetDir, absoluteImportPath);
|
|
7013
7066
|
if (!newRelativePath.startsWith(".")) {
|
|
7014
7067
|
newRelativePath = `./${newRelativePath}`;
|
|
@@ -7166,7 +7219,7 @@ export default function MarkdownFallback() {
|
|
|
7166
7219
|
`;
|
|
7167
7220
|
}
|
|
7168
7221
|
function isMarkdownFile(filePath) {
|
|
7169
|
-
const ext =
|
|
7222
|
+
const ext = extname3(filePath).toLowerCase();
|
|
7170
7223
|
return ext === ".md" || ext === ".mdx";
|
|
7171
7224
|
}
|
|
7172
7225
|
function extractHeadings(content2, options = {}) {
|
|
@@ -7247,7 +7300,7 @@ function isProductionMode(args = []) {
|
|
|
7247
7300
|
}
|
|
7248
7301
|
|
|
7249
7302
|
// packages/cli/src/commands/lib/streaming/analyzer.ts
|
|
7250
|
-
import { dirname as
|
|
7303
|
+
import { dirname as dirname4, join as join8 } from "node:path";
|
|
7251
7304
|
function hasSSRDataExport(source) {
|
|
7252
7305
|
if (SSR_DATA_INLINE_EXPORT_REGEX.test(source)) {
|
|
7253
7306
|
return true;
|
|
@@ -7274,11 +7327,11 @@ async function analyzeRouteForStreaming(options) {
|
|
|
7274
7327
|
};
|
|
7275
7328
|
}
|
|
7276
7329
|
async function findSkeletonForTarget(routesDir, relativePath, type) {
|
|
7277
|
-
const dirName = normalizeRelativePath(
|
|
7278
|
-
const baseDir = dirName === "." ? routesDir :
|
|
7330
|
+
const dirName = normalizeRelativePath(dirname4(relativePath));
|
|
7331
|
+
const baseDir = dirName === "." ? routesDir : join8(routesDir, dirName).replace(/\\/g, "/");
|
|
7279
7332
|
const candidates = type === "layout" ? ["[layout+skeleton].tsx", "[layout+skeleton].ts"] : ["[skeleton].tsx", "[skeleton].ts"];
|
|
7280
7333
|
for (const candidate of candidates) {
|
|
7281
|
-
const candidatePath =
|
|
7334
|
+
const candidatePath = join8(baseDir, candidate);
|
|
7282
7335
|
try {
|
|
7283
7336
|
const file = Bun.file(candidatePath);
|
|
7284
7337
|
if (await file.exists()) {
|
|
@@ -7299,12 +7352,12 @@ var init_analyzer = __esm(() => {
|
|
|
7299
7352
|
});
|
|
7300
7353
|
|
|
7301
7354
|
// packages/cli/src/commands/lib/streaming/suspense.ts
|
|
7302
|
-
import { dirname as
|
|
7355
|
+
import { dirname as dirname5, join as join9, relative as relative2 } from "node:path";
|
|
7303
7356
|
async function generateStreamingWrapper(options) {
|
|
7304
7357
|
const { cwd, relativeFilePath, analysis, config: config2 } = options;
|
|
7305
|
-
const streamingModulePath =
|
|
7306
|
-
const wrapperDir =
|
|
7307
|
-
const originalModuleWithoutExt = removeExtension(
|
|
7358
|
+
const streamingModulePath = join9(cwd, ".reroute", "streaming", relativeFilePath).replace(/\.(tsx|ts)$/, ".tsx");
|
|
7359
|
+
const wrapperDir = dirname5(streamingModulePath);
|
|
7360
|
+
const originalModuleWithoutExt = removeExtension(join9(cwd, "src", "client", "routes", relativeFilePath));
|
|
7308
7361
|
const originalImportPath = toImportPath(wrapperDir, originalModuleWithoutExt);
|
|
7309
7362
|
const skeletonImportBlock = await resolveSkeletonBlock({
|
|
7310
7363
|
analysis,
|
|
@@ -7346,7 +7399,7 @@ async function resolveSkeletonBlock(args) {
|
|
|
7346
7399
|
}
|
|
7347
7400
|
function resolveConfiguredSkeletonPath(value, cwd) {
|
|
7348
7401
|
if (typeof value === "string" && value.trim().length > 0) {
|
|
7349
|
-
return value.startsWith("/") ? value :
|
|
7402
|
+
return value.startsWith("/") ? value : join9(cwd, value);
|
|
7350
7403
|
}
|
|
7351
7404
|
if (value && !warnedSkeletonType) {
|
|
7352
7405
|
console.warn("[reroute/streaming] default skeletons must be provided as string module paths in reroute.config.ts");
|
|
@@ -7383,10 +7436,10 @@ var init_suspense = () => {};
|
|
|
7383
7436
|
// packages/cli/src/commands/lib/theme.ts
|
|
7384
7437
|
import { existsSync as existsSync5, readFileSync as readFileSync4 } from "node:fs";
|
|
7385
7438
|
import { mkdir as mkdir2, writeFile } from "node:fs/promises";
|
|
7386
|
-
import { dirname as
|
|
7439
|
+
import { dirname as dirname6, isAbsolute, join as join10, resolve as resolve2 } from "node:path";
|
|
7387
7440
|
function getCssPaths(cwd) {
|
|
7388
|
-
const input =
|
|
7389
|
-
const output =
|
|
7441
|
+
const input = join10(cwd, "src/client/index.css");
|
|
7442
|
+
const output = join10(cwd, ".reroute/index.css");
|
|
7390
7443
|
return { input, output };
|
|
7391
7444
|
}
|
|
7392
7445
|
function isFileImport(specifier) {
|
|
@@ -7412,7 +7465,7 @@ function bundleCssEntrypoint(entryPath) {
|
|
|
7412
7465
|
}
|
|
7413
7466
|
stack.add(absPath);
|
|
7414
7467
|
const source = readFileSync4(absPath, "utf-8");
|
|
7415
|
-
const baseDir =
|
|
7468
|
+
const baseDir = dirname6(absPath);
|
|
7416
7469
|
const bundled = source.replace(IMPORT_RE, (full, single, double, bare, rest) => {
|
|
7417
7470
|
const specifier = single || double || bare;
|
|
7418
7471
|
const condition = (rest ?? "").trim();
|
|
@@ -7435,7 +7488,7 @@ async function syncThemeCss(cwd) {
|
|
|
7435
7488
|
if (!existsSync5(input)) {
|
|
7436
7489
|
return false;
|
|
7437
7490
|
}
|
|
7438
|
-
await mkdir2(
|
|
7491
|
+
await mkdir2(dirname6(output), { recursive: true });
|
|
7439
7492
|
try {
|
|
7440
7493
|
const css = bundleCssEntrypoint(input);
|
|
7441
7494
|
await writeFile(output, css, "utf-8");
|
|
@@ -7458,15 +7511,19 @@ var init_theme = __esm(() => {
|
|
|
7458
7511
|
// packages/cli/src/commands/gen.ts
|
|
7459
7512
|
var exports_gen = {};
|
|
7460
7513
|
__export(exports_gen, {
|
|
7461
|
-
default: () => gen
|
|
7514
|
+
default: () => gen,
|
|
7515
|
+
startGenWatch: () => startGenWatch
|
|
7462
7516
|
});
|
|
7463
7517
|
import { watch } from "node:fs";
|
|
7464
|
-
import { copyFile, mkdir as mkdir3, readdir as readdir7, rm, unlink } from "node:fs/promises";
|
|
7465
|
-
import { dirname as
|
|
7518
|
+
import { copyFile as copyFile2, mkdir as mkdir3, readdir as readdir7, rm, unlink as unlink2 } from "node:fs/promises";
|
|
7519
|
+
import { dirname as dirname7, extname as extname4, join as join11 } from "node:path";
|
|
7466
7520
|
import { pathToFileURL as pathToFileURL8 } from "node:url";
|
|
7521
|
+
function isWatchNoise(name) {
|
|
7522
|
+
return name.split(/[/\\]/).some((part) => part.startsWith(".")) || /\.bust-[^/\\]+$/.test(name);
|
|
7523
|
+
}
|
|
7467
7524
|
async function bundleThemeCssIntoArtifacts(cwd) {
|
|
7468
|
-
const cssPath =
|
|
7469
|
-
const artifactsPath =
|
|
7525
|
+
const cssPath = join11(cwd, ".reroute", "index.css");
|
|
7526
|
+
const artifactsPath = join11(cwd, OUTPUT_ARTIFACTS);
|
|
7470
7527
|
try {
|
|
7471
7528
|
const cssContent = await Bun.file(cssPath).text();
|
|
7472
7529
|
if (!cssContent)
|
|
@@ -7492,7 +7549,7 @@ async function bundleThemeCssIntoArtifacts(cwd) {
|
|
|
7492
7549
|
async function ensureOutputDir(cwd, options = {}) {
|
|
7493
7550
|
const { clean = true } = options;
|
|
7494
7551
|
try {
|
|
7495
|
-
const outputPath =
|
|
7552
|
+
const outputPath = join11(cwd, OUTPUT_DIR);
|
|
7496
7553
|
if (clean) {
|
|
7497
7554
|
let needsCleanup = false;
|
|
7498
7555
|
try {
|
|
@@ -7505,9 +7562,9 @@ async function ensureOutputDir(cwd, options = {}) {
|
|
|
7505
7562
|
}
|
|
7506
7563
|
}
|
|
7507
7564
|
await mkdir3(outputPath, { recursive: true });
|
|
7508
|
-
await mkdir3(
|
|
7509
|
-
await mkdir3(
|
|
7510
|
-
await mkdir3(
|
|
7565
|
+
await mkdir3(join11(cwd, OUTPUT_COLLECTIONS_DIR), { recursive: true });
|
|
7566
|
+
await mkdir3(join11(cwd, ".reroute/bundles"), { recursive: true });
|
|
7567
|
+
await mkdir3(join11(cwd, ".reroute/streaming"), { recursive: true });
|
|
7511
7568
|
} catch {}
|
|
7512
7569
|
}
|
|
7513
7570
|
async function writeStubFiles(cwd) {
|
|
@@ -7565,11 +7622,11 @@ import './artifacts';
|
|
|
7565
7622
|
import './routes'; // Import routes (bundles all route components)
|
|
7566
7623
|
import '../src/index';
|
|
7567
7624
|
`;
|
|
7568
|
-
await Bun.write(
|
|
7569
|
-
await Bun.write(
|
|
7570
|
-
await Bun.write(
|
|
7571
|
-
await Bun.write(
|
|
7572
|
-
await Bun.write(
|
|
7625
|
+
await Bun.write(join11(cwd, OUTPUT_ROUTES), STUB_ROUTES);
|
|
7626
|
+
await Bun.write(join11(cwd, OUTPUT_CONTENT_TS), STUB_CONTENT);
|
|
7627
|
+
await Bun.write(join11(cwd, OUTPUT_ARTIFACTS), STUB_ARTIFACTS);
|
|
7628
|
+
await Bun.write(join11(cwd, OUTPUT_INDEX), STUB_INDEX);
|
|
7629
|
+
await Bun.write(join11(cwd, ".reroute/entry.ts"), STUB_ENTRY);
|
|
7573
7630
|
console.log("[reroute/gen] Initialized stub files");
|
|
7574
7631
|
}
|
|
7575
7632
|
function shouldSkipFile(relativePath, entryName) {
|
|
@@ -7591,8 +7648,8 @@ async function scanDirectory(dir, base = "") {
|
|
|
7591
7648
|
const files = [];
|
|
7592
7649
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7593
7650
|
for (const entry of entries) {
|
|
7594
|
-
const fullPath =
|
|
7595
|
-
const relativePath =
|
|
7651
|
+
const fullPath = join11(dir, entry.name);
|
|
7652
|
+
const relativePath = join11(base, entry.name);
|
|
7596
7653
|
if (entry.isDirectory()) {
|
|
7597
7654
|
if (entry.name === "content")
|
|
7598
7655
|
continue;
|
|
@@ -7610,8 +7667,8 @@ async function scan404Files(dir, base = "") {
|
|
|
7610
7667
|
const files = [];
|
|
7611
7668
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7612
7669
|
for (const entry of entries) {
|
|
7613
|
-
const fullPath =
|
|
7614
|
-
const relativePath =
|
|
7670
|
+
const fullPath = join11(dir, entry.name);
|
|
7671
|
+
const relativePath = join11(base, entry.name);
|
|
7615
7672
|
if (entry.isDirectory()) {
|
|
7616
7673
|
const nested = await scan404Files(fullPath, relativePath);
|
|
7617
7674
|
files.push(...nested);
|
|
@@ -7626,8 +7683,8 @@ async function scanOgFiles(dir, base = "") {
|
|
|
7626
7683
|
const files = [];
|
|
7627
7684
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7628
7685
|
for (const entry of entries) {
|
|
7629
|
-
const fullPath =
|
|
7630
|
-
const relativePath =
|
|
7686
|
+
const fullPath = join11(dir, entry.name);
|
|
7687
|
+
const relativePath = join11(base, entry.name);
|
|
7631
7688
|
if (entry.isDirectory()) {
|
|
7632
7689
|
if (entry.name === "content")
|
|
7633
7690
|
continue;
|
|
@@ -7881,7 +7938,7 @@ function matchPattern(route: Route, pathname: string): Record<string, string> |
|
|
|
7881
7938
|
`;
|
|
7882
7939
|
}
|
|
7883
7940
|
async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
7884
|
-
const streamingDir =
|
|
7941
|
+
const streamingDir = join11(cwd, ".reroute", "streaming");
|
|
7885
7942
|
const analyses = new Map;
|
|
7886
7943
|
const candidates = [
|
|
7887
7944
|
...tree.routes.map((route) => ({
|
|
@@ -7900,7 +7957,7 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
|
7900
7957
|
for (const candidate of candidates) {
|
|
7901
7958
|
if (!/\.(tsx|ts)$/.test(candidate.filePath))
|
|
7902
7959
|
continue;
|
|
7903
|
-
const absolutePath =
|
|
7960
|
+
const absolutePath = join11(routesPath, candidate.filePath);
|
|
7904
7961
|
const analysis = await analyzeRouteForStreaming({
|
|
7905
7962
|
absolutePath,
|
|
7906
7963
|
relativePath: candidate.filePath,
|
|
@@ -7909,8 +7966,8 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
|
7909
7966
|
});
|
|
7910
7967
|
if (!analysis.needsStreaming)
|
|
7911
7968
|
continue;
|
|
7912
|
-
const wrapperPath =
|
|
7913
|
-
await mkdir3(
|
|
7969
|
+
const wrapperPath = join11(streamingDir, candidate.filePath).replace(/\.(tsx|ts)$/, ".tsx");
|
|
7970
|
+
await mkdir3(dirname7(wrapperPath), { recursive: true });
|
|
7914
7971
|
const code = await generateStreamingWrapper({
|
|
7915
7972
|
cwd,
|
|
7916
7973
|
relativeFilePath: candidate.filePath,
|
|
@@ -7934,13 +7991,13 @@ function isContentFileName(name) {
|
|
|
7934
7991
|
}
|
|
7935
7992
|
async function listLocaleContentFiles(collectionDir, locale) {
|
|
7936
7993
|
try {
|
|
7937
|
-
const nested = await readdir7(
|
|
7994
|
+
const nested = await readdir7(join11(collectionDir, locale), {
|
|
7938
7995
|
withFileTypes: true
|
|
7939
7996
|
});
|
|
7940
7997
|
const files = [];
|
|
7941
7998
|
for (const n of nested) {
|
|
7942
7999
|
if (n.isFile() && isContentFileName(n.name)) {
|
|
7943
|
-
files.push({ relativePath:
|
|
8000
|
+
files.push({ relativePath: join11(locale, n.name), locale });
|
|
7944
8001
|
}
|
|
7945
8002
|
}
|
|
7946
8003
|
return files;
|
|
@@ -7978,13 +8035,13 @@ async function loadContentMeta(absSrc, buildSrc, isMarkdown) {
|
|
|
7978
8035
|
if (isMarkdown) {
|
|
7979
8036
|
return processMarkdownFile(absSrc).frontmatter || {};
|
|
7980
8037
|
}
|
|
7981
|
-
const tmp =
|
|
8038
|
+
const tmp = join11(dirname7(buildSrc), `.meta-${Date.now()}-${Math.random().toString(36).slice(2)}${extname4(buildSrc)}`);
|
|
7982
8039
|
try {
|
|
7983
|
-
await
|
|
8040
|
+
await copyFile2(buildSrc, tmp);
|
|
7984
8041
|
const m = await import(pathToFileURL8(tmp).href);
|
|
7985
8042
|
return m.meta || {};
|
|
7986
8043
|
} finally {
|
|
7987
|
-
await
|
|
8044
|
+
await unlink2(tmp).catch(() => {});
|
|
7988
8045
|
}
|
|
7989
8046
|
}
|
|
7990
8047
|
function serializeConfig(config2) {
|
|
@@ -8036,9 +8093,9 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8036
8093
|
const locale = fileRef.locale || defaultLocale;
|
|
8037
8094
|
const baseName = file.split("/").pop() || file;
|
|
8038
8095
|
const name = baseName.replace(/\.(tsx|ts|md|mdx)$/, "");
|
|
8039
|
-
const absSrc =
|
|
8096
|
+
const absSrc = join11(contentDir, file);
|
|
8040
8097
|
const isMarkdown = /\.(md|mdx)$/.test(file);
|
|
8041
|
-
const buildSrc = isMarkdown ?
|
|
8098
|
+
const buildSrc = isMarkdown ? join11(cwd, ".reroute", "markdown", collection, "content", file.replace(/\.(md|mdx)$/, ".tsx")) : absSrc;
|
|
8042
8099
|
if (isMarkdown) {
|
|
8043
8100
|
try {
|
|
8044
8101
|
const exists = await Bun.file(buildSrc).exists();
|
|
@@ -8084,11 +8141,11 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8084
8141
|
return null;
|
|
8085
8142
|
}
|
|
8086
8143
|
const hash2 = await sha8(code);
|
|
8087
|
-
const chunkRelDir =
|
|
8088
|
-
const chunkAbsDir =
|
|
8144
|
+
const chunkRelDir = join11(".reroute", "bundles");
|
|
8145
|
+
const chunkAbsDir = join11(cwd, chunkRelDir);
|
|
8089
8146
|
const localeSuffix = locale !== defaultLocale ? `${locale}-` : "";
|
|
8090
8147
|
const outFile = `${collection}-${localeSuffix}${name}.${hash2}.js`;
|
|
8091
|
-
const absOut =
|
|
8148
|
+
const absOut = join11(chunkAbsDir, outFile);
|
|
8092
8149
|
if (sourcemapContent) {
|
|
8093
8150
|
code = code.replace(/\/\/# sourceMappingURL=.*\.js\.map/, `//# sourceMappingURL=${outFile}.map`);
|
|
8094
8151
|
}
|
|
@@ -8121,7 +8178,7 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8121
8178
|
};
|
|
8122
8179
|
}
|
|
8123
8180
|
async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
8124
|
-
const routesRoot =
|
|
8181
|
+
const routesRoot = join11(cwd, ROUTES_DIR);
|
|
8125
8182
|
console.log(`[reroute/content] scan ${routesRoot}`);
|
|
8126
8183
|
const collections2 = await readdir7(routesRoot, { withFileTypes: true });
|
|
8127
8184
|
const results = [];
|
|
@@ -8129,7 +8186,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8129
8186
|
if (!c.isDirectory())
|
|
8130
8187
|
continue;
|
|
8131
8188
|
const collection = c.name;
|
|
8132
|
-
const contentDir =
|
|
8189
|
+
const contentDir = join11(routesRoot, collection, "content");
|
|
8133
8190
|
console.log(`[reroute/content] collection ${collection} dir ${contentDir}`);
|
|
8134
8191
|
const files = await listContentFiles2(contentDir);
|
|
8135
8192
|
console.log(`[reroute/content] files ${files.length}`);
|
|
@@ -8181,7 +8238,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8181
8238
|
lines.push("");
|
|
8182
8239
|
const writes = [];
|
|
8183
8240
|
writes.push({
|
|
8184
|
-
path:
|
|
8241
|
+
path: join11(cwd, OUTPUT_CONTENT_TS),
|
|
8185
8242
|
content: lines.join(`
|
|
8186
8243
|
`)
|
|
8187
8244
|
});
|
|
@@ -8215,7 +8272,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8215
8272
|
js.push("}");
|
|
8216
8273
|
js.push("");
|
|
8217
8274
|
writes.push({
|
|
8218
|
-
path:
|
|
8275
|
+
path: join11(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`),
|
|
8219
8276
|
content: js.join(`
|
|
8220
8277
|
`)
|
|
8221
8278
|
});
|
|
@@ -8239,7 +8296,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8239
8296
|
minHeadingLevel = 1,
|
|
8240
8297
|
maxHeadingLevel = 6
|
|
8241
8298
|
} = searchConfig;
|
|
8242
|
-
const routesRoot =
|
|
8299
|
+
const routesRoot = join11(cwd, ROUTES_DIR);
|
|
8243
8300
|
const collections2 = await readdir7(routesRoot, { withFileTypes: true });
|
|
8244
8301
|
const i18n2 = await discoverI18n(cwd, config2.i18n);
|
|
8245
8302
|
const defaultLocale = i18n2.defaultLocale;
|
|
@@ -8251,7 +8308,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8251
8308
|
if (targetCollections.length > 0 && !targetCollections.includes(collection)) {
|
|
8252
8309
|
continue;
|
|
8253
8310
|
}
|
|
8254
|
-
const contentDir =
|
|
8311
|
+
const contentDir = join11(routesRoot, collection, "content");
|
|
8255
8312
|
try {
|
|
8256
8313
|
const files = await listContentFiles2(contentDir);
|
|
8257
8314
|
for (const fileRef of files) {
|
|
@@ -8261,7 +8318,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8261
8318
|
const baseName = file.split("/").pop() || file;
|
|
8262
8319
|
const name = baseName.replace(/\.(md|mdx)$/, "");
|
|
8263
8320
|
const locale = fileRef.locale || defaultLocale;
|
|
8264
|
-
const filePath =
|
|
8321
|
+
const filePath = join11(contentDir, file);
|
|
8265
8322
|
try {
|
|
8266
8323
|
const processed = processMarkdownFile(filePath);
|
|
8267
8324
|
const { frontmatter, content: content2 } = processed;
|
|
@@ -8309,13 +8366,13 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8309
8366
|
generated: new Date().toISOString(),
|
|
8310
8367
|
entries: searchIndex
|
|
8311
8368
|
};
|
|
8312
|
-
await Bun.write(
|
|
8313
|
-
console.log(`[reroute/search] Generated search index with ${searchIndex.length} entries: ${
|
|
8369
|
+
await Bun.write(join11(cwd, OUTPUT_SEARCH_INDEX), JSON.stringify(indexData, null, 2));
|
|
8370
|
+
console.log(`[reroute/search] Generated search index with ${searchIndex.length} entries: ${join11(cwd, OUTPUT_SEARCH_INDEX)}`);
|
|
8314
8371
|
}
|
|
8315
8372
|
async function preprocessMarkdownFiles(cwd, config2) {
|
|
8316
8373
|
console.log("[reroute/markdown] Starting markdown preprocessing...");
|
|
8317
|
-
const routesPath =
|
|
8318
|
-
const markdownDir =
|
|
8374
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8375
|
+
const markdownDir = join11(cwd, ".reroute", "markdown");
|
|
8319
8376
|
try {
|
|
8320
8377
|
await rm(markdownDir, { force: true, recursive: true });
|
|
8321
8378
|
} catch {}
|
|
@@ -8325,8 +8382,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8325
8382
|
try {
|
|
8326
8383
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
8327
8384
|
for (const entry of entries) {
|
|
8328
|
-
const fullPath =
|
|
8329
|
-
const relativePath =
|
|
8385
|
+
const fullPath = join11(dir, entry.name);
|
|
8386
|
+
const relativePath = join11(base, entry.name);
|
|
8330
8387
|
if (entry.isDirectory()) {
|
|
8331
8388
|
const nested = await scanMarkdown(fullPath, relativePath);
|
|
8332
8389
|
files.push(...nested);
|
|
@@ -8348,8 +8405,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8348
8405
|
}
|
|
8349
8406
|
console.log(`[reroute/markdown] Found ${markdownFiles.length} markdown file(s)`);
|
|
8350
8407
|
for (const file of markdownFiles) {
|
|
8351
|
-
const sourcePath =
|
|
8352
|
-
const targetPath =
|
|
8408
|
+
const sourcePath = join11(routesPath, file);
|
|
8409
|
+
const targetPath = join11(markdownDir, file.replace(/\.mdx?$/, ".tsx"));
|
|
8353
8410
|
try {
|
|
8354
8411
|
const processed = processMarkdownFile(sourcePath);
|
|
8355
8412
|
const isMdx = file.endsWith(".mdx");
|
|
@@ -8375,8 +8432,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8375
8432
|
}
|
|
8376
8433
|
async function buildEntrypointBundle(cwd, args = []) {
|
|
8377
8434
|
const buildStartTime = performance.now();
|
|
8378
|
-
const clientDir =
|
|
8379
|
-
const entrypoint =
|
|
8435
|
+
const clientDir = join11(cwd, "src", "client");
|
|
8436
|
+
const entrypoint = join11(clientDir, "index.tsx");
|
|
8380
8437
|
const exists = await Bun.file(entrypoint).exists();
|
|
8381
8438
|
if (!exists) {
|
|
8382
8439
|
console.log("[reroute/gen] No index.tsx found, skipping bundle build");
|
|
@@ -8384,7 +8441,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8384
8441
|
}
|
|
8385
8442
|
console.log("[reroute/gen] Building entrypoint bundle...");
|
|
8386
8443
|
const isProd = args.includes("--prod");
|
|
8387
|
-
const bundlesDir =
|
|
8444
|
+
const bundlesDir = join11(cwd, ".reroute", "bundles");
|
|
8388
8445
|
await mkdir3(bundlesDir, { recursive: true });
|
|
8389
8446
|
const mode = isProd ? "production" : "development";
|
|
8390
8447
|
const publicEnv = getPublicEnvVars(cwd, mode);
|
|
@@ -8486,7 +8543,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8486
8543
|
const existingFiles = await readdir7(bundlesDir);
|
|
8487
8544
|
for (const file of existingFiles) {
|
|
8488
8545
|
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(
|
|
8546
|
+
await rm(join11(bundlesDir, file), { force: true });
|
|
8490
8547
|
}
|
|
8491
8548
|
}
|
|
8492
8549
|
} catch (_error) {}
|
|
@@ -8502,7 +8559,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8502
8559
|
}
|
|
8503
8560
|
}
|
|
8504
8561
|
await Promise.all(outputs.map(async (output) => {
|
|
8505
|
-
const destPath =
|
|
8562
|
+
const destPath = join11(bundlesDir, output.fileName);
|
|
8506
8563
|
await Bun.write(destPath, output.content);
|
|
8507
8564
|
if (shouldPreCompress) {
|
|
8508
8565
|
const shouldCompress = /\.(js|css)$/i.test(output.fileName) && !output.fileName.endsWith(".map");
|
|
@@ -8571,7 +8628,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8571
8628
|
await writeStubFiles(cwd);
|
|
8572
8629
|
}
|
|
8573
8630
|
await perfTrack("Markdown preprocessing", () => preprocessMarkdownFiles(cwd, config2));
|
|
8574
|
-
const routesPath =
|
|
8631
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8575
8632
|
try {
|
|
8576
8633
|
await perfTrack("Routes generation", async () => {
|
|
8577
8634
|
const files = await scanDirectory(routesPath);
|
|
@@ -8580,10 +8637,10 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8580
8637
|
const tree = generateRouteTree(all.map((f) => f.replace(/\\/g, "/")));
|
|
8581
8638
|
const streamingAnalyses = streamingEnabled ? await buildStreamingWrappersForTree(cwd, routesPath, tree, config2) : new Map;
|
|
8582
8639
|
const ts = generateTypeScript(tree, streamingAnalyses);
|
|
8583
|
-
await Bun.write(
|
|
8640
|
+
await Bun.write(join11(cwd, OUTPUT_ROUTES), ts);
|
|
8584
8641
|
});
|
|
8585
8642
|
if (!showPerformance) {
|
|
8586
|
-
console.log(`[reroute/gen] Generated routes: ${
|
|
8643
|
+
console.log(`[reroute/gen] Generated routes: ${join11(cwd, OUTPUT_ROUTES)}`);
|
|
8587
8644
|
}
|
|
8588
8645
|
} catch (error) {
|
|
8589
8646
|
console.error("[reroute/gen] Failed to generate routes:", error);
|
|
@@ -8592,7 +8649,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8592
8649
|
const i18n2 = await discoverI18n(cwd, config2.i18n);
|
|
8593
8650
|
const defaultLocale = i18n2.defaultLocale;
|
|
8594
8651
|
try {
|
|
8595
|
-
await Bun.write(
|
|
8652
|
+
await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
|
|
8596
8653
|
enabled: i18n2.enabled,
|
|
8597
8654
|
defaultLocale: i18n2.defaultLocale,
|
|
8598
8655
|
locales: i18n2.locales,
|
|
@@ -8609,7 +8666,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8609
8666
|
try {
|
|
8610
8667
|
await perfTrack("Content building", () => buildContentChunks(cwd, args, defaultLocale));
|
|
8611
8668
|
if (!showPerformance) {
|
|
8612
|
-
console.log(`[reroute/gen] Generated content: ${
|
|
8669
|
+
console.log(`[reroute/gen] Generated content: ${join11(cwd, OUTPUT_CONTENT_TS)} + collections/*.js`);
|
|
8613
8670
|
}
|
|
8614
8671
|
} catch (error) {
|
|
8615
8672
|
console.error("[reroute/gen] Failed to generate content:", error);
|
|
@@ -8617,17 +8674,17 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8617
8674
|
}
|
|
8618
8675
|
try {
|
|
8619
8676
|
await perfTrack("Manifest generation", async () => {
|
|
8620
|
-
const routesPath2 =
|
|
8677
|
+
const routesPath2 = join11(cwd, OUTPUT_ROUTES);
|
|
8621
8678
|
const routesModule = await import(`file://${routesPath2}?t=${Date.now()}`);
|
|
8622
8679
|
const routes = routesModule.routes || [];
|
|
8623
8680
|
const staticRoutes = routes.filter((r) => !r.params || r.params.length === 0).map((r) => r.pattern);
|
|
8624
8681
|
const contentRoutes = [];
|
|
8625
|
-
const collectionsDir =
|
|
8682
|
+
const collectionsDir = join11(cwd, ".reroute", "collections");
|
|
8626
8683
|
try {
|
|
8627
8684
|
const collectionFiles = await readdir7(collectionsDir);
|
|
8628
8685
|
for (const file of collectionFiles) {
|
|
8629
8686
|
if (file.endsWith(".js")) {
|
|
8630
|
-
const collectionPath =
|
|
8687
|
+
const collectionPath = join11(collectionsDir, file);
|
|
8631
8688
|
const collectionModule = await import(`file://${collectionPath}?t=${Date.now()}`);
|
|
8632
8689
|
const items = collectionModule.items || [];
|
|
8633
8690
|
for (const item of items) {
|
|
@@ -8652,7 +8709,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8652
8709
|
dynamicRoutes,
|
|
8653
8710
|
version: 1
|
|
8654
8711
|
};
|
|
8655
|
-
await Bun.write(
|
|
8712
|
+
await Bun.write(join11(cwd, ".reroute", "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
8656
8713
|
});
|
|
8657
8714
|
} catch (error) {
|
|
8658
8715
|
console.error("[reroute/gen] Failed to generate manifest:", error);
|
|
@@ -8673,7 +8730,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8673
8730
|
mdComponentsLines.push("");
|
|
8674
8731
|
mdComponentsLines.push(`import markdownComponents from '${componentsPath}';`);
|
|
8675
8732
|
mdComponentsLines.push("export { markdownComponents };");
|
|
8676
|
-
await Bun.write(
|
|
8733
|
+
await Bun.write(join11(cwd, ".reroute/markdown-components.ts"), mdComponentsLines.join(`
|
|
8677
8734
|
`));
|
|
8678
8735
|
}
|
|
8679
8736
|
const indexLines = [];
|
|
@@ -8693,7 +8750,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8693
8750
|
const ogTemplatePath = config2.ogImage.defaultTemplate.startsWith(".") ? `../${config2.ogImage.defaultTemplate}` : config2.ogImage.defaultTemplate;
|
|
8694
8751
|
indexLines.push(`import OGTemplate from '${ogTemplatePath}';`);
|
|
8695
8752
|
}
|
|
8696
|
-
const ogFiles = await scanOgFiles(
|
|
8753
|
+
const ogFiles = await scanOgFiles(join11(cwd, ROUTES_DIR));
|
|
8697
8754
|
const ogImports = [];
|
|
8698
8755
|
for (let i = 0;i < ogFiles.length; i++) {
|
|
8699
8756
|
const ogFile = ogFiles[i];
|
|
@@ -8739,7 +8796,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8739
8796
|
}
|
|
8740
8797
|
indexLines.push("};");
|
|
8741
8798
|
}
|
|
8742
|
-
const templatePath =
|
|
8799
|
+
const templatePath = join11(cwd, "src", "client", "index.html");
|
|
8743
8800
|
try {
|
|
8744
8801
|
const templateContent = await Bun.file(templatePath).text();
|
|
8745
8802
|
indexLines.push("");
|
|
@@ -8751,7 +8808,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8751
8808
|
indexLines.push(`(globalThis as any).__REROUTE_CONFIG__ = ${serializeConfig(config2)};`);
|
|
8752
8809
|
indexLines.push("");
|
|
8753
8810
|
indexLines.push("export type RerouteBundle = typeof bundle;");
|
|
8754
|
-
await Bun.write(
|
|
8811
|
+
await Bun.write(join11(cwd, OUTPUT_ARTIFACTS), indexLines.join(`
|
|
8755
8812
|
`));
|
|
8756
8813
|
const barrelLines = [
|
|
8757
8814
|
"// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
|
|
@@ -8761,7 +8818,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8761
8818
|
"",
|
|
8762
8819
|
"export * from './artifacts';"
|
|
8763
8820
|
];
|
|
8764
|
-
await Bun.write(
|
|
8821
|
+
await Bun.write(join11(cwd, OUTPUT_INDEX), barrelLines.join(`
|
|
8765
8822
|
`));
|
|
8766
8823
|
const entryLines = [
|
|
8767
8824
|
"// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
|
|
@@ -8777,10 +8834,10 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8777
8834
|
"import './routes'; // Import routes (bundles all route components)",
|
|
8778
8835
|
"import '../src/index'; // Import user's server entry"
|
|
8779
8836
|
];
|
|
8780
|
-
await Bun.write(
|
|
8837
|
+
await Bun.write(join11(cwd, ".reroute/entry.ts"), entryLines.join(`
|
|
8781
8838
|
`));
|
|
8782
8839
|
if (!showPerformance) {
|
|
8783
|
-
console.log(`[reroute/gen] Generated artifacts: ${
|
|
8840
|
+
console.log(`[reroute/gen] Generated artifacts: ${join11(cwd, OUTPUT_ARTIFACTS)}`);
|
|
8784
8841
|
}
|
|
8785
8842
|
await perfTrack("Bundle building", () => buildEntrypointBundle(cwd, args));
|
|
8786
8843
|
const endTime = performance.now();
|
|
@@ -8791,22 +8848,8 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8791
8848
|
console.log(`[reroute/gen] Generation complete in ${duration}s`);
|
|
8792
8849
|
}
|
|
8793
8850
|
}
|
|
8794
|
-
async function
|
|
8851
|
+
async function startGenWatch(cwd, args) {
|
|
8795
8852
|
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
8853
|
console.log("[reroute/gen] Watch mode enabled");
|
|
8811
8854
|
console.log("[reroute/gen] Initial generation...");
|
|
8812
8855
|
await generate(cwd, args);
|
|
@@ -8915,7 +8958,7 @@ async function gen(args) {
|
|
|
8915
8958
|
const mediumDebounce = createDebouncer(150);
|
|
8916
8959
|
const slowDebounce = createDebouncer(300);
|
|
8917
8960
|
const loadedConfig = await loadConfig(cwd);
|
|
8918
|
-
const configPath =
|
|
8961
|
+
const configPath = join11(cwd, "reroute.config.ts");
|
|
8919
8962
|
let configWatcher = null;
|
|
8920
8963
|
try {
|
|
8921
8964
|
configWatcher = watch(configPath, () => {
|
|
@@ -8937,7 +8980,7 @@ async function gen(args) {
|
|
|
8937
8980
|
];
|
|
8938
8981
|
const envWatchers = [];
|
|
8939
8982
|
for (const envFile of envFiles) {
|
|
8940
|
-
const envPath =
|
|
8983
|
+
const envPath = join11(cwd, envFile);
|
|
8941
8984
|
try {
|
|
8942
8985
|
const envWatcher = watch(envPath, () => {
|
|
8943
8986
|
mediumDebounce(() => {
|
|
@@ -8956,21 +8999,23 @@ async function gen(args) {
|
|
|
8956
8999
|
let packagesWatcher = null;
|
|
8957
9000
|
const isRerouteWorkspace = async () => {
|
|
8958
9001
|
try {
|
|
8959
|
-
const packagesPath =
|
|
8960
|
-
const exists = await Bun.file(
|
|
9002
|
+
const packagesPath = join11(cwd, "..", "..", "packages");
|
|
9003
|
+
const exists = await Bun.file(join11(packagesPath, "core", "index.ts")).exists();
|
|
8961
9004
|
return exists;
|
|
8962
9005
|
} catch {
|
|
8963
9006
|
return false;
|
|
8964
9007
|
}
|
|
8965
9008
|
};
|
|
8966
9009
|
if (await isRerouteWorkspace()) {
|
|
8967
|
-
const packagesPath =
|
|
9010
|
+
const packagesPath = join11(cwd, "..", "..", "packages");
|
|
8968
9011
|
console.log("[reroute/watch] \uD83D\uDD27 Workspace development mode enabled");
|
|
8969
9012
|
console.log(`[reroute/watch] \uD83D\uDD27 Watching ${packagesPath}...`);
|
|
8970
9013
|
packagesWatcher = watch(packagesPath, { recursive: true }, (_ev, filename) => {
|
|
8971
9014
|
if (!filename)
|
|
8972
9015
|
return;
|
|
8973
9016
|
const name = String(filename);
|
|
9017
|
+
if (isWatchNoise(name))
|
|
9018
|
+
return;
|
|
8974
9019
|
if (name.includes("dist/") || name.includes("node_modules/"))
|
|
8975
9020
|
return;
|
|
8976
9021
|
if (!/\.(tsx|ts|jsx|js)$/.test(name))
|
|
@@ -8987,12 +9032,14 @@ async function gen(args) {
|
|
|
8987
9032
|
});
|
|
8988
9033
|
});
|
|
8989
9034
|
}
|
|
8990
|
-
const routesPath =
|
|
9035
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8991
9036
|
console.log(`[reroute/watch] \uD83D\uDCC1 Watching ${routesPath}...`);
|
|
8992
9037
|
const routesWatcher = watch(routesPath, { recursive: true }, (_ev, filename) => {
|
|
8993
9038
|
if (!filename)
|
|
8994
9039
|
return;
|
|
8995
9040
|
const name = String(filename);
|
|
9041
|
+
if (isWatchNoise(name))
|
|
9042
|
+
return;
|
|
8996
9043
|
quickDebounce(() => {
|
|
8997
9044
|
scheduleBuild(async () => {
|
|
8998
9045
|
const isContentFile = name.includes("/content/") || name.includes("\\content\\");
|
|
@@ -9010,7 +9057,7 @@ async function gen(args) {
|
|
|
9010
9057
|
console.log("[reroute/watch] ├─ Building content chunks...");
|
|
9011
9058
|
const contentStart = performance.now();
|
|
9012
9059
|
const watchI18n = await discoverI18n(cwd, loadedConfig.i18n);
|
|
9013
|
-
await Bun.write(
|
|
9060
|
+
await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
|
|
9014
9061
|
enabled: watchI18n.enabled,
|
|
9015
9062
|
defaultLocale: watchI18n.defaultLocale,
|
|
9016
9063
|
locales: watchI18n.locales,
|
|
@@ -9047,13 +9094,15 @@ async function gen(args) {
|
|
|
9047
9094
|
}, "routes change");
|
|
9048
9095
|
});
|
|
9049
9096
|
});
|
|
9050
|
-
const clientPath =
|
|
9097
|
+
const clientPath = join11(cwd, "src", "client");
|
|
9051
9098
|
console.log(`[reroute/watch] \uD83D\uDCE6 Watching ${clientPath}...`);
|
|
9052
9099
|
let pendingClientFiles = new Set;
|
|
9053
9100
|
const clientWatcher = watch(clientPath, { recursive: true }, (_ev, filename) => {
|
|
9054
9101
|
if (!filename)
|
|
9055
9102
|
return;
|
|
9056
9103
|
const name = String(filename);
|
|
9104
|
+
if (isWatchNoise(name))
|
|
9105
|
+
return;
|
|
9057
9106
|
if (name.includes(".reroute") || name.includes("node_modules"))
|
|
9058
9107
|
return;
|
|
9059
9108
|
if (name.includes("routes/") || name.includes("routes\\"))
|
|
@@ -9096,16 +9145,42 @@ async function gen(args) {
|
|
|
9096
9145
|
configWatcher,
|
|
9097
9146
|
...envWatchers
|
|
9098
9147
|
].filter(Boolean);
|
|
9099
|
-
|
|
9100
|
-
|
|
9148
|
+
return {
|
|
9149
|
+
close() {
|
|
9150
|
+
console.log(`
|
|
9101
9151
|
[reroute/watch] \uD83D\uDED1 Stopping watch mode...`);
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9152
|
+
for (const watcher of watchers) {
|
|
9153
|
+
try {
|
|
9154
|
+
watcher?.close();
|
|
9155
|
+
} catch {}
|
|
9156
|
+
}
|
|
9106
9157
|
}
|
|
9158
|
+
};
|
|
9159
|
+
}
|
|
9160
|
+
async function gen(args) {
|
|
9161
|
+
const cwd = process.cwd();
|
|
9162
|
+
const watchMode = args.includes("--watch") || args.includes("-w");
|
|
9163
|
+
if (!watchMode) {
|
|
9164
|
+
const genStartTime = performance.now();
|
|
9165
|
+
await generate(cwd, args);
|
|
9166
|
+
await syncThemeCss(cwd);
|
|
9167
|
+
await bundleThemeCssIntoArtifacts(cwd);
|
|
9168
|
+
checkMarkdownIfConfigured(cwd);
|
|
9169
|
+
const genEndTime = performance.now();
|
|
9170
|
+
const totalDuration = ((genEndTime - genStartTime) / 1000).toFixed(2);
|
|
9171
|
+
console.log(`
|
|
9172
|
+
[reroute/gen] ✓ Build complete in ${totalDuration}s
|
|
9173
|
+
`);
|
|
9107
9174
|
process.exit(0);
|
|
9175
|
+
}
|
|
9176
|
+
const session = await startGenWatch(cwd, args);
|
|
9177
|
+
await new Promise((resolve3) => {
|
|
9178
|
+
process.on("SIGINT", () => {
|
|
9179
|
+
session.close();
|
|
9180
|
+
resolve3();
|
|
9181
|
+
});
|
|
9108
9182
|
});
|
|
9183
|
+
process.exit(0);
|
|
9109
9184
|
}
|
|
9110
9185
|
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
9186
|
var init_gen = __esm(() => {
|
|
@@ -9117,6 +9192,35 @@ var init_gen = __esm(() => {
|
|
|
9117
9192
|
init_theme();
|
|
9118
9193
|
});
|
|
9119
9194
|
|
|
9195
|
+
// packages/cli/src/commands/lib/command.ts
|
|
9196
|
+
var exports_command = {};
|
|
9197
|
+
__export(exports_command, {
|
|
9198
|
+
getRerouteCommand: () => getRerouteCommand
|
|
9199
|
+
});
|
|
9200
|
+
import { existsSync as existsSync6 } from "node:fs";
|
|
9201
|
+
import { join as join12 } from "node:path";
|
|
9202
|
+
function getRerouteCommand() {
|
|
9203
|
+
const binPath = join12(import.meta.dir, "..", "..", "bin.ts");
|
|
9204
|
+
const isBunDev = existsSync6(binPath);
|
|
9205
|
+
if (isBunDev) {
|
|
9206
|
+
return `bun ${binPath}`;
|
|
9207
|
+
}
|
|
9208
|
+
const cwd = process.cwd();
|
|
9209
|
+
const nodeModulesPaths = [
|
|
9210
|
+
join12(cwd, "node_modules", ".bin", "reroute"),
|
|
9211
|
+
join12(cwd, "..", "node_modules", ".bin", "reroute"),
|
|
9212
|
+
join12(cwd, "..", "..", "node_modules", ".bin", "reroute"),
|
|
9213
|
+
join12(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
|
|
9214
|
+
];
|
|
9215
|
+
for (const binPath2 of nodeModulesPaths) {
|
|
9216
|
+
if (existsSync6(binPath2)) {
|
|
9217
|
+
return binPath2;
|
|
9218
|
+
}
|
|
9219
|
+
}
|
|
9220
|
+
return "reroute";
|
|
9221
|
+
}
|
|
9222
|
+
var init_command = () => {};
|
|
9223
|
+
|
|
9120
9224
|
// packages/cli/src/commands/lib/log.ts
|
|
9121
9225
|
function colorizeLogPrefix(text) {
|
|
9122
9226
|
let colored = text;
|
|
@@ -9167,6 +9271,17 @@ var init_log = __esm(() => {
|
|
|
9167
9271
|
});
|
|
9168
9272
|
|
|
9169
9273
|
// packages/cli/src/commands/lib/server.ts
|
|
9274
|
+
async function isServerRunning(port, timeout = 1000) {
|
|
9275
|
+
try {
|
|
9276
|
+
const response = await fetch(`http://localhost:${port}/`, {
|
|
9277
|
+
method: "GET",
|
|
9278
|
+
signal: AbortSignal.timeout(timeout)
|
|
9279
|
+
});
|
|
9280
|
+
return response.status < 500;
|
|
9281
|
+
} catch {
|
|
9282
|
+
return false;
|
|
9283
|
+
}
|
|
9284
|
+
}
|
|
9170
9285
|
async function waitForServerReady(port = 3000, timeout = 30000) {
|
|
9171
9286
|
const startTime = Date.now();
|
|
9172
9287
|
let checkInterval = 50;
|
|
@@ -9188,7 +9303,7 @@ async function waitForServerReady(port = 3000, timeout = 30000) {
|
|
|
9188
9303
|
}
|
|
9189
9304
|
|
|
9190
9305
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/alias.js
|
|
9191
|
-
var require_alias = __commonJS((exports)
|
|
9306
|
+
var require_alias = __commonJS(function(exports) {
|
|
9192
9307
|
var alias = exports;
|
|
9193
9308
|
alias.bools = {
|
|
9194
9309
|
auto_left_margin: ["bw", "bw"],
|
|
@@ -9663,7 +9778,7 @@ var require_alias = __commonJS((exports) => {
|
|
|
9663
9778
|
});
|
|
9664
9779
|
|
|
9665
9780
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/tput.js
|
|
9666
|
-
var require_tput = __commonJS((exports, module)
|
|
9781
|
+
var require_tput = __commonJS(function(exports, module) {
|
|
9667
9782
|
var __dirname = "/Users/stewan/dev/reroute/node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib";
|
|
9668
9783
|
var assert = __require("assert");
|
|
9669
9784
|
var path3 = __require("path");
|
|
@@ -11761,7 +11876,7 @@ var require_tput = __commonJS((exports, module) => {
|
|
|
11761
11876
|
});
|
|
11762
11877
|
|
|
11763
11878
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/colors.js
|
|
11764
|
-
var require_colors = __commonJS((exports)
|
|
11879
|
+
var require_colors = __commonJS(function(exports) {
|
|
11765
11880
|
exports.match = function(r1, g1, b1) {
|
|
11766
11881
|
if (typeof r1 === "string") {
|
|
11767
11882
|
var hex = r1;
|
|
@@ -12181,7 +12296,7 @@ var require_colors = __commonJS((exports) => {
|
|
|
12181
12296
|
});
|
|
12182
12297
|
|
|
12183
12298
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/keys.js
|
|
12184
|
-
var require_keys = __commonJS((exports)
|
|
12299
|
+
var require_keys = __commonJS(function(exports) {
|
|
12185
12300
|
var EventEmitter = __require("events").EventEmitter;
|
|
12186
12301
|
function listenerCount(stream2, event) {
|
|
12187
12302
|
return EventEmitter.listenerCount ? EventEmitter.listenerCount(stream2, event) : stream2.listeners(event).length;
|
|
@@ -12538,7 +12653,7 @@ var require_keys = __commonJS((exports) => {
|
|
|
12538
12653
|
});
|
|
12539
12654
|
|
|
12540
12655
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/gpmclient.js
|
|
12541
|
-
var require_gpmclient = __commonJS((exports, module)
|
|
12656
|
+
var require_gpmclient = __commonJS(function(exports, module) {
|
|
12542
12657
|
var net = __require("net");
|
|
12543
12658
|
var fs = __require("fs");
|
|
12544
12659
|
var EventEmitter = __require("events").EventEmitter;
|
|
@@ -12613,8 +12728,8 @@ var require_gpmclient = __commonJS((exports, module) => {
|
|
|
12613
12728
|
}
|
|
12614
12729
|
var self2 = this;
|
|
12615
12730
|
if (tty) {
|
|
12616
|
-
fs.stat(GPM_SOCKET, function(err,
|
|
12617
|
-
if (err || !
|
|
12731
|
+
fs.stat(GPM_SOCKET, function(err, stat6) {
|
|
12732
|
+
if (err || !stat6.isSocket()) {
|
|
12618
12733
|
return;
|
|
12619
12734
|
}
|
|
12620
12735
|
var conf = {
|
|
@@ -12701,7 +12816,7 @@ var require_gpmclient = __commonJS((exports, module) => {
|
|
|
12701
12816
|
});
|
|
12702
12817
|
|
|
12703
12818
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/program.js
|
|
12704
|
-
var require_program = __commonJS((exports, module)
|
|
12819
|
+
var require_program = __commonJS(function(exports, module) {
|
|
12705
12820
|
var EventEmitter = __require("events").EventEmitter;
|
|
12706
12821
|
var StringDecoder = __require("string_decoder").StringDecoder;
|
|
12707
12822
|
var cp = __require("child_process");
|
|
@@ -15242,7 +15357,7 @@ var require_program = __commonJS((exports, module) => {
|
|
|
15242
15357
|
});
|
|
15243
15358
|
|
|
15244
15359
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widget.js
|
|
15245
|
-
var require_widget = __commonJS((exports)
|
|
15360
|
+
var require_widget = __commonJS(function(exports) {
|
|
15246
15361
|
var widget = exports;
|
|
15247
15362
|
widget.classes = [
|
|
15248
15363
|
"Node",
|
|
@@ -15296,7 +15411,7 @@ var require_widget = __commonJS((exports) => {
|
|
|
15296
15411
|
});
|
|
15297
15412
|
|
|
15298
15413
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/unicode.js
|
|
15299
|
-
var require_unicode = __commonJS((exports)
|
|
15414
|
+
var require_unicode = __commonJS(function(exports) {
|
|
15300
15415
|
var stringFromCharCode = String.fromCharCode;
|
|
15301
15416
|
var floor = Math.floor;
|
|
15302
15417
|
exports.charWidth = function(str, i) {
|
|
@@ -15596,7 +15711,7 @@ var require_unicode = __commonJS((exports) => {
|
|
|
15596
15711
|
});
|
|
15597
15712
|
|
|
15598
15713
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/events.js
|
|
15599
|
-
var require_events = __commonJS((exports, module)
|
|
15714
|
+
var require_events = __commonJS(function(exports, module) {
|
|
15600
15715
|
var slice = Array.prototype.slice;
|
|
15601
15716
|
function EventEmitter() {
|
|
15602
15717
|
if (!this._events)
|
|
@@ -15696,7 +15811,7 @@ var require_events = __commonJS((exports, module) => {
|
|
|
15696
15811
|
});
|
|
15697
15812
|
|
|
15698
15813
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/node.js
|
|
15699
|
-
var require_node = __commonJS((exports, module)
|
|
15814
|
+
var require_node = __commonJS(function(exports, module) {
|
|
15700
15815
|
var EventEmitter = require_events().EventEmitter;
|
|
15701
15816
|
function Node(options) {
|
|
15702
15817
|
var self2 = this;
|
|
@@ -15918,7 +16033,7 @@ var require_node = __commonJS((exports, module) => {
|
|
|
15918
16033
|
});
|
|
15919
16034
|
|
|
15920
16035
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/element.js
|
|
15921
|
-
var require_element = __commonJS((exports, module)
|
|
16036
|
+
var require_element = __commonJS(function(exports, module) {
|
|
15922
16037
|
var assert = __require("assert");
|
|
15923
16038
|
var colors = require_colors();
|
|
15924
16039
|
var unicode = require_unicode();
|
|
@@ -17831,7 +17946,7 @@ var require_element = __commonJS((exports, module) => {
|
|
|
17831
17946
|
});
|
|
17832
17947
|
|
|
17833
17948
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/box.js
|
|
17834
|
-
var require_box = __commonJS((exports, module)
|
|
17949
|
+
var require_box = __commonJS(function(exports, module) {
|
|
17835
17950
|
var Node = require_node();
|
|
17836
17951
|
var Element = require_element();
|
|
17837
17952
|
function Box(options) {
|
|
@@ -17847,7 +17962,7 @@ var require_box = __commonJS((exports, module) => {
|
|
|
17847
17962
|
});
|
|
17848
17963
|
|
|
17849
17964
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollablebox.js
|
|
17850
|
-
var require_scrollablebox = __commonJS((exports, module)
|
|
17965
|
+
var require_scrollablebox = __commonJS(function(exports, module) {
|
|
17851
17966
|
var Node = require_node();
|
|
17852
17967
|
var Box = require_box();
|
|
17853
17968
|
function ScrollableBox(options) {
|
|
@@ -18127,7 +18242,7 @@ var require_scrollablebox = __commonJS((exports, module) => {
|
|
|
18127
18242
|
});
|
|
18128
18243
|
|
|
18129
18244
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollabletext.js
|
|
18130
|
-
var require_scrollabletext = __commonJS((exports, module)
|
|
18245
|
+
var require_scrollabletext = __commonJS(function(exports, module) {
|
|
18131
18246
|
var Node = require_node();
|
|
18132
18247
|
var ScrollableBox = require_scrollablebox();
|
|
18133
18248
|
function ScrollableText(options) {
|
|
@@ -18144,7 +18259,7 @@ var require_scrollabletext = __commonJS((exports, module) => {
|
|
|
18144
18259
|
});
|
|
18145
18260
|
|
|
18146
18261
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/log.js
|
|
18147
|
-
var require_log = __commonJS((exports, module)
|
|
18262
|
+
var require_log = __commonJS(function(exports, module) {
|
|
18148
18263
|
var util = __require("util");
|
|
18149
18264
|
var nextTick = global.setImmediate || process.nextTick.bind(process);
|
|
18150
18265
|
var Node = require_node();
|
|
@@ -18198,7 +18313,7 @@ var require_log = __commonJS((exports, module) => {
|
|
|
18198
18313
|
});
|
|
18199
18314
|
|
|
18200
18315
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/screen.js
|
|
18201
|
-
var require_screen = __commonJS((exports, module)
|
|
18316
|
+
var require_screen = __commonJS(function(exports, module) {
|
|
18202
18317
|
var path3 = __require("path");
|
|
18203
18318
|
var fs = __require("fs");
|
|
18204
18319
|
var cp = __require("child_process");
|
|
@@ -19907,7 +20022,7 @@ var require_screen = __commonJS((exports, module) => {
|
|
|
19907
20022
|
});
|
|
19908
20023
|
|
|
19909
20024
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/helpers.js
|
|
19910
|
-
var require_helpers = __commonJS((exports)
|
|
20025
|
+
var require_helpers = __commonJS(function(exports) {
|
|
19911
20026
|
var fs = __require("fs");
|
|
19912
20027
|
var unicode = require_unicode();
|
|
19913
20028
|
var helpers = exports;
|
|
@@ -19938,7 +20053,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
19938
20053
|
};
|
|
19939
20054
|
helpers.findFile = function(start, target) {
|
|
19940
20055
|
return function read(dir) {
|
|
19941
|
-
var files, file,
|
|
20056
|
+
var files, file, stat6, out;
|
|
19942
20057
|
if (dir === "/dev" || dir === "/sys" || dir === "/proc" || dir === "/net") {
|
|
19943
20058
|
return null;
|
|
19944
20059
|
}
|
|
@@ -19953,11 +20068,11 @@ var require_helpers = __commonJS((exports) => {
|
|
|
19953
20068
|
return (dir === "/" ? "" : dir) + "/" + file;
|
|
19954
20069
|
}
|
|
19955
20070
|
try {
|
|
19956
|
-
|
|
20071
|
+
stat6 = fs.lstatSync((dir === "/" ? "" : dir) + "/" + file);
|
|
19957
20072
|
} catch (e) {
|
|
19958
|
-
|
|
20073
|
+
stat6 = null;
|
|
19959
20074
|
}
|
|
19960
|
-
if (
|
|
20075
|
+
if (stat6 && stat6.isDirectory() && !stat6.isSymbolicLink()) {
|
|
19961
20076
|
out = read((dir === "/" ? "" : dir) + "/" + file);
|
|
19962
20077
|
if (out)
|
|
19963
20078
|
return out;
|
|
@@ -20029,7 +20144,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
20029
20144
|
});
|
|
20030
20145
|
|
|
20031
20146
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/blessed.js
|
|
20032
|
-
var require_blessed = __commonJS((exports, module)
|
|
20147
|
+
var require_blessed = __commonJS(function(exports, module) {
|
|
20033
20148
|
function blessed() {
|
|
20034
20149
|
return blessed.program.apply(null, arguments);
|
|
20035
20150
|
}
|
|
@@ -20047,7 +20162,7 @@ var require_blessed = __commonJS((exports, module) => {
|
|
|
20047
20162
|
});
|
|
20048
20163
|
|
|
20049
20164
|
// node_modules/.bun/x256@0.0.2/node_modules/x256/colors.json
|
|
20050
|
-
var require_colors2 = __commonJS((exports, module)
|
|
20165
|
+
var require_colors2 = __commonJS(function(exports, module) {
|
|
20051
20166
|
module.exports = [
|
|
20052
20167
|
"000000",
|
|
20053
20168
|
"800000",
|
|
@@ -20309,7 +20424,7 @@ var require_colors2 = __commonJS((exports, module) => {
|
|
|
20309
20424
|
});
|
|
20310
20425
|
|
|
20311
20426
|
// node_modules/.bun/x256@0.0.2/node_modules/x256/index.js
|
|
20312
|
-
var require_x256 = __commonJS((exports, module)
|
|
20427
|
+
var require_x256 = __commonJS(function(exports, module) {
|
|
20313
20428
|
var colors = require_colors2().map(function(hex) {
|
|
20314
20429
|
var r = parseInt(hex.slice(0, 2), 16);
|
|
20315
20430
|
var g = parseInt(hex.slice(2, 4), 16);
|
|
@@ -20334,7 +20449,7 @@ var require_x256 = __commonJS((exports, module) => {
|
|
|
20334
20449
|
});
|
|
20335
20450
|
|
|
20336
20451
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/utils.js
|
|
20337
|
-
var require_utils = __commonJS((exports)
|
|
20452
|
+
var require_utils = __commonJS(function(exports) {
|
|
20338
20453
|
var x256 = require_x256();
|
|
20339
20454
|
function MergeRecursive(obj1, obj2) {
|
|
20340
20455
|
if (obj1 == null) {
|
|
@@ -20392,7 +20507,7 @@ var require_utils = __commonJS((exports) => {
|
|
|
20392
20507
|
});
|
|
20393
20508
|
|
|
20394
20509
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/grid.js
|
|
20395
|
-
var require_grid = __commonJS((exports, module)
|
|
20510
|
+
var require_grid = __commonJS(function(exports, module) {
|
|
20396
20511
|
var utils = require_utils();
|
|
20397
20512
|
var widgetSpacing = 0;
|
|
20398
20513
|
function Grid(options) {
|
|
@@ -20427,7 +20542,7 @@ var require_grid = __commonJS((exports, module) => {
|
|
|
20427
20542
|
});
|
|
20428
20543
|
|
|
20429
20544
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/carousel.js
|
|
20430
|
-
var require_carousel = __commonJS((exports, module)
|
|
20545
|
+
var require_carousel = __commonJS(function(exports, module) {
|
|
20431
20546
|
function Carousel(pages, options) {
|
|
20432
20547
|
this.currPage = 0;
|
|
20433
20548
|
this.pages = pages;
|
|
@@ -20496,7 +20611,7 @@ var require_carousel = __commonJS((exports, module) => {
|
|
|
20496
20611
|
});
|
|
20497
20612
|
|
|
20498
20613
|
// 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)
|
|
20614
|
+
var require_drawille_blessed_contrib = __commonJS(function(exports, module) {
|
|
20500
20615
|
var map = [
|
|
20501
20616
|
[1, 8],
|
|
20502
20617
|
[2, 16],
|
|
@@ -20606,7 +20721,7 @@ var require_drawille_blessed_contrib = __commonJS((exports, module) => {
|
|
|
20606
20721
|
});
|
|
20607
20722
|
|
|
20608
20723
|
// node_modules/.bun/bresenham@0.0.3/node_modules/bresenham/index.js
|
|
20609
|
-
var require_bresenham = __commonJS((exports, module)
|
|
20724
|
+
var require_bresenham = __commonJS(function(exports, module) {
|
|
20610
20725
|
module.exports = function(x0, y0, x1, y1, fn) {
|
|
20611
20726
|
if (!fn) {
|
|
20612
20727
|
var arr = [];
|
|
@@ -20645,7 +20760,7 @@ var require_bresenham = __commonJS((exports, module) => {
|
|
|
20645
20760
|
});
|
|
20646
20761
|
|
|
20647
20762
|
// node_modules/.bun/gl-matrix@2.8.1/node_modules/gl-matrix/dist/gl-matrix.js
|
|
20648
|
-
var require_gl_matrix = __commonJS((exports, module)
|
|
20763
|
+
var require_gl_matrix = __commonJS(function(exports, module) {
|
|
20649
20764
|
/*!
|
|
20650
20765
|
@fileoverview gl-matrix - High performance matrix and vector operations
|
|
20651
20766
|
@author Brandon Jones
|
|
@@ -21746,7 +21861,7 @@ var require_gl_matrix = __commonJS((exports, module) => {
|
|
|
21746
21861
|
});
|
|
21747
21862
|
|
|
21748
21863
|
// 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)
|
|
21864
|
+
var require_drawille_canvas_blessed_contrib = __commonJS(function(exports, module) {
|
|
21750
21865
|
var Canvas = require_drawille_blessed_contrib();
|
|
21751
21866
|
var bresenham = require_bresenham();
|
|
21752
21867
|
var glMatrix = require_gl_matrix();
|
|
@@ -21953,7 +22068,7 @@ var require_drawille_canvas_blessed_contrib = __commonJS((exports, module) => {
|
|
|
21953
22068
|
});
|
|
21954
22069
|
|
|
21955
22070
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/canvas.js
|
|
21956
|
-
var require_canvas = __commonJS((exports, module)
|
|
22071
|
+
var require_canvas = __commonJS(function(exports, module) {
|
|
21957
22072
|
var blessed = require_blessed();
|
|
21958
22073
|
var Node = blessed.Node;
|
|
21959
22074
|
var Box = blessed.Box;
|
|
@@ -21993,7 +22108,7 @@ var require_canvas = __commonJS((exports, module) => {
|
|
|
21993
22108
|
});
|
|
21994
22109
|
|
|
21995
22110
|
// node_modules/.bun/map-canvas@0.1.5/node_modules/map-canvas/map.js
|
|
21996
|
-
var require_map = __commonJS((exports, module)
|
|
22111
|
+
var require_map = __commonJS(function(exports, module) {
|
|
21997
22112
|
(function() {})();
|
|
21998
22113
|
Map2.prototype.drawBackground = function() {
|
|
21999
22114
|
this.ctx.fillStyle = "rgb(0,0,0)";
|
|
@@ -81989,7 +82104,7 @@ var require_map = __commonJS((exports, module) => {
|
|
|
81989
82104
|
});
|
|
81990
82105
|
|
|
81991
82106
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/map.js
|
|
81992
|
-
var require_map2 = __commonJS((exports, module)
|
|
82107
|
+
var require_map2 = __commonJS(function(exports, module) {
|
|
81993
82108
|
var blessed = require_blessed();
|
|
81994
82109
|
var Node = blessed.Node;
|
|
81995
82110
|
var Canvas = require_canvas();
|
|
@@ -82060,7 +82175,7 @@ var require_map2 = __commonJS((exports, module) => {
|
|
|
82060
82175
|
});
|
|
82061
82176
|
|
|
82062
82177
|
// node_modules/.bun/ansi-term@0.0.2/node_modules/ansi-term/index.js
|
|
82063
|
-
var require_ansi_term = __commonJS((exports, module)
|
|
82178
|
+
var require_ansi_term = __commonJS(function(exports, module) {
|
|
82064
82179
|
var x256 = require_x256();
|
|
82065
82180
|
function AnsiTerminal(width, height) {
|
|
82066
82181
|
this.width = width;
|
|
@@ -82166,7 +82281,7 @@ var require_ansi_term = __commonJS((exports, module) => {
|
|
|
82166
82281
|
});
|
|
82167
82282
|
|
|
82168
82283
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/gauge.js
|
|
82169
|
-
var require_gauge = __commonJS((exports, module)
|
|
82284
|
+
var require_gauge = __commonJS(function(exports, module) {
|
|
82170
82285
|
var blessed = require_blessed();
|
|
82171
82286
|
var Node = blessed.Node;
|
|
82172
82287
|
var Canvas = require_canvas();
|
|
@@ -82198,7 +82313,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82198
82313
|
};
|
|
82199
82314
|
Gauge.prototype.type = "gauge";
|
|
82200
82315
|
Gauge.prototype.setData = function(data) {
|
|
82201
|
-
if (typeof data ==
|
|
82316
|
+
if (typeof data == typeof [] && data.length > 0) {
|
|
82202
82317
|
this.setStack(data);
|
|
82203
82318
|
} else if (typeof data == "number") {
|
|
82204
82319
|
this.setPercent(data);
|
|
@@ -82236,7 +82351,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82236
82351
|
for (var i = 0;i < stack.length; i++) {
|
|
82237
82352
|
var currentStack = stack[i];
|
|
82238
82353
|
let percent;
|
|
82239
|
-
if (typeof currentStack ==
|
|
82354
|
+
if (typeof currentStack == typeof {})
|
|
82240
82355
|
percent = currentStack.percent;
|
|
82241
82356
|
else
|
|
82242
82357
|
percent = currentStack;
|
|
@@ -82265,7 +82380,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82265
82380
|
});
|
|
82266
82381
|
|
|
82267
82382
|
// 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)
|
|
82383
|
+
var require_gauge_list = __commonJS(function(exports, module) {
|
|
82269
82384
|
var blessed = require_blessed();
|
|
82270
82385
|
var Node = blessed.Node;
|
|
82271
82386
|
var Canvas = require_canvas();
|
|
@@ -82316,7 +82431,7 @@ var require_gauge_list = __commonJS((exports, module) => {
|
|
|
82316
82431
|
for (var i = 0;i < stack.length; i++) {
|
|
82317
82432
|
var currentStack = stack[i];
|
|
82318
82433
|
var percent;
|
|
82319
|
-
if (typeof currentStack ==
|
|
82434
|
+
if (typeof currentStack == typeof {}) {
|
|
82320
82435
|
percent = currentStack.percent;
|
|
82321
82436
|
} else {
|
|
82322
82437
|
percent = currentStack;
|
|
@@ -82343,7 +82458,7 @@ var require_gauge_list = __commonJS((exports, module) => {
|
|
|
82343
82458
|
});
|
|
82344
82459
|
|
|
82345
82460
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/lcd.js
|
|
82346
|
-
var require_lcd = __commonJS((exports, module)
|
|
82461
|
+
var require_lcd = __commonJS(function(exports, module) {
|
|
82347
82462
|
var blessed = require_blessed();
|
|
82348
82463
|
var Node = blessed.Node;
|
|
82349
82464
|
var Canvas = require_canvas();
|
|
@@ -82700,7 +82815,7 @@ var require_lcd = __commonJS((exports, module) => {
|
|
|
82700
82815
|
});
|
|
82701
82816
|
|
|
82702
82817
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/donut.js
|
|
82703
|
-
var require_donut = __commonJS((exports, module)
|
|
82818
|
+
var require_donut = __commonJS(function(exports, module) {
|
|
82704
82819
|
var blessed = require_blessed();
|
|
82705
82820
|
var Node = blessed.Node;
|
|
82706
82821
|
var Canvas = require_canvas();
|
|
@@ -82788,15 +82903,15 @@ var require_donut = __commonJS((exports, module) => {
|
|
|
82788
82903
|
c.fillText(ptext, cxx - Math.round(parseFloat(c.measureText(ptext).width / 2)) + 3, middle2);
|
|
82789
82904
|
c.fillText(label, cxx - Math.round(parseFloat(c.measureText(label).width / 2)) + 3, middle2 + radius2 + 5);
|
|
82790
82905
|
}
|
|
82791
|
-
function makeDonut(
|
|
82906
|
+
function makeDonut(stat6, which) {
|
|
82792
82907
|
var left = radius + spacing * which + radius * 2 * (which - 1);
|
|
82793
|
-
var percent =
|
|
82908
|
+
var percent = stat6.percent;
|
|
82794
82909
|
if (percent > 1.001) {
|
|
82795
82910
|
percent = parseFloat(percent / 100).toFixed(2);
|
|
82796
82911
|
}
|
|
82797
|
-
var label =
|
|
82798
|
-
var percentAltNumber =
|
|
82799
|
-
var color =
|
|
82912
|
+
var label = stat6.label;
|
|
82913
|
+
var percentAltNumber = stat6.percentAltNumber;
|
|
82914
|
+
var color = stat6.color || "green";
|
|
82800
82915
|
var cxx = left;
|
|
82801
82916
|
drawDonut(label, percent, radius, width, cxx, middle, color, percentAltNumber);
|
|
82802
82917
|
}
|
|
@@ -82830,7 +82945,7 @@ var require_donut = __commonJS((exports, module) => {
|
|
|
82830
82945
|
});
|
|
82831
82946
|
|
|
82832
82947
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/log.js
|
|
82833
|
-
var require_log2 = __commonJS((exports, module)
|
|
82948
|
+
var require_log2 = __commonJS(function(exports, module) {
|
|
82834
82949
|
var blessed = require_blessed();
|
|
82835
82950
|
var Node = blessed.Node;
|
|
82836
82951
|
var List = blessed.List;
|
|
@@ -82859,7 +82974,7 @@ var require_log2 = __commonJS((exports, module) => {
|
|
|
82859
82974
|
});
|
|
82860
82975
|
|
|
82861
82976
|
// node_modules/.bun/png-js@0.1.1/node_modules/png-js/png-node.js
|
|
82862
|
-
var require_png_node = __commonJS((exports, module)
|
|
82977
|
+
var require_png_node = __commonJS(function(exports, module) {
|
|
82863
82978
|
(function() {
|
|
82864
82979
|
var PNG, fs, zlib;
|
|
82865
82980
|
fs = __require("fs");
|
|
@@ -83140,7 +83255,7 @@ var require_png_node = __commonJS((exports, module) => {
|
|
|
83140
83255
|
});
|
|
83141
83256
|
|
|
83142
83257
|
// node_modules/.bun/charm@0.1.2/node_modules/charm/lib/encode.js
|
|
83143
|
-
var require_encode = __commonJS((exports, module)
|
|
83258
|
+
var require_encode = __commonJS(function(exports, module) {
|
|
83144
83259
|
var encode = module.exports = function(xs) {
|
|
83145
83260
|
function bytes(s) {
|
|
83146
83261
|
if (typeof s === "string") {
|
|
@@ -83159,7 +83274,7 @@ var require_encode = __commonJS((exports, module) => {
|
|
|
83159
83274
|
});
|
|
83160
83275
|
|
|
83161
83276
|
// node_modules/.bun/charm@0.1.2/node_modules/charm/index.js
|
|
83162
|
-
var require_charm = __commonJS((exports, module)
|
|
83277
|
+
var require_charm = __commonJS(function(exports, module) {
|
|
83163
83278
|
var tty = __require("tty");
|
|
83164
83279
|
var encode = require_encode();
|
|
83165
83280
|
var Stream = __require("stream").Stream;
|
|
@@ -83428,7 +83543,7 @@ var require_charm = __commonJS((exports, module) => {
|
|
|
83428
83543
|
});
|
|
83429
83544
|
|
|
83430
83545
|
// node_modules/.bun/buffers@0.1.1/node_modules/buffers/index.js
|
|
83431
|
-
var require_buffers = __commonJS((exports, module)
|
|
83546
|
+
var require_buffers = __commonJS(function(exports, module) {
|
|
83432
83547
|
module.exports = Buffers;
|
|
83433
83548
|
function Buffers(bufs) {
|
|
83434
83549
|
if (!(this instanceof Buffers))
|
|
@@ -83638,7 +83753,7 @@ var require_buffers = __commonJS((exports, module) => {
|
|
|
83638
83753
|
});
|
|
83639
83754
|
|
|
83640
83755
|
// node_modules/.bun/wordwrap@0.0.3/node_modules/wordwrap/index.js
|
|
83641
|
-
var require_wordwrap = __commonJS((exports, module)
|
|
83756
|
+
var require_wordwrap = __commonJS(function(exports, module) {
|
|
83642
83757
|
var wordwrap = module.exports = function(start, stop, params) {
|
|
83643
83758
|
if (typeof start === "object") {
|
|
83644
83759
|
params = start;
|
|
@@ -83699,7 +83814,7 @@ var require_wordwrap = __commonJS((exports, module) => {
|
|
|
83699
83814
|
});
|
|
83700
83815
|
|
|
83701
83816
|
// node_modules/.bun/optimist@0.2.8/node_modules/optimist/index.js
|
|
83702
|
-
var require_optimist = __commonJS((exports, module)
|
|
83817
|
+
var require_optimist = __commonJS(function(exports, module) {
|
|
83703
83818
|
var path3 = __require("path");
|
|
83704
83819
|
var wordwrap = require_wordwrap();
|
|
83705
83820
|
var inst = Argv(process.argv.slice(2));
|
|
@@ -84041,7 +84156,7 @@ var require_optimist = __commonJS((exports, module) => {
|
|
|
84041
84156
|
});
|
|
84042
84157
|
|
|
84043
84158
|
// node_modules/.bun/event-stream@0.9.8/node_modules/event-stream/index.js
|
|
84044
|
-
var require_event_stream = __commonJS((exports)
|
|
84159
|
+
var require_event_stream = __commonJS(function(exports) {
|
|
84045
84160
|
var Stream = __require("stream").Stream;
|
|
84046
84161
|
var es = exports;
|
|
84047
84162
|
es.Stream = Stream;
|
|
@@ -84466,7 +84581,7 @@ var require_event_stream = __commonJS((exports) => {
|
|
|
84466
84581
|
});
|
|
84467
84582
|
|
|
84468
84583
|
// node_modules/.bun/picture-tuber@1.0.2/node_modules/picture-tuber/index.js
|
|
84469
|
-
var require_picture_tuber = __commonJS((exports, module)
|
|
84584
|
+
var require_picture_tuber = __commonJS(function(exports, module) {
|
|
84470
84585
|
var PNG = require_png_node();
|
|
84471
84586
|
var charm = require_charm();
|
|
84472
84587
|
var x256 = require_x256();
|
|
@@ -84507,14 +84622,14 @@ var require_picture_tuber = __commonJS((exports, module) => {
|
|
|
84507
84622
|
});
|
|
84508
84623
|
|
|
84509
84624
|
// node_modules/.bun/isarray@0.0.1/node_modules/isarray/index.js
|
|
84510
|
-
var require_isarray = __commonJS((exports, module)
|
|
84625
|
+
var require_isarray = __commonJS(function(exports, module) {
|
|
84511
84626
|
module.exports = Array.isArray || function(arr) {
|
|
84512
84627
|
return Object.prototype.toString.call(arr) == "[object Array]";
|
|
84513
84628
|
};
|
|
84514
84629
|
});
|
|
84515
84630
|
|
|
84516
84631
|
// node_modules/.bun/core-util-is@1.0.3/node_modules/core-util-is/lib/util.js
|
|
84517
|
-
var require_util = __commonJS((exports)
|
|
84632
|
+
var require_util = __commonJS(function(exports) {
|
|
84518
84633
|
function isArray(arg) {
|
|
84519
84634
|
if (Array.isArray) {
|
|
84520
84635
|
return Array.isArray(arg);
|
|
@@ -84581,7 +84696,7 @@ var require_util = __commonJS((exports) => {
|
|
|
84581
84696
|
});
|
|
84582
84697
|
|
|
84583
84698
|
// node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits_browser.js
|
|
84584
|
-
var require_inherits_browser = __commonJS((exports, module)
|
|
84699
|
+
var require_inherits_browser = __commonJS(function(exports, module) {
|
|
84585
84700
|
if (typeof Object.create === "function") {
|
|
84586
84701
|
module.exports = function inherits(ctor, superCtor) {
|
|
84587
84702
|
if (superCtor) {
|
|
@@ -84610,7 +84725,7 @@ var require_inherits_browser = __commonJS((exports, module) => {
|
|
|
84610
84725
|
});
|
|
84611
84726
|
|
|
84612
84727
|
// node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits.js
|
|
84613
|
-
var require_inherits = __commonJS((exports, module)
|
|
84728
|
+
var require_inherits = __commonJS(function(exports, module) {
|
|
84614
84729
|
try {
|
|
84615
84730
|
util = __require("util");
|
|
84616
84731
|
if (typeof util.inherits !== "function")
|
|
@@ -84623,7 +84738,7 @@ var require_inherits = __commonJS((exports, module) => {
|
|
|
84623
84738
|
});
|
|
84624
84739
|
|
|
84625
84740
|
// node_modules/.bun/string_decoder@0.10.31/node_modules/string_decoder/index.js
|
|
84626
|
-
var require_string_decoder = __commonJS((exports)
|
|
84741
|
+
var require_string_decoder = __commonJS(function(exports) {
|
|
84627
84742
|
var Buffer2 = __require("buffer").Buffer;
|
|
84628
84743
|
var isBufferEncoding = Buffer2.isEncoding || function(encoding) {
|
|
84629
84744
|
switch (encoding && encoding.toLowerCase()) {
|
|
@@ -84759,7 +84874,7 @@ var require_string_decoder = __commonJS((exports) => {
|
|
|
84759
84874
|
});
|
|
84760
84875
|
|
|
84761
84876
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_readable.js
|
|
84762
|
-
var require__stream_readable = __commonJS((exports, module)
|
|
84877
|
+
var require__stream_readable = __commonJS(function(exports, module) {
|
|
84763
84878
|
module.exports = Readable;
|
|
84764
84879
|
var isArray = require_isarray();
|
|
84765
84880
|
var Buffer2 = __require("buffer").Buffer;
|
|
@@ -85366,7 +85481,7 @@ var require__stream_readable = __commonJS((exports, module) => {
|
|
|
85366
85481
|
});
|
|
85367
85482
|
|
|
85368
85483
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_duplex.js
|
|
85369
|
-
var require__stream_duplex = __commonJS((exports, module)
|
|
85484
|
+
var require__stream_duplex = __commonJS(function(exports, module) {
|
|
85370
85485
|
module.exports = Duplex;
|
|
85371
85486
|
var objectKeys = Object.keys || function(obj) {
|
|
85372
85487
|
var keys = [];
|
|
@@ -85410,7 +85525,7 @@ var require__stream_duplex = __commonJS((exports, module) => {
|
|
|
85410
85525
|
});
|
|
85411
85526
|
|
|
85412
85527
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_writable.js
|
|
85413
|
-
var require__stream_writable = __commonJS((exports, module)
|
|
85528
|
+
var require__stream_writable = __commonJS(function(exports, module) {
|
|
85414
85529
|
module.exports = Writable;
|
|
85415
85530
|
var Buffer2 = __require("buffer").Buffer;
|
|
85416
85531
|
Writable.WritableState = WritableState;
|
|
@@ -85638,7 +85753,7 @@ var require__stream_writable = __commonJS((exports, module) => {
|
|
|
85638
85753
|
});
|
|
85639
85754
|
|
|
85640
85755
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_transform.js
|
|
85641
|
-
var require__stream_transform = __commonJS((exports, module)
|
|
85756
|
+
var require__stream_transform = __commonJS(function(exports, module) {
|
|
85642
85757
|
module.exports = Transform;
|
|
85643
85758
|
var Duplex = require__stream_duplex();
|
|
85644
85759
|
var util = require_util();
|
|
@@ -85730,7 +85845,7 @@ var require__stream_transform = __commonJS((exports, module) => {
|
|
|
85730
85845
|
});
|
|
85731
85846
|
|
|
85732
85847
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_passthrough.js
|
|
85733
|
-
var require__stream_passthrough = __commonJS((exports, module)
|
|
85848
|
+
var require__stream_passthrough = __commonJS(function(exports, module) {
|
|
85734
85849
|
module.exports = PassThrough;
|
|
85735
85850
|
var Transform = require__stream_transform();
|
|
85736
85851
|
var util = require_util();
|
|
@@ -85747,7 +85862,7 @@ var require__stream_passthrough = __commonJS((exports, module) => {
|
|
|
85747
85862
|
});
|
|
85748
85863
|
|
|
85749
85864
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/readable.js
|
|
85750
|
-
var require_readable = __commonJS((exports, module)
|
|
85865
|
+
var require_readable = __commonJS(function(exports, module) {
|
|
85751
85866
|
var Stream = __require("stream");
|
|
85752
85867
|
exports = module.exports = require__stream_readable();
|
|
85753
85868
|
exports.Stream = Stream;
|
|
@@ -85762,7 +85877,7 @@ var require_readable = __commonJS((exports, module) => {
|
|
|
85762
85877
|
});
|
|
85763
85878
|
|
|
85764
85879
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/ReadableStream.js
|
|
85765
|
-
var require_ReadableStream = __commonJS((exports, module)
|
|
85880
|
+
var require_ReadableStream = __commonJS(function(exports, module) {
|
|
85766
85881
|
var Stream = require_readable();
|
|
85767
85882
|
var util = __require("util");
|
|
85768
85883
|
module.exports = ReadableStream;
|
|
@@ -85781,7 +85896,7 @@ var require_ReadableStream = __commonJS((exports, module) => {
|
|
|
85781
85896
|
});
|
|
85782
85897
|
|
|
85783
85898
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/WritableStream.js
|
|
85784
|
-
var require_WritableStream = __commonJS((exports, module)
|
|
85899
|
+
var require_WritableStream = __commonJS(function(exports, module) {
|
|
85785
85900
|
var Stream = require_readable();
|
|
85786
85901
|
var util = __require("util");
|
|
85787
85902
|
module.exports = WritableStream;
|
|
@@ -85816,13 +85931,13 @@ var require_WritableStream = __commonJS((exports, module) => {
|
|
|
85816
85931
|
});
|
|
85817
85932
|
|
|
85818
85933
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/index.js
|
|
85819
|
-
var require_memory_streams = __commonJS((exports, module)
|
|
85934
|
+
var require_memory_streams = __commonJS(function(exports, module) {
|
|
85820
85935
|
exports.ReadableStream = require_ReadableStream();
|
|
85821
85936
|
exports.WritableStream = require_WritableStream();
|
|
85822
85937
|
});
|
|
85823
85938
|
|
|
85824
85939
|
// node_modules/.bun/memorystream@0.3.1/node_modules/memorystream/index.js
|
|
85825
|
-
var require_memorystream = __commonJS((exports, module)
|
|
85940
|
+
var require_memorystream = __commonJS(function(exports, module) {
|
|
85826
85941
|
var STREAM = __require("stream");
|
|
85827
85942
|
var UTIL = __require("util");
|
|
85828
85943
|
var StringDecoder = __require("string_decoder").StringDecoder;
|
|
@@ -85970,7 +86085,7 @@ var require_memorystream = __commonJS((exports, module) => {
|
|
|
85970
86085
|
});
|
|
85971
86086
|
|
|
85972
86087
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/picture.js
|
|
85973
|
-
var require_picture = __commonJS((exports, module)
|
|
86088
|
+
var require_picture = __commonJS(function(exports, module) {
|
|
85974
86089
|
var blessed = require_blessed();
|
|
85975
86090
|
var Node = blessed.Node;
|
|
85976
86091
|
var Box = blessed.Box;
|
|
@@ -86025,7 +86140,7 @@ var require_picture = __commonJS((exports, module) => {
|
|
|
86025
86140
|
});
|
|
86026
86141
|
|
|
86027
86142
|
// node_modules/.bun/sparkline@0.1.2/node_modules/sparkline/lib/sparkline.js
|
|
86028
|
-
var require_sparkline = __commonJS((exports, module)
|
|
86143
|
+
var require_sparkline = __commonJS(function(exports, module) {
|
|
86029
86144
|
(function(window2) {
|
|
86030
86145
|
var sparkline, ticks = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
|
|
86031
86146
|
sparkline = function(numbers, options) {
|
|
@@ -86054,7 +86169,7 @@ var require_sparkline = __commonJS((exports, module) => {
|
|
|
86054
86169
|
});
|
|
86055
86170
|
|
|
86056
86171
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/sparkline.js
|
|
86057
|
-
var require_sparkline2 = __commonJS((exports, module)
|
|
86172
|
+
var require_sparkline2 = __commonJS(function(exports, module) {
|
|
86058
86173
|
var blessed = require_blessed();
|
|
86059
86174
|
var Node = blessed.Node;
|
|
86060
86175
|
var Box = blessed.Box;
|
|
@@ -86111,14 +86226,14 @@ var require_sparkline2 = __commonJS((exports, module) => {
|
|
|
86111
86226
|
});
|
|
86112
86227
|
|
|
86113
86228
|
// node_modules/.bun/ansi-regex@2.1.1/node_modules/ansi-regex/index.js
|
|
86114
|
-
var require_ansi_regex = __commonJS((exports, module)
|
|
86229
|
+
var require_ansi_regex = __commonJS(function(exports, module) {
|
|
86115
86230
|
module.exports = function() {
|
|
86116
86231
|
return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
|
|
86117
86232
|
};
|
|
86118
86233
|
});
|
|
86119
86234
|
|
|
86120
86235
|
// node_modules/.bun/strip-ansi@3.0.1/node_modules/strip-ansi/index.js
|
|
86121
|
-
var require_strip_ansi = __commonJS((exports, module)
|
|
86236
|
+
var require_strip_ansi = __commonJS(function(exports, module) {
|
|
86122
86237
|
var ansiRegex = require_ansi_regex()();
|
|
86123
86238
|
module.exports = function(str) {
|
|
86124
86239
|
return typeof str === "string" ? str.replace(ansiRegex, "") : str;
|
|
@@ -86126,7 +86241,7 @@ var require_strip_ansi = __commonJS((exports, module) => {
|
|
|
86126
86241
|
});
|
|
86127
86242
|
|
|
86128
86243
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/table.js
|
|
86129
|
-
var require_table = __commonJS((exports, module)
|
|
86244
|
+
var require_table = __commonJS(function(exports, module) {
|
|
86130
86245
|
var blessed = require_blessed();
|
|
86131
86246
|
var Node = blessed.Node;
|
|
86132
86247
|
var Box = blessed.Box;
|
|
@@ -86242,7 +86357,7 @@ var require_table = __commonJS((exports, module) => {
|
|
|
86242
86357
|
});
|
|
86243
86358
|
|
|
86244
86359
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/tree.js
|
|
86245
|
-
var require_tree = __commonJS((exports, module)
|
|
86360
|
+
var require_tree = __commonJS(function(exports, module) {
|
|
86246
86361
|
var blessed = require_blessed();
|
|
86247
86362
|
var Node = blessed.Node;
|
|
86248
86363
|
var Box = blessed.Box;
|
|
@@ -86375,7 +86490,7 @@ var require_tree = __commonJS((exports, module) => {
|
|
|
86375
86490
|
});
|
|
86376
86491
|
|
|
86377
86492
|
// node_modules/.bun/marked@4.3.0/node_modules/marked/lib/marked.cjs
|
|
86378
|
-
var require_marked = __commonJS((exports)
|
|
86493
|
+
var require_marked = __commonJS(function(exports) {
|
|
86379
86494
|
function _defineProperties(target, props) {
|
|
86380
86495
|
for (var i = 0;i < props.length; i++) {
|
|
86381
86496
|
var descriptor = props[i];
|
|
@@ -88689,7 +88804,7 @@ Please report this to https://github.com/markedjs/marked.`;
|
|
|
88689
88804
|
});
|
|
88690
88805
|
|
|
88691
88806
|
// node_modules/.bun/esprima@4.0.1/node_modules/esprima/dist/esprima.js
|
|
88692
|
-
var require_esprima = __commonJS((exports, module)
|
|
88807
|
+
var require_esprima = __commonJS(function(exports, module) {
|
|
88693
88808
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
88694
88809
|
if (typeof exports === "object" && typeof module === "object")
|
|
88695
88810
|
module.exports = factory();
|
|
@@ -94829,7 +94944,7 @@ var require_esprima = __commonJS((exports, module) => {
|
|
|
94829
94944
|
});
|
|
94830
94945
|
|
|
94831
94946
|
// node_modules/.bun/redeyed@2.1.1/node_modules/redeyed/redeyed.js
|
|
94832
|
-
var require_redeyed = __commonJS((exports, module)
|
|
94947
|
+
var require_redeyed = __commonJS(function(exports, module) {
|
|
94833
94948
|
(function() {
|
|
94834
94949
|
var esprima;
|
|
94835
94950
|
var exportFn;
|
|
@@ -95069,7 +95184,7 @@ Should be of format "before:after"`);
|
|
|
95069
95184
|
});
|
|
95070
95185
|
|
|
95071
95186
|
// node_modules/.bun/ansicolors@0.3.2/node_modules/ansicolors/ansicolors.js
|
|
95072
|
-
var require_ansicolors = __commonJS((exports, module)
|
|
95187
|
+
var require_ansicolors = __commonJS(function(exports, module) {
|
|
95073
95188
|
var colorNums = {
|
|
95074
95189
|
white: 37,
|
|
95075
95190
|
black: 30,
|
|
@@ -95129,7 +95244,7 @@ var require_ansicolors = __commonJS((exports, module) => {
|
|
|
95129
95244
|
});
|
|
95130
95245
|
|
|
95131
95246
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/themes/default.js
|
|
95132
|
-
var require_default = __commonJS((exports, module)
|
|
95247
|
+
var require_default = __commonJS(function(exports, module) {
|
|
95133
95248
|
var colors = require_ansicolors();
|
|
95134
95249
|
module.exports = {
|
|
95135
95250
|
Boolean: {
|
|
@@ -95301,7 +95416,7 @@ var require_default = __commonJS((exports, module) => {
|
|
|
95301
95416
|
});
|
|
95302
95417
|
|
|
95303
95418
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlight.js
|
|
95304
|
-
var require_highlight = __commonJS((exports, module)
|
|
95419
|
+
var require_highlight = __commonJS(function(exports, module) {
|
|
95305
95420
|
var redeyed = require_redeyed();
|
|
95306
95421
|
var theme = require_default();
|
|
95307
95422
|
var colors = require_ansicolors();
|
|
@@ -95373,7 +95488,7 @@ var require_highlight = __commonJS((exports, module) => {
|
|
|
95373
95488
|
});
|
|
95374
95489
|
|
|
95375
95490
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFile.js
|
|
95376
|
-
var require_highlightFile = __commonJS((exports, module)
|
|
95491
|
+
var require_highlightFile = __commonJS(function(exports, module) {
|
|
95377
95492
|
var fs = __require("fs");
|
|
95378
95493
|
var highlight = require_highlight();
|
|
95379
95494
|
function isFunction(obj) {
|
|
@@ -95398,7 +95513,7 @@ var require_highlightFile = __commonJS((exports, module) => {
|
|
|
95398
95513
|
});
|
|
95399
95514
|
|
|
95400
95515
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFileSync.js
|
|
95401
|
-
var require_highlightFileSync = __commonJS((exports, module)
|
|
95516
|
+
var require_highlightFileSync = __commonJS(function(exports, module) {
|
|
95402
95517
|
var fs = __require("fs");
|
|
95403
95518
|
var highlight = require_highlight();
|
|
95404
95519
|
module.exports = function highlightFileSync(fullPath, opts) {
|
|
@@ -95409,7 +95524,7 @@ var require_highlightFileSync = __commonJS((exports, module) => {
|
|
|
95409
95524
|
});
|
|
95410
95525
|
|
|
95411
95526
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/cardinal.js
|
|
95412
|
-
var require_cardinal = __commonJS((exports, module)
|
|
95527
|
+
var require_cardinal = __commonJS(function(exports, module) {
|
|
95413
95528
|
module.exports = {
|
|
95414
95529
|
highlight: require_highlight(),
|
|
95415
95530
|
highlightFile: require_highlightFile(),
|
|
@@ -95418,13 +95533,13 @@ var require_cardinal = __commonJS((exports, module) => {
|
|
|
95418
95533
|
});
|
|
95419
95534
|
|
|
95420
95535
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js
|
|
95421
|
-
var require__freeGlobal = __commonJS((exports, module)
|
|
95536
|
+
var require__freeGlobal = __commonJS(function(exports, module) {
|
|
95422
95537
|
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
|
|
95423
95538
|
module.exports = freeGlobal;
|
|
95424
95539
|
});
|
|
95425
95540
|
|
|
95426
95541
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js
|
|
95427
|
-
var require__root = __commonJS((exports, module)
|
|
95542
|
+
var require__root = __commonJS(function(exports, module) {
|
|
95428
95543
|
var freeGlobal = require__freeGlobal();
|
|
95429
95544
|
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
95430
95545
|
var root = freeGlobal || freeSelf || Function("return this")();
|
|
@@ -95432,14 +95547,14 @@ var require__root = __commonJS((exports, module) => {
|
|
|
95432
95547
|
});
|
|
95433
95548
|
|
|
95434
95549
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js
|
|
95435
|
-
var require__Symbol = __commonJS((exports, module)
|
|
95550
|
+
var require__Symbol = __commonJS(function(exports, module) {
|
|
95436
95551
|
var root = require__root();
|
|
95437
95552
|
var Symbol2 = root.Symbol;
|
|
95438
95553
|
module.exports = Symbol2;
|
|
95439
95554
|
});
|
|
95440
95555
|
|
|
95441
95556
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_copyArray.js
|
|
95442
|
-
var require__copyArray = __commonJS((exports, module)
|
|
95557
|
+
var require__copyArray = __commonJS(function(exports, module) {
|
|
95443
95558
|
function copyArray(source, array) {
|
|
95444
95559
|
var index = -1, length = source.length;
|
|
95445
95560
|
array || (array = Array(length));
|
|
@@ -95452,7 +95567,7 @@ var require__copyArray = __commonJS((exports, module) => {
|
|
|
95452
95567
|
});
|
|
95453
95568
|
|
|
95454
95569
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js
|
|
95455
|
-
var require__getRawTag = __commonJS((exports, module)
|
|
95570
|
+
var require__getRawTag = __commonJS(function(exports, module) {
|
|
95456
95571
|
var Symbol2 = require__Symbol();
|
|
95457
95572
|
var objectProto = Object.prototype;
|
|
95458
95573
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
@@ -95478,7 +95593,7 @@ var require__getRawTag = __commonJS((exports, module) => {
|
|
|
95478
95593
|
});
|
|
95479
95594
|
|
|
95480
95595
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js
|
|
95481
|
-
var require__objectToString = __commonJS((exports, module)
|
|
95596
|
+
var require__objectToString = __commonJS(function(exports, module) {
|
|
95482
95597
|
var objectProto = Object.prototype;
|
|
95483
95598
|
var nativeObjectToString = objectProto.toString;
|
|
95484
95599
|
function objectToString(value) {
|
|
@@ -95488,7 +95603,7 @@ var require__objectToString = __commonJS((exports, module) => {
|
|
|
95488
95603
|
});
|
|
95489
95604
|
|
|
95490
95605
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js
|
|
95491
|
-
var require__baseGetTag = __commonJS((exports, module)
|
|
95606
|
+
var require__baseGetTag = __commonJS(function(exports, module) {
|
|
95492
95607
|
var Symbol2 = require__Symbol();
|
|
95493
95608
|
var getRawTag = require__getRawTag();
|
|
95494
95609
|
var objectToString = require__objectToString();
|
|
@@ -95505,7 +95620,7 @@ var require__baseGetTag = __commonJS((exports, module) => {
|
|
|
95505
95620
|
});
|
|
95506
95621
|
|
|
95507
95622
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js
|
|
95508
|
-
var require_isObject = __commonJS((exports, module)
|
|
95623
|
+
var require_isObject = __commonJS(function(exports, module) {
|
|
95509
95624
|
function isObject(value) {
|
|
95510
95625
|
var type = typeof value;
|
|
95511
95626
|
return value != null && (type == "object" || type == "function");
|
|
@@ -95514,7 +95629,7 @@ var require_isObject = __commonJS((exports, module) => {
|
|
|
95514
95629
|
});
|
|
95515
95630
|
|
|
95516
95631
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js
|
|
95517
|
-
var require_isFunction = __commonJS((exports, module)
|
|
95632
|
+
var require_isFunction = __commonJS(function(exports, module) {
|
|
95518
95633
|
var baseGetTag = require__baseGetTag();
|
|
95519
95634
|
var isObject = require_isObject();
|
|
95520
95635
|
var asyncTag = "[object AsyncFunction]";
|
|
@@ -95532,14 +95647,14 @@ var require_isFunction = __commonJS((exports, module) => {
|
|
|
95532
95647
|
});
|
|
95533
95648
|
|
|
95534
95649
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js
|
|
95535
|
-
var require__coreJsData = __commonJS((exports, module)
|
|
95650
|
+
var require__coreJsData = __commonJS(function(exports, module) {
|
|
95536
95651
|
var root = require__root();
|
|
95537
95652
|
var coreJsData = root["__core-js_shared__"];
|
|
95538
95653
|
module.exports = coreJsData;
|
|
95539
95654
|
});
|
|
95540
95655
|
|
|
95541
95656
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js
|
|
95542
|
-
var require__isMasked = __commonJS((exports, module)
|
|
95657
|
+
var require__isMasked = __commonJS(function(exports, module) {
|
|
95543
95658
|
var coreJsData = require__coreJsData();
|
|
95544
95659
|
var maskSrcKey = function() {
|
|
95545
95660
|
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
|
|
@@ -95552,7 +95667,7 @@ var require__isMasked = __commonJS((exports, module) => {
|
|
|
95552
95667
|
});
|
|
95553
95668
|
|
|
95554
95669
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js
|
|
95555
|
-
var require__toSource = __commonJS((exports, module)
|
|
95670
|
+
var require__toSource = __commonJS(function(exports, module) {
|
|
95556
95671
|
var funcProto = Function.prototype;
|
|
95557
95672
|
var funcToString = funcProto.toString;
|
|
95558
95673
|
function toSource(func) {
|
|
@@ -95570,7 +95685,7 @@ var require__toSource = __commonJS((exports, module) => {
|
|
|
95570
95685
|
});
|
|
95571
95686
|
|
|
95572
95687
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js
|
|
95573
|
-
var require__baseIsNative = __commonJS((exports, module)
|
|
95688
|
+
var require__baseIsNative = __commonJS(function(exports, module) {
|
|
95574
95689
|
var isFunction = require_isFunction();
|
|
95575
95690
|
var isMasked = require__isMasked();
|
|
95576
95691
|
var isObject = require_isObject();
|
|
@@ -95593,7 +95708,7 @@ var require__baseIsNative = __commonJS((exports, module) => {
|
|
|
95593
95708
|
});
|
|
95594
95709
|
|
|
95595
95710
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js
|
|
95596
|
-
var require__getValue = __commonJS((exports, module)
|
|
95711
|
+
var require__getValue = __commonJS(function(exports, module) {
|
|
95597
95712
|
function getValue(object, key) {
|
|
95598
95713
|
return object == null ? undefined : object[key];
|
|
95599
95714
|
}
|
|
@@ -95601,7 +95716,7 @@ var require__getValue = __commonJS((exports, module) => {
|
|
|
95601
95716
|
});
|
|
95602
95717
|
|
|
95603
95718
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js
|
|
95604
|
-
var require__getNative = __commonJS((exports, module)
|
|
95719
|
+
var require__getNative = __commonJS(function(exports, module) {
|
|
95605
95720
|
var baseIsNative = require__baseIsNative();
|
|
95606
95721
|
var getValue = require__getValue();
|
|
95607
95722
|
function getNative(object, key) {
|
|
@@ -95612,7 +95727,7 @@ var require__getNative = __commonJS((exports, module) => {
|
|
|
95612
95727
|
});
|
|
95613
95728
|
|
|
95614
95729
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_DataView.js
|
|
95615
|
-
var require__DataView = __commonJS((exports, module)
|
|
95730
|
+
var require__DataView = __commonJS(function(exports, module) {
|
|
95616
95731
|
var getNative = require__getNative();
|
|
95617
95732
|
var root = require__root();
|
|
95618
95733
|
var DataView = getNative(root, "DataView");
|
|
@@ -95620,7 +95735,7 @@ var require__DataView = __commonJS((exports, module) => {
|
|
|
95620
95735
|
});
|
|
95621
95736
|
|
|
95622
95737
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js
|
|
95623
|
-
var require__Map = __commonJS((exports, module)
|
|
95738
|
+
var require__Map = __commonJS(function(exports, module) {
|
|
95624
95739
|
var getNative = require__getNative();
|
|
95625
95740
|
var root = require__root();
|
|
95626
95741
|
var Map2 = getNative(root, "Map");
|
|
@@ -95628,7 +95743,7 @@ var require__Map = __commonJS((exports, module) => {
|
|
|
95628
95743
|
});
|
|
95629
95744
|
|
|
95630
95745
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Promise.js
|
|
95631
|
-
var require__Promise = __commonJS((exports, module)
|
|
95746
|
+
var require__Promise = __commonJS(function(exports, module) {
|
|
95632
95747
|
var getNative = require__getNative();
|
|
95633
95748
|
var root = require__root();
|
|
95634
95749
|
var Promise2 = getNative(root, "Promise");
|
|
@@ -95636,7 +95751,7 @@ var require__Promise = __commonJS((exports, module) => {
|
|
|
95636
95751
|
});
|
|
95637
95752
|
|
|
95638
95753
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Set.js
|
|
95639
|
-
var require__Set = __commonJS((exports, module)
|
|
95754
|
+
var require__Set = __commonJS(function(exports, module) {
|
|
95640
95755
|
var getNative = require__getNative();
|
|
95641
95756
|
var root = require__root();
|
|
95642
95757
|
var Set2 = getNative(root, "Set");
|
|
@@ -95644,7 +95759,7 @@ var require__Set = __commonJS((exports, module) => {
|
|
|
95644
95759
|
});
|
|
95645
95760
|
|
|
95646
95761
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_WeakMap.js
|
|
95647
|
-
var require__WeakMap = __commonJS((exports, module)
|
|
95762
|
+
var require__WeakMap = __commonJS(function(exports, module) {
|
|
95648
95763
|
var getNative = require__getNative();
|
|
95649
95764
|
var root = require__root();
|
|
95650
95765
|
var WeakMap2 = getNative(root, "WeakMap");
|
|
@@ -95652,7 +95767,7 @@ var require__WeakMap = __commonJS((exports, module) => {
|
|
|
95652
95767
|
});
|
|
95653
95768
|
|
|
95654
95769
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getTag.js
|
|
95655
|
-
var require__getTag = __commonJS((exports, module)
|
|
95770
|
+
var require__getTag = __commonJS(function(exports, module) {
|
|
95656
95771
|
var DataView = require__DataView();
|
|
95657
95772
|
var Map2 = require__Map();
|
|
95658
95773
|
var Promise2 = require__Promise();
|
|
@@ -95696,7 +95811,7 @@ var require__getTag = __commonJS((exports, module) => {
|
|
|
95696
95811
|
});
|
|
95697
95812
|
|
|
95698
95813
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isLength.js
|
|
95699
|
-
var require_isLength = __commonJS((exports, module)
|
|
95814
|
+
var require_isLength = __commonJS(function(exports, module) {
|
|
95700
95815
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
95701
95816
|
function isLength(value) {
|
|
95702
95817
|
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
@@ -95705,7 +95820,7 @@ var require_isLength = __commonJS((exports, module) => {
|
|
|
95705
95820
|
});
|
|
95706
95821
|
|
|
95707
95822
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArrayLike.js
|
|
95708
|
-
var require_isArrayLike = __commonJS((exports, module)
|
|
95823
|
+
var require_isArrayLike = __commonJS(function(exports, module) {
|
|
95709
95824
|
var isFunction = require_isFunction();
|
|
95710
95825
|
var isLength = require_isLength();
|
|
95711
95826
|
function isArrayLike(value) {
|
|
@@ -95715,13 +95830,13 @@ var require_isArrayLike = __commonJS((exports, module) => {
|
|
|
95715
95830
|
});
|
|
95716
95831
|
|
|
95717
95832
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArray.js
|
|
95718
|
-
var require_isArray = __commonJS((exports, module)
|
|
95833
|
+
var require_isArray = __commonJS(function(exports, module) {
|
|
95719
95834
|
var isArray = Array.isArray;
|
|
95720
95835
|
module.exports = isArray;
|
|
95721
95836
|
});
|
|
95722
95837
|
|
|
95723
95838
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObjectLike.js
|
|
95724
|
-
var require_isObjectLike = __commonJS((exports, module)
|
|
95839
|
+
var require_isObjectLike = __commonJS(function(exports, module) {
|
|
95725
95840
|
function isObjectLike(value) {
|
|
95726
95841
|
return value != null && typeof value == "object";
|
|
95727
95842
|
}
|
|
@@ -95729,7 +95844,7 @@ var require_isObjectLike = __commonJS((exports, module) => {
|
|
|
95729
95844
|
});
|
|
95730
95845
|
|
|
95731
95846
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isString.js
|
|
95732
|
-
var require_isString = __commonJS((exports, module)
|
|
95847
|
+
var require_isString = __commonJS(function(exports, module) {
|
|
95733
95848
|
var baseGetTag = require__baseGetTag();
|
|
95734
95849
|
var isArray = require_isArray();
|
|
95735
95850
|
var isObjectLike = require_isObjectLike();
|
|
@@ -95741,7 +95856,7 @@ var require_isString = __commonJS((exports, module) => {
|
|
|
95741
95856
|
});
|
|
95742
95857
|
|
|
95743
95858
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_iteratorToArray.js
|
|
95744
|
-
var require__iteratorToArray = __commonJS((exports, module)
|
|
95859
|
+
var require__iteratorToArray = __commonJS(function(exports, module) {
|
|
95745
95860
|
function iteratorToArray(iterator) {
|
|
95746
95861
|
var data, result = [];
|
|
95747
95862
|
while (!(data = iterator.next()).done) {
|
|
@@ -95753,7 +95868,7 @@ var require__iteratorToArray = __commonJS((exports, module) => {
|
|
|
95753
95868
|
});
|
|
95754
95869
|
|
|
95755
95870
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapToArray.js
|
|
95756
|
-
var require__mapToArray = __commonJS((exports, module)
|
|
95871
|
+
var require__mapToArray = __commonJS(function(exports, module) {
|
|
95757
95872
|
function mapToArray(map) {
|
|
95758
95873
|
var index = -1, result = Array(map.size);
|
|
95759
95874
|
map.forEach(function(value, key) {
|
|
@@ -95765,7 +95880,7 @@ var require__mapToArray = __commonJS((exports, module) => {
|
|
|
95765
95880
|
});
|
|
95766
95881
|
|
|
95767
95882
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_setToArray.js
|
|
95768
|
-
var require__setToArray = __commonJS((exports, module)
|
|
95883
|
+
var require__setToArray = __commonJS(function(exports, module) {
|
|
95769
95884
|
function setToArray(set) {
|
|
95770
95885
|
var index = -1, result = Array(set.size);
|
|
95771
95886
|
set.forEach(function(value) {
|
|
@@ -95777,7 +95892,7 @@ var require__setToArray = __commonJS((exports, module) => {
|
|
|
95777
95892
|
});
|
|
95778
95893
|
|
|
95779
95894
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_asciiToArray.js
|
|
95780
|
-
var require__asciiToArray = __commonJS((exports, module)
|
|
95895
|
+
var require__asciiToArray = __commonJS(function(exports, module) {
|
|
95781
95896
|
function asciiToArray(string) {
|
|
95782
95897
|
return string.split("");
|
|
95783
95898
|
}
|
|
@@ -95785,7 +95900,7 @@ var require__asciiToArray = __commonJS((exports, module) => {
|
|
|
95785
95900
|
});
|
|
95786
95901
|
|
|
95787
95902
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hasUnicode.js
|
|
95788
|
-
var require__hasUnicode = __commonJS((exports, module)
|
|
95903
|
+
var require__hasUnicode = __commonJS(function(exports, module) {
|
|
95789
95904
|
var rsAstralRange = "\\ud800-\\udfff";
|
|
95790
95905
|
var rsComboMarksRange = "\\u0300-\\u036f";
|
|
95791
95906
|
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
|
|
@@ -95801,7 +95916,7 @@ var require__hasUnicode = __commonJS((exports, module) => {
|
|
|
95801
95916
|
});
|
|
95802
95917
|
|
|
95803
95918
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_unicodeToArray.js
|
|
95804
|
-
var require__unicodeToArray = __commonJS((exports, module)
|
|
95919
|
+
var require__unicodeToArray = __commonJS(function(exports, module) {
|
|
95805
95920
|
var rsAstralRange = "\\ud800-\\udfff";
|
|
95806
95921
|
var rsComboMarksRange = "\\u0300-\\u036f";
|
|
95807
95922
|
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
|
|
@@ -95829,7 +95944,7 @@ var require__unicodeToArray = __commonJS((exports, module) => {
|
|
|
95829
95944
|
});
|
|
95830
95945
|
|
|
95831
95946
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_stringToArray.js
|
|
95832
|
-
var require__stringToArray = __commonJS((exports, module)
|
|
95947
|
+
var require__stringToArray = __commonJS(function(exports, module) {
|
|
95833
95948
|
var asciiToArray = require__asciiToArray();
|
|
95834
95949
|
var hasUnicode = require__hasUnicode();
|
|
95835
95950
|
var unicodeToArray = require__unicodeToArray();
|
|
@@ -95840,7 +95955,7 @@ var require__stringToArray = __commonJS((exports, module) => {
|
|
|
95840
95955
|
});
|
|
95841
95956
|
|
|
95842
95957
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayMap.js
|
|
95843
|
-
var require__arrayMap = __commonJS((exports, module)
|
|
95958
|
+
var require__arrayMap = __commonJS(function(exports, module) {
|
|
95844
95959
|
function arrayMap(array, iteratee) {
|
|
95845
95960
|
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
95846
95961
|
while (++index < length) {
|
|
@@ -95852,7 +95967,7 @@ var require__arrayMap = __commonJS((exports, module) => {
|
|
|
95852
95967
|
});
|
|
95853
95968
|
|
|
95854
95969
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseValues.js
|
|
95855
|
-
var require__baseValues = __commonJS((exports, module)
|
|
95970
|
+
var require__baseValues = __commonJS(function(exports, module) {
|
|
95856
95971
|
var arrayMap = require__arrayMap();
|
|
95857
95972
|
function baseValues(object, props) {
|
|
95858
95973
|
return arrayMap(props, function(key) {
|
|
@@ -95863,7 +95978,7 @@ var require__baseValues = __commonJS((exports, module) => {
|
|
|
95863
95978
|
});
|
|
95864
95979
|
|
|
95865
95980
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseTimes.js
|
|
95866
|
-
var require__baseTimes = __commonJS((exports, module)
|
|
95981
|
+
var require__baseTimes = __commonJS(function(exports, module) {
|
|
95867
95982
|
function baseTimes(n, iteratee) {
|
|
95868
95983
|
var index = -1, result = Array(n);
|
|
95869
95984
|
while (++index < n) {
|
|
@@ -95875,7 +95990,7 @@ var require__baseTimes = __commonJS((exports, module) => {
|
|
|
95875
95990
|
});
|
|
95876
95991
|
|
|
95877
95992
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js
|
|
95878
|
-
var require__baseIsArguments = __commonJS((exports, module)
|
|
95993
|
+
var require__baseIsArguments = __commonJS(function(exports, module) {
|
|
95879
95994
|
var baseGetTag = require__baseGetTag();
|
|
95880
95995
|
var isObjectLike = require_isObjectLike();
|
|
95881
95996
|
var argsTag = "[object Arguments]";
|
|
@@ -95886,7 +96001,7 @@ var require__baseIsArguments = __commonJS((exports, module) => {
|
|
|
95886
96001
|
});
|
|
95887
96002
|
|
|
95888
96003
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArguments.js
|
|
95889
|
-
var require_isArguments = __commonJS((exports, module)
|
|
96004
|
+
var require_isArguments = __commonJS(function(exports, module) {
|
|
95890
96005
|
var baseIsArguments = require__baseIsArguments();
|
|
95891
96006
|
var isObjectLike = require_isObjectLike();
|
|
95892
96007
|
var objectProto = Object.prototype;
|
|
@@ -95901,7 +96016,7 @@ var require_isArguments = __commonJS((exports, module) => {
|
|
|
95901
96016
|
});
|
|
95902
96017
|
|
|
95903
96018
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/stubFalse.js
|
|
95904
|
-
var require_stubFalse = __commonJS((exports, module)
|
|
96019
|
+
var require_stubFalse = __commonJS(function(exports, module) {
|
|
95905
96020
|
function stubFalse() {
|
|
95906
96021
|
return false;
|
|
95907
96022
|
}
|
|
@@ -95909,7 +96024,7 @@ var require_stubFalse = __commonJS((exports, module) => {
|
|
|
95909
96024
|
});
|
|
95910
96025
|
|
|
95911
96026
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isBuffer.js
|
|
95912
|
-
var require_isBuffer = __commonJS((exports, module)
|
|
96027
|
+
var require_isBuffer = __commonJS(function(exports, module) {
|
|
95913
96028
|
var root = require__root();
|
|
95914
96029
|
var stubFalse = require_stubFalse();
|
|
95915
96030
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
@@ -95922,7 +96037,7 @@ var require_isBuffer = __commonJS((exports, module) => {
|
|
|
95922
96037
|
});
|
|
95923
96038
|
|
|
95924
96039
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isIndex.js
|
|
95925
|
-
var require__isIndex = __commonJS((exports, module)
|
|
96040
|
+
var require__isIndex = __commonJS(function(exports, module) {
|
|
95926
96041
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
95927
96042
|
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
95928
96043
|
function isIndex(value, length) {
|
|
@@ -95934,7 +96049,7 @@ var require__isIndex = __commonJS((exports, module) => {
|
|
|
95934
96049
|
});
|
|
95935
96050
|
|
|
95936
96051
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js
|
|
95937
|
-
var require__baseIsTypedArray = __commonJS((exports, module)
|
|
96052
|
+
var require__baseIsTypedArray = __commonJS(function(exports, module) {
|
|
95938
96053
|
var baseGetTag = require__baseGetTag();
|
|
95939
96054
|
var isLength = require_isLength();
|
|
95940
96055
|
var isObjectLike = require_isObjectLike();
|
|
@@ -95972,7 +96087,7 @@ var require__baseIsTypedArray = __commonJS((exports, module) => {
|
|
|
95972
96087
|
});
|
|
95973
96088
|
|
|
95974
96089
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseUnary.js
|
|
95975
|
-
var require__baseUnary = __commonJS((exports, module)
|
|
96090
|
+
var require__baseUnary = __commonJS(function(exports, module) {
|
|
95976
96091
|
function baseUnary(func) {
|
|
95977
96092
|
return function(value) {
|
|
95978
96093
|
return func(value);
|
|
@@ -95982,7 +96097,7 @@ var require__baseUnary = __commonJS((exports, module) => {
|
|
|
95982
96097
|
});
|
|
95983
96098
|
|
|
95984
96099
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nodeUtil.js
|
|
95985
|
-
var require__nodeUtil = __commonJS((exports, module)
|
|
96100
|
+
var require__nodeUtil = __commonJS(function(exports, module) {
|
|
95986
96101
|
var freeGlobal = require__freeGlobal();
|
|
95987
96102
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
95988
96103
|
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
|
|
@@ -96001,7 +96116,7 @@ var require__nodeUtil = __commonJS((exports, module) => {
|
|
|
96001
96116
|
});
|
|
96002
96117
|
|
|
96003
96118
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isTypedArray.js
|
|
96004
|
-
var require_isTypedArray = __commonJS((exports, module)
|
|
96119
|
+
var require_isTypedArray = __commonJS(function(exports, module) {
|
|
96005
96120
|
var baseIsTypedArray = require__baseIsTypedArray();
|
|
96006
96121
|
var baseUnary = require__baseUnary();
|
|
96007
96122
|
var nodeUtil = require__nodeUtil();
|
|
@@ -96011,7 +96126,7 @@ var require_isTypedArray = __commonJS((exports, module) => {
|
|
|
96011
96126
|
});
|
|
96012
96127
|
|
|
96013
96128
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js
|
|
96014
|
-
var require__arrayLikeKeys = __commonJS((exports, module)
|
|
96129
|
+
var require__arrayLikeKeys = __commonJS(function(exports, module) {
|
|
96015
96130
|
var baseTimes = require__baseTimes();
|
|
96016
96131
|
var isArguments = require_isArguments();
|
|
96017
96132
|
var isArray = require_isArray();
|
|
@@ -96033,7 +96148,7 @@ var require__arrayLikeKeys = __commonJS((exports, module) => {
|
|
|
96033
96148
|
});
|
|
96034
96149
|
|
|
96035
96150
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isPrototype.js
|
|
96036
|
-
var require__isPrototype = __commonJS((exports, module)
|
|
96151
|
+
var require__isPrototype = __commonJS(function(exports, module) {
|
|
96037
96152
|
var objectProto = Object.prototype;
|
|
96038
96153
|
function isPrototype(value) {
|
|
96039
96154
|
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
|
|
@@ -96043,7 +96158,7 @@ var require__isPrototype = __commonJS((exports, module) => {
|
|
|
96043
96158
|
});
|
|
96044
96159
|
|
|
96045
96160
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_overArg.js
|
|
96046
|
-
var require__overArg = __commonJS((exports, module)
|
|
96161
|
+
var require__overArg = __commonJS(function(exports, module) {
|
|
96047
96162
|
function overArg(func, transform) {
|
|
96048
96163
|
return function(arg) {
|
|
96049
96164
|
return func(transform(arg));
|
|
@@ -96053,14 +96168,14 @@ var require__overArg = __commonJS((exports, module) => {
|
|
|
96053
96168
|
});
|
|
96054
96169
|
|
|
96055
96170
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeKeys.js
|
|
96056
|
-
var require__nativeKeys = __commonJS((exports, module)
|
|
96171
|
+
var require__nativeKeys = __commonJS(function(exports, module) {
|
|
96057
96172
|
var overArg = require__overArg();
|
|
96058
96173
|
var nativeKeys = overArg(Object.keys, Object);
|
|
96059
96174
|
module.exports = nativeKeys;
|
|
96060
96175
|
});
|
|
96061
96176
|
|
|
96062
96177
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseKeys.js
|
|
96063
|
-
var require__baseKeys = __commonJS((exports, module)
|
|
96178
|
+
var require__baseKeys = __commonJS(function(exports, module) {
|
|
96064
96179
|
var isPrototype = require__isPrototype();
|
|
96065
96180
|
var nativeKeys = require__nativeKeys();
|
|
96066
96181
|
var objectProto = Object.prototype;
|
|
@@ -96081,7 +96196,7 @@ var require__baseKeys = __commonJS((exports, module) => {
|
|
|
96081
96196
|
});
|
|
96082
96197
|
|
|
96083
96198
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/keys.js
|
|
96084
|
-
var require_keys2 = __commonJS((exports, module)
|
|
96199
|
+
var require_keys2 = __commonJS(function(exports, module) {
|
|
96085
96200
|
var arrayLikeKeys = require__arrayLikeKeys();
|
|
96086
96201
|
var baseKeys = require__baseKeys();
|
|
96087
96202
|
var isArrayLike = require_isArrayLike();
|
|
@@ -96092,7 +96207,7 @@ var require_keys2 = __commonJS((exports, module) => {
|
|
|
96092
96207
|
});
|
|
96093
96208
|
|
|
96094
96209
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/values.js
|
|
96095
|
-
var require_values = __commonJS((exports, module)
|
|
96210
|
+
var require_values = __commonJS(function(exports, module) {
|
|
96096
96211
|
var baseValues = require__baseValues();
|
|
96097
96212
|
var keys = require_keys2();
|
|
96098
96213
|
function values(object) {
|
|
@@ -96102,7 +96217,7 @@ var require_values = __commonJS((exports, module) => {
|
|
|
96102
96217
|
});
|
|
96103
96218
|
|
|
96104
96219
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/toArray.js
|
|
96105
|
-
var require_toArray = __commonJS((exports, module)
|
|
96220
|
+
var require_toArray = __commonJS(function(exports, module) {
|
|
96106
96221
|
var Symbol2 = require__Symbol();
|
|
96107
96222
|
var copyArray = require__copyArray();
|
|
96108
96223
|
var getTag = require__getTag();
|
|
@@ -96133,12 +96248,12 @@ var require_toArray = __commonJS((exports, module) => {
|
|
|
96133
96248
|
});
|
|
96134
96249
|
|
|
96135
96250
|
// node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.json
|
|
96136
|
-
var require_emoji = __commonJS((exports, module)
|
|
96251
|
+
var require_emoji = __commonJS(function(exports, module) {
|
|
96137
96252
|
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
96253
|
});
|
|
96139
96254
|
|
|
96140
96255
|
// node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.js
|
|
96141
|
-
var require_emoji2 = __commonJS((exports, module)
|
|
96256
|
+
var require_emoji2 = __commonJS(function(exports, module) {
|
|
96142
96257
|
var toArray = require_toArray();
|
|
96143
96258
|
var emojiByName = require_emoji();
|
|
96144
96259
|
var emojiNameRegex = /:([a-zA-Z0-9_\-\+]+):/g;
|
|
@@ -96283,7 +96398,7 @@ var require_emoji2 = __commonJS((exports, module) => {
|
|
|
96283
96398
|
});
|
|
96284
96399
|
|
|
96285
96400
|
// node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js
|
|
96286
|
-
var require_has_flag = __commonJS((exports, module)
|
|
96401
|
+
var require_has_flag = __commonJS(function(exports, module) {
|
|
96287
96402
|
module.exports = (flag, argv = process.argv) => {
|
|
96288
96403
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
96289
96404
|
const position = argv.indexOf(prefix + flag);
|
|
@@ -96293,7 +96408,7 @@ var require_has_flag = __commonJS((exports, module) => {
|
|
|
96293
96408
|
});
|
|
96294
96409
|
|
|
96295
96410
|
// node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js
|
|
96296
|
-
var require_supports_color = __commonJS((exports, module)
|
|
96411
|
+
var require_supports_color = __commonJS(function(exports, module) {
|
|
96297
96412
|
var os = __require("os");
|
|
96298
96413
|
var tty = __require("tty");
|
|
96299
96414
|
var hasFlag = require_has_flag();
|
|
@@ -96392,7 +96507,7 @@ var require_supports_color = __commonJS((exports, module) => {
|
|
|
96392
96507
|
});
|
|
96393
96508
|
|
|
96394
96509
|
// node_modules/.bun/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js
|
|
96395
|
-
var require_supports_hyperlinks = __commonJS((exports, module)
|
|
96510
|
+
var require_supports_hyperlinks = __commonJS(function(exports, module) {
|
|
96396
96511
|
var supportsColor = require_supports_color();
|
|
96397
96512
|
var hasFlag = require_has_flag();
|
|
96398
96513
|
function parseVersion(versionString) {
|
|
@@ -96471,7 +96586,7 @@ var require_supports_hyperlinks = __commonJS((exports, module) => {
|
|
|
96471
96586
|
});
|
|
96472
96587
|
|
|
96473
96588
|
// node_modules/.bun/marked-terminal@5.2.0+2cbc53c039b95cf4/node_modules/marked-terminal/index.cjs
|
|
96474
|
-
var require_marked_terminal = __commonJS((exports, module)
|
|
96589
|
+
var require_marked_terminal = __commonJS(function(exports, module) {
|
|
96475
96590
|
var process$1 = __require("node:process");
|
|
96476
96591
|
var os = __require("node:os");
|
|
96477
96592
|
var tty = __require("node:tty");
|
|
@@ -97459,7 +97574,7 @@ var require_marked_terminal = __commonJS((exports, module) => {
|
|
|
97459
97574
|
});
|
|
97460
97575
|
|
|
97461
97576
|
// 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)
|
|
97577
|
+
var require_escape_string_regexp = __commonJS(function(exports, module) {
|
|
97463
97578
|
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
|
|
97464
97579
|
module.exports = function(str) {
|
|
97465
97580
|
if (typeof str !== "string") {
|
|
@@ -97470,7 +97585,7 @@ var require_escape_string_regexp = __commonJS((exports, module) => {
|
|
|
97470
97585
|
});
|
|
97471
97586
|
|
|
97472
97587
|
// node_modules/.bun/ansi-styles@2.2.1/node_modules/ansi-styles/index.js
|
|
97473
|
-
var require_ansi_styles = __commonJS((exports, module)
|
|
97588
|
+
var require_ansi_styles = __commonJS(function(exports, module) {
|
|
97474
97589
|
function assembleStyles() {
|
|
97475
97590
|
var styles2 = {
|
|
97476
97591
|
modifiers: {
|
|
@@ -97529,14 +97644,14 @@ var require_ansi_styles = __commonJS((exports, module) => {
|
|
|
97529
97644
|
});
|
|
97530
97645
|
|
|
97531
97646
|
// node_modules/.bun/has-ansi@2.0.0/node_modules/has-ansi/index.js
|
|
97532
|
-
var require_has_ansi = __commonJS((exports, module)
|
|
97647
|
+
var require_has_ansi = __commonJS(function(exports, module) {
|
|
97533
97648
|
var ansiRegex = require_ansi_regex();
|
|
97534
97649
|
var re = new RegExp(ansiRegex().source);
|
|
97535
97650
|
module.exports = re.test.bind(re);
|
|
97536
97651
|
});
|
|
97537
97652
|
|
|
97538
97653
|
// node_modules/.bun/supports-color@2.0.0/node_modules/supports-color/index.js
|
|
97539
|
-
var require_supports_color2 = __commonJS((exports, module)
|
|
97654
|
+
var require_supports_color2 = __commonJS(function(exports, module) {
|
|
97540
97655
|
var argv = process.argv;
|
|
97541
97656
|
var terminator = argv.indexOf("--");
|
|
97542
97657
|
var hasFlag = function(flag) {
|
|
@@ -97574,7 +97689,7 @@ var require_supports_color2 = __commonJS((exports, module) => {
|
|
|
97574
97689
|
});
|
|
97575
97690
|
|
|
97576
97691
|
// node_modules/.bun/chalk@1.1.3/node_modules/chalk/index.js
|
|
97577
|
-
var require_chalk = __commonJS((exports, module)
|
|
97692
|
+
var require_chalk = __commonJS(function(exports, module) {
|
|
97578
97693
|
var escapeStringRegexp = require_escape_string_regexp();
|
|
97579
97694
|
var ansiStyles = require_ansi_styles();
|
|
97580
97695
|
var stripAnsi = require_strip_ansi();
|
|
@@ -97655,7 +97770,7 @@ var require_chalk = __commonJS((exports, module) => {
|
|
|
97655
97770
|
});
|
|
97656
97771
|
|
|
97657
97772
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/markdown.js
|
|
97658
|
-
var require_markdown = __commonJS((exports, module)
|
|
97773
|
+
var require_markdown = __commonJS(function(exports, module) {
|
|
97659
97774
|
var blessed = require_blessed();
|
|
97660
97775
|
var Box = blessed.Box;
|
|
97661
97776
|
var marked = require_marked();
|
|
@@ -97709,7 +97824,7 @@ var require_markdown = __commonJS((exports, module) => {
|
|
|
97709
97824
|
});
|
|
97710
97825
|
|
|
97711
97826
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/bar.js
|
|
97712
|
-
var require_bar = __commonJS((exports, module)
|
|
97827
|
+
var require_bar = __commonJS(function(exports, module) {
|
|
97713
97828
|
var blessed = require_blessed();
|
|
97714
97829
|
var Node = blessed.Node;
|
|
97715
97830
|
var Canvas = require_canvas();
|
|
@@ -97790,7 +97905,7 @@ var require_bar = __commonJS((exports, module) => {
|
|
|
97790
97905
|
});
|
|
97791
97906
|
|
|
97792
97907
|
// 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)
|
|
97908
|
+
var require_stacked_bar = __commonJS(function(exports, module) {
|
|
97794
97909
|
var blessed = require_blessed();
|
|
97795
97910
|
var Node = blessed.Node;
|
|
97796
97911
|
var Canvas = require_canvas();
|
|
@@ -97946,7 +98061,7 @@ var require_stacked_bar = __commonJS((exports, module) => {
|
|
|
97946
98061
|
});
|
|
97947
98062
|
|
|
97948
98063
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/lodash.js
|
|
97949
|
-
var require_lodash = __commonJS((exports, module)
|
|
98064
|
+
var require_lodash = __commonJS(function(exports, module) {
|
|
97950
98065
|
(function() {
|
|
97951
98066
|
var undefined2;
|
|
97952
98067
|
var VERSION = "4.17.21";
|
|
@@ -101173,7 +101288,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
|
101173
101288
|
}
|
|
101174
101289
|
return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : [];
|
|
101175
101290
|
});
|
|
101176
|
-
function
|
|
101291
|
+
function join13(array, separator) {
|
|
101177
101292
|
return array == null ? "" : nativeJoin.call(array, separator);
|
|
101178
101293
|
}
|
|
101179
101294
|
function last(array) {
|
|
@@ -103105,7 +103220,7 @@ __p += '`;
|
|
|
103105
103220
|
lodash.isUndefined = isUndefined;
|
|
103106
103221
|
lodash.isWeakMap = isWeakMap;
|
|
103107
103222
|
lodash.isWeakSet = isWeakSet;
|
|
103108
|
-
lodash.join =
|
|
103223
|
+
lodash.join = join13;
|
|
103109
103224
|
lodash.kebabCase = kebabCase;
|
|
103110
103225
|
lodash.last = last;
|
|
103111
103226
|
lodash.lastIndexOf = lastIndexOf;
|
|
@@ -103362,7 +103477,7 @@ __p += '`;
|
|
|
103362
103477
|
});
|
|
103363
103478
|
|
|
103364
103479
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/line.js
|
|
103365
|
-
var require_line = __commonJS((exports, module)
|
|
103480
|
+
var require_line = __commonJS(function(exports, module) {
|
|
103366
103481
|
var blessed = require_blessed();
|
|
103367
103482
|
var Node = blessed.Node;
|
|
103368
103483
|
var Canvas = require_canvas();
|
|
@@ -103569,7 +103684,7 @@ var require_line = __commonJS((exports, module) => {
|
|
|
103569
103684
|
});
|
|
103570
103685
|
|
|
103571
103686
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/server-utils.js
|
|
103572
|
-
var require_server_utils = __commonJS((exports)
|
|
103687
|
+
var require_server_utils = __commonJS(function(exports) {
|
|
103573
103688
|
var url = __require("url");
|
|
103574
103689
|
var contrib = require_blessed_contrib();
|
|
103575
103690
|
var blessed = require_blessed();
|
|
@@ -103633,7 +103748,7 @@ var require_server_utils = __commonJS((exports) => {
|
|
|
103633
103748
|
});
|
|
103634
103749
|
|
|
103635
103750
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/index.js
|
|
103636
|
-
var require_blessed_contrib = __commonJS((exports)
|
|
103751
|
+
var require_blessed_contrib = __commonJS(function(exports) {
|
|
103637
103752
|
exports.grid = require_grid();
|
|
103638
103753
|
exports.carousel = require_carousel();
|
|
103639
103754
|
exports.map = require_map2();
|
|
@@ -103786,27 +103901,15 @@ __export(exports_dev, {
|
|
|
103786
103901
|
default: () => dev
|
|
103787
103902
|
});
|
|
103788
103903
|
import { spawn } from "node:child_process";
|
|
103789
|
-
import { existsSync as
|
|
103790
|
-
import { join as
|
|
103791
|
-
|
|
103792
|
-
|
|
103793
|
-
const
|
|
103794
|
-
if (
|
|
103795
|
-
return
|
|
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
|
-
}
|
|
103904
|
+
import { existsSync as existsSync7 } from "node:fs";
|
|
103905
|
+
import { join as join13 } from "node:path";
|
|
103906
|
+
import { pathToFileURL as pathToFileURL9 } from "node:url";
|
|
103907
|
+
function parsePort(args) {
|
|
103908
|
+
const portIndex = args.findIndex((arg) => arg === "--port" || arg === "-p");
|
|
103909
|
+
if (portIndex !== -1 && args[portIndex + 1]) {
|
|
103910
|
+
return Number(args[portIndex + 1]);
|
|
103808
103911
|
}
|
|
103809
|
-
return "
|
|
103912
|
+
return Number(process.env.PORT || "3000");
|
|
103810
103913
|
}
|
|
103811
103914
|
async function waitForInitialBuild(genProcess) {
|
|
103812
103915
|
console.log("[reroute/dev] Waiting for initial build...");
|
|
@@ -103831,15 +103934,33 @@ async function waitForInitialBuild(genProcess) {
|
|
|
103831
103934
|
console.log("[reroute/dev] Initial build complete!");
|
|
103832
103935
|
return outputBuffer;
|
|
103833
103936
|
}
|
|
103834
|
-
async function
|
|
103937
|
+
async function startTui(port) {
|
|
103938
|
+
const rerouteCmd = getRerouteCommand();
|
|
103939
|
+
const useShell = rerouteCmd.includes(" ");
|
|
103940
|
+
const genCommand = useShell ? `${rerouteCmd} gen --watch` : rerouteCmd;
|
|
103941
|
+
const genArgs = useShell ? [] : ["gen", "--watch"];
|
|
103942
|
+
const genProcess = spawn(genCommand, genArgs, {
|
|
103943
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
103944
|
+
shell: useShell,
|
|
103945
|
+
env: {
|
|
103946
|
+
...process.env,
|
|
103947
|
+
PORT: String(port),
|
|
103948
|
+
REROUTE_DEV: "1"
|
|
103949
|
+
}
|
|
103950
|
+
});
|
|
103951
|
+
const outputBuffer = await waitForInitialBuild(genProcess).catch((error) => {
|
|
103952
|
+
console.error("[reroute/dev] Failed to complete initial build:", error);
|
|
103953
|
+
genProcess.kill();
|
|
103954
|
+
process.exit(1);
|
|
103955
|
+
});
|
|
103835
103956
|
const serverProcess = spawn("bun", ["--watch", "src/index.ts"], {
|
|
103836
103957
|
stdio: ["ignore", "pipe", "pipe"],
|
|
103837
103958
|
env: {
|
|
103838
103959
|
...process.env,
|
|
103839
|
-
PORT: String(port)
|
|
103960
|
+
PORT: String(port),
|
|
103961
|
+
REROUTE_DEV: "1"
|
|
103840
103962
|
}
|
|
103841
103963
|
});
|
|
103842
|
-
console.log("[reroute/dev] Starting server...");
|
|
103843
103964
|
try {
|
|
103844
103965
|
await waitForServerReady(port);
|
|
103845
103966
|
console.log(`[reroute/dev] ✓ Server ready at http://localhost:${port}
|
|
@@ -103850,48 +103971,6 @@ async function startServerProcess(genProcess, port) {
|
|
|
103850
103971
|
serverProcess.kill();
|
|
103851
103972
|
process.exit(1);
|
|
103852
103973
|
}
|
|
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
103974
|
const blessed = await Promise.resolve().then(() => __toESM(require_blessed(), 1));
|
|
103896
103975
|
const contrib = await Promise.resolve().then(() => __toESM(require_blessed_contrib(), 1));
|
|
103897
103976
|
const screen = blessed.default.screen({
|
|
@@ -103907,33 +103986,53 @@ async function setupTerminalUI(genProcess, serverProcess, outputBuffer) {
|
|
|
103907
103986
|
const { setupTerminalUIHandlers: setupTerminalUIHandlers2 } = await Promise.resolve().then(() => exports_terminal_ui);
|
|
103908
103987
|
setupTerminalUIHandlers2(screen, grid, genProcess, serverProcess, outputBuffer, blessed, colorizeLogPrefix);
|
|
103909
103988
|
}
|
|
103989
|
+
async function startDefault(port) {
|
|
103990
|
+
process.env.PORT = String(port);
|
|
103991
|
+
process.env.REROUTE_DEV = "1";
|
|
103992
|
+
const session = await startGenWatch(process.cwd(), ["--watch"]);
|
|
103993
|
+
const entry = join13(process.cwd(), "src/index.ts");
|
|
103994
|
+
if (!existsSync7(entry)) {
|
|
103995
|
+
session.close();
|
|
103996
|
+
throw new Error(`[reroute/dev] Missing ${entry}`);
|
|
103997
|
+
}
|
|
103998
|
+
console.log("[reroute/dev] Starting server...");
|
|
103999
|
+
await import(pathToFileURL9(entry).href);
|
|
104000
|
+
try {
|
|
104001
|
+
await waitForServerReady(port);
|
|
104002
|
+
console.log(`[reroute/dev] ✓ Server ready at http://localhost:${port}
|
|
104003
|
+
`);
|
|
104004
|
+
} catch (error) {
|
|
104005
|
+
session.close();
|
|
104006
|
+
console.error("[reroute/dev] Server failed to start:", error);
|
|
104007
|
+
process.exit(1);
|
|
104008
|
+
}
|
|
104009
|
+
const shutdown = () => {
|
|
104010
|
+
console.log(`
|
|
104011
|
+
[reroute/dev] Shutting down...`);
|
|
104012
|
+
session.close();
|
|
104013
|
+
process.exit(0);
|
|
104014
|
+
};
|
|
104015
|
+
process.on("SIGINT", shutdown);
|
|
104016
|
+
process.on("SIGTERM", shutdown);
|
|
104017
|
+
}
|
|
103910
104018
|
async function dev(args) {
|
|
103911
104019
|
const terminalUI = args.includes("--tui") || args.includes("-t");
|
|
103912
|
-
const
|
|
103913
|
-
|
|
104020
|
+
const port = parsePort(args);
|
|
104021
|
+
if (await isServerRunning(port)) {
|
|
104022
|
+
console.log(`[reroute/dev] Already running at http://localhost:${port} — not starting another instance`);
|
|
104023
|
+
return;
|
|
104024
|
+
}
|
|
104025
|
+
process.env.PORT = String(port);
|
|
104026
|
+
process.env.REROUTE_DEV = "1";
|
|
103914
104027
|
try {
|
|
103915
|
-
console.log("[reroute/dev] Starting development
|
|
104028
|
+
console.log("[reroute/dev] Starting development server...");
|
|
103916
104029
|
console.log(`[reroute/dev] Press Ctrl+C to stop
|
|
103917
104030
|
`);
|
|
103918
|
-
|
|
103919
|
-
|
|
103920
|
-
|
|
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);
|
|
104031
|
+
if (terminalUI) {
|
|
104032
|
+
await startTui(port);
|
|
104033
|
+
return;
|
|
103936
104034
|
}
|
|
104035
|
+
await startDefault(port);
|
|
103937
104036
|
} catch (error) {
|
|
103938
104037
|
if (error.code === "SIGINT") {
|
|
103939
104038
|
console.log(`
|
|
@@ -103945,6 +104044,8 @@ async function dev(args) {
|
|
|
103945
104044
|
}
|
|
103946
104045
|
}
|
|
103947
104046
|
var init_dev = __esm(() => {
|
|
104047
|
+
init_gen();
|
|
104048
|
+
init_command();
|
|
103948
104049
|
init_log();
|
|
103949
104050
|
});
|
|
103950
104051
|
|
|
@@ -103954,23 +104055,23 @@ __export(exports_start, {
|
|
|
103954
104055
|
default: () => start
|
|
103955
104056
|
});
|
|
103956
104057
|
import { spawn as spawn2 } from "node:child_process";
|
|
103957
|
-
import { existsSync as
|
|
103958
|
-
import { join as
|
|
104058
|
+
import { existsSync as existsSync8 } from "node:fs";
|
|
104059
|
+
import { join as join14 } from "node:path";
|
|
103959
104060
|
function getRerouteCommand2() {
|
|
103960
|
-
const binPath =
|
|
103961
|
-
const isBunDev =
|
|
104061
|
+
const binPath = join14(import.meta.dir, "..", "..", "bin.ts");
|
|
104062
|
+
const isBunDev = existsSync8(binPath);
|
|
103962
104063
|
if (isBunDev) {
|
|
103963
104064
|
return `bun ${binPath}`;
|
|
103964
104065
|
}
|
|
103965
104066
|
const cwd = process.cwd();
|
|
103966
104067
|
const nodeModulesPaths = [
|
|
103967
|
-
|
|
103968
|
-
|
|
103969
|
-
|
|
103970
|
-
|
|
104068
|
+
join14(cwd, "node_modules", ".bin", "reroute"),
|
|
104069
|
+
join14(cwd, "..", "node_modules", ".bin", "reroute"),
|
|
104070
|
+
join14(cwd, "..", "..", "node_modules", ".bin", "reroute"),
|
|
104071
|
+
join14(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
|
|
103971
104072
|
];
|
|
103972
104073
|
for (const binPath2 of nodeModulesPaths) {
|
|
103973
|
-
if (
|
|
104074
|
+
if (existsSync8(binPath2)) {
|
|
103974
104075
|
return binPath2;
|
|
103975
104076
|
}
|
|
103976
104077
|
}
|
|
@@ -104091,17 +104192,17 @@ var init_start = __esm(() => {
|
|
|
104091
104192
|
// packages/cli/src/commands/lib/assets.ts
|
|
104092
104193
|
import {
|
|
104093
104194
|
cpSync,
|
|
104094
|
-
existsSync as
|
|
104195
|
+
existsSync as existsSync9,
|
|
104095
104196
|
mkdirSync,
|
|
104096
104197
|
readdirSync
|
|
104097
104198
|
} from "node:fs";
|
|
104098
|
-
import { join as
|
|
104199
|
+
import { join as join15 } from "node:path";
|
|
104099
104200
|
function copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir) {
|
|
104100
|
-
if (!
|
|
104201
|
+
if (!existsSync9(sourceAssetsDir)) {
|
|
104101
104202
|
return 0;
|
|
104102
104203
|
}
|
|
104103
|
-
const rerouteDir =
|
|
104104
|
-
if (!
|
|
104204
|
+
const rerouteDir = join15(cwd, ".reroute");
|
|
104205
|
+
if (!existsSync9(rerouteDir)) {
|
|
104105
104206
|
mkdirSync(rerouteDir, { recursive: true });
|
|
104106
104207
|
}
|
|
104107
104208
|
cpSync(sourceAssetsDir, rerouteAssetsDir, { recursive: true });
|
|
@@ -104112,7 +104213,7 @@ function countFiles(dir) {
|
|
|
104112
104213
|
const entries = readdirSync(dir, { withFileTypes: true });
|
|
104113
104214
|
for (const entry of entries) {
|
|
104114
104215
|
if (entry.isDirectory()) {
|
|
104115
|
-
count += countFiles(
|
|
104216
|
+
count += countFiles(join15(dir, entry.name));
|
|
104116
104217
|
} else {
|
|
104117
104218
|
count++;
|
|
104118
104219
|
}
|
|
@@ -104127,23 +104228,23 @@ __export(exports_build, {
|
|
|
104127
104228
|
default: () => build
|
|
104128
104229
|
});
|
|
104129
104230
|
import { spawn as spawn3 } from "node:child_process";
|
|
104130
|
-
import { existsSync as
|
|
104131
|
-
import { join as
|
|
104231
|
+
import { existsSync as existsSync10, readFileSync as readFileSync5, rmSync, unlinkSync } from "node:fs";
|
|
104232
|
+
import { join as join16 } from "node:path";
|
|
104132
104233
|
function getRerouteCommand3() {
|
|
104133
|
-
const binPath =
|
|
104134
|
-
const isBunDev =
|
|
104234
|
+
const binPath = join16(import.meta.dir, "..", "..", "bin.ts");
|
|
104235
|
+
const isBunDev = existsSync10(binPath);
|
|
104135
104236
|
if (isBunDev) {
|
|
104136
104237
|
return `bun ${binPath}`;
|
|
104137
104238
|
}
|
|
104138
104239
|
const cwd = process.cwd();
|
|
104139
104240
|
const nodeModulesPaths = [
|
|
104140
|
-
|
|
104141
|
-
|
|
104142
|
-
|
|
104143
|
-
|
|
104241
|
+
join16(cwd, "node_modules", ".bin", "reroute"),
|
|
104242
|
+
join16(cwd, "..", "node_modules", ".bin", "reroute"),
|
|
104243
|
+
join16(cwd, "..", "..", "node_modules", ".bin", "reroute"),
|
|
104244
|
+
join16(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
|
|
104144
104245
|
];
|
|
104145
104246
|
for (const binPath2 of nodeModulesPaths) {
|
|
104146
|
-
if (
|
|
104247
|
+
if (existsSync10(binPath2)) {
|
|
104147
104248
|
return binPath2;
|
|
104148
104249
|
}
|
|
104149
104250
|
}
|
|
@@ -104151,8 +104252,8 @@ function getRerouteCommand3() {
|
|
|
104151
104252
|
}
|
|
104152
104253
|
function getOutputName() {
|
|
104153
104254
|
const cwd = process.cwd();
|
|
104154
|
-
const packageJsonPath =
|
|
104155
|
-
if (
|
|
104255
|
+
const packageJsonPath = join16(cwd, "package.json");
|
|
104256
|
+
if (existsSync10(packageJsonPath)) {
|
|
104156
104257
|
try {
|
|
104157
104258
|
const packageJson = JSON.parse(readFileSync5(packageJsonPath, "utf-8"));
|
|
104158
104259
|
const name = packageJson.name;
|
|
@@ -104183,16 +104284,16 @@ function parseBuildArgs(args) {
|
|
|
104183
104284
|
return { outfile, compileBinary, noCompression, externalArgs };
|
|
104184
104285
|
}
|
|
104185
104286
|
function cleanDistFolder(cwd) {
|
|
104186
|
-
const distDir =
|
|
104187
|
-
if (
|
|
104287
|
+
const distDir = join16(cwd, "dist");
|
|
104288
|
+
if (existsSync10(distDir)) {
|
|
104188
104289
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning dist folder...
|
|
104189
104290
|
`));
|
|
104190
104291
|
rmSync(distDir, { recursive: true });
|
|
104191
104292
|
}
|
|
104192
104293
|
}
|
|
104193
104294
|
async function cleanRerouteFolder(cwd) {
|
|
104194
|
-
const rerouteDir =
|
|
104195
|
-
if (
|
|
104295
|
+
const rerouteDir = join16(cwd, ".reroute");
|
|
104296
|
+
if (existsSync10(rerouteDir)) {
|
|
104196
104297
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning .reroute folder...
|
|
104197
104298
|
`));
|
|
104198
104299
|
rmSync(rerouteDir, { recursive: true, force: true });
|
|
@@ -104246,10 +104347,10 @@ async function runGenCommand(rerouteCmd, useShell, noCompression) {
|
|
|
104246
104347
|
async function copyAssets(cwd) {
|
|
104247
104348
|
const config2 = await loadConfig(cwd);
|
|
104248
104349
|
const appSrc = config2.app?.src ?? "./src/client/App";
|
|
104249
|
-
const
|
|
104250
|
-
const assetsPath =
|
|
104251
|
-
const sourceAssetsDir =
|
|
104252
|
-
const rerouteAssetsDir =
|
|
104350
|
+
const dirname8 = __require("node:path").dirname;
|
|
104351
|
+
const assetsPath = dirname8(appSrc);
|
|
104352
|
+
const sourceAssetsDir = join16(cwd, assetsPath, "assets");
|
|
104353
|
+
const rerouteAssetsDir = join16(cwd, ".reroute", "assets");
|
|
104253
104354
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Copying assets...
|
|
104254
104355
|
`));
|
|
104255
104356
|
const fileCount = copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir);
|
|
@@ -104264,9 +104365,9 @@ async function copyAssets(cwd) {
|
|
|
104264
104365
|
async function buildBundle(cwd, buildArgs) {
|
|
104265
104366
|
const external = [...buildArgs.externalArgs, "sharp", "@vercel/og"];
|
|
104266
104367
|
const buildResult = await Bun.build({
|
|
104267
|
-
entrypoints: [
|
|
104368
|
+
entrypoints: [join16(cwd, ".reroute/entry.ts")],
|
|
104268
104369
|
target: "bun",
|
|
104269
|
-
outdir:
|
|
104370
|
+
outdir: join16(cwd, "dist"),
|
|
104270
104371
|
sourcemap: "external",
|
|
104271
104372
|
...getCommonBuildOptions(),
|
|
104272
104373
|
external,
|
|
@@ -104309,8 +104410,8 @@ function cleanupBundledFiles(rerouteDir) {
|
|
|
104309
104410
|
"markdown-components.ts"
|
|
104310
104411
|
];
|
|
104311
104412
|
for (const file of tsFilesToRemove) {
|
|
104312
|
-
const filePath =
|
|
104313
|
-
if (
|
|
104413
|
+
const filePath = join16(rerouteDir, file);
|
|
104414
|
+
if (existsSync10(filePath)) {
|
|
104314
104415
|
try {
|
|
104315
104416
|
unlinkSync(filePath);
|
|
104316
104417
|
cleanupCount++;
|
|
@@ -104319,8 +104420,8 @@ function cleanupBundledFiles(rerouteDir) {
|
|
|
104319
104420
|
}
|
|
104320
104421
|
const dirsToRemove = ["markdown", "streaming"];
|
|
104321
104422
|
for (const dir of dirsToRemove) {
|
|
104322
|
-
const dirPath =
|
|
104323
|
-
if (
|
|
104423
|
+
const dirPath = join16(rerouteDir, dir);
|
|
104424
|
+
if (existsSync10(dirPath)) {
|
|
104324
104425
|
try {
|
|
104325
104426
|
rmSync(dirPath, { recursive: true });
|
|
104326
104427
|
cleanupCount++;
|
|
@@ -104353,7 +104454,7 @@ async function build(args) {
|
|
|
104353
104454
|
await runGenCommand(rerouteCmd, useShell, buildArgs.noCompression);
|
|
104354
104455
|
await copyAssets(cwd);
|
|
104355
104456
|
await buildBundle(cwd, buildArgs);
|
|
104356
|
-
const rerouteDir =
|
|
104457
|
+
const rerouteDir = join16(cwd, ".reroute");
|
|
104357
104458
|
cleanupBundledFiles(rerouteDir);
|
|
104358
104459
|
logBuildComplete(buildStartTime, buildArgs);
|
|
104359
104460
|
process.exit(0);
|
|
@@ -104369,60 +104470,31 @@ var init_build = __esm(() => {
|
|
|
104369
104470
|
init_log();
|
|
104370
104471
|
});
|
|
104371
104472
|
|
|
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
104473
|
// packages/cli/src/commands/analyze.ts
|
|
104402
104474
|
var exports_analyze = {};
|
|
104403
104475
|
__export(exports_analyze, {
|
|
104404
104476
|
default: () => analyze
|
|
104405
104477
|
});
|
|
104406
104478
|
import { existsSync as existsSync11, statSync } from "node:fs";
|
|
104407
|
-
import { readdir as readdir8, readFile, stat as
|
|
104408
|
-
import { basename as
|
|
104479
|
+
import { readdir as readdir8, readFile, stat as stat6, writeFile as writeFile2 } from "node:fs/promises";
|
|
104480
|
+
import { basename as basename4, join as join17, relative as relative3 } from "node:path";
|
|
104409
104481
|
import Table from "cli-table3";
|
|
104410
104482
|
async function findChunkBundles(cwd) {
|
|
104411
104483
|
const bundles = [];
|
|
104412
|
-
const chunksDir =
|
|
104484
|
+
const chunksDir = join17(cwd, ".reroute", "chunks");
|
|
104413
104485
|
if (!existsSync11(chunksDir))
|
|
104414
104486
|
return bundles;
|
|
104415
104487
|
const collections2 = await readdir8(chunksDir, { withFileTypes: true });
|
|
104416
104488
|
for (const collection of collections2) {
|
|
104417
104489
|
if (!collection.isDirectory())
|
|
104418
104490
|
continue;
|
|
104419
|
-
const collectionDir =
|
|
104491
|
+
const collectionDir = join17(chunksDir, collection.name);
|
|
104420
104492
|
const files = await readdir8(collectionDir);
|
|
104421
104493
|
for (const file of files) {
|
|
104422
104494
|
if (!file.endsWith(".js"))
|
|
104423
104495
|
continue;
|
|
104424
|
-
const filePath =
|
|
104425
|
-
const stats = await
|
|
104496
|
+
const filePath = join17(collectionDir, file);
|
|
104497
|
+
const stats = await stat6(filePath);
|
|
104426
104498
|
const content2 = await Bun.file(filePath).arrayBuffer();
|
|
104427
104499
|
const gzippedSize = Bun.gzipSync(new Uint8Array(content2)).length;
|
|
104428
104500
|
bundles.push({
|
|
@@ -104439,12 +104511,12 @@ async function findChunkBundles(cwd) {
|
|
|
104439
104511
|
}
|
|
104440
104512
|
async function findDistBundles(cwd) {
|
|
104441
104513
|
const bundles = [];
|
|
104442
|
-
const distDir =
|
|
104514
|
+
const distDir = join17(cwd, "dist");
|
|
104443
104515
|
if (!existsSync11(distDir))
|
|
104444
104516
|
return bundles;
|
|
104445
104517
|
const files = await readdir8(distDir);
|
|
104446
104518
|
for (const file of files) {
|
|
104447
|
-
const filePath =
|
|
104519
|
+
const filePath = join17(distDir, file);
|
|
104448
104520
|
const stats = statSync(filePath);
|
|
104449
104521
|
if (stats.isFile() && !file.endsWith(".map") && !file.endsWith(".d.ts")) {
|
|
104450
104522
|
const content2 = await Bun.file(filePath).arrayBuffer();
|
|
@@ -104470,9 +104542,9 @@ async function findBundles(cwd) {
|
|
|
104470
104542
|
}
|
|
104471
104543
|
async function findBrowserEntry(cwd) {
|
|
104472
104544
|
try {
|
|
104473
|
-
const clientDir =
|
|
104474
|
-
const tsxEntry =
|
|
104475
|
-
const tsEntry =
|
|
104545
|
+
const clientDir = join17(cwd, "src", "client");
|
|
104546
|
+
const tsxEntry = join17(clientDir, "index.tsx");
|
|
104547
|
+
const tsEntry = join17(clientDir, "index.ts");
|
|
104476
104548
|
let sourceEntry = null;
|
|
104477
104549
|
if (existsSync11(tsxEntry)) {
|
|
104478
104550
|
sourceEntry = tsxEntry;
|
|
@@ -104505,12 +104577,12 @@ async function findBrowserEntry(cwd) {
|
|
|
104505
104577
|
console.warn("[reroute/analyze] Browser build produced no outputs");
|
|
104506
104578
|
return null;
|
|
104507
104579
|
}
|
|
104508
|
-
const tempDir =
|
|
104580
|
+
const tempDir = join17(cwd, ".reroute", "browser");
|
|
104509
104581
|
await import("node:fs/promises").then((fs) => fs.mkdir(tempDir, { recursive: true }));
|
|
104510
104582
|
const output = result.outputs[0];
|
|
104511
104583
|
const code = await output.text();
|
|
104512
104584
|
const actualHash = await generateContentHash2(code);
|
|
104513
|
-
const bundlePath =
|
|
104585
|
+
const bundlePath = join17(tempDir, `index.${actualHash}.js`);
|
|
104514
104586
|
await writeFile2(bundlePath, code, "utf-8");
|
|
104515
104587
|
const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
|
|
104516
104588
|
if (mapOutput) {
|
|
@@ -104562,7 +104634,7 @@ function calculateStats(bundles) {
|
|
|
104562
104634
|
}
|
|
104563
104635
|
async function getInstalledPackageSizes(cwd) {
|
|
104564
104636
|
const packageSizes = new Map;
|
|
104565
|
-
const nodeModulesDir =
|
|
104637
|
+
const nodeModulesDir = join17(cwd, "node_modules");
|
|
104566
104638
|
if (!existsSync11(nodeModulesDir))
|
|
104567
104639
|
return packageSizes;
|
|
104568
104640
|
try {
|
|
@@ -104577,7 +104649,7 @@ async function getInstalledPackageSizes(cwd) {
|
|
|
104577
104649
|
const [sizeKB, path3] = line.split("\t");
|
|
104578
104650
|
if (!path3)
|
|
104579
104651
|
continue;
|
|
104580
|
-
const pkgName =
|
|
104652
|
+
const pkgName = basename4(path3);
|
|
104581
104653
|
if (pkgName.startsWith("@")) {
|
|
104582
104654
|
const scopeDir = path3;
|
|
104583
104655
|
const scopedOutput = execSync(`du -sk ${scopeDir}/* 2>/dev/null || true`, {
|
|
@@ -104589,7 +104661,7 @@ async function getInstalledPackageSizes(cwd) {
|
|
|
104589
104661
|
const [scopedSizeKB, scopedPath] = scopedLine.split("\t");
|
|
104590
104662
|
if (!scopedPath)
|
|
104591
104663
|
continue;
|
|
104592
|
-
const fullPkgName = `${pkgName}/${
|
|
104664
|
+
const fullPkgName = `${pkgName}/${basename4(scopedPath)}`;
|
|
104593
104665
|
packageSizes.set(fullPkgName, Number.parseInt(scopedSizeKB, 10) * 1024);
|
|
104594
104666
|
}
|
|
104595
104667
|
} else {
|
|
@@ -104604,7 +104676,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104604
104676
|
if (!existsSync11(entryPath))
|
|
104605
104677
|
return null;
|
|
104606
104678
|
const root = {
|
|
104607
|
-
name:
|
|
104679
|
+
name: basename4(entryPath),
|
|
104608
104680
|
path: entryPath,
|
|
104609
104681
|
size: 0,
|
|
104610
104682
|
children: []
|
|
@@ -104618,14 +104690,14 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104618
104690
|
if (!pkgNode) {
|
|
104619
104691
|
pkgNode = {
|
|
104620
104692
|
name: pkgName || "unknown",
|
|
104621
|
-
path:
|
|
104693
|
+
path: join17(cwd, "node_modules", pkgName || ""),
|
|
104622
104694
|
size: 0,
|
|
104623
104695
|
children: []
|
|
104624
104696
|
};
|
|
104625
104697
|
nodeModulesNode.children?.push(pkgNode);
|
|
104626
104698
|
}
|
|
104627
104699
|
pkgNode.children?.push({
|
|
104628
|
-
name:
|
|
104700
|
+
name: basename4(filePath),
|
|
104629
104701
|
path: filePath,
|
|
104630
104702
|
size
|
|
104631
104703
|
});
|
|
@@ -104639,7 +104711,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104639
104711
|
if (!child) {
|
|
104640
104712
|
child = {
|
|
104641
104713
|
name: part,
|
|
104642
|
-
path:
|
|
104714
|
+
path: join17(cwd, ...parts.slice(0, i + 1)),
|
|
104643
104715
|
size: 0,
|
|
104644
104716
|
children: []
|
|
104645
104717
|
};
|
|
@@ -104648,7 +104720,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104648
104720
|
current = child;
|
|
104649
104721
|
}
|
|
104650
104722
|
current.children?.push({
|
|
104651
|
-
name: parts[parts.length - 1] ||
|
|
104723
|
+
name: parts[parts.length - 1] || basename4(filePath),
|
|
104652
104724
|
path: filePath,
|
|
104653
104725
|
size
|
|
104654
104726
|
});
|
|
@@ -104670,7 +104742,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104670
104742
|
const modulePattern = /\/\/\s*(.+?\.(?:ts|tsx|js|jsx|mjs|cjs))\s*$/gm;
|
|
104671
104743
|
const nodeModulesNode = {
|
|
104672
104744
|
name: "node_modules",
|
|
104673
|
-
path:
|
|
104745
|
+
path: join17(cwd, "node_modules"),
|
|
104674
104746
|
size: 0,
|
|
104675
104747
|
children: []
|
|
104676
104748
|
};
|
|
@@ -104736,7 +104808,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104736
104808
|
if (sourcePath.startsWith("/") || sourcePath.match(/^[A-Za-z]:\\/))
|
|
104737
104809
|
return sourcePath;
|
|
104738
104810
|
const bundleDir = bundlePath.substring(0, bundlePath.lastIndexOf("/"));
|
|
104739
|
-
return
|
|
104811
|
+
return join17(bundleDir, sourceRoot || "", sourcePath);
|
|
104740
104812
|
}, computeSizes = function(node) {
|
|
104741
104813
|
if (node.children && node.children.length > 0) {
|
|
104742
104814
|
node.size = node.children.reduce((s, c) => s + computeSizes(c), 0);
|
|
@@ -104801,14 +104873,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104801
104873
|
}
|
|
104802
104874
|
}
|
|
104803
104875
|
const root = {
|
|
104804
|
-
name:
|
|
104876
|
+
name: basename4(bundlePath),
|
|
104805
104877
|
path: bundlePath,
|
|
104806
104878
|
size: 0,
|
|
104807
104879
|
children: []
|
|
104808
104880
|
};
|
|
104809
104881
|
const nodeModulesNode = {
|
|
104810
104882
|
name: "node_modules",
|
|
104811
|
-
path:
|
|
104883
|
+
path: join17(cwd, "node_modules"),
|
|
104812
104884
|
size: 0,
|
|
104813
104885
|
children: []
|
|
104814
104886
|
};
|
|
@@ -104848,14 +104920,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104848
104920
|
if (!pkgNode) {
|
|
104849
104921
|
pkgNode = {
|
|
104850
104922
|
name: pkgName || "unknown",
|
|
104851
|
-
path:
|
|
104923
|
+
path: join17(cwd, "node_modules", pkgName || ""),
|
|
104852
104924
|
size: 0,
|
|
104853
104925
|
children: []
|
|
104854
104926
|
};
|
|
104855
104927
|
nodeModulesNode.children?.push(pkgNode);
|
|
104856
104928
|
}
|
|
104857
104929
|
pkgNode.children?.push({
|
|
104858
|
-
name:
|
|
104930
|
+
name: basename4(srcPath),
|
|
104859
104931
|
path: srcPath,
|
|
104860
104932
|
size
|
|
104861
104933
|
});
|
|
@@ -104869,7 +104941,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104869
104941
|
if (!child) {
|
|
104870
104942
|
child = {
|
|
104871
104943
|
name: part,
|
|
104872
|
-
path:
|
|
104944
|
+
path: join17(cwd, ...parts.slice(0, i2 + 1)),
|
|
104873
104945
|
size: 0,
|
|
104874
104946
|
children: []
|
|
104875
104947
|
};
|
|
@@ -104878,7 +104950,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104878
104950
|
current = child;
|
|
104879
104951
|
}
|
|
104880
104952
|
current.children?.push({
|
|
104881
|
-
name: parts[parts.length - 1] ||
|
|
104953
|
+
name: parts[parts.length - 1] || basename4(srcPath),
|
|
104882
104954
|
path: srcPath,
|
|
104883
104955
|
size
|
|
104884
104956
|
});
|
|
@@ -104899,11 +104971,11 @@ async function generateHTMLReport(stats, depTree, mainInfo, browserDepTree, brow
|
|
|
104899
104971
|
let actualServerBinarySize = null;
|
|
104900
104972
|
let actualServerBinaryGzipped = null;
|
|
104901
104973
|
try {
|
|
104902
|
-
const distDir =
|
|
104974
|
+
const distDir = join17(process.cwd(), "dist");
|
|
104903
104975
|
if (existsSync11(distDir)) {
|
|
104904
104976
|
const files = await readdir8(distDir);
|
|
104905
104977
|
for (const file of files) {
|
|
104906
|
-
const filePath =
|
|
104978
|
+
const filePath = join17(distDir, file);
|
|
104907
104979
|
const stats2 = statSync(filePath);
|
|
104908
104980
|
if (stats2.isFile() && !file.includes(".")) {
|
|
104909
104981
|
actualServerBinarySize = stats2.size;
|
|
@@ -106385,11 +106457,11 @@ async function printConsoleReport(stats, depTree, mainInfo, browserDepTree, brow
|
|
|
106385
106457
|
let actualServerBinarySize = null;
|
|
106386
106458
|
let actualServerBinaryGzipped = null;
|
|
106387
106459
|
try {
|
|
106388
|
-
const distDir =
|
|
106460
|
+
const distDir = join17(process.cwd(), "dist");
|
|
106389
106461
|
if (existsSync11(distDir)) {
|
|
106390
106462
|
const files = await readdir8(distDir);
|
|
106391
106463
|
for (const file of files) {
|
|
106392
|
-
const filePath =
|
|
106464
|
+
const filePath = join17(distDir, file);
|
|
106393
106465
|
const stats2 = statSync(filePath);
|
|
106394
106466
|
if (stats2.isFile() && !file.includes(".")) {
|
|
106395
106467
|
actualServerBinarySize = stats2.size;
|
|
@@ -106423,13 +106495,13 @@ async function analyze(args) {
|
|
|
106423
106495
|
const isProd = isProductionMode(args);
|
|
106424
106496
|
const searchIndex = args.indexOf("--search");
|
|
106425
106497
|
const initialSearch = searchIndex !== -1 && args[searchIndex + 1] ? args[searchIndex + 1] : "";
|
|
106426
|
-
const rerouteIndexPath =
|
|
106498
|
+
const rerouteIndexPath = join17(cwd, ".reroute", "index.ts");
|
|
106427
106499
|
if (!existsSync11(rerouteIndexPath)) {
|
|
106428
106500
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] .reroute artifacts not found, running build...
|
|
106429
106501
|
`));
|
|
106430
106502
|
const { spawn: spawn4 } = await import("node:child_process");
|
|
106431
|
-
const { getRerouteCommand:
|
|
106432
|
-
const rerouteCmd =
|
|
106503
|
+
const { getRerouteCommand: getRerouteCommand4 } = await Promise.resolve().then(() => (init_command(), exports_command));
|
|
106504
|
+
const rerouteCmd = getRerouteCommand4();
|
|
106433
106505
|
const useShell = rerouteCmd.includes(" ");
|
|
106434
106506
|
const buildCommand = useShell ? `${rerouteCmd} build` : rerouteCmd;
|
|
106435
106507
|
const buildArgs = useShell ? [] : ["build"];
|
|
@@ -106470,11 +106542,11 @@ async function analyze(args) {
|
|
|
106470
106542
|
`));
|
|
106471
106543
|
}
|
|
106472
106544
|
try {
|
|
106473
|
-
const browserStat = await
|
|
106545
|
+
const browserStat = await stat6(browserEntry);
|
|
106474
106546
|
const browserContent = await readFile(browserEntry);
|
|
106475
106547
|
const browserGzipped = Bun.gzipSync(browserContent).length;
|
|
106476
106548
|
browserInfo = {
|
|
106477
|
-
name:
|
|
106549
|
+
name: basename4(browserEntry),
|
|
106478
106550
|
size: browserStat.size,
|
|
106479
106551
|
gzippedSize: browserGzipped
|
|
106480
106552
|
};
|
|
@@ -106486,12 +106558,12 @@ async function analyze(args) {
|
|
|
106486
106558
|
let entry = null;
|
|
106487
106559
|
let depTree = null;
|
|
106488
106560
|
let mainInfo = null;
|
|
106489
|
-
const srcEntry =
|
|
106561
|
+
const srcEntry = join17(cwd, "src", "index.ts");
|
|
106490
106562
|
if (existsSync11(srcEntry)) {
|
|
106491
106563
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] Building server binary for analysis...
|
|
106492
106564
|
`));
|
|
106493
106565
|
const { mkdir: mkdir4 } = await import("node:fs/promises");
|
|
106494
|
-
const serverAnalysisDir =
|
|
106566
|
+
const serverAnalysisDir = join17(cwd, ".reroute", "server");
|
|
106495
106567
|
await mkdir4(serverAnalysisDir, { recursive: true });
|
|
106496
106568
|
const result = await Bun.build({
|
|
106497
106569
|
entrypoints: [srcEntry],
|
|
@@ -106504,7 +106576,7 @@ async function analyze(args) {
|
|
|
106504
106576
|
if (result.success && result.outputs.length > 0) {
|
|
106505
106577
|
const output = result.outputs[0];
|
|
106506
106578
|
const code = await output.text();
|
|
106507
|
-
const analysisEntry =
|
|
106579
|
+
const analysisEntry = join17(serverAnalysisDir, "index.js");
|
|
106508
106580
|
await writeFile2(analysisEntry, code, "utf-8");
|
|
106509
106581
|
const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
|
|
106510
106582
|
if (mapOutput) {
|
|
@@ -106522,7 +106594,7 @@ async function analyze(args) {
|
|
|
106522
106594
|
`));
|
|
106523
106595
|
const installedSizes = await getInstalledPackageSizes(cwd);
|
|
106524
106596
|
if (depTree) {
|
|
106525
|
-
const packageJsonPath =
|
|
106597
|
+
const packageJsonPath = join17(cwd, "package.json");
|
|
106526
106598
|
if (existsSync11(packageJsonPath)) {
|
|
106527
106599
|
try {
|
|
106528
106600
|
const packageJson = JSON.parse(await readFile(packageJsonPath, "utf-8"));
|
|
@@ -106534,7 +106606,7 @@ async function analyze(args) {
|
|
|
106534
106606
|
if (!trackedPkgs.has(pkgName) && installedSizes.has(pkgName)) {
|
|
106535
106607
|
nodeModulesNode.children?.push({
|
|
106536
106608
|
name: pkgName,
|
|
106537
|
-
path:
|
|
106609
|
+
path: join17(cwd, "node_modules", pkgName),
|
|
106538
106610
|
size: installedSizes.get(pkgName) || 0
|
|
106539
106611
|
});
|
|
106540
106612
|
}
|
|
@@ -106552,11 +106624,11 @@ async function analyze(args) {
|
|
|
106552
106624
|
}
|
|
106553
106625
|
}
|
|
106554
106626
|
try {
|
|
106555
|
-
const entryStat = await
|
|
106627
|
+
const entryStat = await stat6(entry);
|
|
106556
106628
|
const entryContent = await readFile(entry);
|
|
106557
106629
|
const entryGzipped = Bun.gzipSync(entryContent).length;
|
|
106558
106630
|
mainInfo = {
|
|
106559
|
-
name:
|
|
106631
|
+
name: basename4(entry),
|
|
106560
106632
|
size: entryStat.size,
|
|
106561
106633
|
gzippedSize: entryGzipped
|
|
106562
106634
|
};
|
|
@@ -106565,10 +106637,10 @@ async function analyze(args) {
|
|
|
106565
106637
|
const fullOutput = args.includes("--full");
|
|
106566
106638
|
await printConsoleReport(stats, depTree, mainInfo, browserDepTree, browserInfo, fullOutput);
|
|
106567
106639
|
if (outputHtml || openBrowser) {
|
|
106568
|
-
const htmlPath =
|
|
106640
|
+
const htmlPath = join17(cwd, ".reroute", "analysis.html");
|
|
106569
106641
|
const html2 = await generateHTMLReport(stats, depTree, mainInfo, browserDepTree, browserInfo, initialSearch);
|
|
106570
106642
|
const { mkdir: mkdir4 } = await import("node:fs/promises");
|
|
106571
|
-
await mkdir4(
|
|
106643
|
+
await mkdir4(join17(cwd, ".reroute"), { recursive: true });
|
|
106572
106644
|
await writeFile2(htmlPath, html2, "utf-8");
|
|
106573
106645
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] HTML report generated: ${relative3(cwd, htmlPath)}
|
|
106574
106646
|
`));
|
|
@@ -106632,7 +106704,7 @@ __export(exports_og, {
|
|
|
106632
106704
|
});
|
|
106633
106705
|
import { spawn as spawn4 } from "node:child_process";
|
|
106634
106706
|
import { readdir as readdir9 } from "node:fs/promises";
|
|
106635
|
-
import { join as
|
|
106707
|
+
import { join as join18 } from "node:path";
|
|
106636
106708
|
function getPortFromConfig(baseUrl) {
|
|
106637
106709
|
if (!baseUrl)
|
|
106638
106710
|
return 3000;
|
|
@@ -106653,7 +106725,7 @@ async function killProcessOnPort(port) {
|
|
|
106653
106725
|
});
|
|
106654
106726
|
} catch {}
|
|
106655
106727
|
}
|
|
106656
|
-
async function
|
|
106728
|
+
async function isServerRunning2(port) {
|
|
106657
106729
|
try {
|
|
106658
106730
|
const response = await fetch(`http://localhost:${port}`, {
|
|
106659
106731
|
signal: AbortSignal.timeout(1000)
|
|
@@ -106664,7 +106736,7 @@ async function isServerRunning(port) {
|
|
|
106664
106736
|
}
|
|
106665
106737
|
}
|
|
106666
106738
|
async function ensureServer(cwd, port) {
|
|
106667
|
-
const alreadyRunning = await
|
|
106739
|
+
const alreadyRunning = await isServerRunning2(port);
|
|
106668
106740
|
if (alreadyRunning) {
|
|
106669
106741
|
console.log(`✅ Dev server already running at http://localhost:${port}
|
|
106670
106742
|
`);
|
|
@@ -106711,8 +106783,8 @@ async function scanForOgTemplates(dir, base, routes) {
|
|
|
106711
106783
|
try {
|
|
106712
106784
|
const entries = await readdir9(dir, { withFileTypes: true });
|
|
106713
106785
|
for (const entry of entries) {
|
|
106714
|
-
const fullPath =
|
|
106715
|
-
const relativePath =
|
|
106786
|
+
const fullPath = join18(dir, entry.name);
|
|
106787
|
+
const relativePath = join18(base, entry.name);
|
|
106716
106788
|
if (entry.isDirectory()) {
|
|
106717
106789
|
if (entry.name === "content")
|
|
106718
106790
|
continue;
|
|
@@ -106733,7 +106805,7 @@ async function addContentRoutes(routesPath, routes) {
|
|
|
106733
106805
|
for (const entry of entries) {
|
|
106734
106806
|
if (!entry.isDirectory())
|
|
106735
106807
|
continue;
|
|
106736
|
-
const contentDir =
|
|
106808
|
+
const contentDir = join18(routesPath, entry.name, "content");
|
|
106737
106809
|
try {
|
|
106738
106810
|
const contentFiles = await readdir9(contentDir);
|
|
106739
106811
|
if (contentFiles.length === 0)
|
|
@@ -106750,7 +106822,7 @@ async function addContentRoutes(routesPath, routes) {
|
|
|
106750
106822
|
async function findRoutesWithOG(cwd) {
|
|
106751
106823
|
const routes = [];
|
|
106752
106824
|
try {
|
|
106753
|
-
const manifestPath =
|
|
106825
|
+
const manifestPath = join18(cwd, ".reroute", "manifest.json");
|
|
106754
106826
|
const manifestFile = Bun.file(manifestPath);
|
|
106755
106827
|
const manifest = await manifestFile.json();
|
|
106756
106828
|
if (manifest.staticRoutes && Array.isArray(manifest.staticRoutes)) {
|
|
@@ -106761,7 +106833,7 @@ async function findRoutesWithOG(cwd) {
|
|
|
106761
106833
|
}
|
|
106762
106834
|
} catch {
|
|
106763
106835
|
console.warn("⚠️ .reroute/manifest.json not found, scanning routes directory...");
|
|
106764
|
-
const routesPath =
|
|
106836
|
+
const routesPath = join18(cwd, ROUTES_DIR2);
|
|
106765
106837
|
await scanForOgTemplates(routesPath, "", routes);
|
|
106766
106838
|
await addContentRoutes(routesPath, routes);
|
|
106767
106839
|
}
|
|
@@ -107013,7 +107085,7 @@ async function getVersionString2() {
|
|
|
107013
107085
|
}
|
|
107014
107086
|
async function getVersion2() {
|
|
107015
107087
|
if (true) {
|
|
107016
|
-
return "1.0.0-alpha.
|
|
107088
|
+
return "1.0.0-alpha.6";
|
|
107017
107089
|
}
|
|
107018
107090
|
const possiblePaths = [
|
|
107019
107091
|
path3.join(import.meta.dir, "../../../package.json"),
|
|
@@ -107030,10 +107102,10 @@ async function getVersion2() {
|
|
|
107030
107102
|
}
|
|
107031
107103
|
async function getCommit2() {
|
|
107032
107104
|
if (true) {
|
|
107033
|
-
return "
|
|
107105
|
+
return "1f58c52";
|
|
107034
107106
|
}
|
|
107035
107107
|
return "dev";
|
|
107036
107108
|
}
|
|
107037
107109
|
main();
|
|
107038
107110
|
|
|
107039
|
-
//# debugId=
|
|
107111
|
+
//# debugId=AFC08EDF211039B364756E2164756E21
|