per bundle property mangling added

This commit is contained in:
Dominic Gannaway
2017-03-30 18:08:17 +01:00
parent e1fbc7a39d
commit 589305637a
2 changed files with 23 additions and 6 deletions
+14 -6
View File
@@ -60,7 +60,6 @@ function getAliases(paths, bundleType, isRenderer) {
// the facebook-www directory
const facebookWWW = 'facebook-www';
const enablePropertyMangling = false;
// bundle types for shorthand
const { UMD_DEV, UMD_PROD, NODE_DEV, NODE_PROD, FB_DEV, FB_PROD, RN } = bundleTypes;
@@ -201,7 +200,7 @@ const mangleRegex = (
new RegExp(`^(?${propertyMangleWhitelist.map(prop => `!${escapeStringRegexp(prop)}`).join('|') }$).*$`, 'g')
);
function uglifyConfig(mangle) {
function uglifyConfig(mangle, manglePropertiesOnProd) {
return {
warnings: false,
compress: {
@@ -218,7 +217,7 @@ function uglifyConfig(mangle) {
beautify: !mangle,
comments: !mangle,
},
mangleProperties: mangle && enablePropertyMangling ? {
mangleProperties: mangle && manglePropertiesOnProd ? {
ignore_quoted: true,
regex: mangleRegex,
} : false,
@@ -353,7 +352,7 @@ function createNodePackage(bundleType, packageName, filename) {
return Promise.resolve();
}
function getPlugins(entry, babelOpts, paths, filename, bundleType, isRenderer) {
function getPlugins(entry, babelOpts, paths, filename, bundleType, isRenderer, manglePropertiesOnProd) {
const plugins = [
replace(
Object.assign(
@@ -368,7 +367,7 @@ function getPlugins(entry, babelOpts, paths, filename, bundleType, isRenderer) {
];
if (bundleType === UMD_PROD || bundleType === NODE_PROD || bundleType === FB_PROD) {
plugins.push(
uglify(uglifyConfig(bundleType !== FB_PROD)),
uglify(uglifyConfig(bundleType !== FB_PROD, manglePropertiesOnProd)),
replace(
stripEnvVariables(true)
)
@@ -409,6 +408,7 @@ function createBundle({
bundleTypes: bundleTypesToUse,
isRenderer,
externals,
manglePropertiesOnProd,
}, bundleType) {
if ((inputBundleType && bundleType.indexOf(inputBundleType) === -1)
|| bundleTypesToUse.indexOf(bundleType) === -1) {
@@ -420,7 +420,15 @@ function createBundle({
entry: bundleType === FB_DEV || bundleType === FB_PROD ? fbEntry : entry,
external: getExternalModules(externals, bundleType, isRenderer),
onwarn: handleRollupWarnings,
plugins: getPlugins(entry, babelOpts, paths, filename, bundleType, isRenderer),
plugins: getPlugins(
entry,
babelOpts,
paths,
filename,
bundleType,
isRenderer,
manglePropertiesOnProd
),
}).then(({write}) => write(
updateBundleConfig(config, filename, format, bundleType, hasteName)
)).then(() => (
+9
View File
@@ -41,6 +41,7 @@ const bundles = [
fbEntry: 'src/fb/ReactFBEntry.js',
hasteName: 'React',
isRenderer: false,
manglePropertiesOnProd: false,
name: 'react',
paths: [
'src/umd/ReactUMDEntry.js',
@@ -72,6 +73,7 @@ const bundles = [
fbEntry: 'src/fb/ReactDOMFBEntry.js',
hasteName: 'ReactDOMStack',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-dom-stack',
paths: [
'src/umd/ReactDOMUMDEntry.js',
@@ -100,6 +102,7 @@ const bundles = [
fbEntry: 'src/fb/ReactDOMFiberFBEntry.js',
hasteName: 'ReactDOMFiber',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-dom',
paths: [
'src/renderers/dom/**/*.js',
@@ -129,6 +132,7 @@ const bundles = [
fbEntry: 'src/umd/ReactDOMServerUMDEntry.js',
hasteName: 'ReactDOMServerStack',
isRenderer: true,
manglePropertiesOnProd: false,
// TODO: this is taken. Do we change the build task
// to understand react-dom/server?
name: 'react-dom-server',
@@ -167,6 +171,7 @@ const bundles = [
fbEntry: 'src/renderers/art/ReactARTStack.js',
hasteName: 'ReactARTStack',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-art',
nodePackageName: 'react-art',
paths: [
@@ -201,6 +206,7 @@ const bundles = [
fbEntry: 'src/renderers/art/ReactARTFiber.js',
hasteName: 'ReactARTFiber',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-art',
paths: [
// TODO: it relies on ReactDOMFrameScheduling. Need to move to shared/?
@@ -234,6 +240,7 @@ const bundles = [
],
hasteName: 'ReactNative',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-native-renderer',
paths: [
'src/renderers/native/**/*.js',
@@ -258,6 +265,7 @@ const bundles = [
fbEntry: 'src/renderers/testing/ReactTestRendererFiber',
hasteName: 'ReactTestRendererFiber',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-test-renderer',
paths: [
'src/renderers/native/**/*.js',
@@ -282,6 +290,7 @@ const bundles = [
fbEntry: 'src/renderers/testing/stack/ReactTestRendererStack',
hasteName: 'ReactTestRendererStack',
isRenderer: true,
manglePropertiesOnProd: false,
name: 'react-test-renderer-stack',
paths: [
'src/renderers/native/**/*.js',