用途:检查 Module Federation 项目的共享依赖(shared dependencies)配置,发现常见配置冲突与共享失效问题。
主要能力:脚本会输出 results 数组,逐项处理以下告警。SHARED-EXTERNALS-CONFLICT(warning):同一库同时出现在 shared 和 externals 中;两者并非互斥,但同一库不能同时出现,否则模块既被排除出 bundle 又被声明为共享,导致运行时失败,需展示冲突库名并引导用户从两处配置之一移除。SHARED-TRANSFORM-IMPORT(warning):antd/arco 等 UI 库被共享但 transformImport 仍启用;babel-plugin-import(或 Modern.js / Rsbuild 内置的 transformImport)会在构建期重写 import 路径,使共享依赖无法被识别而静默失效。修复方式:Modern.js / Rsbuild 设置 source.transformImport = false;其他打包器从 Babel 配置中移除 babel-plugin-import;需展示触发告警的 UI 库。SHARED-MULTI-VERSION(warning):检测到同一共享包存在多个版本,说明版本协商失败,host 与 remote 各自打包了一份副本;建议在打包器配置中加 alias,让所有项目解析到同一物理文件,并展示检测到的版本。
使用方式:先调用 mf-context Skill(传入 $ARGUMENTS)收集 MFContext;再将 MFContext 序列化为 JSON,通过 --context 参数传给检查脚本:node scripts/shared-config-check.js --context '<MFContext-JSON>'。
结果为空时:告知用户本项目未检测到共享依赖冲突,并提醒需在 host 和每个 remote 中分别运行同一检查,才能获得完整情况。
限制:资料未提供脚本依赖、安装方式、支持版本范围及更多细节。