@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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\nimport AsyncDependenciesBlock from 'webpack/lib/AsyncDependenciesBlock';\nimport Module from 'webpack/lib/Module';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\nimport type Compilation from 'webpack/lib/Compilation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport { WEBPACK_MODULE_TYPE_PROVIDE } from 'webpack/lib/ModuleTypeConstants';\nimport type {\n CodeGenerationContext,\n CodeGenerationResult,\n LibIdentOptions,\n NeedBuildContext,\n RequestShortener,\n ResolverWithOptions,\n ObjectDeserializerContext,\n ObjectSerializerContext,\n} from 'webpack/lib/Module';\nimport { InputFileSystem } from 'webpack/lib/util/fs';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';\n\nconst TYPES = new Set(['share-init']);\n\n/**\n * @class\n * @extends {Module}\n */\nclass ProvideSharedModule extends Module {\n private _shareScope: string;\n private _name: string;\n private _version: string | false;\n private _request: string;\n private _eager: boolean;\n\n /**\n * @constructor\n * @param {string} shareScope shared scope name\n * @param {string} name shared key\n * @param {string | false} version version\n * @param {string} request request to the provided module\n * @param {boolean} eager include the module in sync way\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n ) {\n super(WEBPACK_MODULE_TYPE_PROVIDE);\n this._shareScope = shareScope;\n this._name = name;\n this._version = version;\n this._request = request;\n this._eager = eager;\n }\n\n /**\n * @returns {string} a unique identifier of the module\n */\n override identifier(): string {\n return `provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`;\n }\n\n /**\n * @param {RequestShortener} requestShortener the request shortener\n * @returns {string} a user readable identifier of the module\n */\n override readableIdentifier(requestShortener: RequestShortener): string {\n return `provide shared module (${this._shareScope}) ${this._name}@${\n this._version\n } = ${requestShortener.shorten(this._request)}`;\n }\n\n /**\n * @param {LibIdentOptions} options options\n * @returns {string | null} an identifier for library inclusion\n */\n override libIdent(options: LibIdentOptions): string | null {\n return `${this.layer ? `(${this.layer})/` : ''}webpack/sharing/provide/${\n this._shareScope\n }/${this._name}`;\n }\n\n /**\n * @param {NeedBuildContext} context context info\n * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild\n * @returns {void}\n */\n override needBuild(\n context: NeedBuildContext,\n callback: (error?: WebpackError | null, needsRebuild?: boolean) => void,\n ): void {\n callback(null, !this.buildInfo);\n }\n\n /**\n * @param {WebpackOptions} options webpack options\n * @param {Compilation} compilation the compilation\n * @param {ResolverWithOptions} resolver the resolver\n * @param {InputFileSystem} fs the file system\n * @param {function(WebpackError=): void} callback callback function\n * @returns {void}\n */\n override build(\n options: WebpackOptions,\n compilation: Compilation,\n resolver: ResolverWithOptions,\n fs: InputFileSystem,\n callback: (error?: WebpackError) => void,\n ): void {\n this.buildMeta = {};\n this.buildInfo = {\n strict: true,\n };\n\n this.clearDependenciesAndBlocks();\n const dep = new ProvideForSharedDependency(this._request);\n if (this._eager) {\n this.addDependency(dep);\n } else {\n const block = new AsyncDependenciesBlock({});\n block.addDependency(dep);\n this.addBlock(block);\n }\n\n callback();\n }\n\n /**\n * @param {string=} type the source type for which the size should be estimated\n * @returns {number} the estimated size of the module (must be non-zero)\n */\n override size(type?: string): number {\n return 42;\n }\n\n /**\n * @returns {Set<string>} types available (do not mutate)\n */\n override getSourceTypes(): Set<string> {\n return TYPES;\n }\n\n /**\n * @param {CodeGenerationContext} context context for code generation\n * @returns {CodeGenerationResult} result\n */\n override codeGeneration({\n runtimeTemplate,\n moduleGraph,\n chunkGraph,\n }: CodeGenerationContext): CodeGenerationResult {\n const runtimeRequirements = new Set([RuntimeGlobals.initializeSharing]);\n const code = `register(${JSON.stringify(this._name)}, ${JSON.stringify(\n this._version || '0',\n )}, ${\n this._eager\n ? runtimeTemplate.syncModuleFactory({\n dependency: this.dependencies[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n : runtimeTemplate.asyncModuleFactory({\n block: this.blocks[0],\n chunkGraph,\n request: this._request,\n runtimeRequirements,\n })\n }${this._eager ? ', 1' : ''});`;\n const sources = new Map();\n const data = new Map();\n data.set('share-init', [\n {\n shareScope: this._shareScope,\n initStage: 10,\n init: code,\n },\n ]);\n return { sources, data, runtimeRequirements };\n }\n\n /**\n * @param {ObjectSerializerContext} context context\n */\n override serialize(context: ObjectSerializerContext): void {\n const { write } = context;\n write(this._shareScope);\n write(this._name);\n write(this._version);\n write(this._request);\n write(this._eager);\n super.serialize(context);\n }\n\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedModule} deserialize fallback dependency\n */\n static deserialize(context: ObjectDeserializerContext): ProvideSharedModule {\n const { read } = context;\n const obj = new ProvideSharedModule(read(), read(), read(), read(), read());\n obj.deserialize(context);\n return obj;\n }\n}\n\nmakeSerializable(\n ProvideSharedModule,\n 'enhanced/lib/sharing/ProvideSharedModule',\n);\n\nexport default ProvideSharedModule;\n"],"names":["TYPES","Set","ProvideSharedModule","Module","identifier","_shareScope","_name","_version","_request","readableIdentifier","requestShortener","shorten","libIdent","options","layer","needBuild","context","callback","buildInfo","build","compilation","resolver","fs","buildMeta","strict","clearDependenciesAndBlocks","dep","ProvideForSharedDependency","_eager","addDependency","block","AsyncDependenciesBlock","addBlock","size","type","getSourceTypes","codeGeneration","runtimeTemplate","moduleGraph","chunkGraph","runtimeRequirements","RuntimeGlobals","initializeSharing","code","JSON","stringify","syncModuleFactory","dependency","dependencies","request","asyncModuleFactory","blocks","sources","Map","data","set","shareScope","initStage","init","serialize","write","deserialize","read","obj","constructor","name","version","eager","WEBPACK_MODULE_TYPE_PROVIDE","makeSerializable"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- module.exports = ProvideSharedModuleFactory;
3
-
4
- //# sourceMappingURL=ProvideSharedModuleFactory.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModuleFactory.d.ts"],"sourcesContent":["export = ProvideSharedModuleFactory;\n/** @typedef {import(\"webpack/lib/ModuleFactory\").ModuleFactoryCreateData} ModuleFactoryCreateData */\n/** @typedef {import(\"webpack/lib/ModuleFactory\").ModuleFactoryResult} ModuleFactoryResult */\n/** @typedef {import(\"./ProvideSharedDependency\")} ProvideSharedDependency */\ndeclare class ProvideSharedModuleFactory extends ModuleFactory {}\ndeclare namespace ProvideSharedModuleFactory {\n export {\n ModuleFactoryCreateData,\n ModuleFactoryResult,\n ProvideSharedDependency,\n };\n}\nimport ModuleFactory = require('webpack/lib/ModuleFactory');\ntype ModuleFactoryCreateData =\n import('webpack/lib/ModuleFactory').ModuleFactoryCreateData;\ntype ModuleFactoryResult =\n import('webpack/lib/ModuleFactory').ModuleFactoryResult;\ntype ProvideSharedDependency = import('./ProvideSharedDependency');\n"],"names":["ProvideSharedModuleFactory"],"mappings":";iBAASA"}
@@ -1,32 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
- */ //@ts-ignore
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- Object.defineProperty(exports, "default", {
10
- enumerable: true,
11
- get: function() {
12
- return _default;
13
- }
14
- });
15
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
16
- const _ModuleFactory = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/ModuleFactory"));
17
- const _ProvideSharedModule = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedModule"));
18
- let ProvideSharedModuleFactory = class ProvideSharedModuleFactory extends _ModuleFactory.default {
19
- /**
20
- * @param {ModuleFactoryCreateData} data data object
21
- * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback
22
- * @returns {void}
23
- */ create(data, callback) {
24
- const dep = data.dependencies[0];
25
- callback(null, {
26
- module: new _ProvideSharedModule.default(dep.shareScope, dep.name, dep.version, dep.request, dep.eager)
27
- });
28
- }
29
- };
30
- const _default = ProvideSharedModuleFactory;
31
-
32
- //# sourceMappingURL=ProvideSharedModuleFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedModuleFactory.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n//@ts-ignore\nimport ModuleFactory from 'webpack/lib/ModuleFactory';\nimport ProvideSharedModule from './ProvideSharedModule';\nimport type {\n ModuleFactoryCreateData,\n ModuleFactoryResult,\n} from 'webpack/lib/ModuleFactory';\nimport ProvideSharedDependency from './ProvideSharedDependency';\n\nclass ProvideSharedModuleFactory extends ModuleFactory {\n /**\n * @param {ModuleFactoryCreateData} data data object\n * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback\n * @returns {void}\n */\n override create(\n data: ModuleFactoryCreateData,\n callback: (error: Error | null, result?: ModuleFactoryResult) => void,\n ): void {\n const dep: ProvideSharedDependency = data\n .dependencies[0] as ProvideSharedDependency;\n callback(null, {\n module: new ProvideSharedModule(\n dep.shareScope,\n dep.name,\n dep.version,\n dep.request,\n dep.eager,\n ),\n });\n }\n}\n\nexport default ProvideSharedModuleFactory;\n"],"names":["ProvideSharedModuleFactory","ModuleFactory","create","data","callback","dep","dependencies","module","ProvideSharedModule","shareScope","name","version","request","eager"],"mappings":"AAAA;;;AAGA,GACA,YAAY;;;;;+BAiCZ;;;eAAA;;;;wEAhC0B;8EACM;AAOhC,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,sBAAa;IACpD;;;;GAIC,GACD,AAASC,OACPC,IAA6B,EAC7BC,QAAqE,EAC/D;QACN,MAAMC,MAA+BF,KAClCG,YAAY,CAAC,EAAE;QAClBF,SAAS,MAAM;YACbG,QAAQ,IAAIC,4BAAmB,CAC7BH,IAAII,UAAU,EACdJ,IAAIK,IAAI,EACRL,IAAIM,OAAO,EACXN,IAAIO,OAAO,EACXP,IAAIQ,KAAK;QAEb;IACF;AACF;MAEA,WAAeb"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- module.exports = ProvideSharedPlugin;
3
-
4
- //# sourceMappingURL=ProvideSharedPlugin.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedPlugin.d.ts"],"sourcesContent":["export = ProvideSharedPlugin;\n/**\n * @typedef {Object} ProvideOptions\n * @property {string} shareKey\n * @property {string} shareScope\n * @property {string | undefined | false} version\n * @property {boolean} eager\n */\n/** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */\ndeclare class ProvideSharedPlugin {\n /**\n * @param {ProvideSharedPluginOptions} options options\n */\n constructor(options: any);\n _provides: [string, ProvideOptions][];\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler): void;\n}\ndeclare namespace ProvideSharedPlugin {\n export {\n ProvideSharedPluginOptions,\n Compilation,\n Compiler,\n ProvideOptions,\n ResolvedProvideMap,\n };\n}\ntype ProvideOptions = {\n shareKey: string;\n shareScope: string;\n version: string | undefined | false;\n eager: boolean;\n};\ntype Compiler = import('webpack/lib/Compiler');\ntype ProvideSharedPluginOptions = any;\ntype Compilation = import('webpack/lib/Compilation');\ntype ResolvedProvideMap = Map<\n string,\n {\n config: ProvideOptions;\n version: string | undefined | false;\n }\n>;\n"],"names":["ProvideSharedPlugin"],"mappings":";iBAASA"}
@@ -1,165 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
- */ 'use strict';
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "default", {
9
- enumerable: true,
10
- get: function() {
11
- return _default;
12
- }
13
- });
14
- const _extends = require("@swc/helpers/_/_extends");
15
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
16
- const _options = require("../container/options");
17
- const _createschemavalidation = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/create-schema-validation"));
18
- const _WebpackError = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/WebpackError"));
19
- const _ProvideForSharedDependency = /*#__PURE__*/ _interop_require_default._(require("./ProvideForSharedDependency"));
20
- const _ProvideSharedDependency = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedDependency"));
21
- const _ProvideSharedModuleFactory = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedModuleFactory"));
22
- const validate = (0, _createschemavalidation.default)(//eslint-disable-next-line
23
- require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'), ()=>require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'), {
24
- name: 'Provide Shared Plugin',
25
- baseDataPath: 'options'
26
- });
27
- /**
28
- * @typedef {Object} ProvideOptions
29
- * @property {string} shareKey
30
- * @property {string} shareScope
31
- * @property {string | undefined | false} version
32
- * @property {boolean} eager
33
- */ /** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */ let ProvideSharedPlugin = class ProvideSharedPlugin {
34
- /**
35
- * Apply the plugin
36
- * @param {Compiler} compiler the compiler instance
37
- * @returns {void}
38
- */ apply(compiler) {
39
- const compilationData = new WeakMap();
40
- compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory })=>{
41
- const resolvedProvideMap = new Map();
42
- const matchProvides = new Map();
43
- const prefixMatchProvides = new Map();
44
- for (const [request, config] of this._provides){
45
- if (/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(request)) {
46
- // relative request
47
- resolvedProvideMap.set(request, {
48
- config,
49
- version: config.version
50
- });
51
- } else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
52
- // absolute path
53
- resolvedProvideMap.set(request, {
54
- config,
55
- version: config.version
56
- });
57
- } else if (request.endsWith('/')) {
58
- // module request prefix
59
- prefixMatchProvides.set(request, config);
60
- } else {
61
- // module request
62
- matchProvides.set(request, config);
63
- }
64
- }
65
- compilationData.set(compilation, resolvedProvideMap);
66
- const provideSharedModule = (key, config, resource, resourceResolveData)=>{
67
- let version = config.version;
68
- if (version === undefined) {
69
- let details = '';
70
- if (!resourceResolveData) {
71
- details = `No resolve data provided from resolver.`;
72
- } else {
73
- const descriptionFileData = resourceResolveData.descriptionFileData;
74
- if (!descriptionFileData) {
75
- details = 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';
76
- } else if (!descriptionFileData.version) {
77
- details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;
78
- } else {
79
- version = descriptionFileData.version;
80
- }
81
- }
82
- if (!version) {
83
- const error = new _WebpackError.default(`No version specified and unable to automatically determine one. ${details}`);
84
- error.file = `shared module ${key} -> ${resource}`;
85
- compilation.warnings.push(error);
86
- }
87
- }
88
- resolvedProvideMap.set(resource, {
89
- config,
90
- version
91
- });
92
- };
93
- normalModuleFactory.hooks.module.tap('ProvideSharedPlugin', (module, { resource, resourceResolveData }, resolveData)=>{
94
- if (resource && resolvedProvideMap.has(resource)) {
95
- return module;
96
- }
97
- const { request } = resolveData;
98
- {
99
- const config = matchProvides.get(request);
100
- if (config !== undefined && resource) {
101
- provideSharedModule(request, config, resource, resourceResolveData);
102
- resolveData.cacheable = false;
103
- }
104
- }
105
- for (const [prefix, config] of prefixMatchProvides){
106
- if (request.startsWith(prefix) && resource) {
107
- const remainder = request.slice(prefix.length);
108
- provideSharedModule(resource, _extends._({}, config, {
109
- shareKey: config.shareKey + remainder
110
- }), resource, resourceResolveData);
111
- resolveData.cacheable = false;
112
- }
113
- }
114
- return module;
115
- });
116
- });
117
- compiler.hooks.finishMake.tapPromise('ProvideSharedPlugin', async (compilation)=>{
118
- const resolvedProvideMap = compilationData.get(compilation);
119
- if (!resolvedProvideMap) return;
120
- await Promise.all(Array.from(resolvedProvideMap, ([resource, { config, version }])=>new Promise((resolve, reject)=>{
121
- compilation.addInclude(compiler.context, //@ts-ignore
122
- new _ProvideSharedDependency.default(config.shareScope, config.shareKey, version || false, resource, config.eager), {
123
- name: undefined
124
- }, (err)=>{
125
- if (err) return reject(err);
126
- resolve();
127
- });
128
- })));
129
- });
130
- compiler.hooks.compilation.tap('ProvideSharedPlugin', (compilation, { normalModuleFactory })=>{
131
- compilation.dependencyFactories.set(_ProvideForSharedDependency.default, normalModuleFactory);
132
- compilation.dependencyFactories.set(//@ts-ignore
133
- _ProvideSharedDependency.default, new _ProvideSharedModuleFactory.default());
134
- });
135
- }
136
- /**
137
- * @param {ProvideSharedPluginOptions} options options
138
- */ constructor(options){
139
- validate(options);
140
- //@ts-ignore
141
- this._provides = (0, _options.parseOptions)(options.provides, (item)=>{
142
- if (Array.isArray(item)) throw new Error('Unexpected array of provides');
143
- /** @type {ProvideOptions} */ const result = {
144
- shareKey: item,
145
- version: undefined,
146
- shareScope: options.shareScope || 'default',
147
- eager: false
148
- };
149
- return result;
150
- }, (item)=>({
151
- shareKey: item.shareKey,
152
- version: item.version,
153
- shareScope: item.shareScope || options.shareScope || 'default',
154
- eager: !!item.eager
155
- }));
156
- this._provides.sort(([a], [b])=>{
157
- if (a < b) return -1;
158
- if (b < a) return 1;
159
- return 0;
160
- });
161
- }
162
- };
163
- const _default = ProvideSharedPlugin;
164
-
165
- //# sourceMappingURL=ProvideSharedPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport WebpackError from 'webpack/lib/WebpackError';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\nimport ProvideSharedDependency from './ProvideSharedDependency';\nimport ProvideSharedModuleFactory from './ProvideSharedModuleFactory';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type { ProvideSharedPluginOptions } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nexport type ProvideOptions = {\n shareKey: string;\n shareScope: string;\n version: string | undefined | false;\n eager: boolean;\n};\nexport type ResolvedProvideMap = Map<\n string,\n {\n config: ProvideOptions;\n version: string | undefined | false;\n }\n>;\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ProvideSharedPlugin.json'),\n {\n name: 'Provide Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\n/**\n * @typedef {Object} ProvideOptions\n * @property {string} shareKey\n * @property {string} shareScope\n * @property {string | undefined | false} version\n * @property {boolean} eager\n */\n\n/** @typedef {Map<string, { config: ProvideOptions, version: string | undefined | false }>} ResolvedProvideMap */\n\nclass ProvideSharedPlugin {\n private _provides: [string, ProvideOptions][];\n\n /**\n * @param {ProvideSharedPluginOptions} options options\n */\n constructor(options: ProvideSharedPluginOptions) {\n validate(options);\n //@ts-ignore\n this._provides = parseOptions(\n options.provides,\n (item) => {\n if (Array.isArray(item))\n throw new Error('Unexpected array of provides');\n /** @type {ProvideOptions} */\n const result = {\n shareKey: item,\n version: undefined,\n shareScope: options.shareScope || 'default',\n eager: false,\n };\n return result;\n },\n (item) => ({\n shareKey: item.shareKey,\n version: item.version,\n shareScope: item.shareScope || options.shareScope || 'default',\n eager: !!item.eager,\n }),\n );\n this._provides.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler): void {\n const compilationData: WeakMap<Compilation, ResolvedProvideMap> =\n new WeakMap();\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n const resolvedProvideMap: ResolvedProvideMap = new Map();\n const matchProvides: Map<string, ProvideOptions> = new Map();\n const prefixMatchProvides: Map<string, ProvideOptions> = new Map();\n for (const [request, config] of this._provides) {\n if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\|\\.\\.?(\\/|$))/.test(request)) {\n // relative request\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (/^(\\/|[A-Za-z]:\\\\|\\\\\\\\)/.test(request)) {\n // absolute path\n resolvedProvideMap.set(request, {\n config,\n version: config.version,\n });\n } else if (request.endsWith('/')) {\n // module request prefix\n prefixMatchProvides.set(request, config);\n } else {\n // module request\n matchProvides.set(request, config);\n }\n }\n compilationData.set(compilation, resolvedProvideMap);\n const provideSharedModule = (\n key: string,\n config: ProvideOptions,\n resource: string,\n resourceResolveData: any,\n ) => {\n let version = config.version;\n if (version === undefined) {\n let details = '';\n if (!resourceResolveData) {\n details = `No resolve data provided from resolver.`;\n } else {\n const descriptionFileData =\n resourceResolveData.descriptionFileData;\n if (!descriptionFileData) {\n details =\n 'No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config.';\n } else if (!descriptionFileData.version) {\n details = `No version in description file (usually package.json). Add version to description file ${resourceResolveData.descriptionFilePath}, or manually specify version in shared config.`;\n } else {\n version = descriptionFileData.version;\n }\n }\n if (!version) {\n const error = new WebpackError(\n `No version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${key} -> ${resource}`;\n compilation.warnings.push(error);\n }\n }\n resolvedProvideMap.set(resource, {\n config,\n version,\n });\n };\n normalModuleFactory.hooks.module.tap(\n 'ProvideSharedPlugin',\n (module, { resource, resourceResolveData }, resolveData) => {\n if (resource && resolvedProvideMap.has(resource)) {\n return module;\n }\n const { request } = resolveData;\n {\n const config = matchProvides.get(request);\n if (config !== undefined && resource) {\n provideSharedModule(\n request,\n config,\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n for (const [prefix, config] of prefixMatchProvides) {\n if (request.startsWith(prefix) && resource) {\n const remainder = request.slice(prefix.length);\n provideSharedModule(\n resource,\n {\n ...config,\n shareKey: config.shareKey + remainder,\n },\n resource,\n resourceResolveData,\n );\n resolveData.cacheable = false;\n }\n }\n return module;\n },\n );\n },\n );\n compiler.hooks.finishMake.tapPromise(\n 'ProvideSharedPlugin',\n async (compilation: Compilation) => {\n const resolvedProvideMap = compilationData.get(compilation);\n if (!resolvedProvideMap) return;\n await Promise.all(\n Array.from(\n resolvedProvideMap,\n ([resource, { config, version }]) =>\n new Promise<void>((resolve, reject) => {\n compilation.addInclude(\n compiler.context,\n //@ts-ignore\n new ProvideSharedDependency(\n config.shareScope,\n config.shareKey,\n version || false,\n resource,\n config.eager,\n ),\n {\n name: undefined,\n },\n (err: WebpackError | null | undefined) => {\n if (err) return reject(err);\n resolve();\n },\n );\n }),\n ),\n );\n },\n );\n\n compiler.hooks.compilation.tap(\n 'ProvideSharedPlugin',\n (compilation: Compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ProvideForSharedDependency,\n normalModuleFactory,\n );\n\n compilation.dependencyFactories.set(\n //@ts-ignore\n ProvideSharedDependency,\n new ProvideSharedModuleFactory(),\n );\n },\n );\n }\n}\nexport default ProvideSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","ProvideSharedPlugin","apply","compiler","compilationData","WeakMap","hooks","compilation","tap","normalModuleFactory","resolvedProvideMap","Map","matchProvides","prefixMatchProvides","request","config","_provides","test","set","version","endsWith","provideSharedModule","key","resource","resourceResolveData","undefined","details","descriptionFileData","descriptionFilePath","error","WebpackError","file","warnings","push","module","resolveData","has","get","cacheable","prefix","startsWith","remainder","slice","length","shareKey","finishMake","tapPromise","Promise","all","Array","from","resolve","reject","addInclude","context","ProvideSharedDependency","shareScope","eager","err","dependencyFactories","ProvideForSharedDependency","ProvideSharedModuleFactory","constructor","options","parseOptions","provides","item","isArray","Error","result","sort","a","b"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- module.exports = SharePlugin;
3
-
4
- //# sourceMappingURL=SharePlugin.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/SharePlugin.d.ts"],"sourcesContent":["export = SharePlugin;\n/** @typedef {import(\"../../declarations/plugins/sharing/ConsumeSharedPlugin\").ConsumeSharedPluginOptions} ConsumeSharedPluginOptions */\n/** @typedef {import(\"../../declarations/plugins/sharing/ConsumeSharedPlugin\").ConsumesConfig} ConsumesConfig */\n/** @typedef {import(\"../../declarations/plugins/sharing/ProvideSharedPlugin\").ProvideSharedPluginOptions} ProvideSharedPluginOptions */\n/** @typedef {import(\"../../declarations/plugins/sharing/ProvideSharedPlugin\").ProvidesConfig} ProvidesConfig */\n/** @typedef {import(\"../../declarations/plugins/sharing/SharePlugin\").SharePluginOptions} SharePluginOptions */\n/** @typedef {import(\"../../declarations/plugins/sharing/SharePlugin\").SharedConfig} SharedConfig */\n/** @typedef {import(\"webpack/lib/Compiler\")} Compiler */\ndeclare class SharePlugin {\n /**\n * @param {SharePluginOptions} options options\n */\n constructor(options: any);\n _shareScope: any;\n _consumes: Record<string, any>[];\n _provides: Record<string, any>[];\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler): void;\n}\ndeclare namespace SharePlugin {\n export {\n ConsumeSharedPluginOptions,\n ConsumesConfig,\n ProvideSharedPluginOptions,\n ProvidesConfig,\n SharePluginOptions,\n SharedConfig,\n Compiler,\n };\n}\ntype Compiler = import('webpack/lib/Compiler');\ntype ConsumeSharedPluginOptions = any;\ntype ConsumesConfig = any;\ntype ProvideSharedPluginOptions = any;\ntype ProvidesConfig = any;\ntype SharePluginOptions = any;\ntype SharedConfig = any;\n"],"names":["SharePlugin"],"mappings":";iBAASA"}
@@ -1,73 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
4
- */ 'use strict';
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "default", {
9
- enumerable: true,
10
- get: function() {
11
- return _default;
12
- }
13
- });
14
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
- const _options = require("../container/options");
16
- const _ConsumeSharedPlugin = /*#__PURE__*/ _interop_require_default._(require("./ConsumeSharedPlugin"));
17
- const _ProvideSharedPlugin = /*#__PURE__*/ _interop_require_default._(require("./ProvideSharedPlugin"));
18
- const _utils = require("./utils");
19
- let SharePlugin = class SharePlugin {
20
- /**
21
- * Apply the plugin
22
- * @param {Compiler} compiler the compiler instance
23
- * @returns {void}
24
- */ apply(compiler) {
25
- new _ConsumeSharedPlugin.default({
26
- shareScope: this._shareScope,
27
- consumes: this._consumes
28
- }).apply(compiler);
29
- new _ProvideSharedPlugin.default({
30
- shareScope: this._shareScope,
31
- provides: this._provides
32
- }).apply(compiler);
33
- }
34
- constructor(options){
35
- const sharedOptions = (0, _options.parseOptions)(options.shared, (item, key)=>{
36
- if (typeof item !== 'string') throw new Error('Unexpected array in shared');
37
- const config = item === key || !(0, _utils.isRequiredVersion)(item) ? {
38
- import: item
39
- } : {
40
- import: key,
41
- requiredVersion: item
42
- };
43
- return config;
44
- }, (item)=>item);
45
- const consumes = sharedOptions.map(([key, options])=>({
46
- [key]: {
47
- import: options.import,
48
- shareKey: options.shareKey || key,
49
- shareScope: options.shareScope,
50
- requiredVersion: options.requiredVersion,
51
- strictVersion: options.strictVersion,
52
- singleton: options.singleton,
53
- packageName: options.packageName,
54
- eager: options.eager
55
- }
56
- }));
57
- const provides = sharedOptions.filter(([, options])=>options.import !== false).map(([key, options])=>({
58
- [options.import || key]: {
59
- shareKey: options.shareKey || key,
60
- shareScope: options.shareScope,
61
- version: options.version,
62
- eager: options.eager
63
- }
64
- }));
65
- //@ts-ignore
66
- this._shareScope = options.shareScope;
67
- this._consumes = consumes;
68
- this._provides = provides;
69
- }
70
- };
71
- const _default = SharePlugin;
72
-
73
- //# sourceMappingURL=SharePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/SharePlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport ConsumeSharedPlugin from './ConsumeSharedPlugin';\nimport ProvideSharedPlugin from './ProvideSharedPlugin';\nimport { isRequiredVersion } from './utils';\nimport type {\n SharePluginOptions,\n SharedConfig,\n} from '../../declarations/plugins/sharing/SharePlugin';\nimport type { ConsumesConfig } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport type Compiler from 'webpack/lib/Compiler';\nimport type { ProvidesConfig } from '../../declarations/plugins/sharing/ProvideSharedPlugin';\n\nclass SharePlugin {\n private _shareScope: string;\n private _consumes: Record<string, ConsumesConfig>[];\n private _provides: Record<string, ProvidesConfig>[];\n\n constructor(options: SharePluginOptions) {\n const sharedOptions: [string, SharedConfig][] = parseOptions(\n options.shared,\n (item, key) => {\n if (typeof item !== 'string')\n throw new Error('Unexpected array in shared');\n const config: SharedConfig =\n item === key || !isRequiredVersion(item)\n ? {\n import: item,\n }\n : {\n import: key,\n requiredVersion: item,\n };\n return config;\n },\n (item) => item,\n );\n const consumes: Record<string, ConsumesConfig>[] = sharedOptions.map(\n ([key, options]) => ({\n [key]: {\n import: options.import,\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n requiredVersion: options.requiredVersion,\n strictVersion: options.strictVersion,\n singleton: options.singleton,\n packageName: options.packageName,\n eager: options.eager,\n },\n }),\n );\n const provides: Record<string, ProvidesConfig>[] = sharedOptions\n .filter(([, options]) => options.import !== false)\n .map(([key, options]) => ({\n [options.import || key]: {\n shareKey: options.shareKey || key,\n shareScope: options.shareScope,\n version: options.version,\n eager: options.eager,\n },\n }));\n //@ts-ignore\n this._shareScope = options.shareScope;\n this._consumes = consumes;\n this._provides = provides;\n }\n\n /**\n * Apply the plugin\n * @param {Compiler} compiler the compiler instance\n * @returns {void}\n */\n apply(compiler: Compiler) {\n new ConsumeSharedPlugin({\n shareScope: this._shareScope,\n consumes: this._consumes,\n }).apply(compiler);\n new ProvideSharedPlugin({\n shareScope: this._shareScope,\n provides: this._provides,\n }).apply(compiler);\n }\n}\n\nexport default SharePlugin;\n"],"names":["SharePlugin","apply","compiler","ConsumeSharedPlugin","shareScope","_shareScope","consumes","_consumes","ProvideSharedPlugin","provides","_provides","constructor","options","sharedOptions","parseOptions","shared","item","key","Error","config","isRequiredVersion","import","requiredVersion","map","shareKey","strictVersion","singleton","packageName","eager","filter","version"],"mappings":"AAAA;;;AAGA,GAEA;;;;+BAqFA;;;eAAA;;;;yBAnF6B;8EACG;8EACA;uBACE;AASlC,IAAA,AAAMA,cAAN,MAAMA;IAsDJ;;;;GAIC,GACDC,MAAMC,QAAkB,EAAE;QACxB,IAAIC,4BAAmB,CAAC;YACtBC,YAAY,IAAI,CAACC,WAAW;YAC5BC,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGN,KAAK,CAACC;QACT,IAAIM,4BAAmB,CAAC;YACtBJ,YAAY,IAAI,CAACC,WAAW;YAC5BI,UAAU,IAAI,CAACC,SAAS;QAC1B,GAAGT,KAAK,CAACC;IACX;IA/DAS,YAAYC,OAA2B,CAAE;QACvC,MAAMC,gBAA0CC,IAAAA,qBAAY,EAC1DF,QAAQG,MAAM,EACd,CAACC,MAAMC;YACL,IAAI,OAAOD,SAAS,UAClB,MAAM,IAAIE,MAAM;YAClB,MAAMC,SACJH,SAASC,OAAO,CAACG,IAAAA,wBAAiB,EAACJ,QAC/B;gBACEK,QAAQL;YACV,IACA;gBACEK,QAAQJ;gBACRK,iBAAiBN;YACnB;YACN,OAAOG;QACT,GACA,CAACH,OAASA;QAEZ,MAAMV,WAA6CO,cAAcU,GAAG,CAClE,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACnB,CAACK,IAAI,EAAE;oBACLI,QAAQT,QAAQS,MAAM;oBACtBG,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9BkB,iBAAiBV,QAAQU,eAAe;oBACxCG,eAAeb,QAAQa,aAAa;oBACpCC,WAAWd,QAAQc,SAAS;oBAC5BC,aAAaf,QAAQe,WAAW;oBAChCC,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QAEF,MAAMnB,WAA6CI,cAChDgB,MAAM,CAAC,CAAC,GAAGjB,QAAQ,GAAKA,QAAQS,MAAM,KAAK,OAC3CE,GAAG,CAAC,CAAC,CAACN,KAAKL,QAAQ,GAAM,CAAA;gBACxB,CAACA,QAAQS,MAAM,IAAIJ,IAAI,EAAE;oBACvBO,UAAUZ,QAAQY,QAAQ,IAAIP;oBAC9Bb,YAAYQ,QAAQR,UAAU;oBAC9B0B,SAASlB,QAAQkB,OAAO;oBACxBF,OAAOhB,QAAQgB,KAAK;gBACtB;YACF,CAAA;QACF,YAAY;QACZ,IAAI,CAACvB,WAAW,GAAGO,QAAQR,UAAU;QACrC,IAAI,CAACG,SAAS,GAAGD;QACjB,IAAI,CAACI,SAAS,GAAGD;IACnB;AAiBF;MAEA,WAAeT"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- module.exports = ShareRuntimeModule;
3
-
4
- //# sourceMappingURL=ShareRuntimeModule.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ShareRuntimeModule.d.ts"],"sourcesContent":["export = ShareRuntimeModule;\n/** @typedef {import(\"webpack/lib/Chunk\")} Chunk */\n/** @typedef {import(\"webpack/lib/ChunkGraph\")} ChunkGraph */\n/** @typedef {import(\"webpack/lib/Compilation\")} Compilation */\ndeclare class ShareRuntimeModule extends RuntimeModule {\n constructor();\n}\ndeclare namespace ShareRuntimeModule {\n export { Chunk, ChunkGraph, Compilation };\n}\nimport RuntimeModule = require('webpack/lib/RuntimeModule');\ntype Chunk = import('webpack/lib/Chunk');\ntype ChunkGraph = import('webpack/lib/ChunkGraph');\ntype Compilation = import('webpack/lib/Compilation');\n"],"names":["ShareRuntimeModule"],"mappings":";iBAASA"}
@@ -1,117 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
- */ 'use strict';
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "default", {
9
- enumerable: true,
10
- get: function() {
11
- return _default;
12
- }
13
- });
14
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
- const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
16
- const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard._(require("webpack/lib/RuntimeGlobals"));
17
- const _RuntimeModule = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/RuntimeModule"));
18
- const _Template = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Template"));
19
- const _comparators = require("webpack/lib/util/comparators");
20
- let ShareRuntimeModule = class ShareRuntimeModule extends _RuntimeModule.default {
21
- /**
22
- * @returns {string | null} runtime code
23
- */ generate() {
24
- var _this_chunk;
25
- const compilation = this.compilation;
26
- if (!compilation) {
27
- throw new Error('Compilation is undefined');
28
- }
29
- const { runtimeTemplate, codeGenerationResults, outputOptions: { uniqueName, ignoreBrowserWarnings } } = compilation;
30
- const chunkGraph = this.chunkGraph;
31
- if (!chunkGraph) {
32
- throw new Error('ChunkGraph is undefined');
33
- }
34
- const initCodePerScope = new Map();
35
- for (const chunk of ((_this_chunk = this.chunk) == null ? void 0 : _this_chunk.getAllReferencedChunks()) || []){
36
- if (!chunk) {
37
- continue;
38
- }
39
- const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(chunk, 'share-init', _comparators.compareModulesByIdentifier);
40
- if (!modules) continue;
41
- for (const m of modules){
42
- const data = codeGenerationResults.getData(m, chunk.runtime, 'share-init');
43
- if (!data) continue;
44
- for (const item of data){
45
- const { shareScope, initStage, init } = item;
46
- let stages = initCodePerScope.get(shareScope);
47
- if (stages === undefined) {
48
- initCodePerScope.set(shareScope, stages = new Map());
49
- }
50
- let list = stages.get(initStage || 0);
51
- if (list === undefined) {
52
- stages.set(initStage || 0, list = new Set());
53
- }
54
- list.add(init);
55
- }
56
- }
57
- }
58
- return _Template.default.asString([
59
- `${_RuntimeGlobals.shareScopeMap} = {};`,
60
- 'var initPromises = {};',
61
- 'var initTokens = {};',
62
- `${_RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction('name, initScope', [
63
- 'if(!initScope) initScope = [];',
64
- '// handling circular init calls',
65
- 'var initToken = initTokens[name];',
66
- 'if(!initToken) initToken = initTokens[name] = {};',
67
- 'if(initScope.indexOf(initToken) >= 0) return;',
68
- 'initScope.push(initToken);',
69
- '// only runs once',
70
- 'if(initPromises[name]) return initPromises[name];',
71
- '// creates a new share scope if needed',
72
- `if(!${_RuntimeGlobals.hasOwnProperty}(${_RuntimeGlobals.shareScopeMap}, name)) ${_RuntimeGlobals.shareScopeMap}[name] = {};`,
73
- '// runs all init snippets from all modules reachable',
74
- `var scope = ${_RuntimeGlobals.shareScopeMap}[name];`,
75
- `var warn = ${ignoreBrowserWarnings ? runtimeTemplate.basicFunction('', '') : runtimeTemplate.basicFunction('msg', [
76
- 'if (typeof console !== "undefined" && console.warn) console.warn(msg);'
77
- ])};`,
78
- `var uniqueName = ${JSON.stringify(uniqueName || undefined)};`,
79
- `var register = ${runtimeTemplate.basicFunction('name, version, factory, eager', [
80
- 'var versions = scope[name] = scope[name] || {};',
81
- 'var activeVersion = versions[version];',
82
- 'if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };'
83
- ])};`,
84
- `var initExternal = ${runtimeTemplate.basicFunction('id', [
85
- `var handleError = ${runtimeTemplate.expressionFunction('warn("Initialization of sharing external failed: " + err)', 'err')};`,
86
- 'try {',
87
- _Template.default.indent([
88
- `var module = ${_RuntimeGlobals.require}(id);`,
89
- 'if(!module) return;',
90
- `var initFn = ${runtimeTemplate.returningFunction(`module && module.init && module.init(${_RuntimeGlobals.shareScopeMap}[name], initScope)`, 'module')}`,
91
- 'if(module.then) return promises.push(module.then(initFn, handleError));',
92
- 'var initResult = initFn(module);',
93
- "if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));"
94
- ]),
95
- '} catch(err) { handleError(err); }'
96
- ])}`,
97
- 'var promises = [];',
98
- 'switch(name) {',
99
- ...Array.from(initCodePerScope).sort(([a], [b])=>(0, _comparators.compareStrings)(a, b)).map(([name, stages])=>_Template.default.indent([
100
- `case ${JSON.stringify(name)}: {`,
101
- _Template.default.indent(Array.from(stages).sort(([a], [b])=>a - b).map(([, initCode])=>_Template.default.asString(Array.from(initCode)))),
102
- '}',
103
- 'break;'
104
- ])),
105
- '}',
106
- 'if(!promises.length) return initPromises[name] = 1;',
107
- `return initPromises[name] = Promise.all(promises).then(${runtimeTemplate.returningFunction('initPromises[name] = 1')});`
108
- ])};`
109
- ]);
110
- }
111
- constructor(){
112
- super('sharing');
113
- }
114
- };
115
- const _default = ShareRuntimeModule;
116
-
117
- //# sourceMappingURL=ShareRuntimeModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ShareRuntimeModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Template from 'webpack/lib/Template';\nimport Compilation from 'webpack/lib/Compilation';\nimport ChunkGraph from 'webpack/lib/ChunkGraph';\nimport {\n compareModulesByIdentifier,\n compareStrings,\n} from 'webpack/lib/util/comparators';\n\nclass ShareRuntimeModule extends RuntimeModule {\n constructor() {\n super('sharing');\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation | undefined = this.compilation;\n if (!compilation) {\n throw new Error('Compilation is undefined');\n }\n const {\n runtimeTemplate,\n codeGenerationResults,\n outputOptions: { uniqueName, ignoreBrowserWarnings },\n } = compilation;\n const chunkGraph: ChunkGraph | undefined = this.chunkGraph;\n if (!chunkGraph) {\n throw new Error('ChunkGraph is undefined');\n }\n const initCodePerScope: Map<string, Map<number, Set<string>>> = new Map();\n for (const chunk of this.chunk?.getAllReferencedChunks() || []) {\n if (!chunk) {\n continue;\n }\n const modules = chunkGraph.getOrderedChunkModulesIterableBySourceType(\n chunk,\n 'share-init',\n compareModulesByIdentifier,\n );\n if (!modules) continue;\n for (const m of modules) {\n const data = codeGenerationResults.getData(\n m,\n chunk.runtime,\n 'share-init',\n );\n if (!data) continue;\n for (const item of data) {\n const { shareScope, initStage, init } = item;\n let stages = initCodePerScope.get(shareScope);\n if (stages === undefined) {\n initCodePerScope.set(shareScope, (stages = new Map()));\n }\n let list = stages.get(initStage || 0);\n if (list === undefined) {\n stages.set(initStage || 0, (list = new Set()));\n }\n list.add(init);\n }\n }\n }\n return Template.asString([\n `${RuntimeGlobals.shareScopeMap} = {};`,\n 'var initPromises = {};',\n 'var initTokens = {};',\n `${RuntimeGlobals.initializeSharing} = ${runtimeTemplate.basicFunction(\n 'name, initScope',\n [\n 'if(!initScope) initScope = [];',\n '// handling circular init calls',\n 'var initToken = initTokens[name];',\n 'if(!initToken) initToken = initTokens[name] = {};',\n 'if(initScope.indexOf(initToken) >= 0) return;',\n 'initScope.push(initToken);',\n '// only runs once',\n 'if(initPromises[name]) return initPromises[name];',\n '// creates a new share scope if needed',\n `if(!${RuntimeGlobals.hasOwnProperty}(${RuntimeGlobals.shareScopeMap}, name)) ${RuntimeGlobals.shareScopeMap}[name] = {};`,\n '// runs all init snippets from all modules reachable',\n `var scope = ${RuntimeGlobals.shareScopeMap}[name];`,\n `var warn = ${\n ignoreBrowserWarnings\n ? runtimeTemplate.basicFunction('', '')\n : runtimeTemplate.basicFunction('msg', [\n 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n ])\n };`,\n `var uniqueName = ${JSON.stringify(uniqueName || undefined)};`,\n `var register = ${runtimeTemplate.basicFunction(\n 'name, version, factory, eager',\n [\n 'var versions = scope[name] = scope[name] || {};',\n 'var activeVersion = versions[version];',\n 'if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };',\n ],\n )};`,\n `var initExternal = ${runtimeTemplate.basicFunction('id', [\n `var handleError = ${runtimeTemplate.expressionFunction(\n 'warn(\"Initialization of sharing external failed: \" + err)',\n 'err',\n )};`,\n 'try {',\n Template.indent([\n `var module = ${RuntimeGlobals.require}(id);`,\n 'if(!module) return;',\n `var initFn = ${runtimeTemplate.returningFunction(\n `module && module.init && module.init(${RuntimeGlobals.shareScopeMap}[name], initScope)`,\n 'module',\n )}`,\n 'if(module.then) return promises.push(module.then(initFn, handleError));',\n 'var initResult = initFn(module);',\n \"if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\",\n ]),\n '} catch(err) { handleError(err); }',\n ])}`,\n 'var promises = [];',\n 'switch(name) {',\n ...Array.from(initCodePerScope)\n .sort(([a], [b]) => compareStrings(a, b))\n .map(([name, stages]) =>\n Template.indent([\n `case ${JSON.stringify(name)}: {`,\n Template.indent(\n Array.from(stages)\n .sort(([a], [b]) => a - b)\n .map(([, initCode]) =>\n Template.asString(Array.from(initCode)),\n ),\n ),\n '}',\n 'break;',\n ]),\n ),\n '}',\n 'if(!promises.length) return initPromises[name] = 1;',\n `return initPromises[name] = Promise.all(promises).then(${runtimeTemplate.returningFunction(\n 'initPromises[name] = 1',\n )});`,\n ],\n )};`,\n ]);\n }\n}\n\nexport default ShareRuntimeModule;\n"],"names":["ShareRuntimeModule","RuntimeModule","generate","compilation","Error","runtimeTemplate","codeGenerationResults","outputOptions","uniqueName","ignoreBrowserWarnings","chunkGraph","initCodePerScope","Map","chunk","getAllReferencedChunks","modules","getOrderedChunkModulesIterableBySourceType","compareModulesByIdentifier","m","data","getData","runtime","item","shareScope","initStage","init","stages","get","undefined","set","list","Set","add","Template","asString","RuntimeGlobals","shareScopeMap","initializeSharing","basicFunction","hasOwnProperty","JSON","stringify","expressionFunction","indent","require","returningFunction","Array","from","sort","a","b","compareStrings","map","name","initCode","constructor"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=resolveMatchedConfigs.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/resolveMatchedConfigs.d.ts"],"names":[],"mappings":""}
@@ -1,69 +0,0 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "resolveMatchedConfigs", {
9
- enumerable: true,
10
- get: function() {
11
- return resolveMatchedConfigs;
12
- }
13
- });
14
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
15
- const _ModuleNotFoundError = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/ModuleNotFoundError"));
16
- const _LazySet = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/LazySet"));
17
- const RESOLVE_OPTIONS = {
18
- dependencyType: 'esm'
19
- };
20
- async function resolveMatchedConfigs(compilation, configs) {
21
- const resolved = new Map();
22
- const unresolved = new Map();
23
- const prefixed = new Map();
24
- const resolveContext = {
25
- fileDependencies: new _LazySet.default(),
26
- contextDependencies: new _LazySet.default(),
27
- missingDependencies: new _LazySet.default()
28
- };
29
- const resolver = compilation.resolverFactory.get('normal', RESOLVE_OPTIONS);
30
- const context = compilation.compiler.context;
31
- await Promise.all(//@ts-ignore
32
- configs.map(([request, config])=>{
33
- if (/^\.\.?(\/|$)/.test(request)) {
34
- // relative request
35
- return new Promise((resolve)=>{
36
- resolver.resolve({}, context, request, resolveContext, (err, result)=>{
37
- if (err || result === false) {
38
- err = err || new Error(`Can't resolve ${request}`);
39
- compilation.errors.push(new _ModuleNotFoundError.default(null, err, {
40
- name: `shared module ${request}`
41
- }));
42
- return resolve();
43
- }
44
- resolved.set(result, config);
45
- resolve();
46
- });
47
- });
48
- } else if (/^(\/|[A-Za-z]:\\|\\\\)/.test(request)) {
49
- // absolute path
50
- resolved.set(request, config);
51
- } else if (request.endsWith('/')) {
52
- // module request prefix
53
- prefixed.set(request, config);
54
- } else {
55
- // module request
56
- unresolved.set(request, config);
57
- }
58
- }));
59
- compilation.contextDependencies.addAll(resolveContext.contextDependencies);
60
- compilation.fileDependencies.addAll(resolveContext.fileDependencies);
61
- compilation.missingDependencies.addAll(resolveContext.missingDependencies);
62
- return {
63
- resolved,
64
- unresolved,
65
- prefixed
66
- };
67
- }
68
-
69
- //# sourceMappingURL=resolveMatchedConfigs.js.map