mfeflow.json reference
This page lists every field of mfeflow.json at the root of a project. The CLI writes and updates it. You edit only budget and registries by hand. For the concept, see Project structure.
The JSON Schema is published at https://mfeflow.github.io/mfeflow/schema/mfeflow.json. Point your editor at it with $schema.
Example
Fields
apps
Keys are Module Federation names: lowercase words of letters and digits joined by single underscores.
features
Feature names look like analytics-gtm, or @someone/feature for a registry feature.
files
Each key is a relative path with forward slashes. Each value is sha256- followed by 64 hex characters. The hashes let doctor tell when you edited a copied file (E117, a warning). Do not edit them.
kept
Written by mfeflow upgrade --keep. Each value is the hash of the new version the file was kept against. While the new version is that one, upgrade leaves the file out of its report. When the new version changes, the file is raised again. Do not edit it.
envKeys
Written by mfeflow add env-key. Each key is a file path and each value lists the env keys that command added to it, such as { "env.ts": ["API_ORIGIN"] }. When a new version of mfeflow ships another value for one of these keys, upgrade asks what to do instead of only warning. Projects made before this was recorded do not have it, and upgrade keeps warning for them. Do not edit it.
registries
Keys are namespaces like @acme. Values are URL templates. The template must be https, with {name} in the path and optionally {version}.
Plain http is accepted for loopback hosts only. The namespace @mfeflow is reserved. See Third-party features.
budget
All fields are numbers of at least 1. They override the defaults of the cost model.
Errors
A missing file is E102, invalid JSON is E103 and a schema mismatch is E104. See Error codes.