@module-federation/enhanced 0.0.3 → 0.0.4

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 (279) hide show
  1. package/LICENSE +21 -0
  2. package/dist/package.json +33 -0
  3. package/{src → dist/src}/index.d.ts +4 -0
  4. package/dist/src/index.js +32 -0
  5. package/dist/src/index.js.map +1 -0
  6. package/dist/src/lib/Constants.js +125 -0
  7. package/dist/src/lib/Constants.js.map +1 -0
  8. package/dist/src/lib/RuntimeGlobals.d.ts +0 -0
  9. package/{src → dist/src}/lib/RuntimeGlobals.js +144 -74
  10. package/dist/src/lib/RuntimeGlobals.js.map +1 -0
  11. package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +19 -0
  12. package/dist/src/lib/container/AsyncBoundaryPlugin.js +172 -0
  13. package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +1 -0
  14. package/{src → dist/src}/lib/container/ContainerEntryDependency.d.ts +1 -1
  15. package/dist/src/lib/container/ContainerEntryDependency.js +37 -0
  16. package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -0
  17. package/{src → dist/src}/lib/container/ContainerEntryModule.d.ts +2 -2
  18. package/dist/src/lib/container/ContainerEntryModule.js +230 -0
  19. package/dist/src/lib/container/ContainerEntryModule.js.map +1 -0
  20. package/{src → dist/src}/lib/container/ContainerEntryModuleFactory.d.ts +2 -1
  21. package/dist/src/lib/container/ContainerEntryModuleFactory.js +30 -0
  22. package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -0
  23. package/{src → dist/src}/lib/container/ContainerExposedDependency.d.ts +2 -2
  24. package/dist/src/lib/container/ContainerExposedDependency.js +49 -0
  25. package/dist/src/lib/container/ContainerExposedDependency.js.map +1 -0
  26. package/{src → dist/src}/lib/container/ContainerPlugin.d.ts +1 -1
  27. package/dist/src/lib/container/ContainerPlugin.js +85 -0
  28. package/dist/src/lib/container/ContainerPlugin.js.map +1 -0
  29. package/{src → dist/src}/lib/container/ContainerReferencePlugin.d.ts +1 -1
  30. package/dist/src/lib/container/ContainerReferencePlugin.js +100 -0
  31. package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -0
  32. package/{src → dist/src}/lib/container/FallbackDependency.d.ts +1 -5
  33. package/dist/src/lib/container/FallbackDependency.js +47 -0
  34. package/dist/src/lib/container/FallbackDependency.js.map +1 -0
  35. package/{src → dist/src}/lib/container/FallbackItemDependency.d.ts +2 -2
  36. package/dist/src/lib/container/FallbackItemDependency.js +26 -0
  37. package/dist/src/lib/container/FallbackItemDependency.js.map +1 -0
  38. package/{src → dist/src}/lib/container/FallbackModule.d.ts +2 -3
  39. package/dist/src/lib/container/FallbackModule.js +152 -0
  40. package/dist/src/lib/container/FallbackModule.js.map +1 -0
  41. package/{src → dist/src}/lib/container/FallbackModuleFactory.d.ts +3 -2
  42. package/dist/src/lib/container/FallbackModuleFactory.js +28 -0
  43. package/dist/src/lib/container/FallbackModuleFactory.js.map +1 -0
  44. package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +13 -0
  45. package/dist/src/lib/container/HoistContainerReferencesPlugin.js +70 -0
  46. package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -0
  47. package/{src → dist/src}/lib/container/ModuleFederationPlugin.d.ts +1 -1
  48. package/dist/src/lib/container/ModuleFederationPlugin.js +86 -0
  49. package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -0
  50. package/{src → dist/src}/lib/container/RemoteModule.d.ts +2 -3
  51. package/dist/src/lib/container/RemoteModule.js +148 -0
  52. package/dist/src/lib/container/RemoteModule.js.map +1 -0
  53. package/{src → dist/src}/lib/container/RemoteRuntimeModule.d.ts +1 -1
  54. package/dist/src/lib/container/RemoteRuntimeModule.js +103 -0
  55. package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -0
  56. package/{src → dist/src}/lib/container/RemoteToExternalDependency.d.ts +2 -2
  57. package/dist/src/lib/container/RemoteToExternalDependency.js +26 -0
  58. package/dist/src/lib/container/RemoteToExternalDependency.js.map +1 -0
  59. package/{src → dist/src}/lib/container/options.js +32 -42
  60. package/dist/src/lib/container/options.js.map +1 -0
  61. package/{src → dist/src}/lib/sharing/ConsumeSharedFallbackDependency.d.ts +2 -2
  62. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js +26 -0
  63. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -0
  64. package/{src → dist/src}/lib/sharing/ConsumeSharedModule.d.ts +1 -1
  65. package/dist/src/lib/sharing/ConsumeSharedModule.js +201 -0
  66. package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -0
  67. package/{src → dist/src}/lib/sharing/ConsumeSharedPlugin.d.ts +1 -1
  68. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +238 -0
  69. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -0
  70. package/{src → dist/src}/lib/sharing/ConsumeSharedRuntimeModule.d.ts +1 -1
  71. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +247 -0
  72. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -0
  73. package/{src → dist/src}/lib/sharing/ProvideForSharedDependency.d.ts +2 -2
  74. package/dist/src/lib/sharing/ProvideForSharedDependency.js +27 -0
  75. package/dist/src/lib/sharing/ProvideForSharedDependency.js.map +1 -0
  76. package/{src → dist/src}/lib/sharing/ProvideSharedDependency.d.ts +1 -1
  77. package/dist/src/lib/sharing/ProvideSharedDependency.js +61 -0
  78. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -0
  79. package/{src → dist/src}/lib/sharing/ProvideSharedModule.d.ts +5 -5
  80. package/dist/src/lib/sharing/ProvideSharedModule.js +163 -0
  81. package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -0
  82. package/{src → dist/src}/lib/sharing/ProvideSharedModuleFactory.d.ts +1 -1
  83. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +30 -0
  84. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -0
  85. package/{src → dist/src}/lib/sharing/ProvideSharedPlugin.d.ts +1 -1
  86. package/dist/src/lib/sharing/ProvideSharedPlugin.js +185 -0
  87. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -0
  88. package/{src → dist/src}/lib/sharing/SharePlugin.d.ts +1 -1
  89. package/dist/src/lib/sharing/SharePlugin.js +76 -0
  90. package/dist/src/lib/sharing/SharePlugin.js.map +1 -0
  91. package/{src → dist/src}/lib/sharing/ShareRuntimeModule.d.ts +1 -1
  92. package/dist/src/lib/sharing/ShareRuntimeModule.js +116 -0
  93. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -0
  94. package/{src → dist/src}/lib/sharing/resolveMatchedConfigs.d.ts +1 -1
  95. package/dist/src/lib/sharing/resolveMatchedConfigs.js +66 -0
  96. package/dist/src/lib/sharing/resolveMatchedConfigs.js.map +1 -0
  97. package/{src → dist/src}/lib/sharing/utils.d.ts +1 -1
  98. package/{src → dist/src}/lib/sharing/utils.js +94 -81
  99. package/dist/src/lib/sharing/utils.js.map +1 -0
  100. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +5 -0
  101. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +19 -0
  102. package/dist/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
  103. package/{src → dist/src}/runtime/ModuleInfoRuntimeModule.d.ts +2 -1
  104. package/dist/src/runtime/ModuleInfoRuntimeModule.js +80 -0
  105. package/dist/src/runtime/ModuleInfoRuntimeModule.js.map +1 -0
  106. package/{src → dist/src}/runtime/ModuleInfoRuntimePlugin.d.ts +1 -1
  107. package/dist/src/runtime/ModuleInfoRuntimePlugin.js +24 -0
  108. package/dist/src/runtime/ModuleInfoRuntimePlugin.js.map +1 -0
  109. package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +7 -0
  110. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +1668 -0
  111. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -0
  112. package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +437 -0
  113. package/dist/src/schemas/container/ModuleFederationPlugin.js +529 -0
  114. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -0
  115. package/package.json +23 -8
  116. package/CHANGELOG.md +0 -111
  117. package/global.d.js +0 -14
  118. package/global.d.js.map +0 -1
  119. package/pullts.d.ts +0 -1
  120. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js +0 -14
  121. package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js.map +0 -1
  122. package/src/declarations/plugins/container/ContainerPlugin.d.js +0 -12
  123. package/src/declarations/plugins/container/ContainerPlugin.d.js.map +0 -1
  124. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js +0 -12
  125. package/src/declarations/plugins/container/ContainerReferencePlugin.d.js.map +0 -1
  126. package/src/declarations/plugins/container/Dependency.d.js +0 -14
  127. package/src/declarations/plugins/container/Dependency.d.js.map +0 -1
  128. package/src/declarations/plugins/container/Module.d.js +0 -3
  129. package/src/declarations/plugins/container/Module.d.js.map +0 -1
  130. package/src/declarations/plugins/container/ModuleFactory.d.js +0 -3
  131. package/src/declarations/plugins/container/ModuleFactory.d.js.map +0 -1
  132. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js +0 -12
  133. package/src/declarations/plugins/container/ModuleFederationPlugin.d.js.map +0 -1
  134. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js +0 -6
  135. package/src/declarations/plugins/container/ObjectDeserializerContext.d.js.map +0 -1
  136. package/src/declarations/plugins/container/StaticExportsDependency.d.js +0 -14
  137. package/src/declarations/plugins/container/StaticExportsDependency.d.js.map +0 -1
  138. package/src/declarations/plugins/container/Template.d.js +0 -4
  139. package/src/declarations/plugins/container/Template.d.js.map +0 -1
  140. package/src/declarations/plugins/container/WebpackError.d.js +0 -3
  141. package/src/declarations/plugins/container/WebpackError.d.js.map +0 -1
  142. package/src/declarations/plugins/container/WebpackOptions.d.js +0 -6
  143. package/src/declarations/plugins/container/WebpackOptions.d.js.map +0 -1
  144. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js +0 -12
  145. package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  146. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js +0 -12
  147. package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js.map +0 -1
  148. package/src/declarations/plugins/sharing/SharePlugin.d.js +0 -12
  149. package/src/declarations/plugins/sharing/SharePlugin.d.js.map +0 -1
  150. package/src/index.js +0 -43
  151. package/src/index.js.map +0 -1
  152. package/src/lib/Constants.js +0 -103
  153. package/src/lib/Constants.js.map +0 -1
  154. package/src/lib/RuntimeGlobals.d.ts +0 -1
  155. package/src/lib/RuntimeGlobals.js.map +0 -1
  156. package/src/lib/container/AsyncBoundaryPlugin.d.ts +0 -45
  157. package/src/lib/container/AsyncBoundaryPlugin.js +0 -103
  158. package/src/lib/container/AsyncBoundaryPlugin.js.map +0 -1
  159. package/src/lib/container/ContainerEntryDependency.d.js +0 -4
  160. package/src/lib/container/ContainerEntryDependency.d.js.map +0 -1
  161. package/src/lib/container/ContainerEntryDependency.js +0 -43
  162. package/src/lib/container/ContainerEntryDependency.js.map +0 -1
  163. package/src/lib/container/ContainerEntryModule.d.js +0 -14
  164. package/src/lib/container/ContainerEntryModule.d.js.map +0 -1
  165. package/src/lib/container/ContainerEntryModule.js +0 -237
  166. package/src/lib/container/ContainerEntryModule.js.map +0 -1
  167. package/src/lib/container/ContainerEntryModuleFactory.d.js +0 -4
  168. package/src/lib/container/ContainerEntryModuleFactory.d.js.map +0 -1
  169. package/src/lib/container/ContainerEntryModuleFactory.js +0 -32
  170. package/src/lib/container/ContainerEntryModuleFactory.js.map +0 -1
  171. package/src/lib/container/ContainerExposedDependency.d.js +0 -4
  172. package/src/lib/container/ContainerExposedDependency.d.js.map +0 -1
  173. package/src/lib/container/ContainerExposedDependency.js +0 -53
  174. package/src/lib/container/ContainerExposedDependency.js.map +0 -1
  175. package/src/lib/container/ContainerPlugin.d.js +0 -4
  176. package/src/lib/container/ContainerPlugin.d.js.map +0 -1
  177. package/src/lib/container/ContainerPlugin.js +0 -88
  178. package/src/lib/container/ContainerPlugin.js.map +0 -1
  179. package/src/lib/container/ContainerReferencePlugin.d.js +0 -4
  180. package/src/lib/container/ContainerReferencePlugin.d.js.map +0 -1
  181. package/src/lib/container/ContainerReferencePlugin.js +0 -97
  182. package/src/lib/container/ContainerReferencePlugin.js.map +0 -1
  183. package/src/lib/container/FallbackDependency.d.js +0 -14
  184. package/src/lib/container/FallbackDependency.d.js.map +0 -1
  185. package/src/lib/container/FallbackDependency.js +0 -55
  186. package/src/lib/container/FallbackDependency.js.map +0 -1
  187. package/src/lib/container/FallbackItemDependency.d.js +0 -4
  188. package/src/lib/container/FallbackItemDependency.d.js.map +0 -1
  189. package/src/lib/container/FallbackItemDependency.js +0 -33
  190. package/src/lib/container/FallbackItemDependency.js.map +0 -1
  191. package/src/lib/container/FallbackModule.d.js +0 -4
  192. package/src/lib/container/FallbackModule.d.js.map +0 -1
  193. package/src/lib/container/FallbackModule.js +0 -149
  194. package/src/lib/container/FallbackModule.js.map +0 -1
  195. package/src/lib/container/FallbackModuleFactory.d.js +0 -4
  196. package/src/lib/container/FallbackModuleFactory.d.js.map +0 -1
  197. package/src/lib/container/FallbackModuleFactory.js +0 -30
  198. package/src/lib/container/FallbackModuleFactory.js.map +0 -1
  199. package/src/lib/container/ModuleFederationPlugin.d.js +0 -4
  200. package/src/lib/container/ModuleFederationPlugin.d.js.map +0 -1
  201. package/src/lib/container/ModuleFederationPlugin.js +0 -79
  202. package/src/lib/container/ModuleFederationPlugin.js.map +0 -1
  203. package/src/lib/container/ModuleFederationPluginTypes.d.js +0 -12
  204. package/src/lib/container/ModuleFederationPluginTypes.d.js.map +0 -1
  205. package/src/lib/container/RemoteModule.d.js +0 -13
  206. package/src/lib/container/RemoteModule.d.js.map +0 -1
  207. package/src/lib/container/RemoteModule.js +0 -147
  208. package/src/lib/container/RemoteModule.js.map +0 -1
  209. package/src/lib/container/RemoteRuntimeModule.d.js +0 -13
  210. package/src/lib/container/RemoteRuntimeModule.d.js.map +0 -1
  211. package/src/lib/container/RemoteRuntimeModule.js +0 -121
  212. package/src/lib/container/RemoteRuntimeModule.js.map +0 -1
  213. package/src/lib/container/RemoteToExternalDependency.d.js +0 -15
  214. package/src/lib/container/RemoteToExternalDependency.d.js.map +0 -1
  215. package/src/lib/container/RemoteToExternalDependency.js +0 -33
  216. package/src/lib/container/RemoteToExternalDependency.js.map +0 -1
  217. package/src/lib/container/options.d.js +0 -6
  218. package/src/lib/container/options.d.js.map +0 -1
  219. package/src/lib/container/options.js.map +0 -1
  220. package/src/lib/inversion/ContainerInversionPlugin.d.ts +0 -1
  221. package/src/lib/inversion/ContainerInversionPlugin.js +0 -3
  222. package/src/lib/inversion/ContainerInversionPlugin.js.map +0 -1
  223. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js +0 -4
  224. package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js.map +0 -1
  225. package/src/lib/sharing/ConsumeSharedFallbackDependency.js +0 -33
  226. package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +0 -1
  227. package/src/lib/sharing/ConsumeSharedModule.d.js +0 -4
  228. package/src/lib/sharing/ConsumeSharedModule.d.js.map +0 -1
  229. package/src/lib/sharing/ConsumeSharedModule.js +0 -191
  230. package/src/lib/sharing/ConsumeSharedModule.js.map +0 -1
  231. package/src/lib/sharing/ConsumeSharedPlugin.d.js +0 -4
  232. package/src/lib/sharing/ConsumeSharedPlugin.d.js.map +0 -1
  233. package/src/lib/sharing/ConsumeSharedPlugin.js +0 -217
  234. package/src/lib/sharing/ConsumeSharedPlugin.js.map +0 -1
  235. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js +0 -4
  236. package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js.map +0 -1
  237. package/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -251
  238. package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +0 -1
  239. package/src/lib/sharing/ProvideForSharedDependency.d.js +0 -4
  240. package/src/lib/sharing/ProvideForSharedDependency.d.js.map +0 -1
  241. package/src/lib/sharing/ProvideForSharedDependency.js +0 -34
  242. package/src/lib/sharing/ProvideForSharedDependency.js.map +0 -1
  243. package/src/lib/sharing/ProvideSharedDependency.d.js +0 -14
  244. package/src/lib/sharing/ProvideSharedDependency.d.js.map +0 -1
  245. package/src/lib/sharing/ProvideSharedDependency.js +0 -65
  246. package/src/lib/sharing/ProvideSharedDependency.js.map +0 -1
  247. package/src/lib/sharing/ProvideSharedModule.d.js +0 -4
  248. package/src/lib/sharing/ProvideSharedModule.d.js.map +0 -1
  249. package/src/lib/sharing/ProvideSharedModule.js +0 -159
  250. package/src/lib/sharing/ProvideSharedModule.js.map +0 -1
  251. package/src/lib/sharing/ProvideSharedModuleFactory.d.js +0 -4
  252. package/src/lib/sharing/ProvideSharedModuleFactory.d.js.map +0 -1
  253. package/src/lib/sharing/ProvideSharedModuleFactory.js +0 -32
  254. package/src/lib/sharing/ProvideSharedModuleFactory.js.map +0 -1
  255. package/src/lib/sharing/ProvideSharedPlugin.d.js +0 -4
  256. package/src/lib/sharing/ProvideSharedPlugin.d.js.map +0 -1
  257. package/src/lib/sharing/ProvideSharedPlugin.js +0 -165
  258. package/src/lib/sharing/ProvideSharedPlugin.js.map +0 -1
  259. package/src/lib/sharing/SharePlugin.d.js +0 -4
  260. package/src/lib/sharing/SharePlugin.d.js.map +0 -1
  261. package/src/lib/sharing/SharePlugin.js +0 -73
  262. package/src/lib/sharing/SharePlugin.js.map +0 -1
  263. package/src/lib/sharing/ShareRuntimeModule.d.js +0 -4
  264. package/src/lib/sharing/ShareRuntimeModule.d.js.map +0 -1
  265. package/src/lib/sharing/ShareRuntimeModule.js +0 -117
  266. package/src/lib/sharing/ShareRuntimeModule.js.map +0 -1
  267. package/src/lib/sharing/resolveMatchedConfigs.d.js +0 -6
  268. package/src/lib/sharing/resolveMatchedConfigs.d.js.map +0 -1
  269. package/src/lib/sharing/resolveMatchedConfigs.js +0 -69
  270. package/src/lib/sharing/resolveMatchedConfigs.js.map +0 -1
  271. package/src/lib/sharing/utils.d.js +0 -6
  272. package/src/lib/sharing/utils.d.js.map +0 -1
  273. package/src/lib/sharing/utils.js.map +0 -1
  274. package/src/runtime/ModuleInfoRuntimeModule.js +0 -88
  275. package/src/runtime/ModuleInfoRuntimeModule.js.map +0 -1
  276. package/src/runtime/ModuleInfoRuntimePlugin.js +0 -29
  277. package/src/runtime/ModuleInfoRuntimePlugin.js.map +0 -1
  278. /package/{src → dist/src}/lib/Constants.d.ts +0 -0
  279. /package/{src → dist/src}/lib/container/options.d.ts +0 -0
