Referencia de campos del manifest

mf-manifest.json se genera cuando manifest está habilitado. Es un manifest orientado al runtime destilado a partir de mf-stats.json, que mantiene una estructura estable y cómoda para los consumers.

Nivel superior

CampoTipoObligatoriomf-stats.jsonDescripción
idstringSíSíIdentificador único del build
namestringSíSíNombre de la federación
metaDataStatsMetaDataSíSíInformación del build y de la remote entry
sharedManifestShared[]SíSí (más completo)Lista de shared (campos reducidos)
remotesManifestRemote[]SíSí (más completo)Lista de remotes (campos reducidos)
exposesManifestExpose[]SíSí (más completo)Lista de exposes (campos reducidos)
Impacto de disableAssetsAnalyze

Cuando se establece disableAssetsAnalyze: true en manifest, mf-manifest.json omitirá shared y exposes, y remotes omitirá assets.

Diferencias de campos frente a mf-stats.json

metaData (ambos archivos)

metaData describe cómo se consume este build en runtime y el contexto del build. Tanto mf-stats.json como mf-manifest.json lo incluyen.

StatsMetaData

StatsMetaData tiene dos formas mutuamente excluyentes:

  • Forma de función: getPublicPath: string
  • Forma de cadena: publicPath: string (opcionalmente ssrPublicPath: string)

Campos compartidos:

CampoTipoObligatorioDescripción
namestringSíNombre del remote/host actual
globalNamestringSíNombre global del remoteEntry
buildInfoStatsBuildInfoSíInformación del build
remoteEntryResourceInfoSíRecurso de entrada del remote
ssrRemoteEntryResourceInfoNoEntrada del remote para SSR (si hay)
typesMetaDataTypesNoInformación del bundle de tipos (si hay)
typestringSíAPP, NPM
pluginVersionstringNoVersión del plugin de MF

ResourceInfo

CampoTipoObligatorioDescripción
pathstringSíRuta relativa en la salida del build
namestringSíNombre del archivo
typeRemoteEntryTypeSíFormato de la entrada del remote (var/umd/system/...)

StatsBuildInfo

CampoTipoObligatorioDescripción
buildVersionstringSíVersión del build
buildNamestringSíNombre del build
targetstring[]NoTargets del build
pluginsstring[]NoPlugins de tree shaking
excludePluginsstring[]NoPlugins excluidos del tree shaking

MetaDataTypes

CampoTipoObligatorioDescripción
pathstringSíRuta de salida
namestringSíNombre del archivo (obligatorio para tipos legacy; quedará obsoleto)
apistringSíEntrada de la API
zipstringSíRuta del zip

assets (ambos archivos)

StatsAssets describe los assets síncronos y asíncronos de un módulo shared o expuesto. Ambos archivos lo usan.

StatsAssets

CampoTipoObligatorioDescripción
jsStatsAssetsInfoSíAssets JavaScript
cssStatsAssetsInfoSíAssets CSS

StatsAssetsInfo

CampoTipoObligatorioDescripción
syncstring[]SíAssets iniciales
asyncstring[]SíAssets asíncronos

shared (ManifestShared frente a StatsShared)

mf-manifest.json conserva solo los campos de shared esenciales que se necesitan en tiempo de ejecución.

Campomf-manifest.jsonmf-stats.json
idSíSí
nameSíSí
versionSíSí
singletonSíSí
requiredVersionSíSí
hashSíSí
assetsSíSí
depsNoSí
usedInNoSí
usedExportsNoSí
fallbackOpcionalSí
fallbackNameOpcionalSí
fallbackTypeOpcionalSí

remotes (ManifestRemote frente a StatsRemote)

mf-manifest.json conserva el conjunto mínimo necesario para localizar y cargar un remote.

Campomf-manifest.jsonmf-stats.json
moduleNameSíSí
federationContainerNameSíSí
aliasSíSí
consumingFederationContainerNameNoSí
usedInNoSí
entry / version (uno de los dos)SíSí

exposes (ManifestExpose frente a StatsExpose)

mf-manifest.json solo expone los campos que usa el consumer en tiempo de ejecución.

Campomf-manifest.jsonmf-stats.json
idSíSí
nameSíSí
pathSíSí
assetsSíSí
fileNoSí
requiresNoSí