name and route are required. url gives the view a representative URL — a concrete address that resolves to it — which tooling uses to navigate to the view (coverage reporting, bulk capture, and probing); a file-level url supplies a default for views that omit their own. description records the view’s purpose, and source links it to a source file. See Schema reference for every field.
Route matching
Routes use glob patterns against the URL pathname.*matches exactly one path segment:/users/*matches/users/42, not/users/42/edit.**matches any depth of segments:/admin/**matches/admin,/admin/users, and/admin/users/42/edit.- Literal segments match themselves.
- Matching is case-sensitive. Query strings and fragments are ignored. Trailing slashes are normalized away before matching.
:param segments are normalized to *, so /api/users/:id/orders and /api/users/*/orders are equivalent. See Requests.
Most specific wins
When more than one view route matches a URL, the route with the highest specificity score wins. Declaration order breaks ties between routes with equal scores. Specificity is the sum of per-segment scores:
The root route
/ scores 1 — more specific than any wildcard-only pattern. When two routes score equal, the first declared view wins.
/users/admin matches both routes and resolves to UserAdmin. /users/42 matches only UserProfile.
This specificity rule applies only to views. Every matching request applies. See Requests.
Scoped vs global
Components and requests can live at the file root or nested inside a view.- Global (file root): matched against every view.
- View-scoped (inside a view): matched only when that view is active.
- Additive: a view receives its scoped definitions and all globals. A view-scoped
$refsubsumes a global component with the same name for that view.
Dependencies
source names the view’s primary file. List supplementary files, such as feature-specific hooks, stores, and CSS modules, under dependencies. Reverse-lookup tools can then associate changes to those files with the view:
dependencies is curation-time metadata. Each string is a project-root-anchored minimatch glob; prefix it with ! to negate it. Runtime consumers MUST NOT add page-load cost based on this field. See the schema reference for usage rules and diagnostics.