reroute-js 0.41.1 → 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 +82 -21
- package/cli/bin.js.map +6 -6
- 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 +78 -17
- package/core/index.js.map +6 -6
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +6 -4
- package/core/src/config.d.ts.map +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/discovery.d.ts.map +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/discovery.d.ts.map +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 +78 -17
- package/elysia/index.js.map +6 -6
- 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 +4 -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.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.
|
|
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.
|
|
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)
|
|
@@ -4491,6 +4548,8 @@ function extractIdentifierFromItem(item, routePattern, sitemapConfig) {
|
|
|
4491
4548
|
if (sitemapConfig?.extractUrl) {
|
|
4492
4549
|
try {
|
|
4493
4550
|
const identifier2 = sitemapConfig.extractUrl(item, routePattern);
|
|
4551
|
+
if (identifier2 === false)
|
|
4552
|
+
return null;
|
|
4494
4553
|
if (identifier2)
|
|
4495
4554
|
return identifier2;
|
|
4496
4555
|
} catch (error) {
|
|
@@ -4746,6 +4805,8 @@ function extractIdentifier2(item, routePattern, rssConfig) {
|
|
|
4746
4805
|
if (rssConfig?.extractUrl) {
|
|
4747
4806
|
try {
|
|
4748
4807
|
const identifier = rssConfig.extractUrl(item, routePattern);
|
|
4808
|
+
if (identifier === false)
|
|
4809
|
+
return null;
|
|
4749
4810
|
if (identifier)
|
|
4750
4811
|
return String(identifier);
|
|
4751
4812
|
} catch (error) {
|
|
@@ -105835,7 +105896,7 @@ async function getVersionString2() {
|
|
|
105835
105896
|
}
|
|
105836
105897
|
async function getVersion2() {
|
|
105837
105898
|
if (true) {
|
|
105838
|
-
return "0.
|
|
105899
|
+
return "0.42.1";
|
|
105839
105900
|
}
|
|
105840
105901
|
const possiblePaths = [
|
|
105841
105902
|
path3.join(import.meta.dir, "../../../package.json"),
|
|
@@ -105852,10 +105913,10 @@ async function getVersion2() {
|
|
|
105852
105913
|
}
|
|
105853
105914
|
async function getCommit2() {
|
|
105854
105915
|
if (true) {
|
|
105855
|
-
return "
|
|
105916
|
+
return "9c8c128";
|
|
105856
105917
|
}
|
|
105857
105918
|
return "dev";
|
|
105858
105919
|
}
|
|
105859
105920
|
main();
|
|
105860
105921
|
|
|
105861
|
-
//# debugId=
|
|
105922
|
+
//# debugId=EC8E02CE3A67EA5F64756E2164756E21
|