From 7494e0485df0fd37ebd52b34f41c55737270ba54 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 25 May 2017 18:56:18 +0100 Subject: [PATCH] Don't strip error messages from builds (#9778) --- scripts/rollup/build.js | 27 ++++++++++----------------- scripts/rollup/bundles.js | 11 +++++------ scripts/rollup/results.json | 16 ++++++++-------- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index 55cb7af7b2..f1ddb7d8cf 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -109,28 +109,21 @@ function getFooter(bundleType) { } function updateBabelConfig(babelOpts, bundleType) { - let newOpts; - switch (bundleType) { case UMD_DEV: case UMD_PROD: case NODE_DEV: case NODE_PROD: - case RN_DEV: - case RN_PROD: - newOpts = Object.assign({}, babelOpts); - // we add the objectAssign transform for these bundles - newOpts.plugins = newOpts.plugins.slice(); - newOpts.plugins.push( - resolve('./scripts/babel/transform-object-assign-require') - ); - return newOpts; - case FB_DEV: - case FB_PROD: - newOpts = Object.assign({}, babelOpts); - // for FB, we don't want the devExpressionWithCodes plugin to run - newOpts.plugins = []; - return newOpts; + return Object.assign({}, babelOpts, { + plugins: babelOpts.plugins.concat([ + // Use object-assign polyfill in open source + resolve('./scripts/babel/transform-object-assign-require'), + // Replace __DEV__ with process.env.NODE_ENV and minify invariant messages + require('../error-codes/dev-expression-with-codes'), + ]) + }); + default: + return babelOpts; } } diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index dcce33ae68..c36751f594 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -1,7 +1,5 @@ 'use strict'; -const devExpressionWithCodes = require('../error-codes/dev-expression-with-codes'); - const bundleTypes = { UMD_DEV: 'UMD_DEV', UMD_PROD: 'UMD_PROD', @@ -24,14 +22,15 @@ const RN_PROD = bundleTypes.RN_PROD; const babelOptsReact = { exclude: 'node_modules/**', - plugins: [ - devExpressionWithCodes, // this pass has to run before `rewrite-modules` - ], + presets: [], + plugins: [], }; const babelOptsReactART = Object.assign({}, babelOptsReact, { // Include JSX - presets: [require.resolve('babel-preset-react')], + presets: babelOptsReact.presets.concat([ + require.resolve('babel-preset-react'), + ]), }); const bundles = [ diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 454be180b2..d82b6674b4 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -165,20 +165,20 @@ "gzip": 83320 }, "ReactNativeStack-dev.js (RN_DEV)": { - "size": 183071, - "gzip": 35604 + "size": 182999, + "gzip": 35650 }, "ReactNativeStack-prod.js (RN_PROD)": { - "size": 131236, - "gzip": 24775 + "size": 134766, + "gzip": 25923 }, "ReactNativeFiber-dev.js (RN_DEV)": { - "size": 271213, - "gzip": 49113 + "size": 271047, + "gzip": 49114 }, "ReactNativeFiber-prod.js (RN_PROD)": { - "size": 207321, - "gzip": 35756 + "size": 208977, + "gzip": 36295 } } } \ No newline at end of file