@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,245 @@
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
+ 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 options_1 = require("../container/options");
12
+ const resolveMatchedConfigs_1 = require("./resolveMatchedConfigs");
13
+ const utils_1 = require("./utils");
14
+ const ConsumeSharedFallbackDependency_1 = __importDefault(require("./ConsumeSharedFallbackDependency"));
15
+ const ConsumeSharedModule_1 = __importDefault(require("./ConsumeSharedModule"));
16
+ const ConsumeSharedRuntimeModule_1 = __importDefault(require("./ConsumeSharedRuntimeModule"));
17
+ const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
18
+ const FederationRuntimePlugin_1 = __importDefault(require("../container/runtime/FederationRuntimePlugin"));
19
+ const ShareRuntimeModule_1 = __importDefault(require("./ShareRuntimeModule"));
20
+ const { parseRange } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
21
+ const ModuleNotFoundError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleNotFoundError'));
22
+ const { RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
23
+ const LazySet = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/LazySet'));
24
+ const WebpackError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/WebpackError'));
25
+ const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
26
+ const validate = createSchemaValidation(
27
+ //eslint-disable-next-line
28
+ require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js')), () => require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json')), {
29
+ name: 'Consume Shared Plugin',
30
+ baseDataPath: 'options',
31
+ });
32
+ const RESOLVE_OPTIONS = {
33
+ dependencyType: 'esm',
34
+ };
35
+ const PLUGIN_NAME = 'ConsumeSharedPlugin';
36
+ class ConsumeSharedPlugin {
37
+ constructor(options) {
38
+ if (typeof options !== 'string') {
39
+ validate(options);
40
+ }
41
+ this._consumes = (0, options_1.parseOptions)(options.consumes, (item, key) => {
42
+ if (Array.isArray(item))
43
+ throw new Error('Unexpected array in options');
44
+ //@ts-ignore
45
+ const result = item === key || !(0, utils_1.isRequiredVersion)(item)
46
+ ? // item is a request/key
47
+ {
48
+ import: key,
49
+ shareScope: options.shareScope || 'default',
50
+ shareKey: key,
51
+ requiredVersion: undefined,
52
+ packageName: undefined,
53
+ strictVersion: false,
54
+ singleton: false,
55
+ eager: false,
56
+ }
57
+ : // key is a request/key
58
+ // item is a version
59
+ {
60
+ import: key,
61
+ shareScope: options.shareScope || 'default',
62
+ shareKey: key,
63
+ // webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
64
+ requiredVersion: item,
65
+ strictVersion: true,
66
+ packageName: undefined,
67
+ singleton: false,
68
+ eager: false,
69
+ };
70
+ return result;
71
+ }, (item, key) => ({
72
+ import: item.import === false ? undefined : item.import || key,
73
+ shareScope: item.shareScope || options.shareScope || 'default',
74
+ shareKey: item.shareKey || key,
75
+ // @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
76
+ requiredVersion: item.requiredVersion,
77
+ strictVersion: typeof item.strictVersion === 'boolean'
78
+ ? item.strictVersion
79
+ : item.import !== false && !item.singleton,
80
+ //@ts-ignore
81
+ packageName: item.packageName,
82
+ singleton: !!item.singleton,
83
+ eager: !!item.eager,
84
+ }));
85
+ }
86
+ apply(compiler) {
87
+ //@ts-ignore
88
+ new FederationRuntimePlugin_1.default().apply(compiler);
89
+ process.env['FEDERATION_WEBPACK_PATH'] =
90
+ process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
91
+ compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
92
+ compilation.dependencyFactories.set(ConsumeSharedFallbackDependency_1.default, normalModuleFactory);
93
+ let unresolvedConsumes, resolvedConsumes, prefixedConsumes;
94
+ const promise = (0, resolveMatchedConfigs_1.resolveMatchedConfigs)(compilation, this._consumes).then(({ resolved, unresolved, prefixed }) => {
95
+ resolvedConsumes = resolved;
96
+ unresolvedConsumes = unresolved;
97
+ prefixedConsumes = prefixed;
98
+ });
99
+ const resolver = compilation.resolverFactory.get('normal',
100
+ //@ts-ignore
101
+ RESOLVE_OPTIONS);
102
+ const createConsumeSharedModule = (context, request, config) => {
103
+ const requiredVersionWarning = (details) => {
104
+ const error = new WebpackError(`No required version specified and unable to automatically determine one. ${details}`);
105
+ error.file = `shared module ${request}`;
106
+ //@ts-ignore
107
+ compilation.warnings.push(error);
108
+ };
109
+ const directFallback = config.import &&
110
+ /^(\.\.?(\/|$)|\/|[A-Za-z]:|\\\\)/.test(config.import);
111
+ return Promise.all([
112
+ new Promise((resolve) => {
113
+ if (!config.import)
114
+ return resolve(undefined);
115
+ const resolveContext = {
116
+ fileDependencies: new LazySet(),
117
+ contextDependencies: new LazySet(),
118
+ missingDependencies: new LazySet(),
119
+ };
120
+ resolver.resolve({}, directFallback ? compiler.context : context, config.import, resolveContext, (err, result) => {
121
+ compilation.contextDependencies.addAll(resolveContext.contextDependencies);
122
+ compilation.fileDependencies.addAll(resolveContext.fileDependencies);
123
+ compilation.missingDependencies.addAll(resolveContext.missingDependencies);
124
+ if (err) {
125
+ compilation.errors.push(
126
+ //@ts-ignore
127
+ new ModuleNotFoundError(null, err, {
128
+ name: `resolving fallback for shared module ${request}`,
129
+ }));
130
+ return resolve(undefined);
131
+ }
132
+ //@ts-ignore
133
+ resolve(result);
134
+ });
135
+ }),
136
+ new Promise((resolve) => {
137
+ if (config.requiredVersion !== undefined) {
138
+ return resolve(config.requiredVersion);
139
+ }
140
+ let packageName = config.packageName;
141
+ if (packageName === undefined) {
142
+ if (/^(\/|[A-Za-z]:|\\\\)/.test(request)) {
143
+ // For relative or absolute requests we don't automatically use a packageName.
144
+ // If wished one can specify one with the packageName option.
145
+ return resolve(undefined);
146
+ }
147
+ const match = /^((?:@[^\\/]+[\\/])?[^\\/]+)/.exec(request);
148
+ if (!match) {
149
+ requiredVersionWarning('Unable to extract the package name from request.');
150
+ return resolve(undefined);
151
+ }
152
+ packageName = match[0];
153
+ }
154
+ (0, utils_1.getDescriptionFile)(compilation.inputFileSystem, context, ['package.json'], (err, result) => {
155
+ if (err) {
156
+ requiredVersionWarning(`Unable to read description file: ${err}`);
157
+ return resolve(undefined);
158
+ }
159
+ //@ts-ignore
160
+ const { data, path: descriptionPath } = result;
161
+ if (!data) {
162
+ requiredVersionWarning(`Unable to find description file in ${context}.`);
163
+ return resolve(undefined);
164
+ }
165
+ //@ts-ignore
166
+ if (data.name === packageName) {
167
+ // Package self-referencing
168
+ return resolve(undefined);
169
+ }
170
+ const requiredVersion = (0, utils_1.getRequiredVersionFromDescriptionFile)(data, packageName);
171
+ if (typeof requiredVersion !== 'string') {
172
+ requiredVersionWarning(`Unable to find required version for "${packageName}" in description file (${descriptionPath}). It need to be in dependencies, devDependencies or peerDependencies.`);
173
+ return resolve(undefined);
174
+ }
175
+ // @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756
176
+ resolve(requiredVersion);
177
+ });
178
+ }),
179
+ ]).then(([importResolved, requiredVersion]) => {
180
+ return new ConsumeSharedModule_1.default(directFallback ? compiler.context : context, {
181
+ ...config,
182
+ importResolved,
183
+ import: importResolved ? config.import : undefined,
184
+ requiredVersion,
185
+ });
186
+ });
187
+ };
188
+ normalModuleFactory.hooks.factorize.tapPromise(PLUGIN_NAME, ({ context, request, dependencies }) =>
189
+ // wait for resolving to be complete
190
+ //@ts-ignore
191
+ promise.then(() => {
192
+ if (dependencies[0] instanceof ConsumeSharedFallbackDependency_1.default ||
193
+ dependencies[0] instanceof ProvideForSharedDependency_1.default) {
194
+ return;
195
+ }
196
+ const match = unresolvedConsumes.get(request);
197
+ if (match !== undefined) {
198
+ return createConsumeSharedModule(context, request, match);
199
+ }
200
+ for (const [prefix, options] of prefixedConsumes) {
201
+ if (request.startsWith(prefix)) {
202
+ const remainder = request.slice(prefix.length);
203
+ return createConsumeSharedModule(context, request, {
204
+ ...options,
205
+ import: options.import
206
+ ? options.import + remainder
207
+ : undefined,
208
+ shareKey: options.shareKey + remainder,
209
+ });
210
+ }
211
+ }
212
+ }));
213
+ normalModuleFactory.hooks.createModule.tapPromise(PLUGIN_NAME,
214
+ //@ts-ignore
215
+ ({ resource }, { context, dependencies }) => {
216
+ if (dependencies[0] instanceof ConsumeSharedFallbackDependency_1.default ||
217
+ dependencies[0] instanceof ProvideForSharedDependency_1.default) {
218
+ return Promise.resolve();
219
+ }
220
+ if (resource) {
221
+ const options = resolvedConsumes.get(resource);
222
+ if (options !== undefined) {
223
+ return createConsumeSharedModule(context, resource, options);
224
+ }
225
+ }
226
+ return Promise.resolve();
227
+ });
228
+ compilation.hooks.additionalTreeRuntimeRequirements.tap(PLUGIN_NAME, (chunk, set) => {
229
+ set.add(RuntimeGlobals.module);
230
+ set.add(RuntimeGlobals.moduleCache);
231
+ set.add(RuntimeGlobals.moduleFactoriesAddOnly);
232
+ set.add(RuntimeGlobals.shareScopeMap);
233
+ set.add(RuntimeGlobals.initializeSharing);
234
+ set.add(RuntimeGlobals.hasOwnProperty);
235
+ compilation.addRuntimeModule(chunk,
236
+ //@ts-ignore
237
+ new ConsumeSharedRuntimeModule_1.default(set));
238
+ // FIXME: need to remove webpack internal inject ShareRuntimeModule, otherwise there will be two ShareRuntimeModule
239
+ compilation.addRuntimeModule(chunk, new ShareRuntimeModule_1.default());
240
+ });
241
+ });
242
+ }
243
+ }
244
+ exports.default = ConsumeSharedPlugin;
245
+ //# sourceMappingURL=ConsumeSharedPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsumeSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export = ConsumeSharedRuntimeModule;
2
+ /** @typedef {import("webpack-sources").Source} Source */
3
+ /** @typedef {import("webpack/lib/Chunk")} Chunk */
4
+ /** @typedef {import("webpack/lib/ChunkGraph")} ChunkGraph */
5
+ /** @typedef {import("webpack/lib/Compilation")} Compilation */
6
+ /** @typedef {import("webpack/lib/Module")} Module */
7
+ /** @typedef {import("./ConsumeSharedModule")} ConsumeSharedModule */
8
+ declare class ConsumeSharedRuntimeModule extends RuntimeModule {
9
+ /**
10
+ * @param {ReadonlySet<string>} runtimeRequirements runtime requirements
11
+ */
12
+ constructor(runtimeRequirements: ReadonlySet<string>);
13
+ _runtimeRequirements: ReadonlySet<string>;
14
+ }
15
+ declare namespace ConsumeSharedRuntimeModule {
16
+ export {
17
+ Source,
18
+ Chunk,
19
+ ChunkGraph,
20
+ Compilation,
21
+ Module,
22
+ ConsumeSharedModule,
23
+ };
24
+ }
25
+ import RuntimeModule = require('webpack/lib/RuntimeModule');
26
+ type Source = import('webpack-sources').Source;
27
+ type Chunk = import('webpack/lib/Chunk');
28
+ type ChunkGraph = import('webpack/lib/ChunkGraph');
29
+ type Compilation = import('webpack/lib/Compilation');
30
+ type Module = import('webpack/lib/Module');
31
+ type ConsumeSharedModule = import('./ConsumeSharedModule');
@@ -0,0 +1,124 @@
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("../container/runtime/utils");
9
+ const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
10
+ const { parseVersionRuntimeCode, versionLtRuntimeCode, rangeToStringRuntimeCode, satisfyRuntimeCode, } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
11
+ class ConsumeSharedRuntimeModule extends RuntimeModule {
12
+ /**
13
+ * @param {ReadonlySet<string>} runtimeRequirements runtime requirements
14
+ */
15
+ constructor(runtimeRequirements) {
16
+ super('consumes', RuntimeModule.STAGE_ATTACH);
17
+ this._runtimeRequirements = runtimeRequirements;
18
+ }
19
+ /**
20
+ * @returns {string | null} runtime code
21
+ */
22
+ generate() {
23
+ const compilation = this.compilation;
24
+ const chunkGraph = this.chunkGraph;
25
+ const { runtimeTemplate, codeGenerationResults } = compilation;
26
+ const chunkToModuleMapping = {};
27
+ const moduleIdToSourceMapping = new Map();
28
+ const initialConsumes = [];
29
+ /**
30
+ *
31
+ * @param {Iterable<Module>} modules modules
32
+ * @param {Chunk} chunk the chunk
33
+ * @param {(string | number)[]} list list of ids
34
+ */
35
+ const addModules = (modules, chunk, list) => {
36
+ for (const m of modules) {
37
+ const module = m;
38
+ // @ts-ignore
39
+ const id = chunkGraph.getModuleId(module);
40
+ list.push(id);
41
+ const moduleGetter = codeGenerationResults.getSource(
42
+ // @ts-ignore
43
+ module, chunk.runtime, 'consume-shared');
44
+ const shareOption = codeGenerationResults.getData(
45
+ // @ts-ignore
46
+ module, chunk.runtime, 'consume-shared');
47
+ const sharedInfoAndHandlerStr = Template.asString([
48
+ '{',
49
+ Template.indent([
50
+ `getter: ${moduleGetter.source().toString()},`,
51
+ `shareInfo: {`,
52
+ Template.indent([
53
+ `shareConfig: ${JSON.stringify(shareOption.shareConfig, null, 2)},`,
54
+ `scope: [${JSON.stringify(shareOption.shareScope || 'default')}],`,
55
+ ]),
56
+ '},',
57
+ `shareKey: "${shareOption.shareKey}",`,
58
+ ]),
59
+ '}',
60
+ ]);
61
+ moduleIdToSourceMapping.set(id, sharedInfoAndHandlerStr);
62
+ }
63
+ };
64
+ const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];
65
+ for (const chunk of allChunks) {
66
+ const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
67
+ if (!modules)
68
+ continue;
69
+ // chunk.id may equal 0
70
+ if (chunk.id === null || (typeof chunk.id === 'string' && !chunk.id))
71
+ continue;
72
+ addModules(modules, chunk, (chunkToModuleMapping[chunk.id.toString()] = []));
73
+ }
74
+ for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {
75
+ const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
76
+ if (!modules)
77
+ continue;
78
+ addModules(modules, chunk, initialConsumes);
79
+ }
80
+ if (moduleIdToSourceMapping.size === 0)
81
+ return null;
82
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals);
83
+ return Template.asString([
84
+ 'var installedModules = {};',
85
+ 'var moduleToHandlerMapping = {',
86
+ Template.indent(Array.from(moduleIdToSourceMapping, ([key, value]) => {
87
+ return `${JSON.stringify(key)}: ${value}`;
88
+ }).join(',\n')),
89
+ '};',
90
+ initialConsumes.length > 0
91
+ ? Template.asString([
92
+ `var initialConsumes = ${JSON.stringify(initialConsumes)};`,
93
+ `${federationGlobal}.installInitialConsumes = ${runtimeTemplate.returningFunction(Template.asString([
94
+ `${federationGlobal}.bundlerRuntime.installInitialConsumes({`,
95
+ Template.indent([
96
+ 'initialConsumes: initialConsumes,',
97
+ 'installedModules:installedModules,',
98
+ 'moduleToHandlerMapping:moduleToHandlerMapping,',
99
+ `webpackRequire: ${RuntimeGlobals.require}`,
100
+ ]),
101
+ `})`,
102
+ ]), '')}`,
103
+ ])
104
+ : '// no consumes in initial chunks',
105
+ this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)
106
+ ? Template.asString([
107
+ `var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
108
+ `${RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
109
+ `${federationGlobal}.bundlerRuntime.consumes({`,
110
+ 'chunkMapping: chunkMapping,',
111
+ 'installedModules: installedModules,',
112
+ 'chunkId: chunkId,',
113
+ 'moduleToHandlerMapping: moduleToHandlerMapping,',
114
+ 'promises: promises,',
115
+ `webpackRequire:${RuntimeGlobals.require}`,
116
+ '});',
117
+ ])}`,
118
+ ])
119
+ : '// no chunk loading of consumes',
120
+ ]);
121
+ }
122
+ }
123
+ exports.default = ConsumeSharedRuntimeModule;
124
+ //# sourceMappingURL=ConsumeSharedRuntimeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsumeSharedRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"names":[],"mappings":";;AAAA;;;EAGE;AACF,0FAAqF;AAIrF,sDAAsE;AAEtE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAC9B,MAAM,EACJ,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,GACnB,GAAG,OAAO,CACT,IAAA,6CAAoB,EAAC,yBAAyB,CAAC,CACJ,CAAC;AAE9C,MAAM,0BAA2B,SAAQ,aAAa;IAGpD;;OAEG;IACH,YAAY,mBAAwC;QAClD,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,MAAM,WAAW,GAAgB,IAAI,CAAC,WAAY,CAAC;QACnD,MAAM,UAAU,GAAe,IAAI,CAAC,UAAW,CAAC;QAChD,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,WAAW,CAAC;QAC/D,MAAM,oBAAoB,GAAwB,EAAE,CAAC;QACrD,MAAM,uBAAuB,GAAiC,IAAI,GAAG,EAAE,CAAC;QACxE,MAAM,eAAe,GAAwB,EAAE,CAAC;QAChD;;;;;WAKG;QACH,MAAM,UAAU,GAAG,CACjB,OAAyB,EACzB,KAAY,EACZ,IAAyB,EACzB,EAAE;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAwB,CAAmC,CAAC;gBACxE,aAAa;gBACb,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACd,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS;gBAClD,aAAa;gBACb,MAAM,EACN,KAAK,CAAC,OAAO,EACb,gBAAgB,CACjB,CAAC;gBACF,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO;gBAC/C,aAAa;gBACb,MAAM,EACN,KAAK,CAAC,OAAO,EACb,gBAAgB,CACjB,CAAC;gBACF,MAAM,uBAAuB,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBAChD,GAAG;oBACH,QAAQ,CAAC,MAAM,CAAC;wBACd,WAAW,YAAY,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,GAAG;wBAC9C,cAAc;wBACd,QAAQ,CAAC,MAAM,CAAC;4BACd,gBAAgB,IAAI,CAAC,SAAS,CAC5B,WAAW,CAAC,WAAW,EACvB,IAAI,EACJ,CAAC,CACF,GAAG;4BACJ,WAAW,IAAI,CAAC,SAAS,CACvB,WAAW,CAAC,UAAU,IAAI,SAAS,CACpC,IAAI;yBACN,CAAC;wBACF,IAAI;wBACJ,cAAc,WAAW,CAAC,QAAQ,IAAI;qBACvC,CAAC;oBACF,GAAG;iBACJ,CAAC,CAAC;gBACH,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,mCAAmC,CAC5D,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,uBAAuB;YACvB,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,SAAS;YAEX,UAAU,CACR,OAAO,EACP,KAAK,EACL,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CACjD,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,UAAU,CAAC,mCAAmC,CAC5D,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,uBAAuB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,MAAM,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,CAAC;QAElE,OAAO,QAAQ,CAAC,QAAQ,CAAC;YACvB,4BAA4B;YAC5B,gCAAgC;YAChC,QAAQ,CAAC,MAAM,CACb,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACf;YACD,IAAI;YAEJ,eAAe,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAChB,yBAAyB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG;oBAC3D,GAAG,gBAAgB,6BAA6B,eAAe,CAAC,iBAAiB,CAC/E,QAAQ,CAAC,QAAQ,CAAC;wBAChB,GAAG,gBAAgB,0CAA0C;wBAC7D,QAAQ,CAAC,MAAM,CAAC;4BACd,mCAAmC;4BACnC,oCAAoC;4BACpC,gDAAgD;4BAChD,mBAAmB,cAAc,CAAC,OAAO,EAAE;yBAC5C,CAAC;wBACF,IAAI;qBACL,CAAC,EACF,EAAE,CACH,EAAE;iBACJ,CAAC;gBACJ,CAAC,CAAC,kCAAkC;YACtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC;gBAC/D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAChB,sBAAsB,IAAI,CAAC,SAAS,CAClC,oBAAoB,EACpB,IAAI,EACJ,IAAI,CACL,GAAG;oBACJ,GACE,cAAc,CAAC,mBACjB,eAAe,eAAe,CAAC,aAAa,CAAC,mBAAmB,EAAE;wBAChE,GAAG,gBAAgB,4BAA4B;wBAC/C,6BAA6B;wBAC7B,qCAAqC;wBACrC,mBAAmB;wBACnB,iDAAiD;wBACjD,qBAAqB;wBACrB,kBAAkB,cAAc,CAAC,OAAO,EAAE;wBAC1C,KAAK;qBACN,CAAC,EAAE;iBACL,CAAC;gBACJ,CAAC,CAAC,iCAAiC;SACtC,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export = ProvideForSharedDependency;
2
+ declare class ProvideForSharedDependency extends ModuleDependency {}
3
+ import ModuleDependency = require('webpack/lib/dependencies/ModuleDependency');
@@ -0,0 +1,27 @@
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 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 ProvideForSharedDependency extends dependencies.ModuleDependency {
11
+ /**
12
+ *
13
+ * @param request request string
14
+ */
15
+ constructor(request) {
16
+ super(request);
17
+ }
18
+ get type() {
19
+ return 'provide module for shared';
20
+ }
21
+ get category() {
22
+ return 'esm';
23
+ }
24
+ }
25
+ makeSerializable(ProvideForSharedDependency, 'enhanced/lib/sharing/ProvideForSharedDependency');
26
+ exports.default = ProvideForSharedDependency;
27
+ //# sourceMappingURL=ProvideForSharedDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideForSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideForSharedDependency.ts"],"names":[],"mappings":";;AAAA;;;EAGE;AACF,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;;;OAGG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,IAAa,IAAI;QACf,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,gBAAgB,CACd,0BAA0B,EAC1B,iDAAiD,CAClD,CAAC;AAEF,kBAAe,0BAA0B,CAAC"}
@@ -0,0 +1,36 @@
1
+ export class ProvideSharedDependency extends Dependency {
2
+ /**
3
+ * @param {ObjectDeserializerContext} context context
4
+ * @returns {ProvideSharedDependency} deserialize fallback dependency
5
+ */
6
+ static deserialize(
7
+ context: ObjectDeserializerContext,
8
+ ): ProvideSharedDependency;
9
+ /**
10
+ * @param {string} shareScope share scope
11
+ * @param {string} name module name
12
+ * @param {string | false} version version
13
+ * @param {string} request request
14
+ * @param {boolean} eager true, if this is an eager dependency
15
+ */
16
+ constructor(
17
+ shareScope: string,
18
+ name: string,
19
+ version: string | false,
20
+ request: string,
21
+ eager: boolean,
22
+ );
23
+ shareScope: string;
24
+ name: string;
25
+ version: string | false;
26
+ request: string;
27
+ eager: boolean;
28
+ }
29
+ declare namespace ProvideSharedDependency {
30
+ export { shareScope, ObjectDeserializerContext, ObjectSerializerContext };
31
+ }
32
+ export type ObjectDeserializerContext =
33
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
34
+ declare let shareScope: any;
35
+ export type ObjectSerializerContext =
36
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /*
3
+ MIT License http://www.opensource.org/licenses/mit-license.php
4
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
5
+ */
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 { Dependency } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
10
+ class ProvideSharedDependency extends Dependency {
11
+ /**
12
+ * @param {string} shareScope share scope
13
+ * @param {string} name module name
14
+ * @param {string | false} version version
15
+ * @param {string} request request
16
+ * @param {boolean} eager true, if this is an eager dependency
17
+ * @param {boolean} requiredVersion version requirement
18
+ * @param {boolean} strictVersion don't use shared version even if version isn't valid
19
+ * @param {boolean} singleton use single global version
20
+ */
21
+ constructor(shareScope, name, version, request, eager, requiredVersion, strictVersion, singleton) {
22
+ super();
23
+ this.shareScope = shareScope;
24
+ this.name = name;
25
+ this.version = version;
26
+ this.request = request;
27
+ this.eager = eager;
28
+ this.requiredVersion = requiredVersion;
29
+ this.strictVersion = strictVersion;
30
+ this.singleton = singleton;
31
+ }
32
+ get type() {
33
+ return 'provide shared module';
34
+ }
35
+ /**
36
+ * @returns {string | null} an identifier to merge equal requests
37
+ */
38
+ getResourceIdentifier() {
39
+ return `provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager ? ' (eager)' : ''}`;
40
+ }
41
+ /**
42
+ * @param {ObjectSerializerContext} context context
43
+ */
44
+ serialize(context) {
45
+ context.write(this.shareScope);
46
+ context.write(this.name);
47
+ context.write(this.request);
48
+ context.write(this.version);
49
+ context.write(this.eager);
50
+ context.write(this.requiredVersion);
51
+ context.write(this.strictVersion);
52
+ context.write(this.singleton);
53
+ super.serialize(context);
54
+ }
55
+ /**
56
+ * @param {ObjectDeserializerContext} context context
57
+ * @returns {ProvideSharedDependency} deserialize fallback dependency
58
+ */
59
+ static deserialize(context) {
60
+ const { read } = context;
61
+ const obj = new ProvideSharedDependency(read(), read(), read(), read(), read(), read(), read(), read());
62
+ //@ts-ignore
63
+ this.shareScope = context.read();
64
+ obj.deserialize(context);
65
+ return obj;
66
+ }
67
+ }
68
+ makeSerializable(ProvideSharedDependency, 'enhanced/lib/sharing/ProvideSharedDependency');
69
+ exports.default = ProvideSharedDependency;
70
+ //# sourceMappingURL=ProvideSharedDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAC5B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAO9B,MAAM,uBAAwB,SAAQ,UAAU;IAU9C;;;;;;;;;OASG;IACH,YACE,UAAkB,EAClB,IAAY,EACZ,OAAuB,EACvB,OAAe,EACf,KAAc,EACd,eAA+B,EAC/B,aAAsB,EACtB,SAAkB;QAElB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAa,IAAI;QACf,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,mBAAmB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,OACxD,IAAI,CAAC,IACP,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACM,SAAS,CAAC,OAAgC;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAkC;QAElC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,uBAAuB,CACrC,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,CACP,CAAC;QACF,YAAY;QACZ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,gBAAgB,CACd,uBAAuB,EACvB,8CAA8C,CAC/C,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1,67 @@
1
+ export = ProvideSharedModule;
2
+ declare class ProvideSharedModule extends Module {
3
+ /**
4
+ * @param {ObjectDeserializerContext} context context
5
+ * @returns {ProvideSharedModule} deserialize fallback dependency
6
+ */
7
+ static deserialize(context: ObjectDeserializerContext): ProvideSharedModule;
8
+ /**
9
+ * @param {string} shareScope shared scope name
10
+ * @param {string} name shared key
11
+ * @param {string | false} version version
12
+ * @param {string} request request to the provided module
13
+ * @param {boolean} eager include the module in sync way
14
+ */
15
+ constructor(
16
+ shareScope: string,
17
+ name: string,
18
+ version: string | false,
19
+ request: string,
20
+ eager: boolean,
21
+ );
22
+ _shareScope: string;
23
+ _name: string;
24
+ _version: string | false;
25
+ _request: string;
26
+ _eager: boolean;
27
+ }
28
+ declare namespace ProvideSharedModule {
29
+ export {
30
+ WebpackOptions,
31
+ Chunk,
32
+ ChunkGraph,
33
+ ChunkGroup,
34
+ Compilation,
35
+ CodeGenerationContext,
36
+ CodeGenerationResult,
37
+ LibIdentOptions,
38
+ NeedBuildContext,
39
+ RequestShortener,
40
+ ResolverWithOptions,
41
+ WebpackError,
42
+ ObjectDeserializerContext,
43
+ ObjectSerializerContext,
44
+ Hash,
45
+ InputFileSystem,
46
+ };
47
+ }
48
+ import Module = require('webpack/lib/Module');
49
+ type ObjectDeserializerContext =
50
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
51
+ type WebpackOptions = any;
52
+ type Chunk = import('webpack/lib/Chunk');
53
+ type ChunkGraph = import('webpack/lib/ChunkGraph');
54
+ type ChunkGroup = import('webpack/lib/ChunkGroup');
55
+ type Compilation = import('webpack/lib/Compilation');
56
+ type CodeGenerationContext = import('webpack/lib/Module').CodeGenerationContext;
57
+ type CodeGenerationResult = import('webpack/lib/Module').CodeGenerationResult;
58
+ type LibIdentOptions = import('webpack/lib/Module').LibIdentOptions;
59
+ type NeedBuildContext = import('webpack/lib/Module').NeedBuildContext;
60
+ type RequestShortener = import('webpack/lib/RequestShortener');
61
+ type ResolverWithOptions =
62
+ import('webpack/lib/ResolverFactory').ResolverWithOptions;
63
+ type WebpackError = import('webpack/lib/WebpackError');
64
+ type ObjectSerializerContext =
65
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
66
+ type Hash = import('webpack/lib/util/Hash');
67
+ type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;