reroute-js 1.0.0-alpha.1 → 1.0.0-alpha.2
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 +120 -51
- package/cli/bin.js.map +4 -4
- package/cli/index.d.ts +1 -1
- package/cli/index.js +61 -8
- 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/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 +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 +17 -3
- 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/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 +2 -2
- package/core/index.js.map +1 -1
- 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 +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 +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 +95 -19
- package/elysia/index.js.map +4 -4
- 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 +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 +3 -2
- 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/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 +1 -1
- 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/core/src/ssr/index.d.ts
CHANGED
package/core/src/ssr/render.d.ts
CHANGED
package/core/src/ssr/stream.d.ts
CHANGED
package/elysia/index.d.ts
CHANGED
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.2
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright 2026 stewones <hi@stewan.io>
|
|
@@ -7171,6 +7171,62 @@ let rebuildNotice = null;
|
|
|
7171
7171
|
let reconnectAttempts = 0;
|
|
7172
7172
|
let isReconnecting = false;
|
|
7173
7173
|
|
|
7174
|
+
const SCROLL_KEY = '__reroute_scroll';
|
|
7175
|
+
|
|
7176
|
+
function saveScrollPosition() {
|
|
7177
|
+
try {
|
|
7178
|
+
sessionStorage.setItem(SCROLL_KEY, JSON.stringify({
|
|
7179
|
+
x: window.scrollX,
|
|
7180
|
+
y: window.scrollY,
|
|
7181
|
+
path: location.pathname + location.search,
|
|
7182
|
+
}));
|
|
7183
|
+
} catch {
|
|
7184
|
+
// sessionStorage unavailable
|
|
7185
|
+
}
|
|
7186
|
+
}
|
|
7187
|
+
|
|
7188
|
+
function restoreScrollPosition() {
|
|
7189
|
+
try {
|
|
7190
|
+
const raw = sessionStorage.getItem(SCROLL_KEY);
|
|
7191
|
+
if (!raw) return;
|
|
7192
|
+
sessionStorage.removeItem(SCROLL_KEY);
|
|
7193
|
+
const { x, y, path } = JSON.parse(raw);
|
|
7194
|
+
if (path !== location.pathname + location.search) return;
|
|
7195
|
+
if (typeof x !== 'number' || typeof y !== 'number') return;
|
|
7196
|
+
|
|
7197
|
+
const apply = () => window.scrollTo(x, y);
|
|
7198
|
+
// Apply now, after paint, and after full load (images/fonts can shift layout).
|
|
7199
|
+
apply();
|
|
7200
|
+
requestAnimationFrame(apply);
|
|
7201
|
+
if (document.readyState === 'complete') {
|
|
7202
|
+
setTimeout(apply, 0);
|
|
7203
|
+
} else {
|
|
7204
|
+
window.addEventListener('load', () => setTimeout(apply, 0), { once: true });
|
|
7205
|
+
}
|
|
7206
|
+
} catch {
|
|
7207
|
+
// ignore corrupt scroll state
|
|
7208
|
+
}
|
|
7209
|
+
}
|
|
7210
|
+
|
|
7211
|
+
function triggerFullReload(reason) {
|
|
7212
|
+
if (reloadTriggered) return;
|
|
7213
|
+
console.log('[reroute] ✓ ' + reason);
|
|
7214
|
+
reloadTriggered = true;
|
|
7215
|
+
hideRebuildNotice();
|
|
7216
|
+
eventSource?.close();
|
|
7217
|
+
saveScrollPosition();
|
|
7218
|
+
window.location.reload();
|
|
7219
|
+
}
|
|
7220
|
+
|
|
7221
|
+
function refreshThemeCss() {
|
|
7222
|
+
const theme = document.querySelector('link[data-reroute="theme"]');
|
|
7223
|
+
if (!(theme instanceof HTMLLinkElement)) return false;
|
|
7224
|
+
const url = new URL(theme.href, location.href);
|
|
7225
|
+
url.searchParams.set('t', String(Date.now()));
|
|
7226
|
+
theme.href = url.toString();
|
|
7227
|
+
return true;
|
|
7228
|
+
}
|
|
7229
|
+
|
|
7174
7230
|
function showRebuildNotice() {
|
|
7175
7231
|
if (rebuildNotice) return;
|
|
7176
7232
|
|
|
@@ -7293,11 +7349,7 @@ function connect() {
|
|
|
7293
7349
|
if (e.data === 'connected') {
|
|
7294
7350
|
reconnectAttempts = 0; // Reset backoff on successful connection
|
|
7295
7351
|
if (hasConnected && wasDisconnected && !reloadTriggered) {
|
|
7296
|
-
|
|
7297
|
-
reloadTriggered = true;
|
|
7298
|
-
hideRebuildNotice();
|
|
7299
|
-
eventSource?.close();
|
|
7300
|
-
window.location.reload();
|
|
7352
|
+
triggerFullReload('Server restarted, reloading...');
|
|
7301
7353
|
return;
|
|
7302
7354
|
}
|
|
7303
7355
|
hasConnected = true;
|
|
@@ -7306,8 +7358,15 @@ function connect() {
|
|
|
7306
7358
|
} else if (e.data === 'rebuilding') {
|
|
7307
7359
|
console.log('[reroute] \uD83D\uDD28 Rebuilding...');
|
|
7308
7360
|
showRebuildNotice();
|
|
7309
|
-
} else if (e.data === 'reload') {
|
|
7310
|
-
|
|
7361
|
+
} else if (e.data === 'reload:css') {
|
|
7362
|
+
hideRebuildNotice();
|
|
7363
|
+
if (refreshThemeCss()) {
|
|
7364
|
+
console.log('[reroute] ✓ Theme CSS refreshed');
|
|
7365
|
+
} else {
|
|
7366
|
+
triggerFullReload('Build complete, reloading...');
|
|
7367
|
+
}
|
|
7368
|
+
} else if (e.data === 'reload' || e.data === 'reload:full') {
|
|
7369
|
+
triggerFullReload('Build complete, reloading...');
|
|
7311
7370
|
}
|
|
7312
7371
|
});
|
|
7313
7372
|
|
|
@@ -7324,6 +7383,7 @@ function connect() {
|
|
|
7324
7383
|
});
|
|
7325
7384
|
}
|
|
7326
7385
|
|
|
7386
|
+
restoreScrollPosition();
|
|
7327
7387
|
connect();
|
|
7328
7388
|
`;
|
|
7329
7389
|
function registerLiveReloadRoutes(app, state) {
|
|
@@ -7343,10 +7403,12 @@ function registerLiveReloadRoutes(app, state) {
|
|
|
7343
7403
|
|
|
7344
7404
|
`));
|
|
7345
7405
|
if (state.pendingReload) {
|
|
7346
|
-
|
|
7406
|
+
const mode = state.pendingReload;
|
|
7407
|
+
state.pendingReload = false;
|
|
7408
|
+
const data = mode === "css" ? "reload:css" : "reload";
|
|
7409
|
+
controller.enqueue(encoder.encode(`data: ${data}
|
|
7347
7410
|
|
|
7348
7411
|
`));
|
|
7349
|
-
state.pendingReload = false;
|
|
7350
7412
|
}
|
|
7351
7413
|
interval = setInterval(() => {
|
|
7352
7414
|
try {
|
|
@@ -9524,24 +9586,28 @@ var reroute = () => async (app) => {
|
|
|
9524
9586
|
pendingReload: false
|
|
9525
9587
|
};
|
|
9526
9588
|
const reloadEncoder = new TextEncoder;
|
|
9527
|
-
const
|
|
9589
|
+
const reloadFullMessage = reloadEncoder.encode(`data: reload
|
|
9590
|
+
|
|
9591
|
+
`);
|
|
9592
|
+
const reloadCssMessage = reloadEncoder.encode(`data: reload:css
|
|
9528
9593
|
|
|
9529
9594
|
`);
|
|
9530
9595
|
const rebuildingMessage = reloadEncoder.encode(`data: rebuilding
|
|
9531
9596
|
|
|
9532
9597
|
`);
|
|
9533
|
-
const notifyReload = () => {
|
|
9598
|
+
const notifyReload = (mode = "full") => {
|
|
9599
|
+
const message = mode === "css" ? reloadCssMessage : reloadFullMessage;
|
|
9534
9600
|
let delivered = false;
|
|
9535
9601
|
for (const controller of liveReloadState.clients) {
|
|
9536
9602
|
try {
|
|
9537
|
-
controller.enqueue(
|
|
9603
|
+
controller.enqueue(message);
|
|
9538
9604
|
delivered = true;
|
|
9539
9605
|
} catch {
|
|
9540
9606
|
liveReloadState.clients.delete(controller);
|
|
9541
9607
|
}
|
|
9542
9608
|
}
|
|
9543
9609
|
if (!delivered) {
|
|
9544
|
-
liveReloadState.pendingReload =
|
|
9610
|
+
liveReloadState.pendingReload = mode;
|
|
9545
9611
|
}
|
|
9546
9612
|
};
|
|
9547
9613
|
const notifyRebuilding = () => {
|
|
@@ -9567,10 +9633,20 @@ var reroute = () => async (app) => {
|
|
|
9567
9633
|
headers: { "content-type": "application/json" }
|
|
9568
9634
|
});
|
|
9569
9635
|
});
|
|
9570
|
-
app.post("/__reroute_reload", () => {
|
|
9571
|
-
|
|
9572
|
-
|
|
9573
|
-
|
|
9636
|
+
app.post("/__reroute_reload", async ({ request }) => {
|
|
9637
|
+
let mode = "full";
|
|
9638
|
+
try {
|
|
9639
|
+
const body = await request.json();
|
|
9640
|
+
if (body?.mode === "css")
|
|
9641
|
+
mode = "css";
|
|
9642
|
+
} catch {}
|
|
9643
|
+
console.log(`[reroute] Reload notification received (${mode}), notifying ${liveReloadState.clients.size} browser(s)...`);
|
|
9644
|
+
notifyReload(mode);
|
|
9645
|
+
return new Response(JSON.stringify({
|
|
9646
|
+
ok: true,
|
|
9647
|
+
mode,
|
|
9648
|
+
clients: liveReloadState.clients.size
|
|
9649
|
+
}), {
|
|
9574
9650
|
headers: { "content-type": "application/json" }
|
|
9575
9651
|
});
|
|
9576
9652
|
});
|
|
@@ -9808,4 +9884,4 @@ export {
|
|
|
9808
9884
|
reroute
|
|
9809
9885
|
};
|
|
9810
9886
|
|
|
9811
|
-
//# debugId=
|
|
9887
|
+
//# debugId=B7AAA341537DD73764756E2164756E21
|