Repository navigation
Conversation
🦋 Changeset detectedLatest commit: e675608 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 Report12 package(s) changed, 31 unchanged. Package dist + ESM entry
Bundle targets
Consumer scenarios
Total dist (raw): 23.42 MB (+17.8 kB (+0.1%)) Bundle sizes are generated with rslib (Rspack). Package-root metrics preserve the historical report. Tracked subpath exports such as |
Summary
With
shareStrategy: 'version-first', a failed remote manifest resolves before the existing error handler, while a failed containerinit()throws fromfinally. Either failure rejectsloadShare()even when the host provides the requested shared package.Move remote resolution and entry loading into the same guarded path, report failures through
errorLoadRemotewithbeforeLoadShare, and skip failed remotes during share negotiation. The manifest is not replaced or cached, so a laterloadRemote()can retry and recover. The existingloadShareresource context is retained. This runtime-core fix applies across bundlers, and a patch changeset is included.Independent review found that a container could register a higher shared version and then throw during
init(). The failed version would remain selectable despite the caught error. Initialization now tracks share-scope assignments and rolls back a failed remote's writes while preserving preexisting shares and writes from concurrent healthy remotes.Validation
corepack pnpm exec turbo run build --filter=@module-federation/runtime-corepassed.corepack pnpm --filter @module-federation/runtime-core exec rstest run --include '**/*.spec.ts'passed (131 tests).$env:ESLINT_USE_FLAT_CONFIG='false'; corepack pnpm --filter @module-federation/runtime-core exec eslint --ignore-pattern node_modules '**/*.ts' package.json.beforeLoadSharehook arguments, no cached replacement manifest, later remote recovery, failed init after partial registration, restoration of a prior share, and concurrent healthy and failing inits.Checks and limits
corepack pnpm exec prettier --check .reports existing formatting issues outside this change. The changed files pass the targeted check.corepack pnpm exec changeset statuscannot complete because the repository's@changesets/assemble-release-planbuild references a missing./apply-links.ts. The changeset was parsed separately and contains one@module-federation/runtime-corepatch release.