{"version":3,"file":"context.cjs","names":[],"sources":["../../src/utils/context.ts"],"sourcesContent":["import type { MFContext } from '@module-federation/error-codes';\nimport type { Options, Remote } from '../type';\n\nfunction remoteToEntry(\n  r: Remote,\n): import('@module-federation/error-codes').MFRemoteEntry {\n  return {\n    name: r.name,\n    alias: r.alias,\n    entry: 'entry' in r ? (r as { entry: string }).entry : undefined,\n    version: 'version' in r ? (r as { version: string }).version : undefined,\n    type: r.type,\n    entryGlobalName: r.entryGlobalName,\n    shareScope: r.shareScope,\n  };\n}\n\n/**\n * Build a partial MFContext from runtime Options.\n * Used to enrich diagnostic entries with host context at error sites.\n */\nexport function optionsToMFContext(options: Options): Partial<MFContext> {\n  const shared: MFContext['mfConfig'] extends undefined\n    ? never\n    : NonNullable<MFContext['mfConfig']>['shared'] = {};\n\n  for (const [pkgName, versions] of Object.entries(options.shared)) {\n    const first = versions[0];\n    if (first) {\n      shared[pkgName] = {\n        version: first.version,\n        singleton: first.shareConfig?.singleton,\n        requiredVersion:\n          first.shareConfig?.requiredVersion === false\n            ? false\n            : first.shareConfig?.requiredVersion,\n        eager: first.eager,\n        strictVersion: first.shareConfig?.strictVersion,\n      };\n    }\n  }\n\n  return {\n    project: {\n      name: options.name,\n      mfRole: options.remotes?.length > 0 ? 'host' : 'unknown',\n    },\n    mfConfig: {\n      name: options.name,\n      remotes: options.remotes?.map(remoteToEntry) ?? [],\n      shared,\n    },\n  };\n}\n"],"mappings":";;AAGA,SAAS,cACP,GACwD;AACxD,QAAO;EACL,MAAM,EAAE;EACR,OAAO,EAAE;EACT,OAAO,WAAW,IAAK,EAAwB,QAAQ;EACvD,SAAS,aAAa,IAAK,EAA0B,UAAU;EAC/D,MAAM,EAAE;EACR,iBAAiB,EAAE;EACnB,YAAY,EAAE;EACf;;;;;;AAOH,SAAgB,mBAAmB,SAAsC;CACvE,MAAM,SAE6C,EAAE;AAErD,MAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,QAAQ,OAAO,EAAE;EAChE,MAAM,QAAQ,SAAS;AACvB,MAAI,MACF,QAAO,WAAW;GAChB,SAAS,MAAM;GACf,WAAW,MAAM,aAAa;GAC9B,iBACE,MAAM,aAAa,oBAAoB,QACnC,QACA,MAAM,aAAa;GACzB,OAAO,MAAM;GACb,eAAe,MAAM,aAAa;GACnC;;AAIL,QAAO;EACL,SAAS;GACP,MAAM,QAAQ;GACd,QAAQ,QAAQ,SAAS,SAAS,IAAI,SAAS;GAChD;EACD,UAAU;GACR,MAAM,QAAQ;GACd,SAAS,QAAQ,SAAS,IAAI,cAAc,IAAI,EAAE;GAClD;GACD;EACF"}