reroute-js 1.0.0-alpha.3 → 1.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +740 -671
- package/cli/bin.js.map +11 -11
- package/cli/index.d.ts +1 -1
- package/cli/index.js +37 -25
- package/cli/index.js.map +3 -3
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/dev.d.ts +5 -6
- package/cli/src/commands/dev.d.ts.map +1 -1
- package/cli/src/commands/gen.d.ts +4 -1
- package/cli/src/commands/gen.d.ts.map +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +7 -1
- package/cli/src/commands/lib/bundler.d.ts.map +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +2 -1
- package/cli/src/commands/lib/server.d.ts.map +1 -1
- package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
- package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/theme.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/og.d.ts +1 -1
- package/cli/src/commands/start.d.ts +1 -1
- package/cli/src/index.d.ts +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +201 -158
- package/core/index.js.map +5 -5
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +1 -1
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +1 -1
- package/core/src/i18n/catalog.d.ts +1 -1
- package/core/src/i18n/discover.d.ts +1 -1
- package/core/src/i18n/index.d.ts +1 -1
- package/core/src/i18n/messages.d.ts +1 -1
- package/core/src/i18n/negotiate.d.ts +1 -1
- package/core/src/i18n/pathname.d.ts +1 -1
- package/core/src/i18n/resolve.d.ts +1 -1
- package/core/src/i18n/types.d.ts +1 -1
- package/core/src/index.d.ts +1 -1
- package/core/src/llms/extractor.d.ts +1 -1
- package/core/src/llms/formatter.d.ts +1 -1
- package/core/src/llms/full-generator.d.ts +1 -1
- package/core/src/llms/index-generator.d.ts +1 -1
- package/core/src/llms/index.d.ts +1 -1
- package/core/src/og/discovery.d.ts +1 -1
- package/core/src/og/index.d.ts +1 -1
- package/core/src/og/meta.d.ts +1 -1
- package/core/src/og/render.d.ts +1 -1
- package/core/src/og/types.d.ts +1 -1
- package/core/src/robots/discovery.d.ts +1 -1
- package/core/src/robots/generator.d.ts +1 -1
- package/core/src/robots/index.d.ts +1 -1
- package/core/src/robots/policies.d.ts +1 -1
- package/core/src/rss/discovery.d.ts +1 -1
- package/core/src/rss/generator.d.ts +1 -1
- package/core/src/rss/index.d.ts +1 -1
- package/core/src/sitemap/discovery.d.ts +1 -1
- package/core/src/sitemap/generator.d.ts +1 -1
- package/core/src/sitemap/index.d.ts +1 -1
- package/core/src/ssr/index.d.ts +1 -1
- package/core/src/ssr/lib/cache.d.ts +1 -1
- package/core/src/ssr/lib/cleanup.d.ts +1 -1
- package/core/src/ssr/lib/collections.d.ts +1 -1
- package/core/src/ssr/lib/compression.d.ts +1 -1
- package/core/src/ssr/lib/compute/content.d.ts +1 -1
- package/core/src/ssr/lib/compute/index.d.ts +1 -1
- package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
- package/core/src/ssr/lib/compute/routes.d.ts +1 -1
- package/core/src/ssr/lib/content-path.d.ts +1 -1
- package/core/src/ssr/lib/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +8 -3
- package/core/src/ssr/lib/imports.d.ts.map +1 -1
- package/core/src/ssr/lib/index.d.ts +1 -1
- package/core/src/ssr/lib/layouts.d.ts +1 -1
- package/core/src/ssr/lib/metadata.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts +1 -1
- package/core/src/ssr/lib/modules.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts +1 -1
- package/core/src/ssr/lib/preload.d.ts +1 -1
- package/core/src/ssr/lib/route-match.d.ts +1 -1
- package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
- package/core/src/ssr/lib/scripts/data.d.ts +1 -1
- package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
- package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
- package/core/src/ssr/lib/scripts/index.d.ts +1 -1
- package/core/src/ssr/lib/seed.d.ts +6 -1
- package/core/src/ssr/lib/seed.d.ts.map +1 -1
- package/core/src/ssr/lib/serialize.d.ts +1 -1
- package/core/src/ssr/lib/setup.d.ts +1 -1
- package/core/src/ssr/lib/styles.d.ts +1 -1
- package/core/src/ssr/lib/template.d.ts +1 -1
- package/core/src/ssr/lib/types.d.ts +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +278 -209
- package/elysia/index.js.map +11 -10
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/assets.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/caching.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/i18n.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/libs/index.d.ts +1 -1
- package/elysia/src/libs/llms.d.ts +1 -1
- package/elysia/src/libs/response.d.ts +1 -1
- package/elysia/src/libs/serving.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/plugin.d.ts.map +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +2 -2
- package/elysia/src/routes/content.d.ts.map +1 -1
- package/elysia/src/routes/image.d.ts +1 -1
- package/elysia/src/routes/index.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts.map +1 -1
- package/elysia/src/routes/llms.d.ts +1 -1
- package/elysia/src/routes/og.d.ts +1 -1
- package/elysia/src/routes/redirects.d.ts +1 -1
- package/elysia/src/routes/robots.d.ts +1 -1
- package/elysia/src/routes/rss.d.ts +1 -1
- package/elysia/src/routes/search.d.ts +1 -1
- package/elysia/src/routes/sitemap.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts +1 -1
- package/elysia/src/routes/static.d.ts +1 -1
- package/elysia/src/routes/themeCssRefresh.d.ts +17 -0
- package/elysia/src/routes/themeCssRefresh.d.ts.map +1 -0
- package/elysia/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +71 -71
- package/react/index.js.map +1 -1
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +1 -1
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useFeed.d.ts +1 -1
- package/react/src/hooks/useLayoutData.d.ts +1 -1
- package/react/src/hooks/useLlms.d.ts +1 -1
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearch.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/hooks/useToc.d.ts +1 -1
- package/react/src/i18n/LocaleProvider.d.ts +1 -1
- package/react/src/i18n/helpers.d.ts +1 -1
- package/react/src/i18n/index.d.ts +1 -1
- package/react/src/index.d.ts +1 -1
- package/react/src/lib/collection.d.ts +1 -1
- package/react/src/lib/content.d.ts +1 -1
- package/react/src/lib/head.d.ts +1 -1
- package/react/src/lib/index.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts +1 -1
- package/react/src/lib/route-loader.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/telemetry/react.d.ts +1 -1
- package/telemetry/react.js +16 -16
- package/telemetry/react.js.map +2 -2
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +28 -220
- package/telemetry/server.js.map +5 -4
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/headers/extractor.d.ts +1 -1
- package/telemetry/src/server/headers/index.d.ts +1 -1
- package/telemetry/src/server/headers/presets.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/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();
|
|
@@ -6666,7 +6711,9 @@ var init_core = __esm(() => {
|
|
|
6666
6711
|
function getCommonBuildOptions() {
|
|
6667
6712
|
return {
|
|
6668
6713
|
loader: {
|
|
6669
|
-
".css": "text"
|
|
6714
|
+
".css": "text",
|
|
6715
|
+
".md": "text",
|
|
6716
|
+
".mdx": "text"
|
|
6670
6717
|
}
|
|
6671
6718
|
};
|
|
6672
6719
|
}
|
|
@@ -6677,10 +6724,13 @@ function getNamingConfig(options) {
|
|
|
6677
6724
|
asset: options?.asset || "asset.[hash].[ext]"
|
|
6678
6725
|
};
|
|
6679
6726
|
}
|
|
6727
|
+
function shouldRebuildClientBundle(filename) {
|
|
6728
|
+
return filename.endsWith(".ts") || filename.endsWith(".tsx") || filename.endsWith(".md") || filename.endsWith(".mdx");
|
|
6729
|
+
}
|
|
6680
6730
|
|
|
6681
6731
|
// packages/cli/src/commands/lib/env.ts
|
|
6682
6732
|
import { existsSync as existsSync2, readFileSync } from "node:fs";
|
|
6683
|
-
import { join as
|
|
6733
|
+
import { join as join5 } from "node:path";
|
|
6684
6734
|
function parseEnvFile(content2) {
|
|
6685
6735
|
const env = {};
|
|
6686
6736
|
const lines = content2.split(`
|
|
@@ -6706,7 +6756,7 @@ function loadEnvFiles(cwd, mode = "development") {
|
|
|
6706
6756
|
const env = {};
|
|
6707
6757
|
const loadedFiles = [];
|
|
6708
6758
|
for (const file of envFiles) {
|
|
6709
|
-
const filePath =
|
|
6759
|
+
const filePath = join5(cwd, file);
|
|
6710
6760
|
if (existsSync2(filePath)) {
|
|
6711
6761
|
try {
|
|
6712
6762
|
const content2 = readFileSync(filePath, "utf-8");
|
|
@@ -6750,11 +6800,11 @@ var init_env = () => {};
|
|
|
6750
6800
|
|
|
6751
6801
|
// packages/cli/src/commands/lib/markdown/availability.ts
|
|
6752
6802
|
import { existsSync as existsSync3, readFileSync as readFileSync2 } from "node:fs";
|
|
6753
|
-
import { dirname, join as
|
|
6803
|
+
import { dirname as dirname2, join as join6 } from "node:path";
|
|
6754
6804
|
function isPackageAvailable(cwd, packageName) {
|
|
6755
6805
|
let currentDir = cwd;
|
|
6756
6806
|
for (let i = 0;i < 5; i++) {
|
|
6757
|
-
const packageJsonPath =
|
|
6807
|
+
const packageJsonPath = join6(currentDir, "package.json");
|
|
6758
6808
|
if (existsSync3(packageJsonPath)) {
|
|
6759
6809
|
try {
|
|
6760
6810
|
const packageJson = JSON.parse(readFileSync2(packageJsonPath, "utf-8"));
|
|
@@ -6768,7 +6818,7 @@ function isPackageAvailable(cwd, packageName) {
|
|
|
6768
6818
|
}
|
|
6769
6819
|
} catch {}
|
|
6770
6820
|
}
|
|
6771
|
-
const parentDir =
|
|
6821
|
+
const parentDir = dirname2(currentDir);
|
|
6772
6822
|
if (parentDir === currentDir) {
|
|
6773
6823
|
break;
|
|
6774
6824
|
}
|
|
@@ -6826,7 +6876,7 @@ var init_availability = () => {};
|
|
|
6826
6876
|
|
|
6827
6877
|
// packages/cli/src/commands/lib/markdown/processor.ts
|
|
6828
6878
|
import { existsSync as existsSync4, readFileSync as readFileSync3 } from "node:fs";
|
|
6829
|
-
import { basename as
|
|
6879
|
+
import { basename as basename3, dirname as dirname3, extname as extname3, join as join7, relative, resolve } from "node:path";
|
|
6830
6880
|
import matter from "gray-matter";
|
|
6831
6881
|
function convertPropertiesToJsx(properties) {
|
|
6832
6882
|
const newProperties = {};
|
|
@@ -6885,7 +6935,7 @@ function processMarkdownFile(filePath) {
|
|
|
6885
6935
|
function isMdxAvailable2(cwd) {
|
|
6886
6936
|
let currentDir = cwd;
|
|
6887
6937
|
for (let i = 0;i < 5; i++) {
|
|
6888
|
-
const packageJsonPath =
|
|
6938
|
+
const packageJsonPath = join7(currentDir, "package.json");
|
|
6889
6939
|
if (existsSync4(packageJsonPath)) {
|
|
6890
6940
|
try {
|
|
6891
6941
|
const packageJson = JSON.parse(readFileSync3(packageJsonPath, "utf-8"));
|
|
@@ -6899,7 +6949,7 @@ function isMdxAvailable2(cwd) {
|
|
|
6899
6949
|
}
|
|
6900
6950
|
} catch {}
|
|
6901
6951
|
}
|
|
6902
|
-
const parentDir =
|
|
6952
|
+
const parentDir = dirname3(currentDir);
|
|
6903
6953
|
if (parentDir === currentDir) {
|
|
6904
6954
|
break;
|
|
6905
6955
|
}
|
|
@@ -6909,10 +6959,10 @@ function isMdxAvailable2(cwd) {
|
|
|
6909
6959
|
}
|
|
6910
6960
|
function tryLoadModule(cwd, moduleName) {
|
|
6911
6961
|
const pathsToTry = [
|
|
6912
|
-
|
|
6913
|
-
|
|
6914
|
-
|
|
6915
|
-
|
|
6962
|
+
join7(cwd, `node_modules/${moduleName}`),
|
|
6963
|
+
join7(cwd, `../node_modules/${moduleName}`),
|
|
6964
|
+
join7(cwd, `../../node_modules/${moduleName}`),
|
|
6965
|
+
join7(cwd, `../../../node_modules/${moduleName}`)
|
|
6916
6966
|
];
|
|
6917
6967
|
for (const modulePath of pathsToTry) {
|
|
6918
6968
|
try {
|
|
@@ -7001,9 +7051,9 @@ async function compileMdx(content2, cwd, options = {}) {
|
|
|
7001
7051
|
function rewriteImportPaths(code, sourcePath, targetPath) {
|
|
7002
7052
|
const importRegex = /import\s+(?:{[^}]+}|[\w\s,]+)\s+from\s+['"](\.[^'"]+)['"]/g;
|
|
7003
7053
|
return code.replace(importRegex, (match, importPath) => {
|
|
7004
|
-
const sourceDir =
|
|
7054
|
+
const sourceDir = dirname3(sourcePath);
|
|
7005
7055
|
const absoluteImportPath = resolve(sourceDir, importPath);
|
|
7006
|
-
const targetDir =
|
|
7056
|
+
const targetDir = dirname3(targetPath);
|
|
7007
7057
|
let newRelativePath = relative(targetDir, absoluteImportPath);
|
|
7008
7058
|
if (!newRelativePath.startsWith(".")) {
|
|
7009
7059
|
newRelativePath = `./${newRelativePath}`;
|
|
@@ -7161,7 +7211,7 @@ export default function MarkdownFallback() {
|
|
|
7161
7211
|
`;
|
|
7162
7212
|
}
|
|
7163
7213
|
function isMarkdownFile(filePath) {
|
|
7164
|
-
const ext =
|
|
7214
|
+
const ext = extname3(filePath).toLowerCase();
|
|
7165
7215
|
return ext === ".md" || ext === ".mdx";
|
|
7166
7216
|
}
|
|
7167
7217
|
function extractHeadings(content2, options = {}) {
|
|
@@ -7242,7 +7292,7 @@ function isProductionMode(args = []) {
|
|
|
7242
7292
|
}
|
|
7243
7293
|
|
|
7244
7294
|
// packages/cli/src/commands/lib/streaming/analyzer.ts
|
|
7245
|
-
import { dirname as
|
|
7295
|
+
import { dirname as dirname4, join as join8 } from "node:path";
|
|
7246
7296
|
function hasSSRDataExport(source) {
|
|
7247
7297
|
if (SSR_DATA_INLINE_EXPORT_REGEX.test(source)) {
|
|
7248
7298
|
return true;
|
|
@@ -7269,11 +7319,11 @@ async function analyzeRouteForStreaming(options) {
|
|
|
7269
7319
|
};
|
|
7270
7320
|
}
|
|
7271
7321
|
async function findSkeletonForTarget(routesDir, relativePath, type) {
|
|
7272
|
-
const dirName = normalizeRelativePath(
|
|
7273
|
-
const baseDir = dirName === "." ? routesDir :
|
|
7322
|
+
const dirName = normalizeRelativePath(dirname4(relativePath));
|
|
7323
|
+
const baseDir = dirName === "." ? routesDir : join8(routesDir, dirName).replace(/\\/g, "/");
|
|
7274
7324
|
const candidates = type === "layout" ? ["[layout+skeleton].tsx", "[layout+skeleton].ts"] : ["[skeleton].tsx", "[skeleton].ts"];
|
|
7275
7325
|
for (const candidate of candidates) {
|
|
7276
|
-
const candidatePath =
|
|
7326
|
+
const candidatePath = join8(baseDir, candidate);
|
|
7277
7327
|
try {
|
|
7278
7328
|
const file = Bun.file(candidatePath);
|
|
7279
7329
|
if (await file.exists()) {
|
|
@@ -7294,12 +7344,12 @@ var init_analyzer = __esm(() => {
|
|
|
7294
7344
|
});
|
|
7295
7345
|
|
|
7296
7346
|
// packages/cli/src/commands/lib/streaming/suspense.ts
|
|
7297
|
-
import { dirname as
|
|
7347
|
+
import { dirname as dirname5, join as join9, relative as relative2 } from "node:path";
|
|
7298
7348
|
async function generateStreamingWrapper(options) {
|
|
7299
7349
|
const { cwd, relativeFilePath, analysis, config: config2 } = options;
|
|
7300
|
-
const streamingModulePath =
|
|
7301
|
-
const wrapperDir =
|
|
7302
|
-
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));
|
|
7303
7353
|
const originalImportPath = toImportPath(wrapperDir, originalModuleWithoutExt);
|
|
7304
7354
|
const skeletonImportBlock = await resolveSkeletonBlock({
|
|
7305
7355
|
analysis,
|
|
@@ -7341,7 +7391,7 @@ async function resolveSkeletonBlock(args) {
|
|
|
7341
7391
|
}
|
|
7342
7392
|
function resolveConfiguredSkeletonPath(value, cwd) {
|
|
7343
7393
|
if (typeof value === "string" && value.trim().length > 0) {
|
|
7344
|
-
return value.startsWith("/") ? value :
|
|
7394
|
+
return value.startsWith("/") ? value : join9(cwd, value);
|
|
7345
7395
|
}
|
|
7346
7396
|
if (value && !warnedSkeletonType) {
|
|
7347
7397
|
console.warn("[reroute/streaming] default skeletons must be provided as string module paths in reroute.config.ts");
|
|
@@ -7378,10 +7428,10 @@ var init_suspense = () => {};
|
|
|
7378
7428
|
// packages/cli/src/commands/lib/theme.ts
|
|
7379
7429
|
import { existsSync as existsSync5, readFileSync as readFileSync4 } from "node:fs";
|
|
7380
7430
|
import { mkdir as mkdir2, writeFile } from "node:fs/promises";
|
|
7381
|
-
import { dirname as
|
|
7431
|
+
import { dirname as dirname6, isAbsolute, join as join10, resolve as resolve2 } from "node:path";
|
|
7382
7432
|
function getCssPaths(cwd) {
|
|
7383
|
-
const input =
|
|
7384
|
-
const output =
|
|
7433
|
+
const input = join10(cwd, "src/client/index.css");
|
|
7434
|
+
const output = join10(cwd, ".reroute/index.css");
|
|
7385
7435
|
return { input, output };
|
|
7386
7436
|
}
|
|
7387
7437
|
function isFileImport(specifier) {
|
|
@@ -7407,7 +7457,7 @@ function bundleCssEntrypoint(entryPath) {
|
|
|
7407
7457
|
}
|
|
7408
7458
|
stack.add(absPath);
|
|
7409
7459
|
const source = readFileSync4(absPath, "utf-8");
|
|
7410
|
-
const baseDir =
|
|
7460
|
+
const baseDir = dirname6(absPath);
|
|
7411
7461
|
const bundled = source.replace(IMPORT_RE, (full, single, double, bare, rest) => {
|
|
7412
7462
|
const specifier = single || double || bare;
|
|
7413
7463
|
const condition = (rest ?? "").trim();
|
|
@@ -7430,7 +7480,7 @@ async function syncThemeCss(cwd) {
|
|
|
7430
7480
|
if (!existsSync5(input)) {
|
|
7431
7481
|
return false;
|
|
7432
7482
|
}
|
|
7433
|
-
await mkdir2(
|
|
7483
|
+
await mkdir2(dirname6(output), { recursive: true });
|
|
7434
7484
|
try {
|
|
7435
7485
|
const css = bundleCssEntrypoint(input);
|
|
7436
7486
|
await writeFile(output, css, "utf-8");
|
|
@@ -7453,15 +7503,19 @@ var init_theme = __esm(() => {
|
|
|
7453
7503
|
// packages/cli/src/commands/gen.ts
|
|
7454
7504
|
var exports_gen = {};
|
|
7455
7505
|
__export(exports_gen, {
|
|
7456
|
-
default: () => gen
|
|
7506
|
+
default: () => gen,
|
|
7507
|
+
startGenWatch: () => startGenWatch
|
|
7457
7508
|
});
|
|
7458
7509
|
import { watch } from "node:fs";
|
|
7459
|
-
import { copyFile, mkdir as mkdir3, readdir as readdir7, rm, unlink } from "node:fs/promises";
|
|
7460
|
-
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";
|
|
7461
7512
|
import { pathToFileURL as pathToFileURL8 } from "node:url";
|
|
7513
|
+
function isWatchNoise(name) {
|
|
7514
|
+
return name.split(/[/\\]/).some((part) => part.startsWith(".")) || /\.bust-[^/\\]+$/.test(name);
|
|
7515
|
+
}
|
|
7462
7516
|
async function bundleThemeCssIntoArtifacts(cwd) {
|
|
7463
|
-
const cssPath =
|
|
7464
|
-
const artifactsPath =
|
|
7517
|
+
const cssPath = join11(cwd, ".reroute", "index.css");
|
|
7518
|
+
const artifactsPath = join11(cwd, OUTPUT_ARTIFACTS);
|
|
7465
7519
|
try {
|
|
7466
7520
|
const cssContent = await Bun.file(cssPath).text();
|
|
7467
7521
|
if (!cssContent)
|
|
@@ -7487,7 +7541,7 @@ async function bundleThemeCssIntoArtifacts(cwd) {
|
|
|
7487
7541
|
async function ensureOutputDir(cwd, options = {}) {
|
|
7488
7542
|
const { clean = true } = options;
|
|
7489
7543
|
try {
|
|
7490
|
-
const outputPath =
|
|
7544
|
+
const outputPath = join11(cwd, OUTPUT_DIR);
|
|
7491
7545
|
if (clean) {
|
|
7492
7546
|
let needsCleanup = false;
|
|
7493
7547
|
try {
|
|
@@ -7500,9 +7554,9 @@ async function ensureOutputDir(cwd, options = {}) {
|
|
|
7500
7554
|
}
|
|
7501
7555
|
}
|
|
7502
7556
|
await mkdir3(outputPath, { recursive: true });
|
|
7503
|
-
await mkdir3(
|
|
7504
|
-
await mkdir3(
|
|
7505
|
-
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 });
|
|
7506
7560
|
} catch {}
|
|
7507
7561
|
}
|
|
7508
7562
|
async function writeStubFiles(cwd) {
|
|
@@ -7560,11 +7614,11 @@ import './artifacts';
|
|
|
7560
7614
|
import './routes'; // Import routes (bundles all route components)
|
|
7561
7615
|
import '../src/index';
|
|
7562
7616
|
`;
|
|
7563
|
-
await Bun.write(
|
|
7564
|
-
await Bun.write(
|
|
7565
|
-
await Bun.write(
|
|
7566
|
-
await Bun.write(
|
|
7567
|
-
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);
|
|
7568
7622
|
console.log("[reroute/gen] Initialized stub files");
|
|
7569
7623
|
}
|
|
7570
7624
|
function shouldSkipFile(relativePath, entryName) {
|
|
@@ -7586,8 +7640,8 @@ async function scanDirectory(dir, base = "") {
|
|
|
7586
7640
|
const files = [];
|
|
7587
7641
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7588
7642
|
for (const entry of entries) {
|
|
7589
|
-
const fullPath =
|
|
7590
|
-
const relativePath =
|
|
7643
|
+
const fullPath = join11(dir, entry.name);
|
|
7644
|
+
const relativePath = join11(base, entry.name);
|
|
7591
7645
|
if (entry.isDirectory()) {
|
|
7592
7646
|
if (entry.name === "content")
|
|
7593
7647
|
continue;
|
|
@@ -7605,8 +7659,8 @@ async function scan404Files(dir, base = "") {
|
|
|
7605
7659
|
const files = [];
|
|
7606
7660
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7607
7661
|
for (const entry of entries) {
|
|
7608
|
-
const fullPath =
|
|
7609
|
-
const relativePath =
|
|
7662
|
+
const fullPath = join11(dir, entry.name);
|
|
7663
|
+
const relativePath = join11(base, entry.name);
|
|
7610
7664
|
if (entry.isDirectory()) {
|
|
7611
7665
|
const nested = await scan404Files(fullPath, relativePath);
|
|
7612
7666
|
files.push(...nested);
|
|
@@ -7621,8 +7675,8 @@ async function scanOgFiles(dir, base = "") {
|
|
|
7621
7675
|
const files = [];
|
|
7622
7676
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
7623
7677
|
for (const entry of entries) {
|
|
7624
|
-
const fullPath =
|
|
7625
|
-
const relativePath =
|
|
7678
|
+
const fullPath = join11(dir, entry.name);
|
|
7679
|
+
const relativePath = join11(base, entry.name);
|
|
7626
7680
|
if (entry.isDirectory()) {
|
|
7627
7681
|
if (entry.name === "content")
|
|
7628
7682
|
continue;
|
|
@@ -7876,7 +7930,7 @@ function matchPattern(route: Route, pathname: string): Record<string, string> |
|
|
|
7876
7930
|
`;
|
|
7877
7931
|
}
|
|
7878
7932
|
async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
7879
|
-
const streamingDir =
|
|
7933
|
+
const streamingDir = join11(cwd, ".reroute", "streaming");
|
|
7880
7934
|
const analyses = new Map;
|
|
7881
7935
|
const candidates = [
|
|
7882
7936
|
...tree.routes.map((route) => ({
|
|
@@ -7895,7 +7949,7 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
|
7895
7949
|
for (const candidate of candidates) {
|
|
7896
7950
|
if (!/\.(tsx|ts)$/.test(candidate.filePath))
|
|
7897
7951
|
continue;
|
|
7898
|
-
const absolutePath =
|
|
7952
|
+
const absolutePath = join11(routesPath, candidate.filePath);
|
|
7899
7953
|
const analysis = await analyzeRouteForStreaming({
|
|
7900
7954
|
absolutePath,
|
|
7901
7955
|
relativePath: candidate.filePath,
|
|
@@ -7904,8 +7958,8 @@ async function buildStreamingWrappersForTree(cwd, routesPath, tree, config2) {
|
|
|
7904
7958
|
});
|
|
7905
7959
|
if (!analysis.needsStreaming)
|
|
7906
7960
|
continue;
|
|
7907
|
-
const wrapperPath =
|
|
7908
|
-
await mkdir3(
|
|
7961
|
+
const wrapperPath = join11(streamingDir, candidate.filePath).replace(/\.(tsx|ts)$/, ".tsx");
|
|
7962
|
+
await mkdir3(dirname7(wrapperPath), { recursive: true });
|
|
7909
7963
|
const code = await generateStreamingWrapper({
|
|
7910
7964
|
cwd,
|
|
7911
7965
|
relativeFilePath: candidate.filePath,
|
|
@@ -7929,13 +7983,13 @@ function isContentFileName(name) {
|
|
|
7929
7983
|
}
|
|
7930
7984
|
async function listLocaleContentFiles(collectionDir, locale) {
|
|
7931
7985
|
try {
|
|
7932
|
-
const nested = await readdir7(
|
|
7986
|
+
const nested = await readdir7(join11(collectionDir, locale), {
|
|
7933
7987
|
withFileTypes: true
|
|
7934
7988
|
});
|
|
7935
7989
|
const files = [];
|
|
7936
7990
|
for (const n of nested) {
|
|
7937
7991
|
if (n.isFile() && isContentFileName(n.name)) {
|
|
7938
|
-
files.push({ relativePath:
|
|
7992
|
+
files.push({ relativePath: join11(locale, n.name), locale });
|
|
7939
7993
|
}
|
|
7940
7994
|
}
|
|
7941
7995
|
return files;
|
|
@@ -7973,13 +8027,13 @@ async function loadContentMeta(absSrc, buildSrc, isMarkdown) {
|
|
|
7973
8027
|
if (isMarkdown) {
|
|
7974
8028
|
return processMarkdownFile(absSrc).frontmatter || {};
|
|
7975
8029
|
}
|
|
7976
|
-
const tmp =
|
|
8030
|
+
const tmp = join11(dirname7(buildSrc), `.meta-${Date.now()}-${Math.random().toString(36).slice(2)}${extname4(buildSrc)}`);
|
|
7977
8031
|
try {
|
|
7978
|
-
await
|
|
8032
|
+
await copyFile2(buildSrc, tmp);
|
|
7979
8033
|
const m = await import(pathToFileURL8(tmp).href);
|
|
7980
8034
|
return m.meta || {};
|
|
7981
8035
|
} finally {
|
|
7982
|
-
await
|
|
8036
|
+
await unlink2(tmp).catch(() => {});
|
|
7983
8037
|
}
|
|
7984
8038
|
}
|
|
7985
8039
|
function serializeConfig(config2) {
|
|
@@ -8031,9 +8085,9 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8031
8085
|
const locale = fileRef.locale || defaultLocale;
|
|
8032
8086
|
const baseName = file.split("/").pop() || file;
|
|
8033
8087
|
const name = baseName.replace(/\.(tsx|ts|md|mdx)$/, "");
|
|
8034
|
-
const absSrc =
|
|
8088
|
+
const absSrc = join11(contentDir, file);
|
|
8035
8089
|
const isMarkdown = /\.(md|mdx)$/.test(file);
|
|
8036
|
-
const buildSrc = isMarkdown ?
|
|
8090
|
+
const buildSrc = isMarkdown ? join11(cwd, ".reroute", "markdown", collection, "content", file.replace(/\.(md|mdx)$/, ".tsx")) : absSrc;
|
|
8037
8091
|
if (isMarkdown) {
|
|
8038
8092
|
try {
|
|
8039
8093
|
const exists = await Bun.file(buildSrc).exists();
|
|
@@ -8079,11 +8133,11 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8079
8133
|
return null;
|
|
8080
8134
|
}
|
|
8081
8135
|
const hash2 = await sha8(code);
|
|
8082
|
-
const chunkRelDir =
|
|
8083
|
-
const chunkAbsDir =
|
|
8136
|
+
const chunkRelDir = join11(".reroute", "bundles");
|
|
8137
|
+
const chunkAbsDir = join11(cwd, chunkRelDir);
|
|
8084
8138
|
const localeSuffix = locale !== defaultLocale ? `${locale}-` : "";
|
|
8085
8139
|
const outFile = `${collection}-${localeSuffix}${name}.${hash2}.js`;
|
|
8086
|
-
const absOut =
|
|
8140
|
+
const absOut = join11(chunkAbsDir, outFile);
|
|
8087
8141
|
if (sourcemapContent) {
|
|
8088
8142
|
code = code.replace(/\/\/# sourceMappingURL=.*\.js\.map/, `//# sourceMappingURL=${outFile}.map`);
|
|
8089
8143
|
}
|
|
@@ -8116,7 +8170,7 @@ async function buildSingleContentChunk(cwd, collection, fileRef, contentDir, arg
|
|
|
8116
8170
|
};
|
|
8117
8171
|
}
|
|
8118
8172
|
async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
8119
|
-
const routesRoot =
|
|
8173
|
+
const routesRoot = join11(cwd, ROUTES_DIR);
|
|
8120
8174
|
console.log(`[reroute/content] scan ${routesRoot}`);
|
|
8121
8175
|
const collections2 = await readdir7(routesRoot, { withFileTypes: true });
|
|
8122
8176
|
const results = [];
|
|
@@ -8124,7 +8178,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8124
8178
|
if (!c.isDirectory())
|
|
8125
8179
|
continue;
|
|
8126
8180
|
const collection = c.name;
|
|
8127
|
-
const contentDir =
|
|
8181
|
+
const contentDir = join11(routesRoot, collection, "content");
|
|
8128
8182
|
console.log(`[reroute/content] collection ${collection} dir ${contentDir}`);
|
|
8129
8183
|
const files = await listContentFiles2(contentDir);
|
|
8130
8184
|
console.log(`[reroute/content] files ${files.length}`);
|
|
@@ -8176,7 +8230,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8176
8230
|
lines.push("");
|
|
8177
8231
|
const writes = [];
|
|
8178
8232
|
writes.push({
|
|
8179
|
-
path:
|
|
8233
|
+
path: join11(cwd, OUTPUT_CONTENT_TS),
|
|
8180
8234
|
content: lines.join(`
|
|
8181
8235
|
`)
|
|
8182
8236
|
});
|
|
@@ -8210,7 +8264,7 @@ async function buildContentChunks(cwd, args = [], defaultLocale = "en-US") {
|
|
|
8210
8264
|
js.push("}");
|
|
8211
8265
|
js.push("");
|
|
8212
8266
|
writes.push({
|
|
8213
|
-
path:
|
|
8267
|
+
path: join11(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`),
|
|
8214
8268
|
content: js.join(`
|
|
8215
8269
|
`)
|
|
8216
8270
|
});
|
|
@@ -8234,7 +8288,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8234
8288
|
minHeadingLevel = 1,
|
|
8235
8289
|
maxHeadingLevel = 6
|
|
8236
8290
|
} = searchConfig;
|
|
8237
|
-
const routesRoot =
|
|
8291
|
+
const routesRoot = join11(cwd, ROUTES_DIR);
|
|
8238
8292
|
const collections2 = await readdir7(routesRoot, { withFileTypes: true });
|
|
8239
8293
|
const i18n2 = await discoverI18n(cwd, config2.i18n);
|
|
8240
8294
|
const defaultLocale = i18n2.defaultLocale;
|
|
@@ -8246,7 +8300,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8246
8300
|
if (targetCollections.length > 0 && !targetCollections.includes(collection)) {
|
|
8247
8301
|
continue;
|
|
8248
8302
|
}
|
|
8249
|
-
const contentDir =
|
|
8303
|
+
const contentDir = join11(routesRoot, collection, "content");
|
|
8250
8304
|
try {
|
|
8251
8305
|
const files = await listContentFiles2(contentDir);
|
|
8252
8306
|
for (const fileRef of files) {
|
|
@@ -8256,7 +8310,7 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8256
8310
|
const baseName = file.split("/").pop() || file;
|
|
8257
8311
|
const name = baseName.replace(/\.(md|mdx)$/, "");
|
|
8258
8312
|
const locale = fileRef.locale || defaultLocale;
|
|
8259
|
-
const filePath =
|
|
8313
|
+
const filePath = join11(contentDir, file);
|
|
8260
8314
|
try {
|
|
8261
8315
|
const processed = processMarkdownFile(filePath);
|
|
8262
8316
|
const { frontmatter, content: content2 } = processed;
|
|
@@ -8304,13 +8358,13 @@ async function buildSearchIndex(cwd, config2, args = []) {
|
|
|
8304
8358
|
generated: new Date().toISOString(),
|
|
8305
8359
|
entries: searchIndex
|
|
8306
8360
|
};
|
|
8307
|
-
await Bun.write(
|
|
8308
|
-
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)}`);
|
|
8309
8363
|
}
|
|
8310
8364
|
async function preprocessMarkdownFiles(cwd, config2) {
|
|
8311
8365
|
console.log("[reroute/markdown] Starting markdown preprocessing...");
|
|
8312
|
-
const routesPath =
|
|
8313
|
-
const markdownDir =
|
|
8366
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8367
|
+
const markdownDir = join11(cwd, ".reroute", "markdown");
|
|
8314
8368
|
try {
|
|
8315
8369
|
await rm(markdownDir, { force: true, recursive: true });
|
|
8316
8370
|
} catch {}
|
|
@@ -8320,8 +8374,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8320
8374
|
try {
|
|
8321
8375
|
const entries = await readdir7(dir, { withFileTypes: true });
|
|
8322
8376
|
for (const entry of entries) {
|
|
8323
|
-
const fullPath =
|
|
8324
|
-
const relativePath =
|
|
8377
|
+
const fullPath = join11(dir, entry.name);
|
|
8378
|
+
const relativePath = join11(base, entry.name);
|
|
8325
8379
|
if (entry.isDirectory()) {
|
|
8326
8380
|
const nested = await scanMarkdown(fullPath, relativePath);
|
|
8327
8381
|
files.push(...nested);
|
|
@@ -8343,8 +8397,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8343
8397
|
}
|
|
8344
8398
|
console.log(`[reroute/markdown] Found ${markdownFiles.length} markdown file(s)`);
|
|
8345
8399
|
for (const file of markdownFiles) {
|
|
8346
|
-
const sourcePath =
|
|
8347
|
-
const targetPath =
|
|
8400
|
+
const sourcePath = join11(routesPath, file);
|
|
8401
|
+
const targetPath = join11(markdownDir, file.replace(/\.mdx?$/, ".tsx"));
|
|
8348
8402
|
try {
|
|
8349
8403
|
const processed = processMarkdownFile(sourcePath);
|
|
8350
8404
|
const isMdx = file.endsWith(".mdx");
|
|
@@ -8370,8 +8424,8 @@ async function preprocessMarkdownFiles(cwd, config2) {
|
|
|
8370
8424
|
}
|
|
8371
8425
|
async function buildEntrypointBundle(cwd, args = []) {
|
|
8372
8426
|
const buildStartTime = performance.now();
|
|
8373
|
-
const clientDir =
|
|
8374
|
-
const entrypoint =
|
|
8427
|
+
const clientDir = join11(cwd, "src", "client");
|
|
8428
|
+
const entrypoint = join11(clientDir, "index.tsx");
|
|
8375
8429
|
const exists = await Bun.file(entrypoint).exists();
|
|
8376
8430
|
if (!exists) {
|
|
8377
8431
|
console.log("[reroute/gen] No index.tsx found, skipping bundle build");
|
|
@@ -8379,7 +8433,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8379
8433
|
}
|
|
8380
8434
|
console.log("[reroute/gen] Building entrypoint bundle...");
|
|
8381
8435
|
const isProd = args.includes("--prod");
|
|
8382
|
-
const bundlesDir =
|
|
8436
|
+
const bundlesDir = join11(cwd, ".reroute", "bundles");
|
|
8383
8437
|
await mkdir3(bundlesDir, { recursive: true });
|
|
8384
8438
|
const mode = isProd ? "production" : "development";
|
|
8385
8439
|
const publicEnv = getPublicEnvVars(cwd, mode);
|
|
@@ -8481,7 +8535,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8481
8535
|
const existingFiles = await readdir7(bundlesDir);
|
|
8482
8536
|
for (const file of existingFiles) {
|
|
8483
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)$/, ""))) {
|
|
8484
|
-
await rm(
|
|
8538
|
+
await rm(join11(bundlesDir, file), { force: true });
|
|
8485
8539
|
}
|
|
8486
8540
|
}
|
|
8487
8541
|
} catch (_error) {}
|
|
@@ -8497,7 +8551,7 @@ async function buildEntrypointBundle(cwd, args = []) {
|
|
|
8497
8551
|
}
|
|
8498
8552
|
}
|
|
8499
8553
|
await Promise.all(outputs.map(async (output) => {
|
|
8500
|
-
const destPath =
|
|
8554
|
+
const destPath = join11(bundlesDir, output.fileName);
|
|
8501
8555
|
await Bun.write(destPath, output.content);
|
|
8502
8556
|
if (shouldPreCompress) {
|
|
8503
8557
|
const shouldCompress = /\.(js|css)$/i.test(output.fileName) && !output.fileName.endsWith(".map");
|
|
@@ -8566,7 +8620,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8566
8620
|
await writeStubFiles(cwd);
|
|
8567
8621
|
}
|
|
8568
8622
|
await perfTrack("Markdown preprocessing", () => preprocessMarkdownFiles(cwd, config2));
|
|
8569
|
-
const routesPath =
|
|
8623
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8570
8624
|
try {
|
|
8571
8625
|
await perfTrack("Routes generation", async () => {
|
|
8572
8626
|
const files = await scanDirectory(routesPath);
|
|
@@ -8575,10 +8629,10 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8575
8629
|
const tree = generateRouteTree(all.map((f) => f.replace(/\\/g, "/")));
|
|
8576
8630
|
const streamingAnalyses = streamingEnabled ? await buildStreamingWrappersForTree(cwd, routesPath, tree, config2) : new Map;
|
|
8577
8631
|
const ts = generateTypeScript(tree, streamingAnalyses);
|
|
8578
|
-
await Bun.write(
|
|
8632
|
+
await Bun.write(join11(cwd, OUTPUT_ROUTES), ts);
|
|
8579
8633
|
});
|
|
8580
8634
|
if (!showPerformance) {
|
|
8581
|
-
console.log(`[reroute/gen] Generated routes: ${
|
|
8635
|
+
console.log(`[reroute/gen] Generated routes: ${join11(cwd, OUTPUT_ROUTES)}`);
|
|
8582
8636
|
}
|
|
8583
8637
|
} catch (error) {
|
|
8584
8638
|
console.error("[reroute/gen] Failed to generate routes:", error);
|
|
@@ -8587,7 +8641,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8587
8641
|
const i18n2 = await discoverI18n(cwd, config2.i18n);
|
|
8588
8642
|
const defaultLocale = i18n2.defaultLocale;
|
|
8589
8643
|
try {
|
|
8590
|
-
await Bun.write(
|
|
8644
|
+
await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
|
|
8591
8645
|
enabled: i18n2.enabled,
|
|
8592
8646
|
defaultLocale: i18n2.defaultLocale,
|
|
8593
8647
|
locales: i18n2.locales,
|
|
@@ -8604,7 +8658,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8604
8658
|
try {
|
|
8605
8659
|
await perfTrack("Content building", () => buildContentChunks(cwd, args, defaultLocale));
|
|
8606
8660
|
if (!showPerformance) {
|
|
8607
|
-
console.log(`[reroute/gen] Generated content: ${
|
|
8661
|
+
console.log(`[reroute/gen] Generated content: ${join11(cwd, OUTPUT_CONTENT_TS)} + collections/*.js`);
|
|
8608
8662
|
}
|
|
8609
8663
|
} catch (error) {
|
|
8610
8664
|
console.error("[reroute/gen] Failed to generate content:", error);
|
|
@@ -8612,17 +8666,17 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8612
8666
|
}
|
|
8613
8667
|
try {
|
|
8614
8668
|
await perfTrack("Manifest generation", async () => {
|
|
8615
|
-
const routesPath2 =
|
|
8669
|
+
const routesPath2 = join11(cwd, OUTPUT_ROUTES);
|
|
8616
8670
|
const routesModule = await import(`file://${routesPath2}?t=${Date.now()}`);
|
|
8617
8671
|
const routes = routesModule.routes || [];
|
|
8618
8672
|
const staticRoutes = routes.filter((r) => !r.params || r.params.length === 0).map((r) => r.pattern);
|
|
8619
8673
|
const contentRoutes = [];
|
|
8620
|
-
const collectionsDir =
|
|
8674
|
+
const collectionsDir = join11(cwd, ".reroute", "collections");
|
|
8621
8675
|
try {
|
|
8622
8676
|
const collectionFiles = await readdir7(collectionsDir);
|
|
8623
8677
|
for (const file of collectionFiles) {
|
|
8624
8678
|
if (file.endsWith(".js")) {
|
|
8625
|
-
const collectionPath =
|
|
8679
|
+
const collectionPath = join11(collectionsDir, file);
|
|
8626
8680
|
const collectionModule = await import(`file://${collectionPath}?t=${Date.now()}`);
|
|
8627
8681
|
const items = collectionModule.items || [];
|
|
8628
8682
|
for (const item of items) {
|
|
@@ -8647,7 +8701,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8647
8701
|
dynamicRoutes,
|
|
8648
8702
|
version: 1
|
|
8649
8703
|
};
|
|
8650
|
-
await Bun.write(
|
|
8704
|
+
await Bun.write(join11(cwd, ".reroute", "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
8651
8705
|
});
|
|
8652
8706
|
} catch (error) {
|
|
8653
8707
|
console.error("[reroute/gen] Failed to generate manifest:", error);
|
|
@@ -8668,7 +8722,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8668
8722
|
mdComponentsLines.push("");
|
|
8669
8723
|
mdComponentsLines.push(`import markdownComponents from '${componentsPath}';`);
|
|
8670
8724
|
mdComponentsLines.push("export { markdownComponents };");
|
|
8671
|
-
await Bun.write(
|
|
8725
|
+
await Bun.write(join11(cwd, ".reroute/markdown-components.ts"), mdComponentsLines.join(`
|
|
8672
8726
|
`));
|
|
8673
8727
|
}
|
|
8674
8728
|
const indexLines = [];
|
|
@@ -8688,7 +8742,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8688
8742
|
const ogTemplatePath = config2.ogImage.defaultTemplate.startsWith(".") ? `../${config2.ogImage.defaultTemplate}` : config2.ogImage.defaultTemplate;
|
|
8689
8743
|
indexLines.push(`import OGTemplate from '${ogTemplatePath}';`);
|
|
8690
8744
|
}
|
|
8691
|
-
const ogFiles = await scanOgFiles(
|
|
8745
|
+
const ogFiles = await scanOgFiles(join11(cwd, ROUTES_DIR));
|
|
8692
8746
|
const ogImports = [];
|
|
8693
8747
|
for (let i = 0;i < ogFiles.length; i++) {
|
|
8694
8748
|
const ogFile = ogFiles[i];
|
|
@@ -8734,7 +8788,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8734
8788
|
}
|
|
8735
8789
|
indexLines.push("};");
|
|
8736
8790
|
}
|
|
8737
|
-
const templatePath =
|
|
8791
|
+
const templatePath = join11(cwd, "src", "client", "index.html");
|
|
8738
8792
|
try {
|
|
8739
8793
|
const templateContent = await Bun.file(templatePath).text();
|
|
8740
8794
|
indexLines.push("");
|
|
@@ -8746,7 +8800,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8746
8800
|
indexLines.push(`(globalThis as any).__REROUTE_CONFIG__ = ${serializeConfig(config2)};`);
|
|
8747
8801
|
indexLines.push("");
|
|
8748
8802
|
indexLines.push("export type RerouteBundle = typeof bundle;");
|
|
8749
|
-
await Bun.write(
|
|
8803
|
+
await Bun.write(join11(cwd, OUTPUT_ARTIFACTS), indexLines.join(`
|
|
8750
8804
|
`));
|
|
8751
8805
|
const barrelLines = [
|
|
8752
8806
|
"// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
|
|
@@ -8756,7 +8810,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8756
8810
|
"",
|
|
8757
8811
|
"export * from './artifacts';"
|
|
8758
8812
|
];
|
|
8759
|
-
await Bun.write(
|
|
8813
|
+
await Bun.write(join11(cwd, OUTPUT_INDEX), barrelLines.join(`
|
|
8760
8814
|
`));
|
|
8761
8815
|
const entryLines = [
|
|
8762
8816
|
"// \uD83D\uDEA8 Auto-generated by Reroute - DO NOT EDIT \uD83D\uDEA8",
|
|
@@ -8772,10 +8826,10 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8772
8826
|
"import './routes'; // Import routes (bundles all route components)",
|
|
8773
8827
|
"import '../src/index'; // Import user's server entry"
|
|
8774
8828
|
];
|
|
8775
|
-
await Bun.write(
|
|
8829
|
+
await Bun.write(join11(cwd, ".reroute/entry.ts"), entryLines.join(`
|
|
8776
8830
|
`));
|
|
8777
8831
|
if (!showPerformance) {
|
|
8778
|
-
console.log(`[reroute/gen] Generated artifacts: ${
|
|
8832
|
+
console.log(`[reroute/gen] Generated artifacts: ${join11(cwd, OUTPUT_ARTIFACTS)}`);
|
|
8779
8833
|
}
|
|
8780
8834
|
await perfTrack("Bundle building", () => buildEntrypointBundle(cwd, args));
|
|
8781
8835
|
const endTime = performance.now();
|
|
@@ -8786,22 +8840,8 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
8786
8840
|
console.log(`[reroute/gen] Generation complete in ${duration}s`);
|
|
8787
8841
|
}
|
|
8788
8842
|
}
|
|
8789
|
-
async function
|
|
8843
|
+
async function startGenWatch(cwd, args) {
|
|
8790
8844
|
const genStartTime = performance.now();
|
|
8791
|
-
const cwd = process.cwd();
|
|
8792
|
-
const watchMode = args.includes("--watch") || args.includes("-w");
|
|
8793
|
-
if (!watchMode) {
|
|
8794
|
-
await generate(cwd, args);
|
|
8795
|
-
await syncThemeCss(cwd);
|
|
8796
|
-
await bundleThemeCssIntoArtifacts(cwd);
|
|
8797
|
-
checkMarkdownIfConfigured(cwd);
|
|
8798
|
-
const genEndTime2 = performance.now();
|
|
8799
|
-
const totalDuration2 = ((genEndTime2 - genStartTime) / 1000).toFixed(2);
|
|
8800
|
-
console.log(`
|
|
8801
|
-
[reroute/gen] ✓ Build complete in ${totalDuration2}s
|
|
8802
|
-
`);
|
|
8803
|
-
process.exit(0);
|
|
8804
|
-
}
|
|
8805
8845
|
console.log("[reroute/gen] Watch mode enabled");
|
|
8806
8846
|
console.log("[reroute/gen] Initial generation...");
|
|
8807
8847
|
await generate(cwd, args);
|
|
@@ -8910,7 +8950,7 @@ async function gen(args) {
|
|
|
8910
8950
|
const mediumDebounce = createDebouncer(150);
|
|
8911
8951
|
const slowDebounce = createDebouncer(300);
|
|
8912
8952
|
const loadedConfig = await loadConfig(cwd);
|
|
8913
|
-
const configPath =
|
|
8953
|
+
const configPath = join11(cwd, "reroute.config.ts");
|
|
8914
8954
|
let configWatcher = null;
|
|
8915
8955
|
try {
|
|
8916
8956
|
configWatcher = watch(configPath, () => {
|
|
@@ -8932,7 +8972,7 @@ async function gen(args) {
|
|
|
8932
8972
|
];
|
|
8933
8973
|
const envWatchers = [];
|
|
8934
8974
|
for (const envFile of envFiles) {
|
|
8935
|
-
const envPath =
|
|
8975
|
+
const envPath = join11(cwd, envFile);
|
|
8936
8976
|
try {
|
|
8937
8977
|
const envWatcher = watch(envPath, () => {
|
|
8938
8978
|
mediumDebounce(() => {
|
|
@@ -8951,21 +8991,23 @@ async function gen(args) {
|
|
|
8951
8991
|
let packagesWatcher = null;
|
|
8952
8992
|
const isRerouteWorkspace = async () => {
|
|
8953
8993
|
try {
|
|
8954
|
-
const packagesPath =
|
|
8955
|
-
const exists = await Bun.file(
|
|
8994
|
+
const packagesPath = join11(cwd, "..", "..", "packages");
|
|
8995
|
+
const exists = await Bun.file(join11(packagesPath, "core", "index.ts")).exists();
|
|
8956
8996
|
return exists;
|
|
8957
8997
|
} catch {
|
|
8958
8998
|
return false;
|
|
8959
8999
|
}
|
|
8960
9000
|
};
|
|
8961
9001
|
if (await isRerouteWorkspace()) {
|
|
8962
|
-
const packagesPath =
|
|
9002
|
+
const packagesPath = join11(cwd, "..", "..", "packages");
|
|
8963
9003
|
console.log("[reroute/watch] \uD83D\uDD27 Workspace development mode enabled");
|
|
8964
9004
|
console.log(`[reroute/watch] \uD83D\uDD27 Watching ${packagesPath}...`);
|
|
8965
9005
|
packagesWatcher = watch(packagesPath, { recursive: true }, (_ev, filename) => {
|
|
8966
9006
|
if (!filename)
|
|
8967
9007
|
return;
|
|
8968
9008
|
const name = String(filename);
|
|
9009
|
+
if (isWatchNoise(name))
|
|
9010
|
+
return;
|
|
8969
9011
|
if (name.includes("dist/") || name.includes("node_modules/"))
|
|
8970
9012
|
return;
|
|
8971
9013
|
if (!/\.(tsx|ts|jsx|js)$/.test(name))
|
|
@@ -8982,12 +9024,14 @@ async function gen(args) {
|
|
|
8982
9024
|
});
|
|
8983
9025
|
});
|
|
8984
9026
|
}
|
|
8985
|
-
const routesPath =
|
|
9027
|
+
const routesPath = join11(cwd, ROUTES_DIR);
|
|
8986
9028
|
console.log(`[reroute/watch] \uD83D\uDCC1 Watching ${routesPath}...`);
|
|
8987
9029
|
const routesWatcher = watch(routesPath, { recursive: true }, (_ev, filename) => {
|
|
8988
9030
|
if (!filename)
|
|
8989
9031
|
return;
|
|
8990
9032
|
const name = String(filename);
|
|
9033
|
+
if (isWatchNoise(name))
|
|
9034
|
+
return;
|
|
8991
9035
|
quickDebounce(() => {
|
|
8992
9036
|
scheduleBuild(async () => {
|
|
8993
9037
|
const isContentFile = name.includes("/content/") || name.includes("\\content\\");
|
|
@@ -9005,7 +9049,7 @@ async function gen(args) {
|
|
|
9005
9049
|
console.log("[reroute/watch] ├─ Building content chunks...");
|
|
9006
9050
|
const contentStart = performance.now();
|
|
9007
9051
|
const watchI18n = await discoverI18n(cwd, loadedConfig.i18n);
|
|
9008
|
-
await Bun.write(
|
|
9052
|
+
await Bun.write(join11(cwd, ".reroute", "i18n.json"), JSON.stringify({
|
|
9009
9053
|
enabled: watchI18n.enabled,
|
|
9010
9054
|
defaultLocale: watchI18n.defaultLocale,
|
|
9011
9055
|
locales: watchI18n.locales,
|
|
@@ -9042,13 +9086,15 @@ async function gen(args) {
|
|
|
9042
9086
|
}, "routes change");
|
|
9043
9087
|
});
|
|
9044
9088
|
});
|
|
9045
|
-
const clientPath =
|
|
9089
|
+
const clientPath = join11(cwd, "src", "client");
|
|
9046
9090
|
console.log(`[reroute/watch] \uD83D\uDCE6 Watching ${clientPath}...`);
|
|
9047
9091
|
let pendingClientFiles = new Set;
|
|
9048
9092
|
const clientWatcher = watch(clientPath, { recursive: true }, (_ev, filename) => {
|
|
9049
9093
|
if (!filename)
|
|
9050
9094
|
return;
|
|
9051
9095
|
const name = String(filename);
|
|
9096
|
+
if (isWatchNoise(name))
|
|
9097
|
+
return;
|
|
9052
9098
|
if (name.includes(".reroute") || name.includes("node_modules"))
|
|
9053
9099
|
return;
|
|
9054
9100
|
if (name.includes("routes/") || name.includes("routes\\"))
|
|
@@ -9063,7 +9109,7 @@ async function gen(args) {
|
|
|
9063
9109
|
const label = names.length === 1 ? names[0] : `${names.length} files`;
|
|
9064
9110
|
scheduleBuild(async () => {
|
|
9065
9111
|
console.log(`[reroute/watch] \uD83D\uDCE6 Client changed: ${label}`);
|
|
9066
|
-
if (names.some((n) =>
|
|
9112
|
+
if (names.some((n) => shouldRebuildClientBundle(n))) {
|
|
9067
9113
|
console.log("[reroute/watch] ├─ Rebuilding bundle...");
|
|
9068
9114
|
const bundleStart = performance.now();
|
|
9069
9115
|
try {
|
|
@@ -9091,16 +9137,42 @@ async function gen(args) {
|
|
|
9091
9137
|
configWatcher,
|
|
9092
9138
|
...envWatchers
|
|
9093
9139
|
].filter(Boolean);
|
|
9094
|
-
|
|
9095
|
-
|
|
9140
|
+
return {
|
|
9141
|
+
close() {
|
|
9142
|
+
console.log(`
|
|
9096
9143
|
[reroute/watch] \uD83D\uDED1 Stopping watch mode...`);
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9144
|
+
for (const watcher of watchers) {
|
|
9145
|
+
try {
|
|
9146
|
+
watcher?.close();
|
|
9147
|
+
} catch {}
|
|
9148
|
+
}
|
|
9101
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
|
+
`);
|
|
9102
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
|
+
});
|
|
9103
9174
|
});
|
|
9175
|
+
process.exit(0);
|
|
9104
9176
|
}
|
|
9105
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";
|
|
9106
9178
|
var init_gen = __esm(() => {
|
|
@@ -9112,6 +9184,35 @@ var init_gen = __esm(() => {
|
|
|
9112
9184
|
init_theme();
|
|
9113
9185
|
});
|
|
9114
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
|
+
|
|
9115
9216
|
// packages/cli/src/commands/lib/log.ts
|
|
9116
9217
|
function colorizeLogPrefix(text) {
|
|
9117
9218
|
let colored = text;
|
|
@@ -9162,6 +9263,17 @@ var init_log = __esm(() => {
|
|
|
9162
9263
|
});
|
|
9163
9264
|
|
|
9164
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
|
+
}
|
|
9165
9277
|
async function waitForServerReady(port = 3000, timeout = 30000) {
|
|
9166
9278
|
const startTime = Date.now();
|
|
9167
9279
|
let checkInterval = 50;
|
|
@@ -9183,7 +9295,7 @@ async function waitForServerReady(port = 3000, timeout = 30000) {
|
|
|
9183
9295
|
}
|
|
9184
9296
|
|
|
9185
9297
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/alias.js
|
|
9186
|
-
var require_alias = __commonJS((exports)
|
|
9298
|
+
var require_alias = __commonJS(function(exports) {
|
|
9187
9299
|
var alias = exports;
|
|
9188
9300
|
alias.bools = {
|
|
9189
9301
|
auto_left_margin: ["bw", "bw"],
|
|
@@ -9658,7 +9770,7 @@ var require_alias = __commonJS((exports) => {
|
|
|
9658
9770
|
});
|
|
9659
9771
|
|
|
9660
9772
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/tput.js
|
|
9661
|
-
var require_tput = __commonJS((exports, module)
|
|
9773
|
+
var require_tput = __commonJS(function(exports, module) {
|
|
9662
9774
|
var __dirname = "/Users/stewan/dev/reroute/node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib";
|
|
9663
9775
|
var assert = __require("assert");
|
|
9664
9776
|
var path3 = __require("path");
|
|
@@ -11756,7 +11868,7 @@ var require_tput = __commonJS((exports, module) => {
|
|
|
11756
11868
|
});
|
|
11757
11869
|
|
|
11758
11870
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/colors.js
|
|
11759
|
-
var require_colors = __commonJS((exports)
|
|
11871
|
+
var require_colors = __commonJS(function(exports) {
|
|
11760
11872
|
exports.match = function(r1, g1, b1) {
|
|
11761
11873
|
if (typeof r1 === "string") {
|
|
11762
11874
|
var hex = r1;
|
|
@@ -12176,7 +12288,7 @@ var require_colors = __commonJS((exports) => {
|
|
|
12176
12288
|
});
|
|
12177
12289
|
|
|
12178
12290
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/keys.js
|
|
12179
|
-
var require_keys = __commonJS((exports)
|
|
12291
|
+
var require_keys = __commonJS(function(exports) {
|
|
12180
12292
|
var EventEmitter = __require("events").EventEmitter;
|
|
12181
12293
|
function listenerCount(stream2, event) {
|
|
12182
12294
|
return EventEmitter.listenerCount ? EventEmitter.listenerCount(stream2, event) : stream2.listeners(event).length;
|
|
@@ -12533,7 +12645,7 @@ var require_keys = __commonJS((exports) => {
|
|
|
12533
12645
|
});
|
|
12534
12646
|
|
|
12535
12647
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/gpmclient.js
|
|
12536
|
-
var require_gpmclient = __commonJS((exports, module)
|
|
12648
|
+
var require_gpmclient = __commonJS(function(exports, module) {
|
|
12537
12649
|
var net = __require("net");
|
|
12538
12650
|
var fs = __require("fs");
|
|
12539
12651
|
var EventEmitter = __require("events").EventEmitter;
|
|
@@ -12608,8 +12720,8 @@ var require_gpmclient = __commonJS((exports, module) => {
|
|
|
12608
12720
|
}
|
|
12609
12721
|
var self2 = this;
|
|
12610
12722
|
if (tty) {
|
|
12611
|
-
fs.stat(GPM_SOCKET, function(err,
|
|
12612
|
-
if (err || !
|
|
12723
|
+
fs.stat(GPM_SOCKET, function(err, stat6) {
|
|
12724
|
+
if (err || !stat6.isSocket()) {
|
|
12613
12725
|
return;
|
|
12614
12726
|
}
|
|
12615
12727
|
var conf = {
|
|
@@ -12696,7 +12808,7 @@ var require_gpmclient = __commonJS((exports, module) => {
|
|
|
12696
12808
|
});
|
|
12697
12809
|
|
|
12698
12810
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/program.js
|
|
12699
|
-
var require_program = __commonJS((exports, module)
|
|
12811
|
+
var require_program = __commonJS(function(exports, module) {
|
|
12700
12812
|
var EventEmitter = __require("events").EventEmitter;
|
|
12701
12813
|
var StringDecoder = __require("string_decoder").StringDecoder;
|
|
12702
12814
|
var cp = __require("child_process");
|
|
@@ -15237,7 +15349,7 @@ var require_program = __commonJS((exports, module) => {
|
|
|
15237
15349
|
});
|
|
15238
15350
|
|
|
15239
15351
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widget.js
|
|
15240
|
-
var require_widget = __commonJS((exports)
|
|
15352
|
+
var require_widget = __commonJS(function(exports) {
|
|
15241
15353
|
var widget = exports;
|
|
15242
15354
|
widget.classes = [
|
|
15243
15355
|
"Node",
|
|
@@ -15291,7 +15403,7 @@ var require_widget = __commonJS((exports) => {
|
|
|
15291
15403
|
});
|
|
15292
15404
|
|
|
15293
15405
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/unicode.js
|
|
15294
|
-
var require_unicode = __commonJS((exports)
|
|
15406
|
+
var require_unicode = __commonJS(function(exports) {
|
|
15295
15407
|
var stringFromCharCode = String.fromCharCode;
|
|
15296
15408
|
var floor = Math.floor;
|
|
15297
15409
|
exports.charWidth = function(str, i) {
|
|
@@ -15591,7 +15703,7 @@ var require_unicode = __commonJS((exports) => {
|
|
|
15591
15703
|
});
|
|
15592
15704
|
|
|
15593
15705
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/events.js
|
|
15594
|
-
var require_events = __commonJS((exports, module)
|
|
15706
|
+
var require_events = __commonJS(function(exports, module) {
|
|
15595
15707
|
var slice = Array.prototype.slice;
|
|
15596
15708
|
function EventEmitter() {
|
|
15597
15709
|
if (!this._events)
|
|
@@ -15691,7 +15803,7 @@ var require_events = __commonJS((exports, module) => {
|
|
|
15691
15803
|
});
|
|
15692
15804
|
|
|
15693
15805
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/node.js
|
|
15694
|
-
var require_node = __commonJS((exports, module)
|
|
15806
|
+
var require_node = __commonJS(function(exports, module) {
|
|
15695
15807
|
var EventEmitter = require_events().EventEmitter;
|
|
15696
15808
|
function Node(options) {
|
|
15697
15809
|
var self2 = this;
|
|
@@ -15913,7 +16025,7 @@ var require_node = __commonJS((exports, module) => {
|
|
|
15913
16025
|
});
|
|
15914
16026
|
|
|
15915
16027
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/element.js
|
|
15916
|
-
var require_element = __commonJS((exports, module)
|
|
16028
|
+
var require_element = __commonJS(function(exports, module) {
|
|
15917
16029
|
var assert = __require("assert");
|
|
15918
16030
|
var colors = require_colors();
|
|
15919
16031
|
var unicode = require_unicode();
|
|
@@ -17826,7 +17938,7 @@ var require_element = __commonJS((exports, module) => {
|
|
|
17826
17938
|
});
|
|
17827
17939
|
|
|
17828
17940
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/box.js
|
|
17829
|
-
var require_box = __commonJS((exports, module)
|
|
17941
|
+
var require_box = __commonJS(function(exports, module) {
|
|
17830
17942
|
var Node = require_node();
|
|
17831
17943
|
var Element = require_element();
|
|
17832
17944
|
function Box(options) {
|
|
@@ -17842,7 +17954,7 @@ var require_box = __commonJS((exports, module) => {
|
|
|
17842
17954
|
});
|
|
17843
17955
|
|
|
17844
17956
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollablebox.js
|
|
17845
|
-
var require_scrollablebox = __commonJS((exports, module)
|
|
17957
|
+
var require_scrollablebox = __commonJS(function(exports, module) {
|
|
17846
17958
|
var Node = require_node();
|
|
17847
17959
|
var Box = require_box();
|
|
17848
17960
|
function ScrollableBox(options) {
|
|
@@ -18122,7 +18234,7 @@ var require_scrollablebox = __commonJS((exports, module) => {
|
|
|
18122
18234
|
});
|
|
18123
18235
|
|
|
18124
18236
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/scrollabletext.js
|
|
18125
|
-
var require_scrollabletext = __commonJS((exports, module)
|
|
18237
|
+
var require_scrollabletext = __commonJS(function(exports, module) {
|
|
18126
18238
|
var Node = require_node();
|
|
18127
18239
|
var ScrollableBox = require_scrollablebox();
|
|
18128
18240
|
function ScrollableText(options) {
|
|
@@ -18139,7 +18251,7 @@ var require_scrollabletext = __commonJS((exports, module) => {
|
|
|
18139
18251
|
});
|
|
18140
18252
|
|
|
18141
18253
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/log.js
|
|
18142
|
-
var require_log = __commonJS((exports, module)
|
|
18254
|
+
var require_log = __commonJS(function(exports, module) {
|
|
18143
18255
|
var util = __require("util");
|
|
18144
18256
|
var nextTick = global.setImmediate || process.nextTick.bind(process);
|
|
18145
18257
|
var Node = require_node();
|
|
@@ -18193,7 +18305,7 @@ var require_log = __commonJS((exports, module) => {
|
|
|
18193
18305
|
});
|
|
18194
18306
|
|
|
18195
18307
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/widgets/screen.js
|
|
18196
|
-
var require_screen = __commonJS((exports, module)
|
|
18308
|
+
var require_screen = __commonJS(function(exports, module) {
|
|
18197
18309
|
var path3 = __require("path");
|
|
18198
18310
|
var fs = __require("fs");
|
|
18199
18311
|
var cp = __require("child_process");
|
|
@@ -19902,7 +20014,7 @@ var require_screen = __commonJS((exports, module) => {
|
|
|
19902
20014
|
});
|
|
19903
20015
|
|
|
19904
20016
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/helpers.js
|
|
19905
|
-
var require_helpers = __commonJS((exports)
|
|
20017
|
+
var require_helpers = __commonJS(function(exports) {
|
|
19906
20018
|
var fs = __require("fs");
|
|
19907
20019
|
var unicode = require_unicode();
|
|
19908
20020
|
var helpers = exports;
|
|
@@ -19933,7 +20045,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
19933
20045
|
};
|
|
19934
20046
|
helpers.findFile = function(start, target) {
|
|
19935
20047
|
return function read(dir) {
|
|
19936
|
-
var files, file,
|
|
20048
|
+
var files, file, stat6, out;
|
|
19937
20049
|
if (dir === "/dev" || dir === "/sys" || dir === "/proc" || dir === "/net") {
|
|
19938
20050
|
return null;
|
|
19939
20051
|
}
|
|
@@ -19948,11 +20060,11 @@ var require_helpers = __commonJS((exports) => {
|
|
|
19948
20060
|
return (dir === "/" ? "" : dir) + "/" + file;
|
|
19949
20061
|
}
|
|
19950
20062
|
try {
|
|
19951
|
-
|
|
20063
|
+
stat6 = fs.lstatSync((dir === "/" ? "" : dir) + "/" + file);
|
|
19952
20064
|
} catch (e) {
|
|
19953
|
-
|
|
20065
|
+
stat6 = null;
|
|
19954
20066
|
}
|
|
19955
|
-
if (
|
|
20067
|
+
if (stat6 && stat6.isDirectory() && !stat6.isSymbolicLink()) {
|
|
19956
20068
|
out = read((dir === "/" ? "" : dir) + "/" + file);
|
|
19957
20069
|
if (out)
|
|
19958
20070
|
return out;
|
|
@@ -20024,7 +20136,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
20024
20136
|
});
|
|
20025
20137
|
|
|
20026
20138
|
// node_modules/.bun/blessed@0.1.81/node_modules/blessed/lib/blessed.js
|
|
20027
|
-
var require_blessed = __commonJS((exports, module)
|
|
20139
|
+
var require_blessed = __commonJS(function(exports, module) {
|
|
20028
20140
|
function blessed() {
|
|
20029
20141
|
return blessed.program.apply(null, arguments);
|
|
20030
20142
|
}
|
|
@@ -20042,7 +20154,7 @@ var require_blessed = __commonJS((exports, module) => {
|
|
|
20042
20154
|
});
|
|
20043
20155
|
|
|
20044
20156
|
// node_modules/.bun/x256@0.0.2/node_modules/x256/colors.json
|
|
20045
|
-
var require_colors2 = __commonJS((exports, module)
|
|
20157
|
+
var require_colors2 = __commonJS(function(exports, module) {
|
|
20046
20158
|
module.exports = [
|
|
20047
20159
|
"000000",
|
|
20048
20160
|
"800000",
|
|
@@ -20304,7 +20416,7 @@ var require_colors2 = __commonJS((exports, module) => {
|
|
|
20304
20416
|
});
|
|
20305
20417
|
|
|
20306
20418
|
// node_modules/.bun/x256@0.0.2/node_modules/x256/index.js
|
|
20307
|
-
var require_x256 = __commonJS((exports, module)
|
|
20419
|
+
var require_x256 = __commonJS(function(exports, module) {
|
|
20308
20420
|
var colors = require_colors2().map(function(hex) {
|
|
20309
20421
|
var r = parseInt(hex.slice(0, 2), 16);
|
|
20310
20422
|
var g = parseInt(hex.slice(2, 4), 16);
|
|
@@ -20329,7 +20441,7 @@ var require_x256 = __commonJS((exports, module) => {
|
|
|
20329
20441
|
});
|
|
20330
20442
|
|
|
20331
20443
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/utils.js
|
|
20332
|
-
var require_utils = __commonJS((exports)
|
|
20444
|
+
var require_utils = __commonJS(function(exports) {
|
|
20333
20445
|
var x256 = require_x256();
|
|
20334
20446
|
function MergeRecursive(obj1, obj2) {
|
|
20335
20447
|
if (obj1 == null) {
|
|
@@ -20387,7 +20499,7 @@ var require_utils = __commonJS((exports) => {
|
|
|
20387
20499
|
});
|
|
20388
20500
|
|
|
20389
20501
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/grid.js
|
|
20390
|
-
var require_grid = __commonJS((exports, module)
|
|
20502
|
+
var require_grid = __commonJS(function(exports, module) {
|
|
20391
20503
|
var utils = require_utils();
|
|
20392
20504
|
var widgetSpacing = 0;
|
|
20393
20505
|
function Grid(options) {
|
|
@@ -20422,7 +20534,7 @@ var require_grid = __commonJS((exports, module) => {
|
|
|
20422
20534
|
});
|
|
20423
20535
|
|
|
20424
20536
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/layout/carousel.js
|
|
20425
|
-
var require_carousel = __commonJS((exports, module)
|
|
20537
|
+
var require_carousel = __commonJS(function(exports, module) {
|
|
20426
20538
|
function Carousel(pages, options) {
|
|
20427
20539
|
this.currPage = 0;
|
|
20428
20540
|
this.pages = pages;
|
|
@@ -20491,7 +20603,7 @@ var require_carousel = __commonJS((exports, module) => {
|
|
|
20491
20603
|
});
|
|
20492
20604
|
|
|
20493
20605
|
// node_modules/.bun/drawille-blessed-contrib@1.0.0/node_modules/drawille-blessed-contrib/index.js
|
|
20494
|
-
var require_drawille_blessed_contrib = __commonJS((exports, module)
|
|
20606
|
+
var require_drawille_blessed_contrib = __commonJS(function(exports, module) {
|
|
20495
20607
|
var map = [
|
|
20496
20608
|
[1, 8],
|
|
20497
20609
|
[2, 16],
|
|
@@ -20601,7 +20713,7 @@ var require_drawille_blessed_contrib = __commonJS((exports, module) => {
|
|
|
20601
20713
|
});
|
|
20602
20714
|
|
|
20603
20715
|
// node_modules/.bun/bresenham@0.0.3/node_modules/bresenham/index.js
|
|
20604
|
-
var require_bresenham = __commonJS((exports, module)
|
|
20716
|
+
var require_bresenham = __commonJS(function(exports, module) {
|
|
20605
20717
|
module.exports = function(x0, y0, x1, y1, fn) {
|
|
20606
20718
|
if (!fn) {
|
|
20607
20719
|
var arr = [];
|
|
@@ -20640,7 +20752,7 @@ var require_bresenham = __commonJS((exports, module) => {
|
|
|
20640
20752
|
});
|
|
20641
20753
|
|
|
20642
20754
|
// node_modules/.bun/gl-matrix@2.8.1/node_modules/gl-matrix/dist/gl-matrix.js
|
|
20643
|
-
var require_gl_matrix = __commonJS((exports, module)
|
|
20755
|
+
var require_gl_matrix = __commonJS(function(exports, module) {
|
|
20644
20756
|
/*!
|
|
20645
20757
|
@fileoverview gl-matrix - High performance matrix and vector operations
|
|
20646
20758
|
@author Brandon Jones
|
|
@@ -21741,7 +21853,7 @@ var require_gl_matrix = __commonJS((exports, module) => {
|
|
|
21741
21853
|
});
|
|
21742
21854
|
|
|
21743
21855
|
// node_modules/.bun/drawille-canvas-blessed-contrib@0.1.3/node_modules/drawille-canvas-blessed-contrib/index.js
|
|
21744
|
-
var require_drawille_canvas_blessed_contrib = __commonJS((exports, module)
|
|
21856
|
+
var require_drawille_canvas_blessed_contrib = __commonJS(function(exports, module) {
|
|
21745
21857
|
var Canvas = require_drawille_blessed_contrib();
|
|
21746
21858
|
var bresenham = require_bresenham();
|
|
21747
21859
|
var glMatrix = require_gl_matrix();
|
|
@@ -21948,7 +22060,7 @@ var require_drawille_canvas_blessed_contrib = __commonJS((exports, module) => {
|
|
|
21948
22060
|
});
|
|
21949
22061
|
|
|
21950
22062
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/canvas.js
|
|
21951
|
-
var require_canvas = __commonJS((exports, module)
|
|
22063
|
+
var require_canvas = __commonJS(function(exports, module) {
|
|
21952
22064
|
var blessed = require_blessed();
|
|
21953
22065
|
var Node = blessed.Node;
|
|
21954
22066
|
var Box = blessed.Box;
|
|
@@ -21988,7 +22100,7 @@ var require_canvas = __commonJS((exports, module) => {
|
|
|
21988
22100
|
});
|
|
21989
22101
|
|
|
21990
22102
|
// node_modules/.bun/map-canvas@0.1.5/node_modules/map-canvas/map.js
|
|
21991
|
-
var require_map = __commonJS((exports, module)
|
|
22103
|
+
var require_map = __commonJS(function(exports, module) {
|
|
21992
22104
|
(function() {})();
|
|
21993
22105
|
Map2.prototype.drawBackground = function() {
|
|
21994
22106
|
this.ctx.fillStyle = "rgb(0,0,0)";
|
|
@@ -81984,7 +82096,7 @@ var require_map = __commonJS((exports, module) => {
|
|
|
81984
82096
|
});
|
|
81985
82097
|
|
|
81986
82098
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/map.js
|
|
81987
|
-
var require_map2 = __commonJS((exports, module)
|
|
82099
|
+
var require_map2 = __commonJS(function(exports, module) {
|
|
81988
82100
|
var blessed = require_blessed();
|
|
81989
82101
|
var Node = blessed.Node;
|
|
81990
82102
|
var Canvas = require_canvas();
|
|
@@ -82055,7 +82167,7 @@ var require_map2 = __commonJS((exports, module) => {
|
|
|
82055
82167
|
});
|
|
82056
82168
|
|
|
82057
82169
|
// node_modules/.bun/ansi-term@0.0.2/node_modules/ansi-term/index.js
|
|
82058
|
-
var require_ansi_term = __commonJS((exports, module)
|
|
82170
|
+
var require_ansi_term = __commonJS(function(exports, module) {
|
|
82059
82171
|
var x256 = require_x256();
|
|
82060
82172
|
function AnsiTerminal(width, height) {
|
|
82061
82173
|
this.width = width;
|
|
@@ -82161,7 +82273,7 @@ var require_ansi_term = __commonJS((exports, module) => {
|
|
|
82161
82273
|
});
|
|
82162
82274
|
|
|
82163
82275
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/gauge.js
|
|
82164
|
-
var require_gauge = __commonJS((exports, module)
|
|
82276
|
+
var require_gauge = __commonJS(function(exports, module) {
|
|
82165
82277
|
var blessed = require_blessed();
|
|
82166
82278
|
var Node = blessed.Node;
|
|
82167
82279
|
var Canvas = require_canvas();
|
|
@@ -82193,7 +82305,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82193
82305
|
};
|
|
82194
82306
|
Gauge.prototype.type = "gauge";
|
|
82195
82307
|
Gauge.prototype.setData = function(data) {
|
|
82196
|
-
if (typeof data ==
|
|
82308
|
+
if (typeof data == typeof [] && data.length > 0) {
|
|
82197
82309
|
this.setStack(data);
|
|
82198
82310
|
} else if (typeof data == "number") {
|
|
82199
82311
|
this.setPercent(data);
|
|
@@ -82231,7 +82343,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82231
82343
|
for (var i = 0;i < stack.length; i++) {
|
|
82232
82344
|
var currentStack = stack[i];
|
|
82233
82345
|
let percent;
|
|
82234
|
-
if (typeof currentStack ==
|
|
82346
|
+
if (typeof currentStack == typeof {})
|
|
82235
82347
|
percent = currentStack.percent;
|
|
82236
82348
|
else
|
|
82237
82349
|
percent = currentStack;
|
|
@@ -82260,7 +82372,7 @@ var require_gauge = __commonJS((exports, module) => {
|
|
|
82260
82372
|
});
|
|
82261
82373
|
|
|
82262
82374
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/gauge-list.js
|
|
82263
|
-
var require_gauge_list = __commonJS((exports, module)
|
|
82375
|
+
var require_gauge_list = __commonJS(function(exports, module) {
|
|
82264
82376
|
var blessed = require_blessed();
|
|
82265
82377
|
var Node = blessed.Node;
|
|
82266
82378
|
var Canvas = require_canvas();
|
|
@@ -82311,7 +82423,7 @@ var require_gauge_list = __commonJS((exports, module) => {
|
|
|
82311
82423
|
for (var i = 0;i < stack.length; i++) {
|
|
82312
82424
|
var currentStack = stack[i];
|
|
82313
82425
|
var percent;
|
|
82314
|
-
if (typeof currentStack ==
|
|
82426
|
+
if (typeof currentStack == typeof {}) {
|
|
82315
82427
|
percent = currentStack.percent;
|
|
82316
82428
|
} else {
|
|
82317
82429
|
percent = currentStack;
|
|
@@ -82338,7 +82450,7 @@ var require_gauge_list = __commonJS((exports, module) => {
|
|
|
82338
82450
|
});
|
|
82339
82451
|
|
|
82340
82452
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/lcd.js
|
|
82341
|
-
var require_lcd = __commonJS((exports, module)
|
|
82453
|
+
var require_lcd = __commonJS(function(exports, module) {
|
|
82342
82454
|
var blessed = require_blessed();
|
|
82343
82455
|
var Node = blessed.Node;
|
|
82344
82456
|
var Canvas = require_canvas();
|
|
@@ -82695,7 +82807,7 @@ var require_lcd = __commonJS((exports, module) => {
|
|
|
82695
82807
|
});
|
|
82696
82808
|
|
|
82697
82809
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/donut.js
|
|
82698
|
-
var require_donut = __commonJS((exports, module)
|
|
82810
|
+
var require_donut = __commonJS(function(exports, module) {
|
|
82699
82811
|
var blessed = require_blessed();
|
|
82700
82812
|
var Node = blessed.Node;
|
|
82701
82813
|
var Canvas = require_canvas();
|
|
@@ -82783,15 +82895,15 @@ var require_donut = __commonJS((exports, module) => {
|
|
|
82783
82895
|
c.fillText(ptext, cxx - Math.round(parseFloat(c.measureText(ptext).width / 2)) + 3, middle2);
|
|
82784
82896
|
c.fillText(label, cxx - Math.round(parseFloat(c.measureText(label).width / 2)) + 3, middle2 + radius2 + 5);
|
|
82785
82897
|
}
|
|
82786
|
-
function makeDonut(
|
|
82898
|
+
function makeDonut(stat6, which) {
|
|
82787
82899
|
var left = radius + spacing * which + radius * 2 * (which - 1);
|
|
82788
|
-
var percent =
|
|
82900
|
+
var percent = stat6.percent;
|
|
82789
82901
|
if (percent > 1.001) {
|
|
82790
82902
|
percent = parseFloat(percent / 100).toFixed(2);
|
|
82791
82903
|
}
|
|
82792
|
-
var label =
|
|
82793
|
-
var percentAltNumber =
|
|
82794
|
-
var color =
|
|
82904
|
+
var label = stat6.label;
|
|
82905
|
+
var percentAltNumber = stat6.percentAltNumber;
|
|
82906
|
+
var color = stat6.color || "green";
|
|
82795
82907
|
var cxx = left;
|
|
82796
82908
|
drawDonut(label, percent, radius, width, cxx, middle, color, percentAltNumber);
|
|
82797
82909
|
}
|
|
@@ -82825,7 +82937,7 @@ var require_donut = __commonJS((exports, module) => {
|
|
|
82825
82937
|
});
|
|
82826
82938
|
|
|
82827
82939
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/log.js
|
|
82828
|
-
var require_log2 = __commonJS((exports, module)
|
|
82940
|
+
var require_log2 = __commonJS(function(exports, module) {
|
|
82829
82941
|
var blessed = require_blessed();
|
|
82830
82942
|
var Node = blessed.Node;
|
|
82831
82943
|
var List = blessed.List;
|
|
@@ -82854,7 +82966,7 @@ var require_log2 = __commonJS((exports, module) => {
|
|
|
82854
82966
|
});
|
|
82855
82967
|
|
|
82856
82968
|
// node_modules/.bun/png-js@0.1.1/node_modules/png-js/png-node.js
|
|
82857
|
-
var require_png_node = __commonJS((exports, module)
|
|
82969
|
+
var require_png_node = __commonJS(function(exports, module) {
|
|
82858
82970
|
(function() {
|
|
82859
82971
|
var PNG, fs, zlib;
|
|
82860
82972
|
fs = __require("fs");
|
|
@@ -83135,7 +83247,7 @@ var require_png_node = __commonJS((exports, module) => {
|
|
|
83135
83247
|
});
|
|
83136
83248
|
|
|
83137
83249
|
// node_modules/.bun/charm@0.1.2/node_modules/charm/lib/encode.js
|
|
83138
|
-
var require_encode = __commonJS((exports, module)
|
|
83250
|
+
var require_encode = __commonJS(function(exports, module) {
|
|
83139
83251
|
var encode = module.exports = function(xs) {
|
|
83140
83252
|
function bytes(s) {
|
|
83141
83253
|
if (typeof s === "string") {
|
|
@@ -83154,7 +83266,7 @@ var require_encode = __commonJS((exports, module) => {
|
|
|
83154
83266
|
});
|
|
83155
83267
|
|
|
83156
83268
|
// node_modules/.bun/charm@0.1.2/node_modules/charm/index.js
|
|
83157
|
-
var require_charm = __commonJS((exports, module)
|
|
83269
|
+
var require_charm = __commonJS(function(exports, module) {
|
|
83158
83270
|
var tty = __require("tty");
|
|
83159
83271
|
var encode = require_encode();
|
|
83160
83272
|
var Stream = __require("stream").Stream;
|
|
@@ -83423,7 +83535,7 @@ var require_charm = __commonJS((exports, module) => {
|
|
|
83423
83535
|
});
|
|
83424
83536
|
|
|
83425
83537
|
// node_modules/.bun/buffers@0.1.1/node_modules/buffers/index.js
|
|
83426
|
-
var require_buffers = __commonJS((exports, module)
|
|
83538
|
+
var require_buffers = __commonJS(function(exports, module) {
|
|
83427
83539
|
module.exports = Buffers;
|
|
83428
83540
|
function Buffers(bufs) {
|
|
83429
83541
|
if (!(this instanceof Buffers))
|
|
@@ -83633,7 +83745,7 @@ var require_buffers = __commonJS((exports, module) => {
|
|
|
83633
83745
|
});
|
|
83634
83746
|
|
|
83635
83747
|
// node_modules/.bun/wordwrap@0.0.3/node_modules/wordwrap/index.js
|
|
83636
|
-
var require_wordwrap = __commonJS((exports, module)
|
|
83748
|
+
var require_wordwrap = __commonJS(function(exports, module) {
|
|
83637
83749
|
var wordwrap = module.exports = function(start, stop, params) {
|
|
83638
83750
|
if (typeof start === "object") {
|
|
83639
83751
|
params = start;
|
|
@@ -83694,7 +83806,7 @@ var require_wordwrap = __commonJS((exports, module) => {
|
|
|
83694
83806
|
});
|
|
83695
83807
|
|
|
83696
83808
|
// node_modules/.bun/optimist@0.2.8/node_modules/optimist/index.js
|
|
83697
|
-
var require_optimist = __commonJS((exports, module)
|
|
83809
|
+
var require_optimist = __commonJS(function(exports, module) {
|
|
83698
83810
|
var path3 = __require("path");
|
|
83699
83811
|
var wordwrap = require_wordwrap();
|
|
83700
83812
|
var inst = Argv(process.argv.slice(2));
|
|
@@ -84036,7 +84148,7 @@ var require_optimist = __commonJS((exports, module) => {
|
|
|
84036
84148
|
});
|
|
84037
84149
|
|
|
84038
84150
|
// node_modules/.bun/event-stream@0.9.8/node_modules/event-stream/index.js
|
|
84039
|
-
var require_event_stream = __commonJS((exports)
|
|
84151
|
+
var require_event_stream = __commonJS(function(exports) {
|
|
84040
84152
|
var Stream = __require("stream").Stream;
|
|
84041
84153
|
var es = exports;
|
|
84042
84154
|
es.Stream = Stream;
|
|
@@ -84461,7 +84573,7 @@ var require_event_stream = __commonJS((exports) => {
|
|
|
84461
84573
|
});
|
|
84462
84574
|
|
|
84463
84575
|
// node_modules/.bun/picture-tuber@1.0.2/node_modules/picture-tuber/index.js
|
|
84464
|
-
var require_picture_tuber = __commonJS((exports, module)
|
|
84576
|
+
var require_picture_tuber = __commonJS(function(exports, module) {
|
|
84465
84577
|
var PNG = require_png_node();
|
|
84466
84578
|
var charm = require_charm();
|
|
84467
84579
|
var x256 = require_x256();
|
|
@@ -84502,14 +84614,14 @@ var require_picture_tuber = __commonJS((exports, module) => {
|
|
|
84502
84614
|
});
|
|
84503
84615
|
|
|
84504
84616
|
// node_modules/.bun/isarray@0.0.1/node_modules/isarray/index.js
|
|
84505
|
-
var require_isarray = __commonJS((exports, module)
|
|
84617
|
+
var require_isarray = __commonJS(function(exports, module) {
|
|
84506
84618
|
module.exports = Array.isArray || function(arr) {
|
|
84507
84619
|
return Object.prototype.toString.call(arr) == "[object Array]";
|
|
84508
84620
|
};
|
|
84509
84621
|
});
|
|
84510
84622
|
|
|
84511
84623
|
// node_modules/.bun/core-util-is@1.0.3/node_modules/core-util-is/lib/util.js
|
|
84512
|
-
var require_util = __commonJS((exports)
|
|
84624
|
+
var require_util = __commonJS(function(exports) {
|
|
84513
84625
|
function isArray(arg) {
|
|
84514
84626
|
if (Array.isArray) {
|
|
84515
84627
|
return Array.isArray(arg);
|
|
@@ -84576,7 +84688,7 @@ var require_util = __commonJS((exports) => {
|
|
|
84576
84688
|
});
|
|
84577
84689
|
|
|
84578
84690
|
// node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits_browser.js
|
|
84579
|
-
var require_inherits_browser = __commonJS((exports, module)
|
|
84691
|
+
var require_inherits_browser = __commonJS(function(exports, module) {
|
|
84580
84692
|
if (typeof Object.create === "function") {
|
|
84581
84693
|
module.exports = function inherits(ctor, superCtor) {
|
|
84582
84694
|
if (superCtor) {
|
|
@@ -84605,7 +84717,7 @@ var require_inherits_browser = __commonJS((exports, module) => {
|
|
|
84605
84717
|
});
|
|
84606
84718
|
|
|
84607
84719
|
// node_modules/.bun/inherits@2.0.4/node_modules/inherits/inherits.js
|
|
84608
|
-
var require_inherits = __commonJS((exports, module)
|
|
84720
|
+
var require_inherits = __commonJS(function(exports, module) {
|
|
84609
84721
|
try {
|
|
84610
84722
|
util = __require("util");
|
|
84611
84723
|
if (typeof util.inherits !== "function")
|
|
@@ -84618,7 +84730,7 @@ var require_inherits = __commonJS((exports, module) => {
|
|
|
84618
84730
|
});
|
|
84619
84731
|
|
|
84620
84732
|
// node_modules/.bun/string_decoder@0.10.31/node_modules/string_decoder/index.js
|
|
84621
|
-
var require_string_decoder = __commonJS((exports)
|
|
84733
|
+
var require_string_decoder = __commonJS(function(exports) {
|
|
84622
84734
|
var Buffer2 = __require("buffer").Buffer;
|
|
84623
84735
|
var isBufferEncoding = Buffer2.isEncoding || function(encoding) {
|
|
84624
84736
|
switch (encoding && encoding.toLowerCase()) {
|
|
@@ -84754,7 +84866,7 @@ var require_string_decoder = __commonJS((exports) => {
|
|
|
84754
84866
|
});
|
|
84755
84867
|
|
|
84756
84868
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_readable.js
|
|
84757
|
-
var require__stream_readable = __commonJS((exports, module)
|
|
84869
|
+
var require__stream_readable = __commonJS(function(exports, module) {
|
|
84758
84870
|
module.exports = Readable;
|
|
84759
84871
|
var isArray = require_isarray();
|
|
84760
84872
|
var Buffer2 = __require("buffer").Buffer;
|
|
@@ -85361,7 +85473,7 @@ var require__stream_readable = __commonJS((exports, module) => {
|
|
|
85361
85473
|
});
|
|
85362
85474
|
|
|
85363
85475
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_duplex.js
|
|
85364
|
-
var require__stream_duplex = __commonJS((exports, module)
|
|
85476
|
+
var require__stream_duplex = __commonJS(function(exports, module) {
|
|
85365
85477
|
module.exports = Duplex;
|
|
85366
85478
|
var objectKeys = Object.keys || function(obj) {
|
|
85367
85479
|
var keys = [];
|
|
@@ -85405,7 +85517,7 @@ var require__stream_duplex = __commonJS((exports, module) => {
|
|
|
85405
85517
|
});
|
|
85406
85518
|
|
|
85407
85519
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_writable.js
|
|
85408
|
-
var require__stream_writable = __commonJS((exports, module)
|
|
85520
|
+
var require__stream_writable = __commonJS(function(exports, module) {
|
|
85409
85521
|
module.exports = Writable;
|
|
85410
85522
|
var Buffer2 = __require("buffer").Buffer;
|
|
85411
85523
|
Writable.WritableState = WritableState;
|
|
@@ -85633,7 +85745,7 @@ var require__stream_writable = __commonJS((exports, module) => {
|
|
|
85633
85745
|
});
|
|
85634
85746
|
|
|
85635
85747
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_transform.js
|
|
85636
|
-
var require__stream_transform = __commonJS((exports, module)
|
|
85748
|
+
var require__stream_transform = __commonJS(function(exports, module) {
|
|
85637
85749
|
module.exports = Transform;
|
|
85638
85750
|
var Duplex = require__stream_duplex();
|
|
85639
85751
|
var util = require_util();
|
|
@@ -85725,7 +85837,7 @@ var require__stream_transform = __commonJS((exports, module) => {
|
|
|
85725
85837
|
});
|
|
85726
85838
|
|
|
85727
85839
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/lib/_stream_passthrough.js
|
|
85728
|
-
var require__stream_passthrough = __commonJS((exports, module)
|
|
85840
|
+
var require__stream_passthrough = __commonJS(function(exports, module) {
|
|
85729
85841
|
module.exports = PassThrough;
|
|
85730
85842
|
var Transform = require__stream_transform();
|
|
85731
85843
|
var util = require_util();
|
|
@@ -85742,7 +85854,7 @@ var require__stream_passthrough = __commonJS((exports, module) => {
|
|
|
85742
85854
|
});
|
|
85743
85855
|
|
|
85744
85856
|
// node_modules/.bun/readable-stream@1.0.34/node_modules/readable-stream/readable.js
|
|
85745
|
-
var require_readable = __commonJS((exports, module)
|
|
85857
|
+
var require_readable = __commonJS(function(exports, module) {
|
|
85746
85858
|
var Stream = __require("stream");
|
|
85747
85859
|
exports = module.exports = require__stream_readable();
|
|
85748
85860
|
exports.Stream = Stream;
|
|
@@ -85757,7 +85869,7 @@ var require_readable = __commonJS((exports, module) => {
|
|
|
85757
85869
|
});
|
|
85758
85870
|
|
|
85759
85871
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/ReadableStream.js
|
|
85760
|
-
var require_ReadableStream = __commonJS((exports, module)
|
|
85872
|
+
var require_ReadableStream = __commonJS(function(exports, module) {
|
|
85761
85873
|
var Stream = require_readable();
|
|
85762
85874
|
var util = __require("util");
|
|
85763
85875
|
module.exports = ReadableStream;
|
|
@@ -85776,7 +85888,7 @@ var require_ReadableStream = __commonJS((exports, module) => {
|
|
|
85776
85888
|
});
|
|
85777
85889
|
|
|
85778
85890
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/lib/WritableStream.js
|
|
85779
|
-
var require_WritableStream = __commonJS((exports, module)
|
|
85891
|
+
var require_WritableStream = __commonJS(function(exports, module) {
|
|
85780
85892
|
var Stream = require_readable();
|
|
85781
85893
|
var util = __require("util");
|
|
85782
85894
|
module.exports = WritableStream;
|
|
@@ -85811,13 +85923,13 @@ var require_WritableStream = __commonJS((exports, module) => {
|
|
|
85811
85923
|
});
|
|
85812
85924
|
|
|
85813
85925
|
// node_modules/.bun/memory-streams@0.1.3/node_modules/memory-streams/index.js
|
|
85814
|
-
var require_memory_streams = __commonJS((exports, module)
|
|
85926
|
+
var require_memory_streams = __commonJS(function(exports, module) {
|
|
85815
85927
|
exports.ReadableStream = require_ReadableStream();
|
|
85816
85928
|
exports.WritableStream = require_WritableStream();
|
|
85817
85929
|
});
|
|
85818
85930
|
|
|
85819
85931
|
// node_modules/.bun/memorystream@0.3.1/node_modules/memorystream/index.js
|
|
85820
|
-
var require_memorystream = __commonJS((exports, module)
|
|
85932
|
+
var require_memorystream = __commonJS(function(exports, module) {
|
|
85821
85933
|
var STREAM = __require("stream");
|
|
85822
85934
|
var UTIL = __require("util");
|
|
85823
85935
|
var StringDecoder = __require("string_decoder").StringDecoder;
|
|
@@ -85965,7 +86077,7 @@ var require_memorystream = __commonJS((exports, module) => {
|
|
|
85965
86077
|
});
|
|
85966
86078
|
|
|
85967
86079
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/picture.js
|
|
85968
|
-
var require_picture = __commonJS((exports, module)
|
|
86080
|
+
var require_picture = __commonJS(function(exports, module) {
|
|
85969
86081
|
var blessed = require_blessed();
|
|
85970
86082
|
var Node = blessed.Node;
|
|
85971
86083
|
var Box = blessed.Box;
|
|
@@ -86020,7 +86132,7 @@ var require_picture = __commonJS((exports, module) => {
|
|
|
86020
86132
|
});
|
|
86021
86133
|
|
|
86022
86134
|
// node_modules/.bun/sparkline@0.1.2/node_modules/sparkline/lib/sparkline.js
|
|
86023
|
-
var require_sparkline = __commonJS((exports, module)
|
|
86135
|
+
var require_sparkline = __commonJS(function(exports, module) {
|
|
86024
86136
|
(function(window2) {
|
|
86025
86137
|
var sparkline, ticks = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
|
|
86026
86138
|
sparkline = function(numbers, options) {
|
|
@@ -86049,7 +86161,7 @@ var require_sparkline = __commonJS((exports, module) => {
|
|
|
86049
86161
|
});
|
|
86050
86162
|
|
|
86051
86163
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/sparkline.js
|
|
86052
|
-
var require_sparkline2 = __commonJS((exports, module)
|
|
86164
|
+
var require_sparkline2 = __commonJS(function(exports, module) {
|
|
86053
86165
|
var blessed = require_blessed();
|
|
86054
86166
|
var Node = blessed.Node;
|
|
86055
86167
|
var Box = blessed.Box;
|
|
@@ -86106,14 +86218,14 @@ var require_sparkline2 = __commonJS((exports, module) => {
|
|
|
86106
86218
|
});
|
|
86107
86219
|
|
|
86108
86220
|
// node_modules/.bun/ansi-regex@2.1.1/node_modules/ansi-regex/index.js
|
|
86109
|
-
var require_ansi_regex = __commonJS((exports, module)
|
|
86221
|
+
var require_ansi_regex = __commonJS(function(exports, module) {
|
|
86110
86222
|
module.exports = function() {
|
|
86111
86223
|
return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
|
|
86112
86224
|
};
|
|
86113
86225
|
});
|
|
86114
86226
|
|
|
86115
86227
|
// node_modules/.bun/strip-ansi@3.0.1/node_modules/strip-ansi/index.js
|
|
86116
|
-
var require_strip_ansi = __commonJS((exports, module)
|
|
86228
|
+
var require_strip_ansi = __commonJS(function(exports, module) {
|
|
86117
86229
|
var ansiRegex = require_ansi_regex()();
|
|
86118
86230
|
module.exports = function(str) {
|
|
86119
86231
|
return typeof str === "string" ? str.replace(ansiRegex, "") : str;
|
|
@@ -86121,7 +86233,7 @@ var require_strip_ansi = __commonJS((exports, module) => {
|
|
|
86121
86233
|
});
|
|
86122
86234
|
|
|
86123
86235
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/table.js
|
|
86124
|
-
var require_table = __commonJS((exports, module)
|
|
86236
|
+
var require_table = __commonJS(function(exports, module) {
|
|
86125
86237
|
var blessed = require_blessed();
|
|
86126
86238
|
var Node = blessed.Node;
|
|
86127
86239
|
var Box = blessed.Box;
|
|
@@ -86237,7 +86349,7 @@ var require_table = __commonJS((exports, module) => {
|
|
|
86237
86349
|
});
|
|
86238
86350
|
|
|
86239
86351
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/tree.js
|
|
86240
|
-
var require_tree = __commonJS((exports, module)
|
|
86352
|
+
var require_tree = __commonJS(function(exports, module) {
|
|
86241
86353
|
var blessed = require_blessed();
|
|
86242
86354
|
var Node = blessed.Node;
|
|
86243
86355
|
var Box = blessed.Box;
|
|
@@ -86370,7 +86482,7 @@ var require_tree = __commonJS((exports, module) => {
|
|
|
86370
86482
|
});
|
|
86371
86483
|
|
|
86372
86484
|
// node_modules/.bun/marked@4.3.0/node_modules/marked/lib/marked.cjs
|
|
86373
|
-
var require_marked = __commonJS((exports)
|
|
86485
|
+
var require_marked = __commonJS(function(exports) {
|
|
86374
86486
|
function _defineProperties(target, props) {
|
|
86375
86487
|
for (var i = 0;i < props.length; i++) {
|
|
86376
86488
|
var descriptor = props[i];
|
|
@@ -88684,7 +88796,7 @@ Please report this to https://github.com/markedjs/marked.`;
|
|
|
88684
88796
|
});
|
|
88685
88797
|
|
|
88686
88798
|
// node_modules/.bun/esprima@4.0.1/node_modules/esprima/dist/esprima.js
|
|
88687
|
-
var require_esprima = __commonJS((exports, module)
|
|
88799
|
+
var require_esprima = __commonJS(function(exports, module) {
|
|
88688
88800
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
88689
88801
|
if (typeof exports === "object" && typeof module === "object")
|
|
88690
88802
|
module.exports = factory();
|
|
@@ -94824,7 +94936,7 @@ var require_esprima = __commonJS((exports, module) => {
|
|
|
94824
94936
|
});
|
|
94825
94937
|
|
|
94826
94938
|
// node_modules/.bun/redeyed@2.1.1/node_modules/redeyed/redeyed.js
|
|
94827
|
-
var require_redeyed = __commonJS((exports, module)
|
|
94939
|
+
var require_redeyed = __commonJS(function(exports, module) {
|
|
94828
94940
|
(function() {
|
|
94829
94941
|
var esprima;
|
|
94830
94942
|
var exportFn;
|
|
@@ -95064,7 +95176,7 @@ Should be of format "before:after"`);
|
|
|
95064
95176
|
});
|
|
95065
95177
|
|
|
95066
95178
|
// node_modules/.bun/ansicolors@0.3.2/node_modules/ansicolors/ansicolors.js
|
|
95067
|
-
var require_ansicolors = __commonJS((exports, module)
|
|
95179
|
+
var require_ansicolors = __commonJS(function(exports, module) {
|
|
95068
95180
|
var colorNums = {
|
|
95069
95181
|
white: 37,
|
|
95070
95182
|
black: 30,
|
|
@@ -95124,7 +95236,7 @@ var require_ansicolors = __commonJS((exports, module) => {
|
|
|
95124
95236
|
});
|
|
95125
95237
|
|
|
95126
95238
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/themes/default.js
|
|
95127
|
-
var require_default = __commonJS((exports, module)
|
|
95239
|
+
var require_default = __commonJS(function(exports, module) {
|
|
95128
95240
|
var colors = require_ansicolors();
|
|
95129
95241
|
module.exports = {
|
|
95130
95242
|
Boolean: {
|
|
@@ -95296,7 +95408,7 @@ var require_default = __commonJS((exports, module) => {
|
|
|
95296
95408
|
});
|
|
95297
95409
|
|
|
95298
95410
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlight.js
|
|
95299
|
-
var require_highlight = __commonJS((exports, module)
|
|
95411
|
+
var require_highlight = __commonJS(function(exports, module) {
|
|
95300
95412
|
var redeyed = require_redeyed();
|
|
95301
95413
|
var theme = require_default();
|
|
95302
95414
|
var colors = require_ansicolors();
|
|
@@ -95368,7 +95480,7 @@ var require_highlight = __commonJS((exports, module) => {
|
|
|
95368
95480
|
});
|
|
95369
95481
|
|
|
95370
95482
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFile.js
|
|
95371
|
-
var require_highlightFile = __commonJS((exports, module)
|
|
95483
|
+
var require_highlightFile = __commonJS(function(exports, module) {
|
|
95372
95484
|
var fs = __require("fs");
|
|
95373
95485
|
var highlight = require_highlight();
|
|
95374
95486
|
function isFunction(obj) {
|
|
@@ -95393,7 +95505,7 @@ var require_highlightFile = __commonJS((exports, module) => {
|
|
|
95393
95505
|
});
|
|
95394
95506
|
|
|
95395
95507
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/lib/highlightFileSync.js
|
|
95396
|
-
var require_highlightFileSync = __commonJS((exports, module)
|
|
95508
|
+
var require_highlightFileSync = __commonJS(function(exports, module) {
|
|
95397
95509
|
var fs = __require("fs");
|
|
95398
95510
|
var highlight = require_highlight();
|
|
95399
95511
|
module.exports = function highlightFileSync(fullPath, opts) {
|
|
@@ -95404,7 +95516,7 @@ var require_highlightFileSync = __commonJS((exports, module) => {
|
|
|
95404
95516
|
});
|
|
95405
95517
|
|
|
95406
95518
|
// node_modules/.bun/cardinal@2.1.1/node_modules/cardinal/cardinal.js
|
|
95407
|
-
var require_cardinal = __commonJS((exports, module)
|
|
95519
|
+
var require_cardinal = __commonJS(function(exports, module) {
|
|
95408
95520
|
module.exports = {
|
|
95409
95521
|
highlight: require_highlight(),
|
|
95410
95522
|
highlightFile: require_highlightFile(),
|
|
@@ -95413,13 +95525,13 @@ var require_cardinal = __commonJS((exports, module) => {
|
|
|
95413
95525
|
});
|
|
95414
95526
|
|
|
95415
95527
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js
|
|
95416
|
-
var require__freeGlobal = __commonJS((exports, module)
|
|
95528
|
+
var require__freeGlobal = __commonJS(function(exports, module) {
|
|
95417
95529
|
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
|
|
95418
95530
|
module.exports = freeGlobal;
|
|
95419
95531
|
});
|
|
95420
95532
|
|
|
95421
95533
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js
|
|
95422
|
-
var require__root = __commonJS((exports, module)
|
|
95534
|
+
var require__root = __commonJS(function(exports, module) {
|
|
95423
95535
|
var freeGlobal = require__freeGlobal();
|
|
95424
95536
|
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
95425
95537
|
var root = freeGlobal || freeSelf || Function("return this")();
|
|
@@ -95427,14 +95539,14 @@ var require__root = __commonJS((exports, module) => {
|
|
|
95427
95539
|
});
|
|
95428
95540
|
|
|
95429
95541
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js
|
|
95430
|
-
var require__Symbol = __commonJS((exports, module)
|
|
95542
|
+
var require__Symbol = __commonJS(function(exports, module) {
|
|
95431
95543
|
var root = require__root();
|
|
95432
95544
|
var Symbol2 = root.Symbol;
|
|
95433
95545
|
module.exports = Symbol2;
|
|
95434
95546
|
});
|
|
95435
95547
|
|
|
95436
95548
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_copyArray.js
|
|
95437
|
-
var require__copyArray = __commonJS((exports, module)
|
|
95549
|
+
var require__copyArray = __commonJS(function(exports, module) {
|
|
95438
95550
|
function copyArray(source, array) {
|
|
95439
95551
|
var index = -1, length = source.length;
|
|
95440
95552
|
array || (array = Array(length));
|
|
@@ -95447,7 +95559,7 @@ var require__copyArray = __commonJS((exports, module) => {
|
|
|
95447
95559
|
});
|
|
95448
95560
|
|
|
95449
95561
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js
|
|
95450
|
-
var require__getRawTag = __commonJS((exports, module)
|
|
95562
|
+
var require__getRawTag = __commonJS(function(exports, module) {
|
|
95451
95563
|
var Symbol2 = require__Symbol();
|
|
95452
95564
|
var objectProto = Object.prototype;
|
|
95453
95565
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
@@ -95473,7 +95585,7 @@ var require__getRawTag = __commonJS((exports, module) => {
|
|
|
95473
95585
|
});
|
|
95474
95586
|
|
|
95475
95587
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js
|
|
95476
|
-
var require__objectToString = __commonJS((exports, module)
|
|
95588
|
+
var require__objectToString = __commonJS(function(exports, module) {
|
|
95477
95589
|
var objectProto = Object.prototype;
|
|
95478
95590
|
var nativeObjectToString = objectProto.toString;
|
|
95479
95591
|
function objectToString(value) {
|
|
@@ -95483,7 +95595,7 @@ var require__objectToString = __commonJS((exports, module) => {
|
|
|
95483
95595
|
});
|
|
95484
95596
|
|
|
95485
95597
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js
|
|
95486
|
-
var require__baseGetTag = __commonJS((exports, module)
|
|
95598
|
+
var require__baseGetTag = __commonJS(function(exports, module) {
|
|
95487
95599
|
var Symbol2 = require__Symbol();
|
|
95488
95600
|
var getRawTag = require__getRawTag();
|
|
95489
95601
|
var objectToString = require__objectToString();
|
|
@@ -95500,7 +95612,7 @@ var require__baseGetTag = __commonJS((exports, module) => {
|
|
|
95500
95612
|
});
|
|
95501
95613
|
|
|
95502
95614
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js
|
|
95503
|
-
var require_isObject = __commonJS((exports, module)
|
|
95615
|
+
var require_isObject = __commonJS(function(exports, module) {
|
|
95504
95616
|
function isObject(value) {
|
|
95505
95617
|
var type = typeof value;
|
|
95506
95618
|
return value != null && (type == "object" || type == "function");
|
|
@@ -95509,7 +95621,7 @@ var require_isObject = __commonJS((exports, module) => {
|
|
|
95509
95621
|
});
|
|
95510
95622
|
|
|
95511
95623
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js
|
|
95512
|
-
var require_isFunction = __commonJS((exports, module)
|
|
95624
|
+
var require_isFunction = __commonJS(function(exports, module) {
|
|
95513
95625
|
var baseGetTag = require__baseGetTag();
|
|
95514
95626
|
var isObject = require_isObject();
|
|
95515
95627
|
var asyncTag = "[object AsyncFunction]";
|
|
@@ -95527,14 +95639,14 @@ var require_isFunction = __commonJS((exports, module) => {
|
|
|
95527
95639
|
});
|
|
95528
95640
|
|
|
95529
95641
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js
|
|
95530
|
-
var require__coreJsData = __commonJS((exports, module)
|
|
95642
|
+
var require__coreJsData = __commonJS(function(exports, module) {
|
|
95531
95643
|
var root = require__root();
|
|
95532
95644
|
var coreJsData = root["__core-js_shared__"];
|
|
95533
95645
|
module.exports = coreJsData;
|
|
95534
95646
|
});
|
|
95535
95647
|
|
|
95536
95648
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js
|
|
95537
|
-
var require__isMasked = __commonJS((exports, module)
|
|
95649
|
+
var require__isMasked = __commonJS(function(exports, module) {
|
|
95538
95650
|
var coreJsData = require__coreJsData();
|
|
95539
95651
|
var maskSrcKey = function() {
|
|
95540
95652
|
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
|
|
@@ -95547,7 +95659,7 @@ var require__isMasked = __commonJS((exports, module) => {
|
|
|
95547
95659
|
});
|
|
95548
95660
|
|
|
95549
95661
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js
|
|
95550
|
-
var require__toSource = __commonJS((exports, module)
|
|
95662
|
+
var require__toSource = __commonJS(function(exports, module) {
|
|
95551
95663
|
var funcProto = Function.prototype;
|
|
95552
95664
|
var funcToString = funcProto.toString;
|
|
95553
95665
|
function toSource(func) {
|
|
@@ -95565,7 +95677,7 @@ var require__toSource = __commonJS((exports, module) => {
|
|
|
95565
95677
|
});
|
|
95566
95678
|
|
|
95567
95679
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js
|
|
95568
|
-
var require__baseIsNative = __commonJS((exports, module)
|
|
95680
|
+
var require__baseIsNative = __commonJS(function(exports, module) {
|
|
95569
95681
|
var isFunction = require_isFunction();
|
|
95570
95682
|
var isMasked = require__isMasked();
|
|
95571
95683
|
var isObject = require_isObject();
|
|
@@ -95588,7 +95700,7 @@ var require__baseIsNative = __commonJS((exports, module) => {
|
|
|
95588
95700
|
});
|
|
95589
95701
|
|
|
95590
95702
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js
|
|
95591
|
-
var require__getValue = __commonJS((exports, module)
|
|
95703
|
+
var require__getValue = __commonJS(function(exports, module) {
|
|
95592
95704
|
function getValue(object, key) {
|
|
95593
95705
|
return object == null ? undefined : object[key];
|
|
95594
95706
|
}
|
|
@@ -95596,7 +95708,7 @@ var require__getValue = __commonJS((exports, module) => {
|
|
|
95596
95708
|
});
|
|
95597
95709
|
|
|
95598
95710
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js
|
|
95599
|
-
var require__getNative = __commonJS((exports, module)
|
|
95711
|
+
var require__getNative = __commonJS(function(exports, module) {
|
|
95600
95712
|
var baseIsNative = require__baseIsNative();
|
|
95601
95713
|
var getValue = require__getValue();
|
|
95602
95714
|
function getNative(object, key) {
|
|
@@ -95607,7 +95719,7 @@ var require__getNative = __commonJS((exports, module) => {
|
|
|
95607
95719
|
});
|
|
95608
95720
|
|
|
95609
95721
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_DataView.js
|
|
95610
|
-
var require__DataView = __commonJS((exports, module)
|
|
95722
|
+
var require__DataView = __commonJS(function(exports, module) {
|
|
95611
95723
|
var getNative = require__getNative();
|
|
95612
95724
|
var root = require__root();
|
|
95613
95725
|
var DataView = getNative(root, "DataView");
|
|
@@ -95615,7 +95727,7 @@ var require__DataView = __commonJS((exports, module) => {
|
|
|
95615
95727
|
});
|
|
95616
95728
|
|
|
95617
95729
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js
|
|
95618
|
-
var require__Map = __commonJS((exports, module)
|
|
95730
|
+
var require__Map = __commonJS(function(exports, module) {
|
|
95619
95731
|
var getNative = require__getNative();
|
|
95620
95732
|
var root = require__root();
|
|
95621
95733
|
var Map2 = getNative(root, "Map");
|
|
@@ -95623,7 +95735,7 @@ var require__Map = __commonJS((exports, module) => {
|
|
|
95623
95735
|
});
|
|
95624
95736
|
|
|
95625
95737
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Promise.js
|
|
95626
|
-
var require__Promise = __commonJS((exports, module)
|
|
95738
|
+
var require__Promise = __commonJS(function(exports, module) {
|
|
95627
95739
|
var getNative = require__getNative();
|
|
95628
95740
|
var root = require__root();
|
|
95629
95741
|
var Promise2 = getNative(root, "Promise");
|
|
@@ -95631,7 +95743,7 @@ var require__Promise = __commonJS((exports, module) => {
|
|
|
95631
95743
|
});
|
|
95632
95744
|
|
|
95633
95745
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Set.js
|
|
95634
|
-
var require__Set = __commonJS((exports, module)
|
|
95746
|
+
var require__Set = __commonJS(function(exports, module) {
|
|
95635
95747
|
var getNative = require__getNative();
|
|
95636
95748
|
var root = require__root();
|
|
95637
95749
|
var Set2 = getNative(root, "Set");
|
|
@@ -95639,7 +95751,7 @@ var require__Set = __commonJS((exports, module) => {
|
|
|
95639
95751
|
});
|
|
95640
95752
|
|
|
95641
95753
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_WeakMap.js
|
|
95642
|
-
var require__WeakMap = __commonJS((exports, module)
|
|
95754
|
+
var require__WeakMap = __commonJS(function(exports, module) {
|
|
95643
95755
|
var getNative = require__getNative();
|
|
95644
95756
|
var root = require__root();
|
|
95645
95757
|
var WeakMap2 = getNative(root, "WeakMap");
|
|
@@ -95647,7 +95759,7 @@ var require__WeakMap = __commonJS((exports, module) => {
|
|
|
95647
95759
|
});
|
|
95648
95760
|
|
|
95649
95761
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getTag.js
|
|
95650
|
-
var require__getTag = __commonJS((exports, module)
|
|
95762
|
+
var require__getTag = __commonJS(function(exports, module) {
|
|
95651
95763
|
var DataView = require__DataView();
|
|
95652
95764
|
var Map2 = require__Map();
|
|
95653
95765
|
var Promise2 = require__Promise();
|
|
@@ -95691,7 +95803,7 @@ var require__getTag = __commonJS((exports, module) => {
|
|
|
95691
95803
|
});
|
|
95692
95804
|
|
|
95693
95805
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isLength.js
|
|
95694
|
-
var require_isLength = __commonJS((exports, module)
|
|
95806
|
+
var require_isLength = __commonJS(function(exports, module) {
|
|
95695
95807
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
95696
95808
|
function isLength(value) {
|
|
95697
95809
|
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
@@ -95700,7 +95812,7 @@ var require_isLength = __commonJS((exports, module) => {
|
|
|
95700
95812
|
});
|
|
95701
95813
|
|
|
95702
95814
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArrayLike.js
|
|
95703
|
-
var require_isArrayLike = __commonJS((exports, module)
|
|
95815
|
+
var require_isArrayLike = __commonJS(function(exports, module) {
|
|
95704
95816
|
var isFunction = require_isFunction();
|
|
95705
95817
|
var isLength = require_isLength();
|
|
95706
95818
|
function isArrayLike(value) {
|
|
@@ -95710,13 +95822,13 @@ var require_isArrayLike = __commonJS((exports, module) => {
|
|
|
95710
95822
|
});
|
|
95711
95823
|
|
|
95712
95824
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArray.js
|
|
95713
|
-
var require_isArray = __commonJS((exports, module)
|
|
95825
|
+
var require_isArray = __commonJS(function(exports, module) {
|
|
95714
95826
|
var isArray = Array.isArray;
|
|
95715
95827
|
module.exports = isArray;
|
|
95716
95828
|
});
|
|
95717
95829
|
|
|
95718
95830
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObjectLike.js
|
|
95719
|
-
var require_isObjectLike = __commonJS((exports, module)
|
|
95831
|
+
var require_isObjectLike = __commonJS(function(exports, module) {
|
|
95720
95832
|
function isObjectLike(value) {
|
|
95721
95833
|
return value != null && typeof value == "object";
|
|
95722
95834
|
}
|
|
@@ -95724,7 +95836,7 @@ var require_isObjectLike = __commonJS((exports, module) => {
|
|
|
95724
95836
|
});
|
|
95725
95837
|
|
|
95726
95838
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isString.js
|
|
95727
|
-
var require_isString = __commonJS((exports, module)
|
|
95839
|
+
var require_isString = __commonJS(function(exports, module) {
|
|
95728
95840
|
var baseGetTag = require__baseGetTag();
|
|
95729
95841
|
var isArray = require_isArray();
|
|
95730
95842
|
var isObjectLike = require_isObjectLike();
|
|
@@ -95736,7 +95848,7 @@ var require_isString = __commonJS((exports, module) => {
|
|
|
95736
95848
|
});
|
|
95737
95849
|
|
|
95738
95850
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_iteratorToArray.js
|
|
95739
|
-
var require__iteratorToArray = __commonJS((exports, module)
|
|
95851
|
+
var require__iteratorToArray = __commonJS(function(exports, module) {
|
|
95740
95852
|
function iteratorToArray(iterator) {
|
|
95741
95853
|
var data, result = [];
|
|
95742
95854
|
while (!(data = iterator.next()).done) {
|
|
@@ -95748,7 +95860,7 @@ var require__iteratorToArray = __commonJS((exports, module) => {
|
|
|
95748
95860
|
});
|
|
95749
95861
|
|
|
95750
95862
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapToArray.js
|
|
95751
|
-
var require__mapToArray = __commonJS((exports, module)
|
|
95863
|
+
var require__mapToArray = __commonJS(function(exports, module) {
|
|
95752
95864
|
function mapToArray(map) {
|
|
95753
95865
|
var index = -1, result = Array(map.size);
|
|
95754
95866
|
map.forEach(function(value, key) {
|
|
@@ -95760,7 +95872,7 @@ var require__mapToArray = __commonJS((exports, module) => {
|
|
|
95760
95872
|
});
|
|
95761
95873
|
|
|
95762
95874
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_setToArray.js
|
|
95763
|
-
var require__setToArray = __commonJS((exports, module)
|
|
95875
|
+
var require__setToArray = __commonJS(function(exports, module) {
|
|
95764
95876
|
function setToArray(set) {
|
|
95765
95877
|
var index = -1, result = Array(set.size);
|
|
95766
95878
|
set.forEach(function(value) {
|
|
@@ -95772,7 +95884,7 @@ var require__setToArray = __commonJS((exports, module) => {
|
|
|
95772
95884
|
});
|
|
95773
95885
|
|
|
95774
95886
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_asciiToArray.js
|
|
95775
|
-
var require__asciiToArray = __commonJS((exports, module)
|
|
95887
|
+
var require__asciiToArray = __commonJS(function(exports, module) {
|
|
95776
95888
|
function asciiToArray(string) {
|
|
95777
95889
|
return string.split("");
|
|
95778
95890
|
}
|
|
@@ -95780,7 +95892,7 @@ var require__asciiToArray = __commonJS((exports, module) => {
|
|
|
95780
95892
|
});
|
|
95781
95893
|
|
|
95782
95894
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hasUnicode.js
|
|
95783
|
-
var require__hasUnicode = __commonJS((exports, module)
|
|
95895
|
+
var require__hasUnicode = __commonJS(function(exports, module) {
|
|
95784
95896
|
var rsAstralRange = "\\ud800-\\udfff";
|
|
95785
95897
|
var rsComboMarksRange = "\\u0300-\\u036f";
|
|
95786
95898
|
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
|
|
@@ -95796,7 +95908,7 @@ var require__hasUnicode = __commonJS((exports, module) => {
|
|
|
95796
95908
|
});
|
|
95797
95909
|
|
|
95798
95910
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_unicodeToArray.js
|
|
95799
|
-
var require__unicodeToArray = __commonJS((exports, module)
|
|
95911
|
+
var require__unicodeToArray = __commonJS(function(exports, module) {
|
|
95800
95912
|
var rsAstralRange = "\\ud800-\\udfff";
|
|
95801
95913
|
var rsComboMarksRange = "\\u0300-\\u036f";
|
|
95802
95914
|
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
|
|
@@ -95824,7 +95936,7 @@ var require__unicodeToArray = __commonJS((exports, module) => {
|
|
|
95824
95936
|
});
|
|
95825
95937
|
|
|
95826
95938
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_stringToArray.js
|
|
95827
|
-
var require__stringToArray = __commonJS((exports, module)
|
|
95939
|
+
var require__stringToArray = __commonJS(function(exports, module) {
|
|
95828
95940
|
var asciiToArray = require__asciiToArray();
|
|
95829
95941
|
var hasUnicode = require__hasUnicode();
|
|
95830
95942
|
var unicodeToArray = require__unicodeToArray();
|
|
@@ -95835,7 +95947,7 @@ var require__stringToArray = __commonJS((exports, module) => {
|
|
|
95835
95947
|
});
|
|
95836
95948
|
|
|
95837
95949
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayMap.js
|
|
95838
|
-
var require__arrayMap = __commonJS((exports, module)
|
|
95950
|
+
var require__arrayMap = __commonJS(function(exports, module) {
|
|
95839
95951
|
function arrayMap(array, iteratee) {
|
|
95840
95952
|
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
95841
95953
|
while (++index < length) {
|
|
@@ -95847,7 +95959,7 @@ var require__arrayMap = __commonJS((exports, module) => {
|
|
|
95847
95959
|
});
|
|
95848
95960
|
|
|
95849
95961
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseValues.js
|
|
95850
|
-
var require__baseValues = __commonJS((exports, module)
|
|
95962
|
+
var require__baseValues = __commonJS(function(exports, module) {
|
|
95851
95963
|
var arrayMap = require__arrayMap();
|
|
95852
95964
|
function baseValues(object, props) {
|
|
95853
95965
|
return arrayMap(props, function(key) {
|
|
@@ -95858,7 +95970,7 @@ var require__baseValues = __commonJS((exports, module) => {
|
|
|
95858
95970
|
});
|
|
95859
95971
|
|
|
95860
95972
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseTimes.js
|
|
95861
|
-
var require__baseTimes = __commonJS((exports, module)
|
|
95973
|
+
var require__baseTimes = __commonJS(function(exports, module) {
|
|
95862
95974
|
function baseTimes(n, iteratee) {
|
|
95863
95975
|
var index = -1, result = Array(n);
|
|
95864
95976
|
while (++index < n) {
|
|
@@ -95870,7 +95982,7 @@ var require__baseTimes = __commonJS((exports, module) => {
|
|
|
95870
95982
|
});
|
|
95871
95983
|
|
|
95872
95984
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js
|
|
95873
|
-
var require__baseIsArguments = __commonJS((exports, module)
|
|
95985
|
+
var require__baseIsArguments = __commonJS(function(exports, module) {
|
|
95874
95986
|
var baseGetTag = require__baseGetTag();
|
|
95875
95987
|
var isObjectLike = require_isObjectLike();
|
|
95876
95988
|
var argsTag = "[object Arguments]";
|
|
@@ -95881,7 +95993,7 @@ var require__baseIsArguments = __commonJS((exports, module) => {
|
|
|
95881
95993
|
});
|
|
95882
95994
|
|
|
95883
95995
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isArguments.js
|
|
95884
|
-
var require_isArguments = __commonJS((exports, module)
|
|
95996
|
+
var require_isArguments = __commonJS(function(exports, module) {
|
|
95885
95997
|
var baseIsArguments = require__baseIsArguments();
|
|
95886
95998
|
var isObjectLike = require_isObjectLike();
|
|
95887
95999
|
var objectProto = Object.prototype;
|
|
@@ -95896,7 +96008,7 @@ var require_isArguments = __commonJS((exports, module) => {
|
|
|
95896
96008
|
});
|
|
95897
96009
|
|
|
95898
96010
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/stubFalse.js
|
|
95899
|
-
var require_stubFalse = __commonJS((exports, module)
|
|
96011
|
+
var require_stubFalse = __commonJS(function(exports, module) {
|
|
95900
96012
|
function stubFalse() {
|
|
95901
96013
|
return false;
|
|
95902
96014
|
}
|
|
@@ -95904,7 +96016,7 @@ var require_stubFalse = __commonJS((exports, module) => {
|
|
|
95904
96016
|
});
|
|
95905
96017
|
|
|
95906
96018
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isBuffer.js
|
|
95907
|
-
var require_isBuffer = __commonJS((exports, module)
|
|
96019
|
+
var require_isBuffer = __commonJS(function(exports, module) {
|
|
95908
96020
|
var root = require__root();
|
|
95909
96021
|
var stubFalse = require_stubFalse();
|
|
95910
96022
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
@@ -95917,7 +96029,7 @@ var require_isBuffer = __commonJS((exports, module) => {
|
|
|
95917
96029
|
});
|
|
95918
96030
|
|
|
95919
96031
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isIndex.js
|
|
95920
|
-
var require__isIndex = __commonJS((exports, module)
|
|
96032
|
+
var require__isIndex = __commonJS(function(exports, module) {
|
|
95921
96033
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
95922
96034
|
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
95923
96035
|
function isIndex(value, length) {
|
|
@@ -95929,7 +96041,7 @@ var require__isIndex = __commonJS((exports, module) => {
|
|
|
95929
96041
|
});
|
|
95930
96042
|
|
|
95931
96043
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js
|
|
95932
|
-
var require__baseIsTypedArray = __commonJS((exports, module)
|
|
96044
|
+
var require__baseIsTypedArray = __commonJS(function(exports, module) {
|
|
95933
96045
|
var baseGetTag = require__baseGetTag();
|
|
95934
96046
|
var isLength = require_isLength();
|
|
95935
96047
|
var isObjectLike = require_isObjectLike();
|
|
@@ -95967,7 +96079,7 @@ var require__baseIsTypedArray = __commonJS((exports, module) => {
|
|
|
95967
96079
|
});
|
|
95968
96080
|
|
|
95969
96081
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseUnary.js
|
|
95970
|
-
var require__baseUnary = __commonJS((exports, module)
|
|
96082
|
+
var require__baseUnary = __commonJS(function(exports, module) {
|
|
95971
96083
|
function baseUnary(func) {
|
|
95972
96084
|
return function(value) {
|
|
95973
96085
|
return func(value);
|
|
@@ -95977,7 +96089,7 @@ var require__baseUnary = __commonJS((exports, module) => {
|
|
|
95977
96089
|
});
|
|
95978
96090
|
|
|
95979
96091
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nodeUtil.js
|
|
95980
|
-
var require__nodeUtil = __commonJS((exports, module)
|
|
96092
|
+
var require__nodeUtil = __commonJS(function(exports, module) {
|
|
95981
96093
|
var freeGlobal = require__freeGlobal();
|
|
95982
96094
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
95983
96095
|
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
|
|
@@ -95996,7 +96108,7 @@ var require__nodeUtil = __commonJS((exports, module) => {
|
|
|
95996
96108
|
});
|
|
95997
96109
|
|
|
95998
96110
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/isTypedArray.js
|
|
95999
|
-
var require_isTypedArray = __commonJS((exports, module)
|
|
96111
|
+
var require_isTypedArray = __commonJS(function(exports, module) {
|
|
96000
96112
|
var baseIsTypedArray = require__baseIsTypedArray();
|
|
96001
96113
|
var baseUnary = require__baseUnary();
|
|
96002
96114
|
var nodeUtil = require__nodeUtil();
|
|
@@ -96006,7 +96118,7 @@ var require_isTypedArray = __commonJS((exports, module) => {
|
|
|
96006
96118
|
});
|
|
96007
96119
|
|
|
96008
96120
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js
|
|
96009
|
-
var require__arrayLikeKeys = __commonJS((exports, module)
|
|
96121
|
+
var require__arrayLikeKeys = __commonJS(function(exports, module) {
|
|
96010
96122
|
var baseTimes = require__baseTimes();
|
|
96011
96123
|
var isArguments = require_isArguments();
|
|
96012
96124
|
var isArray = require_isArray();
|
|
@@ -96028,7 +96140,7 @@ var require__arrayLikeKeys = __commonJS((exports, module) => {
|
|
|
96028
96140
|
});
|
|
96029
96141
|
|
|
96030
96142
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isPrototype.js
|
|
96031
|
-
var require__isPrototype = __commonJS((exports, module)
|
|
96143
|
+
var require__isPrototype = __commonJS(function(exports, module) {
|
|
96032
96144
|
var objectProto = Object.prototype;
|
|
96033
96145
|
function isPrototype(value) {
|
|
96034
96146
|
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
|
|
@@ -96038,7 +96150,7 @@ var require__isPrototype = __commonJS((exports, module) => {
|
|
|
96038
96150
|
});
|
|
96039
96151
|
|
|
96040
96152
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_overArg.js
|
|
96041
|
-
var require__overArg = __commonJS((exports, module)
|
|
96153
|
+
var require__overArg = __commonJS(function(exports, module) {
|
|
96042
96154
|
function overArg(func, transform) {
|
|
96043
96155
|
return function(arg) {
|
|
96044
96156
|
return func(transform(arg));
|
|
@@ -96048,14 +96160,14 @@ var require__overArg = __commonJS((exports, module) => {
|
|
|
96048
96160
|
});
|
|
96049
96161
|
|
|
96050
96162
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeKeys.js
|
|
96051
|
-
var require__nativeKeys = __commonJS((exports, module)
|
|
96163
|
+
var require__nativeKeys = __commonJS(function(exports, module) {
|
|
96052
96164
|
var overArg = require__overArg();
|
|
96053
96165
|
var nativeKeys = overArg(Object.keys, Object);
|
|
96054
96166
|
module.exports = nativeKeys;
|
|
96055
96167
|
});
|
|
96056
96168
|
|
|
96057
96169
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseKeys.js
|
|
96058
|
-
var require__baseKeys = __commonJS((exports, module)
|
|
96170
|
+
var require__baseKeys = __commonJS(function(exports, module) {
|
|
96059
96171
|
var isPrototype = require__isPrototype();
|
|
96060
96172
|
var nativeKeys = require__nativeKeys();
|
|
96061
96173
|
var objectProto = Object.prototype;
|
|
@@ -96076,7 +96188,7 @@ var require__baseKeys = __commonJS((exports, module) => {
|
|
|
96076
96188
|
});
|
|
96077
96189
|
|
|
96078
96190
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/keys.js
|
|
96079
|
-
var require_keys2 = __commonJS((exports, module)
|
|
96191
|
+
var require_keys2 = __commonJS(function(exports, module) {
|
|
96080
96192
|
var arrayLikeKeys = require__arrayLikeKeys();
|
|
96081
96193
|
var baseKeys = require__baseKeys();
|
|
96082
96194
|
var isArrayLike = require_isArrayLike();
|
|
@@ -96087,7 +96199,7 @@ var require_keys2 = __commonJS((exports, module) => {
|
|
|
96087
96199
|
});
|
|
96088
96200
|
|
|
96089
96201
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/values.js
|
|
96090
|
-
var require_values = __commonJS((exports, module)
|
|
96202
|
+
var require_values = __commonJS(function(exports, module) {
|
|
96091
96203
|
var baseValues = require__baseValues();
|
|
96092
96204
|
var keys = require_keys2();
|
|
96093
96205
|
function values(object) {
|
|
@@ -96097,7 +96209,7 @@ var require_values = __commonJS((exports, module) => {
|
|
|
96097
96209
|
});
|
|
96098
96210
|
|
|
96099
96211
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/toArray.js
|
|
96100
|
-
var require_toArray = __commonJS((exports, module)
|
|
96212
|
+
var require_toArray = __commonJS(function(exports, module) {
|
|
96101
96213
|
var Symbol2 = require__Symbol();
|
|
96102
96214
|
var copyArray = require__copyArray();
|
|
96103
96215
|
var getTag = require__getTag();
|
|
@@ -96128,12 +96240,12 @@ var require_toArray = __commonJS((exports, module) => {
|
|
|
96128
96240
|
});
|
|
96129
96241
|
|
|
96130
96242
|
// node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.json
|
|
96131
|
-
var require_emoji = __commonJS((exports, module)
|
|
96243
|
+
var require_emoji = __commonJS(function(exports, module) {
|
|
96132
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: "㊙️" };
|
|
96133
96245
|
});
|
|
96134
96246
|
|
|
96135
96247
|
// node_modules/.bun/node-emoji@1.11.0/node_modules/node-emoji/lib/emoji.js
|
|
96136
|
-
var require_emoji2 = __commonJS((exports, module)
|
|
96248
|
+
var require_emoji2 = __commonJS(function(exports, module) {
|
|
96137
96249
|
var toArray = require_toArray();
|
|
96138
96250
|
var emojiByName = require_emoji();
|
|
96139
96251
|
var emojiNameRegex = /:([a-zA-Z0-9_\-\+]+):/g;
|
|
@@ -96278,7 +96390,7 @@ var require_emoji2 = __commonJS((exports, module) => {
|
|
|
96278
96390
|
});
|
|
96279
96391
|
|
|
96280
96392
|
// node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js
|
|
96281
|
-
var require_has_flag = __commonJS((exports, module)
|
|
96393
|
+
var require_has_flag = __commonJS(function(exports, module) {
|
|
96282
96394
|
module.exports = (flag, argv = process.argv) => {
|
|
96283
96395
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
96284
96396
|
const position = argv.indexOf(prefix + flag);
|
|
@@ -96288,7 +96400,7 @@ var require_has_flag = __commonJS((exports, module) => {
|
|
|
96288
96400
|
});
|
|
96289
96401
|
|
|
96290
96402
|
// node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js
|
|
96291
|
-
var require_supports_color = __commonJS((exports, module)
|
|
96403
|
+
var require_supports_color = __commonJS(function(exports, module) {
|
|
96292
96404
|
var os = __require("os");
|
|
96293
96405
|
var tty = __require("tty");
|
|
96294
96406
|
var hasFlag = require_has_flag();
|
|
@@ -96387,7 +96499,7 @@ var require_supports_color = __commonJS((exports, module) => {
|
|
|
96387
96499
|
});
|
|
96388
96500
|
|
|
96389
96501
|
// node_modules/.bun/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js
|
|
96390
|
-
var require_supports_hyperlinks = __commonJS((exports, module)
|
|
96502
|
+
var require_supports_hyperlinks = __commonJS(function(exports, module) {
|
|
96391
96503
|
var supportsColor = require_supports_color();
|
|
96392
96504
|
var hasFlag = require_has_flag();
|
|
96393
96505
|
function parseVersion(versionString) {
|
|
@@ -96466,7 +96578,7 @@ var require_supports_hyperlinks = __commonJS((exports, module) => {
|
|
|
96466
96578
|
});
|
|
96467
96579
|
|
|
96468
96580
|
// node_modules/.bun/marked-terminal@5.2.0+2cbc53c039b95cf4/node_modules/marked-terminal/index.cjs
|
|
96469
|
-
var require_marked_terminal = __commonJS((exports, module)
|
|
96581
|
+
var require_marked_terminal = __commonJS(function(exports, module) {
|
|
96470
96582
|
var process$1 = __require("node:process");
|
|
96471
96583
|
var os = __require("node:os");
|
|
96472
96584
|
var tty = __require("node:tty");
|
|
@@ -97454,7 +97566,7 @@ var require_marked_terminal = __commonJS((exports, module) => {
|
|
|
97454
97566
|
});
|
|
97455
97567
|
|
|
97456
97568
|
// node_modules/.bun/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js
|
|
97457
|
-
var require_escape_string_regexp = __commonJS((exports, module)
|
|
97569
|
+
var require_escape_string_regexp = __commonJS(function(exports, module) {
|
|
97458
97570
|
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
|
|
97459
97571
|
module.exports = function(str) {
|
|
97460
97572
|
if (typeof str !== "string") {
|
|
@@ -97465,7 +97577,7 @@ var require_escape_string_regexp = __commonJS((exports, module) => {
|
|
|
97465
97577
|
});
|
|
97466
97578
|
|
|
97467
97579
|
// node_modules/.bun/ansi-styles@2.2.1/node_modules/ansi-styles/index.js
|
|
97468
|
-
var require_ansi_styles = __commonJS((exports, module)
|
|
97580
|
+
var require_ansi_styles = __commonJS(function(exports, module) {
|
|
97469
97581
|
function assembleStyles() {
|
|
97470
97582
|
var styles2 = {
|
|
97471
97583
|
modifiers: {
|
|
@@ -97524,14 +97636,14 @@ var require_ansi_styles = __commonJS((exports, module) => {
|
|
|
97524
97636
|
});
|
|
97525
97637
|
|
|
97526
97638
|
// node_modules/.bun/has-ansi@2.0.0/node_modules/has-ansi/index.js
|
|
97527
|
-
var require_has_ansi = __commonJS((exports, module)
|
|
97639
|
+
var require_has_ansi = __commonJS(function(exports, module) {
|
|
97528
97640
|
var ansiRegex = require_ansi_regex();
|
|
97529
97641
|
var re = new RegExp(ansiRegex().source);
|
|
97530
97642
|
module.exports = re.test.bind(re);
|
|
97531
97643
|
});
|
|
97532
97644
|
|
|
97533
97645
|
// node_modules/.bun/supports-color@2.0.0/node_modules/supports-color/index.js
|
|
97534
|
-
var require_supports_color2 = __commonJS((exports, module)
|
|
97646
|
+
var require_supports_color2 = __commonJS(function(exports, module) {
|
|
97535
97647
|
var argv = process.argv;
|
|
97536
97648
|
var terminator = argv.indexOf("--");
|
|
97537
97649
|
var hasFlag = function(flag) {
|
|
@@ -97569,7 +97681,7 @@ var require_supports_color2 = __commonJS((exports, module) => {
|
|
|
97569
97681
|
});
|
|
97570
97682
|
|
|
97571
97683
|
// node_modules/.bun/chalk@1.1.3/node_modules/chalk/index.js
|
|
97572
|
-
var require_chalk = __commonJS((exports, module)
|
|
97684
|
+
var require_chalk = __commonJS(function(exports, module) {
|
|
97573
97685
|
var escapeStringRegexp = require_escape_string_regexp();
|
|
97574
97686
|
var ansiStyles = require_ansi_styles();
|
|
97575
97687
|
var stripAnsi = require_strip_ansi();
|
|
@@ -97650,7 +97762,7 @@ var require_chalk = __commonJS((exports, module) => {
|
|
|
97650
97762
|
});
|
|
97651
97763
|
|
|
97652
97764
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/markdown.js
|
|
97653
|
-
var require_markdown = __commonJS((exports, module)
|
|
97765
|
+
var require_markdown = __commonJS(function(exports, module) {
|
|
97654
97766
|
var blessed = require_blessed();
|
|
97655
97767
|
var Box = blessed.Box;
|
|
97656
97768
|
var marked = require_marked();
|
|
@@ -97704,7 +97816,7 @@ var require_markdown = __commonJS((exports, module) => {
|
|
|
97704
97816
|
});
|
|
97705
97817
|
|
|
97706
97818
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/bar.js
|
|
97707
|
-
var require_bar = __commonJS((exports, module)
|
|
97819
|
+
var require_bar = __commonJS(function(exports, module) {
|
|
97708
97820
|
var blessed = require_blessed();
|
|
97709
97821
|
var Node = blessed.Node;
|
|
97710
97822
|
var Canvas = require_canvas();
|
|
@@ -97785,7 +97897,7 @@ var require_bar = __commonJS((exports, module) => {
|
|
|
97785
97897
|
});
|
|
97786
97898
|
|
|
97787
97899
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/stacked-bar.js
|
|
97788
|
-
var require_stacked_bar = __commonJS((exports, module)
|
|
97900
|
+
var require_stacked_bar = __commonJS(function(exports, module) {
|
|
97789
97901
|
var blessed = require_blessed();
|
|
97790
97902
|
var Node = blessed.Node;
|
|
97791
97903
|
var Canvas = require_canvas();
|
|
@@ -97941,7 +98053,7 @@ var require_stacked_bar = __commonJS((exports, module) => {
|
|
|
97941
98053
|
});
|
|
97942
98054
|
|
|
97943
98055
|
// node_modules/.bun/lodash@4.17.21/node_modules/lodash/lodash.js
|
|
97944
|
-
var require_lodash = __commonJS((exports, module)
|
|
98056
|
+
var require_lodash = __commonJS(function(exports, module) {
|
|
97945
98057
|
(function() {
|
|
97946
98058
|
var undefined2;
|
|
97947
98059
|
var VERSION = "4.17.21";
|
|
@@ -101168,7 +101280,7 @@ var require_lodash = __commonJS((exports, module) => {
|
|
|
101168
101280
|
}
|
|
101169
101281
|
return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : [];
|
|
101170
101282
|
});
|
|
101171
|
-
function
|
|
101283
|
+
function join13(array, separator) {
|
|
101172
101284
|
return array == null ? "" : nativeJoin.call(array, separator);
|
|
101173
101285
|
}
|
|
101174
101286
|
function last(array) {
|
|
@@ -103100,7 +103212,7 @@ __p += '`;
|
|
|
103100
103212
|
lodash.isUndefined = isUndefined;
|
|
103101
103213
|
lodash.isWeakMap = isWeakMap;
|
|
103102
103214
|
lodash.isWeakSet = isWeakSet;
|
|
103103
|
-
lodash.join =
|
|
103215
|
+
lodash.join = join13;
|
|
103104
103216
|
lodash.kebabCase = kebabCase;
|
|
103105
103217
|
lodash.last = last;
|
|
103106
103218
|
lodash.lastIndexOf = lastIndexOf;
|
|
@@ -103357,7 +103469,7 @@ __p += '`;
|
|
|
103357
103469
|
});
|
|
103358
103470
|
|
|
103359
103471
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/widget/charts/line.js
|
|
103360
|
-
var require_line = __commonJS((exports, module)
|
|
103472
|
+
var require_line = __commonJS(function(exports, module) {
|
|
103361
103473
|
var blessed = require_blessed();
|
|
103362
103474
|
var Node = blessed.Node;
|
|
103363
103475
|
var Canvas = require_canvas();
|
|
@@ -103564,7 +103676,7 @@ var require_line = __commonJS((exports, module) => {
|
|
|
103564
103676
|
});
|
|
103565
103677
|
|
|
103566
103678
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/lib/server-utils.js
|
|
103567
|
-
var require_server_utils = __commonJS((exports)
|
|
103679
|
+
var require_server_utils = __commonJS(function(exports) {
|
|
103568
103680
|
var url = __require("url");
|
|
103569
103681
|
var contrib = require_blessed_contrib();
|
|
103570
103682
|
var blessed = require_blessed();
|
|
@@ -103628,7 +103740,7 @@ var require_server_utils = __commonJS((exports) => {
|
|
|
103628
103740
|
});
|
|
103629
103741
|
|
|
103630
103742
|
// node_modules/.bun/blessed-contrib@4.11.0/node_modules/blessed-contrib/index.js
|
|
103631
|
-
var require_blessed_contrib = __commonJS((exports)
|
|
103743
|
+
var require_blessed_contrib = __commonJS(function(exports) {
|
|
103632
103744
|
exports.grid = require_grid();
|
|
103633
103745
|
exports.carousel = require_carousel();
|
|
103634
103746
|
exports.map = require_map2();
|
|
@@ -103781,27 +103893,15 @@ __export(exports_dev, {
|
|
|
103781
103893
|
default: () => dev
|
|
103782
103894
|
});
|
|
103783
103895
|
import { spawn } from "node:child_process";
|
|
103784
|
-
import { existsSync as
|
|
103785
|
-
import { join as
|
|
103786
|
-
|
|
103787
|
-
|
|
103788
|
-
const
|
|
103789
|
-
if (
|
|
103790
|
-
return
|
|
103791
|
-
}
|
|
103792
|
-
const cwd = process.cwd();
|
|
103793
|
-
const nodeModulesPaths = [
|
|
103794
|
-
join11(cwd, "node_modules", ".bin", "reroute"),
|
|
103795
|
-
join11(cwd, "..", "node_modules", ".bin", "reroute"),
|
|
103796
|
-
join11(cwd, "..", "..", "node_modules", ".bin", "reroute"),
|
|
103797
|
-
join11(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
|
|
103798
|
-
];
|
|
103799
|
-
for (const binPath2 of nodeModulesPaths) {
|
|
103800
|
-
if (existsSync6(binPath2)) {
|
|
103801
|
-
return binPath2;
|
|
103802
|
-
}
|
|
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]);
|
|
103803
103903
|
}
|
|
103804
|
-
return "
|
|
103904
|
+
return Number(process.env.PORT || "3000");
|
|
103805
103905
|
}
|
|
103806
103906
|
async function waitForInitialBuild(genProcess) {
|
|
103807
103907
|
console.log("[reroute/dev] Waiting for initial build...");
|
|
@@ -103826,15 +103926,33 @@ async function waitForInitialBuild(genProcess) {
|
|
|
103826
103926
|
console.log("[reroute/dev] Initial build complete!");
|
|
103827
103927
|
return outputBuffer;
|
|
103828
103928
|
}
|
|
103829
|
-
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
|
+
});
|
|
103830
103948
|
const serverProcess = spawn("bun", ["--watch", "src/index.ts"], {
|
|
103831
103949
|
stdio: ["ignore", "pipe", "pipe"],
|
|
103832
103950
|
env: {
|
|
103833
103951
|
...process.env,
|
|
103834
|
-
PORT: String(port)
|
|
103952
|
+
PORT: String(port),
|
|
103953
|
+
REROUTE_DEV: "1"
|
|
103835
103954
|
}
|
|
103836
103955
|
});
|
|
103837
|
-
console.log("[reroute/dev] Starting server...");
|
|
103838
103956
|
try {
|
|
103839
103957
|
await waitForServerReady(port);
|
|
103840
103958
|
console.log(`[reroute/dev] ✓ Server ready at http://localhost:${port}
|
|
@@ -103845,48 +103963,6 @@ async function startServerProcess(genProcess, port) {
|
|
|
103845
103963
|
serverProcess.kill();
|
|
103846
103964
|
process.exit(1);
|
|
103847
103965
|
}
|
|
103848
|
-
return serverProcess;
|
|
103849
|
-
}
|
|
103850
|
-
function setupDefaultMode(genProcess, serverProcess, outputBuffer) {
|
|
103851
|
-
const genBuffer = { current: "" };
|
|
103852
|
-
const serverBuffer = { current: "" };
|
|
103853
|
-
const handleGenOutput = (data) => {
|
|
103854
|
-
const text = genBuffer.current + data.toString();
|
|
103855
|
-
const lines = text.split(`
|
|
103856
|
-
`);
|
|
103857
|
-
genBuffer.current = lines.pop() || "";
|
|
103858
|
-
for (const line of lines) {
|
|
103859
|
-
if (!line.trim())
|
|
103860
|
-
continue;
|
|
103861
|
-
const ansiColored = colorizeLogPrefixAnsi(line);
|
|
103862
|
-
console.log(ansiColored);
|
|
103863
|
-
}
|
|
103864
|
-
};
|
|
103865
|
-
const handleServerOutput = createServerOutputHandler(serverBuffer);
|
|
103866
|
-
for (const data of outputBuffer) {
|
|
103867
|
-
handleGenOutput(data);
|
|
103868
|
-
}
|
|
103869
|
-
genProcess.stdout?.on("data", handleGenOutput);
|
|
103870
|
-
genProcess.stderr?.on("data", handleGenOutput);
|
|
103871
|
-
serverProcess.stdout?.on("data", handleServerOutput);
|
|
103872
|
-
serverProcess.stderr?.on("data", handleServerOutput);
|
|
103873
|
-
genProcess.on("exit", (code) => {
|
|
103874
|
-
console.log(`
|
|
103875
|
-
[reroute/gen] Process exited with code ${code}`);
|
|
103876
|
-
});
|
|
103877
|
-
serverProcess.on("exit", (code) => {
|
|
103878
|
-
console.log(`
|
|
103879
|
-
[server] Process exited with code ${code}`);
|
|
103880
|
-
});
|
|
103881
|
-
process.on("SIGINT", () => {
|
|
103882
|
-
console.log(`
|
|
103883
|
-
[reroute/dev] Shutting down...`);
|
|
103884
|
-
genProcess.kill("SIGINT");
|
|
103885
|
-
serverProcess.kill("SIGINT");
|
|
103886
|
-
process.exit(0);
|
|
103887
|
-
});
|
|
103888
|
-
}
|
|
103889
|
-
async function setupTerminalUI(genProcess, serverProcess, outputBuffer) {
|
|
103890
103966
|
const blessed = await Promise.resolve().then(() => __toESM(require_blessed(), 1));
|
|
103891
103967
|
const contrib = await Promise.resolve().then(() => __toESM(require_blessed_contrib(), 1));
|
|
103892
103968
|
const screen = blessed.default.screen({
|
|
@@ -103902,33 +103978,53 @@ async function setupTerminalUI(genProcess, serverProcess, outputBuffer) {
|
|
|
103902
103978
|
const { setupTerminalUIHandlers: setupTerminalUIHandlers2 } = await Promise.resolve().then(() => exports_terminal_ui);
|
|
103903
103979
|
setupTerminalUIHandlers2(screen, grid, genProcess, serverProcess, outputBuffer, blessed, colorizeLogPrefix);
|
|
103904
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
|
+
}
|
|
103905
104010
|
async function dev(args) {
|
|
103906
104011
|
const terminalUI = args.includes("--tui") || args.includes("-t");
|
|
103907
|
-
const
|
|
103908
|
-
|
|
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";
|
|
103909
104019
|
try {
|
|
103910
|
-
console.log("[reroute/dev] Starting development
|
|
104020
|
+
console.log("[reroute/dev] Starting development server...");
|
|
103911
104021
|
console.log(`[reroute/dev] Press Ctrl+C to stop
|
|
103912
104022
|
`);
|
|
103913
|
-
|
|
103914
|
-
|
|
103915
|
-
|
|
103916
|
-
const genArgs = useShell ? [] : ["gen", "--watch"];
|
|
103917
|
-
const genProcess = spawn(genCommand, genArgs, {
|
|
103918
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
103919
|
-
shell: useShell
|
|
103920
|
-
});
|
|
103921
|
-
const outputBuffer = await waitForInitialBuild(genProcess).catch((error) => {
|
|
103922
|
-
console.error("[reroute/dev] Failed to complete initial build:", error);
|
|
103923
|
-
genProcess.kill();
|
|
103924
|
-
process.exit(1);
|
|
103925
|
-
});
|
|
103926
|
-
const serverProcess = await startServerProcess(genProcess, port);
|
|
103927
|
-
if (!terminalUI) {
|
|
103928
|
-
setupDefaultMode(genProcess, serverProcess, outputBuffer);
|
|
103929
|
-
} else {
|
|
103930
|
-
await setupTerminalUI(genProcess, serverProcess, outputBuffer);
|
|
104023
|
+
if (terminalUI) {
|
|
104024
|
+
await startTui(port);
|
|
104025
|
+
return;
|
|
103931
104026
|
}
|
|
104027
|
+
await startDefault(port);
|
|
103932
104028
|
} catch (error) {
|
|
103933
104029
|
if (error.code === "SIGINT") {
|
|
103934
104030
|
console.log(`
|
|
@@ -103940,6 +104036,8 @@ async function dev(args) {
|
|
|
103940
104036
|
}
|
|
103941
104037
|
}
|
|
103942
104038
|
var init_dev = __esm(() => {
|
|
104039
|
+
init_gen();
|
|
104040
|
+
init_command();
|
|
103943
104041
|
init_log();
|
|
103944
104042
|
});
|
|
103945
104043
|
|
|
@@ -103949,23 +104047,23 @@ __export(exports_start, {
|
|
|
103949
104047
|
default: () => start
|
|
103950
104048
|
});
|
|
103951
104049
|
import { spawn as spawn2 } from "node:child_process";
|
|
103952
|
-
import { existsSync as
|
|
103953
|
-
import { join as
|
|
104050
|
+
import { existsSync as existsSync8 } from "node:fs";
|
|
104051
|
+
import { join as join14 } from "node:path";
|
|
103954
104052
|
function getRerouteCommand2() {
|
|
103955
|
-
const binPath =
|
|
103956
|
-
const isBunDev =
|
|
104053
|
+
const binPath = join14(import.meta.dir, "..", "..", "bin.ts");
|
|
104054
|
+
const isBunDev = existsSync8(binPath);
|
|
103957
104055
|
if (isBunDev) {
|
|
103958
104056
|
return `bun ${binPath}`;
|
|
103959
104057
|
}
|
|
103960
104058
|
const cwd = process.cwd();
|
|
103961
104059
|
const nodeModulesPaths = [
|
|
103962
|
-
|
|
103963
|
-
|
|
103964
|
-
|
|
103965
|
-
|
|
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")
|
|
103966
104064
|
];
|
|
103967
104065
|
for (const binPath2 of nodeModulesPaths) {
|
|
103968
|
-
if (
|
|
104066
|
+
if (existsSync8(binPath2)) {
|
|
103969
104067
|
return binPath2;
|
|
103970
104068
|
}
|
|
103971
104069
|
}
|
|
@@ -104086,17 +104184,17 @@ var init_start = __esm(() => {
|
|
|
104086
104184
|
// packages/cli/src/commands/lib/assets.ts
|
|
104087
104185
|
import {
|
|
104088
104186
|
cpSync,
|
|
104089
|
-
existsSync as
|
|
104187
|
+
existsSync as existsSync9,
|
|
104090
104188
|
mkdirSync,
|
|
104091
104189
|
readdirSync
|
|
104092
104190
|
} from "node:fs";
|
|
104093
|
-
import { join as
|
|
104191
|
+
import { join as join15 } from "node:path";
|
|
104094
104192
|
function copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir) {
|
|
104095
|
-
if (!
|
|
104193
|
+
if (!existsSync9(sourceAssetsDir)) {
|
|
104096
104194
|
return 0;
|
|
104097
104195
|
}
|
|
104098
|
-
const rerouteDir =
|
|
104099
|
-
if (!
|
|
104196
|
+
const rerouteDir = join15(cwd, ".reroute");
|
|
104197
|
+
if (!existsSync9(rerouteDir)) {
|
|
104100
104198
|
mkdirSync(rerouteDir, { recursive: true });
|
|
104101
104199
|
}
|
|
104102
104200
|
cpSync(sourceAssetsDir, rerouteAssetsDir, { recursive: true });
|
|
@@ -104107,7 +104205,7 @@ function countFiles(dir) {
|
|
|
104107
104205
|
const entries = readdirSync(dir, { withFileTypes: true });
|
|
104108
104206
|
for (const entry of entries) {
|
|
104109
104207
|
if (entry.isDirectory()) {
|
|
104110
|
-
count += countFiles(
|
|
104208
|
+
count += countFiles(join15(dir, entry.name));
|
|
104111
104209
|
} else {
|
|
104112
104210
|
count++;
|
|
104113
104211
|
}
|
|
@@ -104122,23 +104220,23 @@ __export(exports_build, {
|
|
|
104122
104220
|
default: () => build
|
|
104123
104221
|
});
|
|
104124
104222
|
import { spawn as spawn3 } from "node:child_process";
|
|
104125
|
-
import { existsSync as
|
|
104126
|
-
import { join as
|
|
104223
|
+
import { existsSync as existsSync10, readFileSync as readFileSync5, rmSync, unlinkSync } from "node:fs";
|
|
104224
|
+
import { join as join16 } from "node:path";
|
|
104127
104225
|
function getRerouteCommand3() {
|
|
104128
|
-
const binPath =
|
|
104129
|
-
const isBunDev =
|
|
104226
|
+
const binPath = join16(import.meta.dir, "..", "..", "bin.ts");
|
|
104227
|
+
const isBunDev = existsSync10(binPath);
|
|
104130
104228
|
if (isBunDev) {
|
|
104131
104229
|
return `bun ${binPath}`;
|
|
104132
104230
|
}
|
|
104133
104231
|
const cwd = process.cwd();
|
|
104134
104232
|
const nodeModulesPaths = [
|
|
104135
|
-
|
|
104136
|
-
|
|
104137
|
-
|
|
104138
|
-
|
|
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")
|
|
104139
104237
|
];
|
|
104140
104238
|
for (const binPath2 of nodeModulesPaths) {
|
|
104141
|
-
if (
|
|
104239
|
+
if (existsSync10(binPath2)) {
|
|
104142
104240
|
return binPath2;
|
|
104143
104241
|
}
|
|
104144
104242
|
}
|
|
@@ -104146,8 +104244,8 @@ function getRerouteCommand3() {
|
|
|
104146
104244
|
}
|
|
104147
104245
|
function getOutputName() {
|
|
104148
104246
|
const cwd = process.cwd();
|
|
104149
|
-
const packageJsonPath =
|
|
104150
|
-
if (
|
|
104247
|
+
const packageJsonPath = join16(cwd, "package.json");
|
|
104248
|
+
if (existsSync10(packageJsonPath)) {
|
|
104151
104249
|
try {
|
|
104152
104250
|
const packageJson = JSON.parse(readFileSync5(packageJsonPath, "utf-8"));
|
|
104153
104251
|
const name = packageJson.name;
|
|
@@ -104178,16 +104276,16 @@ function parseBuildArgs(args) {
|
|
|
104178
104276
|
return { outfile, compileBinary, noCompression, externalArgs };
|
|
104179
104277
|
}
|
|
104180
104278
|
function cleanDistFolder(cwd) {
|
|
104181
|
-
const distDir =
|
|
104182
|
-
if (
|
|
104279
|
+
const distDir = join16(cwd, "dist");
|
|
104280
|
+
if (existsSync10(distDir)) {
|
|
104183
104281
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning dist folder...
|
|
104184
104282
|
`));
|
|
104185
104283
|
rmSync(distDir, { recursive: true });
|
|
104186
104284
|
}
|
|
104187
104285
|
}
|
|
104188
104286
|
async function cleanRerouteFolder(cwd) {
|
|
104189
|
-
const rerouteDir =
|
|
104190
|
-
if (
|
|
104287
|
+
const rerouteDir = join16(cwd, ".reroute");
|
|
104288
|
+
if (existsSync10(rerouteDir)) {
|
|
104191
104289
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Cleaning .reroute folder...
|
|
104192
104290
|
`));
|
|
104193
104291
|
rmSync(rerouteDir, { recursive: true, force: true });
|
|
@@ -104241,10 +104339,10 @@ async function runGenCommand(rerouteCmd, useShell, noCompression) {
|
|
|
104241
104339
|
async function copyAssets(cwd) {
|
|
104242
104340
|
const config2 = await loadConfig(cwd);
|
|
104243
104341
|
const appSrc = config2.app?.src ?? "./src/client/App";
|
|
104244
|
-
const
|
|
104245
|
-
const assetsPath =
|
|
104246
|
-
const sourceAssetsDir =
|
|
104247
|
-
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");
|
|
104248
104346
|
process.stdout.write(colorizeLogPrefixAnsi(`[reroute/build] Copying assets...
|
|
104249
104347
|
`));
|
|
104250
104348
|
const fileCount = copyAssetsToReroute(cwd, sourceAssetsDir, rerouteAssetsDir);
|
|
@@ -104259,9 +104357,9 @@ async function copyAssets(cwd) {
|
|
|
104259
104357
|
async function buildBundle(cwd, buildArgs) {
|
|
104260
104358
|
const external = [...buildArgs.externalArgs, "sharp", "@vercel/og"];
|
|
104261
104359
|
const buildResult = await Bun.build({
|
|
104262
|
-
entrypoints: [
|
|
104360
|
+
entrypoints: [join16(cwd, ".reroute/entry.ts")],
|
|
104263
104361
|
target: "bun",
|
|
104264
|
-
outdir:
|
|
104362
|
+
outdir: join16(cwd, "dist"),
|
|
104265
104363
|
sourcemap: "external",
|
|
104266
104364
|
...getCommonBuildOptions(),
|
|
104267
104365
|
external,
|
|
@@ -104304,8 +104402,8 @@ function cleanupBundledFiles(rerouteDir) {
|
|
|
104304
104402
|
"markdown-components.ts"
|
|
104305
104403
|
];
|
|
104306
104404
|
for (const file of tsFilesToRemove) {
|
|
104307
|
-
const filePath =
|
|
104308
|
-
if (
|
|
104405
|
+
const filePath = join16(rerouteDir, file);
|
|
104406
|
+
if (existsSync10(filePath)) {
|
|
104309
104407
|
try {
|
|
104310
104408
|
unlinkSync(filePath);
|
|
104311
104409
|
cleanupCount++;
|
|
@@ -104314,8 +104412,8 @@ function cleanupBundledFiles(rerouteDir) {
|
|
|
104314
104412
|
}
|
|
104315
104413
|
const dirsToRemove = ["markdown", "streaming"];
|
|
104316
104414
|
for (const dir of dirsToRemove) {
|
|
104317
|
-
const dirPath =
|
|
104318
|
-
if (
|
|
104415
|
+
const dirPath = join16(rerouteDir, dir);
|
|
104416
|
+
if (existsSync10(dirPath)) {
|
|
104319
104417
|
try {
|
|
104320
104418
|
rmSync(dirPath, { recursive: true });
|
|
104321
104419
|
cleanupCount++;
|
|
@@ -104348,7 +104446,7 @@ async function build(args) {
|
|
|
104348
104446
|
await runGenCommand(rerouteCmd, useShell, buildArgs.noCompression);
|
|
104349
104447
|
await copyAssets(cwd);
|
|
104350
104448
|
await buildBundle(cwd, buildArgs);
|
|
104351
|
-
const rerouteDir =
|
|
104449
|
+
const rerouteDir = join16(cwd, ".reroute");
|
|
104352
104450
|
cleanupBundledFiles(rerouteDir);
|
|
104353
104451
|
logBuildComplete(buildStartTime, buildArgs);
|
|
104354
104452
|
process.exit(0);
|
|
@@ -104364,60 +104462,31 @@ var init_build = __esm(() => {
|
|
|
104364
104462
|
init_log();
|
|
104365
104463
|
});
|
|
104366
104464
|
|
|
104367
|
-
// packages/cli/src/commands/lib/command.ts
|
|
104368
|
-
var exports_command = {};
|
|
104369
|
-
__export(exports_command, {
|
|
104370
|
-
getRerouteCommand: () => getRerouteCommand4
|
|
104371
|
-
});
|
|
104372
|
-
import { existsSync as existsSync10 } from "node:fs";
|
|
104373
|
-
import { join as join15 } from "node:path";
|
|
104374
|
-
function getRerouteCommand4() {
|
|
104375
|
-
const binPath = join15(import.meta.dir, "..", "..", "bin.ts");
|
|
104376
|
-
const isBunDev = existsSync10(binPath);
|
|
104377
|
-
if (isBunDev) {
|
|
104378
|
-
return `bun ${binPath}`;
|
|
104379
|
-
}
|
|
104380
|
-
const cwd = process.cwd();
|
|
104381
|
-
const nodeModulesPaths = [
|
|
104382
|
-
join15(cwd, "node_modules", ".bin", "reroute"),
|
|
104383
|
-
join15(cwd, "..", "node_modules", ".bin", "reroute"),
|
|
104384
|
-
join15(cwd, "..", "..", "node_modules", ".bin", "reroute"),
|
|
104385
|
-
join15(cwd, "..", "..", "..", "node_modules", ".bin", "reroute")
|
|
104386
|
-
];
|
|
104387
|
-
for (const binPath2 of nodeModulesPaths) {
|
|
104388
|
-
if (existsSync10(binPath2)) {
|
|
104389
|
-
return binPath2;
|
|
104390
|
-
}
|
|
104391
|
-
}
|
|
104392
|
-
return "reroute";
|
|
104393
|
-
}
|
|
104394
|
-
var init_command = () => {};
|
|
104395
|
-
|
|
104396
104465
|
// packages/cli/src/commands/analyze.ts
|
|
104397
104466
|
var exports_analyze = {};
|
|
104398
104467
|
__export(exports_analyze, {
|
|
104399
104468
|
default: () => analyze
|
|
104400
104469
|
});
|
|
104401
104470
|
import { existsSync as existsSync11, statSync } from "node:fs";
|
|
104402
|
-
import { readdir as readdir8, readFile, stat as
|
|
104403
|
-
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";
|
|
104404
104473
|
import Table from "cli-table3";
|
|
104405
104474
|
async function findChunkBundles(cwd) {
|
|
104406
104475
|
const bundles = [];
|
|
104407
|
-
const chunksDir =
|
|
104476
|
+
const chunksDir = join17(cwd, ".reroute", "chunks");
|
|
104408
104477
|
if (!existsSync11(chunksDir))
|
|
104409
104478
|
return bundles;
|
|
104410
104479
|
const collections2 = await readdir8(chunksDir, { withFileTypes: true });
|
|
104411
104480
|
for (const collection of collections2) {
|
|
104412
104481
|
if (!collection.isDirectory())
|
|
104413
104482
|
continue;
|
|
104414
|
-
const collectionDir =
|
|
104483
|
+
const collectionDir = join17(chunksDir, collection.name);
|
|
104415
104484
|
const files = await readdir8(collectionDir);
|
|
104416
104485
|
for (const file of files) {
|
|
104417
104486
|
if (!file.endsWith(".js"))
|
|
104418
104487
|
continue;
|
|
104419
|
-
const filePath =
|
|
104420
|
-
const stats = await
|
|
104488
|
+
const filePath = join17(collectionDir, file);
|
|
104489
|
+
const stats = await stat6(filePath);
|
|
104421
104490
|
const content2 = await Bun.file(filePath).arrayBuffer();
|
|
104422
104491
|
const gzippedSize = Bun.gzipSync(new Uint8Array(content2)).length;
|
|
104423
104492
|
bundles.push({
|
|
@@ -104434,12 +104503,12 @@ async function findChunkBundles(cwd) {
|
|
|
104434
104503
|
}
|
|
104435
104504
|
async function findDistBundles(cwd) {
|
|
104436
104505
|
const bundles = [];
|
|
104437
|
-
const distDir =
|
|
104506
|
+
const distDir = join17(cwd, "dist");
|
|
104438
104507
|
if (!existsSync11(distDir))
|
|
104439
104508
|
return bundles;
|
|
104440
104509
|
const files = await readdir8(distDir);
|
|
104441
104510
|
for (const file of files) {
|
|
104442
|
-
const filePath =
|
|
104511
|
+
const filePath = join17(distDir, file);
|
|
104443
104512
|
const stats = statSync(filePath);
|
|
104444
104513
|
if (stats.isFile() && !file.endsWith(".map") && !file.endsWith(".d.ts")) {
|
|
104445
104514
|
const content2 = await Bun.file(filePath).arrayBuffer();
|
|
@@ -104465,9 +104534,9 @@ async function findBundles(cwd) {
|
|
|
104465
104534
|
}
|
|
104466
104535
|
async function findBrowserEntry(cwd) {
|
|
104467
104536
|
try {
|
|
104468
|
-
const clientDir =
|
|
104469
|
-
const tsxEntry =
|
|
104470
|
-
const tsEntry =
|
|
104537
|
+
const clientDir = join17(cwd, "src", "client");
|
|
104538
|
+
const tsxEntry = join17(clientDir, "index.tsx");
|
|
104539
|
+
const tsEntry = join17(clientDir, "index.ts");
|
|
104471
104540
|
let sourceEntry = null;
|
|
104472
104541
|
if (existsSync11(tsxEntry)) {
|
|
104473
104542
|
sourceEntry = tsxEntry;
|
|
@@ -104500,12 +104569,12 @@ async function findBrowserEntry(cwd) {
|
|
|
104500
104569
|
console.warn("[reroute/analyze] Browser build produced no outputs");
|
|
104501
104570
|
return null;
|
|
104502
104571
|
}
|
|
104503
|
-
const tempDir =
|
|
104572
|
+
const tempDir = join17(cwd, ".reroute", "browser");
|
|
104504
104573
|
await import("node:fs/promises").then((fs) => fs.mkdir(tempDir, { recursive: true }));
|
|
104505
104574
|
const output = result.outputs[0];
|
|
104506
104575
|
const code = await output.text();
|
|
104507
104576
|
const actualHash = await generateContentHash2(code);
|
|
104508
|
-
const bundlePath =
|
|
104577
|
+
const bundlePath = join17(tempDir, `index.${actualHash}.js`);
|
|
104509
104578
|
await writeFile2(bundlePath, code, "utf-8");
|
|
104510
104579
|
const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
|
|
104511
104580
|
if (mapOutput) {
|
|
@@ -104557,7 +104626,7 @@ function calculateStats(bundles) {
|
|
|
104557
104626
|
}
|
|
104558
104627
|
async function getInstalledPackageSizes(cwd) {
|
|
104559
104628
|
const packageSizes = new Map;
|
|
104560
|
-
const nodeModulesDir =
|
|
104629
|
+
const nodeModulesDir = join17(cwd, "node_modules");
|
|
104561
104630
|
if (!existsSync11(nodeModulesDir))
|
|
104562
104631
|
return packageSizes;
|
|
104563
104632
|
try {
|
|
@@ -104572,7 +104641,7 @@ async function getInstalledPackageSizes(cwd) {
|
|
|
104572
104641
|
const [sizeKB, path3] = line.split("\t");
|
|
104573
104642
|
if (!path3)
|
|
104574
104643
|
continue;
|
|
104575
|
-
const pkgName =
|
|
104644
|
+
const pkgName = basename4(path3);
|
|
104576
104645
|
if (pkgName.startsWith("@")) {
|
|
104577
104646
|
const scopeDir = path3;
|
|
104578
104647
|
const scopedOutput = execSync(`du -sk ${scopeDir}/* 2>/dev/null || true`, {
|
|
@@ -104584,7 +104653,7 @@ async function getInstalledPackageSizes(cwd) {
|
|
|
104584
104653
|
const [scopedSizeKB, scopedPath] = scopedLine.split("\t");
|
|
104585
104654
|
if (!scopedPath)
|
|
104586
104655
|
continue;
|
|
104587
|
-
const fullPkgName = `${pkgName}/${
|
|
104656
|
+
const fullPkgName = `${pkgName}/${basename4(scopedPath)}`;
|
|
104588
104657
|
packageSizes.set(fullPkgName, Number.parseInt(scopedSizeKB, 10) * 1024);
|
|
104589
104658
|
}
|
|
104590
104659
|
} else {
|
|
@@ -104599,7 +104668,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104599
104668
|
if (!existsSync11(entryPath))
|
|
104600
104669
|
return null;
|
|
104601
104670
|
const root = {
|
|
104602
|
-
name:
|
|
104671
|
+
name: basename4(entryPath),
|
|
104603
104672
|
path: entryPath,
|
|
104604
104673
|
size: 0,
|
|
104605
104674
|
children: []
|
|
@@ -104613,14 +104682,14 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104613
104682
|
if (!pkgNode) {
|
|
104614
104683
|
pkgNode = {
|
|
104615
104684
|
name: pkgName || "unknown",
|
|
104616
|
-
path:
|
|
104685
|
+
path: join17(cwd, "node_modules", pkgName || ""),
|
|
104617
104686
|
size: 0,
|
|
104618
104687
|
children: []
|
|
104619
104688
|
};
|
|
104620
104689
|
nodeModulesNode.children?.push(pkgNode);
|
|
104621
104690
|
}
|
|
104622
104691
|
pkgNode.children?.push({
|
|
104623
|
-
name:
|
|
104692
|
+
name: basename4(filePath),
|
|
104624
104693
|
path: filePath,
|
|
104625
104694
|
size
|
|
104626
104695
|
});
|
|
@@ -104634,7 +104703,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104634
104703
|
if (!child) {
|
|
104635
104704
|
child = {
|
|
104636
104705
|
name: part,
|
|
104637
|
-
path:
|
|
104706
|
+
path: join17(cwd, ...parts.slice(0, i + 1)),
|
|
104638
104707
|
size: 0,
|
|
104639
104708
|
children: []
|
|
104640
104709
|
};
|
|
@@ -104643,7 +104712,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104643
104712
|
current = child;
|
|
104644
104713
|
}
|
|
104645
104714
|
current.children?.push({
|
|
104646
|
-
name: parts[parts.length - 1] ||
|
|
104715
|
+
name: parts[parts.length - 1] || basename4(filePath),
|
|
104647
104716
|
path: filePath,
|
|
104648
104717
|
size
|
|
104649
104718
|
});
|
|
@@ -104665,7 +104734,7 @@ async function buildDependencyTree(entryPath, cwd) {
|
|
|
104665
104734
|
const modulePattern = /\/\/\s*(.+?\.(?:ts|tsx|js|jsx|mjs|cjs))\s*$/gm;
|
|
104666
104735
|
const nodeModulesNode = {
|
|
104667
104736
|
name: "node_modules",
|
|
104668
|
-
path:
|
|
104737
|
+
path: join17(cwd, "node_modules"),
|
|
104669
104738
|
size: 0,
|
|
104670
104739
|
children: []
|
|
104671
104740
|
};
|
|
@@ -104731,7 +104800,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104731
104800
|
if (sourcePath.startsWith("/") || sourcePath.match(/^[A-Za-z]:\\/))
|
|
104732
104801
|
return sourcePath;
|
|
104733
104802
|
const bundleDir = bundlePath.substring(0, bundlePath.lastIndexOf("/"));
|
|
104734
|
-
return
|
|
104803
|
+
return join17(bundleDir, sourceRoot || "", sourcePath);
|
|
104735
104804
|
}, computeSizes = function(node) {
|
|
104736
104805
|
if (node.children && node.children.length > 0) {
|
|
104737
104806
|
node.size = node.children.reduce((s, c) => s + computeSizes(c), 0);
|
|
@@ -104796,14 +104865,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104796
104865
|
}
|
|
104797
104866
|
}
|
|
104798
104867
|
const root = {
|
|
104799
|
-
name:
|
|
104868
|
+
name: basename4(bundlePath),
|
|
104800
104869
|
path: bundlePath,
|
|
104801
104870
|
size: 0,
|
|
104802
104871
|
children: []
|
|
104803
104872
|
};
|
|
104804
104873
|
const nodeModulesNode = {
|
|
104805
104874
|
name: "node_modules",
|
|
104806
|
-
path:
|
|
104875
|
+
path: join17(cwd, "node_modules"),
|
|
104807
104876
|
size: 0,
|
|
104808
104877
|
children: []
|
|
104809
104878
|
};
|
|
@@ -104843,14 +104912,14 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104843
104912
|
if (!pkgNode) {
|
|
104844
104913
|
pkgNode = {
|
|
104845
104914
|
name: pkgName || "unknown",
|
|
104846
|
-
path:
|
|
104915
|
+
path: join17(cwd, "node_modules", pkgName || ""),
|
|
104847
104916
|
size: 0,
|
|
104848
104917
|
children: []
|
|
104849
104918
|
};
|
|
104850
104919
|
nodeModulesNode.children?.push(pkgNode);
|
|
104851
104920
|
}
|
|
104852
104921
|
pkgNode.children?.push({
|
|
104853
|
-
name:
|
|
104922
|
+
name: basename4(srcPath),
|
|
104854
104923
|
path: srcPath,
|
|
104855
104924
|
size
|
|
104856
104925
|
});
|
|
@@ -104864,7 +104933,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104864
104933
|
if (!child) {
|
|
104865
104934
|
child = {
|
|
104866
104935
|
name: part,
|
|
104867
|
-
path:
|
|
104936
|
+
path: join17(cwd, ...parts.slice(0, i2 + 1)),
|
|
104868
104937
|
size: 0,
|
|
104869
104938
|
children: []
|
|
104870
104939
|
};
|
|
@@ -104873,7 +104942,7 @@ async function buildTreeFromSourceMap(bundlePath, cwd) {
|
|
|
104873
104942
|
current = child;
|
|
104874
104943
|
}
|
|
104875
104944
|
current.children?.push({
|
|
104876
|
-
name: parts[parts.length - 1] ||
|
|
104945
|
+
name: parts[parts.length - 1] || basename4(srcPath),
|
|
104877
104946
|
path: srcPath,
|
|
104878
104947
|
size
|
|
104879
104948
|
});
|
|
@@ -104894,11 +104963,11 @@ async function generateHTMLReport(stats, depTree, mainInfo, browserDepTree, brow
|
|
|
104894
104963
|
let actualServerBinarySize = null;
|
|
104895
104964
|
let actualServerBinaryGzipped = null;
|
|
104896
104965
|
try {
|
|
104897
|
-
const distDir =
|
|
104966
|
+
const distDir = join17(process.cwd(), "dist");
|
|
104898
104967
|
if (existsSync11(distDir)) {
|
|
104899
104968
|
const files = await readdir8(distDir);
|
|
104900
104969
|
for (const file of files) {
|
|
104901
|
-
const filePath =
|
|
104970
|
+
const filePath = join17(distDir, file);
|
|
104902
104971
|
const stats2 = statSync(filePath);
|
|
104903
104972
|
if (stats2.isFile() && !file.includes(".")) {
|
|
104904
104973
|
actualServerBinarySize = stats2.size;
|
|
@@ -106380,11 +106449,11 @@ async function printConsoleReport(stats, depTree, mainInfo, browserDepTree, brow
|
|
|
106380
106449
|
let actualServerBinarySize = null;
|
|
106381
106450
|
let actualServerBinaryGzipped = null;
|
|
106382
106451
|
try {
|
|
106383
|
-
const distDir =
|
|
106452
|
+
const distDir = join17(process.cwd(), "dist");
|
|
106384
106453
|
if (existsSync11(distDir)) {
|
|
106385
106454
|
const files = await readdir8(distDir);
|
|
106386
106455
|
for (const file of files) {
|
|
106387
|
-
const filePath =
|
|
106456
|
+
const filePath = join17(distDir, file);
|
|
106388
106457
|
const stats2 = statSync(filePath);
|
|
106389
106458
|
if (stats2.isFile() && !file.includes(".")) {
|
|
106390
106459
|
actualServerBinarySize = stats2.size;
|
|
@@ -106418,13 +106487,13 @@ async function analyze(args) {
|
|
|
106418
106487
|
const isProd = isProductionMode(args);
|
|
106419
106488
|
const searchIndex = args.indexOf("--search");
|
|
106420
106489
|
const initialSearch = searchIndex !== -1 && args[searchIndex + 1] ? args[searchIndex + 1] : "";
|
|
106421
|
-
const rerouteIndexPath =
|
|
106490
|
+
const rerouteIndexPath = join17(cwd, ".reroute", "index.ts");
|
|
106422
106491
|
if (!existsSync11(rerouteIndexPath)) {
|
|
106423
106492
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] .reroute artifacts not found, running build...
|
|
106424
106493
|
`));
|
|
106425
106494
|
const { spawn: spawn4 } = await import("node:child_process");
|
|
106426
|
-
const { getRerouteCommand:
|
|
106427
|
-
const rerouteCmd =
|
|
106495
|
+
const { getRerouteCommand: getRerouteCommand4 } = await Promise.resolve().then(() => (init_command(), exports_command));
|
|
106496
|
+
const rerouteCmd = getRerouteCommand4();
|
|
106428
106497
|
const useShell = rerouteCmd.includes(" ");
|
|
106429
106498
|
const buildCommand = useShell ? `${rerouteCmd} build` : rerouteCmd;
|
|
106430
106499
|
const buildArgs = useShell ? [] : ["build"];
|
|
@@ -106465,11 +106534,11 @@ async function analyze(args) {
|
|
|
106465
106534
|
`));
|
|
106466
106535
|
}
|
|
106467
106536
|
try {
|
|
106468
|
-
const browserStat = await
|
|
106537
|
+
const browserStat = await stat6(browserEntry);
|
|
106469
106538
|
const browserContent = await readFile(browserEntry);
|
|
106470
106539
|
const browserGzipped = Bun.gzipSync(browserContent).length;
|
|
106471
106540
|
browserInfo = {
|
|
106472
|
-
name:
|
|
106541
|
+
name: basename4(browserEntry),
|
|
106473
106542
|
size: browserStat.size,
|
|
106474
106543
|
gzippedSize: browserGzipped
|
|
106475
106544
|
};
|
|
@@ -106481,12 +106550,12 @@ async function analyze(args) {
|
|
|
106481
106550
|
let entry = null;
|
|
106482
106551
|
let depTree = null;
|
|
106483
106552
|
let mainInfo = null;
|
|
106484
|
-
const srcEntry =
|
|
106553
|
+
const srcEntry = join17(cwd, "src", "index.ts");
|
|
106485
106554
|
if (existsSync11(srcEntry)) {
|
|
106486
106555
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] Building server binary for analysis...
|
|
106487
106556
|
`));
|
|
106488
106557
|
const { mkdir: mkdir4 } = await import("node:fs/promises");
|
|
106489
|
-
const serverAnalysisDir =
|
|
106558
|
+
const serverAnalysisDir = join17(cwd, ".reroute", "server");
|
|
106490
106559
|
await mkdir4(serverAnalysisDir, { recursive: true });
|
|
106491
106560
|
const result = await Bun.build({
|
|
106492
106561
|
entrypoints: [srcEntry],
|
|
@@ -106499,7 +106568,7 @@ async function analyze(args) {
|
|
|
106499
106568
|
if (result.success && result.outputs.length > 0) {
|
|
106500
106569
|
const output = result.outputs[0];
|
|
106501
106570
|
const code = await output.text();
|
|
106502
|
-
const analysisEntry =
|
|
106571
|
+
const analysisEntry = join17(serverAnalysisDir, "index.js");
|
|
106503
106572
|
await writeFile2(analysisEntry, code, "utf-8");
|
|
106504
106573
|
const mapOutput = result.outputs.find((o) => o.path.endsWith(".map"));
|
|
106505
106574
|
if (mapOutput) {
|
|
@@ -106517,7 +106586,7 @@ async function analyze(args) {
|
|
|
106517
106586
|
`));
|
|
106518
106587
|
const installedSizes = await getInstalledPackageSizes(cwd);
|
|
106519
106588
|
if (depTree) {
|
|
106520
|
-
const packageJsonPath =
|
|
106589
|
+
const packageJsonPath = join17(cwd, "package.json");
|
|
106521
106590
|
if (existsSync11(packageJsonPath)) {
|
|
106522
106591
|
try {
|
|
106523
106592
|
const packageJson = JSON.parse(await readFile(packageJsonPath, "utf-8"));
|
|
@@ -106529,7 +106598,7 @@ async function analyze(args) {
|
|
|
106529
106598
|
if (!trackedPkgs.has(pkgName) && installedSizes.has(pkgName)) {
|
|
106530
106599
|
nodeModulesNode.children?.push({
|
|
106531
106600
|
name: pkgName,
|
|
106532
|
-
path:
|
|
106601
|
+
path: join17(cwd, "node_modules", pkgName),
|
|
106533
106602
|
size: installedSizes.get(pkgName) || 0
|
|
106534
106603
|
});
|
|
106535
106604
|
}
|
|
@@ -106547,11 +106616,11 @@ async function analyze(args) {
|
|
|
106547
106616
|
}
|
|
106548
106617
|
}
|
|
106549
106618
|
try {
|
|
106550
|
-
const entryStat = await
|
|
106619
|
+
const entryStat = await stat6(entry);
|
|
106551
106620
|
const entryContent = await readFile(entry);
|
|
106552
106621
|
const entryGzipped = Bun.gzipSync(entryContent).length;
|
|
106553
106622
|
mainInfo = {
|
|
106554
|
-
name:
|
|
106623
|
+
name: basename4(entry),
|
|
106555
106624
|
size: entryStat.size,
|
|
106556
106625
|
gzippedSize: entryGzipped
|
|
106557
106626
|
};
|
|
@@ -106560,10 +106629,10 @@ async function analyze(args) {
|
|
|
106560
106629
|
const fullOutput = args.includes("--full");
|
|
106561
106630
|
await printConsoleReport(stats, depTree, mainInfo, browserDepTree, browserInfo, fullOutput);
|
|
106562
106631
|
if (outputHtml || openBrowser) {
|
|
106563
|
-
const htmlPath =
|
|
106632
|
+
const htmlPath = join17(cwd, ".reroute", "analysis.html");
|
|
106564
106633
|
const html2 = await generateHTMLReport(stats, depTree, mainInfo, browserDepTree, browserInfo, initialSearch);
|
|
106565
106634
|
const { mkdir: mkdir4 } = await import("node:fs/promises");
|
|
106566
|
-
await mkdir4(
|
|
106635
|
+
await mkdir4(join17(cwd, ".reroute"), { recursive: true });
|
|
106567
106636
|
await writeFile2(htmlPath, html2, "utf-8");
|
|
106568
106637
|
console.log(colorizeLogPrefixAnsi(`[reroute/analyze] HTML report generated: ${relative3(cwd, htmlPath)}
|
|
106569
106638
|
`));
|
|
@@ -106627,7 +106696,7 @@ __export(exports_og, {
|
|
|
106627
106696
|
});
|
|
106628
106697
|
import { spawn as spawn4 } from "node:child_process";
|
|
106629
106698
|
import { readdir as readdir9 } from "node:fs/promises";
|
|
106630
|
-
import { join as
|
|
106699
|
+
import { join as join18 } from "node:path";
|
|
106631
106700
|
function getPortFromConfig(baseUrl) {
|
|
106632
106701
|
if (!baseUrl)
|
|
106633
106702
|
return 3000;
|
|
@@ -106648,7 +106717,7 @@ async function killProcessOnPort(port) {
|
|
|
106648
106717
|
});
|
|
106649
106718
|
} catch {}
|
|
106650
106719
|
}
|
|
106651
|
-
async function
|
|
106720
|
+
async function isServerRunning2(port) {
|
|
106652
106721
|
try {
|
|
106653
106722
|
const response = await fetch(`http://localhost:${port}`, {
|
|
106654
106723
|
signal: AbortSignal.timeout(1000)
|
|
@@ -106659,7 +106728,7 @@ async function isServerRunning(port) {
|
|
|
106659
106728
|
}
|
|
106660
106729
|
}
|
|
106661
106730
|
async function ensureServer(cwd, port) {
|
|
106662
|
-
const alreadyRunning = await
|
|
106731
|
+
const alreadyRunning = await isServerRunning2(port);
|
|
106663
106732
|
if (alreadyRunning) {
|
|
106664
106733
|
console.log(`✅ Dev server already running at http://localhost:${port}
|
|
106665
106734
|
`);
|
|
@@ -106706,8 +106775,8 @@ async function scanForOgTemplates(dir, base, routes) {
|
|
|
106706
106775
|
try {
|
|
106707
106776
|
const entries = await readdir9(dir, { withFileTypes: true });
|
|
106708
106777
|
for (const entry of entries) {
|
|
106709
|
-
const fullPath =
|
|
106710
|
-
const relativePath =
|
|
106778
|
+
const fullPath = join18(dir, entry.name);
|
|
106779
|
+
const relativePath = join18(base, entry.name);
|
|
106711
106780
|
if (entry.isDirectory()) {
|
|
106712
106781
|
if (entry.name === "content")
|
|
106713
106782
|
continue;
|
|
@@ -106728,7 +106797,7 @@ async function addContentRoutes(routesPath, routes) {
|
|
|
106728
106797
|
for (const entry of entries) {
|
|
106729
106798
|
if (!entry.isDirectory())
|
|
106730
106799
|
continue;
|
|
106731
|
-
const contentDir =
|
|
106800
|
+
const contentDir = join18(routesPath, entry.name, "content");
|
|
106732
106801
|
try {
|
|
106733
106802
|
const contentFiles = await readdir9(contentDir);
|
|
106734
106803
|
if (contentFiles.length === 0)
|
|
@@ -106745,7 +106814,7 @@ async function addContentRoutes(routesPath, routes) {
|
|
|
106745
106814
|
async function findRoutesWithOG(cwd) {
|
|
106746
106815
|
const routes = [];
|
|
106747
106816
|
try {
|
|
106748
|
-
const manifestPath =
|
|
106817
|
+
const manifestPath = join18(cwd, ".reroute", "manifest.json");
|
|
106749
106818
|
const manifestFile = Bun.file(manifestPath);
|
|
106750
106819
|
const manifest = await manifestFile.json();
|
|
106751
106820
|
if (manifest.staticRoutes && Array.isArray(manifest.staticRoutes)) {
|
|
@@ -106756,7 +106825,7 @@ async function findRoutesWithOG(cwd) {
|
|
|
106756
106825
|
}
|
|
106757
106826
|
} catch {
|
|
106758
106827
|
console.warn("⚠️ .reroute/manifest.json not found, scanning routes directory...");
|
|
106759
|
-
const routesPath =
|
|
106828
|
+
const routesPath = join18(cwd, ROUTES_DIR2);
|
|
106760
106829
|
await scanForOgTemplates(routesPath, "", routes);
|
|
106761
106830
|
await addContentRoutes(routesPath, routes);
|
|
106762
106831
|
}
|
|
@@ -107008,7 +107077,7 @@ async function getVersionString2() {
|
|
|
107008
107077
|
}
|
|
107009
107078
|
async function getVersion2() {
|
|
107010
107079
|
if (true) {
|
|
107011
|
-
return "1.0.0-alpha.
|
|
107080
|
+
return "1.0.0-alpha.5";
|
|
107012
107081
|
}
|
|
107013
107082
|
const possiblePaths = [
|
|
107014
107083
|
path3.join(import.meta.dir, "../../../package.json"),
|
|
@@ -107025,10 +107094,10 @@ async function getVersion2() {
|
|
|
107025
107094
|
}
|
|
107026
107095
|
async function getCommit2() {
|
|
107027
107096
|
if (true) {
|
|
107028
|
-
return "
|
|
107097
|
+
return "403cf32";
|
|
107029
107098
|
}
|
|
107030
107099
|
return "dev";
|
|
107031
107100
|
}
|
|
107032
107101
|
main();
|
|
107033
107102
|
|
|
107034
|
-
//# debugId=
|
|
107103
|
+
//# debugId=CD4585F819A6C03E64756E2164756E21
|