Skip to content

Repository files navigation

Native Federation logo

Native Federation DevTools

See what your micro frontends actually negotiated.

A read-only Chrome DevTools panel for Native Federation applications.

License: MIT Chrome Web Store Manifest V3

The Graph tab: remotes, the dependency copies they resolve to, and the chunk files those copies load

Which version of @angular/core won? Who provided it? Why did that remote end up with its own copy?

The negotiation happens once at startup — then it disappears into the import map. Native Federation DevTools reads it back out of the running page and explains it: every shared package, every remote, every chunk. Evidence, not guesses.

What you get

  • 📦 Packages — the negotiation, per package: every candidate version, who declared which range, which file actually serves it. Conflicts are called out, not averaged away.
  • 🛰️ Remotes — each participant from its own point of view: what it exposes, what it declares, and where every single dependency really resolves.
  • 🕸️ Graph — remotes, dependency copies, and chunks as one traceable picture. Hover to trace, click to filter.
  • 🗺️ Import Map — the effective map, row by row, each entry attributed to its package, its provider, and the chunk bundle that serves it.
  • 📤 Export JSON — freeze the entire snapshot to a file. Doubles as a reproducible bug report.
  • 🔒 Read-only, zero permissions — no host permissions, no content scripts. The panel inspects; it never mutates the page. Enforced by tests, not by convention.

In progress: Diagnostics (registry↔map lint) and global search.

Hover to trace

One hover answers "who shares this — and which files does it load?"

Hovering nodes in the Graph tab: the trace lights up the hovered node's remotes, dependency copies, and chunk files while everything else dims

Dashed nodes are isolated copies, dotted edges are borrowed dependencies — the sharing story is visible at a glance.

Every negotiation, explained

The Packages tab: @angular/core with its mapped files, SRI coverage, the four participants that declared it with their ranges, and the chunk files it loads

Four participants declared @angular/core — one version won, three were not selected, and every mapped file is accounted for, SRI included.

Every remote, from its own point of view

The Remotes tab: a remote's exposes with mapped files, what it provides to the federation, and every dependency it consumes from other remotes

Exposes, provided packages, and — line by line — which dependency this remote consumes from whom, and which own version lost the negotiation.

Install

🛒 Chrome Web Store: coming soon — the extension will be published under the official Native Federation presence.

Until then, load a development build:

npm install
npm run build:extension

Then in Chrome: chrome://extensions → enable Developer modeLoad unpacked → select the built extension directory. Open DevTools on any Native Federation application — the panel appears as a new tab.

Native Federation ecosystem

Project What it is
native-federation.com Project home — docs, guides, team, resources
orchestrator Runtime micro frontend orchestrator
devtools (this repo) Chrome DevTools panel for inspecting running federations

Documentation

About

Developed and maintained by Lutz Leonhardt as part of the official Native Federation project.

Built in an agentic workflow with Claude Code and Codex as pair programmers — architecture, review, and verification stay with the maintainer.

Licensed under MIT.

About

Read-only Chrome DevTools panel for inspecting Native Federation applications

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages