@weave-framework/router 0.2.53 → 0.2.162

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/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @weave-framework/router
2
+
3
+ Weave's official client router — signal-driven, history-based, with `RouterView` + `Link`. Zero third-party deps.
4
+
5
+ Part of **[Weave](https://weaveframework.dev/)** — a fine-grained reactive, signal-native UI framework: no Virtual DOM, zero third-party runtime dependencies.
6
+
7
+ ```bash
8
+ npm install @weave-framework/router
9
+ ```
10
+
11
+ Most apps get this (and the rest of Weave) in one step:
12
+
13
+ ```bash
14
+ npm create weave@latest my-app
15
+ ```
16
+
17
+ 📚 **Guides + full API reference:** [weaveframework.dev](https://weaveframework.dev/)
18
+
19
+ ## License
20
+
21
+ MIT
package/dist/index.d.ts CHANGED
@@ -40,9 +40,56 @@ export interface Route {
40
40
  guard?: Guard;
41
41
  /** Static redirect target (pathname). When matched, resolve to this path instead. */
42
42
  redirect?: string;
43
+ /**
44
+ * Route-level data loader. Runs when the route is rendered; its result is exposed to
45
+ * the component (and descendants) via {@link useLoaderData}, which returns an
46
+ * `@await`-compatible `{ data, loading, error }` — so `@await (useLoaderData())` just
47
+ * works. Re-runs when this route's params/query change; the previous run is aborted.
48
+ */
49
+ loader?: (ctx: LoaderContext) => unknown;
43
50
  /** Nested routes, matched against the path remainder under this route. */
44
51
  children?: Route[];
45
52
  }
53
+ /** Context handed to a route {@link Route.loader}: the (typed, via `route()`) params, query, and an abort signal. */
54
+ export interface LoaderContext<P = RouteParams> {
55
+ params: P;
56
+ query: RouteParams;
57
+ /** Aborted when the loader re-runs (param/query change) or the route unmounts. */
58
+ signal: AbortSignal;
59
+ }
60
+ /**
61
+ * Type-level path-param inference: turns a path literal into the params object its
62
+ * matches carry. `'/user/:id'` → `{ id: string }`, `'/user/:id/post/:pid'` →
63
+ * `{ id: string; pid: string }`, a param-less path → `{}`. Used by {@link route} so
64
+ * `guard`/`loader` see typed `params`.
65
+ */
66
+ export type RouteParamsOf<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ? {
67
+ [K in Param | keyof RouteParamsOf<`/${Rest}`>]: string;
68
+ } : Path extends `${string}:${infer Param}` ? {
69
+ [K in Param]: string;
70
+ } : Record<never, string>;
71
+ /** Config for {@link route} — like {@link Route} minus `path`, with a typed `guard`. */
72
+ export interface RouteConfig<Path extends string = string> {
73
+ component?: Component;
74
+ /** Sync guard with params typed from the path literal. */
75
+ guard?: (ctx: {
76
+ path: string;
77
+ params: RouteParamsOf<Path>;
78
+ query: RouteParams;
79
+ }) => boolean | string;
80
+ /** Data loader with params typed from the path literal (`route('/user/:id', …)` → `params.id`). */
81
+ loader?: (ctx: LoaderContext<RouteParamsOf<Path>>) => unknown;
82
+ redirect?: string;
83
+ children?: Route[];
84
+ }
85
+ /**
86
+ * Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
87
+ * `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
88
+ * `params.id: string`. Returns a plain {@link Route}, so it drops into the same
89
+ * `createRouter([...])` array and nests via `children`. Plain-object routes still work
90
+ * (with untyped `params`); `route()` is the opt-in for inference.
91
+ */
92
+ export declare function route<Path extends string>(path: Path, config?: RouteConfig<Path>): Route;
46
93
  /**
47
94
  * Set the base path the app is served under (e.g. `/weave` for a project page at
48
95
  * `user.github.io/weave/`). Call once before the first render. Default is root.
@@ -66,11 +113,11 @@ type AfterHook = (nav: NavInfo) => void;
66
113
  export declare function afterEach(fn: AfterHook): () => void;
67
114
  /** Toggle Weave's built-in scroll handling (top-on-push, `#fragment`, restore-on-pop). */
68
115
  export declare function setScrollHandling(on: boolean): void;
69
- /** The reactive current pathname (read-only). */
116
+ /** The reactive current pathname of the active router (read-only). */
70
117
  export declare const currentPath: () => string;
71
- /** The reactive current query params (read-only). */
118
+ /** The reactive current query params of the active router (read-only). */
72
119
  export declare const currentQuery: () => RouteParams;
73
- /** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
120
+ /** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
74
121
  export declare function navigate(to: string): void;
75
122
  /** Go back one history entry (the `popstate` listener syncs the path). */
76
123
  export declare function back(): void;
@@ -78,6 +125,8 @@ export declare function back(): void;
78
125
  export interface Match {
79
126
  view: Component;
80
127
  params: RouteParams;
128
+ /** This route's data loader, if any (run by the outlet; read via {@link useLoaderData}). */
129
+ loader?: (ctx: LoaderContext) => unknown;
81
130
  }
82
131
  export interface Router {
83
132
  /** The match at `depth` in the resolved chain (default 0 — the top component), or null. */
@@ -86,8 +135,14 @@ export interface Router {
86
135
  chain: () => Match[];
87
136
  /** Accumulated path params at `depth` (default: the leaf — i.e. all params). */
88
137
  params: (depth?: number) => RouteParams;
138
+ /** This router's reactive current pathname (read-only). */
139
+ path: () => string;
89
140
  /** The current query params (reactive). */
90
141
  query: () => RouteParams;
142
+ /** Navigate this router (pushes history). */
143
+ navigate: (to: string) => void;
144
+ /** Go back one history entry. */
145
+ back: () => void;
91
146
  /** Canonical pathname the URL should sync to after a guard/redirect, or null. */
92
147
  redirectTo: () => string | null;
93
148
  /** Warm a path's lazy route chunk(s) ahead of navigation (Link prefetch). */
@@ -101,9 +156,35 @@ export interface Router {
101
156
  */
102
157
  export declare function createRouter(routes: Route[], options?: {
103
158
  basename?: string;
159
+ viewTransitions?: boolean;
104
160
  }): Router;
105
161
  /** Warm a path's lazy route chunk(s) via the active router (no-op if none / not lazy). */
106
162
  export declare function prefetch(to: string): void;
163
+ /**
164
+ * Inject the router from context — the canonical way a routed component reaches its
165
+ * router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
166
+ * a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
167
+ * code outside the routed tree.
168
+ */
169
+ export declare function useRouter(): Router;
170
+ /**
171
+ * Reactive view of a route loader's result — the same `{ data, loading, error }` shape a
172
+ * `@weave-framework/data` resource exposes, so it drives `@await` directly.
173
+ */
174
+ export interface LoaderData<T = unknown> {
175
+ /** Latest resolved value, or `undefined` while pending. Reactive. */
176
+ data: () => T | undefined;
177
+ /** True while the loader is in flight (initial run + each re-run). Reactive. */
178
+ loading: () => boolean;
179
+ /** The last rejection, or `undefined`. Cleared at the start of each run. Reactive. */
180
+ error: () => unknown;
181
+ }
182
+ /**
183
+ * Read the current route's {@link Route.loader} result inside a routed component. Returns
184
+ * an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
185
+ * pending / value / error branches. Throws if the route has no loader.
186
+ */
187
+ export declare function useLoaderData<T = unknown>(): LoaderData<T>;
107
188
  /**
108
189
  * Router outlet: renders the matched component at its depth in the chain. The top
109
190
  * outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAuB,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEtG,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,wFAAwF;AACxF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,GAAG,MAAM,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kFAAkF;IAClF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;CACpB;AA+BD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9C;AAOD,wFAAwF;AACxF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAEjD,iFAAiF;AACjF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;AAGxC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,IAAI,CAGnD;AAMD,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAEnD;AAiDD,iDAAiD;AACjD,eAAO,MAAM,WAAW,QAAO,MAAgB,CAAC;AAUhD,qDAAqD;AACrD,eAAO,MAAM,YAAY,QAAO,WAAyB,CAAC;AAE1D,uFAAuF;AACvF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAuBzC;AAED,0EAA0E;AAC1E,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AA6CD,qFAAqF;AACrF,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB;AAyCD,MAAM,WAAW,MAAM;IACrB,2FAA2F;IAC3F,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;IAC1C,mDAAmD;IACnD,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC;IACrB,gFAAgF;IAChF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC;IACxC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,WAAW,CAAC;IACzB,iFAAiF;IACjF,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,6EAA6E;IAC7E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAKD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA0DrF;AAED,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzC;AAYD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,EAAE,SAqDxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,EAAE,SAyDlB,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,18 +17,31 @@
17
17
  * signals (e.g. `isAuthed()`), so a route re-resolves automatically when auth changes.
18
18
  * Async data loading belongs in the component via `@weave-framework/data`.
19
19
  */
20
- import { signal, computed, effect, batch, getOwner, createContext, provide, inject } from '@weave-framework/runtime';
20
+ import { signal, computed, effect, batch, onCleanup, getOwner, createContext, provide, inject } from '@weave-framework/runtime';
21
21
  import { ifBlock, transition } from '@weave-framework/runtime/dom';
22
+ /**
23
+ * Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
24
+ * `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
25
+ * `params.id: string`. Returns a plain {@link Route}, so it drops into the same
26
+ * `createRouter([...])` array and nests via `children`. Plain-object routes still work
27
+ * (with untyped `params`); `route()` is the opt-in for inference.
28
+ */
29
+ export function route(path, config = {}) {
30
+ return { path, ...config };
31
+ }
22
32
  /* ──────────── base path (for hosting under a sub-path, e.g. GitHub Pages) ──────────── */
23
33
  // All public paths (route patterns, navigate(), Link `to`, currentPath()) are
24
34
  // "internal" — written as if the app were at the origin root. `basename` is the
25
35
  // prefix the app is actually served under (default '' = root). It's stripped when
26
36
  // reading location and re-added when writing history, so nothing else changes.
27
37
  let basename = '';
28
- /** Normalize a base: strip a trailing slash; treat '' / '/' as "no base". */
38
+ /** Normalize a base: strip trailing slashes; treat '' / '/' as "no base". */
29
39
  function normalizeBase(b) {
30
- const t = b.replace(/\/+$/, '');
31
- return t === '' || t === '/' ? '' : t;
40
+ // Non-regex trailing-slash trim (a `/\/+$/` regex is a polynomial-ReDoS shape).
41
+ let end = b.length;
42
+ while (end > 0 && b[end - 1] === '/')
43
+ end--;
44
+ return b.slice(0, end);
32
45
  }
33
46
  /** location.pathname → internal path (drop the basename prefix). */
34
47
  function stripBase(pathname) {
@@ -51,10 +64,39 @@ function withBase(p) {
51
64
  export function setBasename(base) {
52
65
  basename = normalizeBase(base);
53
66
  if (typeof location !== 'undefined')
54
- path.set(stripBase(location.pathname));
67
+ activeState.path.set(stripBase(location.pathname));
68
+ }
69
+ function createState() {
70
+ const path = signal(typeof location !== 'undefined' ? stripBase(location.pathname) : '/');
71
+ const search = signal(typeof location !== 'undefined' ? location.search : '');
72
+ // Parsed query string as a reactive `{ key: value }` map (last value wins on repeats).
73
+ const query = computed(() => {
74
+ const out = {};
75
+ const s = search();
76
+ if (s)
77
+ new URLSearchParams(s).forEach((v, k) => (out[k] = v));
78
+ return out;
79
+ });
80
+ return { path, search, query, vt: false };
55
81
  }
56
- const path = signal(typeof location !== 'undefined' ? stripBase(location.pathname) : '/');
57
- const search = signal(typeof location !== 'undefined' ? location.search : '');
82
+ /**
83
+ * Apply a state mutation, wrapped in a native View Transition when this router opted in
84
+ * (`viewTransitions: true`) and the browser supports it. Weave's updates are synchronous,
85
+ * so the outlet's swap happens *inside* the callback — the browser snapshots before/after
86
+ * and cross-fades. Unsupported browsers (or `vt: false`) just apply directly — a graceful
87
+ * fallback, and any Weave `transition` prop on `<RouterView>` still plays as before.
88
+ */
89
+ function applyWithViewTransition(state, apply) {
90
+ const doc = typeof document !== 'undefined' ? document : undefined;
91
+ if (state.vt && doc && typeof doc.startViewTransition === 'function') {
92
+ doc.startViewTransition(apply);
93
+ }
94
+ else {
95
+ apply();
96
+ }
97
+ }
98
+ const defaultState = createState();
99
+ let activeState = defaultState;
58
100
  const afterHooks = new Set();
59
101
  /**
60
102
  * Register a callback that runs after every navigation (push / pop / replace) —
@@ -112,34 +154,28 @@ if (typeof window !== 'undefined') {
112
154
  const st = e.state;
113
155
  curPos = st && typeof st.__wpos === 'number' ? st.__wpos : 0;
114
156
  const internal = stripBase(location.pathname);
115
- batch(() => {
116
- path.set(internal);
117
- search.set(location.search);
157
+ applyWithViewTransition(activeState, () => {
158
+ batch(() => {
159
+ activeState.path.set(internal);
160
+ activeState.search.set(location.search);
161
+ });
118
162
  });
119
163
  runAfter({ path: internal, search: location.search, hash: location.hash, type: 'pop' });
120
164
  });
121
165
  }
122
- /** The reactive current pathname (read-only). */
123
- export const currentPath = () => path();
124
- /** Parsed query string as a reactive `{ key: value }` map (last value wins on repeats). */
125
- const queryMap = computed(() => {
126
- const out = {};
127
- const s = search();
128
- if (s)
129
- new URLSearchParams(s).forEach((v, k) => (out[k] = v));
130
- return out;
131
- });
132
- /** The reactive current query params (read-only). */
133
- export const currentQuery = () => queryMap();
134
- /** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
135
- export function navigate(to) {
166
+ /** The reactive current pathname of the active router (read-only). */
167
+ export const currentPath = () => activeState.path();
168
+ /** The reactive current query params of the active router (read-only). */
169
+ export const currentQuery = () => activeState.query();
170
+ /** Programmatic navigation against a specific router state (pushes history). */
171
+ function navigateState(state, to) {
136
172
  const hash = to.includes('#') ? to.slice(to.indexOf('#')) : '';
137
173
  const noHash = to.split('#')[0];
138
174
  const qI = noHash.indexOf('?');
139
175
  const nextPath = qI === -1 ? noHash : noHash.slice(0, qI);
140
176
  const nextSearch = qI === -1 ? '' : noHash.slice(qI);
141
177
  // A bare same-URL navigation is a no-op — unless there's a `#fragment` to scroll to.
142
- if (nextPath === path.peek() && nextSearch === search.peek() && !hash)
178
+ if (nextPath === state.path.peek() && nextSearch === state.search.peek() && !hash)
143
179
  return;
144
180
  // Remember where we are before leaving, so back/forward can restore it.
145
181
  if (typeof window !== 'undefined')
@@ -153,12 +189,18 @@ export function navigate(to) {
153
189
  catch {
154
190
  /* non-navigable environment (tests, sandboxes) — the signals stay authoritative */
155
191
  }
156
- batch(() => {
157
- path.set(nextPath);
158
- search.set(nextSearch);
192
+ applyWithViewTransition(state, () => {
193
+ batch(() => {
194
+ state.path.set(nextPath);
195
+ state.search.set(nextSearch);
196
+ });
159
197
  });
160
198
  runAfter({ path: nextPath, search: nextSearch, hash, type: 'push' });
161
199
  }
200
+ /** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
201
+ export function navigate(to) {
202
+ navigateState(activeState, to);
203
+ }
162
204
  /** Go back one history entry (the `popstate` listener syncs the path). */
163
205
  export function back() {
164
206
  history.back();
@@ -204,7 +246,7 @@ function resolveLevel(routes, pathSegs, query, fullPath, inherited) {
204
246
  return null; // blocked → caller falls back
205
247
  if (typeof verdict === 'string')
206
248
  return { redirect: verdict };
207
- const here = { view: c.route.component, params };
249
+ const here = { view: c.route.component, params, loader: c.route.loader };
208
250
  if (m.rest.length === 0) {
209
251
  // Path fully consumed: include an index child (`path: ''`) if one matches.
210
252
  if (c.children.length) {
@@ -237,14 +279,20 @@ let activeRouter = null;
237
279
  * a top `<RouterView router={r}/>` and a nested `<RouterView/>` inside each layout.
238
280
  */
239
281
  export function createRouter(routes, options) {
282
+ // This router owns its reactive state and becomes the browser-active one (the target
283
+ // of the module-level sugar + the popstate listener). Set active BEFORE applying the
284
+ // basename so `setBasename` corrects THIS router's path.
285
+ const state = createState();
286
+ state.vt = !!options?.viewTransitions;
287
+ activeState = state;
240
288
  if (options?.basename !== undefined)
241
289
  setBasename(options.basename);
242
290
  const compiled = compileRoutes(routes);
243
291
  const fallback = routes.find((r) => r.path === '*');
244
292
  const fallbackChain = () => fallback?.component ? [{ view: fallback.component, params: {} }] : [];
245
293
  const resolution = computed(() => {
246
- const q = queryMap();
247
- const start = path();
294
+ const q = state.query();
295
+ const start = state.path();
248
296
  let p = start;
249
297
  for (let hops = 0; hops < 16; hops++) {
250
298
  const res = resolveLevel(compiled, splitSegs(p), q, p, {});
@@ -283,7 +331,10 @@ export function createRouter(routes, options) {
283
331
  const i = depth ?? ch.length - 1;
284
332
  return ch[i]?.params ?? {};
285
333
  },
286
- query: () => queryMap(),
334
+ path: () => state.path(),
335
+ query: () => state.query(),
336
+ navigate: (to) => navigateState(state, to),
337
+ back: () => back(),
287
338
  redirectTo: () => resolution().redirectTo,
288
339
  preload,
289
340
  };
@@ -296,6 +347,78 @@ export function prefetch(to) {
296
347
  }
297
348
  /** Carries the router + the next outlet's depth down the tree (set by each RouterView). */
298
349
  const OutletContext = createContext(null);
350
+ /**
351
+ * Inject the router from context — the canonical way a routed component reaches its
352
+ * router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
353
+ * a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
354
+ * code outside the routed tree.
355
+ */
356
+ export function useRouter() {
357
+ const ctx = inject(OutletContext);
358
+ if (!ctx?.router) {
359
+ throw new Error('useRouter() must be called within a <RouterView> subtree');
360
+ }
361
+ return ctx.router;
362
+ }
363
+ /** Carries the current route's loader result down to the component + descendants. */
364
+ const LoaderDataContext = createContext(null);
365
+ /**
366
+ * Read the current route's {@link Route.loader} result inside a routed component. Returns
367
+ * an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
368
+ * pending / value / error branches. Throws if the route has no loader.
369
+ */
370
+ export function useLoaderData() {
371
+ const data = inject(LoaderDataContext);
372
+ if (!data) {
373
+ throw new Error('useLoaderData() requires the current route to define a loader');
374
+ }
375
+ return data;
376
+ }
377
+ /**
378
+ * Run a match's loader as a reactive resource: (re)runs whenever this depth's params or
379
+ * query change (keyed, so unrelated navigations don't refetch), aborting the previous run
380
+ * and ignoring its late settle. Runtime-only (no `@weave-framework/data` dependency) —
381
+ * loaders need just load/value/error + abort, which the `@await` contract is built on.
382
+ *
383
+ * SSR seam (Phase D, RFC 0001 §4): a future `renderToString` will `await` these before
384
+ * serializing and seed the resolved value into the page so the client hydrates without a
385
+ * re-fetch — this resource is the single place that wiring will hook in.
386
+ */
387
+ function createLoaderResource(match, router, depth) {
388
+ const dataSig = signal(undefined);
389
+ const loadingSig = signal(true);
390
+ const errorSig = signal(undefined);
391
+ let token = 0;
392
+ let lastKey = null;
393
+ let ac = null;
394
+ effect(() => {
395
+ const params = router.params(depth);
396
+ const query = router.query();
397
+ const key = JSON.stringify(params) + '' + JSON.stringify(query);
398
+ if (key === lastKey)
399
+ return; // same inputs → don't re-run on an unrelated navigation
400
+ lastKey = key;
401
+ const my = ++token;
402
+ ac?.abort();
403
+ ac = typeof AbortController !== 'undefined' ? new AbortController() : null;
404
+ const signal = ac ? ac.signal : { aborted: false };
405
+ batch(() => {
406
+ loadingSig.set(true);
407
+ errorSig.set(undefined);
408
+ });
409
+ Promise.resolve()
410
+ .then(() => match.loader({ params, query, signal }))
411
+ .then((value) => {
412
+ if (my === token)
413
+ batch(() => { dataSig.set(value); loadingSig.set(false); });
414
+ }, (err) => {
415
+ if (my === token)
416
+ batch(() => { errorSig.set(err); loadingSig.set(false); });
417
+ });
418
+ });
419
+ onCleanup(() => ac?.abort());
420
+ return { data: () => dataSig(), loading: () => loadingSig(), error: () => errorSig() };
421
+ }
299
422
  /**
300
423
  * Router outlet: renders the matched component at its depth in the chain. The top
301
424
  * outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
@@ -331,8 +454,8 @@ export const RouterView = (props = {}) => {
331
454
  if (router && depth === 0) {
332
455
  effect(() => {
333
456
  const to = router.redirectTo();
334
- if (to !== null && to !== path.peek())
335
- navigate(to);
457
+ if (to !== null && to !== router.path())
458
+ router.navigate(to);
336
459
  });
337
460
  }
338
461
  const thunks = new Map();
@@ -343,7 +466,14 @@ export const RouterView = (props = {}) => {
343
466
  let thunk = thunks.get(m.view);
344
467
  if (!thunk) {
345
468
  const view = m.view;
469
+ const loaderMatch = m; // loader fn is stable per route; params are read live
346
470
  thunk = () => {
471
+ // Run this route's loader (if any) and expose it via context so a descendant's
472
+ // useLoaderData() resolves it. Provided in the branch's own owner scope, so it
473
+ // disposes with the view on swap/unmount.
474
+ if (loaderMatch.loader && getOwner()) {
475
+ provide(LoaderDataContext, createLoaderResource(loaderMatch, router, depth));
476
+ }
347
477
  const node = view({
348
478
  get params() {
349
479
  return router.params(depth);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weave-framework/router",
3
- "version": "0.2.53",
3
+ "version": "0.2.162",
4
4
  "description": "Weave official client router — signal-driven, history-based, with RouterView + Link. Zero third-party deps.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -35,7 +35,7 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@weave-framework/runtime": "0.2.53"
38
+ "@weave-framework/runtime": "0.2.162"
39
39
  },
40
40
  "license": "MIT"
41
41
  }