diff --git a/packages/react-dom/src/__tests__/ReactServerRendering-test.js b/packages/react-dom/src/__tests__/ReactServerRendering-test.js index fed6988077187..2df9ad6e5dd1b 100644 --- a/packages/react-dom/src/__tests__/ReactServerRendering-test.js +++ b/packages/react-dom/src/__tests__/ReactServerRendering-test.js @@ -620,17 +620,27 @@ describe('ReactDOMServer', () => { describe('renderToStaticNodeStream', () => { it('should generate simple markup', () => { const SuccessfulElement = React.createElement(() => ); - const response = ReactDOMServer.renderToStaticNodeStream( - SuccessfulElement, - ); - expect(response.read().toString()).toMatch(new RegExp('')); + expect(() => { + const response = ReactDOMServer.renderToStaticNodeStream( + SuccessfulElement, + ); + expect(response.read().toString()).toMatch(new RegExp('')); + }).toErrorDev('ReactDOMServer.renderToStaticNodeStream() is deprecated', { + withoutStack: true, + }); }); it('should handle errors correctly', () => { const FailingElement = React.createElement(() => { throw new Error('An Error'); }); - const response = ReactDOMServer.renderToStaticNodeStream(FailingElement); + + let response; + expect(() => { + response = ReactDOMServer.renderToStaticNodeStream(FailingElement); + }).toErrorDev('ReactDOMServer.renderToStaticNodeStream() is deprecated', { + withoutStack: true, + }); return new Promise(resolve => { response.once('error', () => { resolve(); diff --git a/packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js b/packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js index 25b88156e0755..9aef2f00fea44 100644 --- a/packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js +++ b/packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js @@ -100,6 +100,13 @@ function renderToStaticNodeStream( children: ReactNodeList, options?: ServerOptions, ): Readable { + if (__DEV__) { + console.error( + 'ReactDOMServer.renderToStaticNodeStream() is deprecated.' + + ' Use ReactDOMServer.renderToPipeableStream() and wait to `pipe` until the `onAllReady`' + + ' callback has been called instead.', + ); + } return renderToNodeStreamImpl(children, options, true); }