Skip to content

Commit 4d08914

Browse files
authored
Fix for #10388. Renames renderToStream to renderToNodeStream. (#10425)
1 parent 8b1b072 commit 4d08914

10 files changed

+255
-183
lines changed

docs/docs/reference-react-dom-node-stream.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ Unlike other packages in React, `ReactDOMNodeStream` depends on a package (`stre
1414

1515
The `ReactDOMNodeStream` object allows you to render your components in Node.js and stream the resulting markup.
1616

17-
- [`renderToStream()`](#rendertostream)
18-
- [`renderToStaticStream()`](#rendertostaticstream)
17+
- [`renderToNodeStream()`](#rendertonodestream)
18+
- [`renderToStaticNodeStream()`](#rendertostaticnodestream)
1919

2020
* * *
2121

2222
## Reference
2323

24-
### `renderToStream()`
24+
### `renderToNodeStream()`
2525

2626
```javascript
27-
ReactDOMNodeStream.renderToStream(element)
27+
ReactDOMNodeStream.renderToNodeStream(element)
2828
```
2929

3030
Render a React element to its initial HTML. This should only be used in Node.js; it will not work in the browser, since the browser does not support Node.js streams. React will return a [Readable stream](https://nodejs.org/api/stream.html#stream_readable_streams) that outputs an HTML string. The HTML output by this stream will be exactly equal to what [`ReactDOMServer.renderToString`](https://facebook.github.io/react/docs/react-dom-server.html#rendertostring) would return. You can use this method to generate HTML on the server and send the markup down on the initial request for faster page loads and to allow search engines to crawl your pages for SEO purposes.
@@ -35,12 +35,12 @@ Note that the stream returned from this method will return a byte stream encoded
3535

3636
* * *
3737

38-
### `renderToStaticStream()`
38+
### `renderToStaticNodeStream()`
3939

4040
```javascript
41-
ReactDOMNodeStream.renderToStaticStream(element)
41+
ReactDOMNodeStream.renderToStaticNodeStream(element)
4242
```
4343

44-
Similar to [`renderToStream`](#rendertostream), except this doesn't create extra DOM attributes such as `data-reactid`, that React uses internally. This is useful if you want to use React as a simple static page generator, as stripping away the extra attributes can save lots of bytes.
44+
Similar to [`renderToNodeStream`](#rendertonodestream), except this doesn't create extra DOM attributes such as `data-reactid`, that React uses internally. This is useful if you want to use React as a simple static page generator, as stripping away the extra attributes can save lots of bytes.
4545

4646
Note that the stream returned from this method will return a byte stream encoded in utf-8. If you need a stream in another encoding, take a look a project like [iconv-lite](https://www.npmjs.com/package/iconv-lite), which provides transform streams for transcoding text.

scripts/error-codes/codes.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,10 @@
204204
"202": "ReactDOM.render(): Invalid component element. Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.",
205205
"203": "ReactDOM.render(): Invalid component element. This may be caused by unintentionally loading two independent copies of React.",
206206
"204": "ReactDOM.render(): Invalid component element.",
207-
"205": "renderToStream(): Invalid component element.",
208-
"206": "renderToStaticStream(): Invalid component element.",
209-
"207": "ReactDOMServer.renderToStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToString() instead.",
210-
"208": "ReactDOMServer.renderToStaticStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.",
207+
"205": "renderToNodeStream(): Invalid component element.",
208+
"206": "renderToStaticNodeStream(): Invalid component element.",
209+
"207": "ReactDOMServer.renderToNodeStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToString() instead.",
210+
"208": "ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.",
211211
"209": "renderToString(): Invalid component element.",
212212
"210": "renderToStaticMarkup(): Invalid component element.",
213213
"211": "Missing injection for fiber findDOMNode",
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
2-
* gives source code refs for unknown prop warning for exact elements in composition (ssr)
1+

scripts/fiber/tests-passing.txt

Lines changed: 139 additions & 68 deletions
Large diffs are not rendered by default.

scripts/rollup/results.json

Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1,164 @@
11
{
22
"bundleSizes": {
33
"react.development.js (UMD_DEV)": {
4-
"size": 65928,
5-
"gzip": 16792
4+
"size": 65905,
5+
"gzip": 16729
66
},
77
"react.production.min.js (UMD_PROD)": {
8-
"size": 6361,
9-
"gzip": 2599
8+
"size": 6359,
9+
"gzip": 2597
1010
},
1111
"react.development.js (NODE_DEV)": {
12-
"size": 56228,
13-
"gzip": 14438
12+
"size": 56312,
13+
"gzip": 14447
1414
},
1515
"react.production.min.js (NODE_PROD)": {
16-
"size": 5384,
17-
"gzip": 2231
16+
"size": 5382,
17+
"gzip": 2230
1818
},
1919
"React-dev.js (FB_DEV)": {
20-
"size": 53485,
21-
"gzip": 13653
20+
"size": 53513,
21+
"gzip": 13663
2222
},
2323
"React-prod.js (FB_PROD)": {
24-
"size": 25016,
25-
"gzip": 6705
24+
"size": 25014,
25+
"gzip": 6703
2626
},
2727
"react-dom.development.js (UMD_DEV)": {
28-
"size": 624336,
29-
"gzip": 142708
28+
"size": 635283,
29+
"gzip": 144613
3030
},
3131
"react-dom.production.min.js (UMD_PROD)": {
32-
"size": 114616,
33-
"gzip": 35769
32+
"size": 108379,
33+
"gzip": 33966
3434
},
3535
"react-dom.development.js (NODE_DEV)": {
36-
"size": 583734,
37-
"gzip": 133055
36+
"size": 594095,
37+
"gzip": 135122
3838
},
3939
"react-dom.production.min.js (NODE_PROD)": {
40-
"size": 118288,
41-
"gzip": 37153
40+
"size": 112397,
41+
"gzip": 35476
4242
},
4343
"ReactDOMFiber-dev.js (FB_DEV)": {
44-
"size": 583017,
45-
"gzip": 133083
44+
"size": 590915,
45+
"gzip": 134583
4646
},
4747
"ReactDOMFiber-prod.js (FB_PROD)": {
48-
"size": 426172,
49-
"gzip": 96450
48+
"size": 424931,
49+
"gzip": 95294
5050
},
5151
"react-dom-test-utils.development.js (NODE_DEV)": {
52-
"size": 53332,
53-
"gzip": 13396
52+
"size": 53359,
53+
"gzip": 13402
5454
},
5555
"ReactTestUtils-dev.js (FB_DEV)": {
56-
"size": 53124,
57-
"gzip": 13357
56+
"size": 53151,
57+
"gzip": 13364
5858
},
5959
"react-dom-unstable-native-dependencies.development.js (UMD_DEV)": {
60-
"size": 84047,
61-
"gzip": 21057
60+
"size": 88196,
61+
"gzip": 22328
6262
},
6363
"react-dom-unstable-native-dependencies.production.min.js (UMD_PROD)": {
64-
"size": 15672,
65-
"gzip": 5027
64+
"size": 15149,
65+
"gzip": 4910
6666
},
6767
"react-dom-unstable-native-dependencies.development.js (NODE_DEV)": {
68-
"size": 77475,
69-
"gzip": 19101
68+
"size": 81733,
69+
"gzip": 20383
7070
},
7171
"react-dom-unstable-native-dependencies.production.min.js (NODE_PROD)": {
72-
"size": 14133,
73-
"gzip": 4451
72+
"size": 13926,
73+
"gzip": 4403
7474
},
7575
"ReactDOMUnstableNativeDependencies-dev.js (FB_DEV)": {
76-
"size": 77189,
77-
"gzip": 19061
76+
"size": 81432,
77+
"gzip": 20341
7878
},
7979
"ReactDOMUnstableNativeDependencies-prod.js (FB_PROD)": {
80-
"size": 65908,
81-
"gzip": 15704
80+
"size": 66066,
81+
"gzip": 15736
8282
},
8383
"react-dom-server.browser.development.js (UMD_DEV)": {
84-
"size": 122873,
85-
"gzip": 31036
84+
"size": 124076,
85+
"gzip": 31288
8686
},
8787
"react-dom-server.browser.production.min.js (UMD_PROD)": {
88-
"size": 21199,
89-
"gzip": 8114
88+
"size": 19874,
89+
"gzip": 7592
9090
},
9191
"react-dom-server.browser.development.js (NODE_DEV)": {
92-
"size": 92049,
93-
"gzip": 23628
92+
"size": 92358,
93+
"gzip": 23695
9494
},
9595
"react-dom-server.browser.production.min.js (NODE_PROD)": {
96-
"size": 19962,
97-
"gzip": 7604
96+
"size": 18930,
97+
"gzip": 7264
9898
},
9999
"ReactDOMServer-dev.js (FB_DEV)": {
100-
"size": 89559,
101-
"gzip": 23201
100+
"size": 91551,
101+
"gzip": 23617
102102
},
103103
"ReactDOMServer-prod.js (FB_PROD)": {
104-
"size": 49640,
105-
"gzip": 13644
104+
"size": 49652,
105+
"gzip": 13866
106106
},
107107
"react-dom-server.node.development.js (NODE_DEV)": {
108-
"size": 94782,
109-
"gzip": 24195
108+
"size": 95135,
109+
"gzip": 24258
110110
},
111111
"react-dom-server.node.production.min.js (NODE_PROD)": {
112-
"size": 21053,
113-
"gzip": 7964
112+
"size": 19986,
113+
"gzip": 7613
114114
},
115115
"react-art.development.js (UMD_DEV)": {
116-
"size": 363064,
117-
"gzip": 80610
116+
"size": 307891,
117+
"gzip": 66652
118118
},
119119
"react-art.production.min.js (UMD_PROD)": {
120-
"size": 88702,
121-
"gzip": 27224
120+
"size": 47498,
121+
"gzip": 14839
122122
},
123123
"react-art.development.js (NODE_DEV)": {
124-
"size": 284435,
125-
"gzip": 60532
124+
"size": 295222,
125+
"gzip": 62807
126126
},
127127
"react-art.production.min.js (NODE_PROD)": {
128-
"size": 57226,
129-
"gzip": 17683
128+
"size": 52520,
129+
"gzip": 16419
130130
},
131131
"ReactARTFiber-dev.js (FB_DEV)": {
132-
"size": 283868,
133-
"gzip": 60453
132+
"size": 294163,
133+
"gzip": 62866
134134
},
135135
"ReactARTFiber-prod.js (FB_PROD)": {
136-
"size": 217459,
137-
"gzip": 45301
136+
"size": 220269,
137+
"gzip": 45845
138138
},
139139
"ReactNativeStack-dev.js (RN_DEV)": {
140-
"size": 201024,
141-
"gzip": 37385
140+
"size": 201067,
141+
"gzip": 37391
142142
},
143143
"ReactNativeStack-prod.js (RN_PROD)": {
144-
"size": 137686,
145-
"gzip": 26481
144+
"size": 136715,
145+
"gzip": 26222
146146
},
147147
"ReactNativeFiber-dev.js (RN_DEV)": {
148-
"size": 284667,
149-
"gzip": 51712
148+
"size": 305992,
149+
"gzip": 52996
150150
},
151151
"ReactNativeFiber-prod.js (RN_PROD)": {
152-
"size": 220270,
153-
"gzip": 38503
152+
"size": 221418,
153+
"gzip": 38321
154154
},
155155
"react-test-renderer.development.js (NODE_DEV)": {
156-
"size": 281620,
157-
"gzip": 59461
156+
"size": 299690,
157+
"gzip": 63255
158158
},
159159
"ReactTestRendererFiber-dev.js (FB_DEV)": {
160-
"size": 281044,
161-
"gzip": 59382
160+
"size": 298616,
161+
"gzip": 63330
162162
},
163163
"react-test-renderer-shallow.development.js (NODE_DEV)": {
164164
"size": 9556,
@@ -169,8 +169,8 @@
169169
"gzip": 2338
170170
},
171171
"react-noop-renderer.development.js (NODE_DEV)": {
172-
"size": 275726,
173-
"gzip": 57882
172+
"size": 286933,
173+
"gzip": 60117
174174
},
175175
"react-dom-server.development.js (UMD_DEV)": {
176176
"size": 120897,

src/renderers/dom/ReactDOMNodeStreamRenderer.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,36 +38,36 @@ class ReactMarkupReadableStream extends Readable {
3838
/**
3939
* Render a ReactElement to its initial HTML. This should only be used on the
4040
* server.
41-
* See https://facebook.github.io/react/docs/react-dom-stream.html#rendertostream
41+
* See https://facebook.github.io/react/docs/react-dom-stream.html#rendertonodestream
4242
*/
43-
function renderToStream(element) {
43+
function renderToNodeStream(element) {
4444
const disableNewFiberFeatures = ReactFeatureFlags.disableNewFiberFeatures;
4545
if (disableNewFiberFeatures) {
4646
invariant(
4747
React.isValidElement(element),
48-
'renderToStream(): Invalid component element.',
48+
'renderToNodeStream(): Invalid component element.',
4949
);
5050
}
5151
return new ReactMarkupReadableStream(element, false);
5252
}
5353

5454
/**
55-
* Similar to renderToStream, except this doesn't create extra DOM attributes
55+
* Similar to renderToNodeStream, except this doesn't create extra DOM attributes
5656
* such as data-react-id that React uses internally.
57-
* See https://facebook.github.io/react/docs/react-dom-stream.html#rendertostaticstream
57+
* See https://facebook.github.io/react/docs/react-dom-stream.html#rendertostaticnodestream
5858
*/
59-
function renderToStaticStream(element) {
59+
function renderToStaticNodeStream(element) {
6060
const disableNewFiberFeatures = ReactFeatureFlags.disableNewFiberFeatures;
6161
if (disableNewFiberFeatures) {
6262
invariant(
6363
React.isValidElement(element),
64-
'renderToStaticStream(): Invalid component element.',
64+
'renderToStaticNodeStream(): Invalid component element.',
6565
);
6666
}
6767
return new ReactMarkupReadableStream(element, true);
6868
}
6969

7070
module.exports = {
71-
renderToStream: renderToStream,
72-
renderToStaticStream: renderToStaticStream,
71+
renderToNodeStream: renderToNodeStream,
72+
renderToStaticNodeStream: renderToStaticNodeStream,
7373
};

src/renderers/dom/ReactDOMServerBrowserEntry.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ require('ReactDOMInjection');
2020
module.exports = {
2121
renderToString: ReactDOMStringRenderer.renderToString,
2222
renderToStaticMarkup: ReactDOMStringRenderer.renderToStaticMarkup,
23-
renderToStream() {
23+
renderToNodeStream() {
2424
invariant(
2525
false,
26-
'ReactDOMServer.renderToStream(): The streaming API is not available ' +
26+
'ReactDOMServer.renderToNodeStream(): The streaming API is not available ' +
2727
'in the browser. Use ReactDOMServer.renderToString() instead.',
2828
);
2929
},
30-
renderToStaticStream() {
30+
renderToStaticNodeStream() {
3131
invariant(
3232
false,
33-
'ReactDOMServer.renderToStaticStream(): The streaming API is not available ' +
33+
'ReactDOMServer.renderToStaticNodeStream(): The streaming API is not available ' +
3434
'in the browser. Use ReactDOMServer.renderToStaticMarkup() instead.',
3535
);
3636
},

src/renderers/dom/ReactDOMServerNodeEntry.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ require('ReactDOMInjection');
2020
module.exports = {
2121
renderToString: ReactDOMStringRenderer.renderToString,
2222
renderToStaticMarkup: ReactDOMStringRenderer.renderToStaticMarkup,
23-
renderToStream: ReactDOMNodeStreamRenderer.renderToStream,
24-
renderToStaticStream: ReactDOMNodeStreamRenderer.renderToStaticStream,
23+
renderToNodeStream: ReactDOMNodeStreamRenderer.renderToNodeStream,
24+
renderToStaticNodeStream: ReactDOMNodeStreamRenderer.renderToStaticNodeStream,
2525
version: ReactVersion,
2626
};

src/renderers/dom/shared/__tests__/ReactDOMServerIntegration-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ async function renderIntoStream(reactElement, errorCount = 0) {
119119
() =>
120120
new Promise(resolve => {
121121
let writable = new DrainWritable();
122-
ReactDOMServer.renderToStream(reactElement).pipe(writable);
122+
ReactDOMServer.renderToNodeStream(reactElement).pipe(writable);
123123
writable.on('finish', () => resolve(writable.buffer));
124124
}),
125125
errorCount,

0 commit comments

Comments
 (0)