diff --git a/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt index dc0b74b98c..940e855828 100644 --- a/.github/vale/config/vocabularies/Backstage/accept.txt +++ b/.github/vale/config/vocabularies/Backstage/accept.txt @@ -330,6 +330,7 @@ Rollbar Rollup routable Routable +Rspack rst rsync ruleset diff --git a/beps/0002-dynamic-frontend-plugins/README.md b/beps/0002-dynamic-frontend-plugins/README.md index aad0cc66c3..fc56e74c83 100644 --- a/beps/0002-dynamic-frontend-plugins/README.md +++ b/beps/0002-dynamic-frontend-plugins/README.md @@ -143,10 +143,16 @@ Plugin discovery is a pre-requisite for Plugin registry. This should be responsi ### Module federation implementation experiments -> NOTE Share outcome of testing mixing multiple tools for module federation. - Test should consist of trying to run permutations of webpack/Rspack/vite based shell apps/plugins and discover if we can freely choose any tool, or if we should restrict the tooling to just a subset of the available options. +The outcome of initial testing is positive and it is possible to mix and match different build tools and consume different remote modules in a single shell application. + +The experimental code can be found in [this repository](https://github.com/scalprum/mf-mixing-experiments). + +**The testing so far was done only on very simple modules**. Although core React features are working (Context API and hooks), more testings needs to be done in order to declare this approach 100% reliable. + +So far a lot of custom code needs to be written to bridge Webpack, Rspack, @module-federation/enhanced with Vite. The first three are compatible out of the box, but Vite requires extra bridge to be able to consume/provide modules with/to other builds. + ### Plugin manifest Each plugin should have a manifest file with important metadata. This metadata is used to load the remote assets to browser. The plugin manifest should be part of a build output.