From c192ec23aca723781bd3396c43f6de9f0e9c48b5 Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 12 Apr 2022 13:29:41 -0700 Subject: [PATCH 1/9] support webpack module federation --- packages/react-scripts/config/paths.js | 3 +++ packages/react-scripts/config/webpack.config.js | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/react-scripts/config/paths.js b/packages/react-scripts/config/paths.js index f4470a02f63..30a8330c5c3 100644 --- a/packages/react-scripts/config/paths.js +++ b/packages/react-scripts/config/paths.js @@ -72,6 +72,7 @@ module.exports = { appJsConfig: resolveApp('jsconfig.json'), yarnLockFile: resolveApp('yarn.lock'), testsSetup: resolveModule(resolveApp, 'src/setupTests'), + mfSetup: resolveApp('src/setupModuleFederation.js'), proxySetup: resolveApp('src/setupProxy.js'), appNodeModules: resolveApp('node_modules'), appWebpackCache: resolveApp('node_modules/.cache'), @@ -97,6 +98,7 @@ module.exports = { appJsConfig: resolveApp('jsconfig.json'), yarnLockFile: resolveApp('yarn.lock'), testsSetup: resolveModule(resolveApp, 'src/setupTests'), + mfSetup: resolveApp('src/setupModuleFederation.js'), proxySetup: resolveApp('src/setupProxy.js'), appNodeModules: resolveApp('node_modules'), appWebpackCache: resolveApp('node_modules/.cache'), @@ -135,6 +137,7 @@ if ( appJsConfig: resolveOwn(`${templatePath}/jsconfig.json`), yarnLockFile: resolveOwn(`${templatePath}/yarn.lock`), testsSetup: resolveModule(resolveOwn, `${templatePath}/src/setupTests`), + mfSetup: resolveOwn(`${templatePath}/src/setupModuleFederation.js`), proxySetup: resolveOwn(`${templatePath}/src/setupProxy.js`), appNodeModules: resolveOwn('node_modules'), appWebpackCache: resolveOwn('node_modules/.cache'), diff --git a/packages/react-scripts/config/webpack.config.js b/packages/react-scripts/config/webpack.config.js index e465d8e7a00..ab00c8c7967 100644 --- a/packages/react-scripts/config/webpack.config.js +++ b/packages/react-scripts/config/webpack.config.js @@ -788,6 +788,8 @@ module.exports = function (webpackEnv) { }, }, }), + fs.existsSync(paths.mfSetup) && + new webpack.container.ModuleFederationPlugin(require(paths.mfSetup)), ].filter(Boolean), // Turn off performance processing because we utilize // our own hints via the FileSizeReporter From eaf7de027518679005cd542af15d0725bfad30ab Mon Sep 17 00:00:00 2001 From: Ross Date: Wed, 13 Apr 2022 10:21:37 -0700 Subject: [PATCH 2/9] Make appHtml optional --- packages/react-scripts/config/webpack.config.js | 2 +- packages/react-scripts/scripts/build.js | 2 +- packages/react-scripts/scripts/start.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-scripts/config/webpack.config.js b/packages/react-scripts/config/webpack.config.js index ab00c8c7967..d50a99fd05b 100644 --- a/packages/react-scripts/config/webpack.config.js +++ b/packages/react-scripts/config/webpack.config.js @@ -605,7 +605,7 @@ module.exports = function (webpackEnv) { }, plugins: [ // Generates an `index.html` file with the