@samitouri / QOS-React-2 / commits / 8436bcca62

[Fizz][Legacy] Remove renderToNodeStream (#28607)

Stacked on #28606 renderToNodeStream has been deprecated since React 18 with a warning indicating users should upgrade to renderToPipeableStream. This change removes renderToNodeStream

Josh Story committed Mar 27, 2024 at 12:02 UTC 8436bcca6287077a5409b3c9180f8af0361b16a5
16 files changed +17 -191
packages/react-dom/npm/server.browser.js
-1
@@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {
12 exports.version = l.version;
13 exports.renderToString = l.renderToString;
14 exports.renderToStaticMarkup = l.renderToStaticMarkup;
15 -exports.renderToNodeStream = l.renderToNodeStream;
15 exports.renderToStaticNodeStream = l.renderToStaticNodeStream;
16 exports.renderToReadableStream = s.renderToReadableStream;
17 if (s.resume) {
packages/react-dom/npm/server.bun.js
-1
@@ -15,7 +15,6 @@ exports.renderToReadableStream = b.renderToReadableStream;
15 if (b.resume) {
16 exports.resume = b.resume;
17 }
18 -exports.renderToNodeStream = b.renderToNodeStream;
18 exports.renderToStaticNodeStream = b.renderToStaticNodeStream;
19 exports.renderToString = l.renderToString;
20 exports.renderToStaticMarkup = l.renderToStaticMarkup;
packages/react-dom/npm/server.edge.js
-1
@@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {
12
13 exports.version = b.version;
14 exports.renderToReadableStream = b.renderToReadableStream;
15 -exports.renderToNodeStream = b.renderToNodeStream;
15 exports.renderToStaticNodeStream = b.renderToStaticNodeStream;
16 exports.renderToString = l.renderToString;
17 exports.renderToStaticMarkup = l.renderToStaticMarkup;
packages/react-dom/npm/server.node.js
-1
@@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {
12 exports.version = l.version;
13 exports.renderToString = l.renderToString;
14 exports.renderToStaticMarkup = l.renderToStaticMarkup;
15 -exports.renderToNodeStream = l.renderToNodeStream;
15 exports.renderToStaticNodeStream = l.renderToStaticNodeStream;
16 exports.renderToPipeableStream = s.renderToPipeableStream;
17 if (s.resumeToPipeableStream) {
packages/react-dom/server.browser.js
-6
@@ -23,12 +23,6 @@ export function renderToStaticMarkup() {
23 arguments,
24 );
25 }
26 -export function renderToNodeStream() {
27 - return require('./src/server/ReactDOMLegacyServerBrowser').renderToNodeStream.apply(
28 - this,
29 - arguments,
30 - );
31 -}
26 export function renderToStaticNodeStream() {
27 return require('./src/server/ReactDOMLegacyServerBrowser').renderToStaticNodeStream.apply(
28 this,
packages/react-dom/server.bun.js
-7
@@ -18,13 +18,6 @@ export function renderToReadableStream() {
18 );
19 }
20
21 -export function renderToNodeStream() {
22 - return require('./src/server/react-dom-server.bun').renderToNodeStream.apply(
23 - this,
24 - arguments,
25 - );
26 -}
27 -
21 export function renderToStaticNodeStream() {
22 return require('./src/server/react-dom-server.bun').renderToStaticNodeStream.apply(
23 this,
packages/react-dom/server.edge.js
-7
@@ -18,13 +18,6 @@ export function renderToReadableStream() {
18 );
19 }
20
21 -export function renderToNodeStream() {
22 - return require('./src/server/react-dom-server.edge').renderToNodeStream.apply(
23 - this,
24 - arguments,
25 - );
26 -}
27 -
21 export function renderToStaticNodeStream() {
22 return require('./src/server/react-dom-server.edge').renderToStaticNodeStream.apply(
23 this,
packages/react-dom/server.node.js
-6
@@ -23,12 +23,6 @@ export function renderToStaticMarkup() {
23 arguments,
24 );
25 }
26 -export function renderToNodeStream() {
27 - return require('./src/server/ReactDOMLegacyServerNode').renderToNodeStream.apply(
28 - this,
29 - arguments,
30 - );
31 -}
26 export function renderToStaticNodeStream() {
27 return require('./src/server/ReactDOMLegacyServerNode').renderToStaticNodeStream.apply(
28 this,
packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js
+12 -34
@@ -338,24 +338,12 @@ describe('ReactDOMServerIntegration', () => {
338 </LoggedInUser.Provider>
339 );
340
341 - let streamAmy;
342 - let streamBob;
343 - expect(() => {
344 - streamAmy = ReactDOMServer.renderToNodeStream(
345 - AppWithUser('Amy'),
346 - ).setEncoding('utf8');
347 - }).toErrorDev(
348 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
349 - {withoutStack: true},
350 - );
351 - expect(() => {
352 - streamBob = ReactDOMServer.renderToNodeStream(
353 - AppWithUser('Bob'),
354 - ).setEncoding('utf8');
355 - }).toErrorDev(
356 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
357 - {withoutStack: true},
358 - );
341 + const streamAmy = ReactDOMServer.renderToStaticNodeStream(
342 + AppWithUser('Amy'),
343 + ).setEncoding('utf8');
344 + const streamBob = ReactDOMServer.renderToStaticNodeStream(
345 + AppWithUser('Bob'),
346 + ).setEncoding('utf8');
347
348 // Testing by filling the buffer using internal _read() with a small
349 // number of bytes to avoid a test case which needs to align to a
@@ -390,14 +378,9 @@ describe('ReactDOMServerIntegration', () => {
378 const streamCount = 34;
379
380 for (let i = 0; i < streamCount; i++) {
393 - expect(() => {
394 - streams[i] = ReactDOMServer.renderToNodeStream(
395 - NthRender(i % 2 === 0 ? 'Expected to be recreated' : i),
396 - ).setEncoding('utf8');
397 - }).toErrorDev(
398 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
399 - {withoutStack: true},
400 - );
381 + streams[i] = ReactDOMServer.renderToStaticNodeStream(
382 + NthRender(i % 2 === 0 ? 'Expected to be recreated' : i),
383 + ).setEncoding('utf8');
384 }
385
386 // Testing by filling the buffer using internal _read() with a small
@@ -414,14 +397,9 @@ describe('ReactDOMServerIntegration', () => {
397
398 // Recreate those same streams.
399 for (let i = 0; i < streamCount; i += 2) {
417 - expect(() => {
418 - streams[i] = ReactDOMServer.renderToNodeStream(
419 - NthRender(i),
420 - ).setEncoding('utf8');
421 - }).toErrorDev(
422 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
423 - {withoutStack: true},
424 - );
400 + streams[i] = ReactDOMServer.renderToStaticNodeStream(
401 + NthRender(i),
402 + ).setEncoding('utf8');
403 }
404
405 // Read a bit from all streams again.
packages/react-dom/src/__tests__/ReactServerRendering-test.js
-68
@@ -578,74 +578,6 @@ describe('ReactDOMServer', () => {
578 });
579 });
580
581 - describe('renderToNodeStream', () => {
582 - it('should generate simple markup', () => {
583 - const SuccessfulElement = React.createElement(() => <img />);
584 - let response;
585 - expect(() => {
586 - response = ReactDOMServer.renderToNodeStream(SuccessfulElement);
587 - }).toErrorDev(
588 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
589 - {withoutStack: true},
590 - );
591 - expect(response.read().toString()).toMatch(new RegExp('<img' + '/>'));
592 - });
593 -
594 - it('should handle errors correctly', () => {
595 - const FailingElement = React.createElement(() => {
596 - throw new Error('An Error');
597 - });
598 - let response;
599 - expect(() => {
600 - response = ReactDOMServer.renderToNodeStream(FailingElement);
601 - }).toErrorDev(
602 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
603 - {withoutStack: true},
604 - );
605 - return new Promise(resolve => {
606 - response.once('error', () => {
607 - resolve();
608 - });
609 - expect(response.read()).toBeNull();
610 - });
611 - });
612 -
613 - it('should refer users to new apis when using suspense', async () => {
614 - let resolve = null;
615 - const promise = new Promise(res => {
616 - resolve = () => {
617 - resolved = true;
618 - res();
619 - };
620 - });
621 - let resolved = false;
622 - function Suspender() {
623 - if (resolved) {
624 - return 'resolved';
625 - }
626 - throw promise;
627 - }
628 -
629 - let response;
630 - expect(() => {
631 - response = ReactDOMServer.renderToNodeStream(
632 - <div>
633 - <React.Suspense fallback={'fallback'}>
634 - <Suspender />
635 - </React.Suspense>
636 - </div>,
637 - );
638 - }).toErrorDev(
639 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
640 - {withoutStack: true},
641 - );
642 - await resolve();
643 - expect(response.read().toString()).toEqual(
644 - '<div><!--$-->resolved<!-- --><!--/$--></div>',
645 - );
646 - });
647 - });
648 -
581 describe('renderToStaticNodeStream', () => {
582 it('should generate simple markup', () => {
583 const SuccessfulElement = React.createElement(() => <img />);
packages/react-dom/src/__tests__/ReactServerRenderingBrowser-test.js
-13
@@ -45,17 +45,4 @@ describe('ReactServerRenderingBrowser', () => {
45 ReactDOMServer.renderToStaticMarkup(<Greeting />),
46 );
47 });
48 -
49 - it('throws meaningfully for server-only APIs', () => {
50 - expect(() => ReactDOMServerBrowser.renderToNodeStream(<div />)).toThrow(
51 - 'ReactDOMServer.renderToNodeStream(): The streaming API is not available ' +
52 - 'in the browser. Use ReactDOMServer.renderToString() instead.',
53 - );
54 - expect(() =>
55 - ReactDOMServerBrowser.renderToStaticNodeStream(<div />),
56 - ).toThrow(
57 - 'ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available ' +
58 - 'in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.',
59 - );
60 - });
48 });
packages/react-dom/src/server/ReactDOMFizzServerBun.js
-8
@@ -146,13 +146,6 @@ function renderToReadableStream(
146 });
147 }
148
149 -function renderToNodeStream() {
150 - throw new Error(
151 - 'ReactDOMServer.renderToNodeStream(): The Node Stream API is not available ' +
152 - 'in Bun. Use ReactDOMServer.renderToReadableStream() instead.',
153 - );
154 -}
155 -
149 function renderToStaticNodeStream() {
150 throw new Error(
151 'ReactDOMServer.renderToStaticNodeStream(): The Node Stream API is not available ' +
@@ -162,7 +155,6 @@ function renderToStaticNodeStream() {
155
156 export {
157 renderToReadableStream,
165 - renderToNodeStream,
158 renderToStaticNodeStream,
159 ReactVersion as version,
160 };
packages/react-dom/src/server/ReactDOMLegacyServerBrowser.js
-8
@@ -39,13 +39,6 @@ function renderToStaticMarkup(
39 );
40 }
41
42 -function renderToNodeStream() {
43 - throw new Error(
44 - 'ReactDOMServer.renderToNodeStream(): The streaming API is not available ' +
45 - 'in the browser. Use ReactDOMServer.renderToString() instead.',
46 - );
47 -}
48 -
42 function renderToStaticNodeStream() {
43 throw new Error(
44 'ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available ' +
@@ -56,7 +49,6 @@ function renderToStaticNodeStream() {
49 export {
50 renderToString,
51 renderToStaticMarkup,
59 - renderToNodeStream,
52 renderToStaticNodeStream,
53 version,
54 };
packages/react-dom/src/server/ReactDOMLegacyServerNode.js
+1 -5
@@ -10,10 +10,7 @@
10 import type {ReactNodeList} from 'shared/ReactTypes';
11
12 import {version, renderToStringImpl} from './ReactDOMLegacyServerImpl';
13 -import {
14 - renderToNodeStream,
15 - renderToStaticNodeStream,
16 -} from './ReactDOMLegacyServerNodeStream';
13 +import {renderToStaticNodeStream} from './ReactDOMLegacyServerNodeStream';
14
15 type ServerOptions = {
16 identifierPrefix?: string,
@@ -46,7 +43,6 @@ function renderToStaticMarkup(
43 export {
44 renderToString,
45 renderToStaticMarkup,
49 - renderToNodeStream,
46 renderToStaticNodeStream,
47 version,
48 };
packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js
+4 -24
@@ -59,10 +59,9 @@ function onError() {
59 // Non-fatal errors are ignored.
60 }
61
62 -function renderToNodeStreamImpl(
62 +function renderToStaticNodeStream(
63 children: ReactNodeList,
64 - options: void | ServerOptions,
65 - generateStaticMarkup: boolean,
64 + options?: ServerOptions,
65 ): Readable {
66 function onAllReady() {
67 // We wait until everything has loaded before starting to write.
@@ -78,7 +77,7 @@ function renderToNodeStreamImpl(
77 const request = createRequest(
78 children,
79 resumableState,
81 - createRenderState(resumableState, generateStaticMarkup),
80 + createRenderState(resumableState, true),
81 createRootFormatContext(),
82 Infinity,
83 onError,
@@ -92,23 +91,4 @@ function renderToNodeStreamImpl(
91 return destination;
92 }
93
95 -function renderToNodeStream(
96 - children: ReactNodeList,
97 - options?: ServerOptions,
98 -): Readable {
99 - if (__DEV__) {
100 - console.error(
101 - 'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
102 - );
103 - }
104 - return renderToNodeStreamImpl(children, options, false);
105 -}
106 -
107 -function renderToStaticNodeStream(
108 - children: ReactNodeList,
109 - options?: ServerOptions,
110 -): Readable {
111 - return renderToNodeStreamImpl(children, options, true);
112 -}
113 -
114 -export {renderToNodeStream, renderToStaticNodeStream};
94 +export {renderToStaticNodeStream};
packages/react-dom/src/server/react-dom-server.bun.stable.js
-1
@@ -9,7 +9,6 @@
9
10 export {
11 renderToReadableStream,
12 - renderToNodeStream,
12 renderToStaticNodeStream,
13 version,
14 } from './ReactDOMFizzServerBun.js';