@@ -0,0 +1,247 @@
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 { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
9
+ const { parseVersionRuntimeCode, versionLtRuntimeCode, rangeToStringRuntimeCode, satisfyRuntimeCode, } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
10
+ class ConsumeSharedRuntimeModule extends RuntimeModule {
11
+ /**
12
+ * @param {ReadonlySet<string>} runtimeRequirements runtime requirements
13
+ */
14
+ constructor(runtimeRequirements) {
15
+ super('consumes', RuntimeModule.STAGE_ATTACH);
16
+ this._runtimeRequirements = runtimeRequirements;
17
+ }
18
+ /**
19
+ * @returns {string | null} runtime code
20
+ */
21
+ generate() {
22
+ const compilation = this.compilation;
23
+ const chunkGraph = this.chunkGraph;
24
+ const { runtimeTemplate, codeGenerationResults } = compilation;
25
+ const chunkToModuleMapping = {};
26
+ const moduleIdToSourceMapping = new Map();
27
+ const initialConsumes = [];
28
+ /**
29
+ *
30
+ * @param {Iterable<Module>} modules modules
31
+ * @param {Chunk} chunk the chunk
32
+ * @param {(string | number)[]} list list of ids
33
+ */
34
+ const addModules = (modules, chunk, list) => {
35
+ for (const m of modules) {
36
+ const module = m;
37
+ // @ts-ignore
38
+ const id = chunkGraph.getModuleId(module);
39
+ list.push(id);
40
+ moduleIdToSourceMapping.set(id,
41
+ // @ts-ignore
42
+ codeGenerationResults.getSource(
43
+ // @ts-ignore
44
+ module, chunk.runtime, 'consume-shared'));
45
+ }
46
+ };
47
+ const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];
48
+ for (const chunk of allChunks) {
49
+ const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
50
+ if (!modules)
51
+ continue;
52
+ if (!chunk.id)
53
+ continue;
54
+ addModules(modules, chunk, (chunkToModuleMapping[chunk.id.toString()] = []));
55
+ }
56
+ for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {
57
+ const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
58
+ if (!modules)
59
+ continue;
60
+ addModules(modules, chunk, initialConsumes);
61
+ }
62
+ if (moduleIdToSourceMapping.size === 0)
63
+ return null;
64
+ return Template.asString([
65
+ parseVersionRuntimeCode(runtimeTemplate),
66
+ versionLtRuntimeCode(runtimeTemplate),
67
+ rangeToStringRuntimeCode(runtimeTemplate),
68
+ satisfyRuntimeCode(runtimeTemplate),
69
+ `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [
70
+ `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,
71
+ `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,
72
+ 'return scope;',
73
+ ])};`,
74
+ `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [
75
+ 'var versions = scope[key];',
76
+ `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || versionLt(a, b) ? b : a;'])}, 0);`,
77
+ 'return key && versions[key]',
78
+ ])};`,
79
+ `var findSingletonVersionKey = ${runtimeTemplate.basicFunction('scope, key', [
80
+ 'var versions = scope[key];',
81
+ `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'])}, 0);`,
82
+ ])};`,
83
+ `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction('scope, key, version, requiredVersion', [
84
+ `return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`,
85
+ ])};`,
86
+ `var getSingleton = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
87
+ 'var version = findSingletonVersionKey(scope, key);',
88
+ 'return get(scope[key][version]);',
89
+ ])};`,
90
+ `var getSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
91
+ 'var version = findSingletonVersionKey(scope, key);',
92
+ 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
93
+ 'return get(scope[key][version]);',
94
+ ])};`,
95
+ `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
96
+ 'var version = findSingletonVersionKey(scope, key);',
97
+ 'if (!satisfy(requiredVersion, version)) ' +
98
+ 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
99
+ 'return get(scope[key][version]);',
100
+ ])};`,
101
+ `var findValidVersion = ${runtimeTemplate.basicFunction('scope, key, requiredVersion', [
102
+ 'var versions = scope[key];',
103
+ `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', [
104
+ 'if (!satisfy(requiredVersion, b)) return a;',
105
+ 'return !a || versionLt(a, b) ? b : a;',
106
+ ])}, 0);`,
107
+ 'return key && versions[key]',
108
+ ])};`,
109
+ `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
110
+ 'var versions = scope[key];',
111
+ 'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',
112
+ `\t"Available versions: " + Object.keys(versions).map(${runtimeTemplate.basicFunction('key', ['return key + " from " + versions[key].from;'])}).join(", ");`,
113
+ ])};`,
114
+ `var getValidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
115
+ 'var entry = findValidVersion(scope, key, requiredVersion);',
116
+ 'if(entry) return get(entry);',
117
+ 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
118
+ ])};`,
119
+ `var warn = ${compilation.outputOptions.ignoreBrowserWarnings
120
+ ? runtimeTemplate.basicFunction('', '')
121
+ : runtimeTemplate.basicFunction('msg', [
122
+ 'if (typeof console !== "undefined" && console.warn) console.warn(msg);',
123
+ ])};`,
124
+ `var warnInvalidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
125
+ 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
126
+ ])};`,
127
+ `var get = ${runtimeTemplate.basicFunction('entry', [
128
+ 'entry.loaded = 1;',
129
+ 'return entry.get()',
130
+ ])};`,
131
+ `var init = ${runtimeTemplate.returningFunction(Template.asString([
132
+ 'function(scopeName, a, b, c) {',
133
+ Template.indent([
134
+ `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,
135
+ `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,
136
+ `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,
137
+ ]),
138
+ '}',
139
+ ]), 'fn')};`,
140
+ '',
141
+ `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
142
+ 'ensureExistence(scopeName, key);',
143
+ 'return get(findVersion(scope, key));',
144
+ ])});`,
145
+ `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
146
+ `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,
147
+ ])});`,
148
+ `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
149
+ 'ensureExistence(scopeName, key);',
150
+ 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
151
+ ])});`,
152
+ `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
153
+ 'ensureExistence(scopeName, key);',
154
+ 'return getSingleton(scope, scopeName, key);',
155
+ ])});`,
156
+ `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
157
+ 'ensureExistence(scopeName, key);',
158
+ 'return getSingletonVersion(scope, scopeName, key, version);',
159
+ ])});`,
160
+ `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
161
+ 'ensureExistence(scopeName, key);',
162
+ 'return getValidVersion(scope, scopeName, key, version);',
163
+ ])});`,
164
+ `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
165
+ 'ensureExistence(scopeName, key);',
166
+ 'return getStrictSingletonVersion(scope, scopeName, key, version);',
167
+ ])});`,
168
+ `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
169
+ `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
170
+ 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
171
+ ])});`,
172
+ `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
173
+ `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
174
+ 'return getSingleton(scope, scopeName, key);',
175
+ ])});`,
176
+ `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
177
+ `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
178
+ 'return getSingletonVersion(scope, scopeName, key, version);',
179
+ ])});`,
180
+ `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
181
+ `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,
182
+ `return entry ? get(entry) : fallback();`,
183
+ ])});`,
184
+ `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
185
+ `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
186
+ 'return getStrictSingletonVersion(scope, scopeName, key, version);',
187
+ ])});`,
188
+ 'var installedModules = {};',
189
+ 'var moduleToHandlerMapping = {',
190
+ Template.indent(Array.from(moduleIdToSourceMapping, ([key, source]) => `${JSON.stringify(key)}: ${source.source()}`).join(',\n')),
191
+ '};',
192
+ initialConsumes.length > 0
193
+ ? Template.asString([
194
+ `var initialConsumes = ${JSON.stringify(initialConsumes)};`,
195
+ `initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [
196
+ `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
197
+ '// Handle case when module is used sync',
198
+ 'installedModules[id] = 0;',
199
+ `delete ${RuntimeGlobals.moduleCache}[id];`,
200
+ 'var factory = moduleToHandlerMapping[id]();',
201
+ 'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',
202
+ `module.exports = factory();`,
203
+ ])}`,
204
+ ])});`,
205
+ ])
206
+ : '// no consumes in initial chunks',
207
+ this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)
208
+ ? Template.asString([
209
+ `var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
210
+ `${RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
211
+ `if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,
212
+ Template.indent([
213
+ `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction('id', [
214
+ `if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,
215
+ `var onFactory = ${runtimeTemplate.basicFunction('factory', [
216
+ 'installedModules[id] = 0;',
217
+ `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
218
+ `delete ${RuntimeGlobals.moduleCache}[id];`,
219
+ 'module.exports = factory();',
220
+ ])}`,
221
+ ])};`,
222
+ `var onError = ${runtimeTemplate.basicFunction('error', [
223
+ 'delete installedModules[id];',
224
+ `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
225
+ `delete ${RuntimeGlobals.moduleCache}[id];`,
226
+ 'throw error;',
227
+ ])}`,
228
+ ])};`,
229
+ 'try {',
230
+ Template.indent([
231
+ 'var promise = moduleToHandlerMapping[id]();',
232
+ 'if(promise.then) {',
233
+ Template.indent("promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));"),
234
+ '} else onFactory(promise);',
235
+ ]),
236
+ '} catch(e) { onError(e); }',
237
+ ])});`,
238
+ ]),
239
+ '}',
240
+ ])}`,
241
+ ])
242
+ : '// no chunk loading of consumes',
243
+ ]);
244
+ }
245
+ }
246
+ exports.default = ConsumeSharedRuntimeModule;
247
+ //# sourceMappingURL=ConsumeSharedRuntimeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsumeSharedRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';
2
- declare class ProvideForSharedDependency extends ModuleDependency {
1
+ declare const dependencies: typeof import("webpack").dependencies;
2
+ declare class ProvideForSharedDependency extends dependencies.ModuleDependency {
3
3
  /**
4
4
  *
5
5
  * @param request request string
@@ -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"}
@@ -1,4 +1,4 @@
1
- import Dependency from 'webpack/lib/Dependency';
1
+ declare const Dependency: typeof import("webpack").Dependency;
2
2
  import { ObjectDeserializerContext, ObjectSerializerContext } from '../../declarations/plugins/container/Dependency';
3
3
  declare class ProvideSharedDependency extends Dependency {
4
4
  shareScope: string;
@@ -0,0 +1,61 @@
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
+ */
18
+ constructor(shareScope, name, version, request, eager) {
19
+ super();
20
+ this.shareScope = shareScope;
21
+ this.name = name;
22
+ this.version = version;
23
+ this.request = request;
24
+ this.eager = eager;
25
+ }
26
+ get type() {
27
+ return 'provide shared module';
28
+ }
29
+ /**
30
+ * @returns {string | null} an identifier to merge equal requests
31
+ */
32
+ getResourceIdentifier() {
33
+ return `provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager ? ' (eager)' : ''}`;
34
+ }
35
+ /**
36
+ * @param {ObjectSerializerContext} context context
37
+ */
38
+ serialize(context) {
39
+ context.write(this.shareScope);
40
+ context.write(this.name);
41
+ context.write(this.request);
42
+ context.write(this.version);
43
+ context.write(this.eager);
44
+ super.serialize(context);
45
+ }
46
+ /**
47
+ * @param {ObjectDeserializerContext} context context
48
+ * @returns {ProvideSharedDependency} deserialize fallback dependency
49
+ */
50
+ static deserialize(context) {
51
+ const { read } = context;
52
+ const obj = new ProvideSharedDependency(read(), read(), read(), read(), read());
53
+ //@ts-ignore
54
+ this.shareScope = context.read();
55
+ obj.deserialize(context);
56
+ return obj;
57
+ }
58
+ }
59
+ makeSerializable(ProvideSharedDependency, 'enhanced/lib/sharing/ProvideSharedDependency');
60
+ exports.default = ProvideSharedDependency;
61
+ //# 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;IAO9C;;;;;;OAMG;IACH,YACE,UAAkB,EAClB,IAAY,EACZ,OAAuB,EACvB,OAAe,EACf,KAAc;QAEd,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;IACrB,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,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,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"}
@@ -1,9 +1,9 @@
1
- import Module from 'webpack/lib/Module';
2
- import type Compilation from 'webpack/lib/Compilation';
3
- import WebpackError from 'webpack/lib/WebpackError';
1
+ import type { Compilation } from 'webpack';
2
+ import type WebpackError from 'webpack/lib/WebpackError';
4
3
  import type { CodeGenerationContext, CodeGenerationResult, LibIdentOptions, NeedBuildContext, RequestShortener, ResolverWithOptions, ObjectDeserializerContext, ObjectSerializerContext } from 'webpack/lib/Module';
5
- import { InputFileSystem } from 'webpack/lib/util/fs';
6
- import { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';
4
+ import type { InputFileSystem } from 'webpack/lib/util/fs';
5
+ import type { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';
6
+ declare const Module: typeof import("webpack").Module;
7
7
  /**
8
8
  * @class
9
9
  * @extends {Module}
@@ -0,0 +1,163 @@
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 and Zackary Jackson @ScriptedAlchemy
9
+ */
10
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
12
+ const { AsyncDependenciesBlock, Module, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
13
+ const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
14
+ const { WEBPACK_MODULE_TYPE_PROVIDE } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleTypeConstants'));
15
+ const TYPES = new Set(['share-init']);
16
+ /**
17
+ * @class
18
+ * @extends {Module}
19
+ */
20
+ class ProvideSharedModule extends Module {
21
+ /**
22
+ * @constructor
23
+ * @param {string} shareScope shared scope name
24
+ * @param {string} name shared key
25
+ * @param {string | false} version version
26
+ * @param {string} request request to the provided module
27
+ * @param {boolean} eager include the module in sync way
28
+ */
29
+ constructor(shareScope, name, version, request, eager) {
30
+ super(WEBPACK_MODULE_TYPE_PROVIDE);
31
+ this._shareScope = shareScope;
32
+ this._name = name;
33
+ this._version = version;
34
+ this._request = request;
35
+ this._eager = eager;
36
+ }
37
+ /**
38
+ * @returns {string} a unique identifier of the module
39
+ */
40
+ identifier() {
41
+ return `provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`;
42
+ }
43
+ /**
44
+ * @param {RequestShortener} requestShortener the request shortener
45
+ * @returns {string} a user readable identifier of the module
46
+ */
47
+ readableIdentifier(requestShortener) {
48
+ return `provide shared module (${this._shareScope}) ${this._name}@${this._version} = ${requestShortener.shorten(this._request)}`;
49
+ }
50
+ /**
51
+ * @param {LibIdentOptions} options options
52
+ * @returns {string | null} an identifier for library inclusion
53
+ */
54
+ libIdent(options) {
55
+ return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/provide/${this._shareScope}/${this._name}`;
56
+ }
57
+ /**
58
+ * @param {NeedBuildContext} context context info
59
+ * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
60
+ * @returns {void}
61
+ */
62
+ // @ts-ignore
63
+ needBuild(context, callback) {
64
+ callback(null, !this.buildInfo);
65
+ }
66
+ /**
67
+ * @param {WebpackOptions} options webpack options
68
+ * @param {Compilation} compilation the compilation
69
+ * @param {ResolverWithOptions} resolver the resolver
70
+ * @param {InputFileSystem} fs the file system
71
+ * @param {function(WebpackError=): void} callback callback function
72
+ * @returns {void}
73
+ */
74
+ // @ts-ignore
75
+ build(options, compilation, resolver, fs, callback) {
76
+ this.buildMeta = {};
77
+ this.buildInfo = {
78
+ strict: true,
79
+ };
80
+ this.clearDependenciesAndBlocks();
81
+ const dep = new ProvideForSharedDependency_1.default(this._request);
82
+ if (this._eager) {
83
+ this.addDependency(dep);
84
+ }
85
+ else {
86
+ const block = new AsyncDependenciesBlock({});
87
+ block.addDependency(dep);
88
+ this.addBlock(block);
89
+ }
90
+ callback();
91
+ }
92
+ /**
93
+ * @param {string=} type the source type for which the size should be estimated
94
+ * @returns {number} the estimated size of the module (must be non-zero)
95
+ */
96
+ size(type) {
97
+ return 42;
98
+ }
99
+ /**
100
+ * @returns {Set<string>} types available (do not mutate)
101
+ */
102
+ getSourceTypes() {
103
+ return TYPES;
104
+ }
105
+ /**
106
+ * @param {CodeGenerationContext} context context for code generation
107
+ * @returns {CodeGenerationResult} result
108
+ */
109
+ // @ts-ignore
110
+ codeGeneration({ runtimeTemplate, moduleGraph, chunkGraph, }) {
111
+ const runtimeRequirements = new Set([RuntimeGlobals.initializeSharing]);
112
+ const code = `register(${JSON.stringify(this._name)}, ${JSON.stringify(this._version || '0')}, ${this._eager
113
+ ? runtimeTemplate.syncModuleFactory({
114
+ // @ts-ignore
115
+ dependency: this.dependencies[0],
116
+ chunkGraph,
117
+ request: this._request,
118
+ runtimeRequirements,
119
+ })
120
+ : runtimeTemplate.asyncModuleFactory({
121
+ // @ts-ignore
122
+ block: this.blocks[0],
123
+ chunkGraph,
124
+ request: this._request,
125
+ runtimeRequirements,
126
+ })}${this._eager ? ', 1' : ''});`;
127
+ const sources = new Map();
128
+ const data = new Map();
129
+ data.set('share-init', [
130
+ {
131
+ shareScope: this._shareScope,
132
+ initStage: 10,
133
+ init: code,
134
+ },
135
+ ]);
136
+ return { sources, data, runtimeRequirements };
137
+ }
138
+ /**
139
+ * @param {ObjectSerializerContext} context context
140
+ */
141
+ serialize(context) {
142
+ const { write } = context;
143
+ write(this._shareScope);
144
+ write(this._name);
145
+ write(this._version);
146
+ write(this._request);
147
+ write(this._eager);
148
+ super.serialize(context);
149
+ }
150
+ /**
151
+ * @param {ObjectDeserializerContext} context context
152
+ * @returns {ProvideSharedModule} deserialize fallback dependency
153
+ */
154
+ static deserialize(context) {
155
+ const { read } = context;
156
+ const obj = new ProvideSharedModule(read(), read(), read(), read(), read());
157
+ obj.deserialize(context);
158
+ return obj;
159
+ }
160
+ }
161
+ makeSerializable(ProvideSharedModule, 'enhanced/lib/sharing/ProvideSharedModule');
162
+ exports.default = ProvideSharedModule;
163
+ //# sourceMappingURL=ProvideSharedModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideSharedModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedModule.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import ModuleFactory from 'webpack/lib/ModuleFactory';
2
1
  import type { ModuleFactoryCreateData, ModuleFactoryResult } from 'webpack/lib/ModuleFactory';
2
+ declare const ModuleFactory: typeof import("webpack/lib/ModuleFactory");
3
3
  declare class ProvideSharedModuleFactory extends ModuleFactory {
4
4
  /**
5
5
  * @param {ModuleFactoryCreateData} data data object
@@ -0,0 +1,30 @@
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 and Zackary Jackson @ScriptedAlchemy
9
+ */
10
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const ProvideSharedModule_1 = __importDefault(require("./ProvideSharedModule"));
12
+ const ModuleFactory = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleFactory'));
13
+ class ProvideSharedModuleFactory 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
+ // @ts-ignore
21
+ const dep = data
22
+ .dependencies[0];
23
+ callback(null, {
24
+ // @ts-ignore
25
+ module: new ProvideSharedModule_1.default(dep.shareScope, dep.name, dep.version, dep.request, dep.eager),
26
+ });
27
+ }
28
+ }
29
+ exports.default = ProvideSharedModuleFactory;
30
+ //# sourceMappingURL=ProvideSharedModuleFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideSharedModuleFactory.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedModuleFactory.ts"],"names":[],"mappings":";;;;;AAAA;;;EAGE;AACF,0FAAqF;AAErF,gFAAwD;AAOxD,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAA,6CAAoB,EAAC,2BAA2B,CAAC,CACJ,CAAC;AAEhD,MAAM,0BAA2B,SAAQ,aAAa;IACpD;;;;OAIG;IACM,MAAM,CACb,IAA6B,EAC7B,QAAqE;QAErE,aAAa;QACb,MAAM,GAAG,GAA4B,IAAI;aACtC,YAAY,CAAC,CAAC,CAA4B,CAAC;QAC9C,QAAQ,CAAC,IAAI,EAAE;YACb,aAAa;YACb,MAAM,EAAE,IAAI,6BAAmB,CAC7B,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,KAAK,CACV;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,0BAA0B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type Compiler from 'webpack/lib/Compiler';
1
+ import type { Compiler } from 'webpack';
2
2
  import type { ProvideSharedPluginOptions } from '../../declarations/plugins/sharing/ProvideSharedPlugin';
3
3
  export type ProvideOptions = {
4
4
  shareKey: string;