@@ -4,20 +4,19 @@ const rollup = require('rollup').rollup;
44const babel = require ( 'rollup-plugin-babel' ) ;
55const closure = require ( 'rollup-plugin-closure-compiler-js' ) ;
66const commonjs = require ( 'rollup-plugin-commonjs' ) ;
7- const alias = require ( 'rollup-plugin-alias' ) ;
87const prettier = require ( 'rollup-plugin-prettier' ) ;
98const replace = require ( 'rollup-plugin-replace' ) ;
109const stripBanner = require ( 'rollup-plugin-strip-banner' ) ;
1110const chalk = require ( 'chalk' ) ;
12- const join = require ( 'path' ) . join ;
13- const resolve = require ( 'path' ) . resolve ;
14- const resolvePlugin = require ( 'rollup-plugin-node-resolve' ) ;
11+ const path = require ( 'path' ) ;
12+ const resolve = require ( 'rollup-plugin-node-resolve' ) ;
1513const fs = require ( 'fs' ) ;
1614const rimraf = require ( 'rimraf' ) ;
1715const argv = require ( 'minimist' ) ( process . argv . slice ( 2 ) ) ;
1816const Modules = require ( './modules' ) ;
1917const Bundles = require ( './bundles' ) ;
2018const sizes = require ( './plugins/sizes-plugin' ) ;
19+ const useForks = require ( './plugins/use-forks-plugin' ) ;
2120const Stats = require ( './stats' ) ;
2221const extractErrorCodes = require ( '../error-codes/extract-errors' ) ;
2322const syncReactDom = require ( './sync' ) . syncReactDom ;
@@ -88,7 +87,7 @@ function getBabelConfig(updateBabelOptions, bundleType, filename) {
8887 return Object . assign ( { } , options , {
8988 plugins : options . plugins . concat ( [
9089 // Use object-assign polyfill in open source
91- resolve ( './scripts/babel/transform-object-assign-require' ) ,
90+ path . resolve ( './scripts/babel/transform-object-assign-require' ) ,
9291 // Minify invariant messages
9392 require ( '../error-codes/replace-invariant-error-codes' ) ,
9493 // Wrap warning() calls in a __DEV__ check so they are stripped from production.
@@ -113,11 +112,11 @@ function handleRollupWarnings(warning) {
113112 ) ;
114113 }
115114 const importSideEffects = Modules . getImportSideEffects ( ) ;
116- const path = match [ 1 ] ;
117- if ( typeof importSideEffects [ path ] !== 'boolean' ) {
115+ const externalModule = match [ 1 ] ;
116+ if ( typeof importSideEffects [ externalModule ] !== 'boolean' ) {
118117 throw new Error (
119118 'An external module "' +
120- path +
119+ externalModule +
121120 '" is used in a DEV-only code path ' +
122121 'but we do not know if it is safe to omit an unused require() to it in production. ' +
123122 'Please add it to the `importSideEffects` list in `scripts/rollup/modules.js`.'
@@ -218,11 +217,10 @@ function getPlugins(
218217 bundleType ,
219218 globalName ,
220219 moduleType ,
221- modulesToStub ,
222- featureFlags
220+ modulesToStub
223221) {
224222 const findAndRecordErrorCodes = extractErrorCodes ( errorCodeOpts ) ;
225- const shims = Modules . getShims ( bundleType , entry , featureFlags ) ;
223+ const forks = Modules . getForks ( bundleType , entry ) ;
226224 const isProduction = isProductionBundleType ( bundleType ) ;
227225 const isInGlobalScope = bundleType === UMD_DEV || bundleType === UMD_PROD ;
228226 const isFBBundle = bundleType === FB_DEV || bundleType === FB_PROD ;
@@ -236,10 +234,10 @@ function getPlugins(
236234 return source ;
237235 } ,
238236 } ,
239- // Shim some modules for www custom behavior and optimizations .
240- alias ( shims ) ,
237+ // Shim any modules that need forking in this environment .
238+ useForks ( forks ) ,
241239 // Use Node resolution mechanism.
242- resolvePlugin ( {
240+ resolve ( {
243241 skip : externals ,
244242 } ) ,
245243 // Remove license headers from individual modules
@@ -384,8 +382,7 @@ async function createBundle(bundle, bundleType) {
384382 bundleType ,
385383 bundle . global ,
386384 bundle . moduleType ,
387- bundle . modulesToStub ,
388- bundle . featureFlags
385+ bundle . modulesToStub
389386 ) ,
390387 // We can't use getters in www.
391388 legacy : bundleType === FB_DEV || bundleType === FB_PROD ,
@@ -439,9 +436,9 @@ rimraf('build', async () => {
439436 // create a new build directory
440437 fs . mkdirSync ( 'build' ) ;
441438 // create the packages folder for NODE+UMD bundles
442- fs . mkdirSync ( join ( 'build' , 'packages' ) ) ;
439+ fs . mkdirSync ( path . join ( 'build' , 'packages' ) ) ;
443440 // create the dist folder for UMD bundles
444- fs . mkdirSync ( join ( 'build' , 'dist' ) ) ;
441+ fs . mkdirSync ( path . join ( 'build' , 'dist' ) ) ;
445442
446443 await Packaging . createFacebookWWWBuild ( ) ;
447444 await Packaging . createReactNativeBuild ( ) ;
@@ -462,11 +459,11 @@ rimraf('build', async () => {
462459 }
463460
464461 if ( syncFbsource ) {
465- await syncReactNative ( join ( 'build' , 'react-native' ) , syncFbsource ) ;
466- await syncReactNativeRT ( join ( 'build' , 'react-rt' ) , syncFbsource ) ;
467- await syncReactNativeCS ( join ( 'build' , 'react-cs' ) , syncFbsource ) ;
462+ await syncReactNative ( path . join ( 'build' , 'react-native' ) , syncFbsource ) ;
463+ await syncReactNativeRT ( path . join ( 'build' , 'react-rt' ) , syncFbsource ) ;
464+ await syncReactNativeCS ( path . join ( 'build' , 'react-cs' ) , syncFbsource ) ;
468465 } else if ( syncWww ) {
469- await syncReactDom ( join ( 'build' , 'facebook-www' ) , syncWww ) ;
466+ await syncReactDom ( path . join ( 'build' , 'facebook-www' ) , syncWww ) ;
470467 }
471468
472469 console . log ( Stats . printResults ( ) ) ;
0 commit comments