@vesk/runtime 0.2.15 → 0.2.17
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/dist/hmr-client.d.ts +2 -0
- package/dist/hmr-client.d.ts.map +1 -1
- package/dist/hmr-client.js +41 -13
- package/dist/hydrate.d.ts.map +1 -1
- package/dist/hydrate.js +28 -7
- package/dist/index-server.d.ts +1 -0
- package/dist/index-server.d.ts.map +1 -1
- package/dist/index-server.js +1 -0
- package/dist/router-components.d.ts +1 -0
- package/dist/router-components.d.ts.map +1 -1
- package/dist/router-components.js +100 -38
- package/dist/router.d.ts +10 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +131 -38
- package/dist/server-events.d.ts +13 -0
- package/dist/server-events.d.ts.map +1 -0
- package/dist/server-events.js +29 -0
- package/package.json +2 -2
package/dist/hmr-client.d.ts
CHANGED
package/dist/hmr-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmr-client.d.ts","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hmr-client.d.ts","sourceRoot":"","sources":["../src/hmr-client.ts"],"names":[],"mappings":"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"}
|
package/dist/hmr-client.js
CHANGED
|
@@ -129,9 +129,14 @@ export function renderPluginRow(p, index) {
|
|
|
129
129
|
}
|
|
130
130
|
export function renderLogRow(entry) {
|
|
131
131
|
const type = entry.type || '?';
|
|
132
|
-
const time = entry.ms != null ? String(entry.ms) : entry.time != null ? String(entry.time) : '?';
|
|
133
132
|
const stamp = entry.ts ? new Date(entry.ts).toLocaleTimeString() : '--:--:--';
|
|
134
|
-
|
|
133
|
+
const lvl = entry.level || '';
|
|
134
|
+
const lvlCls = lvl ? ' kl-lvl-' + lvl : '';
|
|
135
|
+
if (entry.message != null) {
|
|
136
|
+
return '<div class="kl-row' + lvlCls + '">' + escapeHtml(stamp) + ' <span class="kl-type">' + escapeHtml(type) + '</span> ' + escapeHtml(entry.message) + '</div>';
|
|
137
|
+
}
|
|
138
|
+
const time = entry.ms != null ? String(entry.ms) : entry.time != null ? String(entry.time) : '?';
|
|
139
|
+
return '<div class="kl-row">' + escapeHtml(stamp) + ' <span class="kl-type">' + escapeHtml(type) + '</span> ' + time + 'ms' + '</div>';
|
|
135
140
|
}
|
|
136
141
|
export const DEV_TABS = ['overview', 'agentic', 'errors', 'diagnostics', 'plugins', 'log', 'settings'];
|
|
137
142
|
/**
|
|
@@ -1317,8 +1322,8 @@ const CSS = '@keyframes __v_pulse{0%,100%{opacity:1}50%{opacity:.3}}' +
|
|
|
1317
1322
|
'@keyframes __v_in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}' +
|
|
1318
1323
|
'@keyframes __v_tab{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}' +
|
|
1319
1324
|
'@keyframes __v_vo{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}' +
|
|
1320
|
-
'#__vesk_dev,#__vesk_overlay{--vk-bg
|
|
1321
|
-
'#__vesk_dev[data-theme="light"],#__vesk_overlay[data-theme="light"]{--vk-bg
|
|
1325
|
+
'#__vesk_dev,#__vesk_overlay{--vk-bg:oklch(0.155 0.006 60);--vk-fg:oklch(0.931 0.014 88);--vk-border:oklch(0.29 0.009 75);--vk-line:oklch(0.235 0.009 72);--vk-line-soft:oklch(0.196 0.008 70);--vk-soft:oklch(0.196 0.008 70);--vk-soft-hi:oklch(0.235 0.009 72);--vk-muted:oklch(0.618 0.016 80);--vk-dim:oklch(0.40 0.011 75);--vk-codebg:oklch(0.12 0.004 60);--vk-inv-bg:oklch(0.931 0.014 88);--vk-inv-fg:oklch(0.155 0.006 60);--vk-err-bg:oklch(0.577 0.185 25);--vk-err-fg:oklch(0.96 0.01 85);--vk-dot:oklch(0.40 0.011 75);--vk-accent:oklch(0.632 0.132 45);}' +
|
|
1326
|
+
'#__vesk_dev[data-theme="light"],#__vesk_overlay[data-theme="light"]{--vk-bg:oklch(0.97 0.006 85);--vk-fg:oklch(0.155 0.006 60);--vk-border:oklch(0.82 0.009 75);--vk-line:oklch(0.88 0.008 72);--vk-line-soft:oklch(0.92 0.008 70);--vk-soft:oklch(0.95 0.006 70);--vk-soft-hi:oklch(0.92 0.008 72);--vk-muted:oklch(0.45 0.016 80);--vk-dim:oklch(0.65 0.011 75);--vk-codebg:oklch(0.98 0.004 60);--vk-inv-bg:oklch(0.155 0.006 60);--vk-inv-fg:oklch(0.931 0.014 88);--vk-err-bg:oklch(0.577 0.185 25);--vk-err-fg:oklch(0.96 0.01 85);--vk-dot:oklch(0.65 0.011 75);--vk-accent:oklch(0.632 0.132 45);}' +
|
|
1322
1327
|
'#__vesk_dev *,#__vesk_overlay *{transition:background .18s ease,color .18s ease,border-color .18s ease;}' +
|
|
1323
1328
|
'#__vesk_dev,#__vesk_dev *,#__vesk_overlay,#__vesk_overlay *{scrollbar-width:none;}' +
|
|
1324
1329
|
'#__vesk_dev *::-webkit-scrollbar,#__vesk_overlay *::-webkit-scrollbar{display:none;}' +
|
|
@@ -1326,9 +1331,11 @@ const CSS = '@keyframes __v_pulse{0%,100%{opacity:1}50%{opacity:.3}}' +
|
|
|
1326
1331
|
'#__vesk_dev[data-pos="left"]{left:16px;right:auto;}' +
|
|
1327
1332
|
'#__vesk_dev .__v_bar{display:flex;align-items:center;gap:8px;background:var(--vk-bg);border:1px solid var(--vk-border);border-radius:0;padding:6px 12px;cursor:pointer;animation:__v_in .3s cubic-bezier(.22,.61,.36,1);transition:background .15s ease,transform .15s ease,border-color .15s ease;}' +
|
|
1328
1333
|
'#__vesk_dev .__v_bar:hover{background:var(--vk-soft);transform:translateY(-1px);border-color:var(--vk-dim);}' +
|
|
1329
|
-
'#__vesk_dev .__v_dot{width:8px;height:8px;flex-shrink:0;background:var(--vk-dot);transition:background .
|
|
1330
|
-
'#__vesk_dev .__v_dot.
|
|
1331
|
-
'#__vesk_dev .__v_dot.
|
|
1334
|
+
'#__vesk_dev .__v_dot{width:8px;height:8px;flex-shrink:0;background:var(--vk-dot);transition:background .2s ease;}' +
|
|
1335
|
+
'#__vesk_dev .__v_dot.connected{background:var(--vk-accent);animation:none;}' +
|
|
1336
|
+
'#__vesk_dev .__v_dot.compiling{background:var(--vk-accent);animation:__v_pulse .8s infinite;}' +
|
|
1337
|
+
'#__vesk_dev .__v_dot.error{background:var(--vk-err-bg);animation:__v_pulse .5s infinite;}' +
|
|
1338
|
+
'#__vesk_dev .__v_dot.disconnected{background:var(--vk-dim);animation:none;opacity:.5;}' +
|
|
1332
1339
|
'#__vesk_overlay{all:initial;position:fixed;inset:0;z-index:2147483646;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;color:var(--vk-fg);display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .16s ease,visibility 0s linear .16s;}' +
|
|
1333
1340
|
'#__vesk_overlay.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .16s ease;}' +
|
|
1334
1341
|
'#__vesk_overlay .__vo_backdrop{position:absolute;inset:0;background:var(--vk-bg);opacity:.85;}' +
|
|
@@ -1413,7 +1420,14 @@ const CSS = '@keyframes __v_pulse{0%,100%{opacity:1}50%{opacity:.3}}' +
|
|
|
1413
1420
|
'#__vesk_dev .__kp_stack pre{background:var(--vk-codebg);border:1px solid var(--vk-line-soft);border-top:none;padding:8px;margin:0;font-size:11px;color:var(--vk-muted);max-height:160px;overflow:auto;white-space:pre;}' +
|
|
1414
1421
|
'#__vesk_dev .kp-row{font-size:12px;color:var(--vk-muted);}' +
|
|
1415
1422
|
'#__vesk_dev .kp-err{font-size:12px;color:var(--vk-inv-fg);background:var(--vk-inv-bg);padding:6px 10px;font-weight:700;}' +
|
|
1416
|
-
'#__vesk_dev .kl-row{font-size:11px;color:var(--vk-muted);}' +
|
|
1423
|
+
'#__vesk_dev .kl-row{font-size:11px;color:var(--vk-muted);padding:1px 0;}' +
|
|
1424
|
+
'#__vesk_dev .kl-row .kl-type{color:var(--vk-dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em;min-width:48px;display:inline-block;}' +
|
|
1425
|
+
'#__vesk_dev .kl-row.kl-lvl-error{color:var(--vk-err-bg);}' +
|
|
1426
|
+
'#__vesk_dev .kl-row.kl-lvl-error .kl-type{color:var(--vk-err-bg);}' +
|
|
1427
|
+
'#__vesk_dev .kl-row.kl-lvl-warn{color:var(--vk-accent);}' +
|
|
1428
|
+
'#__vesk_dev .kl-row.kl-lvl-warn .kl-type{color:var(--vk-accent);}' +
|
|
1429
|
+
'#__vesk_dev .kl-row.kl-lvl-info{color:var(--vk-muted);}' +
|
|
1430
|
+
'#__vesk_dev .kl-row.kl-lvl-info .kl-type{color:var(--vk-dim);}' +
|
|
1417
1431
|
'#__vesk_dev .__kp_tab .__kp_tab_label{display:none;}' +
|
|
1418
1432
|
'#__vesk_dev[data-sidebar="rail"] .__kp{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"head head" "tabs body";gap:0;}' +
|
|
1419
1433
|
'#__vesk_dev[data-sidebar="rail"] .__kp_head{grid-area:head;}' +
|
|
@@ -1619,7 +1633,7 @@ export function createDevClient(opts) {
|
|
|
1619
1633
|
let agenticConfigSaveOk = null;
|
|
1620
1634
|
function logEvent(type, ms) {
|
|
1621
1635
|
log.push({ type, ms, time: ms, ts: Date.now() });
|
|
1622
|
-
if (log.length >
|
|
1636
|
+
if (log.length > 200)
|
|
1623
1637
|
log.shift();
|
|
1624
1638
|
}
|
|
1625
1639
|
function setStatus(next) {
|
|
@@ -1723,7 +1737,7 @@ export function createDevClient(opts) {
|
|
|
1723
1737
|
// otherwise drop the error again right after a refresh.
|
|
1724
1738
|
if (!pendingStateSync)
|
|
1725
1739
|
clearError();
|
|
1726
|
-
setStatus('
|
|
1740
|
+
setStatus('connected');
|
|
1727
1741
|
}
|
|
1728
1742
|
};
|
|
1729
1743
|
ws.onmessage = function (e) {
|
|
@@ -1752,6 +1766,15 @@ export function createDevClient(opts) {
|
|
|
1752
1766
|
clearError();
|
|
1753
1767
|
setStatus('compiling');
|
|
1754
1768
|
break;
|
|
1769
|
+
case 'console':
|
|
1770
|
+
if (typeof msg.level === 'string' && typeof msg.message === 'string') {
|
|
1771
|
+
log.push({ type: msg.level, message: msg.message, level: msg.level, ts: Date.now() });
|
|
1772
|
+
if (log.length > 200)
|
|
1773
|
+
log.shift();
|
|
1774
|
+
if (activeTab === 'log')
|
|
1775
|
+
renderPanel();
|
|
1776
|
+
}
|
|
1777
|
+
break;
|
|
1755
1778
|
}
|
|
1756
1779
|
}
|
|
1757
1780
|
catch {
|
|
@@ -1762,14 +1785,14 @@ export function createDevClient(opts) {
|
|
|
1762
1785
|
if (disposed)
|
|
1763
1786
|
return;
|
|
1764
1787
|
if (status !== 'error')
|
|
1765
|
-
setStatus('
|
|
1788
|
+
setStatus('disconnected');
|
|
1766
1789
|
scheduleReconnect();
|
|
1767
1790
|
};
|
|
1768
1791
|
ws.onerror = function () {
|
|
1769
1792
|
if (disposed)
|
|
1770
1793
|
return;
|
|
1771
1794
|
if (status !== 'error')
|
|
1772
|
-
setStatus('
|
|
1795
|
+
setStatus('disconnected');
|
|
1773
1796
|
scheduleReconnect();
|
|
1774
1797
|
};
|
|
1775
1798
|
}
|
|
@@ -1804,6 +1827,7 @@ export function createDevClient(opts) {
|
|
|
1804
1827
|
}
|
|
1805
1828
|
lastCompileMs = msg.time || 0;
|
|
1806
1829
|
status = 'connected';
|
|
1830
|
+
updateDot();
|
|
1807
1831
|
clearError();
|
|
1808
1832
|
renderPanel();
|
|
1809
1833
|
logEvent('update', lastCompileMs);
|
|
@@ -1825,6 +1849,7 @@ export function createDevClient(opts) {
|
|
|
1825
1849
|
parent.insertBefore(fresh, el.nextSibling);
|
|
1826
1850
|
});
|
|
1827
1851
|
status = 'connected';
|
|
1852
|
+
updateDot();
|
|
1828
1853
|
renderPanel();
|
|
1829
1854
|
logEvent('css-update', undefined);
|
|
1830
1855
|
}
|
|
@@ -1909,7 +1934,7 @@ export function createDevClient(opts) {
|
|
|
1909
1934
|
CSS +
|
|
1910
1935
|
'</style>' +
|
|
1911
1936
|
'<div class="__v_bar">' +
|
|
1912
|
-
' <span class="__v_dot
|
|
1937
|
+
' <span class="__v_dot disconnected"></span>' +
|
|
1913
1938
|
' <span class="__v_label">Vesk</span>' +
|
|
1914
1939
|
' <span class="__v_version">dev</span>' +
|
|
1915
1940
|
'</div>';
|
|
@@ -2511,6 +2536,9 @@ export function createDevClient(opts) {
|
|
|
2511
2536
|
}
|
|
2512
2537
|
}
|
|
2513
2538
|
}
|
|
2539
|
+
else if (activeTab === 'log') {
|
|
2540
|
+
pane.scrollTop = pane.scrollHeight;
|
|
2541
|
+
}
|
|
2514
2542
|
else {
|
|
2515
2543
|
pane.scrollTop = 0;
|
|
2516
2544
|
}
|
package/dist/hydrate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
|
package/dist/hydrate.js
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
import { get } from '@vesk/runtime/src/ripple-runtime';
|
|
1
|
+
import { get, scope, set_active_block } from '@vesk/runtime/src/ripple-runtime';
|
|
2
|
+
import { root } from '@vesk/runtime/src/ripple-blocks';
|
|
3
|
+
// Hydrators invoke user component functions outside the router. componentFn
|
|
4
|
+
// runs `track()`/`effect()` calls that attach to whatever block is active.
|
|
5
|
+
// With no active block, `schedule_update` walks an empty parent chain and
|
|
6
|
+
// queues a null root — the effects never flush. Establish a root block window
|
|
7
|
+
// (mirroring the router's runInBlockWindow) so effects created during
|
|
8
|
+
// hydration attach to a real root and run on the microtask flush.
|
|
9
|
+
function runInHydrateBlock(fn) {
|
|
10
|
+
const previous = scope();
|
|
11
|
+
const block = root(() => { });
|
|
12
|
+
set_active_block(block);
|
|
13
|
+
try {
|
|
14
|
+
const result = fn();
|
|
15
|
+
set_active_block(previous);
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
set_active_block(previous);
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
2
23
|
export function reactiveProps(props) {
|
|
3
24
|
return new Proxy(props, {
|
|
4
25
|
get(target, key) {
|
|
@@ -92,7 +113,7 @@ export function createHydrateChildWalker(parentEl) {
|
|
|
92
113
|
}
|
|
93
114
|
export function hydrate(container, componentFn, props) {
|
|
94
115
|
const walker = createHydrateWalker(container);
|
|
95
|
-
return componentFn(props || {}, new Map(), walker);
|
|
116
|
+
return runInHydrateBlock(() => componentFn(props || {}, new Map(), walker));
|
|
96
117
|
}
|
|
97
118
|
export function hydrateViewport(container, componentFn, props, rootMargin = 500) {
|
|
98
119
|
if (document.readyState !== 'complete') {
|
|
@@ -125,7 +146,7 @@ export function hydrateViewport(container, componentFn, props, rootMargin = 500)
|
|
|
125
146
|
marker.textContent = 'vsk-hold';
|
|
126
147
|
}
|
|
127
148
|
const viewportWalker = createHydrateWalker(container, viewportMarkers);
|
|
128
|
-
componentFn(props || {}, new Map(), viewportWalker);
|
|
149
|
+
runInHydrateBlock(() => componentFn(props || {}, new Map(), viewportWalker));
|
|
129
150
|
if (deferredMarkers.length > 0) {
|
|
130
151
|
return new Promise((resolve) => {
|
|
131
152
|
const observer = new IntersectionObserver((entries) => {
|
|
@@ -144,7 +165,7 @@ export function hydrateViewport(container, componentFn, props, rootMargin = 500)
|
|
|
144
165
|
}
|
|
145
166
|
if (toHydrate.length > 0) {
|
|
146
167
|
const w = createHydrateWalker(container, toHydrate);
|
|
147
|
-
componentFn(props || {}, new Map(), w);
|
|
168
|
+
runInHydrateBlock(() => componentFn(props || {}, new Map(), w));
|
|
148
169
|
}
|
|
149
170
|
if (observer._observed === 0) {
|
|
150
171
|
observer.disconnect();
|
|
@@ -178,7 +199,7 @@ export function hydrateIdle(container, componentFn, props, options = {}) {
|
|
|
178
199
|
idx = end;
|
|
179
200
|
if (chunk.length > 0) {
|
|
180
201
|
const walker = createHydrateWalker(container, chunk);
|
|
181
|
-
componentFn(props || {}, new Map(), walker);
|
|
202
|
+
runInHydrateBlock(() => componentFn(props || {}, new Map(), walker));
|
|
182
203
|
}
|
|
183
204
|
if (idx < allMarkers.length && (!deadline || deadline.timeRemaining() > 0 || deadline.didTimeout)) {
|
|
184
205
|
rafId = rIC(processChunk, { timeout });
|
|
@@ -214,7 +235,7 @@ export function hydrateOnInteraction(container, componentFn, props, options = {}
|
|
|
214
235
|
const markers = collectVskMarkers(container);
|
|
215
236
|
if (markers.length > 0) {
|
|
216
237
|
const walker = createHydrateWalker(container, markers);
|
|
217
|
-
componentFn(props || {}, new Map(), walker);
|
|
238
|
+
runInHydrateBlock(() => componentFn(props || {}, new Map(), walker));
|
|
218
239
|
}
|
|
219
240
|
}
|
|
220
241
|
const handler = (e) => trigger(e.type);
|
|
@@ -244,5 +265,5 @@ export function hydrationCount(container) {
|
|
|
244
265
|
}
|
|
245
266
|
export function hydrateInitial(container, componentFn, props) {
|
|
246
267
|
const walker = createHydrateWalker(container);
|
|
247
|
-
componentFn(props || {}, new Map(), walker);
|
|
268
|
+
runInHydrateBlock(() => componentFn(props || {}, new Map(), walker));
|
|
248
269
|
}
|
package/dist/index-server.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { track, get, set, untrack, peek_tracked as peek, derived, flush_sync as flushSync, tick, active_block, set_active_block, set_active_component, create_component_ctx, push_component, pop_component, with_block, with_scope, scope, safe_scope, on_destroy } from '@vesk/runtime/src/ripple-runtime';
|
|
2
2
|
export { effect, user_effect, block, branch, root, render, pre_effect, destroy_block, destroy_block_children, pause_block, resume_block, is_destroyed, unlink_block, create_try_block, boundary_fn_running_block } from '@vesk/runtime/src/ripple-blocks';
|
|
3
3
|
export { createContext, Context, getActiveComponent, setActiveComponent } from '@vesk/runtime/src/context';
|
|
4
|
+
export { serverLocals, getServerContext, setServerContext, clearServerContext, server_locals, get_server_context, set_server_context, clear_server_context } from '@vesk/runtime/src/server-events';
|
|
4
5
|
export { createResource, setSsrData, clearSsrData, setSsrSink, resolveSsrResources, useFetch, type SsrDataSink } from '@vesk/runtime/src/resource';
|
|
5
6
|
export { Portal } from '@vesk/runtime/src/portal';
|
|
6
7
|
export { createRouter, createFileRouter, Outlet, Link, NavLink, useNavigate, useParams as routerParams, usePathname, useSearchParams, useRouter, buildRouteTree, defineRoute, Redirect, redirect, permanentRedirect, notFound, NotFoundError } from '@vesk/runtime/src/router';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-server.d.ts","sourceRoot":"","sources":["../src/index-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC5S,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC1P,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnJ,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,IAAI,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/Q,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnT,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7J,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxK,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC7K,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index-server.d.ts","sourceRoot":"","sources":["../src/index-server.ts"],"names":[],"mappings":"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"}
|
package/dist/index-server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { track, get, set, untrack, peek_tracked as peek, derived, flush_sync as flushSync, tick, active_block, set_active_block, set_active_component, create_component_ctx, push_component, pop_component, with_block, with_scope, scope, safe_scope, on_destroy } from '@vesk/runtime/src/ripple-runtime';
|
|
2
2
|
export { effect, user_effect, block, branch, root, render, pre_effect, destroy_block, destroy_block_children, pause_block, resume_block, is_destroyed, unlink_block, create_try_block, boundary_fn_running_block } from '@vesk/runtime/src/ripple-blocks';
|
|
3
3
|
export { createContext, Context, getActiveComponent, setActiveComponent } from '@vesk/runtime/src/context';
|
|
4
|
+
export { serverLocals, getServerContext, setServerContext, clearServerContext, server_locals, get_server_context, set_server_context, clear_server_context } from '@vesk/runtime/src/server-events';
|
|
4
5
|
export { createResource, setSsrData, clearSsrData, setSsrSink, resolveSsrResources, useFetch } from '@vesk/runtime/src/resource';
|
|
5
6
|
export { Portal } from '@vesk/runtime/src/portal';
|
|
6
7
|
export { createRouter, createFileRouter, Outlet, Link, NavLink, useNavigate, useParams as routerParams, usePathname, useSearchParams, useRouter, buildRouteTree, defineRoute, Redirect, redirect, permanentRedirect, notFound, NotFoundError } from '@vesk/runtime/src/router';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-components.d.ts","sourceRoot":"","sources":["../src/router-components.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,UAAU,MAAM;IACf,KAAK,IAAI,MAAM,CAAC;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACP,IAAI,EAAE,UAAU,CAAC;gBAEb,GAAG,EAAE,MAAM,EAAE,MAAM,SAAM;CAMrC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,KAAK,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAEpD;AAED,qBAAa,aAAc,SAAQ,KAAK;IAC/B,IAAI,EAAE,eAAe,CAAC;gBAElB,GAAG,SAAc;CAI7B;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AAED,eAAO,MAAM,SAAS,4DAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"router-components.d.ts","sourceRoot":"","sources":["../src/router-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,21 @@ export function notFound() {
|
|
|
30
30
|
export const RouterCtx = createContext(null);
|
|
31
31
|
let _currentRouter = null;
|
|
32
32
|
let _outletId = 0;
|
|
33
|
+
/** True when the active router was created with `hash: true`. */
|
|
34
|
+
function routerMode() {
|
|
35
|
+
const r = RouterCtx.get() || _currentRouter;
|
|
36
|
+
return !!(r && r._hashMode);
|
|
37
|
+
}
|
|
38
|
+
/** Strips a leading `#` from an href in hash mode so it compares to the route path. */
|
|
39
|
+
function routeHrefOf(href) {
|
|
40
|
+
return routerMode() && href.startsWith('#') ? href.slice(1) : href;
|
|
41
|
+
}
|
|
42
|
+
/** Whether an href is a SPA route ("/path" or "#/path" in hash mode) vs a native target. */
|
|
43
|
+
function isRouteHref(href) {
|
|
44
|
+
if (!routerMode())
|
|
45
|
+
return !href.startsWith('#');
|
|
46
|
+
return !href.startsWith('#') || href.startsWith('#/');
|
|
47
|
+
}
|
|
33
48
|
export let __isHydrating = false;
|
|
34
49
|
export function setIsHydrating(v) {
|
|
35
50
|
__isHydrating = v;
|
|
@@ -50,38 +65,54 @@ export function setCurrentRouter(r) {
|
|
|
50
65
|
export function getCurrentRouter() {
|
|
51
66
|
return _currentRouter;
|
|
52
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Node fields like `error`, `loading`, `notFound` can hold an unresolved name
|
|
70
|
+
* string when a chunk fails to load (see the adapter's string-name fallback).
|
|
71
|
+
* Calling a string as a function throws `X is not a function`, and it also
|
|
72
|
+
* masks the real hydration failure. These finders therefore only return a node
|
|
73
|
+
* value when it is actually a callable function; offline/network nodes keep
|
|
74
|
+
* their `string` fallback semantics and are matched by name separately.
|
|
75
|
+
*/
|
|
76
|
+
function isFn(v) {
|
|
77
|
+
return typeof v === 'function';
|
|
78
|
+
}
|
|
53
79
|
export function findLoadingComponent(chain) {
|
|
54
80
|
for (let i = chain.length - 1; i >= 0; i--) {
|
|
55
|
-
|
|
56
|
-
|
|
81
|
+
const v = chain[i].loading;
|
|
82
|
+
if (isFn(v))
|
|
83
|
+
return v;
|
|
57
84
|
}
|
|
58
85
|
return null;
|
|
59
86
|
}
|
|
60
87
|
export function findErrorComponent(chain) {
|
|
61
88
|
for (let i = chain.length - 1; i >= 0; i--) {
|
|
62
|
-
|
|
63
|
-
|
|
89
|
+
const v = chain[i].error;
|
|
90
|
+
if (isFn(v))
|
|
91
|
+
return v;
|
|
64
92
|
}
|
|
65
93
|
return null;
|
|
66
94
|
}
|
|
67
95
|
export function findNotFoundComponent(chain) {
|
|
68
96
|
for (let i = chain.length - 1; i >= 0; i--) {
|
|
69
|
-
|
|
70
|
-
|
|
97
|
+
const v = chain[i].notFound;
|
|
98
|
+
if (isFn(v))
|
|
99
|
+
return v;
|
|
71
100
|
}
|
|
72
101
|
return null;
|
|
73
102
|
}
|
|
74
103
|
export function findOfflineComponent(chain) {
|
|
75
104
|
for (let i = chain.length - 1; i >= 0; i--) {
|
|
76
|
-
|
|
77
|
-
|
|
105
|
+
const v = chain[i].offline;
|
|
106
|
+
if (v !== undefined && v !== null)
|
|
107
|
+
return v;
|
|
78
108
|
}
|
|
79
109
|
return null;
|
|
80
110
|
}
|
|
81
111
|
export function findNetworkComponent(chain) {
|
|
82
112
|
for (let i = chain.length - 1; i >= 0; i--) {
|
|
83
|
-
|
|
84
|
-
|
|
113
|
+
const v = chain[i].network;
|
|
114
|
+
if (v !== undefined && v !== null)
|
|
115
|
+
return v;
|
|
85
116
|
}
|
|
86
117
|
return null;
|
|
87
118
|
}
|
|
@@ -164,6 +195,20 @@ export function Outlet(props) {
|
|
|
164
195
|
}
|
|
165
196
|
return div;
|
|
166
197
|
}
|
|
198
|
+
/** Mounts DOM (non-string) link children inside a target, preserving element structure. */
|
|
199
|
+
function mountLinkChildren(target, children) {
|
|
200
|
+
if (children.nodeType) {
|
|
201
|
+
target.appendChild(children);
|
|
202
|
+
}
|
|
203
|
+
else if (Array.isArray(children)) {
|
|
204
|
+
for (const c of children) {
|
|
205
|
+
if (c && c.nodeType)
|
|
206
|
+
target.appendChild(c);
|
|
207
|
+
else if (c != null)
|
|
208
|
+
target.appendChild(document.createTextNode(String(c)));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
167
212
|
export function Link(props, registry, hydrate) {
|
|
168
213
|
const href = props.href || '#';
|
|
169
214
|
if (hydrate && hydrate.nextElement) {
|
|
@@ -173,12 +218,21 @@ export function Link(props, registry, hydrate) {
|
|
|
173
218
|
if (existing)
|
|
174
219
|
a = existing;
|
|
175
220
|
}
|
|
221
|
+
// The claimed SSR anchor is already attached in place; returning it lets
|
|
222
|
+
// compiled call sites re-insert it and duplicate the element. Keep it
|
|
223
|
+
// claimed and return an inert fragment. Only a genuinely fresh anchor
|
|
224
|
+
// (conditional region re-run with no SSR counterpart) is returned.
|
|
225
|
+
const claimed = a ? a.parentNode !== null : false;
|
|
226
|
+
if (!a)
|
|
227
|
+
a = document.createElement('a');
|
|
228
|
+
applyLinkDom(a, props, href);
|
|
176
229
|
if (props.children != null) {
|
|
177
230
|
if (typeof props.children === 'string' || typeof props.children === 'number') {
|
|
178
231
|
a.textContent = String(props.children);
|
|
179
232
|
}
|
|
180
|
-
else
|
|
181
|
-
a.
|
|
233
|
+
else {
|
|
234
|
+
a.replaceChildren();
|
|
235
|
+
mountLinkChildren(a, props.children);
|
|
182
236
|
}
|
|
183
237
|
}
|
|
184
238
|
a.addEventListener('click', (e) => {
|
|
@@ -186,12 +240,14 @@ export function Link(props, registry, hydrate) {
|
|
|
186
240
|
return;
|
|
187
241
|
if (props.target === '_blank')
|
|
188
242
|
return;
|
|
243
|
+
if (!isRouteHref(href))
|
|
244
|
+
return;
|
|
189
245
|
e.preventDefault();
|
|
190
246
|
e.stopPropagation();
|
|
191
247
|
const nav = useNavigate();
|
|
192
248
|
nav(href);
|
|
193
249
|
});
|
|
194
|
-
return document.createDocumentFragment();
|
|
250
|
+
return claimed ? document.createDocumentFragment() : a;
|
|
195
251
|
}
|
|
196
252
|
const attrs = [
|
|
197
253
|
`href="${href.replace(/"/g, '"')}"`,
|
|
@@ -210,36 +266,20 @@ export function Link(props, registry, hydrate) {
|
|
|
210
266
|
return `<a ${attrs}>${childStr}</a>`;
|
|
211
267
|
}
|
|
212
268
|
const a = document.createElement('a');
|
|
213
|
-
a
|
|
214
|
-
if (props.class)
|
|
215
|
-
a.className = props.class;
|
|
216
|
-
if (props.style)
|
|
217
|
-
a.setAttribute('style', props.style);
|
|
218
|
-
if (props.target)
|
|
219
|
-
a.target = props.target;
|
|
220
|
-
if (props.rel)
|
|
221
|
-
a.rel = props.rel;
|
|
269
|
+
applyLinkDom(a, props, href);
|
|
222
270
|
if (childStr) {
|
|
223
271
|
a.textContent = childStr;
|
|
224
272
|
}
|
|
225
273
|
else if (props.children != null) {
|
|
226
|
-
|
|
227
|
-
a.appendChild(props.children);
|
|
228
|
-
}
|
|
229
|
-
else if (Array.isArray(props.children)) {
|
|
230
|
-
for (const c of props.children) {
|
|
231
|
-
if (c && c.nodeType)
|
|
232
|
-
a.appendChild(c);
|
|
233
|
-
else if (c != null)
|
|
234
|
-
a.appendChild(document.createTextNode(String(c)));
|
|
235
|
-
}
|
|
236
|
-
}
|
|
274
|
+
mountLinkChildren(a, props.children);
|
|
237
275
|
}
|
|
238
276
|
a.addEventListener('click', (e) => {
|
|
239
277
|
if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0)
|
|
240
278
|
return;
|
|
241
279
|
if (props.target === '_blank')
|
|
242
280
|
return;
|
|
281
|
+
if (!isRouteHref(href))
|
|
282
|
+
return;
|
|
243
283
|
e.preventDefault();
|
|
244
284
|
e.stopPropagation();
|
|
245
285
|
const nav = useNavigate();
|
|
@@ -247,6 +287,18 @@ export function Link(props, registry, hydrate) {
|
|
|
247
287
|
});
|
|
248
288
|
return a;
|
|
249
289
|
}
|
|
290
|
+
function applyLinkDom(a, props, href) {
|
|
291
|
+
const displayHref = routerMode() && !href.startsWith('#') ? '#' + href : href;
|
|
292
|
+
a.href = displayHref;
|
|
293
|
+
if (props.class)
|
|
294
|
+
a.className = props.class;
|
|
295
|
+
if (props.style)
|
|
296
|
+
a.setAttribute('style', props.style);
|
|
297
|
+
if (props.target)
|
|
298
|
+
a.target = props.target;
|
|
299
|
+
if (props.rel)
|
|
300
|
+
a.rel = props.rel;
|
|
301
|
+
}
|
|
250
302
|
export function NavLink(props, registry, hydrate) {
|
|
251
303
|
if (typeof document === 'undefined') {
|
|
252
304
|
return Link(props, registry, hydrate);
|
|
@@ -254,12 +306,14 @@ export function NavLink(props, registry, hydrate) {
|
|
|
254
306
|
if (__isHydrating) {
|
|
255
307
|
const a = document.querySelector(`a[href="${props.href}"]`);
|
|
256
308
|
if (a) {
|
|
309
|
+
applyLinkDom(a, props, props.href);
|
|
257
310
|
if (props.children != null) {
|
|
258
311
|
if (typeof props.children === 'string' || typeof props.children === 'number') {
|
|
259
312
|
a.textContent = String(props.children);
|
|
260
313
|
}
|
|
261
|
-
else
|
|
262
|
-
a.
|
|
314
|
+
else {
|
|
315
|
+
a.replaceChildren();
|
|
316
|
+
mountLinkChildren(a, props.children);
|
|
263
317
|
}
|
|
264
318
|
}
|
|
265
319
|
a.addEventListener('click', (e) => {
|
|
@@ -267,13 +321,16 @@ export function NavLink(props, registry, hydrate) {
|
|
|
267
321
|
return;
|
|
268
322
|
if (props.target === '_blank')
|
|
269
323
|
return;
|
|
324
|
+
if (!isRouteHref(props.href))
|
|
325
|
+
return;
|
|
270
326
|
e.preventDefault();
|
|
271
327
|
e.stopPropagation();
|
|
272
328
|
const nav = useNavigate();
|
|
273
329
|
nav(props.href);
|
|
274
330
|
});
|
|
275
331
|
const path = usePathname();
|
|
276
|
-
const
|
|
332
|
+
const routeHref = routeHrefOf(props.href);
|
|
333
|
+
const isActive = routeHref === path || (routeHref !== '/' && path.startsWith(routeHref) && (path.length === routeHref.length || path[routeHref.length] === '/' || path[routeHref.length] === '?'));
|
|
277
334
|
if (isActive) {
|
|
278
335
|
a.classList.add(props.activeClass || 'active');
|
|
279
336
|
if (props.ariaCurrent !== false)
|
|
@@ -284,7 +341,8 @@ export function NavLink(props, registry, hydrate) {
|
|
|
284
341
|
}
|
|
285
342
|
const a = Link(props, registry, hydrate);
|
|
286
343
|
const path = usePathname();
|
|
287
|
-
const
|
|
344
|
+
const routeHref = routeHrefOf(props.href);
|
|
345
|
+
const isActive = routeHref === path || (routeHref !== '/' && path.startsWith(routeHref) && (path.length === routeHref.length || path[routeHref.length] === '/' || path[routeHref.length] === '?'));
|
|
288
346
|
if (isActive) {
|
|
289
347
|
a.classList.add(props.activeClass || 'active');
|
|
290
348
|
if (props.ariaCurrent !== false)
|
|
@@ -331,7 +389,11 @@ export function useRouter() {
|
|
|
331
389
|
back: () => window.history.back(),
|
|
332
390
|
forward: () => window.history.forward(),
|
|
333
391
|
go: (n) => window.history.go(n),
|
|
334
|
-
refresh: () =>
|
|
392
|
+
refresh: () => {
|
|
393
|
+
const mode = routerMode();
|
|
394
|
+
const p = mode && typeof window !== 'undefined' && window.location.hash && window.location.hash.length > 1 ? window.location.hash.slice(1) : (typeof window !== 'undefined' ? window.location.pathname : '');
|
|
395
|
+
router?.navigate?.(p, { replace: true });
|
|
396
|
+
},
|
|
335
397
|
prefetch: (href) => router?.prefetch?.(href),
|
|
336
398
|
beforeEach: (fn) => {
|
|
337
399
|
const r = router;
|
package/dist/router.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ interface RouterInstance {
|
|
|
31
31
|
} | null;
|
|
32
32
|
_beforeGuards?: GuardFn[];
|
|
33
33
|
_viewTransitions?: boolean;
|
|
34
|
+
_hashMode?: boolean;
|
|
34
35
|
_guardDepth?: number;
|
|
35
36
|
_runGuards(to: string): false | string | void | Promise<false | string | void>;
|
|
36
37
|
hmrUpdate(): void;
|
|
@@ -56,6 +57,15 @@ interface RouterOptions {
|
|
|
56
57
|
hydrate?: 'full' | 'viewport' | 'idle' | 'interaction';
|
|
57
58
|
/** Route-data freshness TTL in ms. Default 0 = always refetch on SPA nav. */
|
|
58
59
|
routeDataCache?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Hash-mode routing: the route is read from and written to
|
|
62
|
+
* `window.location.hash` (`#/path`) instead of the pathname. Use it when
|
|
63
|
+
* the app is served from a static host that rewrites every path to one
|
|
64
|
+
* index.html. In hash mode `<Link href="/about">` renders `#/about` and
|
|
65
|
+
* `#/...` hrefs are SPA-navigated. Plain `#anchor` in-page links stay
|
|
66
|
+
* native. Default false.
|
|
67
|
+
*/
|
|
68
|
+
hash?: boolean;
|
|
59
69
|
/**
|
|
60
70
|
* Offline experience for SPA navigations that fail due to loss of
|
|
61
71
|
* connectivity: a component `(props, registry, walker) => Node | string`
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/router.js
CHANGED
|
@@ -2,7 +2,7 @@ import { get, set, scope, set_active_block } from '@vesk/runtime/src/ripple-runt
|
|
|
2
2
|
import { root } from '@vesk/runtime/src/ripple-blocks';
|
|
3
3
|
import { createHydrateWalker, hydrateViewport, hydrateIdle, hydrateOnInteraction } from '@vesk/runtime/src/hydrate';
|
|
4
4
|
import { matchRoute, flattenLayoutChain, buildTreeFromMap } from '@vesk/runtime/src/router-match';
|
|
5
|
-
import { setIsHydrating, _state, _scrollPositions, _isPopStateNavigation, setIsPopStateNavigation, setCurrentRouter, showLoadingInContainer, handleScroll, applyHead, findLoadingComponent, findErrorComponent, findNotFoundComponent, findOfflineComponent, findNetworkComponent, Outlet, Link, NavLink, useNavigate, useParams, usePathname, useSearchParams, useRouter, Redirect, redirect, permanentRedirect, NotFoundError, notFound, } from '@vesk/runtime/src/router-components';
|
|
5
|
+
import { setIsHydrating, _state, _scrollPositions, _isPopStateNavigation, setIsPopStateNavigation, setCurrentRouter, showLoadingInContainer, handleScroll, applyHead, findLoadingComponent, findErrorComponent, findNotFoundComponent, findOfflineComponent, findNetworkComponent, getCurrentRouter, Outlet, Link, NavLink, useNavigate, useParams, usePathname, useSearchParams, useRouter, Redirect, redirect, permanentRedirect, NotFoundError, notFound, } from '@vesk/runtime/src/router-components';
|
|
6
6
|
import { getNetworkState, watchNetwork } from '@vesk/runtime/src/network';
|
|
7
7
|
import { loadingStart, loadingFinish, getLoadingState } from '@vesk/runtime/src/loading-indicator';
|
|
8
8
|
export { Outlet, Link, NavLink, useNavigate, useParams, usePathname, useSearchParams, useRouter, Redirect, redirect, permanentRedirect, NotFoundError, notFound, ensureChunk, };
|
|
@@ -335,7 +335,7 @@ function registerOnlineRecovery(router) {
|
|
|
335
335
|
if (!r._showingOffline)
|
|
336
336
|
return;
|
|
337
337
|
r._showingOffline = false;
|
|
338
|
-
router.navigate(
|
|
338
|
+
router.navigate(routeFromLocation(hashModeOf(r)), { replace: true });
|
|
339
339
|
};
|
|
340
340
|
window.addEventListener('online', r._onlineHandler);
|
|
341
341
|
}
|
|
@@ -676,10 +676,10 @@ function renderMatch(router, match, container, navToken) {
|
|
|
676
676
|
throw error;
|
|
677
677
|
const retry = () => {
|
|
678
678
|
if (router && router.navigate) {
|
|
679
|
-
router.navigate(
|
|
679
|
+
router.navigate(routeFromLocation(hashModeOf(router)), { replace: true });
|
|
680
680
|
}
|
|
681
681
|
};
|
|
682
|
-
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ?
|
|
682
|
+
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ? routeFromLocation(hashModeOf(router)) : '', offline: error?.offline === true, networkState: getNetworkState() };
|
|
683
683
|
return runInBlockWindow(() => renderLayoutWith(0, () => {
|
|
684
684
|
const result = errorFn(errorProps, new Map(), clientWalker);
|
|
685
685
|
if (result && typeof result.then === 'function') {
|
|
@@ -697,10 +697,10 @@ function renderMatch(router, match, container, navToken) {
|
|
|
697
697
|
throw error;
|
|
698
698
|
const retry = () => {
|
|
699
699
|
if (router && router.navigate) {
|
|
700
|
-
router.navigate(
|
|
700
|
+
router.navigate(routeFromLocation(hashModeOf(router)), { replace: true });
|
|
701
701
|
}
|
|
702
702
|
};
|
|
703
|
-
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ?
|
|
703
|
+
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ? routeFromLocation(hashModeOf(router)) : '', offline: error?.offline === true, networkState: getNetworkState() };
|
|
704
704
|
const errDom = runInBlockWindow(() => errorFn(errorProps, new Map(), clientWalker));
|
|
705
705
|
if (errDom && typeof errDom.then === 'function') {
|
|
706
706
|
errDom.then(mountDom);
|
|
@@ -800,10 +800,10 @@ async function renderErrorPage(router, match, container, error) {
|
|
|
800
800
|
const walker = createHydrateWalker(tempRoot, []);
|
|
801
801
|
const retry = () => {
|
|
802
802
|
if (router && router.navigate) {
|
|
803
|
-
router.navigate(
|
|
803
|
+
router.navigate(routeFromLocation(hashModeOf(router)), { replace: true });
|
|
804
804
|
}
|
|
805
805
|
};
|
|
806
|
-
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ?
|
|
806
|
+
const errorProps = { error, retry, params: paramValues, statusCode: error?.statusCode ?? 500, stack: error instanceof Error ? error.stack : String(error), url: typeof window !== 'undefined' ? routeFromLocation(hashModeOf(router)) : '', offline: error?.offline === true, networkState: getNetworkState() };
|
|
807
807
|
const renderErrorChain = (index) => {
|
|
808
808
|
if (index >= layoutNodes.length) {
|
|
809
809
|
const result = errorFn(errorProps, new Map(), walker);
|
|
@@ -947,6 +947,17 @@ async function hydrateInitial(router, match, container, strategy) {
|
|
|
947
947
|
// suspensions, so an async page resuming from `await useFetch(...)` still
|
|
948
948
|
// attaches its track()/effect() blocks to the root instead of orphaning them
|
|
949
949
|
// (orphaned effects never flush — async pages would hydrate with empty lists).
|
|
950
|
+
//
|
|
951
|
+
// renderLayoutChain(i) returns a hydrator FUNCTION rather than rendering
|
|
952
|
+
// eagerly. The layout/page chain must CLAIM SSR markers in DOM order —
|
|
953
|
+
// outermost layout first, then each inner layout, then the page — but the
|
|
954
|
+
// DOM wrapping happens inside-out. Returning a function defers each inner
|
|
955
|
+
// layout's claim until its enclosing layout's `{children}` slot invokes it,
|
|
956
|
+
// so claims run outermost→innermost (matching document order) while the
|
|
957
|
+
// outer layout still wraps the inner result. Rendering a layout eagerly (as
|
|
958
|
+
// a plain call) would claim the OUTER markers with the INNER component and
|
|
959
|
+
// cascade a marker-count mismatch across the whole `#root`, wiping the SSR
|
|
960
|
+
// content through the error/fallback path.
|
|
950
961
|
function renderLayoutChain(index) {
|
|
951
962
|
if (index >= layoutNodes.length) {
|
|
952
963
|
return (subWalker) => {
|
|
@@ -971,13 +982,15 @@ async function hydrateInitial(router, match, container, strategy) {
|
|
|
971
982
|
const node = layoutNodes[index];
|
|
972
983
|
const hydLayout = hydLayouts[index];
|
|
973
984
|
const childHydrator = renderLayoutChain(index + 1);
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
985
|
+
return (walker) => {
|
|
986
|
+
const layoutProps = { children: childHydrator, params: paramValues };
|
|
987
|
+
const result = hydLayout(layoutProps, new Map(), walker);
|
|
988
|
+
storeLayoutInstance(router, node, layoutProps, result);
|
|
989
|
+
return result;
|
|
990
|
+
};
|
|
978
991
|
}
|
|
979
992
|
const walker = createHydrateWalker(container);
|
|
980
|
-
await runInBlockWindow(() => renderLayoutChain(0));
|
|
993
|
+
await runInBlockWindow(() => renderLayoutChain(0)(walker));
|
|
981
994
|
setIsHydrating(false);
|
|
982
995
|
}
|
|
983
996
|
catch (error) {
|
|
@@ -999,7 +1012,32 @@ async function hydrateInitial(router, match, container, strategy) {
|
|
|
999
1012
|
}
|
|
1000
1013
|
}
|
|
1001
1014
|
}
|
|
1015
|
+
/** True when a router was created with `hash: true` (route lives in the URL fragment). */
|
|
1016
|
+
function hashModeOf(r) {
|
|
1017
|
+
return !!r && r._hashMode === true;
|
|
1018
|
+
}
|
|
1019
|
+
/** Returns the current route path from the browser location, honoring the mode. */
|
|
1020
|
+
function routeFromLocation(mode) {
|
|
1021
|
+
if (mode) {
|
|
1022
|
+
const h = typeof window !== 'undefined' ? window.location.hash : '';
|
|
1023
|
+
// Only `#/path` is a route in hash mode; plain `#anchor` in-page
|
|
1024
|
+
// links are never treated as routes.
|
|
1025
|
+
if (h.length > 1 && h[1] === '/')
|
|
1026
|
+
return h.slice(1);
|
|
1027
|
+
return '/';
|
|
1028
|
+
}
|
|
1029
|
+
return window.location.pathname + window.location.search;
|
|
1030
|
+
}
|
|
1031
|
+
/** Current route used as a scroll-position / navigation key (mode aware). */
|
|
1032
|
+
function routeKey(mode) {
|
|
1033
|
+
return get(_state.path) || routeFromLocation(mode);
|
|
1034
|
+
}
|
|
1002
1035
|
function scrollToHash() {
|
|
1036
|
+
// In hash mode the fragment IS the route — never treat it as an in-page
|
|
1037
|
+
// anchor target.
|
|
1038
|
+
const r = getCurrentRouter();
|
|
1039
|
+
if (hashModeOf(r))
|
|
1040
|
+
return;
|
|
1003
1041
|
const h = typeof window !== 'undefined' ? window.location.hash : '';
|
|
1004
1042
|
if (!h || h === '#')
|
|
1005
1043
|
return;
|
|
@@ -1018,6 +1056,7 @@ export function createRouter(routes, options = {}) {
|
|
|
1018
1056
|
const prefetch = options.prefetch !== false;
|
|
1019
1057
|
const hydrateStrategy = options.hydrate || 'full';
|
|
1020
1058
|
const routeTree = Array.isArray(routes) ? routes : buildTreeFromMap(routes, options);
|
|
1059
|
+
const hashMode = options.hash === true;
|
|
1021
1060
|
const router = {
|
|
1022
1061
|
routeTree,
|
|
1023
1062
|
container,
|
|
@@ -1029,6 +1068,7 @@ export function createRouter(routes, options = {}) {
|
|
|
1029
1068
|
_offlineUI: (options.offline ?? null),
|
|
1030
1069
|
_beforeGuards: [],
|
|
1031
1070
|
_viewTransitions: options.viewTransitions === true,
|
|
1071
|
+
_hashMode: hashMode,
|
|
1032
1072
|
beforeEach(fn) {
|
|
1033
1073
|
this._beforeGuards.push(fn);
|
|
1034
1074
|
let active = true;
|
|
@@ -1043,7 +1083,7 @@ export function createRouter(routes, options = {}) {
|
|
|
1043
1083
|
};
|
|
1044
1084
|
},
|
|
1045
1085
|
_runGuards(to) {
|
|
1046
|
-
const from = window.location.pathname;
|
|
1086
|
+
const from = get(_state.path) || window.location.pathname;
|
|
1047
1087
|
for (const g of this._beforeGuards ?? []) {
|
|
1048
1088
|
const d = g(to, from);
|
|
1049
1089
|
if (d instanceof Promise) {
|
|
@@ -1083,7 +1123,7 @@ export function createRouter(routes, options = {}) {
|
|
|
1083
1123
|
return;
|
|
1084
1124
|
_scrollTimer = setTimeout(() => {
|
|
1085
1125
|
if (window.scrollY !== undefined) {
|
|
1086
|
-
_scrollPositions.set(
|
|
1126
|
+
_scrollPositions.set(routeKey(hashMode), window.scrollY);
|
|
1087
1127
|
}
|
|
1088
1128
|
_scrollTimer = null;
|
|
1089
1129
|
}, 100);
|
|
@@ -1097,9 +1137,26 @@ export function createRouter(routes, options = {}) {
|
|
|
1097
1137
|
// click listener that respects modifier keys, target="_blank",
|
|
1098
1138
|
// download, external origins, hash/mailto/tel schemes.
|
|
1099
1139
|
window.addEventListener('popstate', () => {
|
|
1140
|
+
const p = routeFromLocation(hashMode);
|
|
1141
|
+
// Browser order of popstate/hashchange differs by engine; if the
|
|
1142
|
+
// route is already current the sibling handler navigated first.
|
|
1143
|
+
if (get(_state.path) === p)
|
|
1144
|
+
return;
|
|
1100
1145
|
setIsPopStateNavigation(true);
|
|
1101
|
-
this.navigate(
|
|
1146
|
+
this.navigate(p, { replace: true });
|
|
1102
1147
|
});
|
|
1148
|
+
if (hashMode) {
|
|
1149
|
+
window.addEventListener('hashchange', () => {
|
|
1150
|
+
const p = routeFromLocation(true);
|
|
1151
|
+
// Back/forward fires popstate (and often hashchange). If the
|
|
1152
|
+
// route is already current, popstate handled it — skip the
|
|
1153
|
+
// duplicate navigation.
|
|
1154
|
+
if (get(_state.path) === p)
|
|
1155
|
+
return;
|
|
1156
|
+
setIsPopStateNavigation(true);
|
|
1157
|
+
this.navigate(p, { replace: true });
|
|
1158
|
+
});
|
|
1159
|
+
}
|
|
1103
1160
|
document.addEventListener('click', (e) => {
|
|
1104
1161
|
const target = e.target;
|
|
1105
1162
|
if (!target || target.nodeType !== 1)
|
|
@@ -1121,7 +1178,11 @@ export function createRouter(routes, options = {}) {
|
|
|
1121
1178
|
if (anchor.getAttribute('rel') === 'external')
|
|
1122
1179
|
return;
|
|
1123
1180
|
const href = anchor.getAttribute('href');
|
|
1124
|
-
if (!href || href.startsWith('
|
|
1181
|
+
if (!href || href.startsWith('mailto:') || href.startsWith('tel:') || href.startsWith('javascript:'))
|
|
1182
|
+
return;
|
|
1183
|
+
// In hash mode `#/path` is a SPA route and gets intercepted;
|
|
1184
|
+
// plain `#anchor` in-page links always stay native.
|
|
1185
|
+
if (href.startsWith('#') && (!hashMode || !href.startsWith('#/')))
|
|
1125
1186
|
return;
|
|
1126
1187
|
try {
|
|
1127
1188
|
const url = new URL(href, window.location.origin);
|
|
@@ -1142,8 +1203,8 @@ export function createRouter(routes, options = {}) {
|
|
|
1142
1203
|
this.prefetch(link.getAttribute('href'));
|
|
1143
1204
|
}, { passive: true });
|
|
1144
1205
|
}
|
|
1145
|
-
const path =
|
|
1146
|
-
if (container.children.length > 0) {
|
|
1206
|
+
const path = routeFromLocation(hashMode);
|
|
1207
|
+
if (container.children.length > 0 && !hashMode) {
|
|
1147
1208
|
const url = new URL(path, window.location.origin);
|
|
1148
1209
|
const match = matchRoute(this.routeTree, url.pathname);
|
|
1149
1210
|
if (match) {
|
|
@@ -1161,7 +1222,9 @@ export function createRouter(routes, options = {}) {
|
|
|
1161
1222
|
return this;
|
|
1162
1223
|
},
|
|
1163
1224
|
navigate(path, opts = {}) {
|
|
1164
|
-
const
|
|
1225
|
+
const mode = hashModeOf(this);
|
|
1226
|
+
const raw = mode && typeof path === 'string' && path.startsWith('#/') ? path.slice(1) : path;
|
|
1227
|
+
const url = new URL(raw, window.location.origin);
|
|
1165
1228
|
const match = matchRoute(this.routeTree, url.pathname);
|
|
1166
1229
|
if (!match) {
|
|
1167
1230
|
window.location.href = path;
|
|
@@ -1173,7 +1236,7 @@ export function createRouter(routes, options = {}) {
|
|
|
1173
1236
|
const guardResult = self._runGuards(url.pathname);
|
|
1174
1237
|
const proceedNav = () => {
|
|
1175
1238
|
if (!_isPopStateNavigation) {
|
|
1176
|
-
_scrollPositions.set(
|
|
1239
|
+
_scrollPositions.set(routeKey(mode), window.scrollY);
|
|
1177
1240
|
}
|
|
1178
1241
|
const loadingFn = findLoadingComponent(match.matchChain);
|
|
1179
1242
|
this._navToken = (this._navToken || 0) + 1;
|
|
@@ -1181,11 +1244,13 @@ export function createRouter(routes, options = {}) {
|
|
|
1181
1244
|
loadingStart();
|
|
1182
1245
|
let firstRenderFailed = false;
|
|
1183
1246
|
const updateUrl = () => {
|
|
1247
|
+
const fullPath = url.pathname + url.search;
|
|
1248
|
+
const target = mode ? (fullPath.startsWith('/') ? '#' + fullPath : '#' + fullPath) : fullPath;
|
|
1184
1249
|
if (!opts.replace) {
|
|
1185
|
-
window.history.pushState({ path: url.pathname }, '',
|
|
1250
|
+
window.history.pushState({ path: url.pathname }, '', target);
|
|
1186
1251
|
}
|
|
1187
1252
|
else {
|
|
1188
|
-
window.history.replaceState({ path: url.pathname }, '',
|
|
1253
|
+
window.history.replaceState({ path: url.pathname }, '', target);
|
|
1189
1254
|
}
|
|
1190
1255
|
set(_state.path, url.pathname);
|
|
1191
1256
|
set(_state.search, url.search.startsWith('?') ? url.search.slice(1) : url.search);
|
|
@@ -1297,7 +1362,9 @@ export function createRouter(routes, options = {}) {
|
|
|
1297
1362
|
proceedNav();
|
|
1298
1363
|
},
|
|
1299
1364
|
prefetch(path) {
|
|
1300
|
-
const
|
|
1365
|
+
const mode = hashModeOf(this);
|
|
1366
|
+
const raw = mode && typeof path === 'string' && path.startsWith('#/') ? path.slice(1) : path;
|
|
1367
|
+
const url = new URL(raw, window.location.origin);
|
|
1301
1368
|
const match = matchRoute(this.routeTree, url.pathname);
|
|
1302
1369
|
if (!match)
|
|
1303
1370
|
return;
|
|
@@ -1355,12 +1422,12 @@ export function createRouter(routes, options = {}) {
|
|
|
1355
1422
|
}
|
|
1356
1423
|
}
|
|
1357
1424
|
if (!didUpdate) {
|
|
1358
|
-
const path =
|
|
1425
|
+
const path = routeFromLocation(hashMode);
|
|
1359
1426
|
this.navigate(path, { replace: true });
|
|
1360
1427
|
}
|
|
1361
1428
|
}
|
|
1362
1429
|
else {
|
|
1363
|
-
const path =
|
|
1430
|
+
const path = routeFromLocation(hashMode);
|
|
1364
1431
|
this.navigate(path, { replace: true });
|
|
1365
1432
|
}
|
|
1366
1433
|
},
|
|
@@ -1372,6 +1439,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1372
1439
|
const middleware = options.middleware || null;
|
|
1373
1440
|
const renderFn = options.render || renderMatch;
|
|
1374
1441
|
const hydrateStrategy = options.hydrate || 'full';
|
|
1442
|
+
const hashMode = options.hash === true;
|
|
1375
1443
|
const router = {
|
|
1376
1444
|
_hydrateStrategy: hydrateStrategy,
|
|
1377
1445
|
routeTree,
|
|
@@ -1384,6 +1452,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1384
1452
|
_offlineUI: (options.offline ?? null),
|
|
1385
1453
|
_beforeGuards: [],
|
|
1386
1454
|
_viewTransitions: options.viewTransitions === true,
|
|
1455
|
+
_hashMode: hashMode,
|
|
1387
1456
|
beforeEach(fn) {
|
|
1388
1457
|
this._beforeGuards.push(fn);
|
|
1389
1458
|
let active = true;
|
|
@@ -1398,7 +1467,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1398
1467
|
};
|
|
1399
1468
|
},
|
|
1400
1469
|
_runGuards(to) {
|
|
1401
|
-
const from = window.location.pathname;
|
|
1470
|
+
const from = get(_state.path) || window.location.pathname;
|
|
1402
1471
|
for (const g of this._beforeGuards ?? []) {
|
|
1403
1472
|
const d = g(to, from);
|
|
1404
1473
|
if (d instanceof Promise) {
|
|
@@ -1438,7 +1507,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1438
1507
|
return;
|
|
1439
1508
|
_scrollTimer = setTimeout(() => {
|
|
1440
1509
|
if (window.scrollY !== undefined) {
|
|
1441
|
-
_scrollPositions.set(
|
|
1510
|
+
_scrollPositions.set(routeKey(hashMode), window.scrollY);
|
|
1442
1511
|
}
|
|
1443
1512
|
_scrollTimer = null;
|
|
1444
1513
|
}, 100);
|
|
@@ -1446,9 +1515,26 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1446
1515
|
window.addEventListener('scroll', _onScroll, { passive: true });
|
|
1447
1516
|
}
|
|
1448
1517
|
window.addEventListener('popstate', () => {
|
|
1518
|
+
const p = routeFromLocation(hashMode);
|
|
1519
|
+
// Browser order of popstate/hashchange differs by engine; if the
|
|
1520
|
+
// route is already current the sibling handler navigated first.
|
|
1521
|
+
if (get(_state.path) === p)
|
|
1522
|
+
return;
|
|
1449
1523
|
setIsPopStateNavigation(true);
|
|
1450
|
-
router.navigate(
|
|
1524
|
+
router.navigate(p, { replace: true });
|
|
1451
1525
|
});
|
|
1526
|
+
if (hashMode) {
|
|
1527
|
+
window.addEventListener('hashchange', () => {
|
|
1528
|
+
const p = routeFromLocation(true);
|
|
1529
|
+
// Back/forward fires popstate (and often hashchange). If the
|
|
1530
|
+
// route is already current, popstate handled it — skip the
|
|
1531
|
+
// duplicate navigation.
|
|
1532
|
+
if (get(_state.path) === p)
|
|
1533
|
+
return;
|
|
1534
|
+
setIsPopStateNavigation(true);
|
|
1535
|
+
router.navigate(p, { replace: true });
|
|
1536
|
+
});
|
|
1537
|
+
}
|
|
1452
1538
|
document.addEventListener('click', (e) => {
|
|
1453
1539
|
const target = e.target;
|
|
1454
1540
|
if (!target || target.nodeType !== 1)
|
|
@@ -1470,7 +1556,9 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1470
1556
|
if (anchor.getAttribute('rel') === 'external')
|
|
1471
1557
|
return;
|
|
1472
1558
|
const href = anchor.getAttribute('href');
|
|
1473
|
-
if (!href || href.startsWith('
|
|
1559
|
+
if (!href || href.startsWith('mailto:') || href.startsWith('tel:') || href.startsWith('javascript:'))
|
|
1560
|
+
return;
|
|
1561
|
+
if (href.startsWith('#') && (!hashMode || !href.startsWith('#/')))
|
|
1474
1562
|
return;
|
|
1475
1563
|
try {
|
|
1476
1564
|
const url = new URL(href, window.location.origin);
|
|
@@ -1491,8 +1579,8 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1491
1579
|
router.prefetch(link.getAttribute('href'));
|
|
1492
1580
|
}, { passive: true });
|
|
1493
1581
|
}
|
|
1494
|
-
const path =
|
|
1495
|
-
if (container.children.length > 0) {
|
|
1582
|
+
const path = routeFromLocation(hashMode).split('?')[0];
|
|
1583
|
+
if (container.children.length > 0 && !hashMode) {
|
|
1496
1584
|
const match = matchRoute(routeTree, path);
|
|
1497
1585
|
if (match) {
|
|
1498
1586
|
match.pathname = path;
|
|
@@ -1509,7 +1597,9 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1509
1597
|
return router;
|
|
1510
1598
|
},
|
|
1511
1599
|
navigate(pathname, opts = {}) {
|
|
1512
|
-
const
|
|
1600
|
+
const mode = hashModeOf(router);
|
|
1601
|
+
const raw = mode && typeof pathname === 'string' && pathname.startsWith('#/') ? pathname.slice(1) : pathname;
|
|
1602
|
+
const url = raw instanceof URL ? raw : new URL(raw, window.location.origin);
|
|
1513
1603
|
const match = matchRoute(routeTree, url.pathname);
|
|
1514
1604
|
if (!match) {
|
|
1515
1605
|
const chain = flattenLayoutChain(routeTree, url.pathname.split('/').filter(Boolean));
|
|
@@ -1541,7 +1631,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1541
1631
|
match.pathname = url.pathname;
|
|
1542
1632
|
const afterGuards = () => {
|
|
1543
1633
|
if (!_isPopStateNavigation) {
|
|
1544
|
-
_scrollPositions.set(
|
|
1634
|
+
_scrollPositions.set(routeKey(mode), window.scrollY);
|
|
1545
1635
|
}
|
|
1546
1636
|
const swapView = (fn) => {
|
|
1547
1637
|
const d = document;
|
|
@@ -1559,11 +1649,12 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1559
1649
|
let firstRenderFailed = false;
|
|
1560
1650
|
const updateUrl = () => {
|
|
1561
1651
|
const fullUrl = url.pathname + url.search;
|
|
1652
|
+
const target = mode ? (fullUrl.startsWith('/') ? '#' + fullUrl : '#' + fullUrl) : fullUrl;
|
|
1562
1653
|
if (!opts.replace) {
|
|
1563
|
-
window.history.pushState({ path: fullUrl }, '',
|
|
1654
|
+
window.history.pushState({ path: fullUrl }, '', target);
|
|
1564
1655
|
}
|
|
1565
1656
|
else {
|
|
1566
|
-
window.history.replaceState({ path: fullUrl }, '',
|
|
1657
|
+
window.history.replaceState({ path: fullUrl }, '', target);
|
|
1567
1658
|
}
|
|
1568
1659
|
set(_state.path, url.pathname);
|
|
1569
1660
|
set(_state.search, url.search.startsWith('?') ? url.search.slice(1) : url.search);
|
|
@@ -1760,7 +1851,9 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1760
1851
|
afterGuards();
|
|
1761
1852
|
},
|
|
1762
1853
|
prefetch(path) {
|
|
1763
|
-
const
|
|
1854
|
+
const mode = hashModeOf(router);
|
|
1855
|
+
const raw = mode && typeof path === 'string' && path.startsWith('#/') ? path.slice(1) : path;
|
|
1856
|
+
const url = new URL(raw, window.location.origin);
|
|
1764
1857
|
const match = matchRoute(routeTree, url.pathname);
|
|
1765
1858
|
if (!match)
|
|
1766
1859
|
return;
|
|
@@ -1791,7 +1884,7 @@ export function createFileRouter(routeTree, options = {}) {
|
|
|
1791
1884
|
if (typeof router.__updateComponents === 'function') {
|
|
1792
1885
|
router.__updateComponents(router.routeTree);
|
|
1793
1886
|
}
|
|
1794
|
-
const path =
|
|
1887
|
+
const path = routeFromLocation(hashModeOf(router)).split('?')[0];
|
|
1795
1888
|
const match = matchRoute(router.routeTree, path);
|
|
1796
1889
|
if (match) {
|
|
1797
1890
|
match.pathname = path;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The server-wide context object shared across every request in this process. */
|
|
2
|
+
export declare function server_locals(): Record<string, unknown>;
|
|
3
|
+
/** Read one server-wide context value (undefined when unset). */
|
|
4
|
+
export declare function get_server_context(key: string): unknown;
|
|
5
|
+
/** Write one server-wide context value, visible to every subsequent request. */
|
|
6
|
+
export declare function set_server_context(key: string, value: unknown): void;
|
|
7
|
+
/** Wipe the entire server-wide context. */
|
|
8
|
+
export declare function clear_server_context(): void;
|
|
9
|
+
export declare const serverLocals: typeof server_locals;
|
|
10
|
+
export declare const getServerContext: typeof get_server_context;
|
|
11
|
+
export declare const setServerContext: typeof set_server_context;
|
|
12
|
+
export declare const clearServerContext: typeof clear_server_context;
|
|
13
|
+
//# sourceMappingURL=server-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-events.d.ts","sourceRoot":"","sources":["../src/server-events.ts"],"names":[],"mappings":"AAmBA,kFAAkF;AAClF,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEpE;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAED,eAAO,MAAM,YAAY,sBAAgB,CAAC;AAC1C,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AACnD,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,6BAAuB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function getStore() {
|
|
2
|
+
const g = globalThis;
|
|
3
|
+
if (!g.__vesk_server_ctx || typeof g.__vesk_server_ctx !== 'object') {
|
|
4
|
+
g.__vesk_server_ctx = {};
|
|
5
|
+
}
|
|
6
|
+
return g.__vesk_server_ctx;
|
|
7
|
+
}
|
|
8
|
+
/** The server-wide context object shared across every request in this process. */
|
|
9
|
+
export function server_locals() {
|
|
10
|
+
return getStore();
|
|
11
|
+
}
|
|
12
|
+
/** Read one server-wide context value (undefined when unset). */
|
|
13
|
+
export function get_server_context(key) {
|
|
14
|
+
return getStore()[key];
|
|
15
|
+
}
|
|
16
|
+
/** Write one server-wide context value, visible to every subsequent request. */
|
|
17
|
+
export function set_server_context(key, value) {
|
|
18
|
+
getStore()[key] = value;
|
|
19
|
+
}
|
|
20
|
+
/** Wipe the entire server-wide context. */
|
|
21
|
+
export function clear_server_context() {
|
|
22
|
+
const store = getStore();
|
|
23
|
+
for (const key of Object.keys(store))
|
|
24
|
+
delete store[key];
|
|
25
|
+
}
|
|
26
|
+
export const serverLocals = server_locals;
|
|
27
|
+
export const getServerContext = get_server_context;
|
|
28
|
+
export const setServerContext = set_server_context;
|
|
29
|
+
export const clearServerContext = clear_server_context;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vesk/runtime",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Vesk runtime — reactivity, blocks, DOM operations, hydration",
|
|
6
6
|
"main": "./dist/index-client.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@vesk/compiler": "^0.2.
|
|
29
|
+
"@vesk/compiler": "^0.2.17"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"typecheck": "tsc --noEmit",
|