From 2ad31bc86978cf55f99e1ecd3701b78d074822ba Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Tue, 28 Feb 2023 22:42:18 +0100 Subject: [PATCH 1/2] Add preconnect and prefetchDNS to rendering-stub --- packages/react-dom/server-rendering-stub.js | 2 ++ .../react-dom/src/server/ReactDOMServerRenderingStub.js | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/react-dom/server-rendering-stub.js b/packages/react-dom/server-rendering-stub.js index e50cb3edb3be1..6d28ee413b3cf 100644 --- a/packages/react-dom/server-rendering-stub.js +++ b/packages/react-dom/server-rendering-stub.js @@ -18,6 +18,8 @@ export {default as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED} from './s export { createPortal, flushSync, + prefetchDNS, + preconnect, preload, preinit, } from './src/server/ReactDOMServerRenderingStub'; diff --git a/packages/react-dom/src/server/ReactDOMServerRenderingStub.js b/packages/react-dom/src/server/ReactDOMServerRenderingStub.js index d7509f15495ac..29b3938c28a74 100644 --- a/packages/react-dom/src/server/ReactDOMServerRenderingStub.js +++ b/packages/react-dom/src/server/ReactDOMServerRenderingStub.js @@ -7,7 +7,12 @@ * @flow */ -export {preinit, preload} from 'react-dom-bindings/src/shared/ReactDOMFloat'; +export { + preinit, + preload, + preconnect, + prefetchDNS, +} from 'react-dom-bindings/src/shared/ReactDOMFloat'; export function createPortal() { throw new Error( From 2a26dfb745ace6cfdc64ea763d6794d65a47fafd Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Tue, 28 Feb 2023 22:53:14 +0100 Subject: [PATCH 2/2] add test --- .../react-dom-server-rendering-stub-test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js b/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js index 1a9aa2de636f6..d51c166bf765d 100644 --- a/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js +++ b/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js @@ -53,6 +53,18 @@ describe('react-dom-server-rendering-stub', () => { ); }); + it('provides preconnect and prefetchDNS exports', async () => { + function App() { + ReactDOM.preconnect('foo', {crossOrigin: 'use-credentials'}); + ReactDOM.prefetchDNS('bar'); + return
foo
; + } + const html = ReactDOMFizzServer.renderToString(); + expect(html).toEqual( + '
foo
', + ); + }); + it('provides a stub for createPortal', async () => { expect(() => { ReactDOM.createPortal();