@module-federation/enhanced 0.2.0-canary.4 → 0.2.0

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 (393) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/dist/package.json +83 -0
  4. package/dist/src/declarations/plugins/container/AsyncDependenciesBlock.d.ts +57 -0
  5. package/dist/src/declarations/plugins/container/Dependency.d.ts +285 -0
  6. package/dist/src/declarations/plugins/container/Module.d.ts +138 -0
  7. package/dist/src/declarations/plugins/container/ModuleFactory.d.ts +33 -0
  8. package/dist/src/declarations/plugins/container/ObjectDeserializerContext.d.ts +4 -0
  9. package/dist/src/declarations/plugins/container/StaticExportsDependency.d.ts +28 -0
  10. package/dist/src/declarations/plugins/container/Template.d.ts +198 -0
  11. package/dist/src/declarations/plugins/container/WebpackError.d.ts +32 -0
  12. package/dist/src/declarations/plugins/container/WebpackOptions.d.ts +140 -0
  13. package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +74 -0
  14. package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +67 -0
  15. package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +78 -0
  16. package/dist/src/index.d.ts +14 -0
  17. package/dist/src/index.js +37 -0
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/lib/Constants.js +125 -0
  20. package/dist/src/lib/Constants.js.map +1 -0
  21. package/dist/src/lib/RuntimeGlobals.d.ts +0 -0
  22. package/{src → dist/src}/lib/RuntimeGlobals.js +144 -74
  23. package/dist/src/lib/RuntimeGlobals.js.map +1 -0
  24. package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +20 -0
  25. package/dist/src/lib/container/AsyncBoundaryPlugin.js +198 -0
  26. package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +1 -0
  27. package/dist/src/lib/container/ContainerEntryDependency.d.ts +24 -0
  28. package/dist/src/lib/container/ContainerEntryDependency.js +39 -0
  29. package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -0
  30. package/dist/src/lib/container/ContainerEntryModule.d.ts +75 -0
  31. package/dist/src/lib/container/ContainerEntryModule.js +240 -0
  32. package/dist/src/lib/container/ContainerEntryModule.js.map +1 -0
  33. package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +15 -0
  34. package/dist/src/lib/container/ContainerEntryModuleFactory.js +30 -0
  35. package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -0
  36. package/dist/src/lib/container/ContainerExposedDependency.d.ts +19 -0
  37. package/dist/src/lib/container/ContainerExposedDependency.js +49 -0
  38. package/dist/src/lib/container/ContainerExposedDependency.js.map +1 -0
  39. package/dist/src/lib/container/ContainerPlugin.d.ts +13 -0
  40. package/dist/src/lib/container/ContainerPlugin.js +188 -0
  41. package/dist/src/lib/container/ContainerPlugin.js.map +1 -0
  42. package/{src → dist/src}/lib/container/ContainerReferencePlugin.d.ts +3 -3
  43. package/dist/src/lib/container/ContainerReferencePlugin.js +102 -0
  44. package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -0
  45. package/dist/src/lib/container/FallbackDependency.d.ts +15 -0
  46. package/dist/src/lib/container/FallbackDependency.js +47 -0
  47. package/dist/src/lib/container/FallbackDependency.js.map +1 -0
  48. package/dist/src/lib/container/FallbackItemDependency.d.ts +3 -0
  49. package/dist/src/lib/container/FallbackItemDependency.js +26 -0
  50. package/dist/src/lib/container/FallbackItemDependency.js.map +1 -0
  51. package/dist/src/lib/container/FallbackModule.d.ts +54 -0
  52. package/dist/src/lib/container/FallbackModule.js +152 -0
  53. package/dist/src/lib/container/FallbackModule.js.map +1 -0
  54. package/dist/src/lib/container/FallbackModuleFactory.d.ts +11 -0
  55. package/dist/src/lib/container/FallbackModuleFactory.js +28 -0
  56. package/dist/src/lib/container/FallbackModuleFactory.js.map +1 -0
  57. package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +14 -0
  58. package/dist/src/lib/container/HoistContainerReferencesPlugin.js +64 -0
  59. package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -0
  60. package/dist/src/lib/container/ModuleFederationPlugin.d.ts +17 -0
  61. package/dist/src/lib/container/ModuleFederationPlugin.js +128 -0
  62. package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -0
  63. package/dist/src/lib/container/RemoteModule.d.ts +90 -0
  64. package/dist/src/lib/container/RemoteModule.js +148 -0
  65. package/dist/src/lib/container/RemoteModule.js.map +1 -0
  66. package/dist/src/lib/container/RemoteRuntimeModule.d.ts +12 -0
  67. package/dist/src/lib/container/RemoteRuntimeModule.js +101 -0
  68. package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -0
  69. package/{src → dist/src}/lib/container/RemoteToExternalDependency.d.ts +3 -9
  70. package/dist/src/lib/container/RemoteToExternalDependency.js +26 -0
  71. package/dist/src/lib/container/RemoteToExternalDependency.js.map +1 -0
  72. package/dist/src/lib/container/constant.d.ts +3 -0
  73. package/dist/src/lib/container/constant.js +12 -0
  74. package/dist/src/lib/container/constant.js.map +1 -0
  75. package/{src → dist/src}/lib/container/options.d.ts +12 -4
  76. package/{src → dist/src}/lib/container/options.js +32 -42
  77. package/dist/src/lib/container/options.js.map +1 -0
  78. package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +13 -0
  79. package/dist/src/lib/container/runtime/FederationRuntimeModule.js +49 -0
  80. package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -0
  81. package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +17 -0
  82. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +209 -0
  83. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -0
  84. package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +5 -0
  85. package/dist/src/lib/container/runtime/getFederationGlobal.js +26 -0
  86. package/dist/src/lib/container/runtime/getFederationGlobal.js.map +1 -0
  87. package/dist/src/lib/container/runtime/utils.d.ts +16 -0
  88. package/dist/src/lib/container/runtime/utils.js +83 -0
  89. package/dist/src/lib/container/runtime/utils.js.map +1 -0
  90. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +3 -0
  91. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +26 -0
  92. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -0
  93. package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +99 -0
  94. package/dist/src/lib/sharing/ConsumeSharedModule.js +206 -0
  95. package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -0
  96. package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +30 -0
  97. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +245 -0
  98. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -0
  99. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +31 -0
  100. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +124 -0
  101. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -0
  102. package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +3 -0
  103. package/dist/src/lib/sharing/ProvideForSharedDependency.js +27 -0
  104. package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +1 -0
  105. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +36 -0
  106. package/dist/src/lib/sharing/ProvideSharedDependency.js +70 -0
  107. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -0
  108. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +67 -0
  109. package/dist/src/lib/sharing/ProvideSharedModule.js +186 -0
  110. package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -0
  111. package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +18 -0
  112. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +30 -0
  113. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -0
  114. package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +47 -0
  115. package/dist/src/lib/sharing/ProvideSharedPlugin.js +195 -0
  116. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -0
  117. package/dist/src/lib/sharing/SharePlugin.d.ts +41 -0
  118. package/dist/src/lib/sharing/SharePlugin.js +79 -0
  119. package/dist/src/lib/sharing/SharePlugin.js.map +1 -0
  120. package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +14 -0
  121. package/dist/src/lib/sharing/ShareRuntimeModule.js +102 -0
  122. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -0
  123. package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +12 -0
  124. package/dist/src/lib/sharing/resolveMatchedConfigs.js +66 -0
  125. package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -0
  126. package/dist/src/lib/sharing/utils.d.ts +37 -0
  127. package/{src → dist/src}/lib/sharing/utils.js +109 -81
  128. package/dist/src/lib/sharing/utils.js.map +1 -0
  129. package/dist/src/rspack.d.ts +1 -0
  130. package/dist/src/rspack.js +6 -0
  131. package/dist/src/rspack.js.map +1 -0
  132. package/{src → dist/src}/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +1 -1
  133. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +19 -0
  134. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
  135. package/dist/src/runtime.d.ts +1 -0
  136. package/dist/src/runtime.js +18 -0
  137. package/dist/src/runtime.js.map +1 -0
  138. package/dist/src/schemas/container/ContainerPlugin.check.d.ts +7 -0
  139. package/dist/src/schemas/container/ContainerPlugin.check.js +2318 -0
  140. package/dist/src/schemas/container/ContainerPlugin.check.js.map +1 -0
  141. package/dist/src/schemas/container/ContainerPlugin.d.ts +289 -0
  142. package/dist/src/schemas/container/ContainerPlugin.js +326 -0
  143. package/dist/src/schemas/container/ContainerPlugin.js.map +1 -0
  144. package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +7 -0
  145. package/dist/src/schemas/container/ContainerReferencePlugin.check.js +939 -0
  146. package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +1 -0
  147. package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +87 -0
  148. package/dist/src/schemas/container/ContainerReferencePlugin.js +132 -0
  149. package/dist/src/schemas/container/ContainerReferencePlugin.js.map +1 -0
  150. package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +9 -0
  151. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +4001 -0
  152. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -0
  153. package/{src → dist/src}/schemas/container/ModuleFederationPlugin.d.ts +197 -4
  154. package/{src → dist/src}/schemas/container/ModuleFederationPlugin.js +349 -177
  155. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -0
  156. package/{src/schemas/container/ModuleFederationPlugin.check.d.ts → dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts} +2 -2
  157. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +434 -0
  158. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +1 -0
  159. package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +104 -0
  160. package/dist/src/schemas/sharing/ProviderSharedPlugin.js +119 -0
  161. package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +1 -0
  162. package/dist/src/types/runtime.d.ts +7 -0
  163. package/dist/src/types/runtime.js +3 -0
  164. package/dist/src/types/runtime.js.map +1 -0
  165. package/dist/src/webpack.d.ts +2 -0
  166. package/dist/src/webpack.js +9 -0
  167. package/dist/src/webpack.js.map +1 -0
  168. package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +8 -0
  169. package/dist/src/wrapper/AsyncBoundaryPlugin.js +19 -0
  170. package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +1 -0
  171. package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +8 -0
  172. package/dist/src/wrapper/ConsumeSharedPlugin.js +19 -0
  173. package/dist/src/wrapper/ConsumeSharedPlugin.js.map +1 -0
  174. package/dist/src/wrapper/ContainerPlugin.d.ts +8 -0
  175. package/dist/src/wrapper/ContainerPlugin.js +19 -0
  176. package/dist/src/wrapper/ContainerPlugin.js.map +1 -0
  177. package/dist/src/wrapper/ContainerReferencePlugin.d.ts +8 -0
  178. package/dist/src/wrapper/ContainerReferencePlugin.js +19 -0
  179. package/dist/src/wrapper/ContainerReferencePlugin.js.map +1 -0
  180. package/dist/src/wrapper/FederationRuntimePlugin.d.ts +9 -0
  181. package/dist/src/wrapper/FederationRuntimePlugin.js +22 -0
  182. package/dist/src/wrapper/FederationRuntimePlugin.js.map +1 -0
  183. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +7 -0
  184. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +19 -0
  185. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -0
  186. package/dist/src/wrapper/ModuleFederationPlugin.d.ts +8 -0
  187. package/dist/src/wrapper/ModuleFederationPlugin.js +39 -0
  188. package/dist/src/wrapper/ModuleFederationPlugin.js.map +1 -0
  189. package/dist/src/wrapper/ProvideSharedPlugin.d.ts +8 -0
  190. package/dist/src/wrapper/ProvideSharedPlugin.js +19 -0
  191. package/dist/src/wrapper/ProvideSharedPlugin.js.map +1 -0
  192. package/dist/src/wrapper/SharePlugin.d.ts +8 -0
  193. package/dist/src/wrapper/SharePlugin.js +19 -0
  194. package/dist/src/wrapper/SharePlugin.js.map +1 -0
  195. package/package.json +73 -7
  196. package/global.d.js +0 -14
  197. package/global.d.js.map +0 -1
  198. package/pullts.d.ts +0 -1
  199. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js +0 -14
  200. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js.map +0 -1
  201. package/src/declarations/plugins/container/ContainerPlugin.d.js +0 -12
  202. package/src/declarations/plugins/container/ContainerPlugin.d.js.map +0 -1
  203. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js +0 -12
  204. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js.map +0 -1
  205. package/src/declarations/plugins/container/Dependency.d.js +0 -14
  206. package/src/declarations/plugins/container/Dependency.d.js.map +0 -1
  207. package/src/declarations/plugins/container/Module.d.js +0 -3
  208. package/src/declarations/plugins/container/Module.d.js.map +0 -1
  209. package/src/declarations/plugins/container/ModuleFactory.d.js +0 -3
  210. package/src/declarations/plugins/container/ModuleFactory.d.js.map +0 -1
  211. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js +0 -12
  212. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js.map +0 -1
  213. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js +0 -6
  214. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js.map +0 -1
  215. package/src/declarations/plugins/container/StaticExportsDependency.d.js +0 -14
  216. package/src/declarations/plugins/container/StaticExportsDependency.d.js.map +0 -1
  217. package/src/declarations/plugins/container/Template.d.js +0 -4
  218. package/src/declarations/plugins/container/Template.d.js.map +0 -1
  219. package/src/declarations/plugins/container/WebpackError.d.js +0 -3
  220. package/src/declarations/plugins/container/WebpackError.d.js.map +0 -1
  221. package/src/declarations/plugins/container/WebpackOptions.d.js +0 -6
  222. package/src/declarations/plugins/container/WebpackOptions.d.js.map +0 -1
  223. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js +0 -12
  224. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  225. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js +0 -12
  226. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js.map +0 -1
  227. package/src/declarations/plugins/sharing/SharePlugin.d.js +0 -12
  228. package/src/declarations/plugins/sharing/SharePlugin.d.js.map +0 -1
  229. package/src/index.d.ts +0 -7
  230. package/src/index.js +0 -47
  231. package/src/index.js.map +0 -1
  232. package/src/lib/Constants.js +0 -103
  233. package/src/lib/Constants.js.map +0 -1
  234. package/src/lib/RuntimeGlobals.d.ts +0 -1
  235. package/src/lib/RuntimeGlobals.js.map +0 -1
  236. package/src/lib/container/AsyncBoundaryPlugin.d.ts +0 -16
  237. package/src/lib/container/AsyncBoundaryPlugin.js +0 -141
  238. package/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
  239. package/src/lib/container/ContainerEntryDependency.d.js +0 -4
  240. package/src/lib/container/ContainerEntryDependency.d.js.map +0 -1
  241. package/src/lib/container/ContainerEntryDependency.d.ts +0 -20
  242. package/src/lib/container/ContainerEntryDependency.js +0 -47
  243. package/src/lib/container/ContainerEntryDependency.js.map +0 -1
  244. package/src/lib/container/ContainerEntryModule.d.js +0 -14
  245. package/src/lib/container/ContainerEntryModule.d.js.map +0 -1
  246. package/src/lib/container/ContainerEntryModule.d.ts +0 -85
  247. package/src/lib/container/ContainerEntryModule.js +0 -281
  248. package/src/lib/container/ContainerEntryModule.js.map +0 -1
  249. package/src/lib/container/ContainerEntryModuleFactory.d.js +0 -4
  250. package/src/lib/container/ContainerEntryModuleFactory.d.js.map +0 -1
  251. package/src/lib/container/ContainerEntryModuleFactory.d.ts +0 -10
  252. package/src/lib/container/ContainerEntryModuleFactory.js +0 -37
  253. package/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
  254. package/src/lib/container/ContainerExposedDependency.d.js +0 -4
  255. package/src/lib/container/ContainerExposedDependency.d.js.map +0 -1
  256. package/src/lib/container/ContainerExposedDependency.d.ts +0 -26
  257. package/src/lib/container/ContainerExposedDependency.js +0 -57
  258. package/src/lib/container/ContainerExposedDependency.js.map +0 -1
  259. package/src/lib/container/ContainerPlugin.d.js +0 -4
  260. package/src/lib/container/ContainerPlugin.d.js.map +0 -1
  261. package/src/lib/container/ContainerPlugin.d.ts +0 -11
  262. package/src/lib/container/ContainerPlugin.js +0 -92
  263. package/src/lib/container/ContainerPlugin.js.map +0 -1
  264. package/src/lib/container/ContainerReferencePlugin.d.js +0 -4
  265. package/src/lib/container/ContainerReferencePlugin.d.js.map +0 -1
  266. package/src/lib/container/ContainerReferencePlugin.js +0 -141
  267. package/src/lib/container/ContainerReferencePlugin.js.map +0 -1
  268. package/src/lib/container/FallbackDependency.d.js +0 -14
  269. package/src/lib/container/FallbackDependency.d.js.map +0 -1
  270. package/src/lib/container/FallbackDependency.d.ts +0 -25
  271. package/src/lib/container/FallbackDependency.js +0 -59
  272. package/src/lib/container/FallbackDependency.js.map +0 -1
  273. package/src/lib/container/FallbackItemDependency.d.js +0 -4
  274. package/src/lib/container/FallbackItemDependency.d.js.map +0 -1
  275. package/src/lib/container/FallbackItemDependency.d.ts +0 -10
  276. package/src/lib/container/FallbackItemDependency.js +0 -37
  277. package/src/lib/container/FallbackItemDependency.js.map +0 -1
  278. package/src/lib/container/FallbackModule.d.js +0 -4
  279. package/src/lib/container/FallbackModule.d.js.map +0 -1
  280. package/src/lib/container/FallbackModule.d.ts +0 -73
  281. package/src/lib/container/FallbackModule.js +0 -153
  282. package/src/lib/container/FallbackModule.js.map +0 -1
  283. package/src/lib/container/FallbackModuleFactory.d.js +0 -4
  284. package/src/lib/container/FallbackModuleFactory.d.js.map +0 -1
  285. package/src/lib/container/FallbackModuleFactory.d.ts +0 -10
  286. package/src/lib/container/FallbackModuleFactory.js +0 -35
  287. package/src/lib/container/FallbackModuleFactory.js.map +0 -1
  288. package/src/lib/container/HoistContainerReferencesPlugin.d.ts +0 -19
  289. package/src/lib/container/HoistContainerReferencesPlugin.js +0 -78
  290. package/src/lib/container/HoistContainerReferencesPlugin.js.map +0 -1
  291. package/src/lib/container/ModuleFederationPlugin.d.js +0 -4
  292. package/src/lib/container/ModuleFederationPlugin.d.js.map +0 -1
  293. package/src/lib/container/ModuleFederationPlugin.d.ts +0 -16
  294. package/src/lib/container/ModuleFederationPlugin.js +0 -85
  295. package/src/lib/container/ModuleFederationPlugin.js.map +0 -1
  296. package/src/lib/container/ModuleFederationPluginTypes.d.js +0 -12
  297. package/src/lib/container/ModuleFederationPluginTypes.d.js.map +0 -1
  298. package/src/lib/container/RemoteModule.d.js +0 -13
  299. package/src/lib/container/RemoteModule.d.js.map +0 -1
  300. package/src/lib/container/RemoteModule.d.ts +0 -76
  301. package/src/lib/container/RemoteModule.js +0 -151
  302. package/src/lib/container/RemoteModule.js.map +0 -1
  303. package/src/lib/container/RemoteRuntimeModule.d.js +0 -13
  304. package/src/lib/container/RemoteRuntimeModule.d.js.map +0 -1
  305. package/src/lib/container/RemoteRuntimeModule.d.ts +0 -9
  306. package/src/lib/container/RemoteRuntimeModule.js +0 -124
  307. package/src/lib/container/RemoteRuntimeModule.js.map +0 -1
  308. package/src/lib/container/RemoteToExternalDependency.d.js +0 -19
  309. package/src/lib/container/RemoteToExternalDependency.d.js.map +0 -1
  310. package/src/lib/container/RemoteToExternalDependency.js +0 -37
  311. package/src/lib/container/RemoteToExternalDependency.js.map +0 -1
  312. package/src/lib/container/options.d.js +0 -6
  313. package/src/lib/container/options.d.js.map +0 -1
  314. package/src/lib/container/options.js.map +0 -1
  315. package/src/lib/inversion/ContainerInversionPlugin.d.ts +0 -1
  316. package/src/lib/inversion/ContainerInversionPlugin.js +0 -3
  317. package/src/lib/inversion/ContainerInversionPlugin.js.map +0 -1
  318. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js +0 -4
  319. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js.map +0 -1
  320. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +0 -10
  321. package/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -37
  322. package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
  323. package/src/lib/sharing/ConsumeSharedModule.d.js +0 -4
  324. package/src/lib/sharing/ConsumeSharedModule.d.js.map +0 -1
  325. package/src/lib/sharing/ConsumeSharedModule.d.ts +0 -106
  326. package/src/lib/sharing/ConsumeSharedModule.js +0 -235
  327. package/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
  328. package/src/lib/sharing/ConsumeSharedPlugin.d.js +0 -4
  329. package/src/lib/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  330. package/src/lib/sharing/ConsumeSharedPlugin.d.ts +0 -8
  331. package/src/lib/sharing/ConsumeSharedPlugin.js +0 -274
  332. package/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
  333. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js +0 -4
  334. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js.map +0 -1
  335. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +0 -13
  336. package/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -294
  337. package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
  338. package/src/lib/sharing/ProvideForSharedDependency.d.js +0 -4
  339. package/src/lib/sharing/ProvideForSharedDependency.d.js.map +0 -1
  340. package/src/lib/sharing/ProvideForSharedDependency.d.ts +0 -11
  341. package/src/lib/sharing/ProvideForSharedDependency.js +0 -38
  342. package/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
  343. package/src/lib/sharing/ProvideSharedDependency.d.js +0 -14
  344. package/src/lib/sharing/ProvideSharedDependency.d.js.map +0 -1
  345. package/src/lib/sharing/ProvideSharedDependency.d.ts +0 -32
  346. package/src/lib/sharing/ProvideSharedDependency.js +0 -69
  347. package/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
  348. package/src/lib/sharing/ProvideSharedModule.d.js +0 -4
  349. package/src/lib/sharing/ProvideSharedModule.d.js.map +0 -1
  350. package/src/lib/sharing/ProvideSharedModule.d.ts +0 -79
  351. package/src/lib/sharing/ProvideSharedModule.js +0 -203
  352. package/src/lib/sharing/ProvideSharedModule.js.map +0 -1
  353. package/src/lib/sharing/ProvideSharedModuleFactory.d.js +0 -4
  354. package/src/lib/sharing/ProvideSharedModuleFactory.d.js.map +0 -1
  355. package/src/lib/sharing/ProvideSharedModuleFactory.d.ts +0 -11
  356. package/src/lib/sharing/ProvideSharedModuleFactory.js +0 -36
  357. package/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
  358. package/src/lib/sharing/ProvideSharedPlugin.d.js +0 -4
  359. package/src/lib/sharing/ProvideSharedPlugin.d.js.map +0 -1
  360. package/src/lib/sharing/ProvideSharedPlugin.d.ts +0 -34
  361. package/src/lib/sharing/ProvideSharedPlugin.js +0 -182
  362. package/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
  363. package/src/lib/sharing/SharePlugin.d.js +0 -4
  364. package/src/lib/sharing/SharePlugin.d.js.map +0 -1
  365. package/src/lib/sharing/SharePlugin.d.ts +0 -15
  366. package/src/lib/sharing/SharePlugin.js +0 -77
  367. package/src/lib/sharing/SharePlugin.js.map +0 -1
  368. package/src/lib/sharing/ShareRuntimeModule.d.js +0 -4
  369. package/src/lib/sharing/ShareRuntimeModule.d.js.map +0 -1
  370. package/src/lib/sharing/ShareRuntimeModule.d.ts +0 -9
  371. package/src/lib/sharing/ShareRuntimeModule.js +0 -161
  372. package/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
  373. package/src/lib/sharing/resolveMatchedConfigs.d.js +0 -6
  374. package/src/lib/sharing/resolveMatchedConfigs.d.js.map +0 -1
  375. package/src/lib/sharing/resolveMatchedConfigs.d.ts +0 -8
  376. package/src/lib/sharing/resolveMatchedConfigs.js +0 -73
  377. package/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
  378. package/src/lib/sharing/utils.d.js +0 -6
  379. package/src/lib/sharing/utils.d.js.map +0 -1
  380. package/src/lib/sharing/utils.d.ts +0 -33
  381. package/src/lib/sharing/utils.js.map +0 -1
  382. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +0 -34
  383. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +0 -1
  384. package/src/runtime/ModuleInfoRuntimeModule.d.ts +0 -16
  385. package/src/runtime/ModuleInfoRuntimeModule.js +0 -88
  386. package/src/runtime/ModuleInfoRuntimeModule.js.map +0 -1
  387. package/src/runtime/ModuleInfoRuntimePlugin.d.ts +0 -5
  388. package/src/runtime/ModuleInfoRuntimePlugin.js +0 -29
  389. package/src/runtime/ModuleInfoRuntimePlugin.js.map +0 -1
  390. package/src/schemas/container/ModuleFederationPlugin.check.js +0 -2245
  391. package/src/schemas/container/ModuleFederationPlugin.check.js.map +0 -1
  392. package/src/schemas/container/ModuleFederationPlugin.js.map +0 -1
  393. /package/{src → dist/src}/lib/Constants.d.ts +0 -0
