Skip to content

Commit 2c2bdd0

Browse files
authored
[Fizz] Move /static build into /server builds (facebook#27327)
This joins the static (prerender) builds with the server builds but doesn't change the public entry points. The idea of two separate bundles is that we'd have a specialized build for Fizz just for the prerender that could do a lot more. However, in practice the code is implemented with a dynamic check so it's in both. It's also not a lot of code. At the same time if you do have a set up that includes both the prerender and the render in the same build output, this just doubles the server bundle size for no reason. So we might as well merge them into one build. However, I don't expose the `prerender` from `/server`. Instead it's just exposed from the public `/static` entry point. This leaves us with the option to go back to separate builds later if it diverges more in the future.
1 parent 3cc8a93 commit 2c2bdd0

File tree

10 files changed

+24
-39
lines changed

10 files changed

+24
-39
lines changed
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
'use strict';
22

3+
var s;
34
if (process.env.NODE_ENV === 'production') {
4-
module.exports = require('./cjs/react-dom-static.browser.production.min.js');
5+
s = require('./cjs/react-dom-server.browser.production.min.js');
56
} else {
6-
module.exports = require('./cjs/react-dom-static.browser.development.js');
7+
s = require('./cjs/react-dom-server.browser.development.js');
78
}
9+
10+
exports.version = s.version;
11+
exports.prerender = s.prerender;
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
'use strict';
22

3+
var s;
34
if (process.env.NODE_ENV === 'production') {
4-
module.exports = require('./cjs/react-dom-static.edge.production.min.js');
5+
s = require('./cjs/react-dom-server.edge.production.min.js');
56
} else {
6-
module.exports = require('./cjs/react-dom-static.edge.development.js');
7+
s = require('./cjs/react-dom-server.edge.development.js');
78
}
9+
10+
exports.version = s.version;
11+
exports.prerender = s.prerender;
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
'use strict';
22

3+
var s;
34
if (process.env.NODE_ENV === 'production') {
4-
module.exports = require('./cjs/react-dom-static.node.production.min.js');
5+
s = require('./cjs/react-dom-server.node.production.min.js');
56
} else {
6-
module.exports = require('./cjs/react-dom-static.node.development.js');
7+
s = require('./cjs/react-dom-server.node.development.js');
78
}
9+
10+
exports.version = s.version;
11+
exports.prerenderToNodeStream = s.prerenderToNodeStream;

packages/react-dom/src/server/react-dom-server.browser.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
*/
99

1010
export * from './ReactDOMFizzServerBrowser.js';
11+
export {prerender} from './ReactDOMFizzStaticBrowser.js';

packages/react-dom/src/server/react-dom-server.edge.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
*/
99

1010
export * from './ReactDOMFizzServerEdge.js';
11+
export {prerender} from './ReactDOMFizzStaticEdge.js';

packages/react-dom/src/server/react-dom-server.node.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
*/
99

1010
export * from './ReactDOMFizzServerNode.js';
11+
export {prerenderToNodeStream} from './ReactDOMFizzStaticNode.js';

packages/react-dom/static.browser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export {prerender, version} from './src/server/ReactDOMFizzStaticBrowser';
10+
export {prerender, version} from './src/server/react-dom-server.browser';

packages/react-dom/static.edge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export {prerender, version} from './src/server/ReactDOMFizzStaticEdge';
10+
export {prerender, version} from './src/server/react-dom-server.edge';

packages/react-dom/static.node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
export {
1111
prerenderToNodeStream,
1212
version,
13-
} from './src/server/ReactDOMFizzStaticNode';
13+
} from './src/server/react-dom-server.node';

scripts/rollup/bundles.js

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -286,36 +286,6 @@ const bundles = [
286286
externals: ['react', 'react-dom'],
287287
},
288288

289-
/******* React DOM Fizz Static *******/
290-
{
291-
bundleTypes: __EXPERIMENTAL__ ? [NODE_DEV, NODE_PROD] : [],
292-
moduleType: RENDERER,
293-
entry: 'react-dom/static.browser',
294-
global: 'ReactDOMStatic',
295-
minifyWithProdErrorCodes: true,
296-
wrapWithModuleBoundaries: false,
297-
externals: ['react', 'react-dom'],
298-
},
299-
{
300-
bundleTypes: __EXPERIMENTAL__ ? [NODE_DEV, NODE_PROD] : [],
301-
moduleType: RENDERER,
302-
entry: 'react-dom/static.node',
303-
name: 'react-dom-static.node',
304-
global: 'ReactDOMStatic',
305-
minifyWithProdErrorCodes: false,
306-
wrapWithModuleBoundaries: false,
307-
externals: ['react', 'util', 'async_hooks', 'stream', 'react-dom'],
308-
},
309-
{
310-
bundleTypes: __EXPERIMENTAL__ ? [NODE_DEV, NODE_PROD] : [],
311-
moduleType: RENDERER,
312-
entry: 'react-dom/static.edge',
313-
global: 'ReactDOMStatic',
314-
minifyWithProdErrorCodes: true,
315-
wrapWithModuleBoundaries: false,
316-
externals: ['react', 'react-dom'],
317-
},
318-
319289
/******* React DOM Fizz Server External Runtime *******/
320290
{
321291
bundleTypes: [BROWSER_SCRIPT],

0 commit comments

Comments
 (0)