@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,185 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
+ */
5
+ 'use strict';
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const options_1 = require("../container/options");
12
+ const ProvideForSharedDependency_1 = __importDefault(require("./ProvideForSharedDependency"));
13
+ const ProvideSharedDependency_1 = __importDefault(require("./ProvideSharedDependency"));
14
+ const ProvideSharedModuleFactory_1 = __importDefault(require("./ProvideSharedModuleFactory"));
15
+ const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
16
+ const WebpackError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/WebpackError'));
17
+ const validate = createSchemaValidation(
18
+ //eslint-disable-next-line
19
+ require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'), () => require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'), {
20
+ name: 'Provide Shared Plugin',
21
+ baseDataPath: 'options',
22
+ });
23
+ /**
24
+ * @typedef {Object} ProvideOptions
25
+ * @property {string} shareKey
26
+ * @property {string} shareScope
27
+ * @property {string | undefined | false} version
28
+ * @property {boolean} eager
29
+ */
30
+ /** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */
31
+ class ProvideSharedPlugin {
32
+ /**
33
+ * @param {ProvideSharedPluginOptions} options options
34
+ */
35
+ constructor(options) {
36
+ validate(options);
37
+ //@ts-ignore
38
+ this._provides = (0, options_1.parseOptions)(options.provides, (item) => {
39
+ if (Array.isArray(item))
40
+ throw new Error('Unexpected array of provides');
41
+ /** @type {ProvideOptions} */
42
+ const result = {
43
+ shareKey: item,
44
+ version: undefined,
45
+ shareScope: options.shareScope || 'default',
46
+ eager: false,
47
+ };
48
+ return result;
49
+ }, (item) => ({
50
+ shareKey: item.shareKey,
51
+ version: item.version,
52
+ shareScope: item.shareScope || options.shareScope || 'default',
53
+ eager: !!item.eager,
54
+ }));
55
+ this._provides.sort(([a], [b]) => {
56
+ if (a < b)
57
+ return -1;
58
+ if (b < a)
59
+ return 1;
60
+ return 0;
61
+ });
62
+ }
63
+ /**
64
+ * Apply the plugin
65
+ * @param {Compiler} compiler the compiler instance
66
+ * @returns {void}
67
+ */
68
+ apply(compiler) {
69
+ process.env['FEDERATION_WEBPACK_PATH'] =
70
+ process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
71
+ const compilationData = new WeakMap();
72
+ compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory }) => {
73
+ const resolvedProvideMap = new Map();
74
+ const matchProvides = new Map();
75
+ const prefixMatchProvides = new Map();
76
+ for (const [request, config] of this._provides) {
77
+ if (/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(request)) {
78
+ // relative request
79
+ resolvedProvideMap.set(request, {
80
+ config,
81
+ version: config.version,
82
+ });
83
+ }
84
+ else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
85
+ // absolute path
86
+ resolvedProvideMap.set(request, {
87
+ config,
88
+ version: config.version,
89
+ });
90
+ }
91
+ else if (request.endsWith('/')) {
92
+ // module request prefix
93
+ prefixMatchProvides.set(request, config);
94
+ }
95
+ else {
96
+ // module request
97
+ matchProvides.set(request, config);
98
+ }
99
+ }
100
+ compilationData.set(compilation, resolvedProvideMap);
101
+ const provideSharedModule = (key, config, resource, resourceResolveData) => {
102
+ let version = config.version;
103
+ if (version === undefined) {
104
+ let details = '';
105
+ if (!resourceResolveData) {
106
+ details = `No resolve data provided from resolver.`;
107
+ }
108
+ else {
109
+ const descriptionFileData = resourceResolveData.descriptionFileData;
110
+ if (!descriptionFileData) {
111
+ details =
112
+ 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';
113
+ }
114
+ else if (!descriptionFileData.version) {
115
+ details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
116
+ }
117
+ else {
118
+ version = descriptionFileData.version;
119
+ }
120
+ }
121
+ if (!version) {
122
+ const error = new WebpackError(`No version specified and unable to automatically determine one. ${details}`);
123
+ error.file = `shared module ${key} -> ${resource}`;
124
+ // @ts-ignore
125
+ compilation.warnings.push(error);
126
+ }
127
+ }
128
+ resolvedProvideMap.set(resource, {
129
+ config,
130
+ version,
131
+ });
132
+ };
133
+ normalModuleFactory.hooks.module.tap('ProvideSharedPlugin', (module, { resource, resourceResolveData }, resolveData) => {
134
+ if (resource && resolvedProvideMap.has(resource)) {
135
+ return module;
136
+ }
137
+ const { request } = resolveData;
138
+ {
139
+ const config = matchProvides.get(request);
140
+ if (config !== undefined && resource) {
141
+ provideSharedModule(request, config, resource, resourceResolveData);
142
+ resolveData.cacheable = false;
143
+ }
144
+ }
145
+ for (const [prefix, config] of prefixMatchProvides) {
146
+ if (request.startsWith(prefix) && resource) {
147
+ const remainder = request.slice(prefix.length);
148
+ provideSharedModule(resource, {
149
+ ...config,
150
+ shareKey: config.shareKey + remainder,
151
+ }, resource, resourceResolveData);
152
+ resolveData.cacheable = false;
153
+ }
154
+ }
155
+ return module;
156
+ });
157
+ });
158
+ compiler.hooks.finishMake.tapPromise('ProvideSharedPlugin', async (compilation) => {
159
+ const resolvedProvideMap = compilationData.get(compilation);
160
+ if (!resolvedProvideMap)
161
+ return;
162
+ await Promise.all(Array.from(resolvedProvideMap, ([resource, { config, version }]) => new Promise((resolve, reject) => {
163
+ compilation.addInclude(compiler.context,
164
+ //@ts-ignore
165
+ new ProvideSharedDependency_1.default(config.shareScope, config.shareKey, version || false, resource, config.eager), {
166
+ name: undefined,
167
+ }, (err) => {
168
+ if (err)
169
+ return reject(err);
170
+ resolve();
171
+ });
172
+ })));
173
+ });
174
+ compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory }) => {
175
+ compilation.dependencyFactories.set(ProvideForSharedDependency_1.default, normalModuleFactory);
176
+ compilation.dependencyFactories.set(
177
+ //@ts-ignore
178
+ ProvideSharedDependency_1.default,
179
+ // @ts-ignore
180
+ new ProvideSharedModuleFactory_1.default());
181
+ });
182
+ }
183
+ }
184
+ exports.default = ProvideSharedPlugin;
185
+ //# sourceMappingURL=ProvideSharedPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvideSharedPlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import type { Compiler } from 'webpack';
1
2
  import type { SharePluginOptions } from '../../declarations/plugins/sharing/SharePlugin';
