foldkit 0.146.0 → 0.148.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 +5 -2
- package/dist/buildToken.d.ts +3 -0
- package/dist/buildToken.d.ts.map +1 -0
- package/dist/buildToken.js +21 -0
- package/dist/controlledDomState.d.ts +25 -0
- package/dist/controlledDomState.d.ts.map +1 -0
- package/dist/controlledDomState.js +240 -0
- package/dist/cssStyleProperties.d.ts +6 -0
- package/dist/cssStyleProperties.d.ts.map +1 -0
- package/dist/cssStyleProperties.js +91 -0
- package/dist/customElement/index.d.ts.map +1 -1
- package/dist/customElement/index.js +23 -0
- package/dist/domReflection.d.ts +73 -0
- package/dist/domReflection.d.ts.map +1 -0
- package/dist/domReflection.js +557 -0
- package/dist/experimental/index.d.ts +1 -0
- package/dist/experimental/index.d.ts.map +1 -1
- package/dist/experimental/index.js +1 -0
- package/dist/experimental/machine/machine.d.ts +22 -3
- package/dist/experimental/machine/machine.d.ts.map +1 -1
- package/dist/experimental/machine/machine.js +8 -0
- package/dist/experimental/server/entry.d.ts +73 -0
- package/dist/experimental/server/entry.d.ts.map +1 -0
- package/dist/experimental/server/entry.js +41 -0
- package/dist/experimental/server/host.d.ts +136 -0
- package/dist/experimental/server/host.d.ts.map +1 -0
- package/dist/experimental/server/host.js +359 -0
- package/dist/experimental/server/index.d.ts +5 -0
- package/dist/experimental/server/index.d.ts.map +1 -0
- package/dist/experimental/server/index.js +4 -0
- package/dist/experimental/server/public.d.ts +3 -0
- package/dist/experimental/server/public.d.ts.map +1 -0
- package/dist/experimental/server/public.js +1 -0
- package/dist/experimental/server/serialize.d.ts +43 -0
- package/dist/experimental/server/serialize.d.ts.map +1 -0
- package/dist/experimental/server/serialize.js +786 -0
- package/dist/experimental/server/server.d.ts +242 -0
- package/dist/experimental/server/server.d.ts.map +1 -0
- package/dist/experimental/server/server.js +946 -0
- package/dist/experimental/server/template.d.ts +53 -0
- package/dist/experimental/server/template.d.ts.map +1 -0
- package/dist/experimental/server/template.js +617 -0
- package/dist/html/index.d.ts +5 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +474 -33
- package/dist/hydrate.d.ts +4 -0
- package/dist/hydrate.d.ts.map +1 -0
- package/dist/hydrate.js +850 -0
- package/dist/hydrationMarker.d.ts +10 -0
- package/dist/hydrationMarker.d.ts.map +1 -0
- package/dist/hydrationMarker.js +9 -0
- package/dist/hydrationMarkers.d.ts +15 -0
- package/dist/hydrationMarkers.d.ts.map +1 -0
- package/dist/hydrationMarkers.js +70 -0
- package/dist/nativeInnerHtml.d.ts +13 -0
- package/dist/nativeInnerHtml.d.ts.map +1 -0
- package/dist/nativeInnerHtml.js +30 -0
- package/dist/propertyProvenance.d.ts +33 -0
- package/dist/propertyProvenance.d.ts.map +1 -0
- package/dist/propertyProvenance.js +78 -0
- package/dist/propsModule.d.ts.map +1 -1
- package/dist/propsModule.js +149 -15
- package/dist/runtime/public.d.ts +2 -2
- package/dist/runtime/public.d.ts.map +1 -1
- package/dist/runtime/public.js +1 -1
- package/dist/runtime/runtime.d.ts +99 -36
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +412 -71
- package/dist/snabbdom/attributes.d.ts.map +1 -1
- package/dist/snabbdom/attributes.js +65 -37
- package/dist/snabbdom/h.d.ts +1 -0
- package/dist/snabbdom/h.d.ts.map +1 -1
- package/dist/snabbdom/h.js +85 -4
- package/dist/snabbdom/style.d.ts.map +1 -1
- package/dist/snabbdom/style.js +53 -34
- package/dist/snabbdom/tovnode.d.ts.map +1 -1
- package/dist/snabbdom/tovnode.js +5 -1
- package/dist/tagName.d.ts +6 -0
- package/dist/tagName.d.ts.map +1 -0
- package/dist/tagName.js +11 -0
- package/dist/test/apps/attributes.d.ts +1 -0
- package/dist/test/apps/attributes.d.ts.map +1 -1
- package/dist/test/apps/attributes.js +8 -1
- package/dist/test/apps/login.js +1 -1
- package/dist/test/matchers.d.ts.map +1 -1
- package/dist/test/matchers.js +2 -1
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +2 -1
- package/dist/vdom.d.ts.map +1 -1
- package/dist/vdom.js +25 -1
- package/package.json +9 -2
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { Effect, Schema } from 'effect';
|
|
2
|
+
import { type Document, type HtmlBuilder } from '../../html/index.js';
|
|
3
|
+
import { FOLDKIT_APP_ATTRIBUTE, FOLDKIT_FLAGS_ATTRIBUTE } from '../../hydrationMarker.js';
|
|
4
|
+
import { Url } from '../../url/index.js';
|
|
5
|
+
export declare const __assertNoDeclarativeShadowRoot: (html: string) => void;
|
|
6
|
+
export declare const __assertNoLiveBaseElement: (html: string) => void;
|
|
7
|
+
export declare const __assertNoDocumentStructureEscape: (html: string) => void;
|
|
8
|
+
export { FOLDKIT_APP_ATTRIBUTE, FOLDKIT_FLAGS_ATTRIBUTE };
|
|
9
|
+
/** The server render of one request: the stamped root markup (plus the Flags
|
|
10
|
+
* payload script when the application declares Flags) and the `Document`
|
|
11
|
+
* head fields for the host to place into its HTML template.
|
|
12
|
+
*
|
|
13
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
14
|
+
*/
|
|
15
|
+
export type RenderedApplication = Readonly<{
|
|
16
|
+
html: string;
|
|
17
|
+
title: string;
|
|
18
|
+
lang?: string;
|
|
19
|
+
dir?: 'ltr' | 'rtl' | 'auto';
|
|
20
|
+
canonical?: string;
|
|
21
|
+
ogUrl?: string;
|
|
22
|
+
}>;
|
|
23
|
+
declare const InvalidUrl_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
24
|
+
readonly _tag: "InvalidUrl";
|
|
25
|
+
} & Readonly<A>;
|
|
26
|
+
/** Failure of a routing render whose `url` option cannot be parsed.
|
|
27
|
+
*
|
|
28
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
29
|
+
*/
|
|
30
|
+
export declare class InvalidUrl extends InvalidUrl_base<{
|
|
31
|
+
url: string;
|
|
32
|
+
}> {
|
|
33
|
+
}
|
|
34
|
+
declare const FlagsEncodeError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
35
|
+
readonly _tag: "FlagsEncodeError";
|
|
36
|
+
} & Readonly<A>;
|
|
37
|
+
/** Failure producing the Flags payload: the Schema encode step rejected the
|
|
38
|
+
* Flags value, the encoded value could not be serialized to JSON, or the
|
|
39
|
+
* encoded value could not be decoded back for the hydration-consistent
|
|
40
|
+
* render.
|
|
41
|
+
*
|
|
42
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
43
|
+
*/
|
|
44
|
+
export declare class FlagsEncodeError extends FlagsEncodeError_base<{
|
|
45
|
+
cause: unknown;
|
|
46
|
+
}> {
|
|
47
|
+
}
|
|
48
|
+
declare const SerializationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
49
|
+
readonly _tag: "SerializationError";
|
|
50
|
+
} & Readonly<A>;
|
|
51
|
+
/** Failure serializing the view-produced vnode tree to safe HTML.
|
|
52
|
+
*
|
|
53
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
54
|
+
*/
|
|
55
|
+
export declare class SerializationError extends SerializationError_base<{
|
|
56
|
+
cause: unknown;
|
|
57
|
+
}> {
|
|
58
|
+
}
|
|
59
|
+
declare const InvalidRuntimeId_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
60
|
+
readonly _tag: "InvalidRuntimeId";
|
|
61
|
+
} & Readonly<A>;
|
|
62
|
+
/** Failure of a render whose `runtimeId` is empty.
|
|
63
|
+
*
|
|
64
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
65
|
+
*/
|
|
66
|
+
export declare class InvalidRuntimeId extends InvalidRuntimeId_base<{
|
|
67
|
+
runtimeId: string;
|
|
68
|
+
}> {
|
|
69
|
+
}
|
|
70
|
+
declare const InvalidHydrationRoot_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
71
|
+
readonly _tag: "InvalidHydrationRoot";
|
|
72
|
+
} & Readonly<A>;
|
|
73
|
+
/** Failure of a hydratable render whose view did not return an element root.
|
|
74
|
+
* Text, comments, and an empty body cannot carry the hydration marker the
|
|
75
|
+
* client runtime uses to adopt the server-rendered DOM.
|
|
76
|
+
*
|
|
77
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
78
|
+
*/
|
|
79
|
+
export declare class InvalidHydrationRoot extends InvalidHydrationRoot_base<{
|
|
80
|
+
rootKind: 'Empty' | 'Text' | 'Comment';
|
|
81
|
+
}> {
|
|
82
|
+
}
|
|
83
|
+
declare const MissingBuildId_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
84
|
+
readonly _tag: "MissingBuildId";
|
|
85
|
+
} & Readonly<A>;
|
|
86
|
+
/** Failure of a hydratable render that was given no build id. Hydration
|
|
87
|
+
* compares the id on the served root with the client's own to refuse a page
|
|
88
|
+
* from another deployment, so a render that carries none has no such
|
|
89
|
+
* protection. Supply one from a value the deployment already has, such as a
|
|
90
|
+
* commit or a release tag, through `@foldkit/vite-plugin`'s `buildId` option or
|
|
91
|
+
* the `FOLDKIT_BUILD_ID` environment variable, and pass
|
|
92
|
+
* `import.meta.env.FOLDKIT_BUILD_ID` to `renderToString` and `Runtime.hydrate`.
|
|
93
|
+
* A render that nothing will hydrate (`isHydratable: false`) needs none.
|
|
94
|
+
*
|
|
95
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
96
|
+
*/
|
|
97
|
+
export declare class MissingBuildId extends MissingBuildId_base<{}> {
|
|
98
|
+
}
|
|
99
|
+
/** Union of the failures {@link renderToString} can produce.
|
|
100
|
+
*
|
|
101
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
102
|
+
*/
|
|
103
|
+
export type RenderError = MissingBuildId | InvalidUrl | FlagsEncodeError | SerializationError | InvalidRuntimeId | InvalidHydrationRoot;
|
|
104
|
+
type InitReturn<Model> = readonly [Model, ReadonlyArray<unknown>];
|
|
105
|
+
/** Server-side subset of a routing `makeApplication` config with Flags. The
|
|
106
|
+
* full application config is structurally assignable; `container`, `update`,
|
|
107
|
+
* and `subscriptions` play no part in a server render.
|
|
108
|
+
*
|
|
109
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
110
|
+
*/
|
|
111
|
+
export type RoutingApplicationConfigWithFlags<Model, Message, Flags> = Readonly<{
|
|
112
|
+
Flags: Schema.Codec<Flags, any, never, never>;
|
|
113
|
+
routing: unknown;
|
|
114
|
+
init: (flags: Flags, url: Url) => InitReturn<Model>;
|
|
115
|
+
view: (model: Model, h: HtmlBuilder<Message>) => Document;
|
|
116
|
+
}>;
|
|
117
|
+
/** Server-side subset of a routing `makeApplication` config without Flags.
|
|
118
|
+
*
|
|
119
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
120
|
+
*/
|
|
121
|
+
export type RoutingApplicationConfig<Model, Message> = Readonly<{
|
|
122
|
+
routing: unknown;
|
|
123
|
+
init: (url: Url) => InitReturn<Model>;
|
|
124
|
+
view: (model: Model, h: HtmlBuilder<Message>) => Document;
|
|
125
|
+
}>;
|
|
126
|
+
/** Server-side subset of a non-routing `makeApplication` config with Flags.
|
|
127
|
+
*
|
|
128
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
129
|
+
*/
|
|
130
|
+
export type ApplicationConfigWithFlags<Model, Message, Flags> = Readonly<{
|
|
131
|
+
Flags: Schema.Codec<Flags, any, never, never>;
|
|
132
|
+
init: (flags: Flags) => InitReturn<Model>;
|
|
133
|
+
view: (model: Model, h: HtmlBuilder<Message>) => Document;
|
|
134
|
+
}>;
|
|
135
|
+
/** Server-side subset of a non-routing `makeApplication` config.
|
|
136
|
+
*
|
|
137
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
138
|
+
*/
|
|
139
|
+
export type ApplicationConfig<Model, Message> = Readonly<{
|
|
140
|
+
init: () => InitReturn<Model>;
|
|
141
|
+
view: (model: Model, h: HtmlBuilder<Message>) => Document;
|
|
142
|
+
}>;
|
|
143
|
+
type CommonRenderOptions = Readonly<{
|
|
144
|
+
runtimeId?: string;
|
|
145
|
+
}>;
|
|
146
|
+
/** Render options for output a client will hydrate, which is the default. The
|
|
147
|
+
* build id is required here: hydration compares it against the client's own
|
|
148
|
+
* before adopting any DOM, and a page carrying none has no such protection.
|
|
149
|
+
*
|
|
150
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
151
|
+
*/
|
|
152
|
+
export type HydratableRenderOptions = CommonRenderOptions & Readonly<{
|
|
153
|
+
isHydratable?: true;
|
|
154
|
+
/**
|
|
155
|
+
* The deployment this render belongs to, stamped on the root so hydration
|
|
156
|
+
* can refuse a page from a different one before adopting its DOM. Pass
|
|
157
|
+
* `import.meta.env.FOLDKIT_BUILD_ID`, which `@foldkit/vite-plugin` fills
|
|
158
|
+
* from its `buildId` option or the `FOLDKIT_BUILD_ID` environment variable,
|
|
159
|
+
* and give the client entry the same value.
|
|
160
|
+
*/
|
|
161
|
+
buildId: string;
|
|
162
|
+
}>;
|
|
163
|
+
/** Render options for static markup nothing will hydrate. No build id applies,
|
|
164
|
+
* because no client will compare one.
|
|
165
|
+
*
|
|
166
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
167
|
+
*/
|
|
168
|
+
export type StaticRenderOptions = CommonRenderOptions & Readonly<{
|
|
169
|
+
isHydratable: false;
|
|
170
|
+
buildId?: undefined;
|
|
171
|
+
}>;
|
|
172
|
+
/** Options for {@link renderToString}. `runtimeId` names the application in the
|
|
173
|
+
* root stamp and Flags payload; it defaults to `'app'` and must be non-empty.
|
|
174
|
+
*
|
|
175
|
+
* A hydratable render (the default) requires `buildId`. Pass
|
|
176
|
+
* `isHydratable: false` for static markup that nothing will hydrate, which
|
|
177
|
+
* takes no build id.
|
|
178
|
+
*
|
|
179
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
180
|
+
*/
|
|
181
|
+
export type RenderOptions = HydratableRenderOptions | StaticRenderOptions;
|
|
182
|
+
/** Render options for a routing application, adding the request URL.
|
|
183
|
+
*
|
|
184
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
185
|
+
*/
|
|
186
|
+
export type RenderUrlOptions = RenderOptions & Readonly<{
|
|
187
|
+
url: string;
|
|
188
|
+
}>;
|
|
189
|
+
/** Render options for a Flags application, adding the per-request Flags.
|
|
190
|
+
*
|
|
191
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
192
|
+
*/
|
|
193
|
+
export type RenderFlagsOptions<Flags> = RenderOptions & Readonly<{
|
|
194
|
+
flags: Flags;
|
|
195
|
+
}>;
|
|
196
|
+
/** Render options for a routing Flags application: the request URL plus the
|
|
197
|
+
* per-request Flags.
|
|
198
|
+
*
|
|
199
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
200
|
+
*/
|
|
201
|
+
export type RenderUrlFlagsOptions<Flags> = RenderUrlOptions & RenderFlagsOptions<Flags>;
|
|
202
|
+
/**
|
|
203
|
+
* Renders a `makeApplication`-shaped config to an HTML string on the server.
|
|
204
|
+
*
|
|
205
|
+
* Resolves `init` for the request (with the given Flags and URL when the
|
|
206
|
+
* config declares them), runs the pure `view` under a no-op dispatch frame,
|
|
207
|
+
* and serializes the resulting `Document` body. The root element is stamped
|
|
208
|
+
* with {@link FOLDKIT_APP_ATTRIBUTE} and, when the config declares `Flags`,
|
|
209
|
+
* the Schema-encoded Flags ride along in a JSON script tag so a hydrating
|
|
210
|
+
* client boots from the same Model.
|
|
211
|
+
*
|
|
212
|
+
* Commands returned by `init` are not run: the rendered HTML is the
|
|
213
|
+
* post-`init` state, and the client runs those Commands after hydration.
|
|
214
|
+
*
|
|
215
|
+
* A hydratable Flags render calls `init` with the encode-then-decode round
|
|
216
|
+
* trip of the given Flags, the exact value the hydrating client will
|
|
217
|
+
* reconstruct, so the served DOM and the client's first render agree by
|
|
218
|
+
* construction even for codecs whose round trip is not the identity.
|
|
219
|
+
*
|
|
220
|
+
* When a routing view omits `Document.canonical`, the render defaults it (and
|
|
221
|
+
* `ogUrl`) to the request URL, normalized the way the client computes the
|
|
222
|
+
* current location but with the query string kept. Set `Document.canonical`
|
|
223
|
+
* explicitly when the query string is not part of the page's identity, such as
|
|
224
|
+
* tracking parameters or a session token, so a crawler does not index every
|
|
225
|
+
* variant as its own canonical page.
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const renderedApplication = yield* Server.renderToString(config, {
|
|
230
|
+
* url: request.url,
|
|
231
|
+
* flags: { theme },
|
|
232
|
+
* buildId: import.meta.env.FOLDKIT_BUILD_ID,
|
|
233
|
+
* })
|
|
234
|
+
* ```
|
|
235
|
+
*
|
|
236
|
+
* @experimental Ships from `foldkit/experimental/server`; expect breaking changes while the API settles.
|
|
237
|
+
*/
|
|
238
|
+
export declare function renderToString<Model, Message, Flags>(config: RoutingApplicationConfigWithFlags<Model, Message, Flags>, options: RenderUrlFlagsOptions<Flags>): Effect.Effect<RenderedApplication, RenderError>;
|
|
239
|
+
export declare function renderToString<Model, Message>(config: RoutingApplicationConfig<Model, Message>, options: RenderUrlOptions): Effect.Effect<RenderedApplication, RenderError>;
|
|
240
|
+
export declare function renderToString<Model, Message, Flags>(config: ApplicationConfigWithFlags<Model, Message, Flags>, options: RenderFlagsOptions<Flags>): Effect.Effect<RenderedApplication, RenderError>;
|
|
241
|
+
export declare function renderToString<Model, Message>(config: ApplicationConfig<Model, Message>, options: RenderOptions): Effect.Effect<RenderedApplication, RenderError>;
|
|
242
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/experimental/server/server.ts"],"names":[],"mappings":"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"}
|