Skip to content

feat(mf): emit RSC metadata in federation manifests#13203

Draft
ScriptedAlchemy wants to merge 28 commits into
feat/mf-layersfrom
cursor/manifest-rsc-client-data-d493
Draft

feat(mf): emit RSC metadata in federation manifests#13203
ScriptedAlchemy wants to merge 28 commits into
feat/mf-layersfrom
cursor/manifest-rsc-client-data-d493

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Emit rsc metadata for shared, exposes, and remotes in mf-stats.json and mf-manifest.json
  • Align shared manifest identity (name = pkgName, shareKey = federated identity) and preserve aliased remote lookup paths for manifest consumers
  • Add focused regression coverage for the manifest producer contract and remove brittle debug-only assertions from that fixture

Stack

Current stack, bottom to top:

  • #12977 feat(mf): layer-aware sharing and runtime scope-array support
  • #13203 feat(mf): emit RSC metadata in federation manifests <- this PR
  • #13204 feat(rsbuild): add RSC federation host/remote example
  • #13208 feat(rsbuild): add RSC federation module patterns
  • #13215 feat(rsc): register federation manifest data at runtime

Why This PR Exists

This PR defines the manifest producer contract that later runtime code consumes. Shared-entry identity, aliased remote lookups, and manifest-level RSC metadata belong here because they change what the manifest emits.

References

  • Focused regression: tests/rspack-test/configCases/container-1-5/manifest-rsc-references

@cursor

cursor Bot commented Mar 4, 2026

Copy link
Copy Markdown

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@github-actions

github-actions Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

Rsdoctor Bundle Diff Analysis

Found 5 projects in monorepo, 0 projects with changes.

📊 Quick Summary
Project Total Size Change
react-10k 5.7 MB 0
react-1k 826.2 KB 0
react-5k 2.7 MB 0
rome 984.2 KB 0
ui-components 2.3 MB 0

Generated by Rsdoctor GitHub Action

@github-actions

github-actions Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

📦 Binary Size-limit

Comparing 5556717 to chore(ci): eco benchmark compare base optimize (#13360) by pshu

❌ Size increased by 115.00KB from 49.01MB to 49.12MB (⬆️0.23%)

@codspeed-hq

codspeed-hq Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 16 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing cursor/manifest-rsc-client-data-d493 (5556717) with feat/mf-layers (dbf3131)

Open in CodSpeed

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Mar 5, 2026

Copy link
Copy Markdown

Deploying rspack with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5556717
Status: ✅  Deploy successful!
Preview URL: https://8f2213eb.rspack-v2.pages.dev
Branch Preview URL: https://cursor-manifest-rsc-client-d.rspack-v2.pages.dev

View logs

@ScriptedAlchemy ScriptedAlchemy changed the title Manifest RSC client data feat(mf): emit RSC metadata in federation manifests Mar 5, 2026
@github-actions github-actions Bot added the release: feature release: feature related release(mr only) label Mar 5, 2026
@ScriptedAlchemy ScriptedAlchemy force-pushed the cursor/manifest-rsc-client-data-d493 branch from 2266fc4 to d5a3b9a Compare March 6, 2026 02:11
@ScriptedAlchemy ScriptedAlchemy force-pushed the cursor/manifest-rsc-client-data-d493 branch from d625616 to 5686d5e Compare March 6, 2026 04:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release: feature release: feature related release(mr only)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants