INDIE UNPKG

2.05 kBTypeScriptView Raw
1
2import { DataRouteObject, RouteBranch, RouteManifest } from "../../router/utils.js";
3import { StaticHandlerContext } from "../../router/router.js";
4import { EntryRoute } from "./routes.js";
5import { RouteModules } from "./routeModules.js";
6import { DiscoveryState, RouteDiscoveryRuntime } from "./route-discovery.js";
7import { ServerBuild } from "../../server-runtime/build.js";
8
9//#region lib/dom/ssr/entry.d.ts
10type SerializedError = {
11 message: string;
12 stack?: string;
13};
14interface FrameworkContextObject {
15 routeDiscoveryRuntime?: RouteDiscoveryRuntime;
16 routeDiscoveryState?: DiscoveryState;
17 manifest: AssetsManifest;
18 routeModules: RouteModules;
19 criticalCss?: CriticalCss;
20 serverHandoffString?: string;
21 future: FutureConfig;
22 ssr: boolean;
23 isSpaMode: boolean;
24 unstable_apiOnly?: boolean;
25 unstable_apiServerOrigin?: string;
26 routeDiscovery: ServerBuild["routeDiscovery"];
27 nonce?: string;
28 serializeError?(error: Error): SerializedError;
29 renderMeta?: {
30 didRenderScripts?: boolean;
31 streamCache?: Record<number, Promise<void> & {
32 result?: {
33 done: boolean;
34 value: string;
35 };
36 error?: unknown;
37 }>;
38 };
39}
40interface EntryContext extends FrameworkContextObject {
41 /**
42 * @deprecated This property was an internal implementation detail and was
43 * never intended for use in `entry.server.tsx`. It is always an empty array.
44 */
45 branches: RouteBranch<DataRouteObject>[];
46 staticHandlerContext: StaticHandlerContext;
47 serverHandoffStream?: ReadableStream<Uint8Array>;
48}
49interface FutureConfig {
50 unstable_customRouteDiscovery?: boolean;
51}
52type CriticalCss = string | {
53 rel: "stylesheet";
54 href: string;
55};
56interface AssetsManifest {
57 entry: {
58 imports: string[];
59 module: string;
60 };
61 routes: RouteManifest<EntryRoute>;
62 url: string;
63 version: string;
64 hmr?: {
65 timestamp?: number;
66 runtime: string;
67 };
68 sri?: Record<string, string> | true;
69}
70//#endregion
71export { AssetsManifest, CriticalCss, EntryContext, FrameworkContextObject, FutureConfig };
\No newline at end of file