@module-federation/enhanced 0.2.0-canary.5 → 0.2.1

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 (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/dist/package.json +85 -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/{src → dist/src}/lib/container/AsyncBoundaryPlugin.d.ts +3 -4
  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 +133 -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/RemoteEntryPlugin.d.ts +8 -0
  85. package/dist/src/lib/container/runtime/RemoteEntryPlugin.js +32 -0
  86. package/dist/src/lib/container/runtime/RemoteEntryPlugin.js.map +1 -0
  87. package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +5 -0
  88. package/dist/src/lib/container/runtime/getFederationGlobal.js +26 -0
  89. package/dist/src/lib/container/runtime/getFederationGlobal.js.map +1 -0
  90. package/dist/src/lib/container/runtime/utils.d.ts +16 -0
  91. package/dist/src/lib/container/runtime/utils.js +83 -0
  92. package/dist/src/lib/container/runtime/utils.js.map +1 -0
  93. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +3 -0
  94. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +26 -0
  95. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -0
  96. package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +99 -0
  97. package/dist/src/lib/sharing/ConsumeSharedModule.js +206 -0
  98. package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -0
  99. package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +30 -0
  100. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +245 -0
  101. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -0
  102. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +31 -0
  103. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +124 -0
  104. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -0
  105. package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +3 -0
  106. package/dist/src/lib/sharing/ProvideForSharedDependency.js +27 -0
  107. package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +1 -0
  108. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +36 -0
  109. package/dist/src/lib/sharing/ProvideSharedDependency.js +70 -0
  110. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -0
  111. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +67 -0
  112. package/dist/src/lib/sharing/ProvideSharedModule.js +186 -0
  113. package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -0
  114. package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +18 -0
  115. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +30 -0
  116. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -0
  117. package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +47 -0
  118. package/dist/src/lib/sharing/ProvideSharedPlugin.js +195 -0
  119. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -0
  120. package/dist/src/lib/sharing/SharePlugin.d.ts +41 -0
  121. package/dist/src/lib/sharing/SharePlugin.js +79 -0
  122. package/dist/src/lib/sharing/SharePlugin.js.map +1 -0
  123. package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +14 -0
  124. package/dist/src/lib/sharing/ShareRuntimeModule.js +102 -0
  125. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -0
  126. package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +12 -0
  127. package/dist/src/lib/sharing/resolveMatchedConfigs.js +66 -0
  128. package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -0
  129. package/dist/src/lib/sharing/utils.d.ts +37 -0
  130. package/{src → dist/src}/lib/sharing/utils.js +109 -81
  131. package/dist/src/lib/sharing/utils.js.map +1 -0
  132. package/dist/src/rspack.d.ts +1 -0
  133. package/dist/src/rspack.js +6 -0
  134. package/dist/src/rspack.js.map +1 -0
  135. package/{src → dist/src}/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +1 -1
  136. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +19 -0
  137. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
  138. package/dist/src/runtime.d.ts +1 -0
  139. package/dist/src/runtime.js +18 -0
  140. package/dist/src/runtime.js.map +1 -0
  141. package/dist/src/schemas/container/ContainerPlugin.check.d.ts +7 -0
  142. package/dist/src/schemas/container/ContainerPlugin.check.js +2318 -0
  143. package/dist/src/schemas/container/ContainerPlugin.check.js.map +1 -0
  144. package/dist/src/schemas/container/ContainerPlugin.d.ts +289 -0
  145. package/dist/src/schemas/container/ContainerPlugin.js +326 -0
  146. package/dist/src/schemas/container/ContainerPlugin.js.map +1 -0
  147. package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +7 -0
  148. package/dist/src/schemas/container/ContainerReferencePlugin.check.js +939 -0
  149. package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +1 -0
  150. package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +87 -0
  151. package/dist/src/schemas/container/ContainerReferencePlugin.js +132 -0
  152. package/dist/src/schemas/container/ContainerReferencePlugin.js.map +1 -0
  153. package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +9 -0
  154. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +4001 -0
  155. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -0
  156. package/{src → dist/src}/schemas/container/ModuleFederationPlugin.d.ts +197 -4
  157. package/{src → dist/src}/schemas/container/ModuleFederationPlugin.js +349 -177
  158. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -0
  159. package/{src/schemas/container/ModuleFederationPlugin.check.d.ts → dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts} +2 -2
  160. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +434 -0
  161. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +1 -0
  162. package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +104 -0
  163. package/dist/src/schemas/sharing/ProviderSharedPlugin.js +119 -0
  164. package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +1 -0
  165. package/dist/src/types/runtime.d.ts +7 -0
  166. package/dist/src/types/runtime.js +3 -0
  167. package/dist/src/types/runtime.js.map +1 -0
  168. package/dist/src/webpack.d.ts +2 -0
  169. package/dist/src/webpack.js +9 -0
  170. package/dist/src/webpack.js.map +1 -0
  171. package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +8 -0
  172. package/dist/src/wrapper/AsyncBoundaryPlugin.js +19 -0
  173. package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +1 -0
  174. package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +8 -0
  175. package/dist/src/wrapper/ConsumeSharedPlugin.js +19 -0
  176. package/dist/src/wrapper/ConsumeSharedPlugin.js.map +1 -0
  177. package/dist/src/wrapper/ContainerPlugin.d.ts +8 -0
  178. package/dist/src/wrapper/ContainerPlugin.js +19 -0
  179. package/dist/src/wrapper/ContainerPlugin.js.map +1 -0
  180. package/dist/src/wrapper/ContainerReferencePlugin.d.ts +8 -0
  181. package/dist/src/wrapper/ContainerReferencePlugin.js +19 -0
  182. package/dist/src/wrapper/ContainerReferencePlugin.js.map +1 -0
  183. package/dist/src/wrapper/FederationRuntimePlugin.d.ts +9 -0
  184. package/dist/src/wrapper/FederationRuntimePlugin.js +22 -0
  185. package/dist/src/wrapper/FederationRuntimePlugin.js.map +1 -0
  186. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +7 -0
  187. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +19 -0
  188. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -0
  189. package/dist/src/wrapper/ModuleFederationPlugin.d.ts +8 -0
  190. package/dist/src/wrapper/ModuleFederationPlugin.js +39 -0
  191. package/dist/src/wrapper/ModuleFederationPlugin.js.map +1 -0
  192. package/dist/src/wrapper/ProvideSharedPlugin.d.ts +8 -0
  193. package/dist/src/wrapper/ProvideSharedPlugin.js +19 -0
  194. package/dist/src/wrapper/ProvideSharedPlugin.js.map +1 -0
  195. package/dist/src/wrapper/SharePlugin.d.ts +8 -0
  196. package/dist/src/wrapper/SharePlugin.js +19 -0
  197. package/dist/src/wrapper/SharePlugin.js.map +1 -0
  198. package/package.json +75 -7
  199. package/global.d.js +0 -14
  200. package/global.d.js.map +0 -1
  201. package/pullts.d.ts +0 -1
  202. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js +0 -14
  203. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js.map +0 -1
  204. package/src/declarations/plugins/container/ContainerPlugin.d.js +0 -12
  205. package/src/declarations/plugins/container/ContainerPlugin.d.js.map +0 -1
  206. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js +0 -12
  207. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js.map +0 -1
  208. package/src/declarations/plugins/container/Dependency.d.js +0 -14
  209. package/src/declarations/plugins/container/Dependency.d.js.map +0 -1
  210. package/src/declarations/plugins/container/Module.d.js +0 -3
  211. package/src/declarations/plugins/container/Module.d.js.map +0 -1
  212. package/src/declarations/plugins/container/ModuleFactory.d.js +0 -3
  213. package/src/declarations/plugins/container/ModuleFactory.d.js.map +0 -1
  214. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js +0 -12
  215. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js.map +0 -1
  216. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js +0 -6
  217. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js.map +0 -1
  218. package/src/declarations/plugins/container/StaticExportsDependency.d.js +0 -14
  219. package/src/declarations/plugins/container/StaticExportsDependency.d.js.map +0 -1
  220. package/src/declarations/plugins/container/Template.d.js +0 -4
  221. package/src/declarations/plugins/container/Template.d.js.map +0 -1
  222. package/src/declarations/plugins/container/WebpackError.d.js +0 -3
  223. package/src/declarations/plugins/container/WebpackError.d.js.map +0 -1
  224. package/src/declarations/plugins/container/WebpackOptions.d.js +0 -6
  225. package/src/declarations/plugins/container/WebpackOptions.d.js.map +0 -1
  226. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js +0 -12
  227. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  228. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js +0 -12
  229. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js.map +0 -1
  230. package/src/declarations/plugins/sharing/SharePlugin.d.js +0 -12
  231. package/src/declarations/plugins/sharing/SharePlugin.d.js.map +0 -1
  232. package/src/index.d.ts +0 -7
  233. package/src/index.js +0 -47
  234. package/src/index.js.map +0 -1
  235. package/src/lib/Constants.js +0 -103
  236. package/src/lib/Constants.js.map +0 -1
  237. package/src/lib/RuntimeGlobals.d.ts +0 -1
  238. package/src/lib/RuntimeGlobals.js.map +0 -1
  239. package/src/lib/container/AsyncBoundaryPlugin.js +0 -184
  240. package/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
  241. package/src/lib/container/ContainerEntryDependency.d.js +0 -4
  242. package/src/lib/container/ContainerEntryDependency.d.js.map +0 -1
  243. package/src/lib/container/ContainerEntryDependency.d.ts +0 -20
  244. package/src/lib/container/ContainerEntryDependency.js +0 -47
  245. package/src/lib/container/ContainerEntryDependency.js.map +0 -1
  246. package/src/lib/container/ContainerEntryModule.d.js +0 -14
  247. package/src/lib/container/ContainerEntryModule.d.js.map +0 -1
  248. package/src/lib/container/ContainerEntryModule.d.ts +0 -85
  249. package/src/lib/container/ContainerEntryModule.js +0 -281
  250. package/src/lib/container/ContainerEntryModule.js.map +0 -1
  251. package/src/lib/container/ContainerEntryModuleFactory.d.js +0 -4
  252. package/src/lib/container/ContainerEntryModuleFactory.d.js.map +0 -1
  253. package/src/lib/container/ContainerEntryModuleFactory.d.ts +0 -10
  254. package/src/lib/container/ContainerEntryModuleFactory.js +0 -37
  255. package/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
  256. package/src/lib/container/ContainerExposedDependency.d.js +0 -4
  257. package/src/lib/container/ContainerExposedDependency.d.js.map +0 -1
  258. package/src/lib/container/ContainerExposedDependency.d.ts +0 -26
  259. package/src/lib/container/ContainerExposedDependency.js +0 -57
  260. package/src/lib/container/ContainerExposedDependency.js.map +0 -1
  261. package/src/lib/container/ContainerPlugin.d.js +0 -4
  262. package/src/lib/container/ContainerPlugin.d.js.map +0 -1
  263. package/src/lib/container/ContainerPlugin.d.ts +0 -11
  264. package/src/lib/container/ContainerPlugin.js +0 -92
  265. package/src/lib/container/ContainerPlugin.js.map +0 -1
  266. package/src/lib/container/ContainerReferencePlugin.d.js +0 -4
  267. package/src/lib/container/ContainerReferencePlugin.d.js.map +0 -1
  268. package/src/lib/container/ContainerReferencePlugin.js +0 -141
  269. package/src/lib/container/ContainerReferencePlugin.js.map +0 -1
  270. package/src/lib/container/FallbackDependency.d.js +0 -14
  271. package/src/lib/container/FallbackDependency.d.js.map +0 -1
  272. package/src/lib/container/FallbackDependency.d.ts +0 -25
  273. package/src/lib/container/FallbackDependency.js +0 -59
  274. package/src/lib/container/FallbackDependency.js.map +0 -1
  275. package/src/lib/container/FallbackItemDependency.d.js +0 -4
  276. package/src/lib/container/FallbackItemDependency.d.js.map +0 -1
  277. package/src/lib/container/FallbackItemDependency.d.ts +0 -10
  278. package/src/lib/container/FallbackItemDependency.js +0 -37
  279. package/src/lib/container/FallbackItemDependency.js.map +0 -1
  280. package/src/lib/container/FallbackModule.d.js +0 -4
  281. package/src/lib/container/FallbackModule.d.js.map +0 -1
  282. package/src/lib/container/FallbackModule.d.ts +0 -73
  283. package/src/lib/container/FallbackModule.js +0 -153
  284. package/src/lib/container/FallbackModule.js.map +0 -1
  285. package/src/lib/container/FallbackModuleFactory.d.js +0 -4
  286. package/src/lib/container/FallbackModuleFactory.d.js.map +0 -1
  287. package/src/lib/container/FallbackModuleFactory.d.ts +0 -10
  288. package/src/lib/container/FallbackModuleFactory.js +0 -35
  289. package/src/lib/container/FallbackModuleFactory.js.map +0 -1
  290. package/src/lib/container/HoistContainerReferencesPlugin.d.ts +0 -19
  291. package/src/lib/container/HoistContainerReferencesPlugin.js +0 -78
  292. package/src/lib/container/HoistContainerReferencesPlugin.js.map +0 -1
  293. package/src/lib/container/ModuleFederationPlugin.d.js +0 -4
  294. package/src/lib/container/ModuleFederationPlugin.d.js.map +0 -1
  295. package/src/lib/container/ModuleFederationPlugin.d.ts +0 -16
  296. package/src/lib/container/ModuleFederationPlugin.js +0 -85
  297. package/src/lib/container/ModuleFederationPlugin.js.map +0 -1
  298. package/src/lib/container/ModuleFederationPluginTypes.d.js +0 -12
  299. package/src/lib/container/ModuleFederationPluginTypes.d.js.map +0 -1
  300. package/src/lib/container/RemoteModule.d.js +0 -13
  301. package/src/lib/container/RemoteModule.d.js.map +0 -1
  302. package/src/lib/container/RemoteModule.d.ts +0 -76
  303. package/src/lib/container/RemoteModule.js +0 -151
  304. package/src/lib/container/RemoteModule.js.map +0 -1
  305. package/src/lib/container/RemoteRuntimeModule.d.js +0 -13
  306. package/src/lib/container/RemoteRuntimeModule.d.js.map +0 -1
  307. package/src/lib/container/RemoteRuntimeModule.d.ts +0 -9
  308. package/src/lib/container/RemoteRuntimeModule.js +0 -124
  309. package/src/lib/container/RemoteRuntimeModule.js.map +0 -1
  310. package/src/lib/container/RemoteToExternalDependency.d.js +0 -19
  311. package/src/lib/container/RemoteToExternalDependency.d.js.map +0 -1
  312. package/src/lib/container/RemoteToExternalDependency.js +0 -37
  313. package/src/lib/container/RemoteToExternalDependency.js.map +0 -1
  314. package/src/lib/container/options.d.js +0 -6
  315. package/src/lib/container/options.d.js.map +0 -1
  316. package/src/lib/container/options.js.map +0 -1
  317. package/src/lib/inversion/ContainerInversionPlugin.d.ts +0 -1
  318. package/src/lib/inversion/ContainerInversionPlugin.js +0 -3
  319. package/src/lib/inversion/ContainerInversionPlugin.js.map +0 -1
  320. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js +0 -4
  321. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js.map +0 -1
  322. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +0 -10
  323. package/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -37
  324. package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
  325. package/src/lib/sharing/ConsumeSharedModule.d.js +0 -4
  326. package/src/lib/sharing/ConsumeSharedModule.d.js.map +0 -1
  327. package/src/lib/sharing/ConsumeSharedModule.d.ts +0 -106
  328. package/src/lib/sharing/ConsumeSharedModule.js +0 -235
  329. package/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
  330. package/src/lib/sharing/ConsumeSharedPlugin.d.js +0 -4
  331. package/src/lib/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  332. package/src/lib/sharing/ConsumeSharedPlugin.d.ts +0 -8
  333. package/src/lib/sharing/ConsumeSharedPlugin.js +0 -274
  334. package/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
  335. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js +0 -4
  336. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js.map +0 -1
  337. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +0 -13
  338. package/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -294
  339. package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
  340. package/src/lib/sharing/ProvideForSharedDependency.d.js +0 -4
  341. package/src/lib/sharing/ProvideForSharedDependency.d.js.map +0 -1
  342. package/src/lib/sharing/ProvideForSharedDependency.d.ts +0 -11
  343. package/src/lib/sharing/ProvideForSharedDependency.js +0 -38
  344. package/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
  345. package/src/lib/sharing/ProvideSharedDependency.d.js +0 -14
  346. package/src/lib/sharing/ProvideSharedDependency.d.js.map +0 -1
  347. package/src/lib/sharing/ProvideSharedDependency.d.ts +0 -32
  348. package/src/lib/sharing/ProvideSharedDependency.js +0 -69
  349. package/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
  350. package/src/lib/sharing/ProvideSharedModule.d.js +0 -4
  351. package/src/lib/sharing/ProvideSharedModule.d.js.map +0 -1
  352. package/src/lib/sharing/ProvideSharedModule.d.ts +0 -79
  353. package/src/lib/sharing/ProvideSharedModule.js +0 -203
  354. package/src/lib/sharing/ProvideSharedModule.js.map +0 -1
  355. package/src/lib/sharing/ProvideSharedModuleFactory.d.js +0 -4
  356. package/src/lib/sharing/ProvideSharedModuleFactory.d.js.map +0 -1
  357. package/src/lib/sharing/ProvideSharedModuleFactory.d.ts +0 -11
  358. package/src/lib/sharing/ProvideSharedModuleFactory.js +0 -36
  359. package/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
  360. package/src/lib/sharing/ProvideSharedPlugin.d.js +0 -4
  361. package/src/lib/sharing/ProvideSharedPlugin.d.js.map +0 -1
  362. package/src/lib/sharing/ProvideSharedPlugin.d.ts +0 -34
  363. package/src/lib/sharing/ProvideSharedPlugin.js +0 -182
  364. package/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
  365. package/src/lib/sharing/SharePlugin.d.js +0 -4
  366. package/src/lib/sharing/SharePlugin.d.js.map +0 -1
  367. package/src/lib/sharing/SharePlugin.d.ts +0 -15
  368. package/src/lib/sharing/SharePlugin.js +0 -77
  369. package/src/lib/sharing/SharePlugin.js.map +0 -1
  370. package/src/lib/sharing/ShareRuntimeModule.d.js +0 -4
  371. package/src/lib/sharing/ShareRuntimeModule.d.js.map +0 -1
  372. package/src/lib/sharing/ShareRuntimeModule.d.ts +0 -9
  373. package/src/lib/sharing/ShareRuntimeModule.js +0 -161
  374. package/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
  375. package/src/lib/sharing/resolveMatchedConfigs.d.js +0 -6
  376. package/src/lib/sharing/resolveMatchedConfigs.d.js.map +0 -1
  377. package/src/lib/sharing/resolveMatchedConfigs.d.ts +0 -8
  378. package/src/lib/sharing/resolveMatchedConfigs.js +0 -73
  379. package/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
  380. package/src/lib/sharing/utils.d.js +0 -6
  381. package/src/lib/sharing/utils.d.js.map +0 -1
  382. package/src/lib/sharing/utils.d.ts +0 -33
  383. package/src/lib/sharing/utils.js.map +0 -1
  384. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +0 -34
  385. package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +0 -1
  386. package/src/runtime/ModuleInfoRuntimeModule.d.ts +0 -16
  387. package/src/runtime/ModuleInfoRuntimeModule.js +0 -88
  388. package/src/runtime/ModuleInfoRuntimeModule.js.map +0 -1
  389. package/src/runtime/ModuleInfoRuntimePlugin.d.ts +0 -5
  390. package/src/runtime/ModuleInfoRuntimePlugin.js +0 -29
  391. package/src/runtime/ModuleInfoRuntimePlugin.js.map +0 -1
  392. package/src/schemas/container/ModuleFederationPlugin.check.js +0 -2245
  393. package/src/schemas/container/ModuleFederationPlugin.check.js.map +0 -1
  394. package/src/schemas/container/ModuleFederationPlugin.js.map +0 -1
  395. /package/{src → dist/src}/lib/Constants.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ export = FallbackModuleFactory;
2
+ declare class FallbackModuleFactory extends ModuleFactory {}
3
+ declare namespace FallbackModuleFactory {
4
+ export { ModuleFactoryCreateData, ModuleFactoryResult, FallbackDependency };
5
+ }
6
+ import ModuleFactory = require('webpack/lib/ModuleFactory');
7
+ type ModuleFactoryCreateData =
8
+ import('webpack/lib/ModuleFactory').ModuleFactoryCreateData;
9
+ type ModuleFactoryResult =
10
+ import('webpack/lib/ModuleFactory').ModuleFactoryResult;
11
+ type FallbackDependency = import('./FallbackDependency');
@@ -0,0 +1,28 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy, Marais Rossouw @maraisr
4
+ */
5
+ 'use strict';
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const FallbackModule_1 = __importDefault(require("./FallbackModule"));
12
+ const ModuleFactory = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleFactory'));
13
+ class FallbackModuleFactory extends ModuleFactory {
14
+ /**
15
+ * @param {ModuleFactoryCreateData} data data object
16
+ * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback
17
+ * @returns {void}
18
+ */
19
+ create(data, callback) {
20
+ const dependency = data.dependencies[0];
21
+ callback(null, {
22
+ // @ts-expect-error Module !== FallbackModule
23
+ module: new FallbackModule_1.default(dependency.requests),
24
+ });
25
+ }
26
+ }
27
+ exports.default = FallbackModuleFactory;
28
+ //# sourceMappingURL=FallbackModuleFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackModuleFactory.js","sourceRoot":"","sources":["../../../../src/lib/container/FallbackModuleFactory.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AACb,0FAAqF;AAKrF,sEAA8C;AAE9C,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAA,6CAAoB,EAAC,2BAA2B,CAAC,CACJ,CAAC;AAEhD,MAAqB,qBAAsB,SAAQ,aAAa;IAC9D;;;;OAIG;IACM,MAAM,CACb,IAA6B,EAC7B,QAAqE;QAErE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,EAAE;YACb,6CAA6C;YAC7C,MAAM,EAAE,IAAI,wBAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;CACF;AAhBD,wCAgBC"}
@@ -0,0 +1,14 @@
1
+ import type { Compiler, WebpackPluginInstance } from 'webpack';
2
+ /**
3
+ * This class is used to hoist container references in the code.
4
+ * @constructor
5
+ */
6
+ export declare class HoistContainerReferences implements WebpackPluginInstance {
7
+ private containerName?;
8
+ constructor(name?: string | undefined);
9
+ apply(compiler: Compiler): void;
10
+ private chunkContainsContainerEntryModule;
11
+ private hoistModulesInChunk;
12
+ private getRuntimeChunks;
13
+ }
14
+ export default HoistContainerReferences;
@@ -0,0 +1,64 @@
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.HoistContainerReferences = void 0;
7
+ const ContainerEntryModule_1 = __importDefault(require("./ContainerEntryModule"));
8
+ /**
9
+ * This class is used to hoist container references in the code.
10
+ * @constructor
11
+ */
12
+ class HoistContainerReferences {
13
+ constructor(name) {
14
+ this.containerName = name;
15
+ }
16
+ apply(compiler) {
17
+ compiler.hooks.thisCompilation.tap('HoistContainerReferences', (compilation) => {
18
+ compilation.hooks.afterOptimizeChunks.tap('HoistContainerReferences', (chunks) => {
19
+ for (const chunk of chunks) {
20
+ if (this.chunkContainsContainerEntryModule(chunk, compilation)) {
21
+ this.hoistModulesInChunk(chunk, compilation);
22
+ }
23
+ }
24
+ });
25
+ });
26
+ }
27
+ chunkContainsContainerEntryModule(chunk, compilation) {
28
+ for (const module of compilation.chunkGraph.getChunkModulesIterable(chunk)) {
29
+ if (module instanceof ContainerEntryModule_1.default) {
30
+ return true;
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+ hoistModulesInChunk(chunk, compilation) {
36
+ const chunkGraph = compilation.chunkGraph;
37
+ const runtimeChunks = this.getRuntimeChunks(chunk, compilation);
38
+ for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
39
+ if (!chunk.hasRuntime() &&
40
+ (!this.containerName ||
41
+ (chunk.name !== this.containerName &&
42
+ chunk.name !== this.containerName + '_partial'))) {
43
+ chunkGraph.disconnectChunkAndModule(chunk, module);
44
+ }
45
+ for (const runtimeChunk of runtimeChunks) {
46
+ if (chunkGraph.isModuleInChunk(module, runtimeChunk))
47
+ continue;
48
+ chunkGraph.connectChunkAndModule(runtimeChunk, module);
49
+ }
50
+ }
51
+ }
52
+ getRuntimeChunks(chunk, compilation) {
53
+ const runtimeChunks = [];
54
+ for (const c of compilation.chunks) {
55
+ if (c.hasRuntime() && c !== chunk) {
56
+ runtimeChunks.push(c);
57
+ }
58
+ }
59
+ return runtimeChunks;
60
+ }
61
+ }
62
+ exports.HoistContainerReferences = HoistContainerReferences;
63
+ exports.default = HoistContainerReferences;
64
+ //# sourceMappingURL=HoistContainerReferencesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoistContainerReferencesPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/HoistContainerReferencesPlugin.ts"],"names":[],"mappings":";;;;;;AAMA,kFAA0D;AAE1D;;;GAGG;AACH,MAAa,wBAAwB;IAGnC,YAAY,IAAyB;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChC,0BAA0B,EAC1B,CAAC,WAAwB,EAAE,EAAE;YAC3B,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CACvC,0BAA0B,EAC1B,CAAC,MAAuB,EAAE,EAAE;gBAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,iCAAiC,CACvC,KAAY,EACZ,WAAwB;QAExB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,uBAAuB,CACjE,KAAK,CACN,EAAE,CAAC;YACF,IAAI,MAAM,YAAY,8BAAoB,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,KAAY,EAAE,WAAwB;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEhE,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IACE,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnB,CAAC,CAAC,IAAI,CAAC,aAAa;oBAClB,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa;wBAChC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,EACpD,CAAC;gBACD,UAAU,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;oBAAE,SAAS;gBAC/D,UAAU,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAY,EAAE,WAAwB;QAC7D,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AArED,4DAqEC;AAED,kBAAe,wBAAwB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type moduleFederationPlugin } from '@module-federation/sdk';
2
+ import type { Compiler, WebpackPluginInstance } from 'webpack';
3
+ declare class ModuleFederationPlugin implements WebpackPluginInstance {
4
+ private _options;
5
+ /**
6
+ * @param {moduleFederationPlugin.ModuleFederationPluginOptions} options options
7
+ */
8
+ constructor(options: moduleFederationPlugin.ModuleFederationPluginOptions);
9
+ private _patchBundlerConfig;
10
+ /**
11
+ * Apply the plugin
12
+ * @param {Compiler} compiler the compiler instance
13
+ * @returns {void}
14
+ */
15
+ apply(compiler: Compiler): void;
16
+ }
17
+ export default ModuleFederationPlugin;
@@ -0,0 +1,133 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
+ */
5
+ 'use strict';
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const dts_plugin_1 = require("@module-federation/dts-plugin");
11
+ const managers_1 = require("@module-federation/managers");
12
+ const manifest_1 = require("@module-federation/manifest");
13
+ const sdk_1 = require("@module-federation/sdk");
14
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
15
+ const ModuleFederationPlugin_1 = __importDefault(require("../../schemas/container/ModuleFederationPlugin"));
16
+ const SharePlugin_1 = __importDefault(require("../sharing/SharePlugin"));
17
+ const ContainerPlugin_1 = __importDefault(require("./ContainerPlugin"));
18
+ const ContainerReferencePlugin_1 = __importDefault(require("./ContainerReferencePlugin"));
19
+ const FederationRuntimePlugin_1 = __importDefault(require("./runtime/FederationRuntimePlugin"));
20
+ const RemoteEntryPlugin_1 = require("./runtime/RemoteEntryPlugin");
21
+ const isValidExternalsType = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/container/ExternalsType.check.js'));
22
+ const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
23
+ const validate = createSchemaValidation(
24
+ // just use schema to validate
25
+ () => true, () => ModuleFederationPlugin_1.default, {
26
+ name: 'Module Federation Plugin',
27
+ baseDataPath: 'options',
28
+ });
29
+ class ModuleFederationPlugin {
30
+ /**
31
+ * @param {moduleFederationPlugin.ModuleFederationPluginOptions} options options
32
+ */
33
+ constructor(options) {
34
+ validate(options);
35
+ this._options = options;
36
+ }
37
+ _patchBundlerConfig(compiler) {
38
+ const { name } = this._options;
39
+ const MFPluginNum = compiler.options.plugins.filter((p) => p && p.name === 'ModuleFederationPlugin').length;
40
+ if (name && MFPluginNum < 2) {
41
+ new compiler.webpack.DefinePlugin({
42
+ FEDERATION_BUILD_IDENTIFIER: JSON.stringify((0, sdk_1.composeKeyWithSeparator)(name, managers_1.utils.getBuildVersion())),
43
+ }).apply(compiler);
44
+ }
45
+ }
46
+ /**
47
+ * Apply the plugin
48
+ * @param {Compiler} compiler the compiler instance
49
+ * @returns {void}
50
+ */
51
+ apply(compiler) {
52
+ const { _options: options } = this;
53
+ // must before ModuleFederationPlugin
54
+ if (options.getPublicPath && options.name) {
55
+ new RemoteEntryPlugin_1.RemoteEntryPlugin(options.name, options.getPublicPath).apply(compiler);
56
+ }
57
+ if (options.dts !== false) {
58
+ new dts_plugin_1.DtsPlugin(options).apply(compiler);
59
+ }
60
+ new FederationRuntimePlugin_1.default(options).apply(compiler);
61
+ const library = options.library || { type: 'var', name: options.name };
62
+ const remoteType = options.remoteType ||
63
+ (options.library && isValidExternalsType(options.library.type)
64
+ ? options.library.type
65
+ : 'script');
66
+ const useContainerPlugin = options.exposes &&
67
+ (Array.isArray(options.exposes)
68
+ ? options.exposes.length > 0
69
+ : Object.keys(options.exposes).length > 0);
70
+ let disableManifest = options.manifest === false;
71
+ if (useContainerPlugin) {
72
+ ContainerPlugin_1.default.patchChunkSplit(compiler, this._options.name);
73
+ }
74
+ this._patchBundlerConfig(compiler);
75
+ if (!disableManifest && useContainerPlugin) {
76
+ try {
77
+ const containerManager = new managers_1.ContainerManager();
78
+ containerManager.init(options);
79
+ options.exposes = containerManager.containerPluginExposesOptions;
80
+ }
81
+ catch (err) {
82
+ if (err instanceof Error) {
83
+ err.message = `[ ModuleFederationPlugin ]: Manifest will not generate, because: ${err.message}`;
84
+ }
85
+ console.warn(err);
86
+ disableManifest = true;
87
+ }
88
+ }
89
+ if (library &&
90
+ !compiler.options.output.enabledLibraryTypes?.includes(library.type)) {
91
+ compiler.options.output.enabledLibraryTypes?.push(library.type);
92
+ }
93
+ compiler.hooks.afterPlugins.tap('ModuleFederationPlugin', () => {
94
+ if (useContainerPlugin) {
95
+ new ContainerPlugin_1.default({
96
+ name: options.name,
97
+ library,
98
+ filename: options.filename,
99
+ runtime: options.runtime,
100
+ shareScope: options.shareScope,
101
+ exposes: options.exposes,
102
+ runtimePlugins: options.runtimePlugins,
103
+ }).apply(compiler);
104
+ }
105
+ if (options.remotes &&
106
+ (Array.isArray(options.remotes)
107
+ ? options.remotes.length > 0
108
+ : Object.keys(options.remotes).length > 0)) {
109
+ new ContainerReferencePlugin_1.default({
110
+ // @ts-expect-error this should not be a string
111
+ remoteType,
112
+ shareScope: options.shareScope,
113
+ remotes: options.remotes,
114
+ }).apply(compiler);
115
+ }
116
+ if (options.shared) {
117
+ new SharePlugin_1.default({
118
+ shared: options.shared,
119
+ shareScope: options.shareScope,
120
+ }).apply(compiler);
121
+ }
122
+ });
123
+ if (!disableManifest) {
124
+ const pkg = require('../../../../package.json');
125
+ new manifest_1.StatsPlugin(options, {
126
+ pluginVersion: pkg.version,
127
+ bundler: 'webpack',
128
+ }).apply(compiler);
129
+ }
130
+ }
131
+ }
132
+ exports.default = ModuleFederationPlugin;
133
+ //# sourceMappingURL=ModuleFederationPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFederationPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ export default RemoteModule;
2
+ declare class RemoteModule extends Module {
3
+ /**
4
+ * @param {ObjectDeserializerContext} context context
5
+ * @returns {RemoteModule} deserialized module
6
+ */
7
+ static deserialize(context: ObjectDeserializerContext): RemoteModule;
8
+ /**
9
+ * @param {string} request request string
10
+ * @param {string[]} externalRequests list of external requests to containers
11
+ * @param {string} internalRequest name of exposed module in container
12
+ * @param {string} shareScope the used share scope name
13
+ */
14
+ constructor(
15
+ request: string,
16
+ externalRequests: string[],
17
+ internalRequest: string,
18
+ shareScope: string,
19
+ );
20
+ request: string;
21
+ externalRequests: string[];
22
+ internalRequest: string;
23
+ shareScope: string;
24
+ _identifier: string;
25
+ /**
26
+ * @param {NeedBuildContext} context context info
27
+ * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
28
+ * @returns {void}
29
+ */
30
+ needBuild(
31
+ context: NeedBuildContext,
32
+ callback: (
33
+ arg0: (WebpackError | null) | undefined,
34
+ arg1: boolean | undefined,
35
+ ) => void,
36
+ ): void;
37
+ /**
38
+ * @param {WebpackOptions} options webpack options
39
+ * @param {Compilation} compilation the compilation
40
+ * @param {ResolverWithOptions} resolver the resolver
41
+ * @param {InputFileSystem} fs the file system
42
+ * @param {function(WebpackError=): void} callback callback function
43
+ * @returns {void}webpack
44
+ */
45
+ build(
46
+ options: WebpackOptions,
47
+ compilation: Compilation,
48
+ resolver: ResolverWithOptions,
49
+ fs: InputFileSystem,
50
+ callback: (arg0: WebpackError | undefined) => void,
51
+ ): void;
52
+ }
53
+ declare namespace RemoteModule {
54
+ export {
55
+ WebpackOptionsohunkGraph,
56
+ ChunkGroup,
57
+ Compilation,
58
+ CodeGenerationContext,
59
+ CodeGenerationResult,
60
+ LibIdentOptions,
61
+ NeedBuildContext,
62
+ RequestShortener,
63
+ ResolverWithOptions,
64
+ WebpackError,
65
+ ObjectDeserializerContext,
66
+ ObjectSerializerContext,
67
+ Hash,
68
+ InputFileSystem,
69
+ };
70
+ }
71
+ import Module = require('webpack/lib/Module');
72
+ type NeedBuildContext = import('webpack/lib/Module').NeedBuildContext;
73
+ type WebpackError = import('webpack/lib/WebpackError');
74
+ type WebpackOptions =
75
+ import('webpack/declarations/WebpackOptions').WebpackOptionsNormalized;
76
+ type Compilation = import('webpack/lib/Compilation');
77
+ type ResolverWithOptions =
78
+ import('webpack/lib/ResolverFactory').ResolverWithOptions;
79
+ type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;
80
+ type ObjectDeserializerContext =
81
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
82
+ type ChunkGraph = import('webpack/lib/ChunkGraph');
83
+ type ChunkGroup = import('webpack/lib/ChunkGroup');
84
+ type CodeGenerationContext = import('webpack/lib/Module').CodeGenerationContext;
85
+ type CodeGenerationResult = import('webpack/lib/Module').CodeGenerationResult;
86
+ type LibIdentOptions = import('webpack/lib/Module').LibIdentOptions;
87
+ type RequestShortener = import('webpack/lib/RequestShortener');
88
+ type ObjectSerializerContext =
89
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
90
+ type Hash = import('webpack/lib/util/Hash');
@@ -0,0 +1,148 @@
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
+ /*
7
+ MIT License http://www.opensource.org/licenses/mit-license.php
8
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
9
+ */
10
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const FallbackDependency_1 = __importDefault(require("./FallbackDependency"));
12
+ const RemoteToExternalDependency_1 = __importDefault(require("./RemoteToExternalDependency"));
13
+ const Constants_1 = require("../Constants");
14
+ const { sources: webpackSources } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
15
+ const { Module, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
16
+ const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
17
+ const TYPES = new Set(['remote', 'share-init']);
18
+ const RUNTIME_REQUIREMENTS = new Set([RuntimeGlobals.module]);
19
+ class RemoteModule extends Module {
20
+ /**
21
+ * @param {string} request request string
22
+ * @param {string[]} externalRequests list of external requests to containers
23
+ * @param {string} internalRequest name of exposed module in container
24
+ * @param {string} shareScope the used share scope name
25
+ */
26
+ constructor(request, externalRequests, internalRequest, shareScope) {
27
+ super(Constants_1.WEBPACK_MODULE_TYPE_REMOTE);
28
+ this.request = request;
29
+ this.externalRequests = externalRequests;
30
+ this.internalRequest = internalRequest;
31
+ this.shareScope = shareScope;
32
+ this._identifier = `remote (${shareScope}) ${this.externalRequests.join(' ')} ${this.internalRequest}`;
33
+ }
34
+ /**
35
+ * @returns {string} a unique identifier of the module
36
+ */
37
+ identifier() {
38
+ return this._identifier;
39
+ }
40
+ /**
41
+ * @param {RequestShortener} requestShortener the request shortener
42
+ * @returns {string} a user readable identifier of the module
43
+ */
44
+ readableIdentifier(requestShortener) {
45
+ return `remote ${this.request}`;
46
+ }
47
+ /**
48
+ * @param {LibIdentOptions} options options
49
+ * @returns {string | null} an identifier for library inclusion
50
+ */
51
+ libIdent(options) {
52
+ return `${this.layer ? `(${this.layer})/` : ''}webpack/container/remote/${this.request}`;
53
+ }
54
+ /**
55
+ * @param {NeedBuildContext} context context info
56
+ * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
57
+ * @returns {void}
58
+ */
59
+ // @ts-ignore
60
+ needBuild(context, callback) {
61
+ callback(null, !this.buildInfo);
62
+ }
63
+ /**
64
+ * @param {WebpackOptions} options webpack options
65
+ * @param {Compilation} compilation the compilation
66
+ * @param {ResolverWithOptions} resolver the resolver
67
+ * @param {InputFileSystem} fs the file system
68
+ * @param {function(WebpackError=): void} callback callback function
69
+ * @returns {void}
70
+ */
71
+ // @ts-ignore
72
+ build(options, compilation, resolver, fs, callback) {
73
+ this.buildMeta = {};
74
+ this.buildInfo = {
75
+ strict: true,
76
+ };
77
+ this.clearDependenciesAndBlocks();
78
+ if (this.externalRequests.length === 1) {
79
+ this.addDependency(new RemoteToExternalDependency_1.default(this.externalRequests[0]));
80
+ }
81
+ else {
82
+ this.addDependency(new FallbackDependency_1.default(this.externalRequests));
83
+ }
84
+ callback();
85
+ }
86
+ /**
87
+ * @param {string=} type the source type for which the size should be estimated
88
+ * @returns {number} the estimated size of the module (must be non-zero)
89
+ */
90
+ size(type) {
91
+ return 6;
92
+ }
93
+ /**
94
+ * @returns {Set<string>} types available (do not mutate)
95
+ */
96
+ getSourceTypes() {
97
+ return TYPES;
98
+ }
99
+ /**
100
+ * @returns {string | null} absolute path which should be used for condition matching (usually the resource path)
101
+ */
102
+ nameForCondition() {
103
+ return this.request;
104
+ }
105
+ /**
106
+ * @param {CodeGenerationContext} context context for code generation
107
+ * @returns {CodeGenerationResult} result
108
+ */
109
+ // @ts-ignore
110
+ codeGeneration(context) {
111
+ const { runtimeTemplate, moduleGraph, chunkGraph } = context;
112
+ // @ts-ignore
113
+ const module = moduleGraph.getModule(this.dependencies[0]);
114
+ const id = module && chunkGraph.getModuleId(module);
115
+ const sources = new Map();
116
+ sources.set('remote', new webpackSources.RawSource(''));
117
+ const data = new Map();
118
+ data.set('share-init', [
119
+ {
120
+ shareScope: this.shareScope,
121
+ initStage: 20,
122
+ init: id === undefined ? '' : `initExternal(${JSON.stringify(id)});`,
123
+ },
124
+ ]);
125
+ return { sources, data, runtimeRequirements: RUNTIME_REQUIREMENTS };
126
+ }
127
+ serialize(context) {
128
+ const { write } = context;
129
+ write(this.request);
130
+ write(this.externalRequests);
131
+ write(this.internalRequest);
132
+ write(this.shareScope);
133
+ super.serialize(context);
134
+ }
135
+ /**
136
+ * @param {ObjectDeserializerContext} context context
137
+ * @returns {RemoteModule} deserialized module
138
+ */
139
+ static deserialize(context) {
140
+ const { read } = context;
141
+ const obj = new RemoteModule(read(), read(), read(), read());
142
+ obj.deserialize(context);
143
+ return obj;
144
+ }
145
+ }
146
+ makeSerializable(RemoteModule, 'enhanced/lib/container/RemoteModule');
147
+ exports.default = RemoteModule;
148
+ //# sourceMappingURL=RemoteModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export default RemoteRuntimeModule;
2
+ /** @typedef {import("webpack/lib/Chunk")} Chunk */
3
+ /** @typedef {import("./RemoteModule")} RemoteModule */
4
+ declare class RemoteRuntimeModule extends RuntimeModule {
5
+ constructor();
6
+ }
7
+ declare namespace RemoteRuntimeModule {
8
+ export { Chunk, RemoteModule };
9
+ }
10
+ import RuntimeModule = require('webpack/lib/RuntimeModule');
11
+ type Chunk = import('webpack/lib/Chunk');
12
+ type RemoteModule = import('./RemoteModule');
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /*
4
+ MIT License http://www.opensource.org/licenses/mit-license.php
5
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
6
+ */
7
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
8
+ const utils_1 = require("./runtime/utils");
9
+ const extractUrlAndGlobal = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/extractUrlAndGlobal'));
10
+ const { Template, RuntimeModule, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
11
+ class RemoteRuntimeModule extends RuntimeModule {
12
+ constructor() {
13
+ super('remotes loading');
14
+ }
15
+ /**
16
+ * @returns {string | null} runtime code
17
+ */
18
+ generate() {
19
+ const { compilation, chunkGraph } = this;
20
+ const { runtimeTemplate, moduleGraph } = compilation;
21
+ const chunkToRemotesMapping = {};
22
+ const idToExternalAndNameMapping = {};
23
+ const idToRemoteMap = {};
24
+ const allChunks = [
25
+ ...Array.from(this.chunk?.getAllReferencedChunks() || []),
26
+ ];
27
+ for (const chunk of allChunks) {
28
+ const modules = chunkGraph?.getChunkModulesIterableBySourceType(chunk, 'remote');
29
+ if (!modules) {
30
+ continue;
31
+ }
32
+ // @ts-ignore
33
+ const remotes = (chunkToRemotesMapping[chunk.id] = []);
34
+ for (const m of modules) {
35
+ const module = m;
36
+ const name = module.internalRequest;
37
+ // @ts-ignore
38
+ const id = chunkGraph ? chunkGraph.getModuleId(module) : undefined;
39
+ const { shareScope } = module;
40
+ const dep = module.dependencies[0];
41
+ // @ts-ignore
42
+ const externalModule = moduleGraph.getModule(dep);
43
+ const externalModuleId = chunkGraph && externalModule
44
+ ? // @ts-ignore
45
+ chunkGraph.getModuleId(externalModule)
46
+ : undefined;
47
+ if (id !== undefined) {
48
+ //@ts-ignore
49
+ remotes.push(id);
50
+ idToExternalAndNameMapping[id] = [shareScope, name, externalModuleId];
51
+ const remoteModules = [];
52
+ // FallbackModule has requests
53
+ if ('requests' in externalModule && externalModule.requests) {
54
+ externalModule.dependencies.forEach((dependency) => {
55
+ const remoteModule = moduleGraph.getModule(dependency);
56
+ if (remoteModule) {
57
+ // @ts-ignore
58
+ remoteModules.push(remoteModule);
59
+ }
60
+ });
61
+ }
62
+ else {
63
+ remoteModules.push(externalModule);
64
+ }
65
+ idToRemoteMap[id] = [];
66
+ remoteModules.forEach((remoteModule) => {
67
+ let remoteName = '';
68
+ try {
69
+ const [_url, name] = extractUrlAndGlobal(remoteModule.request);
70
+ remoteName = name;
71
+ }
72
+ catch (err) {
73
+ //noop
74
+ }
75
+ const externalModuleId = chunkGraph &&
76
+ remoteModule &&
77
+ // @ts-ignore
78
+ chunkGraph.getModuleId(remoteModule);
79
+ idToRemoteMap[id].push({
80
+ externalType: remoteModule.externalType,
81
+ name: remoteModule.externalType === 'script' ? remoteName : '',
82
+ externalModuleId,
83
+ });
84
+ });
85
+ }
86
+ }
87
+ }
88
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals || {});
89
+ return Template.asString([
90
+ `var chunkMapping = ${JSON.stringify(chunkToRemotesMapping, null, '\t')};`,
91
+ `var idToExternalAndNameMapping = ${JSON.stringify(idToExternalAndNameMapping, null, '\t')};`,
92
+ `var idToRemoteMap = ${JSON.stringify(idToRemoteMap, null, '\t')};`,
93
+ `${federationGlobal}.bundlerRuntimeOptions.remotes = {idToRemoteMap,chunkMapping, idToExternalAndNameMapping, webpackRequire:${RuntimeGlobals.require}};`,
94
+ `${RuntimeGlobals.ensureChunkHandlers}.remotes = ${runtimeTemplate.basicFunction('chunkId, promises', [
95
+ `${federationGlobal}.bundlerRuntime.remotes({idToRemoteMap,chunkMapping, idToExternalAndNameMapping, chunkId, promises, webpackRequire:${RuntimeGlobals.require}});`,
96
+ ])}`,
97
+ ]);
98
+ }
99
+ }
100
+ exports.default = RemoteRuntimeModule;
101
+ //# sourceMappingURL=RemoteRuntimeModule.js.map