@weave-framework/router 0.2.107 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Weave's official client router — signal-driven, history-based, with `RouterView` + `Link`. Zero third-party deps.
4
4
 
5
- Part of **[Weave](https://weave-framework.github.io/weave/)** — a fine-grained reactive, signal-native UI framework: no Virtual DOM, zero third-party runtime dependencies.
5
+ Part of **[Weave](https://weaveframework.dev/)** — a fine-grained reactive, signal-native UI framework: no Virtual DOM, zero third-party runtime dependencies.
6
6
 
7
7
  ```bash
8
8
  npm install @weave-framework/router
@@ -14,7 +14,7 @@ Most apps get this (and the rest of Weave) in one step:
14
14
  npm create weave@latest my-app
15
15
  ```
16
16
 
17
- 📚 **Guides + full API reference:** [weave-framework.github.io/weave](https://weave-framework.github.io/weave/)
17
+ 📚 **Guides + full API reference:** [weaveframework.dev](https://weaveframework.dev/)
18
18
 
19
19
  ## License
20
20
 
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@
18
18
  * Async data loading belongs in the component via `@weave-framework/data`.
19
19
  */
20
20
  import { type Component } from '@weave-framework/runtime/dom';
21
+ /** Path parameters matched from the URL, as a string map (`/users/:id` → `{ id: '42' }`). */
21
22
  export type RouteParams = Record<string, string>;
22
23
  /** Context handed to a guard: the resolved path, accumulated path params, and query. */
23
24
  export interface RouteContext {
@@ -40,9 +41,56 @@ export interface Route {
40
41
  guard?: Guard;
41
42
  /** Static redirect target (pathname). When matched, resolve to this path instead. */
42
43
  redirect?: string;
44
+ /**
45
+ * Route-level data loader. Runs when the route is rendered; its result is exposed to
46
+ * the component (and descendants) via {@link useLoaderData}, which returns an
47
+ * `@await`-compatible `{ data, loading, error }` — so `@await (useLoaderData())` just
48
+ * works. Re-runs when this route's params/query change; the previous run is aborted.
49
+ */
50
+ loader?: (ctx: LoaderContext) => unknown;
43
51
  /** Nested routes, matched against the path remainder under this route. */
44
52
  children?: Route[];
45
53
  }
54
+ /** Context handed to a route {@link Route.loader}: the (typed, via `route()`) params, query, and an abort signal. */
55
+ export interface LoaderContext<P = RouteParams> {
56
+ params: P;
57
+ query: RouteParams;
58
+ /** Aborted when the loader re-runs (param/query change) or the route unmounts. */
59
+ signal: AbortSignal;
60
+ }
61
+ /**
62
+ * Type-level path-param inference: turns a path literal into the params object its
63
+ * matches carry. `'/user/:id'` → `{ id: string }`, `'/user/:id/post/:pid'` →
64
+ * `{ id: string; pid: string }`, a param-less path → `{}`. Used by {@link route} so
65
+ * `guard`/`loader` see typed `params`.
66
+ */
67
+ export type RouteParamsOf<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ? {
68
+ [K in Param | keyof RouteParamsOf<`/${Rest}`>]: string;
69
+ } : Path extends `${string}:${infer Param}` ? {
70
+ [K in Param]: string;
71
+ } : Record<never, string>;
72
+ /** Config for {@link route} — like {@link Route} minus `path`, with a typed `guard`. */
73
+ export interface RouteConfig<Path extends string = string> {
74
+ component?: Component;
75
+ /** Sync guard with params typed from the path literal. */
76
+ guard?: (ctx: {
77
+ path: string;
78
+ params: RouteParamsOf<Path>;
79
+ query: RouteParams;
80
+ }) => boolean | string;
81
+ /** Data loader with params typed from the path literal (`route('/user/:id', …)` → `params.id`). */
82
+ loader?: (ctx: LoaderContext<RouteParamsOf<Path>>) => unknown;
83
+ redirect?: string;
84
+ children?: Route[];
85
+ }
86
+ /**
87
+ * Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
88
+ * `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
89
+ * `params.id: string`. Returns a plain {@link Route}, so it drops into the same
90
+ * `createRouter([...])` array and nests via `children`. Plain-object routes still work
91
+ * (with untyped `params`); `route()` is the opt-in for inference.
92
+ */
93
+ export declare function route<Path extends string>(path: Path, config?: RouteConfig<Path>): Route;
46
94
  /**
47
95
  * Set the base path the app is served under (e.g. `/weave` for a project page at
48
96
  * `user.github.io/weave/`). Call once before the first render. Default is root.
@@ -66,11 +114,11 @@ type AfterHook = (nav: NavInfo) => void;
66
114
  export declare function afterEach(fn: AfterHook): () => void;
67
115
  /** Toggle Weave's built-in scroll handling (top-on-push, `#fragment`, restore-on-pop). */
68
116
  export declare function setScrollHandling(on: boolean): void;
69
- /** The reactive current pathname (read-only). */
117
+ /** The reactive current pathname of the active router (read-only). */
70
118
  export declare const currentPath: () => string;
71
- /** The reactive current query params (read-only). */
119
+ /** The reactive current query params of the active router (read-only). */
72
120
  export declare const currentQuery: () => RouteParams;
73
- /** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
121
+ /** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
74
122
  export declare function navigate(to: string): void;
75
123
  /** Go back one history entry (the `popstate` listener syncs the path). */
76
124
  export declare function back(): void;
@@ -78,7 +126,10 @@ export declare function back(): void;
78
126
  export interface Match {
79
127
  view: Component;
80
128
  params: RouteParams;
129
+ /** This route's data loader, if any (run by the outlet; read via {@link useLoaderData}). */
130
+ loader?: (ctx: LoaderContext) => unknown;
81
131
  }
132
+ /** A router instance — owns its reactive URL state and resolves the matched route chain. Created by {@link createRouter}; reach the ambient one with {@link useRouter}. */
82
133
  export interface Router {
83
134
  /** The match at `depth` in the resolved chain (default 0 — the top component), or null. */
84
135
  matched: (depth?: number) => Match | null;
@@ -86,8 +137,14 @@ export interface Router {
86
137
  chain: () => Match[];
87
138
  /** Accumulated path params at `depth` (default: the leaf — i.e. all params). */
88
139
  params: (depth?: number) => RouteParams;
140
+ /** This router's reactive current pathname (read-only). */
141
+ path: () => string;
89
142
  /** The current query params (reactive). */
90
143
  query: () => RouteParams;
144
+ /** Navigate this router (pushes history). */
145
+ navigate: (to: string) => void;
146
+ /** Go back one history entry. */
147
+ back: () => void;
91
148
  /** Canonical pathname the URL should sync to after a guard/redirect, or null. */
92
149
  redirectTo: () => string | null;
93
150
  /** Warm a path's lazy route chunk(s) ahead of navigation (Link prefetch). */
@@ -101,9 +158,35 @@ export interface Router {
101
158
  */
102
159
  export declare function createRouter(routes: Route[], options?: {
103
160
  basename?: string;
161
+ viewTransitions?: boolean;
104
162
  }): Router;
105
163
  /** Warm a path's lazy route chunk(s) via the active router (no-op if none / not lazy). */
106
164
  export declare function prefetch(to: string): void;
165
+ /**
166
+ * Inject the router from context — the canonical way a routed component reaches its
167
+ * router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
168
+ * a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
169
+ * code outside the routed tree.
170
+ */
171
+ export declare function useRouter(): Router;
172
+ /**
173
+ * Reactive view of a route loader's result — the same `{ data, loading, error }` shape a
174
+ * `@weave-framework/data` resource exposes, so it drives `@await` directly.
175
+ */
176
+ export interface LoaderData<T = unknown> {
177
+ /** Latest resolved value, or `undefined` while pending. Reactive. */
178
+ data: () => T | undefined;
179
+ /** True while the loader is in flight (initial run + each re-run). Reactive. */
180
+ loading: () => boolean;
181
+ /** The last rejection, or `undefined`. Cleared at the start of each run. Reactive. */
182
+ error: () => unknown;
183
+ }
184
+ /**
185
+ * Read the current route's {@link Route.loader} result inside a routed component. Returns
186
+ * an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
187
+ * pending / value / error branches. Throws if the route has no loader.
188
+ */
189
+ export declare function useLoaderData<T = unknown>(): LoaderData<T>;
107
190
  /**
108
191
  * Router outlet: renders the matched component at its depth in the chain. The top
109
192
  * 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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,8 +17,18 @@
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
@@ -54,10 +64,39 @@ function withBase(p) {
54
64
  export function setBasename(base) {
55
65
  basename = normalizeBase(base);
56
66
  if (typeof location !== 'undefined')
57
- 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 };
58
81
  }
59
- const path = signal(typeof location !== 'undefined' ? stripBase(location.pathname) : '/');
60
- 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;
61
100
  const afterHooks = new Set();
62
101
  /**
63
102
  * Register a callback that runs after every navigation (push / pop / replace) —
@@ -115,34 +154,28 @@ if (typeof window !== 'undefined') {
115
154
  const st = e.state;
116
155
  curPos = st && typeof st.__wpos === 'number' ? st.__wpos : 0;
117
156
  const internal = stripBase(location.pathname);
118
- batch(() => {
119
- path.set(internal);
120
- search.set(location.search);
157
+ applyWithViewTransition(activeState, () => {
158
+ batch(() => {
159
+ activeState.path.set(internal);
160
+ activeState.search.set(location.search);
161
+ });
121
162
  });
122
163
  runAfter({ path: internal, search: location.search, hash: location.hash, type: 'pop' });
123
164
  });
124
165
  }
125
- /** The reactive current pathname (read-only). */
126
- export const currentPath = () => path();
127
- /** Parsed query string as a reactive `{ key: value }` map (last value wins on repeats). */
128
- const queryMap = computed(() => {
129
- const out = {};
130
- const s = search();
131
- if (s)
132
- new URLSearchParams(s).forEach((v, k) => (out[k] = v));
133
- return out;
134
- });
135
- /** The reactive current query params (read-only). */
136
- export const currentQuery = () => queryMap();
137
- /** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
138
- 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) {
139
172
  const hash = to.includes('#') ? to.slice(to.indexOf('#')) : '';
140
173
  const noHash = to.split('#')[0];
141
174
  const qI = noHash.indexOf('?');
142
175
  const nextPath = qI === -1 ? noHash : noHash.slice(0, qI);
143
176
  const nextSearch = qI === -1 ? '' : noHash.slice(qI);
144
177
  // A bare same-URL navigation is a no-op — unless there's a `#fragment` to scroll to.
145
- if (nextPath === path.peek() && nextSearch === search.peek() && !hash)
178
+ if (nextPath === state.path.peek() && nextSearch === state.search.peek() && !hash)
146
179
  return;
147
180
  // Remember where we are before leaving, so back/forward can restore it.
148
181
  if (typeof window !== 'undefined')
@@ -156,12 +189,18 @@ export function navigate(to) {
156
189
  catch {
157
190
  /* non-navigable environment (tests, sandboxes) — the signals stay authoritative */
158
191
  }
159
- batch(() => {
160
- path.set(nextPath);
161
- search.set(nextSearch);
192
+ applyWithViewTransition(state, () => {
193
+ batch(() => {
194
+ state.path.set(nextPath);
195
+ state.search.set(nextSearch);
196
+ });
162
197
  });
163
198
  runAfter({ path: nextPath, search: nextSearch, hash, type: 'push' });
164
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
+ }
165
204
  /** Go back one history entry (the `popstate` listener syncs the path). */
166
205
  export function back() {
167
206
  history.back();
@@ -207,7 +246,7 @@ function resolveLevel(routes, pathSegs, query, fullPath, inherited) {
207
246
  return null; // blocked → caller falls back
208
247
  if (typeof verdict === 'string')
209
248
  return { redirect: verdict };
210
- const here = { view: c.route.component, params };
249
+ const here = { view: c.route.component, params, loader: c.route.loader };
211
250
  if (m.rest.length === 0) {
212
251
  // Path fully consumed: include an index child (`path: ''`) if one matches.
213
252
  if (c.children.length) {
@@ -240,14 +279,20 @@ let activeRouter = null;
240
279
  * a top `<RouterView router={r}/>` and a nested `<RouterView/>` inside each layout.
241
280
  */
242
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;
243
288
  if (options?.basename !== undefined)
244
289
  setBasename(options.basename);
245
290
  const compiled = compileRoutes(routes);
246
291
  const fallback = routes.find((r) => r.path === '*');
247
292
  const fallbackChain = () => fallback?.component ? [{ view: fallback.component, params: {} }] : [];
248
293
  const resolution = computed(() => {
249
- const q = queryMap();
250
- const start = path();
294
+ const q = state.query();
295
+ const start = state.path();
251
296
  let p = start;
252
297
  for (let hops = 0; hops < 16; hops++) {
253
298
  const res = resolveLevel(compiled, splitSegs(p), q, p, {});
@@ -286,7 +331,10 @@ export function createRouter(routes, options) {
286
331
  const i = depth ?? ch.length - 1;
287
332
  return ch[i]?.params ?? {};
288
333
  },
289
- query: () => queryMap(),
334
+ path: () => state.path(),
335
+ query: () => state.query(),
336
+ navigate: (to) => navigateState(state, to),
337
+ back: () => back(),
290
338
  redirectTo: () => resolution().redirectTo,
291
339
  preload,
292
340
  };
@@ -299,6 +347,78 @@ export function prefetch(to) {
299
347
  }
300
348
  /** Carries the router + the next outlet's depth down the tree (set by each RouterView). */
301
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
+ }
302
422
  /**
303
423
  * Router outlet: renders the matched component at its depth in the chain. The top
304
424
  * outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
@@ -334,8 +454,8 @@ export const RouterView = (props = {}) => {
334
454
  if (router && depth === 0) {
335
455
  effect(() => {
336
456
  const to = router.redirectTo();
337
- if (to !== null && to !== path.peek())
338
- navigate(to);
457
+ if (to !== null && to !== router.path())
458
+ router.navigate(to);
339
459
  });
340
460
  }
341
461
  const thunks = new Map();
@@ -346,7 +466,14 @@ export const RouterView = (props = {}) => {
346
466
  let thunk = thunks.get(m.view);
347
467
  if (!thunk) {
348
468
  const view = m.view;
469
+ const loaderMatch = m; // loader fn is stable per route; params are read live
349
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
+ }
350
477
  const node = view({
351
478
  get params() {
352
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.107",
3
+ "version": "1.0.0",
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.107"
38
+ "@weave-framework/runtime": "1.0.0"
39
39
  },
40
40
  "license": "MIT"
41
41
  }