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