mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
per bundle property mangling added
This commit is contained in:
+14
-6
@@ -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(() => (
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user