Dies ist die deutsche MFDoctor-Dokumentation. Technische Bezeichner, CLI-Flags, Regel-IDs und Codebeispiele bleiben unverändert, damit die Inhalte zwischen den Sprachen vollständig kompatibel bleiben. Verwenden Sie den Sprachumschalter für die kanonische englische Fassung.
Get started
MFDoctor runs after your Module Federation build, while the bundler still has the configuration and emitted files needed to explain a problem. It adds nothing to the browser bundle.
This first-run path uses the published @tonoizer/mfdoctor package and your
existing bundler (Vite, Webpack, Rspack, or Rsbuild). It does not require
Vite Plus, vp, or this repository's setup-vp GitHub Action.
Installation
Add MFDoctor as a development dependency:
Name clash: npx mf-doctor is a different package (tiagocastro070), not this
project. This package is @tonoizer/mfdoctor (CLI binary mfdoctor). Install as
a dependency and run via package-manager exec (pnpm exec mfdoctor,
npx mfdoctor, etc.) — not npx mf-doctor.
Use npm or Yarn if that is what the project already uses. Supported versions are listed in the compatibility matrix.
Einen Adapter hinzufügen
Keep one mfOptions object and pass it to both Module Federation and MFDoctor.
This gives MFDoctor the complete build-time config, including runtimePlugins.
For Vite:
Using another build tool? Open Bundler integrations for Nuxt, Rspack, Rsbuild, Webpack, Modern.js, Rolldown-integrated Vite, and Vite Plus examples.
Die erste Prüfung ausführen
Run the normal production build. MFDoctor waits until emit is complete, then prints one findings block. A finding includes:
- severity and rule ID
- the problem and its impact
- a short fix
- a direct MFDoctor rule link
- official Module Federation sources when available
Clean local builds stay quiet. Local findings do not fail the build unless you
change failOn. In CI, MFDoctor defaults to failOn: "error" and writes terminal,
JSON, and SARIF reports.
Use this loop:
- Build the project (plugin emit — strongest evidence).
- Fix each policy-failing finding.
- Rebuild until the process exits
0. - In a monorepo, run
mfdoctor workspaceafter every app has built. - If a finding is intentional, suppress the rule or baseline that exact fingerprint. Do not remove MFDoctor to make CI green.
mfdoctor check alone is offline config/static analysis. Do not claim green
from check alone — see the agent loop (check vs emit +
workspace) and treat doctor/partial-analysis
as incomplete analysis.
See Rules for fixes and Suppressions for governance.
Alle Apps absichern
Each adapter writes .mf/doctor/project.json. After every host and remote has
built, run one workspace gate:
For selected monorepo roots and CI reports:
The command exits 0 when policy passes, 1 for policy failures, and 2 when
analysis cannot finish. See the CLI command reference for explicit
federation globs, baselines, runtime traces, deployed probes, and a
Plus-free GitHub Actions snippet.
Was MFDoctor abdeckt
Runtime-only apps that call @module-federation/runtime without a supported
build plugin are not first-class MFDoctor targets. MFDoctor does not parse runtime
initialization from source or inject a runtime agent. See Limitations.
Nächste Schritte
Host teams: CI → Rules → Limitations.
Extending Doctor as a library author? Identity, waivers, graph, and capture contracts live under Library / extension.