fix(manifest): record split expose chunk assets#4489
Conversation
✅ Deploy Preview for module-federation-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
🦋 Changeset detectedLatest commit: 7fc8a8f The changes in this PR will be included in the next version bump. This PR includes changesets to release 43 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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9f83bec6b9
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| : Object.keys(exposeFileNameImportMap).find((key) => | ||
| chunk.name!.startsWith(key + '-'), | ||
| ); |
There was a problem hiding this comment.
Match the longest expose prefix for split chunk names
The new prefix fallback uses Object.keys(exposeFileNameImportMap).find(...), which returns the first key in insertion order rather than the most specific match. If users provide custom expose name values that share a dash prefix (for example foo and foo-bar), a split chunk like foo-bar-<hash> satisfies both prefixes and can be attributed to foo when foo was declared first, causing manifest assets to be recorded under the wrong expose.
Useful? React with 👍 / 👎.
@module-federation/devtools
@module-federation/cli
create-module-federation
@module-federation/data-prefetch
@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/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/retry-plugin
@module-federation/rsbuild-plugin
@module-federation/rspack
@module-federation/rspress-plugin
@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 Report3 package(s) changed, 38 unchanged.
Total dist: 6.71 MB (+3.6 kB (+0.1%)) |
Description
Record split expose chunk assets.
A chunk named "__federation_expose_Foo" may be split into
"__federation_expose_Foo-<hash>"chunks, so we match both exact and prefix+dash patterns.
Related Issue
Types of changes
Checklist