fix(bridge-vue3): derive basename for Nuxt catch-alls - #4984
Conversation
Allow explicit basename on createRemoteAppComponent and strip Vue/Nuxt catch-all route patterns so meta-framework hosts mount remotes under the correct prefix. Co-authored-by: Cursor <cursoragent@cursor.com>
🦋 Changeset detectedLatest commit: 40c11f7 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 |
Require (.*) on named catch-alls so plain :id params are not stripped. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f2f526c69a
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Preserve historical basename fallback for layout mounts while still preferring the last nested catch-all record. Co-authored-by: Cursor <cursoragent@cursor.com>
@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 Report7 package(s) changed, 36 unchanged. Package dist + ESM entry
Bundle targets
Consumer scenarios
Total dist (raw): 35.88 MB (+2.2 kB (+0.0%)) Bundle sizes are generated with rslib (Rspack). Package-root metrics preserve the historical report. Tracked subpath exports such as |
Summary
basenameoncreateRemoteAppComponent(mirrors React Bridge host override).:pathMatch(.*)*,:path(.*)*, nested last match).Plan (Bridge meta-framework remotes)
Minimal track so one Bridge
export-apploads in Nuxt and React/Next/Modern hosts (CSR). SSR stays on #4869.bridge-vue3basename (foundation)./bridge/export-app+ host/bridgeOut of scope here / later: Bridge SSR Nuxt/Modern adapters (#4869), dedicated
bridge-nuxtpackage.Testing
pnpm exec turbo run build --filter=@module-federation/bridge-vue3...pnpm --filter @module-federation/bridge-vue3 test(64+ passed)Risks
basenameis additive.Non-goals