{"version":3,"file":"plugin.cjs","names":["getGlobalHostPlugins"],"sources":["../../src/utils/plugin.ts"],"sourcesContent":["import { ModuleFederation } from '../core';\nimport { UserOptions } from '../type';\nimport { getGlobalHostPlugins } from '../global';\n\nexport function registerPlugins(\n  plugins: UserOptions['plugins'],\n  instance: ModuleFederation,\n) {\n  const globalPlugins = getGlobalHostPlugins();\n  const hookInstances = [\n    instance.hooks,\n    instance.remoteHandler.hooks,\n    instance.sharedHandler.hooks,\n    instance.snapshotHandler.hooks,\n    instance.loaderHook,\n    instance.bridgeHook,\n  ];\n  // Incorporate global plugins\n  if (globalPlugins.length > 0) {\n    globalPlugins.forEach((plugin) => {\n      if (plugins?.find((item) => item.name !== plugin.name)) {\n        plugins.push(plugin);\n      }\n    });\n  }\n\n  if (plugins && plugins.length > 0) {\n    plugins.forEach((plugin) => {\n      hookInstances.forEach((hookInstance) => {\n        hookInstance.applyPlugin(plugin, instance);\n      });\n    });\n  }\n  return plugins;\n}\n"],"mappings":";;;AAIA,SAAgB,gBACd,SACA,UACA;CACA,MAAM,gBAAgBA,qCAAsB;CAC5C,MAAM,gBAAgB;EACpB,SAAS;EACT,SAAS,cAAc;EACvB,SAAS,cAAc;EACvB,SAAS,gBAAgB;EACzB,SAAS;EACT,SAAS;EACV;AAED,KAAI,cAAc,SAAS,EACzB,eAAc,SAAS,WAAW;AAChC,MAAI,SAAS,MAAM,SAAS,KAAK,SAAS,OAAO,KAAK,CACpD,SAAQ,KAAK,OAAO;GAEtB;AAGJ,KAAI,WAAW,QAAQ,SAAS,EAC9B,SAAQ,SAAS,WAAW;AAC1B,gBAAc,SAAS,iBAAiB;AACtC,gBAAa,YAAY,QAAQ,SAAS;IAC1C;GACF;AAEJ,QAAO"}