reroute-js 1.0.0-alpha.12 → 1.0.0-alpha.13
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 +40 -37
- package/cli/bin.js.map +5 -5
- package/cli/index.d.ts +1 -1
- package/cli/index.js +4 -4
- 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 +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/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/theme.d.ts +2 -2
- package/cli/src/commands/lib/theme.d.ts.map +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/lib/watch.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 +34 -31
- package/core/index.js.map +4 -4
- 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/discovery.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 +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 +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 +7 -4
- package/core/src/ssr/lib/styles.d.ts.map +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 +60 -37
- 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/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/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/artifacts.d.ts.map +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/liveReloadClient.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/routes/themeCssRefresh.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/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 +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/elysia/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* reroute-js v1.0.0-alpha.
|
|
2
|
+
* reroute-js v1.0.0-alpha.13
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -3496,42 +3496,45 @@ var init_scripts = __esm(() => {
|
|
|
3496
3496
|
});
|
|
3497
3497
|
|
|
3498
3498
|
// packages/core/src/ssr/lib/styles.ts
|
|
3499
|
-
|
|
3499
|
+
import { createHash } from "node:crypto";
|
|
3500
|
+
function themeLink(query) {
|
|
3501
|
+
return `<link rel="stylesheet" href="${THEME_CSS_HREF}?${query}" data-reroute="theme">`;
|
|
3502
|
+
}
|
|
3503
|
+
function hashCss(css) {
|
|
3504
|
+
return createHash("sha1").update(css).digest("hex").slice(0, 12);
|
|
3505
|
+
}
|
|
3506
|
+
async function readThemeCssFromDisk(clientDir) {
|
|
3507
|
+
const candidates = [
|
|
3508
|
+
join(clientDir, "..", ".reroute", "index.css"),
|
|
3509
|
+
join(clientDir, "..", "..", ".reroute", "index.css"),
|
|
3510
|
+
join(clientDir, "..", "..", "..", ".reroute", "index.css"),
|
|
3511
|
+
join(clientDir, "..", "..", "..", "..", ".reroute", "index.css")
|
|
3512
|
+
];
|
|
3513
|
+
for (const cssPath of candidates) {
|
|
3514
|
+
if (await Bun.file(cssPath).exists()) {
|
|
3515
|
+
const { readFileSync } = await import("node:fs");
|
|
3516
|
+
return readFileSync(cssPath, "utf-8");
|
|
3517
|
+
}
|
|
3518
|
+
}
|
|
3519
|
+
return "";
|
|
3520
|
+
}
|
|
3521
|
+
function bundledThemeCss() {
|
|
3522
|
+
return globalThis.__REROUTE_THEME_CSS__ || "";
|
|
3523
|
+
}
|
|
3524
|
+
async function inlineThemeCSS(clientDir, isWatchMode = false) {
|
|
3500
3525
|
try {
|
|
3501
3526
|
if (isWatchMode) {
|
|
3502
|
-
|
|
3503
|
-
return `<link rel="stylesheet" href="/.reroute/index.css?t=${timestamp}" data-reroute="theme">`;
|
|
3504
|
-
}
|
|
3505
|
-
const bundledCss = globalThis.__REROUTE_THEME_CSS__;
|
|
3506
|
-
if (bundledCss) {
|
|
3507
|
-
const css2 = minify ? minifyCSS(bundledCss) : bundledCss;
|
|
3508
|
-
return `<style data-reroute="theme">${css2}</style>`;
|
|
3509
|
-
}
|
|
3510
|
-
const candidates = [
|
|
3511
|
-
join(clientDir, "..", ".reroute", "index.css"),
|
|
3512
|
-
join(clientDir, "..", "..", ".reroute", "index.css"),
|
|
3513
|
-
join(clientDir, "..", "..", "..", ".reroute", "index.css"),
|
|
3514
|
-
join(clientDir, "..", "..", "..", "..", ".reroute", "index.css")
|
|
3515
|
-
];
|
|
3516
|
-
let cssPath = "";
|
|
3517
|
-
for (const p of candidates) {
|
|
3518
|
-
if (await Bun.file(p).exists()) {
|
|
3519
|
-
cssPath = p;
|
|
3520
|
-
break;
|
|
3521
|
-
}
|
|
3527
|
+
return themeLink(`t=${Date.now()}`);
|
|
3522
3528
|
}
|
|
3523
|
-
|
|
3529
|
+
const css = bundledThemeCss() || await readThemeCssFromDisk(clientDir);
|
|
3530
|
+
if (!css)
|
|
3524
3531
|
return "";
|
|
3525
|
-
|
|
3526
|
-
const css = readFileSync(cssPath, "utf-8");
|
|
3527
|
-
return `<style data-reroute="theme">${minifyCSS(css)}</style>`;
|
|
3532
|
+
return themeLink(`v=${hashCss(css)}`);
|
|
3528
3533
|
} catch {
|
|
3529
3534
|
return "";
|
|
3530
3535
|
}
|
|
3531
3536
|
}
|
|
3532
|
-
|
|
3533
|
-
return css.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\s+/g, " ").replace(/\s*([{}:;,>+~])\s*/g, "$1").replace(/;}/g, "}").trim();
|
|
3534
|
-
}
|
|
3537
|
+
var THEME_CSS_HREF = "/.reroute/index.css";
|
|
3535
3538
|
var init_styles = () => {};
|
|
3536
3539
|
|
|
3537
3540
|
// packages/core/src/ssr/lib/setup.ts
|
|
@@ -3638,7 +3641,7 @@ async function performSSRSetupInternal(options, streaming, timeoutState) {
|
|
|
3638
3641
|
setGlobalCollections(byCollectionForSSR);
|
|
3639
3642
|
const usingCachedCSS = !!options.cachedThemeCSS;
|
|
3640
3643
|
const inlineStyleTag = await withSpan("ssr.inline.css", async (span) => {
|
|
3641
|
-
const css = options.cachedThemeCSS ? options.cachedThemeCSS : await inlineThemeCSS(clientDir,
|
|
3644
|
+
const css = options.cachedThemeCSS ? options.cachedThemeCSS : await inlineThemeCSS(clientDir, isWatchMode);
|
|
3642
3645
|
span.setAttributes({
|
|
3643
3646
|
"reroute.cached": usingCachedCSS,
|
|
3644
3647
|
"reroute.css.size": css.length
|
|
@@ -7047,14 +7050,25 @@ function getAssetCacheControl(filePath, contentType, maxAge, directive, isWatchM
|
|
|
7047
7050
|
}
|
|
7048
7051
|
|
|
7049
7052
|
// packages/elysia/src/routes/artifacts.ts
|
|
7053
|
+
function bundledThemeCssResponse(cacheControl) {
|
|
7054
|
+
const bundled = globalThis.__REROUTE_THEME_CSS__;
|
|
7055
|
+
if (!bundled)
|
|
7056
|
+
throw new NotFoundError2;
|
|
7057
|
+
return new Response(bundled, {
|
|
7058
|
+
headers: {
|
|
7059
|
+
"Content-Type": "text/css; charset=utf-8",
|
|
7060
|
+
"Cache-Control": cacheControl
|
|
7061
|
+
}
|
|
7062
|
+
});
|
|
7063
|
+
}
|
|
7050
7064
|
function registerArtifactsRoutes(app, cwd, fileCache, options) {
|
|
7051
7065
|
const { bundleMaxAge, directive, isWatchMode = false } = options;
|
|
7052
7066
|
app.get("/.reroute/index.css", async ({ headers: headers2 }) => {
|
|
7053
7067
|
const filePath = join(cwd, ".reroute", "index.css");
|
|
7054
7068
|
const acceptEncoding = headers2["accept-encoding"] ?? "";
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7069
|
+
const cacheControl = isWatchMode ? "no-cache, no-store, must-revalidate" : `${directive}, max-age=${bundleMaxAge}`;
|
|
7070
|
+
if (isWatchMode) {
|
|
7071
|
+
try {
|
|
7058
7072
|
const { readFileSync } = await import("node:fs");
|
|
7059
7073
|
const content2 = readFileSync(filePath);
|
|
7060
7074
|
return new Response(content2, {
|
|
@@ -7063,11 +7077,20 @@ function registerArtifactsRoutes(app, cwd, fileCache, options) {
|
|
|
7063
7077
|
"Cache-Control": cacheControl
|
|
7064
7078
|
}
|
|
7065
7079
|
});
|
|
7080
|
+
} catch {
|
|
7081
|
+
return bundledThemeCssResponse(cacheControl);
|
|
7066
7082
|
}
|
|
7083
|
+
}
|
|
7084
|
+
try {
|
|
7067
7085
|
return await serveFile(filePath, acceptEncoding, fileCache, {
|
|
7068
7086
|
cacheControl
|
|
7069
7087
|
});
|
|
7070
|
-
} catch {
|
|
7088
|
+
} catch (error) {
|
|
7089
|
+
if (error instanceof NotFoundError2) {
|
|
7090
|
+
return bundledThemeCssResponse(cacheControl);
|
|
7091
|
+
}
|
|
7092
|
+
throw error;
|
|
7093
|
+
}
|
|
7071
7094
|
});
|
|
7072
7095
|
app.get("/bundles/*", async ({ params, headers: headers2 }) => {
|
|
7073
7096
|
const fileName = String(params["*"] ?? "").replace(/^\/+/, "");
|
|
@@ -10122,7 +10145,7 @@ var reroute = () => async (app) => {
|
|
|
10122
10145
|
const getBundleUrl = isWatchMode ? readBundleUrl : async () => initialBundleUrl;
|
|
10123
10146
|
const { loadCollections: loadCollections2, inlineThemeCSS: inlineThemeCSS2, loadIndexHtml: loadIndexHtml2 } = await Promise.resolve().then(() => (init_core(), exports_core));
|
|
10124
10147
|
const startupCollections = await loadCollections2(cwd, isWatchMode);
|
|
10125
|
-
const startupThemeCSS = await inlineThemeCSS2(clientDir,
|
|
10148
|
+
const startupThemeCSS = await inlineThemeCSS2(clientDir, isWatchMode);
|
|
10126
10149
|
const startupIndexHtml = await loadIndexHtml2(clientDir);
|
|
10127
10150
|
const collectionsTtlMs = serverMaxAge * 1000;
|
|
10128
10151
|
let collectionsCache = serverCacheEnabled ? { data: startupCollections, exp: Date.now() + collectionsTtlMs } : null;
|
|
@@ -10140,7 +10163,7 @@ var reroute = () => async (app) => {
|
|
|
10140
10163
|
};
|
|
10141
10164
|
return fresh;
|
|
10142
10165
|
};
|
|
10143
|
-
const getThemeCSS = isWatchMode ? () => inlineThemeCSS2(clientDir,
|
|
10166
|
+
const getThemeCSS = isWatchMode ? () => inlineThemeCSS2(clientDir, isWatchMode) : async () => startupThemeCSS;
|
|
10144
10167
|
const getIndexHtml = isWatchMode ? () => loadIndexHtml2(clientDir) : async () => startupIndexHtml;
|
|
10145
10168
|
if (globalConfig.redirects && globalConfig.redirects.length > 0) {
|
|
10146
10169
|
registerRedirectRoutes(app, globalConfig.redirects);
|
|
@@ -10337,4 +10360,4 @@ export {
|
|
|
10337
10360
|
reroute
|
|
10338
10361
|
};
|
|
10339
10362
|
|
|
10340
|
-
//# debugId=
|
|
10363
|
+
//# debugId=78024E3217BF060B64756E2164756E21
|