Fix ReactARTStack bundles to not include DOM Stack inside (#9394)
* Move ReactDOMFrameScheduling.js to shared (between dom and art) * Fix ReactARTStack bundles to not include DOM Stack inside
Dan Abramov committed
Apr 10, 2017 at 22:01 UTC
457b812c262931239682e5cbb57c5bd5900d218b
6 files changed
+36
-39
scripts/rollup/build.js
+8
-1
@@ -246,12 +246,19 @@ function getPlugins(
246
manglePropertiesOnProd
247
) {
248
const plugins = [
249
- replace(Modules.getDefaultReplaceModules(bundleType)),
249
babel(updateBabelConfig(babelOpts, bundleType)),
250
alias(
251
Modules.getAliases(paths, bundleType, isRenderer, argv.extractErrors)
252
),
253
];
254
+
255
+ const replaceModules = Modules.getDefaultReplaceModules(bundleType);
256
+ // We have to do this check because Rollup breaks on empty object.
257
+ // TODO: file an issue with rollup-plugin-replace.
258
+ if (Object.keys(replaceModules).length > 0) {
259
+ plugins.unshift(replace(replaceModules));
260
+ }
261
+
262
switch (bundleType) {
263
case UMD_DEV:
264
case NODE_DEV:
scripts/rollup/bundles.js
+2
-4
@@ -169,6 +169,7 @@ const bundles = [
169
'art/modes/current',
170
'art/modes/fast-noSideEffects',
171
'art/core/transform',
172
+ 'react-dom',
173
],
174
fbEntry: 'src/renderers/art/ReactARTStack.js',
175
hasteName: 'ReactARTStack',
@@ -177,8 +178,6 @@ const bundles = [
178
manglePropertiesOnProd: false,
179
name: 'react-art',
180
paths: [
180
- // TODO: it relies on ReactDOMFrameScheduling. Need to move to shared/?
181
- 'src/renderers/dom/**/*.js',
181
'src/renderers/art/**/*.js',
182
'src/renderers/shared/**/*.js',
183
@@ -204,6 +203,7 @@ const bundles = [
203
'art/modes/current',
204
'art/modes/fast-noSideEffects',
205
'art/core/transform',
206
+ 'react-dom',
207
],
208
fbEntry: 'src/renderers/art/ReactARTFiber.js',
209
hasteName: 'ReactARTFiber',
@@ -212,8 +212,6 @@ const bundles = [
212
manglePropertiesOnProd: false,
213
name: 'react-art',
214
paths: [
215
- // TODO: it relies on ReactDOMFrameScheduling. Need to move to shared/?
216
- 'src/renderers/dom/**/*.js',
215
'src/renderers/art/**/*.js',
216
'src/renderers/shared/**/*.js',
217
scripts/rollup/modules.js
-8
@@ -171,13 +171,6 @@ function getInternalModules() {
171
};
172
}
173
174
-function replaceInternalModules() {
175
- // we inline these modules in the bundles rather than leave them as external
176
- return {
177
- "'react-dom'": `'${resolve('./src/renderers/dom/ReactDOM.js')}'`,
178
- };
179
-}
180
-
174
function getFbjsModuleAliases(bundleType) {
175
switch (bundleType) {
176
case UMD_DEV:
@@ -253,7 +246,6 @@ function getAliases(paths, bundleType, isRenderer, extractErrors) {
246
function getDefaultReplaceModules(bundleType) {
247
return Object.assign(
248
{},
256
- replaceInternalModules(),
249
replaceFbjsModuleAliases(bundleType),
250
replaceDevOnlyStubbedModules(bundleType)
251
);
scripts/rollup/results.json
+25
-25
@@ -1,5 +1,5 @@
1
{
2
- "branch": "remove-lib-in-source",
2
+ "branch": "bundle-fixes",
3
"bundleSizes": {
4
"react.development.js (UMD_DEV)": {
5
"size": 116098,
@@ -26,12 +26,12 @@
26
"gzip": 33035
27
},
28
"react-art.development.js (UMD_DEV)": {
29
- "size": 339599,
30
- "gzip": 75952
29
+ "size": 339929,
30
+ "gzip": 76018
31
},
32
"react-art.production.min.js (UMD_PROD)": {
33
- "size": 94939,
34
- "gzip": 28977
33
+ "size": 95013,
34
+ "gzip": 28991
35
},
36
"react.development.js (NODE_DEV)": {
37
"size": 109110,
@@ -90,28 +90,28 @@
90
"gzip": 80424
91
},
92
"ReactARTStack-dev.js (FB_DEV)": {
93
- "size": 492651,
94
- "gzip": 118470
93
+ "size": 141589,
94
+ "gzip": 32280
95
},
96
"ReactARTStack-prod.js (FB_PROD)": {
97
- "size": 365055,
98
- "gzip": 87582
97
+ "size": 99762,
98
+ "gzip": 22576
99
},
100
"react-art.development.js (NODE_DEV)": {
101
- "size": 264816,
102
- "gzip": 56881
101
+ "size": 265123,
102
+ "gzip": 56951
103
},
104
"react-art.production.min.js (NODE_PROD)": {
105
- "size": 56517,
106
- "gzip": 17109
105
+ "size": 56591,
106
+ "gzip": 17132
107
},
108
"ReactARTFiber-dev.js (FB_DEV)": {
109
- "size": 263951,
110
- "gzip": 56683
109
+ "size": 264301,
110
+ "gzip": 56758
111
},
112
"ReactARTFiber-prod.js (FB_PROD)": {
113
- "size": 205154,
114
- "gzip": 43017
113
+ "size": 205292,
114
+ "gzip": 43132
115
},
116
"ReactNativeStack.js (RN)": {
117
"size": 233993,
@@ -122,20 +122,20 @@
122
"gzip": 84001
123
},
124
"ReactTestRendererFiber-dev.js (FB_DEV)": {
125
- "size": 261860,
126
- "gzip": 55645
125
+ "size": 262210,
126
+ "gzip": 55722
127
},
128
"ReactTestRendererStack-dev.js (FB_DEV)": {
129
- "size": 151102,
130
- "gzip": 34699
129
+ "size": 151425,
130
+ "gzip": 34728
131
},
132
"react-noop-renderer.development.js (NODE_DEV)": {
133
- "size": 253895,
134
- "gzip": 53629
133
+ "size": 254207,
134
+ "gzip": 53701
135
},
136
"react-test-renderer.development.js (NODE_DEV)": {
137
- "size": 262734,
138
- "gzip": 55847
137
+ "size": 263041,
138
+ "gzip": 55919
139
}
140
}
141
}
\ No newline at end of file
src/renderers/shared/ReactDOMFrameScheduling.js
renamed
src/test/ReactTestUtils.js
+1
-1
@@ -17,7 +17,7 @@ var EventPluginRegistry = require('EventPluginRegistry');
17
var EventPropagators = require('EventPropagators');
18
var React = require('react');
19
var ReactControlledComponent = require('ReactControlledComponent');
20
-var ReactDOM = require('react-dom');
20
+var ReactDOM = require('ReactDOM');
21
var ReactDOMComponentTree = require('ReactDOMComponentTree');
22
var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter');
23
var ReactFiberTreeReflection = require('ReactFiberTreeReflection');