every-plugin 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/build/rspack/dev-server-middleware.cjs +3 -40
  2. package/dist/build/rspack/dev-server-middleware.cjs.map +1 -1
  3. package/dist/build/rspack/dev-server-middleware.mjs +3 -40
  4. package/dist/build/rspack/dev-server-middleware.mjs.map +1 -1
  5. package/dist/errors.cjs +8 -0
  6. package/dist/errors.cjs.map +1 -1
  7. package/dist/errors.d.cts +2 -2
  8. package/dist/errors.d.cts.map +1 -1
  9. package/dist/errors.d.mts +2 -2
  10. package/dist/errors.d.mts.map +1 -1
  11. package/dist/errors.mjs +2 -1
  12. package/dist/errors.mjs.map +1 -1
  13. package/dist/index.cjs +12 -4
  14. package/dist/index.d.cts +2 -1
  15. package/dist/index.d.mts +2 -1
  16. package/dist/index.mjs +2 -1
  17. package/dist/orpc.d.mts +1 -1
  18. package/dist/orpc.mjs +2 -2
  19. package/dist/package.cjs +7 -7
  20. package/dist/package.cjs.map +1 -1
  21. package/dist/package.mjs +7 -7
  22. package/dist/package.mjs.map +1 -1
  23. package/dist/plugin.cjs +6 -2
  24. package/dist/plugin.cjs.map +1 -1
  25. package/dist/plugin.d.cts.map +1 -1
  26. package/dist/plugin.d.mts +5 -5
  27. package/dist/plugin.d.mts.map +1 -1
  28. package/dist/plugin.mjs +6 -2
  29. package/dist/plugin.mjs.map +1 -1
  30. package/dist/runtime/errors.cjs +100 -5
  31. package/dist/runtime/errors.cjs.map +1 -1
  32. package/dist/runtime/errors.d.cts +15 -3
  33. package/dist/runtime/errors.d.cts.map +1 -1
  34. package/dist/runtime/errors.d.mts +13 -1
  35. package/dist/runtime/errors.d.mts.map +1 -1
  36. package/dist/runtime/errors.mjs +98 -6
  37. package/dist/runtime/errors.mjs.map +1 -1
  38. package/dist/runtime/index.cjs +1 -1
  39. package/dist/runtime/index.mjs +1 -1
  40. package/dist/runtime/services/module-federation.service.cjs +5 -0
  41. package/dist/runtime/services/module-federation.service.cjs.map +1 -1
  42. package/dist/runtime/services/module-federation.service.d.cts.map +1 -1
  43. package/dist/runtime/services/module-federation.service.d.mts.map +1 -1
  44. package/dist/runtime/services/module-federation.service.mjs +5 -0
  45. package/dist/runtime/services/module-federation.service.mjs.map +1 -1
  46. package/dist/runtime/services/plugin-lifecycle.service.d.cts +1 -1
  47. package/dist/runtime/services/plugin-lifecycle.service.d.mts +1 -1
  48. package/dist/runtime/services/plugin-loader.service.d.cts +1 -1
  49. package/dist/runtime/services/plugin-loader.service.d.mts +2 -2
  50. package/dist/runtime/services/plugin.service.d.cts +1 -1
  51. package/dist/runtime/services/plugin.service.d.mts +2 -2
  52. package/dist/runtime/services/secrets.service.d.cts +1 -1
  53. package/dist/runtime/services/secrets.service.d.mts +1 -1
  54. package/dist/types.d.cts +7 -7
  55. package/dist/types.d.cts.map +1 -1
  56. package/dist/types.d.mts +9 -9
  57. package/dist/types.d.mts.map +1 -1
  58. package/package.json +20 -16
@@ -1,7 +1,7 @@
1
1
  import { PluginRuntimeError } from "./errors.mjs";
2
2
  import { PluginService } from "./services/plugin.service.mjs";
3
- import { createRouterClient } from "@orpc/server";
4
3
  import { Cause, Effect, Exit, Hash, ManagedRuntime, Option } from "effect";
4
+ import { createRouterClient } from "@orpc/server";
5
5
 
6
6
  //#region src/runtime/index.ts
