reroute-js 0.42.0 → 0.42.1
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 +78 -21
- package/cli/bin.js.map +3 -3
- package/cli/index.d.ts +1 -1
- package/cli/index.js +4 -4
- package/cli/index.js.map +1 -1
- 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 +1 -1
- package/cli/src/commands/gen.d.ts +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +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/tailwind.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.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 +74 -17
- package/core/index.js.map +3 -3
- 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/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/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/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +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/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 +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 +74 -17
- package/elysia/index.js.map +3 -3
- 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/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/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +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/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/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +2 -2
- 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/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 +2 -2
- package/telemetry/react.js.map +1 -1
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +2 -2
- package/telemetry/server.js.map +2 -2
- 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.d.ts
CHANGED
package/cli/bin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
3
|
/**
|
|
4
|
-
* reroute-js v0.42.
|
|
4
|
+
* reroute-js v0.42.1
|
|
5
5
|
*
|
|
6
6
|
* @license MIT
|
|
7
7
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -48,7 +48,7 @@ async function getVersionString() {
|
|
|
48
48
|
}
|
|
49
49
|
async function getVersion() {
|
|
50
50
|
if (true) {
|
|
51
|
-
return "0.42.
|
|
51
|
+
return "0.42.1";
|
|
52
52
|
}
|
|
53
53
|
const possiblePaths = [
|
|
54
54
|
path.join(import.meta.dir, "../../../../package.json"),
|
|
@@ -66,7 +66,7 @@ async function getVersion() {
|
|
|
66
66
|
}
|
|
67
67
|
async function getCommit() {
|
|
68
68
|
if (true) {
|
|
69
|
-
return "
|
|
69
|
+
return "9c8c128";
|
|
70
70
|
}
|
|
71
71
|
return "dev";
|
|
72
72
|
}
|
|
@@ -2226,7 +2226,7 @@ async function processLayoutForMetadata(layout, clientDir, isWatchMode, addHead,
|
|
|
2226
2226
|
if (meta)
|
|
2227
2227
|
addHead(buildHeadFromMeta(meta, ogConfig));
|
|
2228
2228
|
if (ssr) {
|
|
2229
|
-
const ssrHead = extractSSRHead(ssr);
|
|
2229
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
2230
2230
|
if (ssrHead)
|
|
2231
2231
|
addHead(`
|
|
2232
2232
|
${ssrHead}`);
|
|
@@ -2256,7 +2256,7 @@ function extractContentMetadata(pathname, addHead, setLang, ogConfig) {
|
|
|
2256
2256
|
const meta = exp?.meta;
|
|
2257
2257
|
const ssr = exp?.ssr;
|
|
2258
2258
|
addHead(buildHeadFromMeta(meta, ogConfig));
|
|
2259
|
-
const ssrHead = extractSSRHead(ssr);
|
|
2259
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
2260
2260
|
if (ssrHead)
|
|
2261
2261
|
addHead(`
|
|
2262
2262
|
${ssrHead}`);
|
|
@@ -2281,7 +2281,7 @@ async function extractMatchedRouteMetadata(pathname, clientDir, m, isWatchMode,
|
|
|
2281
2281
|
head += buildHeadFromMeta(meta, ogConfig);
|
|
2282
2282
|
if (ssr) {
|
|
2283
2283
|
const routeData = ssrData && typeof ssrData === "object" ? ssrData[pathname] : undefined;
|
|
2284
|
-
const ssrHead = extractSSRHead(ssr, routeData);
|
|
2284
|
+
const ssrHead = extractSSRHead(ssr, routeData, ogConfig, head);
|
|
2285
2285
|
if (ssrHead)
|
|
2286
2286
|
head += `
|
|
2287
2287
|
${ssrHead}`;
|
|
@@ -2347,7 +2347,7 @@ async function extractNotFoundMetadata(pathname, clientDir, routesModule, isWatc
|
|
|
2347
2347
|
const { meta, ssr } = await loadModuleMetaAndSSR(chosen, abs, isWatchMode);
|
|
2348
2348
|
if (meta)
|
|
2349
2349
|
head += buildHeadFromMeta(meta, ogConfig);
|
|
2350
|
-
const ssrHead = extractSSRHead(ssr);
|
|
2350
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
2351
2351
|
if (ssrHead)
|
|
2352
2352
|
head += `
|
|
2353
2353
|
${ssrHead}`;
|
|
@@ -2358,29 +2358,86 @@ ${ssrHead}`;
|
|
|
2358
2358
|
} catch {}
|
|
2359
2359
|
return head;
|
|
2360
2360
|
}
|
|
2361
|
-
function
|
|
2361
|
+
function parseTitleFromHead(head) {
|
|
2362
|
+
const match = head.match(/<title[^>]*>(.*?)<\/title>/is);
|
|
2363
|
+
if (match?.[1])
|
|
2364
|
+
return unescapeHtml(match[1].trim());
|
|
2365
|
+
return;
|
|
2366
|
+
}
|
|
2367
|
+
function parseDescriptionFromHead(head) {
|
|
2368
|
+
let match = head.match(/<meta\s+name=["']description["']\s+content=["'](.+?)["']\s*\/?>/i);
|
|
2369
|
+
if (match?.[1])
|
|
2370
|
+
return unescapeHtml(match[1].trim());
|
|
2371
|
+
match = head.match(/<meta\s+content=["'](.+?)["']\s+name=["']description["']\s*\/?>/i);
|
|
2372
|
+
if (match?.[1])
|
|
2373
|
+
return unescapeHtml(match[1].trim());
|
|
2374
|
+
return;
|
|
2375
|
+
}
|
|
2376
|
+
function unescapeHtml(input) {
|
|
2377
|
+
return input.replace(/"/g, '"').replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
2378
|
+
}
|
|
2379
|
+
function hasMetaTag(head, property) {
|
|
2380
|
+
const propRegex = new RegExp(`<meta\\s+(?:property|name)=["']${property}["']`, "i");
|
|
2381
|
+
const contentFirstRegex = new RegExp(`<meta\\s+content=["'][^"']*["']\\s+(?:property|name)=["']${property}["']`, "i");
|
|
2382
|
+
return propRegex.test(head) || contentFirstRegex.test(head);
|
|
2383
|
+
}
|
|
2384
|
+
function generateMissingOGTags(head, ogConfig) {
|
|
2385
|
+
const title = parseTitleFromHead(head);
|
|
2386
|
+
const description = parseDescriptionFromHead(head);
|
|
2387
|
+
const additionalTags = [];
|
|
2388
|
+
if (title && !hasMetaTag(head, "og:title")) {
|
|
2389
|
+
additionalTags.push(`<meta property="og:title" content="${escapeHtml2(title)}" />`);
|
|
2390
|
+
}
|
|
2391
|
+
const finalDescription = description || ogConfig?.siteDescription;
|
|
2392
|
+
if (finalDescription && !hasMetaTag(head, "og:description")) {
|
|
2393
|
+
additionalTags.push(`<meta property="og:description" content="${escapeHtml2(finalDescription)}" />`);
|
|
2394
|
+
}
|
|
2395
|
+
if (title && !hasMetaTag(head, "twitter:title")) {
|
|
2396
|
+
additionalTags.push(`<meta name="twitter:title" content="${escapeHtml2(title)}" />`);
|
|
2397
|
+
}
|
|
2398
|
+
if (finalDescription && !hasMetaTag(head, "twitter:description")) {
|
|
2399
|
+
additionalTags.push(`<meta name="twitter:description" content="${escapeHtml2(finalDescription)}" />`);
|
|
2400
|
+
}
|
|
2401
|
+
if (!hasMetaTag(head, "og:type")) {
|
|
2402
|
+
const ogType = ogConfig?.defaultType || "website";
|
|
2403
|
+
additionalTags.push(`<meta property="og:type" content="${escapeHtml2(ogType)}" />`);
|
|
2404
|
+
}
|
|
2405
|
+
if (!hasMetaTag(head, "twitter:card")) {
|
|
2406
|
+
const twitterCard = ogConfig?.twitterCard || "summary_large_image";
|
|
2407
|
+
additionalTags.push(`<meta name="twitter:card" content="${twitterCard}" />`);
|
|
2408
|
+
}
|
|
2409
|
+
return additionalTags.length > 0 ? `
|
|
2410
|
+
${additionalTags.join(`
|
|
2411
|
+
`)}` : "";
|
|
2412
|
+
}
|
|
2413
|
+
function extractSSRHead(ssr, data, ogConfig, existingHead) {
|
|
2362
2414
|
if (!ssr)
|
|
2363
2415
|
return "";
|
|
2416
|
+
let headContent = "";
|
|
2364
2417
|
if (typeof ssr.head === "function") {
|
|
2365
2418
|
try {
|
|
2366
2419
|
const result = ssr.head({ data });
|
|
2367
2420
|
if (typeof result === "string")
|
|
2368
|
-
|
|
2369
|
-
if (Array.isArray(result))
|
|
2370
|
-
|
|
2421
|
+
headContent = result;
|
|
2422
|
+
else if (Array.isArray(result))
|
|
2423
|
+
headContent = String(result.join(`
|
|
2371
2424
|
`));
|
|
2372
|
-
return "";
|
|
2373
2425
|
} catch (err) {
|
|
2374
2426
|
console.error("[extractSSRHead] Error calling head function:", err);
|
|
2375
2427
|
return "";
|
|
2376
2428
|
}
|
|
2377
|
-
}
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
return String(ssr.head.join(`
|
|
2429
|
+
} else if (typeof ssr.head === "string") {
|
|
2430
|
+
headContent = ssr.head;
|
|
2431
|
+
} else if (Array.isArray(ssr.head)) {
|
|
2432
|
+
headContent = String(ssr.head.join(`
|
|
2382
2433
|
`));
|
|
2383
|
-
|
|
2434
|
+
}
|
|
2435
|
+
if (!headContent)
|
|
2436
|
+
return "";
|
|
2437
|
+
const combinedHead = existingHead ? `${existingHead}
|
|
2438
|
+
${headContent}` : headContent;
|
|
2439
|
+
const additionalOGTags = generateMissingOGTags(combinedHead, ogConfig);
|
|
2440
|
+
return headContent + additionalOGTags;
|
|
2384
2441
|
}
|
|
2385
2442
|
function extractSSRLang(ssr) {
|
|
2386
2443
|
if (!ssr)
|
|
@@ -105839,7 +105896,7 @@ async function getVersionString2() {
|
|
|
105839
105896
|
}
|
|
105840
105897
|
async function getVersion2() {
|
|
105841
105898
|
if (true) {
|
|
105842
|
-
return "0.42.
|
|
105899
|
+
return "0.42.1";
|
|
105843
105900
|
}
|
|
105844
105901
|
const possiblePaths = [
|
|
105845
105902
|
path3.join(import.meta.dir, "../../../package.json"),
|
|
@@ -105856,10 +105913,10 @@ async function getVersion2() {
|
|
|
105856
105913
|
}
|
|
105857
105914
|
async function getCommit2() {
|
|
105858
105915
|
if (true) {
|
|
105859
|
-
return "
|
|
105916
|
+
return "9c8c128";
|
|
105860
105917
|
}
|
|
105861
105918
|
return "dev";
|
|
105862
105919
|
}
|
|
105863
105920
|
main();
|
|
105864
105921
|
|
|
105865
|
-
//# debugId=
|
|
105922
|
+
//# debugId=EC8E02CE3A67EA5F64756E2164756E21
|