feat(manifest): report concrete shared provider metadata - #5083
ScriptedAlchemy wants to merge 2 commits into
Conversation
🦋 Changeset detectedLatest commit: fc62e00 The changes in this PR will be included in the next version bump. This PR includes changesets to release 48 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@module-federation/devtools
@module-federation/cli
create-module-federation
@module-federation/dts-plugin
@module-federation/enhanced
@module-federation/error-codes
@module-federation/esbuild
@module-federation/managers
@module-federation/manifest
@module-federation/metro
@module-federation/metro-plugin-rnc-cli
@module-federation/metro-plugin-rnef
@module-federation/metro-plugin-rock
@module-federation/modern-js
@module-federation/modern-js-v3
@module-federation/native-federation-tests
@module-federation/native-federation-typescript
@module-federation/nextjs-mf
@module-federation/node
@module-federation/observability-plugin
@module-federation/playground
@module-federation/retry-plugin
@module-federation/rsbuild-plugin
@module-federation/rspack
@module-federation/rspress-plugin
@module-federation/rstest
@module-federation/runtime
@module-federation/runtime-core
@module-federation/runtime-tools
@module-federation/sdk
@module-federation/storybook-addon
@module-federation/third-party-dts-extractor
@module-federation/treeshake-frontend
@module-federation/treeshake-server
@module-federation/typescript
@module-federation/utilities
@module-federation/webpack-bundler-runtime
@module-federation/bridge-react
@module-federation/bridge-react-webpack-plugin
@module-federation/bridge-shared
@module-federation/bridge-vue3
@module-federation/inject-external-runtime-core-plugin
commit: |
Bundle Size Report11 package(s) changed, 32 unchanged. Package dist + ESM entry
Bundle targets
Consumer scenarios
Total dist (raw): 23.33 MB (+11.4 kB (+0.0%)) Bundle sizes are generated with rslib (Rspack). Package-root metrics preserve the historical report. Tracked subpath exports such as |
Description
Implement RFC #5082 as an independent draft based on
main.A build can provide React 18 and React 19 under the same shared key. One summary version and a combined asset list cannot tell a reader which files belong to each implementation. Optional
shared[].providersrecords add that version, resolved import, and asset mapping to stats and manifests.This draft uses main's existing stats collector. It retains existing top-level shared fields and omits the array for single-provider and consumer-only entries. It does not change runtime registration or selection.
Graph collection, scope/layer reconciliation, and Webpack/Rspack output parity remain review requirements. No graph or layer-stack commits, dependency pins, or public
identityIdfield are included.Related Issue
Feature proposal #5082 and independent Rspack prototype #15687. This draft replaces #5078, which is closed and outside the layers stack. The original branch and commits are preserved there.
Types of changes
Checklist
Local checks passed. The affected build completed 15 tasks, manifest tests passed 10, and SDK tests passed 69 with one existing skip. Commit hooks, repository formatting, and whitespace checks passed.
The real Webpack fixture checks provider imports, emitted assets, and stats/manifest output. Reader tests cover duplicate pairs, consumer-only omission, and resolved module identifiers. Full-workspace end-to-end tests and native Rspack parity have not been run for this draft.