2
- import type Compiler from 'webpack/lib/Compiler';
3
3
  declare class SharePlugin {
4
4
  private _shareScope;
5
5
  private _consumes;
@@ -0,0 +1,76 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
+ */
5
+ 'use strict';
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const options_1 = require("../container/options");
11
+ const ConsumeSharedPlugin_1 = __importDefault(require("./ConsumeSharedPlugin"));
12
+ const ProvideSharedPlugin_1 = __importDefault(require("./ProvideSharedPlugin"));
13
+ const utils_1 = require("./utils");
14
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
15
+ class SharePlugin {
16
+ constructor(options) {
17
+ const sharedOptions = (0, options_1.parseOptions)(options.shared, (item, key) => {
18
+ if (typeof item !== 'string')
19
+ throw new Error('Unexpected array in shared');
20
+ const config = item === key || !(0, utils_1.isRequiredVersion)(item)
21
+ ? {
22
+ import: item,
23
+ }
24
+ : {
25
+ import: key,
26
+ requiredVersion: item,
27
+ };
28
+ return config;
29
+ }, (item) => item);
30
+ const consumes = sharedOptions.map(([key, options]) => ({
31
+ [key]: {
32
+ import: options.import,
33
+ shareKey: options.shareKey || key,
34
+ shareScope: options.shareScope,
35
+ requiredVersion: options.requiredVersion,
36
+ strictVersion: options.strictVersion,
37
+ singleton: options.singleton,
38
+ packageName: options.packageName,
39
+ eager: options.eager,
40
+ },
41
+ }));
42
+ const provides = sharedOptions
43
+ .filter(([, options]) => options.import !== false)
44
+ .map(([key, options]) => ({
45
+ [options.import || key]: {
46
+ shareKey: options.shareKey || key,
47
+ shareScope: options.shareScope,
48
+ version: options.version,
49
+ eager: options.eager,
50
+ },
51
+ }));
52
+ //@ts-ignore
53
+ this._shareScope = options.shareScope;
54
+ this._consumes = consumes;
55
+ this._provides = provides;
56
+ }
57
+ /**
58
+ * Apply the plugin
59
+ * @param {Compiler} compiler the compiler instance
60
+ * @returns {void}
61
+ */
62
+ apply(compiler) {
63
+ process.env['FEDERATION_WEBPACK_PATH'] =
64
+ process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
65
+ new ConsumeSharedPlugin_1.default({
66
+ shareScope: this._shareScope,
67
+ consumes: this._consumes,
68
+ }).apply(compiler);
69
+ new ProvideSharedPlugin_1.default({
70
+ shareScope: this._shareScope,
71
+ provides: this._provides,
72
+ }).apply(compiler);
73
+ }
74
+ }
75
+ exports.default = SharePlugin;
76
+ //# sourceMappingURL=SharePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharePlugin.js","sourceRoot":"","sources":["../../../../src/lib/sharing/SharePlugin.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AAEb,kDAAoD;AACpD,gFAAwD;AACxD,gFAAwD;AACxD,mCAA4C;AAO5C,0FAA+E;AAE/E,MAAM,WAAW;IAKf,YAAY,OAA2B;QACrC,MAAM,aAAa,GAA6B,IAAA,sBAAY,EAC1D,OAAO,CAAC,MAAM,EACd,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACZ,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,MAAM,MAAM,GACV,IAAI,KAAK,GAAG,IAAI,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC;gBACtC,CAAC,CAAC;oBACE,MAAM,EAAE,IAAI;iBACb;gBACH,CAAC,CAAC;oBACE,MAAM,EAAE,GAAG;oBACX,eAAe,EAAE,IAAI;iBACtB,CAAC;YACR,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACf,CAAC;QACF,MAAM,QAAQ,GAAqC,aAAa,CAAC,GAAG,CAClE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC,GAAG,CAAC,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG;gBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CACH,CAAC;QACF,MAAM,QAAQ,GAAqC,aAAa;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE;gBACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG;gBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CAAC,CAAC;QACN,YAAY;QACZ,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAkB;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,6BAAmB,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,IAAI,6BAAmB,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import RuntimeModule from 'webpack/lib/RuntimeModule';
1
+ declare const RuntimeModule: typeof import("webpack").RuntimeModule;
2
2
  declare class ShareRuntimeModule extends RuntimeModule {
3
3
  constructor();
4
4
  /**
@@ -0,0 +1,116 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
+ */
5
+ 'use strict';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
8
+ const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
9
+ const { compareModulesByIdentifier, compareStrings } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/comparators'));
10
+ class ShareRuntimeModule extends RuntimeModule {
11
+ constructor() {
12
+ super('sharing');
13
+ }
14
+ /**
15
+ * @returns {string | null} runtime code
16
+ */
17
+ generate() {
18
+ const compilation = this.compilation;
19
+ if (!compilation) {
20
+ throw new Error('Compilation is undefined');
21
+ }
22
+ const { runtimeTemplate, codeGenerationResults, outputOptions: { uniqueName, ignoreBrowserWarnings }, } = compilation;
23
+ const chunkGraph = this.chunkGraph;
24
+ if (!chunkGraph) {
25
+ throw new Error('ChunkGraph is undefined');
26
+ }
27
+ const initCodePerScope = new Map();
28
+ for (const chunk of this.chunk?.getAllReferencedChunks() || []) {
29
+ if (!chunk) {
30
+ continue;
31
+ }
32
+ const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(chunk, 'share-init',
33
+ // @ts-ignore
34
+ compareModulesByIdentifier);
35
+ if (!modules)
36
+ continue;
37
+ for (const m of modules) {
38
+ const data = codeGenerationResults.getData(m, chunk.runtime, 'share-init');
39
+ if (!data)
40
+ continue;
41
+ for (const item of data) {
42
+ const { shareScope, initStage, init } = item;
43
+ let stages = initCodePerScope.get(shareScope);
44
+ if (stages === undefined) {
45
+ initCodePerScope.set(shareScope, (stages = new Map()));
46
+ }
47
+ let list = stages.get(initStage || 0);
48
+ if (list === undefined) {
49
+ stages.set(initStage || 0, (list = new Set()));
50
+ }
51
+ list.add(init);
52
+ }
53
+ }
54
+ }
55
+ return Template.asString([
56
+ `${RuntimeGlobals.shareScopeMap} = {};`,
57
+ 'var initPromises = {};',
58
+ 'var initTokens = {};',
59
+ `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction('name, initScope', [
60
+ 'if(!initScope) initScope = [];',
61
+ '// handling circular init calls',
62
+ 'var initToken = initTokens[name];',
63
+ 'if(!initToken) initToken = initTokens[name] = {};',
64
+ 'if(initScope.indexOf(initToken) >= 0) return;',
65
+ 'initScope.push(initToken);',
66
+ '// only runs once',
67
+ 'if(initPromises[name]) return initPromises[name];',
68
+ '// creates a new share scope if needed',
69
+ `if(!${RuntimeGlobals.hasOwnProperty}(${RuntimeGlobals.shareScopeMap}, name)) ${RuntimeGlobals.shareScopeMap}[name] = {};`,
70
+ '// runs all init snippets from all modules reachable',
71
+ `var scope = ${RuntimeGlobals.shareScopeMap}[name];`,
72
+ `var warn = ${ignoreBrowserWarnings
73
+ ? runtimeTemplate.basicFunction('', '')
74
+ : runtimeTemplate.basicFunction('msg', [
75
+ 'if (typeof console !== "undefined" && console.warn) console.warn(msg);',
76
+ ])};`,
77
+ `var uniqueName = ${JSON.stringify(uniqueName || undefined)};`,
78
+ `var register = ${runtimeTemplate.basicFunction('name, version, factory, eager', [
79
+ 'var versions = scope[name] = scope[name] || {};',
80
+ 'var activeVersion = versions[version];',
81
+ 'if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };',
82
+ ])};`,
83
+ `var initExternal = ${runtimeTemplate.basicFunction('id', [
84
+ `var handleError = ${runtimeTemplate.expressionFunction('warn("Initialization of sharing external failed: " + err)', 'err')};`,
85
+ 'try {',
86
+ Template.indent([
87
+ `var module = ${RuntimeGlobals.require}(id);`,
88
+ 'if(!module) return;',
89
+ `var initFn = ${runtimeTemplate.returningFunction(`module && module.init && module.init(${RuntimeGlobals.shareScopeMap}[name], initScope)`, 'module')}`,
90
+ 'if(module.then) return promises.push(module.then(initFn, handleError));',
91
+ 'var initResult = initFn(module);',
92
+ "if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));",
93
+ ]),
94
+ '} catch(err) { handleError(err); }',
95
+ ])}`,
96
+ 'var promises = [];',
97
+ 'switch(name) {',
98
+ ...Array.from(initCodePerScope)
99
+ .sort(([a], [b]) => compareStrings(a, b))
100
+ .map(([name, stages]) => Template.indent([
101
+ `case ${JSON.stringify(name)}: {`,
102
+ Template.indent(Array.from(stages)
103
+ .sort(([a], [b]) => a - b)
104
+ .map(([, initCode]) => Template.asString(Array.from(initCode)))),
105
+ '}',
106
+ 'break;',
107
+ ])),
108
+ '}',
109
+ 'if(!promises.length) return initPromises[name] = 1;',
110
+ `return initPromises[name] = Promise.all(promises).then(${runtimeTemplate.returningFunction('initPromises[name] = 1')});`,
111
+ ])};`,
112
+ ]);
113
+ }
114
+ }
115
+ exports.default = ShareRuntimeModule;
116
+ //# sourceMappingURL=ShareRuntimeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ShareRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type Compilation from 'webpack/lib/Compilation';
1
+ import type { Compilation } from 'webpack';
2
2
  interface MatchedConfigs<T> {
3
3
  resolved: Map<string, T>;
4
4
  unresolved: Map<string, T>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveMatchedConfigs = void 0;
4
+ /*
5
+ MIT License http://www.opensource.org/licenses/mit-license.php
6
+ Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
7
+ */
8
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
9
+ const ModuleNotFoundError = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleNotFoundError'));
10
+ const LazySet = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/LazySet'));
11
+ const RESOLVE_OPTIONS = {
12
+ dependencyType: 'esm',
13
+ };
14
+ async function resolveMatchedConfigs(compilation, configs) {
15
+ const resolved = new Map();
16
+ const unresolved = new Map();
17
+ const prefixed = new Map();
18
+ const resolveContext = {
19
+ fileDependencies: new LazySet(),
20
+ contextDependencies: new LazySet(),
21
+ missingDependencies: new LazySet(),
22
+ };
23
+ // @ts-ignore
24
+ const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);
25
+ const context = compilation.compiler.context;
26
+ await Promise.all(
27
+ //@ts-ignore
28
+ configs.map(([request, config]) => {
29
+ if (/^\.\.?(\/|$)/.test(request)) {
30
+ // relative request
31
+ return new Promise((resolve) => {
32
+ resolver.resolve({}, context, request, resolveContext, (err, result) => {
33
+ if (err || result === false) {
34
+ err = err || new Error(`Can't resolve ${request}`);
35
+ compilation.errors.push(
36
+ // @ts-ignore
37
+ new ModuleNotFoundError(null, err, {
38
+ name: `shared module ${request}`,
39
+ }));
40
+ return resolve();
41
+ }
42
+ resolved.set(result, config);
43
+ resolve();
44
+ });
45
+ });
46
+ }
47
+ else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
48
+ // absolute path
49
+ resolved.set(request, config);
50
+ }
51
+ else if (request.endsWith('/')) {
52
+ // module request prefix
53
+ prefixed.set(request, config);
54
+ }
55
+ else {
56
+ // module request
57
+ unresolved.set(request, config);
58
+ }
59
+ }));
60
+ compilation.contextDependencies.addAll(resolveContext.contextDependencies);
61
+ compilation.fileDependencies.addAll(resolveContext.fileDependencies);
62
+ compilation.missingDependencies.addAll(resolveContext.missingDependencies);
63
+ return { resolved, unresolved, prefixed };
64
+ }
65
+ exports.resolveMatchedConfigs = resolveMatchedConfigs;
66
+ //# sourceMappingURL=resolveMatchedConfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveMatchedConfigs.js","sourceRoot":"","sources":["../../../../src/lib/sharing/resolveMatchedConfigs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InputFileSystem } from 'webpack/lib/util/fs';
1
+ import type { InputFileSystem } from 'webpack/lib/util/fs';
2
2
  /**
3
3
  * @param {string} str maybe required version
4
4
  * @returns {boolean} true, if it looks like a version