From 8a4bd7c00c07144510259973390718679d3e0f38 Mon Sep 17 00:00:00 2001 From: Cong-Cong Pan Date: Mon, 20 Jul 2026 17:11:08 +0800 Subject: [PATCH] fix(rspack-rsc): align React Server DOM type declarations --- .../types/react-server-dom-rspack.d.ts | 61 +++++++++---------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/rspack/rspack-rsc/types/react-server-dom-rspack.d.ts b/rspack/rspack-rsc/types/react-server-dom-rspack.d.ts index 8bbdcf80c..ff0bd27bd 100644 --- a/rspack/rspack-rsc/types/react-server-dom-rspack.d.ts +++ b/rspack/rspack-rsc/types/react-server-dom-rspack.d.ts @@ -66,8 +66,7 @@ declare module 'react-server-dom-rspack/client.browser' { export interface Options { callServer?: CallServerCallback; environmentName?: string; - // It's optional but we want to avoid accidentally omitting it. - findSourceMapURL: FindSourceMapURLCallback | undefined; + findSourceMapURL?: FindSourceMapURLCallback; replayConsoleLogs?: boolean; temporaryReferences?: TemporaryReferenceSet; debugChannel?: { readable?: ReadableStream; writable?: WritableStream }; @@ -82,6 +81,8 @@ declare module 'react-server-dom-rspack/client.browser' { stream: ReadableStream, options?: Options, ): Promise; + + export function setServerCallback(callback: CallServerCallback): void; } declare module 'react-server-dom-rspack/server.edge' { @@ -162,59 +163,53 @@ declare module 'react-server-dom-rspack/server' { declare module 'react-server-dom-rspack/server.node' { import type { Busboy } from 'busboy'; - - export { - createClientModuleProxy, - decodeReplyFromAsyncIterable, - registerServerReference, - renderToReadableStream, - } from 'react-server-dom-rspack/server.edge'; + import type { ReactFormState } from 'react-dom/client'; export type TemporaryReferenceSet = WeakMap; - export type ImportManifestEntry = { - id: string; - // chunks is a double indexed array of chunkId / chunkFilename pairs - chunks: Array; - name: string; - async?: boolean; + export type ServerEntry = T & { + resource: string; + entryJsFiles: string[]; + entryCssFiles: string[]; }; - export type ServerManifest = { - [id: string]: ImportManifestEntry; - }; - - export type ReactFormState = [ - unknown /* actual state value */, - string /* key path */, - string /* Server Reference ID */, - number /* number of bound arguments */, - ]; - export function createTemporaryReferenceSet(...args: unknown[]): TemporaryReferenceSet; export function decodeReplyFromBusboy( busboyStream: Busboy, - webpackMap: ServerManifest, options?: { temporaryReferences?: TemporaryReferenceSet }, ): Promise; export function decodeReply( body: string | FormData, - webpackMap: ServerManifest, options?: { temporaryReferences?: TemporaryReferenceSet }, ): Promise; - export function decodeAction( - body: FormData, - serverManifest: ServerManifest, - ): Promise<() => unknown> | null; + export function decodeAction(body: FormData): Promise<() => unknown> | null; export function decodeFormState( actionResult: unknown, body: FormData, - serverManifest: ServerManifest, ): Promise; + + export function loadServerAction(actionId: string): (...args: unknown[]) => Promise; + + export function renderToReadableStream( + model: unknown, + options?: { + temporaryReferences?: TemporaryReferenceSet; + environmentName?: string | (() => string); + filterStackFrame?: ( + url: string, + functionName: string, + lineNumber: number, + columnNumber: number, + ) => boolean; + onError?: (error: unknown) => void; + signal?: AbortSignal; + debugChannel?: { readable?: ReadableStream; writable?: WritableStream }; + }, + ): ReadableStream; } declare module 'react-server-dom-rspack/static' { export type TemporaryReferenceSet = WeakMap;