Skip to content

[Fizz][Legacy] Remove renderToNodeStream #28607

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/react-dom/npm/server.browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {
exports.version = l.version;
exports.renderToString = l.renderToString;
exports.renderToStaticMarkup = l.renderToStaticMarkup;
exports.renderToNodeStream = l.renderToNodeStream;
exports.renderToStaticNodeStream = l.renderToStaticNodeStream;
exports.renderToReadableStream = s.renderToReadableStream;
if (s.resume) {
Expand Down
1 change: 0 additions & 1 deletion packages/react-dom/npm/server.bun.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ exports.renderToReadableStream = b.renderToReadableStream;
if (b.resume) {
exports.resume = b.resume;
}
exports.renderToNodeStream = b.renderToNodeStream;
exports.renderToStaticNodeStream = b.renderToStaticNodeStream;
exports.renderToString = l.renderToString;
exports.renderToStaticMarkup = l.renderToStaticMarkup;
1 change: 0 additions & 1 deletion packages/react-dom/npm/server.edge.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {

exports.version = b.version;
exports.renderToReadableStream = b.renderToReadableStream;
exports.renderToNodeStream = b.renderToNodeStream;
exports.renderToStaticNodeStream = b.renderToStaticNodeStream;
exports.renderToString = l.renderToString;
exports.renderToStaticMarkup = l.renderToStaticMarkup;
Expand Down
1 change: 0 additions & 1 deletion packages/react-dom/npm/server.node.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ if (process.env.NODE_ENV === 'production') {
exports.version = l.version;
exports.renderToString = l.renderToString;
exports.renderToStaticMarkup = l.renderToStaticMarkup;
exports.renderToNodeStream = l.renderToNodeStream;
exports.renderToStaticNodeStream = l.renderToStaticNodeStream;
exports.renderToPipeableStream = s.renderToPipeableStream;
if (s.resumeToPipeableStream) {
Expand Down
6 changes: 0 additions & 6 deletions packages/react-dom/server.browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@ export function renderToStaticMarkup() {
arguments,
);
}
export function renderToNodeStream() {
return require('./src/server/ReactDOMLegacyServerBrowser').renderToNodeStream.apply(
this,
arguments,
);
}
export function renderToStaticNodeStream() {
return require('./src/server/ReactDOMLegacyServerBrowser').renderToStaticNodeStream.apply(
this,
Expand Down
7 changes: 0 additions & 7 deletions packages/react-dom/server.bun.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@ export function renderToReadableStream() {
);
}

export function renderToNodeStream() {
return require('./src/server/react-dom-server.bun').renderToNodeStream.apply(
this,
arguments,
);
}

export function renderToStaticNodeStream() {
return require('./src/server/react-dom-server.bun').renderToStaticNodeStream.apply(
this,
Expand Down
7 changes: 0 additions & 7 deletions packages/react-dom/server.edge.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@ export function renderToReadableStream() {
);
}

export function renderToNodeStream() {
return require('./src/server/react-dom-server.edge').renderToNodeStream.apply(
this,
arguments,
);
}

export function renderToStaticNodeStream() {
return require('./src/server/react-dom-server.edge').renderToStaticNodeStream.apply(
this,
Expand Down
6 changes: 0 additions & 6 deletions packages/react-dom/server.node.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@ export function renderToStaticMarkup() {
arguments,
);
}
export function renderToNodeStream() {
return require('./src/server/ReactDOMLegacyServerNode').renderToNodeStream.apply(
this,
arguments,
);
}
export function renderToStaticNodeStream() {
return require('./src/server/ReactDOMLegacyServerNode').renderToStaticNodeStream.apply(
this,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -338,24 +338,12 @@ describe('ReactDOMServerIntegration', () => {
</LoggedInUser.Provider>
);

let streamAmy;
let streamBob;
expect(() => {
streamAmy = ReactDOMServer.renderToNodeStream(
AppWithUser('Amy'),
).setEncoding('utf8');
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
expect(() => {
streamBob = ReactDOMServer.renderToNodeStream(
AppWithUser('Bob'),
).setEncoding('utf8');
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
const streamAmy = ReactDOMServer.renderToStaticNodeStream(
AppWithUser('Amy'),
).setEncoding('utf8');
const streamBob = ReactDOMServer.renderToStaticNodeStream(
AppWithUser('Bob'),
).setEncoding('utf8');

// Testing by filling the buffer using internal _read() with a small
// number of bytes to avoid a test case which needs to align to a
Expand Down Expand Up @@ -390,14 +378,9 @@ describe('ReactDOMServerIntegration', () => {
const streamCount = 34;

for (let i = 0; i < streamCount; i++) {
expect(() => {
streams[i] = ReactDOMServer.renderToNodeStream(
NthRender(i % 2 === 0 ? 'Expected to be recreated' : i),
).setEncoding('utf8');
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
streams[i] = ReactDOMServer.renderToStaticNodeStream(
NthRender(i % 2 === 0 ? 'Expected to be recreated' : i),
).setEncoding('utf8');
}

// Testing by filling the buffer using internal _read() with a small
Expand All @@ -414,14 +397,9 @@ describe('ReactDOMServerIntegration', () => {

// Recreate those same streams.
for (let i = 0; i < streamCount; i += 2) {
expect(() => {
streams[i] = ReactDOMServer.renderToNodeStream(
NthRender(i),
).setEncoding('utf8');
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
streams[i] = ReactDOMServer.renderToStaticNodeStream(
NthRender(i),
).setEncoding('utf8');
}

// Read a bit from all streams again.
Expand Down
68 changes: 0 additions & 68 deletions packages/react-dom/src/__tests__/ReactServerRendering-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -578,74 +578,6 @@ describe('ReactDOMServer', () => {
});
});

describe('renderToNodeStream', () => {
it('should generate simple markup', () => {
const SuccessfulElement = React.createElement(() => <img />);
let response;
expect(() => {
response = ReactDOMServer.renderToNodeStream(SuccessfulElement);
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
expect(response.read().toString()).toMatch(new RegExp('<img' + '/>'));
});

it('should handle errors correctly', () => {
const FailingElement = React.createElement(() => {
throw new Error('An Error');
});
let response;
expect(() => {
response = ReactDOMServer.renderToNodeStream(FailingElement);
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
return new Promise(resolve => {
response.once('error', () => {
resolve();
});
expect(response.read()).toBeNull();
});
});

it('should refer users to new apis when using suspense', async () => {
let resolve = null;
const promise = new Promise(res => {
resolve = () => {
resolved = true;
res();
};
});
let resolved = false;
function Suspender() {
if (resolved) {
return 'resolved';
}
throw promise;
}

let response;
expect(() => {
response = ReactDOMServer.renderToNodeStream(
<div>
<React.Suspense fallback={'fallback'}>
<Suspender />
</React.Suspense>
</div>,
);
}).toErrorDev(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
{withoutStack: true},
);
await resolve();
expect(response.read().toString()).toEqual(
'<div><!--$-->resolved<!-- --><!--/$--></div>',
);
});
});

describe('renderToStaticNodeStream', () => {
it('should generate simple markup', () => {
const SuccessfulElement = React.createElement(() => <img />);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,4 @@ describe('ReactServerRenderingBrowser', () => {
ReactDOMServer.renderToStaticMarkup(<Greeting />),
);
});

it('throws meaningfully for server-only APIs', () => {
expect(() => ReactDOMServerBrowser.renderToNodeStream(<div />)).toThrow(
'ReactDOMServer.renderToNodeStream(): The streaming API is not available ' +
'in the browser. Use ReactDOMServer.renderToString() instead.',
);
expect(() =>
ReactDOMServerBrowser.renderToStaticNodeStream(<div />),
).toThrow(
'ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available ' +
'in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.',
);
});
});
8 changes: 0 additions & 8 deletions packages/react-dom/src/server/ReactDOMFizzServerBun.js
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,6 @@ function renderToReadableStream(
});
}

function renderToNodeStream() {
throw new Error(
'ReactDOMServer.renderToNodeStream(): The Node Stream API is not available ' +
'in Bun. Use ReactDOMServer.renderToReadableStream() instead.',
);
}

function renderToStaticNodeStream() {
throw new Error(
'ReactDOMServer.renderToStaticNodeStream(): The Node Stream API is not available ' +
Expand All @@ -162,7 +155,6 @@ function renderToStaticNodeStream() {

export {
renderToReadableStream,
renderToNodeStream,
renderToStaticNodeStream,
ReactVersion as version,
};
8 changes: 0 additions & 8 deletions packages/react-dom/src/server/ReactDOMLegacyServerBrowser.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,6 @@ function renderToStaticMarkup(
);
}

function renderToNodeStream() {
throw new Error(
'ReactDOMServer.renderToNodeStream(): The streaming API is not available ' +
'in the browser. Use ReactDOMServer.renderToString() instead.',
);
}

function renderToStaticNodeStream() {
throw new Error(
'ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available ' +
Expand All @@ -56,7 +49,6 @@ function renderToStaticNodeStream() {
export {
renderToString,
renderToStaticMarkup,
renderToNodeStream,
renderToStaticNodeStream,
version,
};
6 changes: 1 addition & 5 deletions packages/react-dom/src/server/ReactDOMLegacyServerNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@
import type {ReactNodeList} from 'shared/ReactTypes';

import {version, renderToStringImpl} from './ReactDOMLegacyServerImpl';
import {
renderToNodeStream,
renderToStaticNodeStream,
} from './ReactDOMLegacyServerNodeStream';
import {renderToStaticNodeStream} from './ReactDOMLegacyServerNodeStream';

type ServerOptions = {
identifierPrefix?: string,
Expand Down Expand Up @@ -46,7 +43,6 @@ function renderToStaticMarkup(
export {
renderToString,
renderToStaticMarkup,
renderToNodeStream,
renderToStaticNodeStream,
version,
};
28 changes: 4 additions & 24 deletions packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,9 @@ function onError() {
// Non-fatal errors are ignored.
}

function renderToNodeStreamImpl(
function renderToStaticNodeStream(
children: ReactNodeList,
options: void | ServerOptions,
generateStaticMarkup: boolean,
options?: ServerOptions,
): Readable {
function onAllReady() {
// We wait until everything has loaded before starting to write.
Expand All @@ -78,7 +77,7 @@ function renderToNodeStreamImpl(
const request = createRequest(
children,
resumableState,
createRenderState(resumableState, generateStaticMarkup),
createRenderState(resumableState, true),
createRootFormatContext(),
Infinity,
onError,
Expand All @@ -92,23 +91,4 @@ function renderToNodeStreamImpl(
return destination;
}

function renderToNodeStream(
children: ReactNodeList,
options?: ServerOptions,
): Readable {
if (__DEV__) {
console.error(
'renderToNodeStream is deprecated. Use renderToPipeableStream instead.',
);
}
return renderToNodeStreamImpl(children, options, false);
}

function renderToStaticNodeStream(
children: ReactNodeList,
options?: ServerOptions,
): Readable {
return renderToNodeStreamImpl(children, options, true);
}

export {renderToNodeStream, renderToStaticNodeStream};
export {renderToStaticNodeStream};
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

export {
renderToReadableStream,
renderToNodeStream,
renderToStaticNodeStream,
version,
} from './ReactDOMFizzServerBun.js';