feat(bridge): federated SSR demo with React host and Vue/React remotes#1
Draft
tonoizer wants to merge 37 commits into
Draft
feat(bridge): federated SSR demo with React host and Vue/React remotes#1tonoizer wants to merge 37 commits into
tonoizer wants to merge 37 commits into
Conversation
Bundle Size Report38 package(s) changed, 4 unchanged. Package dist + ESM entry
Bundle targets
Tree-shakable entrypoints
Consumer scenarios
Total dist (raw): 35.97 MB (+275.8 kB (+0.8%)) Bundle sizes are generated with rslib (Rspack). Package-root metrics preserve the historical report. Tracked subpath exports such as |
cursor
Bot
force-pushed
the
cursor/bridge-app-ssr-e63b
branch
from
June 30, 2026 06:36
93c4f36 to
a9e18d0
Compare
…4787) Co-authored-by: Zack Jackson <[email protected]> Co-authored-by: ScriptedAlchemy <[email protected]> Co-authored-by: Hanric <[email protected]>
…dule-federation#4866) Co-authored-by: Hanric <[email protected]>
Co-authored-by: 2heal1 <[email protected]>
…deConfig (module-federation#4873) Co-authored-by: Hanric <[email protected]>
Co-authored-by: Rodrigo Yokota <[email protected]>
Co-authored-by: ScriptedAlchemy <[email protected]>
Co-authored-by: Néstor <[email protected]>
…ule-federation#4886) Co-authored-by: Néstor <[email protected]> Co-authored-by: ScriptedAlchemy <[email protected]>
…on#4864) Co-authored-by: ScriptedAlchemy <[email protected]>
Co-authored-by: Shashank Upadhyay <[email protected]> Co-authored-by: ScriptedAlchemy <[email protected]>
tonoizer
force-pushed
the
cursor/bridge-app-ssr-e63b
branch
from
July 18, 2026 13:10
d927242 to
c203d59
Compare
cursor
Bot
force-pushed
the
cursor/bridge-app-ssr-e63b
branch
from
July 18, 2026 16:32
2915de3 to
2c3f1e5
Compare
Key the hydration registry by moduleName+instanceId, hydrate empty islands from markers, destroy React roots when mount DOM identity changes, require a registry for client references, and soft-cancel aborted Vue mounts so failed renders cannot leak remotes.
Claim registry snapshots before provider.render and fail them on cancel so SPA revisits cannot hydrate stale request-time state. KeepAlive reactivation falls back to CSR, and demo hosts stop re-seeding SSR refs after navigation. Co-authored-by: Cursor <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds framework-agnostic federated bridge SSR with a deliberately small surface area.
Core contract (unchanged)
What changed
serializeBridgeSSRState, markers, state scripts) + sharedrenderRemoteBridgeToStringrenderToString, thin host wrappers,RemoteAppWrapperhydrationSimplifications (this pass)
renderRemoteBridgeToStringin bridge-shared; React adds asset collection onlybridgeAppSSRPlugin,remoteModuleCache, publicRemoteSSRMarkup, deprecatedwrapBridgeSSRHtml/_bridge/ssr-contextendpoint removedFramework / bundler agnostic design
renderRemoteAppToStringin any SSR pipelinecreateBridgeComponentwithrenderToStringvia MFssrenvironmentssrHtml+ssrStatetocreateRemoteAppComponentValidation
pnpm exec turbo run test --filter=@module-federation/bridge-shared --filter=@module-federation/bridge-react --filter=@module-federation/bridge-vue3pnpm run e2e:bridge:ssr— 11 Playwright + 5 Cypress (16/16)Changeset
Minor bump for
@module-federation/bridge-react,@module-federation/bridge-vue3,@module-federation/bridge-shared.