mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Tweaked legacy module inlining to remove order-of-deps constraint
This commit is contained in:
+14
-16
@@ -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:
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user