Browser extension for inspecting live Module Federation remotes and shared dependency drift. https://chromewebstore.google.com/detail/module-federation-shared/iihmjeoimfipagokghlfeighikoonila
Browser extension for teams running micro-frontends with Module Federation.
It shows:
- which remotes are actually loaded at runtime
- which remotes are only configured but not yet fetched
- where shared dependency versions drift across host/remotes
Most tools stop at config-level visibility.
This extension inspects live runtime signals (window.__FEDERATION__ and fetched federation resources), so you can catch issues that only exist in real page execution.
In short: it helps you detect runtime dependency drift before users feel it.
Faster incident triage: when a screen breaks after a deployment, quickly confirm which remote entry URLs and versions are actually active.Safer upgrades: detect shared dependency mismatches (react, routers, state libs, etc.) between host and remotes.Better release confidence: see the difference between “configured remotes” and “fetched remotes” on the current route/session.Works where teams debug: directly in Chrome/Firefox popup, no app code changes required for basic visibility.
- Platform teams owning a Module Federation ecosystem
- Frontend engineers debugging runtime integration bugs
- Release managers validating multi-remote rollouts
- Remotes tab
- Grouping by source:
- Defined by host application
- Loaded by other remotes
- Toggle for showing configured (not-yet-fetched) remotes
- Shared dependencies tab with:
- Version mismatch highlighting
- Module-to-version mapping
- Mismatch counter badge
- Refresh scan for dynamic/lazy remote loading
The extension executes a page-context extractor and merges data across frames:
- reads Module Federation runtime metadata when available
- falls back to performance resource entries (
remoteEntry.js,mf-manifest.json) - aggregates remotes and shared dependency versions into one popup view
- Extension.js builds browser-specific packages under
dist/chrome,dist/edge, anddist/firefox. - Permissions are limited to the active tab workflow (
activeTab,scripting,tabs). - The extension does not send scan data off-device.
- Privacy policy page:
https://yanpes.github.io/mf-shared-dependency-monitor/privacy-policy/
- Open a page powered by Module Federation.
- Open the extension popup.
- Check
Remotesfor what is actually running. - Check
Shared dependenciesand resolve any mismatch first. - Press
Refreshafter route/login changes if remotes load later.
npm install
npm run devnpm run dev launches Chrome and Firefox through Extension.js. For a single browser, use npm run dev:chrome, npm run dev:firefox, or npm run dev:edge.
Production builds:
npm run buildBuild output goes to dist/<browser>/, with zip packages generated for Chrome, Edge, and Firefox.
- Browser pages like
chrome://and extension pages cannot be scanned. - Detection quality depends on runtime exposure and loaded resources on the active page.
- Firefox install is temporary unless packaged/signed separately.
MIT (see LICENSE).