reroute-js 0.42.0 → 0.43.0
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 +183 -25
- 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 +179 -21
- 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 +81 -5
- 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/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/metadata.d.ts.map +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 +4 -1
- package/core/src/ssr/lib/setup.d.ts.map +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 +3 -1
- package/core/src/ssr/lib/types.d.ts.map +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/core/src/ssr/stream.d.ts.map +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +235 -58
- package/elysia/index.js.map +8 -8
- 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/plugin.d.ts.map +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 +6 -3
- package/elysia/src/routes/ssr.d.ts.map +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 +17 -5
- package/react/index.js.map +3 -3
- 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/RouterProvider.d.ts.map +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 +6 -6
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/headers/extractor.d.ts +1 -1
- package/telemetry/src/server/headers/index.d.ts +1 -1
- package/telemetry/src/server/headers/presets.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/index.d.ts
CHANGED
package/cli/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v0.
|
|
2
|
+
* reroute-js v0.43.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -714,7 +714,7 @@ async function getVersionString() {
|
|
|
714
714
|
}
|
|
715
715
|
async function getVersion() {
|
|
716
716
|
if (true) {
|
|
717
|
-
return "0.
|
|
717
|
+
return "0.43.0";
|
|
718
718
|
}
|
|
719
719
|
const possiblePaths = [
|
|
720
720
|
path.join(import.meta.dir, "../../../../package.json"),
|
|
@@ -732,7 +732,7 @@ async function getVersion() {
|
|
|
732
732
|
}
|
|
733
733
|
async function getCommit() {
|
|
734
734
|
if (true) {
|
|
735
|
-
return "
|
|
735
|
+
return "8a3c652";
|
|
736
736
|
}
|
|
737
737
|
return "dev";
|
|
738
738
|
}
|
|
@@ -760,4 +760,4 @@ export {
|
|
|
760
760
|
blessedToAnsi
|
|
761
761
|
};
|
|
762
762
|
|
|
763
|
-
//# debugId=
|
|
763
|
+
//# debugId=E68872C24A010CE964756E2164756E21
|
package/cli/index.js.map
CHANGED
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
"import path from 'node:path';\n\n// Version and commit injected at build time\ndeclare const __REROUTE_VERSION__: string;\ndeclare const __REROUTE_COMMIT__: string;\n\nexport async function getVersionString(): Promise<string> {\n\tconst version = await getVersion();\n\tconst commit = await getCommit();\n\treturn `Reroute v${version} ${commit}`;\n}\n\nasync function getVersion(): Promise<string> {\n\t// Use version injected at build time\n\tif (typeof __REROUTE_VERSION__ !== 'undefined') {\n\t\treturn __REROUTE_VERSION__;\n\t}\n\n\t// Fallback for development: try to find package.json\n\tconst possiblePaths = [\n\t\tpath.join(import.meta.dir, '../../../../package.json'),\n\t\tpath.join(import.meta.dir, '../../../package.json'),\n\t\tpath.join(import.meta.dir, '../../package.json'),\n\t\tpath.join(import.meta.dir, '../package.json'),\n\t];\n\n\tfor (const pkgPath of possiblePaths) {\n\t\ttry {\n\t\t\tconst pkg = await Bun.file(pkgPath).json();\n\t\t\treturn pkg.version;\n\t\t} catch {}\n\t}\n\n\treturn 'unknown';\n}\n\nasync function getCommit(): Promise<string> {\n\t// Use commit injected at build time\n\tif (typeof __REROUTE_COMMIT__ !== 'undefined') {\n\t\treturn __REROUTE_COMMIT__;\n\t}\n\n\t// Fallback for development\n\treturn 'dev';\n}\n"
|
|
13
13
|
],
|
|
14
14
|
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
15
|
+
"debugId": "E68872C24A010CE964756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|
package/cli/src/cli.d.ts
CHANGED
package/cli/src/commands/og.d.ts
CHANGED
package/cli/src/index.d.ts
CHANGED
package/core/index.d.ts
CHANGED
package/core/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v0.
|
|
2
|
+
* reroute-js v0.43.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -1908,7 +1908,12 @@ ${ogMetaTags}`;
|
|
|
1908
1908
|
if (routeResult.lang)
|
|
1909
1909
|
pageLang = routeResult.lang;
|
|
1910
1910
|
statusOverride = routeResult.statusOverride;
|
|
1911
|
-
return {
|
|
1911
|
+
return {
|
|
1912
|
+
perPageHead,
|
|
1913
|
+
pageLang,
|
|
1914
|
+
statusOverride,
|
|
1915
|
+
ssrExport: routeResult.ssrExport
|
|
1916
|
+
};
|
|
1912
1917
|
}
|
|
1913
1918
|
async function processLayoutForMetadata(layout, clientDir, isWatchMode, addHead, setLang, ogConfig) {
|
|
1914
1919
|
if (typeof layout?.path !== "string")
|
|
@@ -1919,7 +1924,7 @@ async function processLayoutForMetadata(layout, clientDir, isWatchMode, addHead,
|
|
|
1919
1924
|
if (meta)
|
|
1920
1925
|
addHead(buildHeadFromMeta(meta, ogConfig));
|
|
1921
1926
|
if (ssr) {
|
|
1922
|
-
const ssrHead = extractSSRHead(ssr);
|
|
1927
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
1923
1928
|
if (ssrHead)
|
|
1924
1929
|
addHead(`
|
|
1925
1930
|
${ssrHead}`);
|
|
@@ -1949,7 +1954,7 @@ function extractContentMetadata(pathname, addHead, setLang, ogConfig) {
|
|
|
1949
1954
|
const meta = exp?.meta;
|
|
1950
1955
|
const ssr = exp?.ssr;
|
|
1951
1956
|
addHead(buildHeadFromMeta(meta, ogConfig));
|
|
1952
|
-
const ssrHead = extractSSRHead(ssr);
|
|
1957
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
1953
1958
|
if (ssrHead)
|
|
1954
1959
|
addHead(`
|
|
1955
1960
|
${ssrHead}`);
|
|
@@ -1974,11 +1979,16 @@ async function extractMatchedRouteMetadata(pathname, clientDir, m, isWatchMode,
|
|
|
1974
1979
|
head += buildHeadFromMeta(meta, ogConfig);
|
|
1975
1980
|
if (ssr) {
|
|
1976
1981
|
const routeData = ssrData && typeof ssrData === "object" ? ssrData[pathname] : undefined;
|
|
1977
|
-
const ssrHead = extractSSRHead(ssr, routeData);
|
|
1982
|
+
const ssrHead = extractSSRHead(ssr, routeData, ogConfig, head);
|
|
1978
1983
|
if (ssrHead)
|
|
1979
1984
|
head += `
|
|
1980
1985
|
${ssrHead}`;
|
|
1981
|
-
return {
|
|
1986
|
+
return {
|
|
1987
|
+
head,
|
|
1988
|
+
lang: extractSSRLang(ssr),
|
|
1989
|
+
statusOverride,
|
|
1990
|
+
ssrExport: ssr
|
|
1991
|
+
};
|
|
1982
1992
|
}
|
|
1983
1993
|
return { head, statusOverride };
|
|
1984
1994
|
} catch {}
|
|
@@ -1989,6 +1999,7 @@ async function extractRouteMetadata(pathname, clientDir, cwd, isWatchMode, curre
|
|
|
1989
1999
|
let head = "";
|
|
1990
2000
|
let lang;
|
|
1991
2001
|
let statusOverride = currentStatusOverride;
|
|
2002
|
+
let ssrExport;
|
|
1992
2003
|
try {
|
|
1993
2004
|
const m = await loadRoutesModule(cwd, isWatchMode);
|
|
1994
2005
|
if (!m) {
|
|
@@ -2005,13 +2016,14 @@ async function extractRouteMetadata(pathname, clientDir, cwd, isWatchMode, curre
|
|
|
2005
2016
|
head = result.head;
|
|
2006
2017
|
lang = result.lang;
|
|
2007
2018
|
statusOverride = result.statusOverride;
|
|
2019
|
+
ssrExport = result.ssrExport;
|
|
2008
2020
|
} else {
|
|
2009
2021
|
head += await extractNotFoundMetadata(pathname, clientDir, m, isWatchMode, (l) => {
|
|
2010
2022
|
lang = l;
|
|
2011
2023
|
}, ogConfig);
|
|
2012
2024
|
}
|
|
2013
2025
|
} catch {}
|
|
2014
|
-
return { head, lang, statusOverride };
|
|
2026
|
+
return { head, lang, statusOverride, ssrExport };
|
|
2015
2027
|
}
|
|
2016
2028
|
function findBestNotFoundRoute(list, pathname) {
|
|
2017
2029
|
let chosen;
|
|
@@ -2040,7 +2052,7 @@ async function extractNotFoundMetadata(pathname, clientDir, routesModule, isWatc
|
|
|
2040
2052
|
const { meta, ssr } = await loadModuleMetaAndSSR(chosen, abs, isWatchMode);
|
|
2041
2053
|
if (meta)
|
|
2042
2054
|
head += buildHeadFromMeta(meta, ogConfig);
|
|
2043
|
-
const ssrHead = extractSSRHead(ssr);
|
|
2055
|
+
const ssrHead = extractSSRHead(ssr, undefined, ogConfig);
|
|
2044
2056
|
if (ssrHead)
|
|
2045
2057
|
head += `
|
|
2046
2058
|
${ssrHead}`;
|
|
@@ -2051,29 +2063,86 @@ ${ssrHead}`;
|
|
|
2051
2063
|
} catch {}
|
|
2052
2064
|
return head;
|
|
2053
2065
|
}
|
|
2054
|
-
function
|
|
2066
|
+
function parseTitleFromHead(head) {
|
|
2067
|
+
const match = head.match(/<title[^>]*>(.*?)<\/title>/is);
|
|
2068
|
+
if (match?.[1])
|
|
2069
|
+
return unescapeHtml(match[1].trim());
|
|
2070
|
+
return;
|
|
2071
|
+
}
|
|
2072
|
+
function parseDescriptionFromHead(head) {
|
|
2073
|
+
let match = head.match(/<meta\s+name=["']description["']\s+content=["'](.+?)["']\s*\/?>/i);
|
|
2074
|
+
if (match?.[1])
|
|
2075
|
+
return unescapeHtml(match[1].trim());
|
|
2076
|
+
match = head.match(/<meta\s+content=["'](.+?)["']\s+name=["']description["']\s*\/?>/i);
|
|
2077
|
+
if (match?.[1])
|
|
2078
|
+
return unescapeHtml(match[1].trim());
|
|
2079
|
+
return;
|
|
2080
|
+
}
|
|
2081
|
+
function unescapeHtml(input) {
|
|
2082
|
+
return input.replace(/"/g, '"').replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
2083
|
+
}
|
|
2084
|
+
function hasMetaTag(head, property) {
|
|
2085
|
+
const propRegex = new RegExp(`<meta\\s+(?:property|name)=["']${property}["']`, "i");
|
|
2086
|
+
const contentFirstRegex = new RegExp(`<meta\\s+content=["'][^"']*["']\\s+(?:property|name)=["']${property}["']`, "i");
|
|
2087
|
+
return propRegex.test(head) || contentFirstRegex.test(head);
|
|
2088
|
+
}
|
|
2089
|
+
function generateMissingOGTags(head, ogConfig) {
|
|
2090
|
+
const title = parseTitleFromHead(head);
|
|
2091
|
+
const description = parseDescriptionFromHead(head);
|
|
2092
|
+
const additionalTags = [];
|
|
2093
|
+
if (title && !hasMetaTag(head, "og:title")) {
|
|
2094
|
+
additionalTags.push(`<meta property="og:title" content="${escapeHtml2(title)}" />`);
|
|
2095
|
+
}
|
|
2096
|
+
const finalDescription = description || ogConfig?.siteDescription;
|
|
2097
|
+
if (finalDescription && !hasMetaTag(head, "og:description")) {
|
|
2098
|
+
additionalTags.push(`<meta property="og:description" content="${escapeHtml2(finalDescription)}" />`);
|
|
2099
|
+
}
|
|
2100
|
+
if (title && !hasMetaTag(head, "twitter:title")) {
|
|
2101
|
+
additionalTags.push(`<meta name="twitter:title" content="${escapeHtml2(title)}" />`);
|
|
2102
|
+
}
|
|
2103
|
+
if (finalDescription && !hasMetaTag(head, "twitter:description")) {
|
|
2104
|
+
additionalTags.push(`<meta name="twitter:description" content="${escapeHtml2(finalDescription)}" />`);
|
|
2105
|
+
}
|
|
2106
|
+
if (!hasMetaTag(head, "og:type")) {
|
|
2107
|
+
const ogType = ogConfig?.defaultType || "website";
|
|
2108
|
+
additionalTags.push(`<meta property="og:type" content="${escapeHtml2(ogType)}" />`);
|
|
2109
|
+
}
|
|
2110
|
+
if (!hasMetaTag(head, "twitter:card")) {
|
|
2111
|
+
const twitterCard = ogConfig?.twitterCard || "summary_large_image";
|
|
2112
|
+
additionalTags.push(`<meta name="twitter:card" content="${twitterCard}" />`);
|
|
2113
|
+
}
|
|
2114
|
+
return additionalTags.length > 0 ? `
|
|
2115
|
+
${additionalTags.join(`
|
|
2116
|
+
`)}` : "";
|
|
2117
|
+
}
|
|
2118
|
+
function extractSSRHead(ssr, data, ogConfig, existingHead) {
|
|
2055
2119
|
if (!ssr)
|
|
2056
2120
|
return "";
|
|
2121
|
+
let headContent = "";
|
|
2057
2122
|
if (typeof ssr.head === "function") {
|
|
2058
2123
|
try {
|
|
2059
2124
|
const result = ssr.head({ data });
|
|
2060
2125
|
if (typeof result === "string")
|
|
2061
|
-
|
|
2062
|
-
if (Array.isArray(result))
|
|
2063
|
-
|
|
2126
|
+
headContent = result;
|
|
2127
|
+
else if (Array.isArray(result))
|
|
2128
|
+
headContent = String(result.join(`
|
|
2064
2129
|
`));
|
|
2065
|
-
return "";
|
|
2066
2130
|
} catch (err) {
|
|
2067
2131
|
console.error("[extractSSRHead] Error calling head function:", err);
|
|
2068
2132
|
return "";
|
|
2069
2133
|
}
|
|
2070
|
-
}
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
return String(ssr.head.join(`
|
|
2134
|
+
} else if (typeof ssr.head === "string") {
|
|
2135
|
+
headContent = ssr.head;
|
|
2136
|
+
} else if (Array.isArray(ssr.head)) {
|
|
2137
|
+
headContent = String(ssr.head.join(`
|
|
2075
2138
|
`));
|
|
2076
|
-
|
|
2139
|
+
}
|
|
2140
|
+
if (!headContent)
|
|
2141
|
+
return "";
|
|
2142
|
+
const combinedHead = existingHead ? `${existingHead}
|
|
2143
|
+
${headContent}` : headContent;
|
|
2144
|
+
const additionalOGTags = generateMissingOGTags(combinedHead, ogConfig);
|
|
2145
|
+
return headContent + additionalOGTags;
|
|
2077
2146
|
}
|
|
2078
2147
|
function extractSSRLang(ssr) {
|
|
2079
2148
|
if (!ssr)
|
|
@@ -5016,7 +5085,8 @@ async function renderSSRDocumentStream(options) {
|
|
|
5016
5085
|
browserTelemetryConfig,
|
|
5017
5086
|
traceContext,
|
|
5018
5087
|
parentSpan: options.parentSpan,
|
|
5019
|
-
timeout: options.timeout
|
|
5088
|
+
timeout: options.timeout,
|
|
5089
|
+
ssrExport: setup2.metadataResult.ssrExport
|
|
5020
5090
|
});
|
|
5021
5091
|
if (debug)
|
|
5022
5092
|
console.log(`[renderStream] ${pathname} - returning stream: ${(performance.now() - t0).toFixed(2)}ms`);
|
|
@@ -5124,12 +5194,100 @@ function buildStreamingScripts(ctx) {
|
|
|
5124
5194
|
const feedsScript = createFeedsScript();
|
|
5125
5195
|
const llmsScript = createLlmsScript();
|
|
5126
5196
|
let allScripts = dataScript + feedsScript + llmsScript + collectionScripts + ctx.preloadHydrationScript;
|
|
5197
|
+
const metaUpdateScript = generateMetaUpdateScript(ctx, ssrDataSnapshot);
|
|
5198
|
+
if (metaUpdateScript) {
|
|
5199
|
+
allScripts += metaUpdateScript;
|
|
5200
|
+
}
|
|
5127
5201
|
allScripts += `<script type="module" src="${ctx.bundleUrl}"></script>`;
|
|
5128
5202
|
if (ctx.isWatchMode) {
|
|
5129
5203
|
allScripts += `<script type="module" src="/__reroute_watch.js"></script>`;
|
|
5130
5204
|
}
|
|
5131
5205
|
return allScripts;
|
|
5132
5206
|
}
|
|
5207
|
+
function generateMetaUpdateScript(ctx, ssrDataSnapshot) {
|
|
5208
|
+
if (typeof ctx.ssrExport?.head !== "function") {
|
|
5209
|
+
return "";
|
|
5210
|
+
}
|
|
5211
|
+
const routeData = ssrDataSnapshot[ctx.pathname];
|
|
5212
|
+
if (!routeData) {
|
|
5213
|
+
return "";
|
|
5214
|
+
}
|
|
5215
|
+
let headResult;
|
|
5216
|
+
try {
|
|
5217
|
+
headResult = ctx.ssrExport.head({ data: routeData });
|
|
5218
|
+
} catch (err) {
|
|
5219
|
+
console.error("[reroute] Error calling ssr.head() at stream end:", err);
|
|
5220
|
+
return "";
|
|
5221
|
+
}
|
|
5222
|
+
if (!headResult) {
|
|
5223
|
+
return "";
|
|
5224
|
+
}
|
|
5225
|
+
const headHtml = Array.isArray(headResult) ? headResult.join(`
|
|
5226
|
+
`) : headResult;
|
|
5227
|
+
if (!headHtml) {
|
|
5228
|
+
return "";
|
|
5229
|
+
}
|
|
5230
|
+
const metaUpdates = parseHeadForMetaUpdates(headHtml);
|
|
5231
|
+
if (Object.keys(metaUpdates).length === 0) {
|
|
5232
|
+
return "";
|
|
5233
|
+
}
|
|
5234
|
+
const updatesJson = JSON.stringify(metaUpdates);
|
|
5235
|
+
return `<script>(function(){var u=${updatesJson};if(u.title){document.title=u.title}Object.keys(u).forEach(function(k){if(k==='title')return;var s=k.split(':');var isOg=s[0]==='og'||s[0]==='twitter';var el=isOg?document.querySelector('meta[property="'+k+'"]')||document.querySelector('meta[name="'+k+'"]'):document.querySelector('meta[name="'+k+'"]');if(el){el.setAttribute('content',u[k])}else{var m=document.createElement('meta');m.setAttribute(isOg?'property':'name',k);m.setAttribute('content',u[k]);document.head.appendChild(m)}})})()</script>`;
|
|
5236
|
+
}
|
|
5237
|
+
function parseHeadForMetaUpdates(headHtml) {
|
|
5238
|
+
const updates = {};
|
|
5239
|
+
const titleMatch = headHtml.match(/<title[^>]*>(.*?)<\/title>/is);
|
|
5240
|
+
if (titleMatch?.[1]) {
|
|
5241
|
+
updates.title = unescapeHtmlEntities(titleMatch[1].trim());
|
|
5242
|
+
}
|
|
5243
|
+
let descMatch = headHtml.match(/<meta\s+name=["']description["']\s+content=["'](.+?)["']/i);
|
|
5244
|
+
if (!descMatch) {
|
|
5245
|
+
descMatch = headHtml.match(/<meta\s+content=["'](.+?)["']\s+name=["']description["']/i);
|
|
5246
|
+
}
|
|
5247
|
+
if (descMatch?.[1]) {
|
|
5248
|
+
updates.description = unescapeHtmlEntities(descMatch[1].trim());
|
|
5249
|
+
}
|
|
5250
|
+
let ogTitleMatch = headHtml.match(/<meta\s+property=["']og:title["']\s+content=["'](.+?)["']/i);
|
|
5251
|
+
if (!ogTitleMatch) {
|
|
5252
|
+
ogTitleMatch = headHtml.match(/<meta\s+content=["'](.+?)["']\s+property=["']og:title["']/i);
|
|
5253
|
+
}
|
|
5254
|
+
if (ogTitleMatch?.[1]) {
|
|
5255
|
+
updates["og:title"] = unescapeHtmlEntities(ogTitleMatch[1].trim());
|
|
5256
|
+
} else if (updates.title) {
|
|
5257
|
+
updates["og:title"] = updates.title;
|
|
5258
|
+
}
|
|
5259
|
+
let ogDescMatch = headHtml.match(/<meta\s+property=["']og:description["']\s+content=["'](.+?)["']/i);
|
|
5260
|
+
if (!ogDescMatch) {
|
|
5261
|
+
ogDescMatch = headHtml.match(/<meta\s+content=["'](.+?)["']\s+property=["']og:description["']/i);
|
|
5262
|
+
}
|
|
5263
|
+
if (ogDescMatch?.[1]) {
|
|
5264
|
+
updates["og:description"] = unescapeHtmlEntities(ogDescMatch[1].trim());
|
|
5265
|
+
} else if (updates.description) {
|
|
5266
|
+
updates["og:description"] = updates.description;
|
|
5267
|
+
}
|
|
5268
|
+
let twitterTitleMatch = headHtml.match(/<meta\s+name=["']twitter:title["']\s+content=["'](.+?)["']/i);
|
|
5269
|
+
if (!twitterTitleMatch) {
|
|
5270
|
+
twitterTitleMatch = headHtml.match(/<meta\s+content=["'](.+?)["']\s+name=["']twitter:title["']/i);
|
|
5271
|
+
}
|
|
5272
|
+
if (twitterTitleMatch?.[1]) {
|
|
5273
|
+
updates["twitter:title"] = unescapeHtmlEntities(twitterTitleMatch[1].trim());
|
|
5274
|
+
} else if (updates.title) {
|
|
5275
|
+
updates["twitter:title"] = updates.title;
|
|
5276
|
+
}
|
|
5277
|
+
let twitterDescMatch = headHtml.match(/<meta\s+name=["']twitter:description["']\s+content=["'](.+?)["']/i);
|
|
5278
|
+
if (!twitterDescMatch) {
|
|
5279
|
+
twitterDescMatch = headHtml.match(/<meta\s+content=["'](.+?)["']\s+name=["']twitter:description["']/i);
|
|
5280
|
+
}
|
|
5281
|
+
if (twitterDescMatch?.[1]) {
|
|
5282
|
+
updates["twitter:description"] = unescapeHtmlEntities(twitterDescMatch[1].trim());
|
|
5283
|
+
} else if (updates.description) {
|
|
5284
|
+
updates["twitter:description"] = updates.description;
|
|
5285
|
+
}
|
|
5286
|
+
return updates;
|
|
5287
|
+
}
|
|
5288
|
+
function unescapeHtmlEntities(str) {
|
|
5289
|
+
return str.replace(/"/g, '"').replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
5290
|
+
}
|
|
5133
5291
|
var init_stream = __esm(() => {
|
|
5134
5292
|
init_server2();
|
|
5135
5293
|
init_config();
|
|
@@ -5273,4 +5431,4 @@ export {
|
|
|
5273
5431
|
AI_CRAWLERS
|
|
5274
5432
|
};
|
|
5275
5433
|
|
|
5276
|
-
//# debugId=
|
|
5434
|
+
//# debugId=81A1C804C0DC641D64756E2164756E21
|