@nifrajs/web 2.2.0 → 2.4.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 +3 -3
- package/dist/build-vite.d.ts +4 -4
- package/dist/build-vite.d.ts.map +1 -1
- package/dist/build-vite.js +20 -74
- package/dist/build-vite.js.map +1 -1
- package/dist/build.d.ts +64 -42
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +100 -78
- package/dist/build.js.map +1 -1
- package/dist/bun-dev-entry.d.ts +1 -1
- package/dist/bun-dev-entry.js +1 -1
- package/dist/chunk-names.js +1 -1
- package/dist/client.d.ts +3 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +201 -29
- package/dist/client.js.map +1 -1
- package/dist/conformance.d.ts +2 -2
- package/dist/conformance.js +3 -3
- package/dist/deferred.d.ts +11 -11
- package/dist/deferred.d.ts.map +1 -1
- package/dist/deferred.js +16 -16
- package/dist/dev-diagnostics.d.ts +20 -0
- package/dist/dev-diagnostics.d.ts.map +1 -0
- package/dist/dev-diagnostics.js +34 -0
- package/dist/dev-diagnostics.js.map +1 -0
- package/dist/dev-error.d.ts +10 -13
- package/dist/dev-error.d.ts.map +1 -1
- package/dist/dev-error.js +51 -37
- package/dist/dev-error.js.map +1 -1
- package/dist/dev-port.d.ts +3 -3
- package/dist/dev-port.d.ts.map +1 -1
- package/dist/dev-port.js +10 -4
- package/dist/dev-port.js.map +1 -1
- package/dist/dev.d.ts +4 -4
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +28 -12
- package/dist/dev.js.map +1 -1
- package/dist/diagnostic.d.ts +93 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +205 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/draft.d.ts +12 -12
- package/dist/draft.js +11 -11
- package/dist/fn-state.d.ts +56 -0
- package/dist/fn-state.d.ts.map +1 -0
- package/dist/fn-state.js +77 -0
- package/dist/fn-state.js.map +1 -0
- package/dist/fn.d.ts +111 -0
- package/dist/fn.d.ts.map +1 -0
- package/dist/fn.js +125 -0
- package/dist/fn.js.map +1 -0
- package/dist/fonts-google.d.ts +9 -9
- package/dist/fonts-google.js +10 -10
- package/dist/fonts.d.ts +7 -7
- package/dist/fonts.js +1 -1
- package/dist/forms.d.ts +8 -8
- package/dist/fs.d.ts +1 -1
- package/dist/fs.js +1 -1
- package/dist/index.d.ts +151 -70
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +317 -139
- package/dist/index.js.map +1 -1
- package/dist/internal/head-attributes.d.ts +15 -0
- package/dist/internal/head-attributes.d.ts.map +1 -0
- package/dist/internal/head-attributes.js +99 -0
- package/dist/internal/head-attributes.js.map +1 -0
- package/dist/internal/script-types.d.ts +14 -0
- package/dist/internal/script-types.d.ts.map +1 -0
- package/dist/internal/script-types.js +17 -0
- package/dist/internal/script-types.js.map +1 -0
- package/dist/internal/server-boundary.d.ts +60 -0
- package/dist/internal/server-boundary.d.ts.map +1 -0
- package/dist/internal/server-boundary.js +174 -0
- package/dist/internal/server-boundary.js.map +1 -0
- package/dist/internal/timing-safe-equal.d.ts +1 -1
- package/dist/internal/timing-safe-equal.js +1 -1
- package/dist/internal/vite-import.d.ts +63 -0
- package/dist/internal/vite-import.d.ts.map +1 -0
- package/dist/internal/vite-import.js +94 -0
- package/dist/internal/vite-import.js.map +1 -0
- package/dist/islands.d.ts +5 -5
- package/dist/islands.js +5 -5
- package/dist/isr.d.ts +15 -15
- package/dist/isr.js +7 -7
- package/dist/manifest.d.ts +73 -35
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +10 -16
- package/dist/manifest.js.map +1 -1
- package/dist/module-graph.d.ts +5 -5
- package/dist/module-graph.js +4 -4
- package/dist/navigation.d.ts +120 -5
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +37 -5
- package/dist/navigation.js.map +1 -1
- package/dist/plugins/css-modules.d.ts +3 -3
- package/dist/plugins/css-modules.js +0 -0
- package/dist/plugins/kit.d.ts +8 -8
- package/dist/plugins/kit.js +9 -9
- package/dist/plugins/scss.js +3 -3
- package/dist/plugins/vite-leak-guard.d.ts +1 -1
- package/dist/plugins/vite-leak-guard.js +1 -1
- package/dist/plugins/vite-server-fn.d.ts +23 -0
- package/dist/plugins/vite-server-fn.d.ts.map +1 -0
- package/dist/plugins/vite-server-fn.js +51 -0
- package/dist/plugins/vite-server-fn.js.map +1 -0
- package/dist/plugins/vite-server-only.d.ts +49 -0
- package/dist/plugins/vite-server-only.d.ts.map +1 -0
- package/dist/plugins/vite-server-only.js +57 -0
- package/dist/plugins/vite-server-only.js.map +1 -0
- package/dist/prerender.d.ts +5 -5
- package/dist/prerender.js +7 -7
- package/dist/query.d.ts +10 -10
- package/dist/query.js +15 -15
- package/dist/route-manifest.d.ts +1 -1
- package/dist/route-manifest.js +2 -2
- package/dist/router.d.ts +30 -21
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +62 -32
- package/dist/router.js.map +1 -1
- package/dist/search.d.ts +94 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +232 -0
- package/dist/search.js.map +1 -0
- package/dist/server-only.d.ts +6 -6
- package/dist/server-only.js +7 -7
- package/dist/service-worker.d.ts +56 -0
- package/dist/service-worker.d.ts.map +1 -0
- package/dist/service-worker.js +127 -0
- package/dist/service-worker.js.map +1 -0
- package/dist/vite.d.ts +16 -14
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +51 -24
- package/dist/vite.js.map +1 -1
- package/package.json +38 -4
- package/server-manifest.d.ts +31 -0
- package/src/build-vite.ts +24 -77
- package/src/build.ts +137 -105
- package/src/bun-dev-entry.ts +1 -1
- package/src/chunk-names.ts +1 -1
- package/src/client.ts +215 -32
- package/src/conformance.ts +3 -3
- package/src/deferred.ts +17 -17
- package/src/dev-diagnostics.ts +47 -0
- package/src/dev-error.ts +64 -33
- package/src/dev-port.ts +17 -5
- package/src/dev.ts +36 -20
- package/src/diagnostic.ts +284 -0
- package/src/draft.ts +15 -15
- package/src/fn-state.ts +107 -0
- package/src/fn.ts +199 -0
- package/src/fonts-google.ts +13 -13
- package/src/fonts.ts +7 -7
- package/src/forms.ts +8 -8
- package/src/fs.ts +2 -2
- package/src/index.ts +460 -181
- package/src/internal/head-attributes.ts +109 -0
- package/src/internal/script-types.ts +18 -0
- package/src/internal/server-boundary.ts +187 -0
- package/src/internal/timing-safe-equal.ts +1 -1
- package/src/internal/vite-import.ts +92 -0
- package/src/islands.ts +7 -7
- package/src/isr.ts +17 -17
- package/src/manifest.ts +83 -42
- package/src/module-graph.ts +6 -6
- package/src/navigation.ts +151 -5
- package/src/plugins/css-modules.ts +0 -0
- package/src/plugins/kit.ts +11 -11
- package/src/plugins/scss.ts +3 -3
- package/src/plugins/vite-leak-guard.ts +2 -2
- package/src/plugins/vite-server-fn.ts +67 -0
- package/src/plugins/vite-server-only.ts +75 -0
- package/src/prerender.ts +10 -10
- package/src/query.ts +22 -22
- package/src/route-manifest.ts +3 -3
- package/src/router.ts +98 -45
- package/src/search.ts +297 -0
- package/src/server-only.ts +7 -7
- package/src/service-worker.ts +165 -0
- package/src/vite.ts +61 -32
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @nifrajs/web
|
|
2
|
+
* @nifrajs/web - the framework-agnostic SSR core. It owns the render *seam* and the HTML
|
|
3
3
|
* document orchestration, and knows nothing about any specific UI framework: a render
|
|
4
4
|
* adapter (@nifrajs/web-solid, @nifrajs/web-react, …) supplies the actual render + hydrate.
|
|
5
5
|
*
|
|
6
|
-
* The core treats a "component" and a hydration "container" as opaque `unknown`
|
|
6
|
+
* The core treats a "component" and a hydration "container" as opaque `unknown` - only
|
|
7
7
|
* the adapter interprets them. That keeps this package both framework-agnostic and free
|
|
8
8
|
* of DOM types: it is pure server orchestration + string building.
|
|
9
9
|
*/
|
|
10
10
|
import { server } from "@nifrajs/core/server";
|
|
11
11
|
import { type Deferred, defer } from "./deferred.js";
|
|
12
|
-
import type { LinkDescriptor, Manifest, Meta, MetaArgs, MetaInput, ScriptDescriptor } from "./manifest.js";
|
|
12
|
+
import type { LinkDescriptor, Manifest, Meta, MetaArgs, MetaDescriptor, MetaInput, ScriptDescriptor, UnsafeScriptDescriptor } from "./manifest.js";
|
|
13
13
|
import { type Submission } from "./router.js";
|
|
14
14
|
export { DRAFT_COOKIE, type DraftCookieControls, disableDraft, type EnableDraftOptions, enableDraft, isDraftEnabled, type PreviewEndpointOptions, previewEndpoint, } from "./draft.js";
|
|
15
15
|
export { type FontDisplay, type FontFace, type FontPreloadInput, type FontSource, fontFace, fontPreload, } from "./fonts.js";
|
|
16
16
|
export { type CachedResponse, type CacheStore, ISR_REVALIDATE_HEADER, ISR_STATUS_HEADER, type ISRApp, type ISROptions, type ISRPlatform, KVCacheStore, type KVCacheStoreOptions, type KVNamespaceLike, MemoryCacheStore, type MemoryCacheStoreOptions, type RevalidateEndpointOptions, revalidateEndpoint, withISR, } from "./isr.js";
|
|
17
|
-
export { type Action, buildManifest, enumerateStaticRoutes, filePathToPattern, filePathToPatterns, type GetStaticPaths, type LayoutEntry, type LinkDescriptor, type Loader, type LoaderContext, type Manifest, type Meta, type MetaArgs, type MetaInput, type RouteEntry, type RouteModule, type ScriptDescriptor, type StaticPath, type StaticPaths, type StaticRoutes, } from "./manifest.js";
|
|
18
|
-
export { type BrowserNavigate, getBrowserNavigate, type NavigateOptions, setBrowserNavigate, } from "./navigation.js";
|
|
17
|
+
export { type Action, buildManifest, enumerateStaticRoutes, filePathToPattern, filePathToPatterns, type GetStaticPaths, type InertScriptType, type LayoutEntry, type LinkDescriptor, type Loader, type LoaderContext, type Manifest, type Meta, type MetaArgs, type MetaInput, type RouteEntry, type RouteModule, type ScriptDescriptor, type StaticPath, type StaticPaths, type StaticRoutes, type UnsafeScriptDescriptor, } from "./manifest.js";
|
|
18
|
+
export { type Blocker, type BlockerController, type BlockerFunction, type BlockerLocation, type BlockerState, type BrowserNavigate, getBrowserNavigate, IDLE_BLOCKER, type NavigateFunction, type NavigateOptions, type NavigateSearchOf, type NavigateTargetInput, type RouteSearch, registerBlocker, resolveNavigate, setBlockerController, setBrowserNavigate, } from "./navigation.js";
|
|
19
19
|
export { type PublicDirCache, resolvePublicPath, type ServePublicDirOptions, servePublicDir, } from "./public-dir.js";
|
|
20
20
|
export { createMutation, createQueryClient, type DehydratedState, hashQueryKey, type InfiniteData, type InfiniteQueryHandle, type InfiniteQueryOptions, type MutationCallbacks, type MutationHandle, type MutationState, type MutationStatus, type QueryClient, type QueryClientOptions, type QueryHandle, type QueryOptions, type QueryState, type QueryStatus, } from "./query.js";
|
|
21
21
|
export { type ClientRouter, type ClientRouterOptions, createClientRouter, createMatcher, DATA_HEADER, type Fetcher, type FetcherState, type FetchRouteData, type MountRouterOptions, NAV_FROM_HEADER, REDIRECT_HEADER, RETAIN_HEADER, REVALIDATE_HEADER, type RouteMatch, type RoutePattern, type RouterState, STATUS_HEADER, type Submission, type SubmitOptions, } from "./router.js";
|
|
@@ -23,20 +23,20 @@ export { type Deferred, defer };
|
|
|
23
23
|
/** Phantom brand key for {@link ServerOnly}. A unique symbol so the brand can't be forged by a plain
|
|
24
24
|
* object literal; `unique symbol` keys never appear in the emitted JS, so the brand is purely
|
|
25
25
|
* type-level (zero runtime cost). The property is optional + `never`-typed, so a `ServerOnly<T>`
|
|
26
|
-
* stays assignment-compatible with `T`
|
|
26
|
+
* stays assignment-compatible with `T` - it documents intent without obstructing real use. */
|
|
27
27
|
declare const SERVER_ONLY_BRAND: unique symbol;
|
|
28
28
|
/**
|
|
29
|
-
* Type-level intent marker for a value that must only exist on the server
|
|
29
|
+
* Type-level intent marker for a value that must only exist on the server - a secret, a DB handle, a
|
|
30
30
|
* server-only client. `ServerOnly<T>` is structurally `T` (the brand is an optional phantom field, so
|
|
31
31
|
* existing code keeps type-checking), but it advertises to readers + the compiler that the value is
|
|
32
|
-
* not meant to cross to the browser. It is **purely type-level** and erases at build
|
|
32
|
+
* not meant to cross to the browser. It is **purely type-level** and erases at build - it does NOT,
|
|
33
33
|
* by itself, keep the value out of the client bundle.
|
|
34
34
|
*
|
|
35
35
|
* The enforcement is two runtime conventions:
|
|
36
|
-
* - add the side-effect import `import "@nifrajs/web/server-only"` at the top of the module
|
|
36
|
+
* - add the side-effect import `import "@nifrajs/web/server-only"` at the top of the module - the
|
|
37
37
|
* client build ({@link buildClient}) fails loud, with the import chain, if it reaches a browser
|
|
38
38
|
* chunk (the poison-import marker);
|
|
39
|
-
* - or name the file `*.server.ts`
|
|
39
|
+
* - or name the file `*.server.ts` - the `.server` convention empties it in the client build.
|
|
40
40
|
*
|
|
41
41
|
* Use this brand to express the intent in the types; pair it with one of those runtime markers so a
|
|
42
42
|
* leak is caught at build time rather than shipping a secret to the client.
|
|
@@ -50,9 +50,10 @@ export type ServerOnly<T> = T & {
|
|
|
50
50
|
readonly [SERVER_ONLY_BRAND]?: never;
|
|
51
51
|
};
|
|
52
52
|
export { assertRenderAdapterConformance, RenderAdapterConformanceError, type RenderAdapterConformanceFixture, } from "./conformance.js";
|
|
53
|
+
export { type SearchOf, searchOf, searchOfChain, serializeSearch } from "./search.js";
|
|
53
54
|
/** The data handed to a route component. Opaque to the core. `actionData` is the return of a
|
|
54
55
|
* route `action` after a POST (absent on plain GETs). `pending` + `submission` are client-only
|
|
55
|
-
* (absent on SSR): they drive **optimistic UI**
|
|
56
|
+
* (absent on SSR): they drive **optimistic UI** - render from `submission.formData` while `pending`. */
|
|
56
57
|
export interface RenderProps {
|
|
57
58
|
readonly data: unknown;
|
|
58
59
|
/**
|
|
@@ -75,10 +76,15 @@ export interface RenderProps {
|
|
|
75
76
|
* SSR (from the request match) and on client navigation (from router state) so an adapter's
|
|
76
77
|
* `useParams` reads the same value on both, with no hydration mismatch. Absent ⇒ no params (`{}`). */
|
|
77
78
|
readonly params?: Readonly<Record<string, string>>;
|
|
78
|
-
/** The current URL's `pathname + search` (no hash
|
|
79
|
+
/** The current URL's `pathname + search` (no hash - the hash never reaches the server). Threaded on
|
|
79
80
|
* SSR and client alike so an adapter's `useLocation`/`useSearchParams` hydrate consistently. Absent
|
|
80
81
|
* on adapters/callers that don't supply it (treated as `""`). */
|
|
81
82
|
readonly path?: string;
|
|
83
|
+
/** The route's typed, validated search params (the value the loader also gets as `ctx.search`),
|
|
84
|
+
* threaded to the adapter's `useSearch`. Derived identically on SSR (from the request) and on client
|
|
85
|
+
* navigation (adapter mount) via the shared `searchOf`, so a component reading it hydrates with no
|
|
86
|
+
* drift. Absent ⇒ no search context (`{}`). */
|
|
87
|
+
readonly search?: Record<string, unknown>;
|
|
82
88
|
}
|
|
83
89
|
/**
|
|
84
90
|
* The seam every render adapter implements. New adapters should prove these invariants with
|
|
@@ -91,17 +97,17 @@ export interface RenderAdapter {
|
|
|
91
97
|
* (the loader data); each layout wraps the child via its `children`. Returns (or resolves to)
|
|
92
98
|
* a Web `ReadableStream<Uint8Array>`: a streaming renderer flushes the shell first and streams
|
|
93
99
|
* Suspense boundaries as they resolve; a non-streaming renderer may return a one-chunk stream.
|
|
94
|
-
* May be async
|
|
100
|
+
* May be async - e.g. React resolves once the shell is renderable, so a shell-render throw can
|
|
95
101
|
* still map to an error status before any byte is sent.
|
|
96
102
|
*/
|
|
97
103
|
renderToStream(chain: readonly unknown[], props: RenderProps): ReadableStream<Uint8Array> | Promise<ReadableStream<Uint8Array>>;
|
|
98
104
|
/**
|
|
99
105
|
* Server (optional): render the chain to a complete HTML **string** in one pass, with the same
|
|
100
106
|
* hydration markers `renderToStream` produces. When provided, `renderPage` uses it for any page
|
|
101
|
-
* that does **not** `defer()`
|
|
107
|
+
* that does **not** `defer()` - buffering the document is faster than the streaming pipeline there,
|
|
102
108
|
* because the framework's synchronous renderer (React `renderToString`, Solid `renderToString`,
|
|
103
109
|
* Preact `render`, Vue `renderToString`, Svelte `render`) is markedly cheaper than its streaming
|
|
104
|
-
* renderer
|
|
110
|
+
* renderer - most visibly on Bun, where React Fizz / Solid `renderToStream` are the heaviest. Pages
|
|
105
111
|
* that `defer()` keep the streaming path (progressive `<Await>` needs it). Markup MUST be
|
|
106
112
|
* hydration-equivalent to `renderToStream`; a throw surfaces like the streaming shell-readiness
|
|
107
113
|
* await (the `_error` boundary maps it to a status). Omit it to always stream.
|
|
@@ -111,7 +117,7 @@ export interface RenderAdapter {
|
|
|
111
117
|
* Server: per-document bootstrap markup injected into `<head>` that the client
|
|
112
118
|
* `hydrate` requires (Solid: `generateHydrationScript()`). Empty string if none.
|
|
113
119
|
*/
|
|
114
|
-
hydrationHead(): string;
|
|
120
|
+
hydrationHead(nonce?: string): string;
|
|
115
121
|
}
|
|
116
122
|
/** Global the server serializes loader data into; the client reads it to hydrate. */
|
|
117
123
|
export declare const DATA_GLOBAL = "__NIFRA_DATA__";
|
|
@@ -124,12 +130,24 @@ export declare const ROUTE_GLOBAL = "__NIFRA_ROUTE__";
|
|
|
124
130
|
* reads it so hydration after a native form POST matches the server-rendered markup. */
|
|
125
131
|
export declare const ACTION_GLOBAL = "__NIFRA_ACTION__";
|
|
126
132
|
/**
|
|
127
|
-
*
|
|
133
|
+
* Marker attribute on the app container, emitted ONLY when `rootId` is not the default.
|
|
134
|
+
*
|
|
135
|
+
* `rootId` is a per-RENDER option; the client entry is a per-BUILD artifact, so it cannot be
|
|
136
|
+
* generated knowing which id a given render will use. The container therefore announces itself, and
|
|
137
|
+
* the entry finds it by this attribute before falling back to `#root`. It has to be the DOM rather
|
|
138
|
+
* than another `window.__NIFRA_*` global: a second copy of the id can drift from the markup, while
|
|
139
|
+
* this is written by the same expression that writes the id and cannot.
|
|
140
|
+
*
|
|
141
|
+
* Absent on a default render, so an app that never sets `rootId` emits the same bytes it always has.
|
|
142
|
+
*/
|
|
143
|
+
export declare const ROOT_ATTRIBUTE = "data-nifra-root";
|
|
144
|
+
/**
|
|
145
|
+
* Pre-hydration form guard - a tiny inline script flushed in `<head>` (it runs in the window between
|
|
128
146
|
* first paint and the island bundle taking over). It neutralizes the one real hydration footgun: a
|
|
129
147
|
* JS-only form (a hand-wired `onSubmit` with no native fallback) submitting *natively* before its
|
|
130
148
|
* handler is attached, which navigates the browser to a broken `?field=…` GET of the current page.
|
|
131
149
|
*
|
|
132
|
-
* It blocks ONLY that shape
|
|
150
|
+
* It blocks ONLY that shape - an effective-GET form whose action targets the current document - and
|
|
133
151
|
* only until hydration commits (`data-nifra-hydrated`, set by the client entry). Method-`post` forms
|
|
134
152
|
* (progressive enhancement: the native POST hits the route `action`) and GET forms with a real action
|
|
135
153
|
* (a search box → `/search`) pass through untouched. Opt out per-form with `data-native`. Static text
|
|
@@ -139,7 +157,7 @@ export declare const PRE_HYDRATION_GUARD: string;
|
|
|
139
157
|
/**
|
|
140
158
|
* The single default port for the dev server (`@nifrajs/web/dev`, `@nifrajs/web/vite`) **and**
|
|
141
159
|
* `nifra start`. Deliberately uncommon: `3000`/`5173`/`8080` collide with whatever else is running
|
|
142
|
-
* (Next, Vite, a stray Node API). `4321` rarely is
|
|
160
|
+
* (Next, Vite, a stray Node API). `4321` rarely is - and being the *same* constant across `nifra dev`
|
|
143
161
|
* and `nifra start` means a project's URL doesn't change between commands. Override per-run with
|
|
144
162
|
* `--port <n>` or the `PORT` env var. */
|
|
145
163
|
export declare const DEFAULT_DEV_PORT = 4321;
|
|
@@ -156,21 +174,27 @@ export interface RenderedPage {
|
|
|
156
174
|
}
|
|
157
175
|
export interface RenderPageOptions {
|
|
158
176
|
readonly adapter: RenderAdapter;
|
|
159
|
-
/** The layout chain to render
|
|
177
|
+
/** The layout chain to render - outermost layout → page (opaque; the adapter renders it). */
|
|
160
178
|
readonly chain: readonly unknown[];
|
|
161
179
|
/** The loader output for this request. */
|
|
162
180
|
readonly data: unknown;
|
|
163
|
-
/** An action's data return (POST only)
|
|
181
|
+
/** An action's data return (POST only) - surfaced to the page as `actionData` + serialized
|
|
164
182
|
* for the client so post-POST hydration matches. Omit on GETs. */
|
|
165
183
|
readonly actionData?: unknown;
|
|
166
|
-
/**
|
|
167
|
-
|
|
184
|
+
/**
|
|
185
|
+
* URL of the built client entry (loaded as a module script).
|
|
186
|
+
*
|
|
187
|
+
* Optional ONLY on a `hydrate: false` page, where there is no client takeover to feed and this value
|
|
188
|
+
* reaches no output at all. The union below is what enforces that: omitting it on a hydrating page
|
|
189
|
+
* stays a compile error rather than rendering `src=""`.
|
|
190
|
+
*/
|
|
191
|
+
readonly clientEntry?: string;
|
|
168
192
|
/** Chunk URLs for the **matched** route (its layout chain + own chunk) to `modulepreload` in the
|
|
169
|
-
* shell
|
|
193
|
+
* shell - so the route code downloads in parallel with the entry instead of after it
|
|
170
194
|
* (`buildClient`'s per-route map). Empty/omitted ⇒ only the entry is preloaded (unchanged). */
|
|
171
195
|
readonly preload?: readonly string[];
|
|
172
196
|
/** Stylesheet URLs for the **matched** route (its layout chain + own CSS, from `buildClient`'s
|
|
173
|
-
* `BuildManifest.css`)
|
|
197
|
+
* `BuildManifest.css`) - injected as `<link rel="stylesheet">` in `<head>` so styles arrive with the
|
|
174
198
|
* first paint (no FOUC). Rendered even on non-hydrated pages. Empty/omitted ⇒ none (unchanged). */
|
|
175
199
|
readonly styles?: readonly string[];
|
|
176
200
|
/** SSG: the prerendered-path set, serialized to `window.__NIFRA_PRERENDERED__` so the client fetches
|
|
@@ -181,14 +205,18 @@ export interface RenderPageOptions {
|
|
|
181
205
|
readonly revalidate?: number;
|
|
182
206
|
/** Matched route id; written to `window.__NIFRA_ROUTE__` so the client hydrates this chain. */
|
|
183
207
|
readonly routeId?: string;
|
|
184
|
-
/** The matched route's decoded path params
|
|
208
|
+
/** The matched route's decoded path params - surfaced to the page as `params` (via {@link RenderProps})
|
|
185
209
|
* so an adapter's `useParams` is SSR-correct. Omit ⇒ `{}` (a route with no dynamic segments, or an
|
|
186
210
|
* error/404 render). */
|
|
187
211
|
readonly params?: Readonly<Record<string, string>>;
|
|
188
|
-
/** The request's `pathname + search`
|
|
212
|
+
/** The request's `pathname + search` - surfaced as `path` (via {@link RenderProps}) so an adapter's
|
|
189
213
|
* `useLocation`/`useSearchParams` render the right URL server-side and hydrate without drift. Omit ⇒
|
|
190
214
|
* `""`. */
|
|
191
215
|
readonly path?: string;
|
|
216
|
+
/** The route's validated search (`searchOf(mod.searchSchema, url.search)`, the same value handed to
|
|
217
|
+
* the loader as `ctx.search`), surfaced as `search` (via {@link RenderProps}) so an adapter's
|
|
218
|
+
* `useSearch` is SSR-correct. Omit ⇒ `{}` (a render with no search context). */
|
|
219
|
+
readonly search?: Record<string, unknown>;
|
|
192
220
|
/** Per-layout loader data, forwarded to the adapter as `RenderProps.layoutData`. Aligned with the
|
|
193
221
|
* chain's layout prefix; omitted when no layout in the chain has a loader. */
|
|
194
222
|
readonly layoutData?: readonly unknown[];
|
|
@@ -200,40 +228,55 @@ export interface RenderPageOptions {
|
|
|
200
228
|
readonly headers?: HeadersLike;
|
|
201
229
|
/** Document title (fallback when `head.title` is unset). */
|
|
202
230
|
readonly title?: string;
|
|
203
|
-
/** Resolved route head
|
|
231
|
+
/** Resolved route head - `title` overrides `title` above; `meta`/`link` render as managed
|
|
204
232
|
* (`data-nifra`) tags the client updates on navigation.
|
|
205
233
|
*
|
|
206
234
|
* **Head contract (the layout chain contributes).** `createWebApp` resolves this via
|
|
207
235
|
* {@link mergeHeads}: a route's head is its **layout chain's** `meta`/`head` exports merged with the
|
|
208
|
-
* page's. A `_layout.tsx` may `export const meta` (or `export function meta(args)`)
|
|
236
|
+
* page's. A `_layout.tsx` may `export const meta` (or `export function meta(args)`) - its tags land
|
|
209
237
|
* on every page below it (the home for `hreflang`, `preconnect`, a section-default `<title>`). The
|
|
210
238
|
* merge is **nearest-wins for scalars** (the page's `title` overrides an inner layout's, which
|
|
211
239
|
* overrides an outer one; an undefined page title keeps the layout's) and **concatenated for the
|
|
212
|
-
* `meta`/`link` arrays** (outermost layout first, page last). `<link>` attributes
|
|
213
|
-
* (
|
|
214
|
-
* `integrity`/`fetchpriority`/…) and value-escaped against XSS. */
|
|
240
|
+
* `meta`/`link` arrays** (outermost layout first, page last). `<meta>`/`<link>` attributes pass a
|
|
241
|
+
* shared tag-specific allowlist (including inert `data-*` metadata) and values are escaped. */
|
|
215
242
|
readonly head?: Meta;
|
|
216
|
-
/** Id of the container wrapping the app markup (default `"root"`).
|
|
243
|
+
/** Id of the container wrapping the app markup (default `"root"`). A non-default id also gets
|
|
244
|
+
* {@link ROOT_ATTRIBUTE}, which is how the generated client entry finds the container to hydrate -
|
|
245
|
+
* the entry is built once and cannot know what a given render chose. */
|
|
217
246
|
readonly rootId?: string;
|
|
218
|
-
/** When `false`, emit a complete but **non-hydrated** document
|
|
247
|
+
/** When `false`, emit a complete but **non-hydrated** document - no client entry script, data
|
|
219
248
|
* globals, or modulepreloads. Used for server-rendered `_error` pages: a terminal state that needs no
|
|
220
249
|
* client takeover, and it sidesteps an SSR/hydrate mismatch (the server rendered the boundary, not
|
|
221
250
|
* the page the client manifest maps this route id to). Default `true`. */
|
|
222
251
|
readonly hydrate?: boolean;
|
|
223
252
|
/** Island client bundles (`@nifrajs/web/islands`) to load as `<script type="module">` in the document
|
|
224
|
-
* tail
|
|
253
|
+
* tail - emitted **regardless of `hydrate`**, so a static (`hydrate: false`) page can still mount
|
|
225
254
|
* no-framework islands. URLs are attribute-escaped. Empty/omitted ⇒ none (unchanged output). */
|
|
226
255
|
readonly islandScripts?: readonly string[];
|
|
256
|
+
/** CSP nonce applied to every framework-owned executable script in this document. */
|
|
257
|
+
readonly nonce?: string;
|
|
227
258
|
}
|
|
228
259
|
/**
|
|
229
|
-
*
|
|
230
|
-
*
|
|
260
|
+
* `renderPage` input. A hydrating page (the default) must supply `clientEntry`, because the document
|
|
261
|
+
* loads it as a module script; a `hydrate: false` page may omit it, because nothing in the emitted
|
|
262
|
+
* document references it. Expressed as a union so the compiler enforces the pairing rather than the
|
|
263
|
+
* renderer discovering an empty `src` at runtime.
|
|
264
|
+
*/
|
|
265
|
+
export type RenderPageInput = RenderPageOptions & ({
|
|
266
|
+
readonly hydrate?: true;
|
|
267
|
+
readonly clientEntry: string;
|
|
268
|
+
} | {
|
|
269
|
+
readonly hydrate: false;
|
|
270
|
+
});
|
|
271
|
+
/**
|
|
272
|
+
* Server: render a full HTML document for a page - the adapter's hydration head + the SSR
|
|
273
|
+
* markup (**streamed**) + the serialized loader data + the client module - as a `Response`.
|
|
231
274
|
* The shell (`<head>` + the open container) flushes first, the adapter's app stream follows,
|
|
232
275
|
* then the tail (data globals + client entry). Pure Web Standards, so it returns straight from
|
|
233
276
|
* a nifra route handler and streams on any fetch runtime (Bun/Node/Deno/Workers).
|
|
234
277
|
*/
|
|
235
|
-
export declare function renderPage(options:
|
|
236
|
-
export declare function renderPageResult(options:
|
|
278
|
+
export declare function renderPage(options: RenderPageInput): MaybePromise<Response>;
|
|
279
|
+
export declare function renderPageResult(options: RenderPageInput): MaybePromise<RenderedPage>;
|
|
237
280
|
/** Options for {@link redirect}. */
|
|
238
281
|
export interface RedirectOptions {
|
|
239
282
|
/** HTTP status (default 303 See Other; pass 307/308 to preserve the method). */
|
|
@@ -244,12 +287,12 @@ export interface RedirectOptions {
|
|
|
244
287
|
readonly external?: boolean;
|
|
245
288
|
}
|
|
246
289
|
/**
|
|
247
|
-
* Build a redirect `Response`
|
|
290
|
+
* Build a redirect `Response` - return it from a route `action` for the Post/Redirect/Get
|
|
248
291
|
* pattern (POST mutates, 303 sends the browser to a fresh GET, so a reload doesn't re-submit).
|
|
249
292
|
* Defaults to 303 (See Other); pass `{ status: 307 }` or `{ status: 308 }` to preserve the method.
|
|
250
293
|
*
|
|
251
294
|
* **Secure by default:** `location` must be a same-origin path (begins with `/`, not `//`). An
|
|
252
|
-
* off-origin/absolute destination throws unless you pass `{ external: true }`
|
|
295
|
+
* off-origin/absolute destination throws unless you pass `{ external: true }` - this closes the
|
|
253
296
|
* open-redirect footgun of `return redirect(formData.get("next"))` on the no-JS (native-form) path,
|
|
254
297
|
* which returns the action's `Response` verbatim.
|
|
255
298
|
*
|
|
@@ -313,7 +356,7 @@ export declare function gone(options?: StatusPageOptions): never;
|
|
|
313
356
|
export declare function statusPage(status: number, options?: StatusPageOptions): never;
|
|
314
357
|
/** The wrapper `revalidate()` returns: the action's `data` plus the paths it changed. A plain tagged
|
|
315
358
|
* shape (not a class) so `@nifrajs/client`'s `ActionData` can unwrap it structurally without importing
|
|
316
|
-
* from `@nifrajs/web`. `createWebApp` strips the wrapper
|
|
359
|
+
* from `@nifrajs/web`. `createWebApp` strips the wrapper - the client receives `data` as the body and
|
|
317
360
|
* the paths via the `X-Nifra-Revalidate` header. */
|
|
318
361
|
export interface RevalidateResult<T> {
|
|
319
362
|
readonly __nifraRevalidate: readonly string[];
|
|
@@ -322,7 +365,7 @@ export interface RevalidateResult<T> {
|
|
|
322
365
|
/**
|
|
323
366
|
* Return this from an action to declare which routes the mutation changed (alongside the action's
|
|
324
367
|
* `data`). `createWebApp` sets the `X-Nifra-Revalidate` response header; after the submit the client
|
|
325
|
-
* marks those cached routes stale
|
|
368
|
+
* marks those cached routes stale - refetching the active one and any mounted fetcher showing them -
|
|
326
369
|
* so a mutation can refresh views beyond the one that was submitted. `data` is still surfaced to the
|
|
327
370
|
* component as `actionData` (the wrapper is transparent to `ActionData<typeof action>`).
|
|
328
371
|
*/
|
|
@@ -345,7 +388,7 @@ export declare function resolveMeta(meta: MetaInput | undefined, args: MetaArgs)
|
|
|
345
388
|
* ```
|
|
346
389
|
*/
|
|
347
390
|
export declare function canonical(href: string): LinkDescriptor;
|
|
348
|
-
/** Inputs for {@link openGraph}
|
|
391
|
+
/** Inputs for {@link openGraph} - the common Open Graph properties. All optional; only the provided
|
|
349
392
|
* ones become tags. `type` defaults to `"website"`. */
|
|
350
393
|
export interface OpenGraphInput {
|
|
351
394
|
readonly title?: string;
|
|
@@ -354,7 +397,7 @@ export interface OpenGraphInput {
|
|
|
354
397
|
readonly image?: string;
|
|
355
398
|
/** Canonical URL of the page (`og:url`). */
|
|
356
399
|
readonly url?: string;
|
|
357
|
-
/** Object type (`og:type`)
|
|
400
|
+
/** Object type (`og:type`) - `"website"`, `"article"`, … Default `"website"`. */
|
|
358
401
|
readonly type?: string;
|
|
359
402
|
}
|
|
360
403
|
/**
|
|
@@ -365,7 +408,7 @@ export interface OpenGraphInput {
|
|
|
365
408
|
* export const meta = { meta: [...openGraph({ title: "Nifra", image: "https://site.com/og.png" })] }
|
|
366
409
|
* ```
|
|
367
410
|
*/
|
|
368
|
-
export declare function openGraph(input: OpenGraphInput):
|
|
411
|
+
export declare function openGraph(input: OpenGraphInput): MetaDescriptor[];
|
|
369
412
|
/**
|
|
370
413
|
* Build a JSON-LD `<script type="application/ld+json">` entry for a route's `meta.script` from a plain
|
|
371
414
|
* object. `JSON.stringify` produces the body; the head renderer breakout-escapes it (see
|
|
@@ -378,6 +421,14 @@ export declare function openGraph(input: OpenGraphInput): Array<Record<string, s
|
|
|
378
421
|
* ```
|
|
379
422
|
*/
|
|
380
423
|
export declare function jsonLd(data: Record<string, unknown>): ScriptDescriptor;
|
|
424
|
+
/**
|
|
425
|
+
* Deliberately unsafe escape hatch for executable inline code. The required nonce keeps the result
|
|
426
|
+
* compatible with a strict CSP and makes the security-sensitive choice visible at the call site.
|
|
427
|
+
*/
|
|
428
|
+
export declare function unsafeInlineScript(content: string, options: {
|
|
429
|
+
readonly nonce: string;
|
|
430
|
+
readonly type?: "module" | "text/javascript";
|
|
431
|
+
}): UnsafeScriptDescriptor;
|
|
381
432
|
/**
|
|
382
433
|
* Merge a route's `<head>` contributions from its layout chain + the page into one {@link Meta}.
|
|
383
434
|
*
|
|
@@ -385,15 +436,15 @@ export declare function jsonLd(data: Record<string, unknown>): ScriptDescriptor;
|
|
|
385
436
|
* `meta` to put sitewide tags (`hreflang`, `preconnect`, a default `<title>`, …) on every page below
|
|
386
437
|
* it. `heads` is passed **outermost layout → … → innermost layout → page** (the same order as the
|
|
387
438
|
* render chain), and merges:
|
|
388
|
-
* - **`title`**
|
|
439
|
+
* - **`title`** - *nearest-wins*: the last defined value across the list, so the page overrides an
|
|
389
440
|
* inner layout, which overrides an outer one. A layout `title` is the section default; an undefined
|
|
390
441
|
* page `title` keeps it.
|
|
391
|
-
* - **`meta` / `link`**
|
|
442
|
+
* - **`meta` / `link`** - *concatenated* in list order (outermost first, page last). Duplicate-tag
|
|
392
443
|
* de-duplication is the caller's concern; the framework emits exactly what's declared so a layout
|
|
393
444
|
* can ship N `<link rel="alternate" hreflang>` tags and a page can add its own canonical.
|
|
394
445
|
*
|
|
395
446
|
* Returns a fresh object whose identity is stable per `heads` *content* only when every entry is a
|
|
396
|
-
* static (by-reference) `Meta` and there is exactly one
|
|
447
|
+
* static (by-reference) `Meta` and there is exactly one - otherwise a new object each call. That is
|
|
397
448
|
* fine: {@link headTags}'s memo is keyed on identity, so a per-request merge simply recomputes (its
|
|
398
449
|
* content can vary with loader data anyway).
|
|
399
450
|
*/
|
|
@@ -405,7 +456,7 @@ export interface CreateWebAppOptions {
|
|
|
405
456
|
readonly clientEntry: string;
|
|
406
457
|
/** Default document title for all pages. */
|
|
407
458
|
readonly title?: string;
|
|
408
|
-
/** Injected into each loader's `ctx.api`
|
|
459
|
+
/** Injected into each loader's `ctx.api` - typically an `inProcessClient(app)` (typed
|
|
409
460
|
* per-route via `@nifrajs/client`'s `createRoutes`). Opaque to the core.
|
|
410
461
|
*
|
|
411
462
|
* **Auto-mount.** Every `inProcessClient(backend)` exposes the symbol-keyed platform-aware backend
|
|
@@ -454,15 +505,15 @@ export interface CreateWebAppOptions {
|
|
|
454
505
|
* signed `__nifra_draft` cookie gets `ctx.draft === true` in loaders/actions (else always `false`).
|
|
455
506
|
* Pair with `withISR({ draftSecret })` so editors bypass the cache. Omit to disable draft mode. */
|
|
456
507
|
readonly draftSecret?: string;
|
|
457
|
-
/** Per-route chunk URLs (`buildClient`'s `BuildManifest.routes`)
|
|
508
|
+
/** Per-route chunk URLs (`buildClient`'s `BuildManifest.routes`) - `routeId → [layout chunks…, own
|
|
458
509
|
* chunk]`. When present, each page `modulepreload`s its matched route's chunks alongside the entry,
|
|
459
510
|
* so the route code downloads in parallel (no entry→route-chunk waterfall). Omit ⇒ entry-only. */
|
|
460
511
|
readonly routePreload?: Readonly<Record<string, readonly string[]>>;
|
|
461
|
-
/** The app's bundled stylesheet URLs (`buildClient`'s `BuildManifest.css`)
|
|
512
|
+
/** The app's bundled stylesheet URLs (`buildClient`'s `BuildManifest.css`) - the aggregate, injected
|
|
462
513
|
* as `<link rel="stylesheet">` in a page's `<head>`. Used as the fallback for any route absent from
|
|
463
514
|
* {@link routeStyles}. Omit ⇒ no links (dev, where Vite injects CSS, or a CSS-free app). */
|
|
464
515
|
readonly styles?: readonly string[];
|
|
465
|
-
/** Per-route stylesheet URLs (`buildClient`'s `BuildManifest.routeStyles`)
|
|
516
|
+
/** Per-route stylesheet URLs (`buildClient`'s `BuildManifest.routeStyles`) - `routeId → [chain CSS]`.
|
|
466
517
|
* When a matched route has an entry here, only those (its layout chain + own CSS) are linked instead
|
|
467
518
|
* of the aggregate `styles`, so a page ships only the CSS it uses. An empty array ⇒ no `<link>` (the
|
|
468
519
|
* page imports no CSS). Routes absent here fall back to `styles`. Omit ⇒ always use `styles`. */
|
|
@@ -473,14 +524,14 @@ export interface CreateWebAppOptions {
|
|
|
473
524
|
readonly prerenderedPaths?: readonly string[];
|
|
474
525
|
/** SSG: per dynamic route pattern, its `getStaticPaths` `fallback` (from `enumerateStaticRoutes` or
|
|
475
526
|
* the build's `prerendered.json`). A route mapped to `"404"` rejects any path NOT in
|
|
476
|
-
* `prerenderedPaths` with the 404 page
|
|
527
|
+
* `prerenderedPaths` with the 404 page - the unlisted path simply doesn't exist. `"ssr"` (the
|
|
477
528
|
* default for unmapped routes) renders unlisted paths on-demand. */
|
|
478
529
|
readonly staticFallbacks?: Readonly<Record<string, "ssr" | "404">>;
|
|
479
|
-
/** Observe every loader/action failure
|
|
530
|
+
/** Observe every loader/action failure - for error-reporting plugins (Sentry-style). Called for
|
|
480
531
|
* real throws (not control-flow `Response`s like `redirect`), **before** the nearest `_error`
|
|
481
|
-
* boundary renders / a soft-nav 500 / a rethrow
|
|
532
|
+
* boundary renders / a soft-nav 500 / a rethrow - so it sees errors that the boundary would
|
|
482
533
|
* otherwise hide. Observation only; its own throws are swallowed so a faulty reporter can't break
|
|
483
|
-
* rendering. (`beforeLoader` is intentionally omitted
|
|
534
|
+
* rendering. (`beforeLoader` is intentionally omitted - the core HTTP hooks already cover
|
|
484
535
|
* pre-request work.) */
|
|
485
536
|
readonly onLoaderError?: (error: unknown, ctx: {
|
|
486
537
|
readonly request: Request;
|
|
@@ -491,15 +542,15 @@ export interface CreateWebAppOptions {
|
|
|
491
542
|
/**
|
|
492
543
|
* Build a nifra app from a route manifest: every route SSRs its layout chain via `renderPage`,
|
|
493
544
|
* and a wildcard catch-all renders `_404` (or a plain 404). Reuses @nifrajs/core's router +
|
|
494
|
-
* lifecycle, so matching, params, and precedence are battle-tested. fs-free
|
|
545
|
+
* lifecycle, so matching, params, and precedence are battle-tested. fs-free - feed it a
|
|
495
546
|
* manifest from `discoverRoutes` (`@nifrajs/web/fs`) at startup, so the served app stays portable.
|
|
496
547
|
*
|
|
497
|
-
* **Typed platform bindings.** Pass `Env`
|
|
548
|
+
* **Typed platform bindings.** Pass `Env` - `createWebApp<Env>({ … })` - to declare the app's Workers
|
|
498
549
|
* bindings ONCE. It seeds the returned `Server`'s context with `{ env: Env }` (exactly as the backend's
|
|
499
550
|
* `server<Env>()` does), so `app.fetch(req, { env })` / `toFetchHandler(app)` type-check the `env`
|
|
500
|
-
* argument against the declared shape
|
|
551
|
+
* argument against the declared shape - no per-binding cast at the edge entry. Per-route loaders/actions
|
|
501
552
|
* stay typed independently of this call: annotate them with `@nifrajs/client`'s `LoaderArgs<Api, Env>`
|
|
502
|
-
* (same `Env`) so `ctx.env.MY_KV` is typed there too. Omit the parameter and `Env` is `unknown`
|
|
553
|
+
* (same `Env`) so `ctx.env.MY_KV` is typed there too. Omit the parameter and `Env` is `unknown` - the
|
|
503
554
|
* secure default; validate at the trust boundary before use.
|
|
504
555
|
*/
|
|
505
556
|
export declare function createWebApp<Env = unknown>(options: CreateWebAppOptions): ReturnType<typeof server<Env>>;
|
|
@@ -508,7 +559,7 @@ export interface GenerateClientEntryOptions {
|
|
|
508
559
|
* Module specifier for the adapter's client runtime, e.g. `"@nifrajs/web-solid/client"`.
|
|
509
560
|
*
|
|
510
561
|
* **Contract:** the module MUST export `mountRouter({ router, routes, container })`. The generated
|
|
511
|
-
* bootstrap imports the specifier and calls it
|
|
562
|
+
* bootstrap imports the specifier and calls it - so a self-executing entry that mounts on import
|
|
512
563
|
* builds cleanly and then does nothing, which is the trap this contract exists to name. The type is
|
|
513
564
|
* a bare `string` because a specifier is resolved by the bundler, not the type system, so the
|
|
514
565
|
* requirement is enforced by the bootstrap instead: it throws immediately, naming this module and
|
|
@@ -529,36 +580,66 @@ export interface GenerateClientEntryOptions {
|
|
|
529
580
|
* bundle it with `buildClient` / `Bun.build` (+ the adapter's transform).
|
|
530
581
|
*/
|
|
531
582
|
export declare function generateClientEntry(manifest: Manifest, options: GenerateClientEntryOptions): string;
|
|
583
|
+
export interface GenerateRouteSearchTypesOptions {
|
|
584
|
+
/** Turn a route source file into a module specifier for a `typeof import(...)` type - the same contract
|
|
585
|
+
* as `generateClientEntry`'s `resolve`, but WITHOUT a file extension (a `.d.ts` imports a module, not a
|
|
586
|
+
* path). Relative to wherever the emitted `.d.ts` is written. */
|
|
587
|
+
readonly resolve: (file: string) => string;
|
|
588
|
+
/** The module whose `RouteSearch` interface is augmented (default `"@nifrajs/web"`). Every adapter's
|
|
589
|
+
* `NavigateTarget` reads `@nifrajs/web`'s `RouteSearch`, so the default types `navigate` on all of them. */
|
|
590
|
+
readonly module?: string;
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Codegen: emit a `.d.ts` that types cross-route `navigate({ to, search })` against each route's
|
|
594
|
+
* `searchSchema`. It augments the {@link RouteSearch} map with `"<pattern>": SearchOf<typeof import(...)>`
|
|
595
|
+
* for every **static** route (one with no `:param`/`*` segment - a concrete `to` a caller can pass; a
|
|
596
|
+
* dynamic route's concrete path can't match its pattern key, so those keep the loose object form). Written
|
|
597
|
+
* by `nifra sync-routes` next to the route tree and included in the app's `tsconfig`; because it is
|
|
598
|
+
* regenerated from the route files, a `navigate` whose `search` no longer matches the route's schema
|
|
599
|
+
* becomes a `tsc` error - the same drift guarantee as nifra's typed client, no hand-maintained map.
|
|
600
|
+
*/
|
|
601
|
+
export declare function generateRouteSearchTypes(manifest: Manifest, options: GenerateRouteSearchTypesOptions): string;
|
|
532
602
|
export interface GenerateServerManifestOptions {
|
|
533
|
-
/** Turn a route/layout source file (relative to the routes dir) into an import specifier
|
|
603
|
+
/** Turn a route/layout source file (relative to the routes dir) into an import specifier -
|
|
534
604
|
* same contract as `generateClientEntry`'s `resolve`. */
|
|
535
605
|
readonly resolve: (file: string) => string;
|
|
536
606
|
/** The content-hashed client entry URL (from `buildClient`'s manifest), **baked** into the emitted
|
|
537
|
-
* module
|
|
607
|
+
* module - a disk-less worker can't read `manifest.json` at runtime. */
|
|
538
608
|
readonly clientEntry: string;
|
|
539
|
-
/** The app's aggregate stylesheet URLs (`buildClient`'s `BuildManifest.css`)
|
|
609
|
+
/** The app's aggregate stylesheet URLs (`buildClient`'s `BuildManifest.css`) - baked as
|
|
540
610
|
* `export const styles` so the server entry can hand them to `createWebApp` (→ `<link rel="stylesheet">`
|
|
541
611
|
* in `<head>`). Without this the built SSR page ships no CSS link and renders unstyled. */
|
|
542
612
|
readonly styles?: readonly string[] | undefined;
|
|
543
|
-
/** Per-route stylesheet URLs (`buildClient`'s `BuildManifest.routeStyles`)
|
|
613
|
+
/** Per-route stylesheet URLs (`buildClient`'s `BuildManifest.routeStyles`) - baked as
|
|
544
614
|
* `export const routeStyles` so a page links only the CSS its route chain uses. */
|
|
545
615
|
readonly routeStyles?: Readonly<Record<string, readonly string[]>> | undefined;
|
|
546
616
|
/** Emit **lazy** per-route loaders (`() => import("./routes/x")`, a static specifier) instead of
|
|
547
|
-
* eager `import * as`, so a bundler with code-splitting emits one chunk per route
|
|
617
|
+
* eager `import * as`, so a bundler with code-splitting emits one chunk per route - loaded on the
|
|
548
618
|
* first request to it, not all at boot (smaller cold-start parse). Default `false` (eager). Both
|
|
549
619
|
* modes are fs-free with statically-analyzable specifiers; only the *when* differs. */
|
|
550
620
|
readonly lazy?: boolean;
|
|
551
621
|
}
|
|
552
622
|
/**
|
|
553
623
|
* Codegen: emit a **server manifest** module (as source) for disk-less edge runtimes (Cloudflare
|
|
554
|
-
* Workers, …)
|
|
555
|
-
* and dynamic-imports each route by a *runtime* path
|
|
624
|
+
* Workers, …) - and, with a `target`, any portable server bundle. `discoverRoutes` scans `node:fs`
|
|
625
|
+
* and dynamic-imports each route by a *runtime* path - neither exists on workerd. This instead emits
|
|
556
626
|
* **statically-analyzable** imports of every route/layout/`_error`/terminal status page (so the bundler includes them) and
|
|
557
|
-
* rebuilds the manifest with `buildManifest`
|
|
627
|
+
* rebuilds the manifest with `buildManifest` - the SAME pure logic `discoverRoutes` feeds, so patterns
|
|
558
628
|
* + layout chains are identical. Eager (`import * as`) by default; `lazy` emits `() => import(...)` so
|
|
559
629
|
* a code-splitting bundler chunks per route. The emitted module exports `manifest` (consumed by
|
|
560
630
|
* `createWebApp`, unchanged) + `clientEntry` (baked). Write it to a file and bundle it into the worker
|
|
561
631
|
* entry (see `buildServer` in `@nifrajs/web/build`).
|
|
562
632
|
*/
|
|
563
633
|
export declare function generateServerManifest(manifest: Manifest, options: GenerateServerManifestOptions): string;
|
|
634
|
+
/**
|
|
635
|
+
* The two file-name conventions that decide what never reaches a browser: a `*.server` module is
|
|
636
|
+
* EMPTIED in the client build, a `*.fn` module is REPLACED with client stubs.
|
|
637
|
+
*
|
|
638
|
+
* Exported because more than the bundlers need them. `nifra dev --bun` cannot transform (Bun's dev
|
|
639
|
+
* bundler takes no plugins) so it must REFUSE instead, and a refusal driven by its own hand-written
|
|
640
|
+
* glob drifts from the transform - which is how `.fn.mts` came to be stubbed by both build pipelines
|
|
641
|
+
* and waved through by the guard that exists to stop it leaking. Anything deciding "is this module
|
|
642
|
+
* server-only" should import the matcher rather than re-encode it.
|
|
643
|
+
*/
|
|
644
|
+
export { SERVER_FN_MODULE, SERVER_ONLY_MODULE } from "./internal/server-boundary.js";
|
|
564
645
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,EAIN,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,EAGV,cAAc,EAEd,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,SAAS,EAGT,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EASL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,kBAAkB,EACvB,WAAW,EACX,cAAc,EACd,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,kBAAkB,EAClB,OAAO,GACR,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,KAAK,MAAM,EACX,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,kBAAkB,EAClB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,cAAc,GACf,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE,CAAA;AAE/B;;;8FAG8F;AAC9F,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAExE,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,KAAK,+BAA+B,GACrC,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAErF;;wGAEwG;AACxG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B;iGAC6F;IAC7F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC;;0GAEsG;IACtG,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD;;qEAEiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;;;mDAG+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,cAAc,CACZ,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,KAAK,EAAE,WAAW,GACjB,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxF;;;OAGG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACtC;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C;gFACgF;AAChF,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAEzD,gGAAgG;AAChG,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAE7C;wFACwF;AACxF,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAE/C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,QAOjB,CAAA;AAEf;;;;;yCAKyC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAKpC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAgBrC,QAAA,MAAM,eAAe,eAAsC,CAAA;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;IAChC,UAAU,IAAI,QAAQ,CAAA;IACtB,UAAU,CAAC,IAAI;QACb,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;QAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KACnC,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;sEACkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;mGAE+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC;;uGAEmG;IACnG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;mGAC+F;IAC/F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C;gFAC4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;4BAEwB;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD;;eAEW;IACX,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;;oFAEgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;iDAE6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;;;;mGAU+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB;;4EAEwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;8EAG0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B;;oGAEgG;IAChG,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAC7C,CAAC;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAE3F;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAG3E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,CAkMrF;AAsID,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;oGAEgG;IAChG,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAgBlF;AAED;;;;;;;;;;;;GAYG;AACH;;sFAEsF;AACtF,KAAK,WAAW,GAAG,qBAAqB,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AA0I3D,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,KAAK,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,KAAK,CAE3D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,KAAK,CAEjF;AAED;;;oDAGoD;AACpD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAEpF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEnD;AA+GD,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAG7E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEtD;AAED;uDACuD;AACvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,CAYjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAEtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAAA;CAAE,GAChF,sBAAsB,CAexB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAyCvD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;uGAOmG;IACnG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;sEAKkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,GAAG,EAAE;YAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;SAAE,CAAA;QACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAC/B,CAAC,CAAA;IACF;;uGAEmG;IACnG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;sGAEkG;IAClG,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;IACnE;;gGAE4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;;;qGAGiG;IACjG,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE;;iGAE6F;IAC7F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C;;;wEAGoE;IACpE,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAA;IAClE;;;;;4BAKwB;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE;QACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,KACE,IAAI,CAAA;CACV;AA0CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAG,OAAO,EACxC,OAAO,EAAE,mBAAmB,GAC3B,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CA4uBhC;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAuKR;AAED,MAAM,WAAW,+BAA+B;IAC9C;;qEAEiE;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;gHAC4G;IAC5G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAuBR;AAED,MAAM,WAAW,6BAA6B;IAC5C;6DACyD;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;4EACwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;+FAE2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C;uFACmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E;;;2FAGuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,6BAA6B,GACrC,MAAM,CAwDR;AAED;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA"}
|