7
7
  var PluginRuntime = class {
@@ -21,6 +21,7 @@ const createModuleFederationInstance = effect.Effect.cached(effect.Effect.sync((
21
21
  shared: {
22
22
  "every-plugin": {
23
23
  version: require_package.version,
24
+ get: () => Promise.resolve().then(() => require("../../index.cjs")).then((mod) => () => mod),
24
25
  shareConfig: {
25
26
  singleton: true,
26
27
  requiredVersion: getMajorVersionRange(require_package.version),
@@ -30,6 +31,7 @@ const createModuleFederationInstance = effect.Effect.cached(effect.Effect.sync((
30
31
  },
31
32
  effect: {
32
33
  version: require_package.dependencies.effect,
34
+ get: () => import("effect").then((mod) => () => mod),
33
35
  shareConfig: {
34
36
  singleton: true,
35
37
  requiredVersion: getMajorVersionRange(require_package.dependencies.effect),
@@ -39,6 +41,7 @@ const createModuleFederationInstance = effect.Effect.cached(effect.Effect.sync((
39
41
  },
40
42
  zod: {
41
43
  version: require_package.dependencies.zod,
44
+ get: () => import("zod").then((mod) => () => mod),
42
45
  shareConfig: {
43
46
  singleton: true,
44
47
  requiredVersion: getMajorVersionRange(require_package.dependencies.zod),
@@ -48,6 +51,7 @@ const createModuleFederationInstance = effect.Effect.cached(effect.Effect.sync((
48
51
  },
49
52
  "@orpc/contract": {
50
53
  version: require_package.dependencies["@orpc/contract"],
54
+ get: () => import("@orpc/contract").then((mod) => () => mod),
51
55
  shareConfig: {
52
56
  singleton: true,
53
57
  requiredVersion: getMajorVersionRange(require_package.dependencies["@orpc/contract"]),
@@ -57,6 +61,7 @@ const createModuleFederationInstance = effect.Effect.cached(effect.Effect.sync((
57
61
  },
58
62
  "@orpc/server": {
59
63
  version: require_package.dependencies["@orpc/server"],
64
+ get: () => import("@orpc/server").then((mod) => () => mod),
60
65
  shareConfig: {
61
66
  singleton: true,
62
67
  requiredVersion: getMajorVersionRange(require_package.dependencies["@orpc/server"]),
@@ -1 +1 @@
1
- {"version":3,"file":"module-federation.service.cjs","names":["version","Effect","getNormalizedRemoteName","ModuleFederationError","Constructor: any"],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":["import {\n\tcreateInstance,\n\tgetInstance,\n} from \"@module-federation/enhanced/runtime\";\nimport { setGlobalFederationInstance } from \"@module-federation/runtime-core\";\nimport { Effect } from \"effect\";\nimport type { AnyPlugin } from \"../../types\";\nimport { ModuleFederationError } from \"../errors\";\nimport { getNormalizedRemoteName } from \"./normalize\";\n\ntype RemoteModule = \n | (new () => AnyPlugin)\n | { default: new () => AnyPlugin };\n\nimport pkg from \"../../../package.json\";\n\nfunction getMajorVersionRange(version: string): string {\n\tconst match = version.match(/^[\\^~]?(\\d+)/);\n\tconst major = match ? match[1] : '0';\n\treturn `^${major}.0.0`;\n}\n\nconst createModuleFederationInstance = Effect.cached(\n\tEffect.sync(() => {\n\t\ttry {\n\t\t\tlet instance = getInstance();\n\n\t\t\tif (!instance) {\n\t\t\t\tinstance = createInstance({\n\t\t\t\t\tname: \"host\",\n\t\t\t\t\tremotes: [],\n\t\t\t\t\tshared: {\n\t\t\t\t\t\t\"every-plugin\": {\n\t\t\t\t\t\t\tversion: pkg.version,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.version),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.effect,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.effect),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzod: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.zod,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.zod),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/contract\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/contract\"],\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/contract\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/server\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/server\"],\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/server\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tsetGlobalFederationInstance(instance);\n\t\t\t}\n\n\t\t\treturn instance;\n\t\t} catch (error) {\n\t\t\tthrow new Error(`Failed to initialize Module Federation: ${error}`);\n\t\t}\n\t}),\n);\n\nexport class ModuleFederationService extends Effect.Service<ModuleFederationService>()(\"ModuleFederationService\", {\n\teffect: Effect.gen(function* () {\n\t\tconst mf = yield* Effect.flatten(createModuleFederationInstance);\n\n\t\treturn {\n\t\t\tregisterRemote: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconsole.log(`[MF] Registering ${pluginId}`);\n\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\n\t\t\t\t\tyield* Effect.try({\n\t\t\t\t\t\ttry: () => mf.registerRemotes([{\n\t\t\t\t\t\t\tname: remoteName,\n\t\t\t\t\t\t\tentry: url,\n\t\t\t\t\t\t}]),\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(`[MF] ✅ Registered ${pluginId}`);\n\t\t\t\t}),\n\n\t\t\tloadRemoteConstructor: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\t\t\t\t\tconsole.log(`[MF] Loading remote ${remoteName}`);\n\t\t\t\t\tconst modulePath = `${remoteName}/plugin`;\n\n\t\t\t\t\treturn yield* Effect.tryPromise({\n\t\t\t\t\t\ttry: async () => {\n\n\t\t\t\t\t\t\tconst container = await mf.loadRemote<RemoteModule>(modulePath);\n\t\t\t\t\t\t\tif (!container) {\n\t\t\t\t\t\t\t\tthrow new Error(`No container returned for ${modulePath}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Support multiple export patterns: direct function, default export, named exports\n\t\t\t\t\t\t\tlet Constructor: any;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (typeof container === \"function\") {\n\t\t\t\t\t\t\t\t// Direct function export\n\t\t\t\t\t\t\t\tConstructor = container;\n\t\t\t\t\t\t\t} else if (container.default) {\n\t\t\t\t\t\t\t\t// Default export\n\t\t\t\t\t\t\t\tConstructor = container.default;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Named export fallback - prioritize exports with 'binding' property (plugin classes)\n\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && (exp as any).binding !== undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Fallback to any function export if no binding found\n\t\t\t\t\t\t\t\tif (!Constructor) {\n\t\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && exp.prototype?.constructor === exp\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!Constructor || typeof Constructor !== \"function\") {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Available exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`No valid plugin constructor found for '${pluginId}'.\\n` +\n\t\t\t\t\t\t\t\t\t`Supported patterns:\\n` +\n\t\t\t\t\t\t\t\t\t` - export const YourPlugin = createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t` - export default createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Validate it looks like a plugin constructor (has binding property)\n\t\t\t\t\t\t\tif (!(Constructor as any).binding) {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Found exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid plugin constructor for '${pluginId}'. ` +\n\t\t\t\t\t\t\t\t\t`The exported value must be created with createPlugin(). ` +\n\t\t\t\t\t\t\t\t\t`Found a function but it's missing the required 'binding' property.\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.log(`[MF] ✅ Loaded constructor for ${pluginId}`);\n\t\t\t\t\t\t\treturn Constructor;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t};\n\t}),\n}) {}\n"],"mappings":";;;;;;;;;AAgBA,SAAS,qBAAqB,WAAyB;CACtD,MAAM,QAAQA,UAAQ,MAAM,eAAe;AAE3C,QAAO,IADO,QAAQ,MAAM,KAAK,IAChB;;AAGlB,MAAM,iCAAiCC,cAAO,OAC7CA,cAAO,WAAW;AACjB,KAAI;EACH,IAAI,kEAAwB;AAE5B,MAAI,CAAC,UAAU;AACd,uEAA0B;IACzB,MAAM;IACN,SAAS,EAAE;IACX,QAAQ;KACP,gBAAgB;MACf;MACA,aAAa;OACZ,WAAW;OACX,iBAAiB,6CAAiC;OAClD,OAAO;OACP,eAAe;OACf;MACD;KACD,QAAQ;MACP,sCAA0B;MAC1B,aAAa;OACZ,WAAW;OACX,iBAAiB,kDAAsC,OAAO;OAC9D,OAAO;OACP,eAAe;OACf;MACD;KACD,KAAK;MACJ,sCAA0B;MAC1B,aAAa;OACZ,WAAW;OACX,iBAAiB,kDAAsC,IAAI;OAC3D,OAAO;OACP,eAAe;OACf;MACD;KACD,kBAAkB;MACjB,sCAA0B;MAC1B,aAAa;OACZ,WAAW;OACX,iBAAiB,kDAAsC,kBAAkB;OACzE,OAAO;OACP,eAAe;OACf;MACD;KACD,gBAAgB;MACf,sCAA0B;MAC1B,aAAa;OACZ,WAAW;OACX,iBAAiB,kDAAsC,gBAAgB;OACvE,OAAO;OACP,eAAe;OACf;MACD;KACD;IACD,CAAC;AAEF,qEAA4B,SAAS;;AAGtC,SAAO;UACC,OAAO;AACf,QAAM,IAAI,MAAM,2CAA2C,QAAQ;;EAEnE,CACF;AAED,IAAa,0BAAb,cAA6CA,cAAO,SAAkC,CAAC,2BAA2B,EACjH,QAAQA,cAAO,IAAI,aAAa;CAC/B,MAAM,KAAK,OAAOA,cAAO,QAAQ,+BAA+B;AAEhE,QAAO;EACN,iBAAiB,UAAkB,QAClCA,cAAO,IAAI,aAAa;AACvB,WAAQ,IAAI,oBAAoB,WAAW;GAE3C,MAAM,aAAaC,2DAAwB,SAAS;AAEpD,UAAOD,cAAO,IAAI;IACjB,WAAW,GAAG,gBAAgB,CAAC;KAC9B,MAAM;KACN,OAAO;KACP,CAAC,CAAC;IACH,QAAQ,UACP,IAAIE,qCAAsB;KACzB;KACA,WAAW;KACX,OACC,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC;KAC1D,CAAC;IACH,CAAC;AAEF,WAAQ,IAAI,qBAAqB,WAAW;IAC3C;EAEH,wBAAwB,UAAkB,QACzCF,cAAO,IAAI,aAAa;GACvB,MAAM,aAAaC,2DAAwB,SAAS;AACpD,WAAQ,IAAI,uBAAuB,aAAa;GAChD,MAAM,aAAa,GAAG,WAAW;AAEjC,UAAO,OAAOD,cAAO,WAAW;IAC/B,KAAK,YAAY;KAEhB,MAAM,YAAY,MAAM,GAAG,WAAyB,WAAW;AAC/D,SAAI,CAAC,UACJ,OAAM,IAAI,MAAM,6BAA6B,aAAa;KAI3D,IAAIG;AAEJ,SAAI,OAAO,cAAc,WAExB,eAAc;cACJ,UAAU,QAEpB,eAAc,UAAU;UAClB;AAEN,oBAAc,OAAO,OAAO,UAAU,CAAC,MACrC,QAAQ,OAAO,QAAQ,cAAe,IAAY,YAAY,OAC/D;AAGD,UAAI,CAAC,YACJ,eAAc,OAAO,OAAO,UAAU,CAAC,MACrC,QAAQ,OAAO,QAAQ,cAAc,IAAI,WAAW,gBAAgB,IACrE;;AAIH,SAAI,CAAC,eAAe,OAAO,gBAAgB,YAAY;MACtD,MAAM,gBAAgB,OAAO,cAAc,WACxC,sBAAsB,OAAO,KAAK,UAAU,CAAC,KAAK,KAAK,KACvD,mBAAmB,OAAO;AAE7B,YAAM,IAAI,MACT,0CAA0C,SAAS,sHAIhD,gBACH;;AAIF,SAAI,CAAE,YAAoB,SAAS;MAClC,MAAM,gBAAgB,OAAO,cAAc,WACxC,kBAAkB,OAAO,KAAK,UAAU,CAAC,KAAK,KAAK,KACnD,mBAAmB,OAAO;AAE7B,YAAM,IAAI,MACT,mCAAmC,SAAS,iIAGzC,gBACH;;AAGF,aAAQ,IAAI,iCAAiC,WAAW;AACxD,YAAO;;IAER,QAAQ,UACP,IAAID,qCAAsB;KACzB;KACA,WAAW;KACX,OACC,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC;KAC1D,CAAC;IACH,CAAC;IACD;EACH;EACA,EACF,CAAC,CAAC"}
1
+ {"version":3,"file":"module-federation.service.cjs","names":["version","Effect","getNormalizedRemoteName","ModuleFederationError","Constructor: any"],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":["import {\n\tcreateInstance,\n\tgetInstance,\n} from \"@module-federation/enhanced/runtime\";\nimport { setGlobalFederationInstance } from \"@module-federation/runtime-core\";\nimport { Effect } from \"effect\";\nimport type { AnyPlugin } from \"../../types\";\nimport { ModuleFederationError } from \"../errors\";\nimport { getNormalizedRemoteName } from \"./normalize\";\n\ntype RemoteModule = \n | (new () => AnyPlugin)\n | { default: new () => AnyPlugin };\n\nimport pkg from \"../../../package.json\";\n\nfunction getMajorVersionRange(version: string): string {\n\tconst match = version.match(/^[\\^~]?(\\d+)/);\n\tconst major = match ? match[1] : '0';\n\treturn `^${major}.0.0`;\n}\n\nconst createModuleFederationInstance = Effect.cached(\n\tEffect.sync(() => {\n\t\ttry {\n\t\t\tlet instance = getInstance();\n\n\t\t\tif (!instance) {\n\t\t\t\tinstance = createInstance({\n\t\t\t\t\tname: \"host\",\n\t\t\t\t\tremotes: [],\n\t\t\t\t\tshared: {\n\t\t\t\t\t\t\"every-plugin\": {\n\t\t\t\t\t\t\tversion: pkg.version,\n\t\t\t\t\t\t\tget: () => import(\"every-plugin\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.version),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.effect,\n\t\t\t\t\t\t\tget: () => import(\"effect\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.effect),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzod: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.zod,\n\t\t\t\t\t\t\tget: () => import(\"zod\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.zod),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/contract\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/contract\"],\n\t\t\t\t\t\t\tget: () => import(\"@orpc/contract\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/contract\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/server\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/server\"],\n\t\t\t\t\t\t\tget: () => import(\"@orpc/server\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/server\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tsetGlobalFederationInstance(instance);\n\t\t\t}\n\n\t\t\treturn instance;\n\t\t} catch (error) {\n\t\t\tthrow new Error(`Failed to initialize Module Federation: ${error}`);\n\t\t}\n\t}),\n);\n\nexport class ModuleFederationService extends Effect.Service<ModuleFederationService>()(\"ModuleFederationService\", {\n\teffect: Effect.gen(function* () {\n\t\tconst mf = yield* Effect.flatten(createModuleFederationInstance);\n\n\t\treturn {\n\t\t\tregisterRemote: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconsole.log(`[MF] Registering ${pluginId}`);\n\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\n\t\t\t\t\tyield* Effect.try({\n\t\t\t\t\t\ttry: () => mf.registerRemotes([{\n\t\t\t\t\t\t\tname: remoteName,\n\t\t\t\t\t\t\tentry: url,\n\t\t\t\t\t\t}]),\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(`[MF] ✅ Registered ${pluginId}`);\n\t\t\t\t}),\n\n\t\t\tloadRemoteConstructor: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\t\t\t\t\tconsole.log(`[MF] Loading remote ${remoteName}`);\n\t\t\t\t\tconst modulePath = `${remoteName}/plugin`;\n\n\t\t\t\t\treturn yield* Effect.tryPromise({\n\t\t\t\t\t\ttry: async () => {\n\n\t\t\t\t\t\t\tconst container = await mf.loadRemote<RemoteModule>(modulePath);\n\t\t\t\t\t\t\tif (!container) {\n\t\t\t\t\t\t\t\tthrow new Error(`No container returned for ${modulePath}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Support multiple export patterns: direct function, default export, named exports\n\t\t\t\t\t\t\tlet Constructor: any;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (typeof container === \"function\") {\n\t\t\t\t\t\t\t\t// Direct function export\n\t\t\t\t\t\t\t\tConstructor = container;\n\t\t\t\t\t\t\t} else if (container.default) {\n\t\t\t\t\t\t\t\t// Default export\n\t\t\t\t\t\t\t\tConstructor = container.default;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Named export fallback - prioritize exports with 'binding' property (plugin classes)\n\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && (exp as any).binding !== undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Fallback to any function export if no binding found\n\t\t\t\t\t\t\t\tif (!Constructor) {\n\t\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && exp.prototype?.constructor === exp\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!Constructor || typeof Constructor !== \"function\") {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Available exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`No valid plugin constructor found for '${pluginId}'.\\n` +\n\t\t\t\t\t\t\t\t\t`Supported patterns:\\n` +\n\t\t\t\t\t\t\t\t\t` - export const YourPlugin = createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t` - export default createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Validate it looks like a plugin constructor (has binding property)\n\t\t\t\t\t\t\tif (!(Constructor as any).binding) {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Found exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid plugin constructor for '${pluginId}'. ` +\n\t\t\t\t\t\t\t\t\t`The exported value must be created with createPlugin(). ` +\n\t\t\t\t\t\t\t\t\t`Found a function but it's missing the required 'binding' property.\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.log(`[MF] ✅ Loaded constructor for ${pluginId}`);\n\t\t\t\t\t\t\treturn Constructor;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t};\n\t}),\n}) {}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module-federation.service.d.cts","names":[],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":[],"mappings":";;;;cAOkD;;IAAA,cAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GAwFD,MAAA,CAAA,MAxFC,CAAA,IAAA,EAwFD,qBAxFC,EAAA,KAAA,CAAA;8DA+GM,MAAA,CAAA,YAAA;EAvBP,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;CAAA,CAAA;AAuBO,cA5B3C,uBAAA,SAAgC,4BAAA,CA4BW"}
1
+ {"version":3,"file":"module-federation.service.d.cts","names":[],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":[],"mappings":";;;;cAOkD;;IAAA,cAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GA6FD,MAAA,CAAA,MA7FC,CAAA,IAAA,EA6FD,qBA7FC,EAAA,KAAA,CAAA;8DAoHM,MAAA,CAAA,YAAA;EAvBP,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;CAAA,CAAA;AAuBO,cA5B3C,uBAAA,SAAgC,4BAAA,CA4BW"}
@@ -1 +1 @@
1
- {"version":3,"file":"module-federation.service.d.mts","names":[],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":[],"mappings":";;;;cAOkD;;IAAA,cAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GAwFD,MAAA,CAAA,MAxFC,CAAA,IAAA,EAwFD,qBAxFC,EAAA,KAAA,CAAA;8DA+GM,MAAA,CAAA,YAAA;EAvBP,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;CAAA,CAAA;AAuBO,cA5B3C,uBAAA,SAAgC,4BAAA,CA4BW"}
1
+ {"version":3,"file":"module-federation.service.d.mts","names":[],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":[],"mappings":";;;;cAOkD;;IAAA,cAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GA6FD,MAAA,CAAA,MA7FC,CAAA,IAAA,EA6FD,qBA7FC,EAAA,KAAA,CAAA;8DAoHM,MAAA,CAAA,YAAA;EAvBP,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;CAAA,CAAA;AAuBO,cA5B3C,uBAAA,SAAgC,4BAAA,CA4BW"}
@@ -20,6 +20,7 @@ const createModuleFederationInstance = Effect.cached(Effect.sync(() => {
20
20
  shared: {
21
21
  "every-plugin": {
22
22
  version,
23
+ get: () => import("../../index.mjs").then((mod) => () => mod),
23
24
  shareConfig: {
24
25
  singleton: true,
25
26
  requiredVersion: getMajorVersionRange(version),
@@ -29,6 +30,7 @@ const createModuleFederationInstance = Effect.cached(Effect.sync(() => {
29
30
  },
30
31
  effect: {
31
32
  version: dependencies.effect,
33
+ get: () => import("effect").then((mod) => () => mod),
32
34
  shareConfig: {
33
35
  singleton: true,
34
36
  requiredVersion: getMajorVersionRange(dependencies.effect),
@@ -38,6 +40,7 @@ const createModuleFederationInstance = Effect.cached(Effect.sync(() => {
38
40
  },
39
41
  zod: {
40
42
  version: dependencies.zod,
43
+ get: () => import("zod").then((mod) => () => mod),
41
44
  shareConfig: {
42
45
  singleton: true,
43
46
  requiredVersion: getMajorVersionRange(dependencies.zod),
@@ -47,6 +50,7 @@ const createModuleFederationInstance = Effect.cached(Effect.sync(() => {
47
50
  },
48
51
  "@orpc/contract": {
49
52
  version: dependencies["@orpc/contract"],
53
+ get: () => import("@orpc/contract").then((mod) => () => mod),
50
54
  shareConfig: {
51
55
  singleton: true,
52
56
  requiredVersion: getMajorVersionRange(dependencies["@orpc/contract"]),
@@ -56,6 +60,7 @@ const createModuleFederationInstance = Effect.cached(Effect.sync(() => {
56
60
  },
57
61
  "@orpc/server": {
58
62
  version: dependencies["@orpc/server"],
63
+ get: () => import("@orpc/server").then((mod) => () => mod),
59
64
  shareConfig: {
60
65
  singleton: true,
61
66
  requiredVersion: getMajorVersionRange(dependencies["@orpc/server"]),
@@ -1 +1 @@
1
- {"version":3,"file":"module-federation.service.mjs","names":["version","pkg.version","Constructor: any"],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":["import {\n\tcreateInstance,\n\tgetInstance,\n} from \"@module-federation/enhanced/runtime\";\nimport { setGlobalFederationInstance } from \"@module-federation/runtime-core\";\nimport { Effect } from \"effect\";\nimport type { AnyPlugin } from \"../../types\";\nimport { ModuleFederationError } from \"../errors\";\nimport { getNormalizedRemoteName } from \"./normalize\";\n\ntype RemoteModule = \n | (new () => AnyPlugin)\n | { default: new () => AnyPlugin };\n\nimport pkg from \"../../../package.json\";\n\nfunction getMajorVersionRange(version: string): string {\n\tconst match = version.match(/^[\\^~]?(\\d+)/);\n\tconst major = match ? match[1] : '0';\n\treturn `^${major}.0.0`;\n}\n\nconst createModuleFederationInstance = Effect.cached(\n\tEffect.sync(() => {\n\t\ttry {\n\t\t\tlet instance = getInstance();\n\n\t\t\tif (!instance) {\n\t\t\t\tinstance = createInstance({\n\t\t\t\t\tname: \"host\",\n\t\t\t\t\tremotes: [],\n\t\t\t\t\tshared: {\n\t\t\t\t\t\t\"every-plugin\": {\n\t\t\t\t\t\t\tversion: pkg.version,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.version),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.effect,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.effect),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzod: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.zod,\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.zod),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/contract\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/contract\"],\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/contract\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/server\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/server\"],\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/server\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tsetGlobalFederationInstance(instance);\n\t\t\t}\n\n\t\t\treturn instance;\n\t\t} catch (error) {\n\t\t\tthrow new Error(`Failed to initialize Module Federation: ${error}`);\n\t\t}\n\t}),\n);\n\nexport class ModuleFederationService extends Effect.Service<ModuleFederationService>()(\"ModuleFederationService\", {\n\teffect: Effect.gen(function* () {\n\t\tconst mf = yield* Effect.flatten(createModuleFederationInstance);\n\n\t\treturn {\n\t\t\tregisterRemote: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconsole.log(`[MF] Registering ${pluginId}`);\n\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\n\t\t\t\t\tyield* Effect.try({\n\t\t\t\t\t\ttry: () => mf.registerRemotes([{\n\t\t\t\t\t\t\tname: remoteName,\n\t\t\t\t\t\t\tentry: url,\n\t\t\t\t\t\t}]),\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(`[MF] ✅ Registered ${pluginId}`);\n\t\t\t\t}),\n\n\t\t\tloadRemoteConstructor: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\t\t\t\t\tconsole.log(`[MF] Loading remote ${remoteName}`);\n\t\t\t\t\tconst modulePath = `${remoteName}/plugin`;\n\n\t\t\t\t\treturn yield* Effect.tryPromise({\n\t\t\t\t\t\ttry: async () => {\n\n\t\t\t\t\t\t\tconst container = await mf.loadRemote<RemoteModule>(modulePath);\n\t\t\t\t\t\t\tif (!container) {\n\t\t\t\t\t\t\t\tthrow new Error(`No container returned for ${modulePath}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Support multiple export patterns: direct function, default export, named exports\n\t\t\t\t\t\t\tlet Constructor: any;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (typeof container === \"function\") {\n\t\t\t\t\t\t\t\t// Direct function export\n\t\t\t\t\t\t\t\tConstructor = container;\n\t\t\t\t\t\t\t} else if (container.default) {\n\t\t\t\t\t\t\t\t// Default export\n\t\t\t\t\t\t\t\tConstructor = container.default;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Named export fallback - prioritize exports with 'binding' property (plugin classes)\n\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && (exp as any).binding !== undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Fallback to any function export if no binding found\n\t\t\t\t\t\t\t\tif (!Constructor) {\n\t\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && exp.prototype?.constructor === exp\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!Constructor || typeof Constructor !== \"function\") {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Available exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`No valid plugin constructor found for '${pluginId}'.\\n` +\n\t\t\t\t\t\t\t\t\t`Supported patterns:\\n` +\n\t\t\t\t\t\t\t\t\t` - export const YourPlugin = createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t` - export default createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Validate it looks like a plugin constructor (has binding property)\n\t\t\t\t\t\t\tif (!(Constructor as any).binding) {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Found exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid plugin constructor for '${pluginId}'. ` +\n\t\t\t\t\t\t\t\t\t`The exported value must be created with createPlugin(). ` +\n\t\t\t\t\t\t\t\t\t`Found a function but it's missing the required 'binding' property.\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.log(`[MF] ✅ Loaded constructor for ${pluginId}`);\n\t\t\t\t\t\t\treturn Constructor;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t};\n\t}),\n}) {}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module-federation.service.mjs","names":["version","pkg.version","Constructor: any"],"sources":["../../../src/runtime/services/module-federation.service.ts"],"sourcesContent":["import {\n\tcreateInstance,\n\tgetInstance,\n} from \"@module-federation/enhanced/runtime\";\nimport { setGlobalFederationInstance } from \"@module-federation/runtime-core\";\nimport { Effect } from \"effect\";\nimport type { AnyPlugin } from \"../../types\";\nimport { ModuleFederationError } from \"../errors\";\nimport { getNormalizedRemoteName } from \"./normalize\";\n\ntype RemoteModule = \n | (new () => AnyPlugin)\n | { default: new () => AnyPlugin };\n\nimport pkg from \"../../../package.json\";\n\nfunction getMajorVersionRange(version: string): string {\n\tconst match = version.match(/^[\\^~]?(\\d+)/);\n\tconst major = match ? match[1] : '0';\n\treturn `^${major}.0.0`;\n}\n\nconst createModuleFederationInstance = Effect.cached(\n\tEffect.sync(() => {\n\t\ttry {\n\t\t\tlet instance = getInstance();\n\n\t\t\tif (!instance) {\n\t\t\t\tinstance = createInstance({\n\t\t\t\t\tname: \"host\",\n\t\t\t\t\tremotes: [],\n\t\t\t\t\tshared: {\n\t\t\t\t\t\t\"every-plugin\": {\n\t\t\t\t\t\t\tversion: pkg.version,\n\t\t\t\t\t\t\tget: () => import(\"every-plugin\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.version),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\teffect: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.effect,\n\t\t\t\t\t\t\tget: () => import(\"effect\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.effect),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tzod: {\n\t\t\t\t\t\t\tversion: pkg.dependencies.zod,\n\t\t\t\t\t\t\tget: () => import(\"zod\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies.zod),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/contract\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/contract\"],\n\t\t\t\t\t\t\tget: () => import(\"@orpc/contract\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/contract\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"@orpc/server\": {\n\t\t\t\t\t\t\tversion: pkg.dependencies[\"@orpc/server\"],\n\t\t\t\t\t\t\tget: () => import(\"@orpc/server\").then(mod => () => mod),\n\t\t\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\trequiredVersion: getMajorVersionRange(pkg.dependencies[\"@orpc/server\"]),\n\t\t\t\t\t\t\t\teager: false,\n\t\t\t\t\t\t\t\tstrictVersion: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tsetGlobalFederationInstance(instance);\n\t\t\t}\n\n\t\t\treturn instance;\n\t\t} catch (error) {\n\t\t\tthrow new Error(`Failed to initialize Module Federation: ${error}`);\n\t\t}\n\t}),\n);\n\nexport class ModuleFederationService extends Effect.Service<ModuleFederationService>()(\"ModuleFederationService\", {\n\teffect: Effect.gen(function* () {\n\t\tconst mf = yield* Effect.flatten(createModuleFederationInstance);\n\n\t\treturn {\n\t\t\tregisterRemote: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconsole.log(`[MF] Registering ${pluginId}`);\n\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\n\t\t\t\t\tyield* Effect.try({\n\t\t\t\t\t\ttry: () => mf.registerRemotes([{\n\t\t\t\t\t\t\tname: remoteName,\n\t\t\t\t\t\t\tentry: url,\n\t\t\t\t\t\t}]),\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(`[MF] ✅ Registered ${pluginId}`);\n\t\t\t\t}),\n\n\t\t\tloadRemoteConstructor: (pluginId: string, url: string) =>\n\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\tconst remoteName = getNormalizedRemoteName(pluginId);\n\t\t\t\t\tconsole.log(`[MF] Loading remote ${remoteName}`);\n\t\t\t\t\tconst modulePath = `${remoteName}/plugin`;\n\n\t\t\t\t\treturn yield* Effect.tryPromise({\n\t\t\t\t\t\ttry: async () => {\n\n\t\t\t\t\t\t\tconst container = await mf.loadRemote<RemoteModule>(modulePath);\n\t\t\t\t\t\t\tif (!container) {\n\t\t\t\t\t\t\t\tthrow new Error(`No container returned for ${modulePath}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Support multiple export patterns: direct function, default export, named exports\n\t\t\t\t\t\t\tlet Constructor: any;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (typeof container === \"function\") {\n\t\t\t\t\t\t\t\t// Direct function export\n\t\t\t\t\t\t\t\tConstructor = container;\n\t\t\t\t\t\t\t} else if (container.default) {\n\t\t\t\t\t\t\t\t// Default export\n\t\t\t\t\t\t\t\tConstructor = container.default;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Named export fallback - prioritize exports with 'binding' property (plugin classes)\n\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && (exp as any).binding !== undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Fallback to any function export if no binding found\n\t\t\t\t\t\t\t\tif (!Constructor) {\n\t\t\t\t\t\t\t\t\tConstructor = Object.values(container).find(\n\t\t\t\t\t\t\t\t\t\t(exp) => typeof exp === \"function\" && exp.prototype?.constructor === exp\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!Constructor || typeof Constructor !== \"function\") {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Available exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`No valid plugin constructor found for '${pluginId}'.\\n` +\n\t\t\t\t\t\t\t\t\t`Supported patterns:\\n` +\n\t\t\t\t\t\t\t\t\t` - export const YourPlugin = createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t` - export default createPlugin({...})\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Validate it looks like a plugin constructor (has binding property)\n\t\t\t\t\t\t\tif (!(Constructor as any).binding) {\n\t\t\t\t\t\t\t\tconst containerInfo = typeof container === \"object\"\n\t\t\t\t\t\t\t\t\t? `Found exports: ${Object.keys(container).join(', ')}`\n\t\t\t\t\t\t\t\t\t: `Container type: ${typeof container}`;\n\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid plugin constructor for '${pluginId}'. ` +\n\t\t\t\t\t\t\t\t\t`The exported value must be created with createPlugin(). ` +\n\t\t\t\t\t\t\t\t\t`Found a function but it's missing the required 'binding' property.\\n` +\n\t\t\t\t\t\t\t\t\t`${containerInfo}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.log(`[MF] ✅ Loaded constructor for ${pluginId}`);\n\t\t\t\t\t\t\treturn Constructor;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcatch: (error): ModuleFederationError =>\n\t\t\t\t\t\t\tnew ModuleFederationError({\n\t\t\t\t\t\t\t\tpluginId,\n\t\t\t\t\t\t\t\tremoteUrl: url,\n\t\t\t\t\t\t\t\tcause:\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t};\n\t}),\n}) {}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AnyPlugin, InitializedPlugin } from "../../types.cjs";
2
1
  import { PluginRuntimeError } from "../errors.cjs";
2
+ import { AnyPlugin, InitializedPlugin } from "../../types.cjs";
3
3
  import { Effect } from "effect";
4
4
 
5
5
  //#region src/runtime/services/plugin-lifecycle.service.d.ts
@@ -1,5 +1,5 @@
1
- import { AnyPlugin, InitializedPlugin } from "../../types.mjs";
2
1
  import { PluginRuntimeError } from "../errors.mjs";
2
+ import { AnyPlugin, InitializedPlugin } from "../../types.mjs";
3
3
  import { Effect } from "effect";
4
4
 
5
5
  //#region src/runtime/services/plugin-lifecycle.service.d.ts
@@ -1,5 +1,5 @@
1
- import { AnyPlugin, AnyPluginConstructor, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry } from "../../types.cjs";
2
1
  import { PluginRuntimeError } from "../errors.cjs";
2
+ import { AnyPlugin, AnyPluginConstructor, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry } from "../../types.cjs";
3
3
  import { ModuleFederationService } from "./module-federation.service.cjs";
4
4
  import { SecretsService } from "./secrets.service.cjs";
5
5
  import { Context, Effect, Scope } from "effect";
@@ -1,9 +1,9 @@
1
- import { AnyPlugin, AnyPluginConstructor, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry } from "../../types.mjs";
2
1
  import { PluginRuntimeError } from "../errors.mjs";
2
+ import { AnyPlugin, AnyPluginConstructor, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry } from "../../types.mjs";
3
3
  import { ModuleFederationService } from "./module-federation.service.mjs";
4
4
  import { SecretsService } from "./secrets.service.mjs";
5
- import { Context, Effect, Scope } from "effect";
6
5
  import { InferSchemaInput, InferSchemaOutput } from "@orpc/contract";
6
+ import { Context, Effect, Scope } from "effect";
7
7
 
8
8
  //#region src/runtime/services/plugin-loader.service.d.ts
9
9
  declare const PluginRegistryTag_base: Context.TagClass<PluginRegistryTag, "PluginRegistry", PluginRegistry>;
@@ -1,5 +1,5 @@
1
- import { AnyPlugin, AnyPluginConstructor, InitializedPlugin, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry, SecretsConfig } from "../../types.cjs";
2
1
  import { PluginRuntimeError } from "../errors.cjs";
2
+ import { AnyPlugin, AnyPluginConstructor, InitializedPlugin, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry, SecretsConfig } from "../../types.cjs";
3
3
  import { PluginLifecycleService } from "./plugin-lifecycle.service.cjs";
4
4
  import { PluginLoaderService } from "./plugin-loader.service.cjs";
5
5
  import "../../index.cjs";
@@ -1,10 +1,10 @@
1
- import { AnyPlugin, AnyPluginConstructor, InitializedPlugin, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry, SecretsConfig } from "../../types.mjs";
2
1
  import { PluginRuntimeError } from "../errors.mjs";
2
+ import { AnyPlugin, AnyPluginConstructor, InitializedPlugin, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry, SecretsConfig } from "../../types.mjs";
3
3
  import { PluginLifecycleService } from "./plugin-lifecycle.service.mjs";
4
4
  import { PluginLoaderService } from "./plugin-loader.service.mjs";
5
5
  import "../../index.mjs";
6
- import { Effect, Layer, Scope } from "effect";
7
6
  import * as _orpc_contract0 from "@orpc/contract";
7
+ import { Effect, Layer, Scope } from "effect";
8
8
 
9
9
  //#region src/runtime/services/plugin.service.d.ts
10
10
  declare const PluginService_base: Effect.Service.Class<PluginService, "PluginService", {
@@ -1,5 +1,5 @@
1
- import { SecretsConfig } from "../../types.cjs";
2
1
  import { PluginRuntimeError } from "../errors.cjs";
2
+ import { SecretsConfig } from "../../types.cjs";
3
3
  import { Context, Effect } from "effect";
4
4
 
5
5
  //#region src/runtime/services/secrets.service.d.ts
@@ -1,5 +1,5 @@
1
- import { SecretsConfig } from "../../types.mjs";
2
1
  import { PluginRuntimeError } from "../errors.mjs";
2
+ import { SecretsConfig } from "../../types.mjs";
3
3
  import { Context, Effect } from "effect";
4
4
 
5
5
  //#region src/runtime/services/secrets.service.d.ts
package/dist/types.d.cts CHANGED
@@ -21,7 +21,7 @@ interface RegisteredPlugins {}
21
21
  /**
22
22
  * Base type for any plugin instance.
23
23
  */
24
- type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema, any>;
24
+ type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema | undefined, any>;
25
25
  /**
26
26
  * Loaded plugin constructor with binding information
27
27
  */
@@ -31,7 +31,7 @@ type AnyPluginConstructor = {
31
31
  contract: AnyContractRouter;
32
32
  variables: AnySchema;
33
33
  secrets: AnySchema;
34
- context: AnySchema;
34
+ context: AnySchema | undefined;
35
35
  };
36
36
  };
37
37
  /**
@@ -88,7 +88,7 @@ type PluginSecrets<T> = T extends {
88
88
  */
89
89
  type PluginContext<T> = T extends {
90
90
  binding: {
91
- context: infer C extends AnySchema;
91
+ context: infer C extends AnySchema | undefined;
92
92
  };
93
93
  } ? C : never;
94
94
  /**
@@ -111,7 +111,7 @@ type RegisteredPlugin<K$1 extends keyof R, R = RegisteredPlugins> = R[K$1] exten
111
111
  contract: infer C extends AnyContractRouter;
112
112
  variables: infer V extends AnySchema;
113
113
  secrets: infer S extends AnySchema;
114
- context: infer TRequestContext extends AnySchema;
114
+ context: infer TRequestContext extends AnySchema | undefined;
115
115
  } ? Plugin<C, V, S, TRequestContext, any> : never : never;
116
116
  /**
117
117
  * Extract plugin constructor type from registry entry
@@ -120,7 +120,7 @@ type PluginConstructor<K$1 extends keyof R, R = RegisteredPlugins> = RegisteredP
120
120
  /**
121
121
  * Extract context input type from plugin binding (for client creation)
122
122
  */
123
- type PluginContextInput<T> = InferSchemaInput<PluginContext<T>>;
123
+ type PluginContextInput<T> = PluginContext<T> extends AnySchema ? InferSchemaInput<PluginContext<T>> : never;
124
124
  /**
125
125
  * Extract config input type from plugin binding
126
126
  */
@@ -131,7 +131,7 @@ type PluginConfigInput<T> = {
131
131
  /**
132
132
  * Extract deps context type from plugin instance (used for initialization)
133
133
  */
134
- type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema, infer TDeps> ? TDeps : never;
134
+ type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema | undefined, infer TDeps> ? TDeps : never;
135
135
  /**
136
136
  * Plugin metadata for remote loading
137
137
  */
@@ -191,7 +191,7 @@ type VerifyPluginBinding<K$1 extends keyof R, R = RegisteredPlugins> = R[K$1] ex
191
191
  contract: AnyContractRouter;
192
192
  variables: AnySchema;
193
193
  secrets: AnySchema;
194
- context: AnySchema;
194
+ context: AnySchema | undefined;
195
195
  } ? true : `❌ Plugin "${K$1 & string}" is not properly registered. Ensure it extends plugin binding layout { contract, variables, secrets, context }.` : `❌ Plugin "${K$1 & string}" is not properly registered. Missing binding property.`;
196
196
  /**
197
197
  * Result of runtime.usePlugin() call
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAkBA;AAKA;;;;;;;AAKA;;AAGY,UAbK,iBAAA,CAaL;;;;AAUA,KAlBA,SAAA,GAAY,MAkBO,CAlBA,iBAmBlB,EAnBqC,SAmBjB,EAnB4B,SAmB5B,EAnBuC,SAmBvC,GAAA,SAAA,EAAA,GAAA,CAAA;AAMjC;AAKA;;AAA+C,KAzBnC,oBAAA,GAyBmC;EAClC,MAAA,EAzBL,SAyBK;EAAI,OAAA,EAAA;IAAE,QAAA,EAvBP,iBAuBO;IACjB,SAAA,EAvBW,SAuBX;IAAgB,OAAA,EAtBP,SAsBO;IAAoB,OAAA,EArB3B,SAqB2B,GAAA,SAAA;EAAkB,CAAA;CAAC;AAMzD;AAKA;AAKA;AAKY,KAnCA,mBAAA,GAmCmB;EAMnB,MAAA,EAxCC,oBAwCe;EAA4B,MAAA,CAAA,EAAA,MAAA;EAAf,OAAA,CAAA,EAAA,MAAA;EAAP,WAAA,CAAA,EAAA,MAAA;CAAM,GAAA;EAK5B,MAAA,EAAA,MAAA;EAAoD,OAAA,CAAA,EAAA,MAAA;EAAjB,WAAA,CAAA,EAAA,MAAA;CAAb;;AAOlC;;AAAoD,KA9CxC,iBA8CwC,CAAA,CAAA,CAAA,GA9CjB,CA8CiB,SAAA;EAClD,MAAA,EAAA,KAAA,EAAA;CAAE,GAAA,CAAA,GAAA,KAAA;;;;AAKuC,KA/C/B,wBA+C+B,CAAA,UA/CI,MA+CJ,CAAA,MAAA,EA/CmB,mBA+CnB,CAAA,CAAA,GAAA,QAEhC,MAhDE,CAgDF,GAhDM,CAgDN,CAhDQ,CAgDR,CAAA,SAAA;EAAG,MAAA,EAAA,KAAA,EAAA;AAAG,CAAA,GAAA,CAAA,GA/Cf,CA+Ce,SAAA,MA/CC,iBA+CD,GA/CqB,iBA+CrB,CA/CuC,CA+CvC,CAAA,GAAA,KAAA,EAAG;;;AAOpB;AAA8C,KAhDlC,cAgDkC,CAAA,CAAA,CAAA,GAhDd,CAgDc,SAAA;EAAO,OAAA,EAAA;IAAsC,QAAA,EAAA,KAAA,WAhDV,iBAgDU;EAAG,CAAA;CAApB,GAAA,CAAA,GAAA,KAAA;;AAK1E;;AAAoC,KAhDxB,eAgDwB,CAAA,CAAA,CAAA,GAhDH,CAgDG,SAAA;EAAyB,OAAA,EAAA;IAA2C,SAAA,EAAA,KAAA,WAhDrB,SAgDqB;EAAd,CAAA;CAAjB,GAAA,CAAA,GAAA,KAAA;;AAKzE;;AAC8B,KAjDlB,aAiDkB,CAAA,CAAA,CAAA,GAjDC,CAiDD,SAAA;EAAjB,OAAA,EAAA;IAC6B,OAAA,EAAA,KAAA,WAlDqC,SAkDrC;EAAd,CAAA;CAAjB,GAAA,CAAA,GAAA,KAAA;;AAOX;;AACE,KArDU,aAqDV,CAAA,CAAA,CAAA,GArD6B,CAqD7B,SAAA;EAAiB,OAAA,EAAA;IAAmB,OAAA,EAAA,KAAA,WArDyC,SAqDzC,GAAA,SAAA;EAAW,CAAA;CAAW,GAAA,CAAA,GAAA,KAAA;;;AAO5D;AASA;AAKY,KApEA,gBAoEA,CAAsB,CAAA,CAAA,GApEA,MAoEA,CApEO,cAoEW,CApEI,CAoEnB,CAAA,EAAA,GAAA,CAAM;AAM3C;AAOA;;AAAoD,KA5ExC,gBA4EwC,CAAA,CAAA,CAAA,GA5ElB,YA4EkB,CA5EL,gBA4EK,CA5EY,CA4EZ,CAAA,CAAA;;;;AAQpD;;AAAsD,KA7E1C,gBA6E0C,CAAA,YAAA,MA7ET,CA6ES,EAAA,IA7EF,iBA6EE,CAAA,GA5EpD,CA4EoD,CA5ElD,GA4EkD,CAAA,SAAA;EACnC,OAAA,EAAA,KAAA,EAAA;CACE,GAAA,CAAA,SAAA;EAAc,QAAA,EAAA,KAAA,WA5EL,iBA4EK;EAMlB,SAAA,EAAA,KAAA,WAjFc,SAiFG;EAAW,OAAA,EAAA,KAAA,WAhFhB,SAgFgB;EAAY,OAAA,EAAA,KAAA,yBA/Ed,SA+Ec,GAAA,SAAA;CACtC,GA9Ef,MA8Ee,CA9ER,CA8EQ,EA9EL,CA8EK,EA9EF,CA8EE,EA9EC,eA8ED,EAAA,GAAA,CAAA,GAAA,KAAA,GAAA,KAAA;;;;AAIY,KA3EnB,iBA2EmB,CAAA,YAAA,MA3Ee,CA2Ef,EAAA,IA3EsB,iBA2EtB,CAAA,GA3E2C,gBA2E3C,CA3E4D,GA2E5D,EA3E+D,CA2E/D,CAAA;;;;AAGP,KAzEZ,kBAyEY,CAAA,CAAA,CAAA,GAzEY,aAyEZ,CAzE0B,CAyE1B,CAAA,SAzEqC,SAyErC,GAzEiD,gBAyEjD,CAzEkE,aAyElE,CAzEgF,CAyEhF,CAAA,CAAA,GAAA,KAAA;;AACvB;;AAK+C,KA1EpC,iBA0EoC,CAAA,CAAA,CAAA,GAAA;EAC9C,SAAA,EA1EW,gBA0EX,CA1E4B,eA0E5B,CA1E4C,CA0E5C,CAAA,CAAA;EAAE,OAAA,EAzEO,gBAyEP,CAzEwB,aAyExB,CAzEsC,CAyEtC,CAAA,CAAA;CAEU;;;;AAMG,KA1EL,SA0EK,CAAA,UA1Ee,SA0Ef,CAAA,GAzEf,CAyEe,SAzEL,MAyEK,CAzEE,iBAyEF,EAzEqB,SAyErB,EAzEgC,SAyEhC,EAzE2C,SAyE3C,GAAA,SAAA,EAAA,KAAA,MAAA,CAAA,GAAA,KAAA,GAAA,KAAA;;;AAQjB;AAA4C,KA1EhC,cAAA,GA0EgC;EAAO,SAAA,SAAA,EAAA,MAAA;EAAyC,SAAA,OAAA,CAAA,EAAA,MAAA;EAAG,SAAA,WAAA,CAAA,EAAA,MAAA;CAAvB;;;;AAEY,KAnExE,cAAA,GAAiB,MAmEuD,CAAA,MAAA,EAnExC,mBAmEwC,CAAA;;;;AAC5C,KA/D5B,sBAAA,GAAyB,MA+DG,CAAA,MAAA,EA/DY,cA+DZ,CAAA;;;;;AAEI,UA3D3B,aAAA,CA2D2B;EAAlB,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;;;AAOT,UA3DA,YA2Dc,CAAA,UA3DS,SA2DT,GA3DqB,SA2DrB,CAAA,CAAA;EAe1B,SAAA,IAAU,EAAA,OAAA,GAzEY,CAyEN;EAKJ,SAAA,QAAW,EA7EP,cA6EO;;;;;AAoBJ,UA3FP,cA2FO,CAAA,UA3FkB,SA2FlB,GA3F8B,SA2F9B,CAAA,CAAA;EAAc,SAAA,MAAA,EA1FnB,CA0FmB;EAAX,SAAA,QAAA,EAzFN,cAyFM;;;AAO3B;;AAA+C,UA1F9B,iBA0F8B,CAAA,UA1FF,SA0FE,GA1FU,SA0FV,CAAA,CAAA;EAAqD,SAAA,MAAA,EAzFjF,CAyFiF;EAAf,SAAA,QAAA,EAxFhE,cAwFgE;EAC1E,SAAA,MAAA,EAAA;IACA,SAAA,EAxFI,iBAwFJ,CAxFsB,CAwFtB,CAAA,cAAA,CAAA,CAAA,WAAA,CAAA,CAAA;IACA,OAAA,EAxFE,iBAwFF,CAxFoB,CAwFpB,CAAA,cAAA,CAAA,CAAA,SAAA,CAAA,CAAA;EAAc,CAAA;EAOR,SAAA,OAAA,EA7FG,SA6FH,CA7Fa,CA6FY,CAAA;EAC/B,SAAA,KAAA,EA7FO,KAAA,CAAM,cA6Fb;;;;;KAvFN,sCAAoC,OAAO,qBAC9C,EAAE;;;YAEU;aACC;WACF;WACA;wBAGI,8IACA;;;;;;KAOL,kCAAgC,OAAO,qBAAqB,oBAAoB,KAAG;oCAEzD,mBAAmB,EAAE,UAAQ,iBAAiB,EAAE;mBACjE,iBAAiB,EAAE;qBACjB;wBACG,kBAAkB,iBAAiB,KAAG;IAE5D,oBAAoB,KAAG;;;;UAKV,cAAA;;;;;;;;;;;;;;KAeZ,gBAAgB;;QAA6C;;;;kBAKjD,WAAA;;;;;;;;;;;;;;;;;;0CAkB8B,qBAC3C,kBAAgB,WAAW,UACvB,gBAAgB,KAAG,WAAW;;;;;UAOrB,8BAA8B,eAAe,uBAAuB,eAAe;YACzF;YACA;YACA;;;;;;UAOM,yBAAA;YACN;YACA;YACA"}
package/dist/types.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Plugin } from "./plugin.mjs";
2
- import { Router, RouterClient } from "@orpc/server";
3
- import { Scope } from "effect";
4
2
  import { AnyContractRouter, AnySchema, InferSchemaInput, InferSchemaOutput } from "@orpc/contract";
3
+ import { Scope } from "effect";
4
+ import { Router, RouterClient } from "@orpc/server";
5
5
 
6
6
  //#region src/types.d.ts
7
7
 
@@ -21,7 +21,7 @@ interface RegisteredPlugins {}
21
21
  /**
22
22
  * Base type for any plugin instance.
23
23
  */
24
- type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema, any>;
24
+ type AnyPlugin = Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema | undefined, any>;
25
25
  /**
26
26
  * Loaded plugin constructor with binding information
27
27
  */
@@ -31,7 +31,7 @@ type AnyPluginConstructor = {
31
31
  contract: AnyContractRouter;
32
32
  variables: AnySchema;
33
33
  secrets: AnySchema;
34
- context: AnySchema;
34
+ context: AnySchema | undefined;
35
35
  };
36
36
  };
37
37
  /**
@@ -88,7 +88,7 @@ type PluginSecrets<T> = T extends {
88
88
  */
89
89
  type PluginContext<T> = T extends {
90
90
  binding: {
91
- context: infer C extends AnySchema;
91
+ context: infer C extends AnySchema | undefined;
92
92
  };
93
93
  } ? C : never;
94
94
  /**
@@ -111,7 +111,7 @@ type RegisteredPlugin<K$1 extends keyof R, R = RegisteredPlugins> = R[K$1] exten
111
111
  contract: infer C extends AnyContractRouter;
112
112
  variables: infer V extends AnySchema;
113
113
  secrets: infer S extends AnySchema;
114
- context: infer TRequestContext extends AnySchema;
114
+ context: infer TRequestContext extends AnySchema | undefined;
115
115
  } ? Plugin<C, V, S, TRequestContext, any> : never : never;
116
116
  /**
117
117
  * Extract plugin constructor type from registry entry
@@ -120,7 +120,7 @@ type PluginConstructor<K$1 extends keyof R, R = RegisteredPlugins> = RegisteredP
120
120
  /**
121
121
  * Extract context input type from plugin binding (for client creation)
122
122
  */
123
- type PluginContextInput<T> = InferSchemaInput<PluginContext<T>>;
123
+ type PluginContextInput<T> = PluginContext<T> extends AnySchema ? InferSchemaInput<PluginContext<T>> : never;
124
124
  /**
125
125
  * Extract config input type from plugin binding
126
126
  */
@@ -131,7 +131,7 @@ type PluginConfigInput<T> = {
131
131
  /**
132
132
  * Extract deps context type from plugin instance (used for initialization)
133
133
  */
134
- type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema, infer TDeps> ? TDeps : never;
134
+ type ContextOf<T extends AnyPlugin> = T extends Plugin<AnyContractRouter, AnySchema, AnySchema, AnySchema | undefined, infer TDeps> ? TDeps : never;
135
135
  /**
136
136
  * Plugin metadata for remote loading
137
137
  */
@@ -191,7 +191,7 @@ type VerifyPluginBinding<K$1 extends keyof R, R = RegisteredPlugins> = R[K$1] ex
191
191
  contract: AnyContractRouter;
192
192
  variables: AnySchema;
193
193
  secrets: AnySchema;
194
- context: AnySchema;
194
+ context: AnySchema | undefined;
195
195
  } ? true : `❌ Plugin "${K$1 & string}" is not properly registered. Ensure it extends plugin binding layout { contract, variables, secrets, context }.` : `❌ Plugin "${K$1 & string}" is not properly registered. Missing binding property.`;
196
196
  /**
197
197
  * Result of runtime.usePlugin() call
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "every-plugin",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -111,33 +111,37 @@
111
111
  },
112
112
  "peerDependencies": {
113
113
  "@rspack/core": "1.6.7",
114
- "typescript": "^5.6.0"
114
+ "typescript": "^5.9.3",
115
+ "effect": "^3.19.0",
116
+ "zod": "^4.0.0",
117
+ "@orpc/contract": "^1.12.0",
118
+ "@orpc/server": "^1.12.0"
115
119
  },
116
120
  "devDependencies": {
117
- "@effect/language-service": "^0.62.0",
121
+ "@effect/language-service": "^0.62.3",
118
122
  "@effect/vitest": "^0.27.0",
119
- "@orpc/client": "^1.12.2",
120
- "@orpc/openapi": "^1.12.2",
123
+ "@orpc/client": "^1.12.3",
124
+ "@orpc/openapi": "^1.12.3",
121
125
  "@rspack/cli": "^1.6.7",
122
126
  "@types/bun": "^1.3.4",
123
- "@types/node": "^25.0.0",
124
- "@vitest/ui": "4.0.15",
127
+ "@types/node": "^25.0.2",
128
+ "@vitest/ui": "4.0.16",
125
129
  "bun-types": "^1.3.4",
126
130
  "sirv": "^3.0.2",
127
- "tsdown": "^0.17.2",
128
- "vite-tsconfig-paths": "^5.1.4",
129
- "vitest": "^4.0.15"
131
+ "tsdown": "^0.18.0",
132
+ "vite-tsconfig-paths": "^6.0.1",
133
+ "vitest": "^4.0.16"
130
134
  },
131
135
  "dependencies": {
132
136
  "@module-federation/enhanced": "^0.21.6",
133
137
  "@module-federation/node": "^2.7.25",
134
138
  "@module-federation/runtime-core": "^0.21.6",
135
- "@orpc/contract": "^1.12.2",
136
- "@orpc/experimental-publisher": "^1.12.2",
137
- "@orpc/server": "^1.12.2",
138
- "@orpc/zod": "^1.12.2",
139
- "effect": "3.19.11",
140
- "zod": "4.1.13"
139
+ "@orpc/contract": "^1.12.3",
140
+ "@orpc/experimental-publisher": "^1.12.3",
141
+ "@orpc/server": "^1.12.3",
142
+ "@orpc/zod": "^1.12.3",
143
+ "effect": "3.19.12",
144
+ "zod": "4.2.1"
141
145
  },
142
146
  "keywords": [
143
147
  "plugin",