{"version":3,"file":"mf-config.cjs","names":["require"],"sources":["../../src/runtime/mf-config.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\ndeclare const __EVERY_PLUGIN_VERSION__: string | undefined;\n\nfunction readPackageVersion(): string {\n  try {\n    return (require(\"../../package.json\") as { version: string }).version;\n  } catch {\n    return \"0.0.0\";\n  }\n}\n\nfunction getInstalledPackageVersion(packageName: string, fallbackRange: string): string {\n  try {\n    return require(`${packageName}/package.json`).version as string;\n  } catch {\n    const match = fallbackRange.match(/\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?/);\n    return match ? match[0] : fallbackRange.replace(/^[\\^~>=<\\s]+/, \"\");\n  }\n}\n\nexport const PLUGIN_VERSION =\n  typeof __EVERY_PLUGIN_VERSION__ === \"string\" ? __EVERY_PLUGIN_VERSION__ : readPackageVersion();\n\nexport const SHARE_CONFIG = {\n  singleton: true,\n  requiredVersion: false,\n  strictVersion: false,\n  eager: false,\n} as const;\n\nexport const MF_CORE_SHARED_DEPS = {\n  \"every-plugin\": {\n    version: PLUGIN_VERSION,\n    shareConfig: SHARE_CONFIG,\n  },\n  effect: {\n    version: getInstalledPackageVersion(\"effect\", \"^3.21.0\"),\n    shareConfig: SHARE_CONFIG,\n  },\n  zod: {\n    version: getInstalledPackageVersion(\"zod\", \"^4.3.6\"),\n    shareConfig: SHARE_CONFIG,\n  },\n  \"@orpc/contract\": {\n    version: getInstalledPackageVersion(\"@orpc/contract\", \"^1.13.4\"),\n    shareConfig: SHARE_CONFIG,\n  },\n  \"@orpc/server\": {\n    version: getInstalledPackageVersion(\"@orpc/server\", \"^1.13.4\"),\n    shareConfig: SHARE_CONFIG,\n  },\n} as const;\n\nexport type CoreSharedDepName = keyof typeof MF_CORE_SHARED_DEPS;\n\nexport interface AppSharedDepConfig {\n  version: string;\n  requiredVersion?: string | false;\n  singleton?: boolean;\n  strictVersion?: boolean;\n  eager?: boolean;\n  shareScope?: string;\n}\n\nexport type AppSharedDeps = Record<string, AppSharedDepConfig>;\n\nexport function buildMergedSharedDeps(\n  appShared?: AppSharedDeps,\n): Record<string, { version: string; shareConfig: typeof SHARE_CONFIG }> {\n  const merged: Record<string, { version: string; shareConfig: typeof SHARE_CONFIG }> = {};\n\n  for (const [name, config] of Object.entries(MF_CORE_SHARED_DEPS)) {\n    merged[name] = { version: config.version, shareConfig: config.shareConfig };\n  }\n\n  if (appShared) {\n    for (const [name, config] of Object.entries(appShared)) {\n      merged[name] = {\n        version: config.version,\n        shareConfig: {\n          singleton: (config.singleton ?? true) as true,\n          requiredVersion: (config.requiredVersion ?? false) as false,\n          strictVersion: (config.strictVersion ?? false) as false,\n          eager: (config.eager ?? false) as false,\n        },\n      };\n    }\n  }\n\n  return merged;\n}\n"],"mappings":";;;;;AAEA,MAAMA,yFAAwC;AAW9C,SAAS,2BAA2B,aAAqB,eAA+B;AACtF,KAAI;AACF,SAAOA,UAAQ,GAAG,YAAY,eAAe,CAAC;SACxC;EACN,MAAM,QAAQ,cAAc,MAAM,oCAAoC;AACtE,SAAO,QAAQ,MAAM,KAAK,cAAc,QAAQ,gBAAgB,GAAG;;;AAIvE,MAAa;AAGb,MAAa,eAAe;CAC1B,WAAW;CACX,iBAAiB;CACjB,eAAe;CACf,OAAO;CACR;AAED,MAAa,sBAAsB;CACjC,gBAAgB;EACd,SAAS;EACT,aAAa;EACd;CACD,QAAQ;EACN,SAAS,2BAA2B,UAAU,UAAU;EACxD,aAAa;EACd;CACD,KAAK;EACH,SAAS,2BAA2B,OAAO,SAAS;EACpD,aAAa;EACd;CACD,kBAAkB;EAChB,SAAS,2BAA2B,kBAAkB,UAAU;EAChE,aAAa;EACd;CACD,gBAAgB;EACd,SAAS,2BAA2B,gBAAgB,UAAU;EAC9D,aAAa;EACd;CACF;AAeD,SAAgB,sBACd,WACuE;CACvE,MAAM,SAAgF,EAAE;AAExF,MAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,oBAAoB,CAC9D,QAAO,QAAQ;EAAE,SAAS,OAAO;EAAS,aAAa,OAAO;EAAa;AAG7E,KAAI,UACF,MAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,UAAU,CACpD,QAAO,QAAQ;EACb,SAAS,OAAO;EAChB,aAAa;GACX,WAAY,OAAO,aAAa;GAChC,iBAAkB,OAAO,mBAAmB;GAC5C,eAAgB,OAAO,iBAAiB;GACxC,OAAQ,OAAO,SAAS;GACzB;EACF;AAIL,QAAO"}