Module federation exists and is probably not for you

5 shipped the ability for one bundle to load modules from another at runtime, which is genuinely novel and solves a problem most applications do not have.

new ModuleFederationPlugin({
  name: 'shop',
  remotes: { checkout: 'checkout@https://cdn.example/remote.js' },
  shared: { react: { singleton: true, requiredVersion: '^17.0.0' } },
});

// what it costs:
//   a shared dependency version negotiated at RUNTIME
//   a remote that can be down, or stale, or incompatible
//   debugging across two builds you did not build together

The problem it solves is several teams deploying parts of one page independently, which is a real problem at a particular size and is not the problem of a team of four. The singleton negotiation is where it gets interesting and where it fails: two remotes wanting incompatible React versions is a runtime error in production rather than a build failure. Knowing it exists is worth more in 2020 than adopting it.