Tweaked legacy module inlining to remove order-of-deps constraint

This commit is contained in:
Brian Vaughn
2017-04-11 13:22:09 -07:00
parent 83bcb29066
commit afdc9d27ce
2 changed files with 20 additions and 22 deletions
+14 -16
View File
@@ -52,17 +52,13 @@ const devOnlyFilesToStubOut = [
"'ReactTestUtils'", "'ReactTestUtils'",
]; ];
// Ordering of these imports is important; const legacyModules = [
// The default import must follow deep imports or Rollup breaks. 'create-react-class',
// eg if 'prop-types' comes before 'prop-types/checkPropTypes', 'create-react-class/factory',
// Then Rollup might try to requite 'prop-types/index.js/checkPropTypes.js' 'prop-types',
const legacyModules = { 'prop-types/checkPropTypes',
'create-react-class/factory': 'create-react-class/factory.js', 'prop-types/factory',
'create-react-class': 'create-react-class/index.js', ];
'prop-types/checkPropTypes': 'prop-types/checkPropTypes.js',
'prop-types/factory': 'prop-types/factory.js',
'prop-types': 'prop-types/index.js',
};
// this function builds up a very niave Haste-like moduleMap // this function builds up a very niave Haste-like moduleMap
// that works to create up an alias map for modules to link // that works to create up an alias map for modules to link
@@ -247,11 +243,13 @@ function replaceLegacyModuleAliases(bundleType) {
case UMD_DEV: case UMD_DEV:
case UMD_PROD: case UMD_PROD:
const modulesAlias = {}; const modulesAlias = {};
for (let legacyModule in legacyModules) { legacyModules.forEach(legacyModule => {
modulesAlias[legacyModule] = resolve( const modulePath = legacyModule.includes('/')
`./node_modules/${legacyModules[legacyModule]}` ? legacyModule
); : `${legacyModule}/index`;
} const resolvedPath = resolve(`./node_modules/${modulePath}`);
modulesAlias[`'${legacyModule}'`] = `'${resolvedPath}'`;
});
return modulesAlias; return modulesAlias;
case NODE_DEV: case NODE_DEV:
case NODE_PROD: case NODE_PROD:
+6 -6
View File
@@ -2,8 +2,8 @@
"branch": "prop-types", "branch": "prop-types",
"bundleSizes": { "bundleSizes": {
"react.development.js (UMD_DEV)": { "react.development.js (UMD_DEV)": {
"size": 121272, "size": 121474,
"gzip": 30505 "gzip": 30524
}, },
"react.production.min.js (UMD_PROD)": { "react.production.min.js (UMD_PROD)": {
"size": 15685, "size": 15685,
@@ -34,16 +34,16 @@
"gzip": 28990 "gzip": 28990
}, },
"react.development.js (NODE_DEV)": { "react.development.js (NODE_DEV)": {
"size": 69913, "size": 70286,
"gzip": 17542 "gzip": 17600
}, },
"react.production.min.js (NODE_PROD)": { "react.production.min.js (NODE_PROD)": {
"size": 9226, "size": 9226,
"gzip": 3626 "gzip": 3626
}, },
"React-dev.js (FB_DEV)": { "React-dev.js (FB_DEV)": {
"size": 71770, "size": 72143,
"gzip": 18179 "gzip": 18236
}, },
"React-prod.js (FB_PROD)": { "React-prod.js (FB_PROD)": {
"size": 36643, "size": 36643,