@@ -1,10 +1,4 @@
1
- import ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';
2
- declare class RemoteToExternalDependency extends ModuleDependency {
3
- /**
4
- * @param {string} request request
5
- */
6
- constructor(request: string);
7
- get type(): string;
8
- get category(): string;
9
- }
10
1
  export default RemoteToExternalDependency;
2
+ declare class RemoteToExternalDependency extends ModuleDependency {}
3
+ // eslint-disable-next-line @typescript-eslint/no-restricted-imports
4
+ import ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';
@@ -0,0 +1,26 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
+ */
5
+ 'use strict';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
8
+ const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
9
+ const { dependencies } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
10
+ class RemoteToExternalDependency extends dependencies.ModuleDependency {
11
+ /**
12
+ * @param {string} request request
13
+ */
14
+ constructor(request) {
15
+ super(request);
16
+ }
17
+ get type() {
18
+ return 'remote to external';
19
+ }
20
+ get category() {
21
+ return 'esm';
22
+ }
23
+ }
24
+ makeSerializable(RemoteToExternalDependency, 'enhanced/lib/container/RemoteToExternalDependency');
25
+ exports.default = RemoteToExternalDependency;
26
+ //# sourceMappingURL=RemoteToExternalDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteToExternalDependency.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteToExternalDependency.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;AACb,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,0BAA2B,SAAQ,YAAY,CAAC,gBAAgB;IACpE;;OAEG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACD,IAAa,IAAI;QACf,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,gBAAgB,CACd,0BAA0B,EAC1B,mDAAmD,CACpD,CAAC;AAEF,kBAAe,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const FEDERATION_SUPPORTED_TYPES: string[];
2
+ declare const TEMP_DIR: string;
3
+ export { FEDERATION_SUPPORTED_TYPES, TEMP_DIR };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TEMP_DIR = exports.FEDERATION_SUPPORTED_TYPES = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const FEDERATION_SUPPORTED_TYPES = ['script'];
9
+ exports.FEDERATION_SUPPORTED_TYPES = FEDERATION_SUPPORTED_TYPES;
10
+ const TEMP_DIR = path_1.default.join(`${process.cwd()}/node_modules`, `.federation`);
11
+ exports.TEMP_DIR = TEMP_DIR;
12
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/lib/container/constant.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,MAAM,0BAA0B,GAAG,CAAC,QAAQ,CAAC,CAAC;AAGrC,gEAA0B;AAFnC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAEtC,4BAAQ"}
@@ -1,4 +1,6 @@
1
- export type ContainerOptionsFormat<T> = (string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>;
1
+ export type ContainerOptionsFormat<T> =
2
+ | (string | Record<string, string | string[] | T>)[]
3
+ | Record<string, string | string[] | T>;
2
4
  /**
3
5
  * @template T
4
6
  * @template R
@@ -7,12 +9,18 @@ export type ContainerOptionsFormat<T> = (string | Record<string, string | string
7
9
  * @param {function(T, string) : R} normalizeOptions normalize a complex item
8
10
  * @returns {[string, R][]} parsed options
9
11
  */
10
- declare const parseOptions: <T, R>(options: ContainerOptionsFormat<T>, normalizeSimple: (item: string | string[], name: string) => R, normalizeOptions: (item: T, name: string) => R) => [string, R][];
12
+ export function parseOptions<T, R>(
13
+ options: ContainerOptionsFormat<T>,
14
+ normalizeSimple: (arg0: string | string[], arg1: string) => R,
15
+ normalizeOptions: (arg0: T, arg1: string) => R,
16
+ ): [string, R][];
11
17
  /**
12
18
  * @template T
13
19
  * @param {string} scope scope name
14
20
  * @param {ContainerOptionsFormat<T>} options options passed by the user
15
21
  * @returns {Record<string, string | string[] | T>} options to spread or pass
16
22
  */
17
- declare const scope: <T>(scope: string, options: ContainerOptionsFormat<T>) => Record<string, string | string[] | T>;
18
- export { parseOptions, scope };
23
+ export function scope<T>(
24
+ scope: string,
25
+ options: ContainerOptionsFormat<T>,
26
+ ): Record<string, string | string[] | T>;
@@ -1,25 +1,8 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- function _export(target, all) {
9
- for(var name in all)Object.defineProperty(target, name, {
10
- enumerable: true,
11
- get: all[name]
12
- });
13
- }
14
- _export(exports, {
15
- parseOptions: function() {
16
- return parseOptions;
17
- },
18
- scope: function() {
19
- return scope;
20
- }
21
- });
22
- /** @template T @typedef {(string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>} ContainerOptionsFormat */ /**
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scope = exports.parseOptions = void 0;
4
+ /** @template T @typedef {(string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>} ContainerOptionsFormat */
5
+ /**
23
6
  * @template T
24
7
  * @template N
25
8
  * @param {ContainerOptionsFormat<T>} options options passed by the user
@@ -27,34 +10,41 @@ _export(exports, {
27
10
  * @param {function(T, string) : N} normalizeOptions normalize a complex item
28
11
  * @param {function(string, N): void} fn processing function
29
12
  * @returns {void}
30
- */ const process = (options, normalizeSimple, normalizeOptions, fn)=>{
31
- const array = (items)=>{
32
- for (const item of items){
13
+ */
14
+ const process = (options, normalizeSimple, normalizeOptions, fn) => {
15
+ const array = (items) => {
16
+ for (const item of items) {
33
17
  if (typeof item === 'string') {
34
18
  fn(item, normalizeSimple(item, item));
35
- } else if (item && typeof item === 'object') {
19
+ }
20
+ else if (item && typeof item === 'object') {
36
21
  object(item);
37
- } else {
22
+ }
23
+ else {
38
24
  throw new Error('Unexpected options format');
39
25
  }
40
26
  }
41
27
  };
42
- const object = (obj)=>{
43
- for (const [key, value] of Object.entries(obj)){
28
+ const object = (obj) => {
29
+ for (const [key, value] of Object.entries(obj)) {
44
30
  if (typeof value === 'string' || Array.isArray(value)) {
45
31
  fn(key, normalizeSimple(value, key));
46
- } else {
32
+ }
33
+ else {
47
34
  fn(key, normalizeOptions(value, key));
48
35
  }
49
36
  }
50
37
  };
51
38
  if (!options) {
52
39
  return;
53
- } else if (Array.isArray(options)) {
40
+ }
41
+ else if (Array.isArray(options)) {
54
42
  array(options);
55
- } else if (typeof options === 'object') {
43
+ }
44
+ else if (typeof options === 'object') {
56
45
  object(options);
57
- } else {
46
+ }
47
+ else {
58
48
  throw new Error('Unexpected options format');
59
49
  }
60
50
  };
@@ -65,27 +55,27 @@ _export(exports, {
65
55
  * @param {function(string | string[], string) : R} normalizeSimple normalize a simple item
66
56
  * @param {function(T, string) : R} normalizeOptions normalize a complex item
67
57
  * @returns {[string, R][]} parsed options
68
- */ const parseOptions = (options, normalizeSimple, normalizeOptions)=>{
58
+ */
59
+ const parseOptions = (options, normalizeSimple, normalizeOptions) => {
69
60
  const items = [];
70
- process(options, normalizeSimple, normalizeOptions, (key, value)=>{
71
- items.push([
72
- key,
73
- value
74
- ]);
61
+ process(options, normalizeSimple, normalizeOptions, (key, value) => {
62
+ items.push([key, value]);
75
63
  });
76
64
  return items;
77
65
  };
66
+ exports.parseOptions = parseOptions;
78
67
  /**
79
68
  * @template T
80
69
  * @param {string} scope scope name
81
70
  * @param {ContainerOptionsFormat<T>} options options passed by the user
82
71
  * @returns {Record<string, string | string[] | T>} options to spread or pass
83
- */ const scope = (scope, options)=>{
72
+ */
73
+ const scope = (scope, options) => {
84
74
  const obj = {};
85
- process(options, (item)=>item, (item)=>item, (key, value)=>{
75
+ process(options, (item) => item, (item) => item, (key, value) => {
86
76
  obj[key.startsWith('./') ? `${scope}${key.slice(1)}` : `${scope}/${key}`] = value;
87
77
  });
88
78
  return obj;
89
79
  };
90
-
80
+ exports.scope = scope;
91
81
  //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/lib/container/options.ts"],"names":[],"mappings":";;;AAQA,+IAA+I;AAE/I;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,CACd,OAAkC,EAClC,eAA6D,EAC7D,gBAA8C,EAC9C,EAAmC,EAC7B,EAAE;IACR,MAAM,KAAK,GAAG,CACZ,KAAyD,EACnD,EAAE;QACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAA6C,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAA0C,EAAQ,EAAE;QAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAU,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CACnB,OAAkC,EAClC,eAA6D,EAC7D,gBAA8C,EAC/B,EAAE;IACjB,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACjE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA0BO,oCAAY;AAxBrB;;;;;GAKG;AACH,MAAM,KAAK,GAAG,CACZ,KAAa,EACb,OAAkC,EACK,EAAE;IACzC,MAAM,GAAG,GAA0C,EAAE,CAAC;IACtD,OAAO,CACL,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAA6B,EACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAA6B,EACvC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,GAAG,CACD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CACrE,GAAG,KAAK,CAAC;IACZ,CAAC,CACF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEqB,sBAAK"}
@@ -0,0 +1,13 @@
1
+ import { NormalizedRuntimeInitOptionsWithOutShared } from '../../../types/runtime';
2
+ declare const RuntimeModule: typeof import("webpack").RuntimeModule;
3
+ declare class FederationRuntimeModule extends RuntimeModule {
4
+ runtimeRequirements: Set<string>;
5
+ containerName: string;
6
+ initOptionsWithoutShared: NormalizedRuntimeInitOptionsWithOutShared;
7
+ constructor(runtimeRequirements: Set<string>, containerName: string, initOptionsWithoutShared: NormalizedRuntimeInitOptionsWithOutShared);
8
+ /**
9
+ * @returns {string | null} runtime code
10
+ */
11
+ generate(): string;
12
+ }
13
+ export default FederationRuntimeModule;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
7
+ const compileBooleanMatcher = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/compileBooleanMatcher'));
8
+ const { getUndoPath } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/identifier'));
9
+ // inspired by react-refresh-webpack-plugin
10
+ const getFederationGlobal_1 = __importDefault(require("./getFederationGlobal"));
11
+ const { RuntimeModule, RuntimeGlobals, Template } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
12
+ class FederationRuntimeModule extends RuntimeModule {
13
+ constructor(runtimeRequirements, containerName, initOptionsWithoutShared) {
14
+ super('federation runtime', RuntimeModule.STAGE_NORMAL - 1);
15
+ this.runtimeRequirements = runtimeRequirements;
16
+ this.containerName = containerName;
17
+ this.initOptionsWithoutShared = initOptionsWithoutShared;
18
+ }
19
+ /**
20
+ * @returns {string | null} runtime code
21
+ */
22
+ generate() {
23
+ let matcher = false;
24
+ let rootOutputDir;
25
+ if (this.compilation && this.chunk) {
26
+ const jsModulePlugin = this.compilation.compiler.webpack?.javascript
27
+ ?.JavascriptModulesPlugin ||
28
+ require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/javascript/JavascriptModulesPlugin'));
29
+ const { chunkHasJs } = jsModulePlugin;
30
+ if (this.runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)) {
31
+ const conditionMap = this.compilation.chunkGraph.getChunkConditionMap(this.chunk, chunkHasJs);
32
+ const hasJsMatcher = compileBooleanMatcher(conditionMap);
33
+ if (typeof hasJsMatcher === 'boolean') {
34
+ matcher = hasJsMatcher;
35
+ }
36
+ else {
37
+ matcher = hasJsMatcher('chunkId');
38
+ }
39
+ const outputName = this.compilation.getPath(jsModulePlugin.getChunkFilenameTemplate(this.chunk, this.compilation.outputOptions), { chunk: this.chunk, contentHashType: 'javascript' });
40
+ rootOutputDir = getUndoPath(outputName, this.compilation.outputOptions.path || '', false);
41
+ }
42
+ }
43
+ return Template.asString([
44
+ (0, getFederationGlobal_1.default)(Template, RuntimeGlobals, matcher, rootOutputDir, this.initOptionsWithoutShared),
45
+ ]);
46
+ }
47
+ }
48
+ exports.default = FederationRuntimeModule;
49
+ //# sourceMappingURL=FederationRuntimeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederationRuntimeModule.js","sourceRoot":"","sources":["../../../../../src/lib/container/runtime/FederationRuntimeModule.ts"],"names":[],"mappings":";;;;;AAAA,0FAAqF;AACrF,MAAM,qBAAqB,GAAG,OAAO,CACnC,IAAA,6CAAoB,EAAC,wCAAwC,CAAC,CACJ,CAAC;AAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAC7B,IAAA,6CAAoB,EAAC,6BAA6B,CAAC,CACJ,CAAC;AAClD,2CAA2C;AAC3C,gFAAwD;AAGxD,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,uBAAwB,SAAQ,aAAa;IAKjD,YACE,mBAAgC,EAChC,aAAqB,EACrB,wBAAmE;QAEnE,KAAK,CAAC,oBAAoB,EAAE,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,IAAI,OAAO,GAAqB,KAAK,CAAC;QACtC,IAAI,aAAiC,CAAC;QACtC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,cAAc,GAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU;gBAC3C,EAAE,uBAAuB;gBAC3B,OAAO,CACL,IAAA,6CAAoB,EAClB,gDAAgD,CACjD,CACF,CAAC;YACJ,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YACtC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACrE,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,oBAAoB,CACnE,IAAI,CAAC,KAAK,EACV,UAAU,CACX,CAAC;gBACF,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBACzD,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,GAAG,YAAY,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACzC,cAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,EACD,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CACrD,CAAC;gBACF,aAAa,GAAG,WAAW,CACzB,UAAU,EACV,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,EACzC,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;YACvB,IAAA,6BAAmB,EACjB,QAAQ,EACR,cAAc,EACd,OAAO,EACP,aAAa,EACb,IAAI,CAAC,wBAAwB,CAC9B;SACF,CAAC,CAAC;IACL,CAAC;CACF;AACD,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Compiler } from 'webpack';
2
+ import type { moduleFederationPlugin } from '@module-federation/sdk';
3
+ declare class FederationRuntimePlugin {
4
+ options?: moduleFederationPlugin.ModuleFederationPluginOptions;
5
+ entryFilePath: string;
6
+ bundlerRuntimePath: string;
7
+ constructor(options?: moduleFederationPlugin.ModuleFederationPluginOptions);
8
+ static getTemplate(runtimePlugins: string[], bundlerRuntimePath?: string): string;
9
+ static getFilePath(containerName: string, runtimePlugins: string[], bundlerRuntimePath?: string): string;
10
+ getFilePath(): string;
11
+ ensureFile(): void;
12
+ prependEntry(compiler: Compiler): void;
13
+ injectRuntime(compiler: Compiler): void;
14
+ setRuntimeAlias(compiler: Compiler): void;
15
+ apply(compiler: Compiler): void;
16
+ }
17
+ export default FederationRuntimePlugin;
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
7
+ const FederationRuntimeModule_1 = __importDefault(require("./FederationRuntimeModule"));
8
+ const utils_1 = require("./utils");
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const constant_1 = require("../constant");
12
+ const { RuntimeGlobals, Template } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
13
+ const { mkdirpSync } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/fs'));
14
+ const RuntimeToolsPath = require.resolve('@module-federation/runtime-tools');
15
+ const BundlerRuntimePath = require.resolve('@module-federation/webpack-bundler-runtime', {
16
+ paths: [RuntimeToolsPath],
17
+ });
18
+ const RuntimePath = require.resolve('@module-federation/runtime', {
19
+ paths: [RuntimeToolsPath],
20
+ });
21
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals);
22
+ class FederationRuntimePlugin {
23
+ constructor(options) {
24
+ this.options = options ? { ...options } : undefined;
25
+ this.entryFilePath = '';
26
+ this.bundlerRuntimePath = BundlerRuntimePath;
27
+ }
28
+ static getTemplate(runtimePlugins, bundlerRuntimePath) {
29
+ // internal runtime plugin
30
+ const normalizedBundlerRuntimePath = (0, utils_1.normalizeToPosixPath)(bundlerRuntimePath || BundlerRuntimePath);
31
+ let runtimePluginTemplates = '';
32
+ const runtimePluginNames = [];
33
+ if (Array.isArray(runtimePlugins)) {
34
+ runtimePlugins.forEach((runtimePlugin, index) => {
35
+ const runtimePluginName = `plugin_${index}`;
36
+ const runtimePluginPath = (0, utils_1.normalizeToPosixPath)(path_1.default.isAbsolute(runtimePlugin)
37
+ ? runtimePlugin
38
+ : path_1.default.join(process.cwd(), runtimePlugin));
39
+ runtimePluginTemplates += `import ${runtimePluginName} from '${runtimePluginPath}';\n`;
40
+ runtimePluginNames.push(runtimePluginName);
41
+ });
42
+ }
43
+ return Template.asString([
44
+ `import federation from '${normalizedBundlerRuntimePath}';`,
45
+ runtimePluginTemplates,
46
+ `var prevFederation = ${federationGlobal};`,
47
+ `${federationGlobal} = {}`,
48
+ `for(var key in federation){`,
49
+ Template.indent([`${federationGlobal}[key] = federation[key];`]),
50
+ '}',
51
+ `for(var key in prevFederation){`,
52
+ Template.indent([`${federationGlobal}[key] = prevFederation[key];`]),
53
+ '}',
54
+ `if(!${federationGlobal}.instance){`,
55
+ Template.indent([
56
+ runtimePluginNames.length
57
+ ? Template.asString([
58
+ `const pluginsToAdd = [`,
59
+ Template.indent(runtimePluginNames.map((item) => `${item} ? ${item}() : false,`)),
60
+ `].filter(Boolean);`,
61
+ `${federationGlobal}.initOptions.plugins = ${federationGlobal}.initOptions.plugins ? `,
62
+ `${federationGlobal}.initOptions.plugins.concat(pluginsToAdd) : pluginsToAdd;`,
63
+ ])
64
+ : '',
65
+ `${federationGlobal}.instance = ${federationGlobal}.runtime.init(${federationGlobal}.initOptions);`,
66
+ `if(${federationGlobal}.attachShareScopeMap){`,
67
+ Template.indent([
68
+ `${federationGlobal}.attachShareScopeMap(${RuntimeGlobals.require})`,
69
+ ]),
70
+ '}',
71
+ `if(${federationGlobal}.installInitialConsumes){`,
72
+ Template.indent([`${federationGlobal}.installInitialConsumes()`]),
73
+ '}',
74
+ ]),
75
+ '}',
76
+ ]);
77
+ }
78
+ static getFilePath(containerName, runtimePlugins, bundlerRuntimePath) {
79
+ const hash = (0, utils_1.createHash)(`${containerName} ${FederationRuntimePlugin.getTemplate(runtimePlugins, bundlerRuntimePath)}`);
80
+ return path_1.default.join(constant_1.TEMP_DIR, `entry.${hash}.js`);
81
+ }
82
+ getFilePath() {
83
+ if (this.entryFilePath) {
84
+ return this.entryFilePath;
85
+ }
86
+ if (!this.options) {
87
+ return '';
88
+ }
89
+ this.entryFilePath = FederationRuntimePlugin.getFilePath(this.options.name, this.options.runtimePlugins, this.bundlerRuntimePath);
90
+ return this.entryFilePath;
91
+ }
92
+ ensureFile() {
93
+ if (!this.options) {
94
+ return;
95
+ }
96
+ const filePath = this.getFilePath();
97
+ try {
98
+ fs_1.default.readFileSync(filePath);
99
+ }
100
+ catch (err) {
101
+ mkdirpSync(fs_1.default, constant_1.TEMP_DIR);
102
+ fs_1.default.writeFileSync(filePath, FederationRuntimePlugin.getTemplate(this.options.runtimePlugins, this.bundlerRuntimePath));
103
+ }
104
+ }
105
+ prependEntry(compiler) {
106
+ this.ensureFile();
107
+ const entryFilePath = this.getFilePath();
108
+ (0, utils_1.modifyEntry)({
109
+ compiler,
110
+ prependEntry: (entry) => {
111
+ Object.keys(entry).forEach((entryName) => {
112
+ const entryItem = entry[entryName];
113
+ if (!entryItem.import) {
114
+ // TODO: maybe set this variable as constant is better https://github.com/webpack/webpack/blob/main/lib/config/defaults.js#L176
115
+ entryItem.import = ['./src'];
116
+ }
117
+ if (!entryItem.import.includes(entryFilePath)) {
118
+ entryItem.import.unshift(entryFilePath);
119
+ }
120
+ });
121
+ },
122
+ });
123
+ }
124
+ injectRuntime(compiler) {
125
+ if (!this.options || !this.options.name) {
126
+ return;
127
+ }
128
+ const name = this.options.name;
129
+ const initOptionsWithoutShared = (0, utils_1.normalizeRuntimeInitOptionsWithOutShared)(this.options);
130
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals || {});
131
+ compiler.hooks.thisCompilation.tap(this.constructor.name, (compilation, { normalModuleFactory }) => {
132
+ compilation.hooks.additionalTreeRuntimeRequirements.tap(this.constructor.name, (chunk, runtimeRequirements) => {
133
+ if (runtimeRequirements.has(federationGlobal)) {
134
+ return;
135
+ }
136
+ runtimeRequirements.add(RuntimeGlobals.interceptModuleExecution);
137
+ runtimeRequirements.add(RuntimeGlobals.moduleCache);
138
+ runtimeRequirements.add(RuntimeGlobals.compatGetDefaultExport);
139
+ runtimeRequirements.add(federationGlobal);
140
+ compilation.addRuntimeModule(chunk, new FederationRuntimeModule_1.default(runtimeRequirements, name, initOptionsWithoutShared));
141
+ });
142
+ });
143
+ }
144
+ setRuntimeAlias(compiler) {
145
+ let runtimePath = RuntimePath;
146
+ if (this.options?.implementation) {
147
+ runtimePath = require.resolve('@module-federation/runtime', {
148
+ paths: [this.options.implementation],
149
+ });
150
+ }
151
+ if (Array.isArray(compiler.options.resolve.alias)) {
152
+ return;
153
+ }
154
+ compiler.options.resolve.alias = {
155
+ ...compiler.options.resolve.alias,
156
+ };
157
+ if (!compiler.options.resolve.alias['@module-federation/runtime$']) {
158
+ compiler.options.resolve.alias['@module-federation/runtime$'] =
159
+ runtimePath;
160
+ }
161
+ if (!compiler.options.resolve.alias['@module-federation/runtime-tools$']) {
162
+ compiler.options.resolve.alias['@module-federation/runtime-tools$'] =
163
+ this.options?.implementation || RuntimeToolsPath;
164
+ }
165
+ }
166
+ apply(compiler) {
167
+ const useModuleFederationPlugin = compiler.options.plugins.find((p) => {
168
+ if (typeof p !== 'object' || !p) {
169
+ return false;
170
+ }
171
+ return p['name'] === 'ModuleFederationPlugin';
172
+ });
173
+ if (useModuleFederationPlugin && !this.options) {
174
+ // @ts-ignore
175
+ this.options = useModuleFederationPlugin._options;
176
+ }
177
+ const useContainerPlugin = compiler.options.plugins.find((p) => {
178
+ if (typeof p !== 'object' || !p) {
179
+ return false;
180
+ }
181
+ return p['name'] === 'ContainerPlugin';
182
+ });
183
+ if (useContainerPlugin && !this.options) {
184
+ // @ts-ignore
185
+ this.options = useContainerPlugin._options;
186
+ }
187
+ if (!useContainerPlugin && !useModuleFederationPlugin) {
188
+ this.options = {
189
+ remotes: {},
190
+ ...this.options,
191
+ };
192
+ }
193
+ if (this.options && !this.options?.name) {
194
+ // the instance may get the same one if the name is the same https://github.com/module-federation/core/blob/main/packages/runtime/src/index.ts#L18
195
+ this.options.name =
196
+ compiler.options.output.uniqueName || `container_${Date.now()}`;
197
+ }
198
+ if (this.options?.implementation) {
199
+ this.bundlerRuntimePath = require.resolve('@module-federation/webpack-bundler-runtime', {
200
+ paths: [this.options.implementation],
201
+ });
202
+ }
203
+ this.prependEntry(compiler);
204
+ this.injectRuntime(compiler);
205
+ this.setRuntimeAlias(compiler);
206
+ }
207
+ }
208
+ exports.default = FederationRuntimePlugin;
209
+ //# sourceMappingURL=FederationRuntimePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederationRuntimePlugin.js","sourceRoot":"","sources":["../../../../../src/lib/container/runtime/FederationRuntimePlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type RuntimeGlobals from 'webpack/lib/RuntimeGlobals';
2
+ import { NormalizedRuntimeInitOptionsWithOutShared } from '../../../types/runtime';
3
+ declare const Template: typeof import("webpack").Template;
4
+ declare function getFederationGlobal(template: typeof Template, runtimeGlobals: typeof RuntimeGlobals, matcher: string | boolean, rootOutputDir: string | undefined, initOptionsWithoutShared: NormalizedRuntimeInitOptionsWithOutShared): string;
5
+ export default getFederationGlobal;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
4
+ const utils_1 = require("./utils");
5
+ const { Template } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
6
+ function getFederationGlobal(template, runtimeGlobals, matcher, rootOutputDir, initOptionsWithoutShared) {
7
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(runtimeGlobals);
8
+ const initOptionsStrWithoutShared = JSON.stringify(initOptionsWithoutShared);
9
+ return template.asString([
10
+ `if(!${federationGlobal}){`,
11
+ template.indent([
12
+ `${federationGlobal} = {`,
13
+ template.indent([
14
+ `initOptions: ${initOptionsStrWithoutShared},`,
15
+ `chunkMatcher: function(chunkId) {return ${matcher}},`,
16
+ `rootOutputDir: ${JSON.stringify(rootOutputDir || '')},`,
17
+ `initialConsumes: undefined,`,
18
+ 'bundlerRuntimeOptions: {}',
19
+ ]),
20
+ '};',
21
+ ]),
22
+ '}',
23
+ ]);
24
+ }
25
+ exports.default = getFederationGlobal;
26
+ //# sourceMappingURL=getFederationGlobal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFederationGlobal.js","sourceRoot":"","sources":["../../../../../src/lib/container/runtime/getFederationGlobal.ts"],"names":[],"mappings":";;AAAA,0FAAqF;AACrF,mCAAmD;AAInD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAC1B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,cAAqC,EACrC,OAAyB,EACzB,aAAiC,EACjC,wBAAmE;IAEnE,MAAM,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,CAAC;IAClE,MAAM,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAE7E,OAAO,QAAQ,CAAC,QAAQ,CAAC;QACvB,OAAO,gBAAgB,IAAI;QAC3B,QAAQ,CAAC,MAAM,CAAC;YACd,GAAG,gBAAgB,MAAM;YACzB,QAAQ,CAAC,MAAM,CAAC;gBACd,gBAAgB,2BAA2B,GAAG;gBAC9C,2CAA2C,OAAO,IAAI;gBACtD,kBAAkB,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG;gBACxD,6BAA6B;gBAC7B,2BAA2B;aAC5B,CAAC;YACF,IAAI;SACL,CAAC;QACF,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type webpack from 'webpack';
2
+ import type RuntimeGlobals from 'webpack/lib/RuntimeGlobals';
3
+ import type { moduleFederationPlugin } from '@module-federation/sdk';
4
+ import { NormalizedRuntimeInitOptionsWithOutShared } from '../../../types/runtime';
5
+ type EntryStaticNormalized = Awaited<ReturnType<Extract<webpack.WebpackOptionsNormalized['entry'], () => any>>>;
6
+ interface ModifyEntryOptions {
7
+ compiler: webpack.Compiler;
8
+ prependEntry?: (entry: EntryStaticNormalized) => void;
9
+ staticEntry?: EntryStaticNormalized;
10
+ }
11
+ export declare function getFederationGlobalScope(runtimeGlobals: typeof RuntimeGlobals): string;
12
+ export declare function normalizeRuntimeInitOptionsWithOutShared(options: moduleFederationPlugin.ModuleFederationPluginOptions): NormalizedRuntimeInitOptionsWithOutShared;
13
+ export declare function modifyEntry(options: ModifyEntryOptions): void;
14
+ export declare function createHash(contents: string): string;
15
+ export declare const normalizeToPosixPath: (p: string) => string;
16
+ export {};