36
// Standalone reconciler for third-party renderers.
37
const RECONCILER = moduleTypes.RECONCILER;
38
39
-const babelOptsReact = {
40
- exclude: 'node_modules/**',
41
- presets: [],
42
- plugins: [],
43
-};
44
-
45
-const babelOptsReactART = Object.assign({}, babelOptsReact, {
46
- // Include JSX
47
- presets: babelOptsReact.presets.concat([
48
- require.resolve('babel-preset-react'),
49
- ]),
50
-});
51
-
39
const bundles = [
40
/******* Isomorphic *******/
41
{
55
- babelOpts: babelOptsReact,
42
+ label: 'core',
43
bundleTypes: [UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD],
57
- config: {
58
- destDir: 'build/',
59
- moduleName: 'React',
60
- sourceMap: false,
61
- },
62
- entry: 'packages/react/index.js',
63
- externals: [
64
- 'create-react-class/factory',
65
- 'prop-types',
66
- 'prop-types/checkPropTypes',
67
- ],
68
- fbEntry: 'packages/react/index.js',
69
- hasteName: 'React',
44
moduleType: ISOMORPHIC,
71
- label: 'core',
72
- manglePropertiesOnProd: false,
73
- name: 'react',
74
- paths: ['packages/react/**/*.js', 'packages/shared/**/*.js'],
45
+ entry: 'react',
46
+ global: 'React',
47
+ externals: [],
48
},
49
50
/******* React DOM *******/
51
{
79
- babelOpts: babelOptsReact,
52
+ label: 'dom-client',
53
bundleTypes: [UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD],
81
- config: {
82
- destDir: 'build/',
83
- globals: {
84
- react: 'React',
85
- },
86
- moduleName: 'ReactDOM',
87
- sourceMap: false,
88
- },
89
- entry: 'packages/react-dom/index.js',
90
- externals: ['prop-types', 'prop-types/checkPropTypes'],
91
- fbEntry: 'packages/react-dom/index.fb.js',
92
- hasteName: 'ReactDOM',
54
moduleType: RENDERER,
94
- label: 'dom-fiber',
95
- manglePropertiesOnProd: false,
96
- name: 'react-dom',
97
- paths: [
98
- 'packages/events/**/*.js',
99
- 'packages/react-dom/*.js',
100
- 'packages/react-dom/src/client/**/*.js',
101
- 'packages/react-dom/src/events/**/*.js',
102
- 'packages/react-dom/src/shared/**/*.js',
103
- 'packages/react-reconciler/**/*.js',
104
- 'packages/shared/**/*.js',
105
- ],
55
+ entry: 'react-dom',
56
+ global: 'ReactDOM',
57
+ externals: ['react'],
58
},
59
+
60
+ //******* Test Utils *******/
61
{
108
- babelOpts: babelOptsReact,
109
- bundleTypes: [FB_DEV, NODE_DEV, NODE_PROD],
110
- config: {
111
- destDir: 'build/',
112
- globals: {
113
- react: 'React',
114
- },
115
- moduleName: 'ReactTestUtils',
116
- sourceMap: false,
117
- },
118
- entry: 'packages/react-dom/test-utils.js',
119
- externals: [
120
- 'prop-types',
121
- 'prop-types/checkPropTypes',
122
- 'react',
123
- 'react-dom',
124
- ],
125
- fbEntry: 'packages/react-dom/test-utils.js',
126
- hasteName: 'ReactTestUtils',
62
+ label: 'dom-test-utils',
63
moduleType: RENDERER_UTILS,
128
- label: 'test-utils',
129
- manglePropertiesOnProd: false,
130
- name: 'react-dom/test-utils',
131
- paths: [
132
- 'packages/events/**/*.js',
133
- 'packages/react-dom/*.js',
134
- 'packages/react-dom/src/events/**/*.js',
135
- 'packages/react-dom/src/test-utils/**/*.js',
136
- 'packages/react-dom/src/shared/**/*.js',
137
- 'packages/shared/**/*.js',
138
- ],
64
+ bundleTypes: [FB_DEV, NODE_DEV, NODE_PROD],
65
+ entry: 'react-dom/test-utils',
66
+ global: 'ReactTestUtils',
67
+ externals: ['react', 'react-dom'],
68
},
69
+
70
/* React DOM internals required for react-native-web (e.g., to shim native events from react-dom) */
71
{
142
- babelOpts: babelOptsReact,
72
+ label: 'dom-unstable-native-dependencies',
73
bundleTypes: [UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD],
144
- config: {
145
- destDir: 'build/',
146
- globals: {
147
- react: 'React',
148
- 'react-dom': 'ReactDOM',
149
- },
150
- moduleName: 'ReactDOMUnstableNativeDependencies',
151
- sourceMap: false,
152
- },
153
- entry: 'packages/react-dom/unstable-native-dependencies.js',
154
- externals: [
155
- 'react-dom',
156
- 'ReactDOM',
157
- 'prop-types',
158
- 'prop-types/checkPropTypes',
159
- ],
160
- fbEntry: 'packages/react-dom/unstable-native-dependencies.js',
161
- hasteName: 'ReactDOMUnstableNativeDependencies',
74
moduleType: RENDERER_UTILS,
163
- label: 'dom-unstable-native-dependencies',
164
- manglePropertiesOnProd: false,
165
- name: 'react-dom/unstable-native-dependencies',
166
- paths: [
167
- 'packages/events/**/*.js',
168
- 'packages/react-dom/*.js',
169
- 'packages/react-dom/src/unstable-native-dependencies/**/*.js',
170
- 'packages/react-dom/src/shared/**/*.js',
171
- 'packages/shared/**/*.js',
172
- ],
75
+ entry: 'react-dom/unstable-native-dependencies',
76
+ global: 'ReactDOMUnstableNativeDependencies',
77
+ externals: ['react', 'react-dom'],
78
},
79
80
/******* React DOM Server *******/
81
{
177
- babelOpts: babelOptsReact,
82
+ label: 'dom-server-browser',
83
bundleTypes: [UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD],
179
- config: {
180
- destDir: 'build/',
181
- globals: {
182
- react: 'React',
183
- },
184
- moduleName: 'ReactDOMServer',
185
- sourceMap: false,
186
- },
187
- entry: 'packages/react-dom/server.browser.js',
188
- externals: ['prop-types', 'prop-types/checkPropTypes'],
189
- fbEntry: 'packages/react-dom/server.browser.js',
190
- hasteName: 'ReactDOMServer',
84
moduleType: RENDERER,
192
- label: 'dom-server-browser',
193
- manglePropertiesOnProd: false,
194
- name: 'react-dom/server.browser',
195
- paths: [
196
- 'packages/events/**/*.js',
197
- 'packages/react-dom/*.js',
198
- 'packages/react-dom/src/server/**/*.js',
199
- 'packages/react-dom/src/shared/**/*.js',
200
- 'packages/shared/**/*.js',
201
- ],
85
+ entry: 'react-dom/server.browser',
86
+ global: 'ReactDOMServer',
87
+ externals: ['react'],
88
},
89
90
{
205
- babelOpts: babelOptsReact,
91
+ label: 'dom-server-node',
92
bundleTypes: [NODE_DEV, NODE_PROD],
207
- config: {
208
- destDir: 'build/',
209
- globals: {
210
- react: 'React',
211
- },
212
- moduleName: 'ReactDOMNodeStream',
213
- sourceMap: false,
214
- },
215
- entry: 'packages/react-dom/server.js',
216
- externals: ['prop-types', 'prop-types/checkPropTypes', 'stream'],
93
moduleType: RENDERER,
218
- label: 'dom-server-server-node',
219
- manglePropertiesOnProd: false,
220
- name: 'react-dom/server.node',
221
- paths: [
222
- 'packages/events/**/*.js',
223
- 'packages/react-dom/*.js',
224
- 'packages/react-dom/src/server/**/*.js',
225
- 'packages/react-dom/src/shared/**/*.js',
226
- 'packages/shared/**/*.js',
227
- ],
94
+ entry: 'react-dom/server.node',
95
+ externals: ['react', 'stream'],
96
},
97
98
/******* React ART *******/
99
{
232
- babelOpts: babelOptsReactART,
233
- // TODO: we merge react-art repo into this repo so the NODE_DEV and NODE_PROD
234
- // builds sync up to the building of the package directories
100
+ label: 'art',
101
bundleTypes: [UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD],
236
- config: {
237
- destDir: 'build/',
238
- globals: {
239
- react: 'React',
240
- },
241
- moduleName: 'ReactART',
242
- sourceMap: false,
243
- },
244
- entry: 'packages/react-art/index.js',
245
- externals: [
246
- 'art/modes/current',
247
- 'art/modes/fast-noSideEffects',
248
- 'art/core/transform',
249
- 'prop-types/checkPropTypes',
250
- 'react-dom',
251
- ],
252
- fbEntry: 'packages/react-art/index.js',
253
- hasteName: 'ReactART',
102
moduleType: RENDERER,
255
- label: 'art-fiber',
256
- manglePropertiesOnProd: false,
257
- name: 'react-art',
258
- paths: [
259
- 'packages/react-art/**/*.js',
260
- 'packages/react-reconciler/**/*.js',
261
- 'packages/shared/**/*.js',
262
- ],
103
+ entry: 'react-art',
104
+ global: 'ReactART',
105
+ externals: ['react'],
106
+ babel: opts =>
107
+ Object.assign({}, opts, {
108
+ // Include JSX
109
+ presets: opts.presets.concat([require.resolve('babel-preset-react')]),
110
+ }),
111
},
112
113
/******* React Native *******/
114
{
267
- babelOpts: babelOptsReact,
115
+ label: 'native',
116
bundleTypes: [RN_DEV, RN_PROD],
269
- config: {
270
- destDir: 'build/',
271
- moduleName: 'ReactNativeFiber',
272
- sourceMap: false,
273
- },
274
- entry: 'packages/react-native-renderer/index.js',
117
+ moduleType: RENDERER,
118
+ entry: 'react-native-renderer',
119
+ global: 'ReactNativeRenderer',
120
externals: [
121
'ExceptionsManager',
122
'InitializeCore',
128
'deepDiffer',
129
'deepFreezeAndThrowOnMutationInDev',
130
'flattenStyle',
286
- 'prop-types/checkPropTypes',
287
- ],
288
- hasteName: 'ReactNativeRenderer',
289
- moduleType: RENDERER,
290
- label: 'native-fiber',
291
- manglePropertiesOnProd: false,
292
- name: 'react-native-renderer',
293
- paths: [
294
- 'packages/events/**/*.js',
295
- 'packages/react-native-renderer/**/*.js',
296
- 'packages/react-reconciler/**/*.js',
297
- 'packages/shared/**/*.js',
131
],
132
},
133
134
/******* React Native RT *******/
135
{
303
- babelOpts: babelOptsReact,
136
+ label: 'native-rt',
137
bundleTypes: [RN_DEV, RN_PROD],
305
- config: {
306
- destDir: 'build/',
307
- moduleName: 'ReactNativeRTFiber',
308
- sourceMap: false,
309
- },
310
- entry: 'packages/react-rt-renderer/index.js',
138
+ moduleType: RENDERER,
139
+ entry: 'react-rt-renderer',
140
+ global: 'ReactRTRenderer',
141
externals: [
142
'ExceptionsManager',
143
'InitializeCore',
144
'Platform',
145
'BatchedBridge',
146
'RTManager',
317
- 'prop-types/checkPropTypes',
318
- ],
319
- hasteName: 'ReactRTRenderer',
320
- moduleType: RENDERER,
321
- isRenderer: true,
322
- label: 'native-rt-fiber',
323
- manglePropertiesOnProd: false,
324
- name: 'react-native-rt-renderer',
325
- paths: [
326
- 'packages/events/**/*.js',
327
- 'packages/react-native-renderer/**/*.js', // This is used since we reuse the error dialog code
328
- 'packages/react-rt-renderer/**/*.js',
329
- 'packages/react-reconciler/**/*.js',
330
- 'packages/shared/**/*.js',
147
],
148
},
149
150
/******* React Native CS *******/
151
{
336
- babelOpts: babelOptsReact,
152
+ label: 'native-cs',
153
bundleTypes: [RN_DEV, RN_PROD],
338
- config: {
339
- destDir: 'build/',
340
- moduleName: 'ReactNativeCSFiber',
341
- sourceMap: false,
342
- },
343
- entry: 'packages/react-cs-renderer/index.js',
344
- externals: ['prop-types/checkPropTypes'],
345
- hasteName: 'ReactCSRenderer',
154
moduleType: RENDERER,
347
- isRenderer: true,
348
- label: 'native-cs-fiber',
349
- manglePropertiesOnProd: false,
350
- name: 'react-native-cs-renderer',
351
- featureFlags: 'packages/react-cs-renderer/src/ReactNativeCSFeatureFlags',
352
- paths: [
353
- 'packages/events/**/*.js',
354
- 'packages/react-native-renderer/**/*.js', // This is used since we reuse the error dialog code
355
- 'packages/react-cs-renderer/**/*.js',
356
- 'packages/react-reconciler/**/*.js',
357
- 'packages/shared/**/*.js',
358
- ],
155
+ entry: 'react-cs-renderer',
156
+ global: 'ReactCSRenderer',
157
+ externals: [],
158
+ featureFlags: 'react-cs-renderer/src/ReactNativeCSFeatureFlags',
159
},
160
161
/******* React Test Renderer *******/
162
{
363
- babelOpts: babelOptsReact,
163
+ label: 'test',
164
bundleTypes: [FB_DEV, NODE_DEV, NODE_PROD],
365
- config: {
366
- destDir: 'build/',
367
- moduleName: 'ReactTestRenderer',
368
- sourceMap: false,
369
- },
370
- entry: 'packages/react-test-renderer/index.js',
371
- externals: ['prop-types/checkPropTypes'],
372
- fbEntry: 'packages/react-test-renderer/index.js',
373
- hasteName: 'ReactTestRenderer',
165
moduleType: RENDERER,
375
- label: 'test-fiber',
376
- manglePropertiesOnProd: false,
377
- name: 'react-test-renderer',
378
- paths: [
379
- 'packages/events/**/*.js',
380
- 'packages/react-test-renderer/**/*.js',
381
- 'packages/react-reconciler/**/*.js',
382
- 'packages/shared/**/*.js',
383
- ],
166
+ entry: 'react-test-renderer',
167
+ global: 'ReactTestRenderer',
168
+ externals: ['react'],
169
},
170
+
171
{
386
- babelOpts: babelOptsReact,
172
+ label: 'test-shallow',
173
bundleTypes: [FB_DEV, NODE_DEV, NODE_PROD],
388
- config: {
389
- destDir: 'build/',
390
- moduleName: 'ReactShallowRenderer',
391
- sourceMap: false,
392
- },
393
- entry: 'packages/react-test-renderer/shallow.js',
394
- externals: [
395
- 'react-dom',
396
- 'prop-types/checkPropTypes',
397
- 'react-test-renderer',
398
- ],
399
- fbEntry: 'packages/react-test-renderer/shallow.js',
400
- hasteName: 'ReactShallowRenderer',
174
moduleType: RENDERER,
402
- label: 'shallow-renderer',
403
- manglePropertiesOnProd: false,
404
- name: 'react-test-renderer/shallow',
405
- paths: ['packages/react-test-renderer/**/*.js', 'packages/shared/**/*.js'],
175
+ entry: 'react-test-renderer/shallow',
176
+ global: 'ReactShallowRenderer',
177
+ externals: ['react'],
178
},
179
180
/******* React Noop Renderer (used only for fixtures/fiber-debugger) *******/
181
{
410
- babelOpts: babelOptsReact,
182
+ label: 'noop',
183
bundleTypes: [NODE_DEV],
412
- config: {
413
- destDir: 'build/',
414
- globals: {
415
- react: 'React',
416
- },
417
- moduleName: 'ReactNoop',
418
- sourceMap: false,
419
- },
420
- entry: 'packages/react-noop-renderer/index.js',
421
- externals: ['prop-types/checkPropTypes', 'jest-matchers'],
184
moduleType: RENDERER,
423
- label: 'noop-fiber',
424
- manglePropertiesOnProd: false,
425
- name: 'react-noop-renderer',
426
- paths: [
427
- 'packages/react-noop/**/*.js',
428
- 'packages/react-reconciler/**/*.js',
429
- 'packages/shared/**/*.js',
430
- ],
185
+ entry: 'react-noop-renderer',
186
+ global: 'ReactNoopRenderer',
187
+ externals: ['react', 'jest-matchers'],
188
},
189
190
/******* React Reconciler *******/
191
{
435
- babelOpts: babelOptsReact,
192
+ label: 'react-reconciler',
193
bundleTypes: [NODE_DEV, NODE_PROD],
437
- config: {
438
- destDir: 'build/',
439
- globals: {
440
- react: 'React',
441
- },
442
- moduleName: 'ReactReconciler',
443
- sourceMap: false,
444
- },
445
- entry: 'packages/react-reconciler/index.js',
446
- externals: ['react', 'prop-types/checkPropTypes'],
194
moduleType: RECONCILER,
448
- label: 'react-reconciler',
449
- manglePropertiesOnProd: false,
450
- name: 'react-reconciler',
451
- paths: ['packages/react-reconciler/**/*.js', 'packages/shared/**/*.js'],
195
+ entry: 'react-reconciler',
196
+ global: 'ReactReconciler',
197
+ externals: ['react'],
198
},
199
];
200