@samitouri / QOS-React-2 / commits / 41f0e9dae3

[Float][Fizz] include `preloadModule` and `preinitModule` on `react-dom/server-rendering-stub` (#27347)

When implementing `preloadModule` and `preinitModule` these methods were not exposed on the server rendering stub when they should have been. This PR corrects that omission.

Josh Story committed Sep 7, 2023 at 14:48 UTC 41f0e9dae3b81396dc29a4735b355ea318cc5772
3 files changed +8 -2
packages/react-dom/server-rendering-stub.js
+2
@@ -21,7 +21,9 @@ export {
21 prefetchDNS,
22 preconnect,
23 preload,
24 + preloadModule,
25 preinit,
26 + preinitModule,
27 experimental_useFormStatus,
28 experimental_useFormState,
29 unstable_batchedUpdates,
packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js
+4 -2
@@ -39,15 +39,17 @@ describe('react-dom-server-rendering-stub', () => {
39 });
40
41 // @gate enableFloat
42 - it('provides preload and preinit exports', async () => {
42 + it('provides preload, preloadModule, preinit, and preinitModule exports', async () => {
43 function App() {
44 ReactDOM.preload('foo', {as: 'style'});
45 + ReactDOM.preloadModule('foomodule');
46 ReactDOM.preinit('bar', {as: 'style'});
47 + ReactDOM.preinitModule('barmodule');
48 return <div>foo</div>;
49 }
50 const html = ReactDOMFizzServer.renderToString(<App />);
51 expect(html).toEqual(
50 - '<link rel="stylesheet" href="bar" data-precedence="default"/><link rel="preload" as="style" href="foo"/><div>foo</div>',
52 + '<link rel="stylesheet" href="bar" data-precedence="default"/><script src="barmodule" type="module" async=""></script><link rel="preload" as="style" href="foo"/><link rel="modulepreload" href="foomodule"/><div>foo</div>',
53 );
54 });
55
packages/react-dom/src/server/ReactDOMServerRenderingStub.js
+2
@@ -9,7 +9,9 @@
9
10 export {
11 preinit,
12 + preinitModule,
13 preload,
14 + preloadModule,
15 preconnect,
16 prefetchDNS,
17 } from '../shared/ReactDOMFloat';