From 02b70bc3c536bb62f688c8a661c852f5621fecf9 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Thu, 23 Mar 2017 15:02:44 +0000 Subject: [PATCH] renamed bundles and paths --- scripts/rollup/build.js | 51 +++++++++++++++++++++++++++------------ scripts/rollup/bundles.js | 26 ++++++++++---------- 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index 54e09d5e42..95ac95fed4 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -45,6 +45,9 @@ function getAliases(paths, bundleType, isRenderer) { ); } +// the facebook-www directory +const facebookWWW = 'facebook-www'; + function getBanner(bundleType, hastName) { if (bundleType === bundleTypes.FB || bundleType === bundleTypes.RN) { return ( @@ -99,9 +102,16 @@ function handleRollupWarnings(warning) { } function updateBundleConfig(config, filename, format, bundleType, hastName) { + let dest = config.destDir + filename; + + if (bundleType === bundleTypes.FB) { + dest = `${config.destDir}/${facebookWWW}/${filename}`; + } else if (bundleType === bundleTypes.UMD_DEV || bundleType === bundleTypes.UMD_PROD) { + dest = `${config.destDir}/dist/${filename}`; + } return Object.assign({}, config, { banner: getBanner(bundleType, hastName), - dest: config.destDir + filename, + dest, format, interop: false, }); @@ -130,9 +140,9 @@ function getFormat(bundleType) { function getFilename(name, hasteName, bundleType) { switch (bundleType) { case bundleTypes.UMD_DEV: - return `${name}.umd-dev.js`; + return `${name}.dev.js`; case bundleTypes.UMD_PROD: - return `${name}.umd-prod.min.js`; + return `${name}.prod.min.js`; case bundleTypes.NODE_DEV: return `${name}.node-dev.js`; case bundleTypes.NODE_PROD: @@ -199,7 +209,11 @@ function copyNodePackageTemplate(packageName) { } function copyBundleIntoNodePackage(packageName, filename, bundleType) { - const from = resolve(`./build/rollup/${filename}`); + let from = resolve(`./build/rollup/${filename}`); + + if (bundleType === bundleTypes.UMD_DEV || bundleType === bundleTypes.UMD_PROD) { + from = resolve(`./build/rollup/dist/${filename}`); + } const packageDirectory = resolve(`./build/rollup/packages/${packageName}`); const to = `${packageDirectory}/${filename}`; @@ -310,20 +324,27 @@ function createBundle({ } // clear the build folder -rimraf(join('build', 'rollup'), () => { +rimraf(join('build', 'rollup'), async () => { // TODO: this line can go away once we remove rollup folder mkdirSync(resolve(`./build/rollup`)); - // create the packages folder + // create the packages folder for NODE+UMD bundles mkdirSync(resolve(`./build/rollup/packages/`)); - bundles.forEach(bundle => - Promise.resolve() - .then(() => createBundle(bundle, bundleTypes.UMD_DEV)) - .then(() => createBundle(bundle, bundleTypes.UMD_PROD)) - .then(() => createBundle(bundle, bundleTypes.NODE_DEV)) - .then(() => createBundle(bundle, bundleTypes.NODE_PROD)) - .then(() => createBundle(bundle, bundleTypes.FB)) - .then(() => createBundle(bundle, bundleTypes.RN)) - ); + // create the dist folder for UMD bundles + mkdirSync(resolve(`./build/rollup/dist/`)); + // create the facebookWWW folder for FB bundles + mkdirSync(resolve(`./build/rollup/${facebookWWW}/`)); + + // rather than run concurently, opt to run them serially + // this helps improve console/warning/error output + // and fixes a bunch of IO failures that sometimes occured + for (const bundle of bundles) { + await createBundle(bundle, bundleTypes.UMD_DEV); + await createBundle(bundle, bundleTypes.UMD_PROD); + await createBundle(bundle, bundleTypes.NODE_DEV); + await createBundle(bundle, bundleTypes.NODE_PROD); + await createBundle(bundle, bundleTypes.FB); + await createBundle(bundle, bundleTypes.RN); + } }); diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index 422ac48b9f..576205751e 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -38,7 +38,7 @@ const bundles = [ entry: 'src/umd/ReactUMDEntry.js', externals: [], fbEntry: 'src/fb/ReactFBEntry.js', - hasteName: 'React-fb', + hasteName: 'React-build', isRenderer: false, name: 'react', paths: [ @@ -57,7 +57,7 @@ const bundles = [ /******* React DOM *******/ { babelOpts: babelOptsReact, - bundleTypes: [UMD_DEV, UMD_PROD, FB], + bundleTypes: [FB], config: { destDir: 'build/rollup/', globals: { @@ -69,7 +69,7 @@ const bundles = [ entry: 'src/umd/ReactDOMUMDEntry.js', externals: [], fbEntry: 'src/fb/ReactDOMFBEntry.js', - hasteName: 'ReactDOMStack-fb', + hasteName: 'ReactDOMStack-build', isRenderer: true, name: 'react-dom-stack', paths: [ @@ -91,13 +91,13 @@ const bundles = [ globals: { 'react': 'React', }, - moduleName: 'ReactDOMFiber', + moduleName: 'ReactDOM', sourceMap: false, }, entry: 'src/renderers/dom/fiber/ReactDOMFiber.js', externals: [], fbEntry: 'src/fb/ReactDOMFiberFBEntry.js', - hasteName: 'ReactDOMFiber-fb', + hasteName: 'ReactDOMFiber-build', isRenderer: true, name: 'react-dom', paths: [ @@ -148,13 +148,13 @@ const bundles = [ babelOpts: babelOptsReactART, // TODO: we merge react-art repo into this repo so the NODE_DEV and NODE_PROD // builds sync up to the building of the package directories - bundleTypes: [UMD_DEV, UMD_PROD, FB], + bundleTypes: [FB], config: { destDir: 'build/rollup/', globals: { 'react': 'React', }, - moduleName: 'ReactARTStack', + moduleName: 'ReactART', sourceMap: false, }, entry: 'src/renderers/art/ReactARTStack.js', @@ -164,7 +164,7 @@ const bundles = [ 'art/core/transform', ], fbEntry: 'src/renderers/art/ReactARTStack.js', - hasteName: 'ReactARTStack', + hasteName: 'ReactARTStack-build', isRenderer: true, name: 'react-art', nodePackageName: 'react-art', @@ -188,7 +188,7 @@ const bundles = [ globals: { 'react': 'React', }, - moduleName: 'ReactARTFiber', + moduleName: 'ReactART', sourceMap: false, }, entry: 'src/renderers/art/ReactARTFiber.js', @@ -198,7 +198,7 @@ const bundles = [ 'art/core/transform', ], fbEntry: 'src/renderers/art/ReactARTFiber.js', - hasteName: 'ReactARTFiber', + hasteName: 'ReactARTFiber-build', isRenderer: true, name: 'react-art', paths: [ @@ -255,7 +255,7 @@ const bundles = [ entry: 'src/renderers/testing/ReactTestRendererFiber', externals: [], fbEntry: 'src/renderers/testing/ReactTestRendererFiber', - hasteName: 'ReactTestRendererFiber', + hasteName: 'ReactTestRendererFiber-build', isRenderer: true, name: 'react-test-renderer', paths: [ @@ -270,7 +270,7 @@ const bundles = [ { babelOpts: babelOptsReact, - bundleTypes: [NODE_DEV, FB], + bundleTypes: [FB], config: { destDir: 'build/rollup/', moduleName: 'ReactTestRenderer', @@ -279,7 +279,7 @@ const bundles = [ entry: 'src/renderers/testing/stack/ReactTestRendererStack', externals: [], fbEntry: 'src/renderers/testing/stack/ReactTestRendererStack', - hasteName: 'ReactTestRendererStack', + hasteName: 'ReactTestRendererStack-build', isRenderer: true, name: 'react-test-renderer-stack', paths: [