From dbb060d561b83ad901af3e1f60541e6c313cca4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Markb=C3=A5ge?= Date: Wed, 25 Mar 2020 20:25:54 -0700 Subject: [PATCH] Pass BundlerConfig through to Relay Integration (#18393) I wasn't sure we needed this but looks like it'll come in handy. --- .../src/ReactFlightDOMRelayServer.js | 13 ++++++++++--- .../src/ReactFlightDOMRelayServerHostConfig.js | 6 +++--- .../ReactFlightDOMRelayServerIntegration.js | 2 +- scripts/flow/react-relay-hooks.js | 2 ++ 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServer.js b/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServer.js index 95b5275049..5d2392500c 100644 --- a/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServer.js +++ b/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServer.js @@ -8,12 +8,19 @@ */ import type {ReactModel} from 'react-server/src/ReactFlightServer'; -import type {Destination} from './ReactFlightDOMRelayServerHostConfig'; +import type { + BundlerConfig, + Destination, +} from './ReactFlightDOMRelayServerHostConfig'; import {createRequest, startWork} from 'react-server/src/ReactFlightServer'; -function render(model: ReactModel, destination: Destination): void { - let request = createRequest(model, destination, undefined); +function render( + model: ReactModel, + destination: Destination, + config: BundlerConfig, +): void { + let request = createRequest(model, destination, config); startWork(request); } diff --git a/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServerHostConfig.js b/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServerHostConfig.js index 19c8faee70..413614935f 100644 --- a/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServerHostConfig.js +++ b/packages/react-flight-dom-relay/src/ReactFlightDOMRelayServerHostConfig.js @@ -11,6 +11,7 @@ import type {Request, ReactModel} from 'react-server/src/ReactFlightServer'; import type { Destination, + BundlerConfig, ModuleReference, ModuleMetaData, } from 'ReactFlightDOMRelayServerIntegration'; @@ -25,17 +26,16 @@ import { export type { Destination, + BundlerConfig, ModuleReference, ModuleMetaData, } from 'ReactFlightDOMRelayServerIntegration'; -export type BundlerConfig = void; - export function resolveModuleMetaData( config: BundlerConfig, resource: ModuleReference, ): ModuleMetaData { - return resolveModuleMetaDataImpl(resource); + return resolveModuleMetaDataImpl(config, resource); } type JSONValue = diff --git a/packages/react-flight-dom-relay/src/__mocks__/ReactFlightDOMRelayServerIntegration.js b/packages/react-flight-dom-relay/src/__mocks__/ReactFlightDOMRelayServerIntegration.js index 9d03885e81..8ace12a35d 100644 --- a/packages/react-flight-dom-relay/src/__mocks__/ReactFlightDOMRelayServerIntegration.js +++ b/packages/react-flight-dom-relay/src/__mocks__/ReactFlightDOMRelayServerIntegration.js @@ -23,7 +23,7 @@ const ReactFlightDOMRelayServerIntegration = { }); }, close(destination) {}, - resolveModuleMetaData(resource) { + resolveModuleMetaData(config, resource) { return resource; }, }; diff --git a/scripts/flow/react-relay-hooks.js b/scripts/flow/react-relay-hooks.js index 7470552243..285327b1c8 100644 --- a/scripts/flow/react-relay-hooks.js +++ b/scripts/flow/react-relay-hooks.js @@ -17,6 +17,7 @@ type JSONValue = declare module 'ReactFlightDOMRelayServerIntegration' { declare export opaque type Destination; + declare export opaque type BundlerConfig; declare export function emitModel( destination: Destination, id: number, @@ -33,6 +34,7 @@ declare module 'ReactFlightDOMRelayServerIntegration' { declare export opaque type ModuleReference; declare export type ModuleMetaData = JSONValue; declare export function resolveModuleMetaData( + config: BundlerConfig, resourceReference: ModuleReference, ): ModuleMetaData; }