Skip to content

Commit dc02c9e

Browse files
committed
Add FB_WWW_MODERN bundle types
1 parent 517de74 commit dc02c9e

File tree

5 files changed

+132
-4
lines changed

5 files changed

+132
-4
lines changed

scripts/rollup/build.js

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ const {
5454
FB_WWW_DEV,
5555
FB_WWW_PROD,
5656
FB_WWW_PROFILING,
57+
FB_WWW_MODERN_DEV,
58+
FB_WWW_MODERN_PROD,
59+
FB_WWW_MODERN_PROFILING,
5760
RN_OSS_DEV,
5861
RN_OSS_PROD,
5962
RN_OSS_PROFILING,
@@ -139,6 +142,9 @@ function getBabelConfig(
139142
case FB_WWW_DEV:
140143
case FB_WWW_PROD:
141144
case FB_WWW_PROFILING:
145+
case FB_WWW_MODERN_DEV:
146+
case FB_WWW_MODERN_PROD:
147+
case FB_WWW_MODERN_PROFILING:
142148
return Object.assign({}, options, {
143149
plugins: options.plugins.concat([
144150
// Minify invariant messages
@@ -214,6 +220,9 @@ function getFormat(bundleType) {
214220
case FB_WWW_DEV:
215221
case FB_WWW_PROD:
216222
case FB_WWW_PROFILING:
223+
case FB_WWW_MODERN_DEV:
224+
case FB_WWW_MODERN_PROD:
225+
case FB_WWW_MODERN_PROFILING:
217226
case RN_OSS_DEV:
218227
case RN_OSS_PROD:
219228
case RN_OSS_PROFILING:
@@ -244,14 +253,20 @@ function getFilename(name, globalName, bundleType) {
244253
case RN_OSS_DEV:
245254
case RN_FB_DEV:
246255
return `${globalName}-dev.js`;
256+
case FB_WWW_MODERN_DEV:
257+
return `${globalName}Modern-dev.js`;
247258
case FB_WWW_PROD:
248259
case RN_OSS_PROD:
249260
case RN_FB_PROD:
250261
return `${globalName}-prod.js`;
262+
case FB_WWW_MODERN_PROD:
263+
return `${globalName}Modern-prod.js`;
251264
case FB_WWW_PROFILING:
252265
case RN_FB_PROFILING:
253266
case RN_OSS_PROFILING:
254267
return `${globalName}-profiling.js`;
268+
case FB_WWW_MODERN_PROFILING:
269+
return `${globalName}Modern-profiling.js`;
255270
}
256271
}
257272

@@ -260,6 +275,7 @@ function isProductionBundleType(bundleType) {
260275
case UMD_DEV:
261276
case NODE_DEV:
262277
case FB_WWW_DEV:
278+
case FB_WWW_MODERN_DEV:
263279
case RN_OSS_DEV:
264280
case RN_FB_DEV:
265281
return false;
@@ -269,6 +285,8 @@ function isProductionBundleType(bundleType) {
269285
case NODE_PROFILING:
270286
case FB_WWW_PROD:
271287
case FB_WWW_PROFILING:
288+
case FB_WWW_MODERN_PROD:
289+
case FB_WWW_MODERN_PROFILING:
272290
case RN_OSS_PROD:
273291
case RN_OSS_PROFILING:
274292
case RN_FB_PROD:
@@ -283,6 +301,8 @@ function isProfilingBundleType(bundleType) {
283301
switch (bundleType) {
284302
case FB_WWW_DEV:
285303
case FB_WWW_PROD:
304+
case FB_WWW_MODERN_DEV:
305+
case FB_WWW_MODERN_PROD:
286306
case NODE_DEV:
287307
case NODE_PROD:
288308
case RN_FB_DEV:
@@ -293,6 +313,7 @@ function isProfilingBundleType(bundleType) {
293313
case UMD_PROD:
294314
return false;
295315
case FB_WWW_PROFILING:
316+
case FB_WWW_MODERN_PROFILING:
296317
case NODE_PROFILING:
297318
case RN_FB_PROFILING:
298319
case RN_OSS_PROFILING:
@@ -336,10 +357,15 @@ function getPlugins(
336357
bundleType === UMD_DEV ||
337358
bundleType === UMD_PROD ||
338359
bundleType === UMD_PROFILING;
339-
const isFBBundle =
360+
const isFBClassicBundle =
340361
bundleType === FB_WWW_DEV ||
341362
bundleType === FB_WWW_PROD ||
342363
bundleType === FB_WWW_PROFILING;
364+
const isFBModernBundle =
365+
bundleType === FB_WWW_MODERN_DEV ||
366+
bundleType === FB_WWW_MODERN_PROD ||
367+
bundleType === FB_WWW_MODERN_PROFILING;
368+
const isFBBundle = isFBClassicBundle || isFBModernBundle;
343369
const isRNBundle =
344370
bundleType === RN_OSS_DEV ||
345371
bundleType === RN_OSS_PROD ||
@@ -485,10 +511,15 @@ async function createBundle(bundle, bundleType) {
485511
const packageName = Packaging.getPackageName(bundle.entry);
486512

487513
let resolvedEntry = require.resolve(bundle.entry);
488-
const isFBBundle =
514+
const isFBClassicBundle =
489515
bundleType === FB_WWW_DEV ||
490516
bundleType === FB_WWW_PROD ||
491517
bundleType === FB_WWW_PROFILING;
518+
const isFBModernBundle =
519+
bundleType === FB_WWW_MODERN_DEV ||
520+
bundleType === FB_WWW_MODERN_PROD ||
521+
bundleType === FB_WWW_MODERN_PROFILING;
522+
const isFBBundle = isFBClassicBundle || isFBModernBundle;
492523
if (isFBBundle) {
493524
const resolvedFBEntry = resolvedEntry.replace('.js', '.fb.js');
494525
if (fs.existsSync(resolvedFBEntry)) {
@@ -545,7 +576,10 @@ async function createBundle(bundle, bundleType) {
545576
legacy:
546577
bundleType === FB_WWW_DEV ||
547578
bundleType === FB_WWW_PROD ||
548-
bundleType === FB_WWW_PROFILING,
579+
bundleType === FB_WWW_PROFILING ||
580+
bundleType === FB_WWW_MODERN_DEV ||
581+
bundleType === FB_WWW_MODERN_PROD ||
582+
bundleType === FB_WWW_MODERN_PROFILING,
549583
};
550584
const [mainOutputPath, ...otherOutputPaths] = Packaging.getBundleOutputPaths(
551585
bundleType,
@@ -695,6 +729,9 @@ async function buildEverything() {
695729
[bundle, FB_WWW_DEV],
696730
[bundle, FB_WWW_PROD],
697731
[bundle, FB_WWW_PROFILING],
732+
[bundle, FB_WWW_MODERN_DEV],
733+
[bundle, FB_WWW_MODERN_PROD],
734+
[bundle, FB_WWW_MODERN_PROFILING],
698735
[bundle, RN_FB_DEV],
699736
[bundle, RN_FB_PROD],
700737
[bundle, RN_FB_PROFILING]

scripts/rollup/bundles.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ const bundleTypes = {
1010
FB_WWW_DEV: 'FB_WWW_DEV',
1111
FB_WWW_PROD: 'FB_WWW_PROD',
1212
FB_WWW_PROFILING: 'FB_WWW_PROFILING',
13+
FB_WWW_MODERN_DEV: 'FB_WWW_MODERN_DEV',
14+
FB_WWW_MODERN_PROD: 'FB_WWW_MODERN_PROD',
15+
FB_WWW_MODERN_PROFILING: 'FB_WWW_MODERN_PROFILING',
1316
RN_OSS_DEV: 'RN_OSS_DEV',
1417
RN_OSS_PROD: 'RN_OSS_PROD',
1518
RN_OSS_PROFILING: 'RN_OSS_PROFILING',
@@ -28,6 +31,9 @@ const {
2831
FB_WWW_DEV,
2932
FB_WWW_PROD,
3033
FB_WWW_PROFILING,
34+
FB_WWW_MODERN_DEV,
35+
FB_WWW_MODERN_PROD,
36+
FB_WWW_MODERN_PROFILING,
3137
RN_OSS_DEV,
3238
RN_OSS_PROD,
3339
RN_OSS_PROFILING,
@@ -88,6 +94,9 @@ const bundles = [
8894
FB_WWW_DEV,
8995
FB_WWW_PROD,
9096
FB_WWW_PROFILING,
97+
FB_WWW_MODERN_DEV,
98+
FB_WWW_MODERN_PROD,
99+
FB_WWW_MODERN_PROFILING,
91100
],
92101
moduleType: RENDERER,
93102
entry: 'react-dom',

scripts/rollup/forks.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ const {
1010
FB_WWW_DEV,
1111
FB_WWW_PROD,
1212
FB_WWW_PROFILING,
13+
FB_WWW_MODERN_DEV,
14+
FB_WWW_MODERN_PROD,
15+
FB_WWW_MODERN_PROFILING,
1316
RN_OSS_DEV,
1417
RN_OSS_PROD,
1518
RN_OSS_PROFILING,
@@ -103,6 +106,9 @@ const forks = Object.freeze({
103106
case FB_WWW_DEV:
104107
case FB_WWW_PROD:
105108
case FB_WWW_PROFILING:
109+
case FB_WWW_MODERN_DEV:
110+
case FB_WWW_MODERN_PROD:
111+
case FB_WWW_MODERN_PROFILING:
106112
return 'shared/forks/ReactFeatureFlags.test-renderer.www.js';
107113
}
108114
return 'shared/forks/ReactFeatureFlags.test-renderer.js';
@@ -115,6 +121,9 @@ const forks = Object.freeze({
115121
case FB_WWW_DEV:
116122
case FB_WWW_PROD:
117123
case FB_WWW_PROFILING:
124+
case FB_WWW_MODERN_DEV:
125+
case FB_WWW_MODERN_PROD:
126+
case FB_WWW_MODERN_PROFILING:
118127
return 'shared/forks/ReactFeatureFlags.www.js';
119128
}
120129
}
@@ -163,7 +172,10 @@ const forks = Object.freeze({
163172
if (
164173
bundleType === FB_WWW_DEV ||
165174
bundleType === FB_WWW_PROD ||
166-
bundleType === FB_WWW_PROFILING
175+
bundleType === FB_WWW_PROFILING ||
176+
bundleType === FB_WWW_MODERN_DEV ||
177+
bundleType === FB_WWW_MODERN_PROD ||
178+
bundleType === FB_WWW_MODERN_PROFILING
167179
) {
168180
return 'scheduler/src/forks/SchedulerFeatureFlags.www.js';
169181
}
@@ -185,6 +197,7 @@ const forks = Object.freeze({
185197
'shared/consoleWithStackDev': (bundleType, entry) => {
186198
switch (bundleType) {
187199
case FB_WWW_DEV:
200+
case FB_WWW_MODERN_DEV:
188201
return 'shared/forks/consoleWithStackDev.www.js';
189202
default:
190203
return null;
@@ -198,6 +211,9 @@ const forks = Object.freeze({
198211
case FB_WWW_DEV:
199212
case FB_WWW_PROD:
200213
case FB_WWW_PROFILING:
214+
case FB_WWW_MODERN_DEV:
215+
case FB_WWW_MODERN_PROD:
216+
case FB_WWW_MODERN_PROFILING:
201217
return 'react/src/forks/ReactCurrentOwner.www.js';
202218
default:
203219
return null;
@@ -211,6 +227,9 @@ const forks = Object.freeze({
211227
case FB_WWW_DEV:
212228
case FB_WWW_PROD:
213229
case FB_WWW_PROFILING:
230+
case FB_WWW_MODERN_DEV:
231+
case FB_WWW_MODERN_PROD:
232+
case FB_WWW_MODERN_PROFILING:
214233
return 'react/src/forks/ReactCurrentDispatcher.www.js';
215234
default:
216235
return null;
@@ -234,6 +253,9 @@ const forks = Object.freeze({
234253
case FB_WWW_DEV:
235254
case FB_WWW_PROD:
236255
case FB_WWW_PROFILING:
256+
case FB_WWW_MODERN_DEV:
257+
case FB_WWW_MODERN_PROD:
258+
case FB_WWW_MODERN_PROFILING:
237259
return 'shared/forks/invokeGuardedCallbackImpl.www.js';
238260
default:
239261
return null;
@@ -246,6 +268,9 @@ const forks = Object.freeze({
246268
case FB_WWW_DEV:
247269
case FB_WWW_PROD:
248270
case FB_WWW_PROFILING:
271+
case FB_WWW_MODERN_DEV:
272+
case FB_WWW_MODERN_PROD:
273+
case FB_WWW_MODERN_PROFILING:
249274
// Use the www fork which shows an error dialog.
250275
return 'react-reconciler/src/forks/ReactFiberErrorDialog.www.js';
251276
case RN_OSS_DEV:
@@ -382,6 +407,9 @@ const forks = Object.freeze({
382407
case FB_WWW_DEV:
383408
case FB_WWW_PROD:
384409
case FB_WWW_PROFILING:
410+
case FB_WWW_MODERN_DEV:
411+
case FB_WWW_MODERN_PROD:
412+
case FB_WWW_MODERN_PROFILING:
385413
// Use the www fork which is integrated with TimeSlice profiling.
386414
return 'react-dom/src/events/forks/EventListener-www.js';
387415
default:

scripts/rollup/packaging.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ const {
1919
FB_WWW_DEV,
2020
FB_WWW_PROD,
2121
FB_WWW_PROFILING,
22+
FB_WWW_MODERN_DEV,
23+
FB_WWW_MODERN_PROD,
24+
FB_WWW_MODERN_PROFILING,
2225
RN_OSS_DEV,
2326
RN_OSS_PROD,
2427
RN_OSS_PROFILING,
@@ -50,6 +53,9 @@ function getBundleOutputPaths(bundleType, filename, packageName) {
5053
case FB_WWW_DEV:
5154
case FB_WWW_PROD:
5255
case FB_WWW_PROFILING:
56+
case FB_WWW_MODERN_DEV:
57+
case FB_WWW_MODERN_PROD:
58+
case FB_WWW_MODERN_PROFILING:
5359
return [`build/facebook-www/${filename}`];
5460
case RN_OSS_DEV:
5561
case RN_OSS_PROD:

scripts/rollup/wrappers.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ const {
1313
FB_WWW_DEV,
1414
FB_WWW_PROD,
1515
FB_WWW_PROFILING,
16+
FB_WWW_MODERN_DEV,
17+
FB_WWW_MODERN_PROD,
18+
FB_WWW_MODERN_PROFILING,
1619
RN_OSS_DEV,
1720
RN_OSS_PROD,
1821
RN_OSS_PROFILING,
@@ -169,6 +172,51 @@ ${license}
169172
* @preserve-invariant-messages
170173
*/
171174
175+
${source}`;
176+
},
177+
178+
/****************** FB_WWW_MODERN_DEV ******************/
179+
[FB_WWW_MODERN_DEV](source, globalName, filename, moduleType) {
180+
return `/**
181+
${license}
182+
*
183+
* @noflow
184+
* @preventMunge
185+
* @preserve-invariant-messages
186+
*/
187+
188+
'use strict';
189+
190+
if (__DEV__) {
191+
(function() {
192+
${source}
193+
})();
194+
}`;
195+
},
196+
197+
/****************** FB_WWW_MODERN_PROD ******************/
198+
[FB_WWW_MODERN_PROD](source, globalName, filename, moduleType) {
199+
return `/**
200+
${license}
201+
*
202+
* @noflow
203+
* @preventMunge
204+
* @preserve-invariant-messages
205+
*/
206+
207+
${source}`;
208+
},
209+
210+
/****************** FB_WWW_MODERN_PROFILING ******************/
211+
[FB_WWW_MODERN_PROFILING](source, globalName, filename, moduleType) {
212+
return `/**
213+
${license}
214+
*
215+
* @noflow
216+
* @preventMunge
217+
* @preserve-invariant-messages
218+
*/
219+
172220
${source}`;
173221
},
174222

0 commit comments

Comments
 (0)