mf-manifest.json Field Reference

mf-manifest.json is generated when manifest is enabled. It is a runtime-oriented manifest distilled from mf-stats.json, keeping a stable, consumer-friendly shape.

Top-level

FieldTypeRequiredmf-stats.jsonDescription
idstringYesYesUnique build identifier
namestringYesYesFederation name
metaDataStatsMetaDataYesYesBuild and remote entry info
sharedManifestShared[]YesYes (fuller)Shared list (trimmed fields)
remotesManifestRemote[]YesYes (fuller)Remotes list (trimmed fields)
exposesManifestExpose[]YesYes (fuller)Exposes list (trimmed fields)
disableAssetsAnalyze impact

When disableAssetsAnalyze: true is set in manifest, mf-manifest.json will omit shared and exposes, and remotes will omit assets.

Field Differences vs mf-stats.json

metaData (Both Files)

metaData describes how this build is consumed at runtime and the build context. Both mf-stats.json and mf-manifest.json include it.

StatsMetaData

StatsMetaData has two mutually exclusive shapes:

  • Function form: getPublicPath: string
  • String form: publicPath: string (optional ssrPublicPath: string)

Shared fields:

| Field | Type | Required | Description | | ------------------- | ---------------- | -------- | ------------------------------------- | --- | | name | string | Yes | Current remote/host name | | globalName | string | Yes | Global name for the remoteEntry | | buildInfo | StatsBuildInfo | Yes | Build information | | remoteEntry | ResourceInfo | Yes | Remote entry resource | | ssrRemoteEntry | ResourceInfo | No | SSR remote entry (if any) | | prefetchInterface | boolean | No | Whether prefetch interface is enabled | | prefetchEntry | ResourceInfo | No | Prefetch resource (if any) | | types | MetaDataTypes | No | Types bundle info (if any) | | type | string | Yes | APP | NPM | | pluginVersion | string | No | MF Plugin version |

ResourceInfo

FieldTypeRequiredDescription
pathstringYesRelative path in build output
namestringYesFile name
typeRemoteEntryTypeYesRemote entry format (var/umd/system/...)

StatsBuildInfo

FieldTypeRequiredDescription
buildVersionstringYesBuild version
buildNamestringYesBuild name
targetstring[]NoBuild targets
pluginsstring[]NoTree-shaking plugins
excludePluginsstring[]NoTree-shaking exclude plugins

MetaDataTypes

FieldTypeRequiredDescription
pathstringYesOutput path
namestringYesFile name (required for legacy types, will be deprecated)
apistringYesAPI entry
zipstringYesZip path

assets (Both Files)

StatsAssets describes sync/async assets for a shared or exposed module. Both files use it.

StatsAssets

FieldTypeRequiredDescription
jsStatsAssetsInfoYesJavaScript assets
cssStatsAssetsInfoYesCSS assets

StatsAssetsInfo

FieldTypeRequiredDescription
syncstring[]YesInitial assets
asyncstring[]YesAsync assets

shared (ManifestShared vs StatsShared)

mf-manifest.json keeps only the essential shared fields needed at runtime.

Fieldmf-manifest.jsonmf-stats.json
idYesYes
nameYesYes
versionYesYes
singletonYesYes
requiredVersionYesYes
hashYesYes
assetsYesYes
depsNoYes
usedInNoYes
usedExportsNoYes
fallbackOptionalYes
fallbackNameOptionalYes
fallbackTypeOptionalYes

remotes (ManifestRemote vs StatsRemote)

mf-manifest.json keeps the minimal set needed to locate and load a remote.

Fieldmf-manifest.jsonmf-stats.json
moduleNameYesYes
federationContainerNameYesYes
aliasYesYes
consumingFederationContainerNameNoYes
usedInNoYes
entry / version (one of)YesYes

exposes (ManifestExpose vs StatsExpose)

mf-manifest.json exposes only runtime consumer fields.

Fieldmf-manifest.jsonmf-stats.json
idYesYes
nameYesYes
pathYesYes
assetsYesYes
fileNoYes
requiresNoYes