@module-federation/enhanced 0.0.7 → 0.0.9

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 (171) hide show
  1. package/README.md +164 -6
  2. package/dist/package.json +9 -4
  3. package/dist/src/declarations/plugins/container/AsyncDependenciesBlock.d.ts +57 -0
  4. package/dist/src/declarations/plugins/container/ContainerPlugin.d.ts +187 -0
  5. package/dist/src/declarations/plugins/container/ContainerReferencePlugin.d.ts +80 -0
  6. package/dist/src/declarations/plugins/container/Dependency.d.ts +285 -0
  7. package/dist/src/declarations/plugins/container/Module.d.ts +138 -0
  8. package/dist/src/declarations/plugins/container/ModuleFactory.d.ts +33 -0
  9. package/dist/src/declarations/plugins/container/ModuleFederationPlugin.d.ts +320 -0
  10. package/dist/src/declarations/plugins/container/ObjectDeserializerContext.d.ts +4 -0
  11. package/dist/src/declarations/plugins/container/StaticExportsDependency.d.ts +28 -0
  12. package/dist/src/declarations/plugins/container/Template.d.ts +198 -0
  13. package/dist/src/declarations/plugins/container/WebpackError.d.ts +32 -0
  14. package/dist/src/declarations/plugins/container/WebpackOptions.d.ts +140 -0
  15. package/dist/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.ts +74 -0
  16. package/dist/src/declarations/plugins/sharing/ProvideSharedPlugin.d.ts +67 -0
  17. package/dist/src/declarations/plugins/sharing/SharePlugin.d.ts +78 -0
  18. package/dist/src/index.d.ts +12 -9
  19. package/dist/src/index.js +19 -14
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/lib/container/AsyncBoundaryPlugin.d.ts +1 -1
  22. package/dist/src/lib/container/AsyncBoundaryPlugin.js +3 -2
  23. package/dist/src/lib/container/AsyncBoundaryPlugin.js.map +1 -1
  24. package/dist/src/lib/container/ContainerEntryDependency.d.ts +22 -18
  25. package/dist/src/lib/container/ContainerEntryDependency.js +3 -1
  26. package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -1
  27. package/dist/src/lib/container/ContainerEntryModule.d.ts +70 -80
  28. package/dist/src/lib/container/ContainerEntryModule.js +32 -12
  29. package/dist/src/lib/container/ContainerEntryModule.js.map +1 -1
  30. package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +14 -10
  31. package/dist/src/lib/container/ContainerEntryModuleFactory.js +2 -2
  32. package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -1
  33. package/dist/src/lib/container/ContainerExposedDependency.d.ts +18 -25
  34. package/dist/src/lib/container/ContainerPlugin.d.ts +32 -9
  35. package/dist/src/lib/container/ContainerPlugin.js +110 -10
  36. package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
  37. package/dist/src/lib/container/ContainerReferencePlugin.d.ts +27 -12
  38. package/dist/src/lib/container/ContainerReferencePlugin.js +5 -3
  39. package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
  40. package/dist/src/lib/container/FallbackDependency.d.ts +14 -20
  41. package/dist/src/lib/container/FallbackItemDependency.d.ts +3 -10
  42. package/dist/src/lib/container/FallbackModule.d.ts +52 -70
  43. package/dist/src/lib/container/FallbackModule.js +2 -2
  44. package/dist/src/lib/container/FallbackModule.js.map +1 -1
  45. package/dist/src/lib/container/FallbackModuleFactory.d.ts +10 -10
  46. package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +3 -4
  47. package/dist/src/lib/container/HoistContainerReferencesPlugin.js +33 -50
  48. package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -1
  49. package/dist/src/lib/container/ModuleFederationPlugin.d.ts +21 -14
  50. package/dist/src/lib/container/ModuleFederationPlugin.js +19 -10
  51. package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
  52. package/dist/src/lib/container/ModuleFederationPluginTypes.d.ts +271 -0
  53. package/dist/src/lib/container/ModuleFederationPluginTypes.js +8 -0
  54. package/dist/src/lib/container/ModuleFederationPluginTypes.js.map +1 -0
  55. package/dist/src/lib/container/RemoteModule.d.ts +88 -73
  56. package/dist/src/lib/container/RemoteModule.js +2 -2
  57. package/dist/src/lib/container/RemoteModule.js.map +1 -1
  58. package/dist/src/lib/container/RemoteRuntimeModule.d.ts +10 -7
  59. package/dist/src/lib/container/RemoteRuntimeModule.js +44 -46
  60. package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -1
  61. package/dist/src/lib/container/RemoteToExternalDependency.d.ts +3 -9
  62. package/dist/src/lib/container/constant.d.ts +3 -0
  63. package/dist/src/lib/container/constant.js +12 -0
  64. package/dist/src/lib/container/constant.js.map +1 -0
  65. package/dist/src/lib/container/options.d.ts +12 -4
  66. package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +13 -0
  67. package/dist/src/lib/container/runtime/FederationRuntimeModule.js +27 -0
  68. package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -0
  69. package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +17 -0
  70. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +199 -0
  71. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -0
  72. package/dist/src/lib/container/runtime/getFederationGlobal.d.ts +5 -0
  73. package/dist/src/lib/container/runtime/getFederationGlobal.js +24 -0
  74. package/dist/src/lib/container/runtime/getFederationGlobal.js.map +1 -0
  75. package/dist/src/lib/container/runtime/utils.d.ts +15 -0
  76. package/dist/src/lib/container/runtime/utils.js +79 -0
  77. package/dist/src/lib/container/runtime/utils.js.map +1 -0
  78. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +3 -10
  79. package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +97 -104
  80. package/dist/src/lib/sharing/ConsumeSharedModule.js +10 -5
  81. package/dist/src/lib/sharing/ConsumeSharedModule.js.map +1 -1
  82. package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +28 -6
  83. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +13 -6
  84. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
  85. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +29 -11
  86. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +26 -166
  87. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
  88. package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +3 -11
  89. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +35 -31
  90. package/dist/src/lib/sharing/ProvideSharedDependency.js +11 -2
  91. package/dist/src/lib/sharing/ProvideSharedDependency.js.map +1 -1
  92. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +65 -77
  93. package/dist/src/lib/sharing/ProvideSharedModule.js +31 -8
  94. package/dist/src/lib/sharing/ProvideSharedModule.js.map +1 -1
  95. package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +17 -10
  96. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js +1 -1
  97. package/dist/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -1
  98. package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +37 -24
  99. package/dist/src/lib/sharing/ProvideSharedPlugin.js +12 -2
  100. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
  101. package/dist/src/lib/sharing/SharePlugin.d.ts +39 -13
  102. package/dist/src/lib/sharing/SharePlugin.js +3 -0
  103. package/dist/src/lib/sharing/SharePlugin.js.map +1 -1
  104. package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +12 -7
  105. package/dist/src/lib/sharing/ShareRuntimeModule.js +24 -51
  106. package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
  107. package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +12 -8
  108. package/dist/src/lib/sharing/utils.d.ts +21 -17
  109. package/dist/src/lib/sharing/utils.js +17 -2
  110. package/dist/src/lib/sharing/utils.js.map +1 -1
  111. package/dist/src/schemas/container/ContainerPlugin.check.d.ts +7 -0
  112. package/dist/src/schemas/container/ContainerPlugin.check.js +2297 -0
  113. package/dist/src/schemas/container/ContainerPlugin.check.js.map +1 -0
  114. package/dist/src/schemas/container/ContainerPlugin.d.ts +268 -0
  115. package/dist/src/schemas/container/ContainerPlugin.js +306 -0
  116. package/dist/src/schemas/container/ContainerPlugin.js.map +1 -0
  117. package/dist/src/schemas/container/ContainerReferencePlugin.check.d.ts +7 -0
  118. package/dist/src/schemas/container/ContainerReferencePlugin.check.js +939 -0
  119. package/dist/src/schemas/container/ContainerReferencePlugin.check.js.map +1 -0
  120. package/dist/src/schemas/container/ContainerReferencePlugin.d.ts +87 -0
  121. package/dist/src/schemas/container/ContainerReferencePlugin.js +132 -0
  122. package/dist/src/schemas/container/ContainerReferencePlugin.js.map +1 -0
  123. package/dist/src/schemas/container/ModuleFederationPlugin.check.d.ts +9 -7
  124. package/dist/src/schemas/container/ModuleFederationPlugin.check.js +3653 -1341
  125. package/dist/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -1
  126. package/dist/src/schemas/container/ModuleFederationPlugin.d.ts +13 -4
  127. package/dist/src/schemas/container/ModuleFederationPlugin.js +13 -4
  128. package/dist/src/schemas/container/ModuleFederationPlugin.js.map +1 -1
  129. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.d.ts +7 -0
  130. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js +434 -0
  131. package/dist/src/schemas/sharing/ProviderSharedPlugin.check.js.map +1 -0
  132. package/dist/src/schemas/sharing/ProviderSharedPlugin.d.ts +104 -0
  133. package/dist/src/schemas/sharing/ProviderSharedPlugin.js +119 -0
  134. package/dist/src/schemas/sharing/ProviderSharedPlugin.js.map +1 -0
  135. package/dist/src/types/runtime.d.ts +7 -0
  136. package/dist/src/types/runtime.js +3 -0
  137. package/dist/src/types/runtime.js.map +1 -0
  138. package/dist/src/wrapper/AsyncBoundaryPlugin.d.ts +8 -0
  139. package/dist/src/wrapper/AsyncBoundaryPlugin.js +19 -0
  140. package/dist/src/wrapper/AsyncBoundaryPlugin.js.map +1 -0
  141. package/dist/src/wrapper/ConsumeSharedPlugin.d.ts +8 -0
  142. package/dist/src/wrapper/ConsumeSharedPlugin.js +19 -0
  143. package/dist/src/wrapper/ConsumeSharedPlugin.js.map +1 -0
  144. package/dist/src/wrapper/ContainerPlugin.d.ts +8 -0
  145. package/dist/src/wrapper/ContainerPlugin.js +19 -0
  146. package/dist/src/wrapper/ContainerPlugin.js.map +1 -0
  147. package/dist/src/wrapper/ContainerReferencePlugin.d.ts +8 -0
  148. package/dist/src/wrapper/ContainerReferencePlugin.js +19 -0
  149. package/dist/src/wrapper/ContainerReferencePlugin.js.map +1 -0
  150. package/dist/src/wrapper/FederationRuntimePlugin.d.ts +9 -0
  151. package/dist/src/wrapper/FederationRuntimePlugin.js +22 -0
  152. package/dist/src/wrapper/FederationRuntimePlugin.js.map +1 -0
  153. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +6 -0
  154. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +18 -0
  155. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -0
  156. package/dist/src/wrapper/ModuleFederationPlugin.d.ts +8 -0
  157. package/dist/src/wrapper/ModuleFederationPlugin.js +24 -0
  158. package/dist/src/wrapper/ModuleFederationPlugin.js.map +1 -0
  159. package/dist/src/wrapper/ProvideSharedPlugin.d.ts +8 -0
  160. package/dist/src/wrapper/ProvideSharedPlugin.js +19 -0
  161. package/dist/src/wrapper/ProvideSharedPlugin.js.map +1 -0
  162. package/dist/src/wrapper/SharePlugin.d.ts +8 -0
  163. package/dist/src/wrapper/SharePlugin.js +19 -0
  164. package/dist/src/wrapper/SharePlugin.js.map +1 -0
  165. package/package.json +7 -3
  166. package/dist/src/runtime/ModuleInfoRuntimeModule.d.ts +0 -17
  167. package/dist/src/runtime/ModuleInfoRuntimeModule.js +0 -80
  168. package/dist/src/runtime/ModuleInfoRuntimeModule.js.map +0 -1
  169. package/dist/src/runtime/ModuleInfoRuntimePlugin.d.ts +0 -5
  170. package/dist/src/runtime/ModuleInfoRuntimePlugin.js +0 -24
  171. package/dist/src/runtime/ModuleInfoRuntimePlugin.js.map +0 -1
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
6
6
  */
7
7
  const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
8
+ const utils_1 = require("../container/runtime/utils");
8
9
  const { Template, RuntimeGlobals, RuntimeModule } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
9
10
  const { parseVersionRuntimeCode, versionLtRuntimeCode, rangeToStringRuntimeCode, satisfyRuntimeCode, } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/semver'));
10
11
  class ConsumeSharedRuntimeModule extends RuntimeModule {
@@ -37,11 +38,27 @@ class ConsumeSharedRuntimeModule extends RuntimeModule {
37
38
  // @ts-ignore
38
39
  const id = chunkGraph.getModuleId(module);
39
40
  list.push(id);
40
- moduleIdToSourceMapping.set(id,
41
+ const moduleGetter = codeGenerationResults.getSource(
41
42
  // @ts-ignore
42
- codeGenerationResults.getSource(
43
+ module, chunk.runtime, 'consume-shared');
44
+ const shareOption = codeGenerationResults.getData(
43
45
  // @ts-ignore
44
- module, chunk.runtime, 'consume-shared'));
46
+ module, chunk.runtime, 'consume-shared');
47
+ const sharedInfoAndHandlerStr = Template.asString([
48
+ '{',
49
+ Template.indent([
50
+ `getter: ${moduleGetter.source().toString()},`,
51
+ `shareInfo: {`,
52
+ Template.indent([
53
+ `shareConfig: ${JSON.stringify(shareOption.shareConfig, null, 2)},`,
54
+ `scope: [${JSON.stringify(shareOption.shareScope || 'default')}],`,
55
+ ]),
56
+ '},',
57
+ `shareKey: "${shareOption.shareKey}",`,
58
+ ]),
59
+ '}',
60
+ ]);
61
+ moduleIdToSourceMapping.set(id, sharedInfoAndHandlerStr);
45
62
  }
46
63
  };
47
64
  const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];
@@ -61,182 +78,25 @@ class ConsumeSharedRuntimeModule extends RuntimeModule {
61
78
  }
62
79
  if (moduleIdToSourceMapping.size === 0)
63
80
  return null;
81
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals);
64
82
  return Template.asString([
65
- parseVersionRuntimeCode(runtimeTemplate),
66
- versionLtRuntimeCode(runtimeTemplate),
67
- rangeToStringRuntimeCode(runtimeTemplate),
68
- satisfyRuntimeCode(runtimeTemplate),
69
- `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [
70
- `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,
71
- `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,
72
- 'return scope;',
73
- ])};`,
74
- `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [
75
- 'var versions = scope[key];',
76
- `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || versionLt(a, b) ? b : a;'])}, 0);`,
77
- 'return key && versions[key]',
78
- ])};`,
79
- `var findSingletonVersionKey = ${runtimeTemplate.basicFunction('scope, key', [
80
- 'var versions = scope[key];',
81
- `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'])}, 0);`,
82
- ])};`,
83
- `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction('scope, key, version, requiredVersion', [
84
- `return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`,
85
- ])};`,
86
- `var getSingleton = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
87
- 'var version = findSingletonVersionKey(scope, key);',
88
- 'return get(scope[key][version]);',
89
- ])};`,
90
- `var getSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
91
- 'var version = findSingletonVersionKey(scope, key);',
92
- 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
93
- 'return get(scope[key][version]);',
94
- ])};`,
95
- `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
96
- 'var version = findSingletonVersionKey(scope, key);',
97
- 'if (!satisfy(requiredVersion, version)) ' +
98
- 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
99
- 'return get(scope[key][version]);',
100
- ])};`,
101
- `var findValidVersion = ${runtimeTemplate.basicFunction('scope, key, requiredVersion', [
102
- 'var versions = scope[key];',
103
- `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction('a, b', [
104
- 'if (!satisfy(requiredVersion, b)) return a;',
105
- 'return !a || versionLt(a, b) ? b : a;',
106
- ])}, 0);`,
107
- 'return key && versions[key]',
108
- ])};`,
109
- `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
110
- 'var versions = scope[key];',
111
- 'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',
112
- `\t"Available versions: " + Object.keys(versions).map(${runtimeTemplate.basicFunction('key', ['return key + " from " + versions[key].from;'])}).join(", ");`,
113
- ])};`,
114
- `var getValidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
115
- 'var entry = findValidVersion(scope, key, requiredVersion);',
116
- 'if(entry) return get(entry);',
117
- 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
118
- ])};`,
119
- `var warn = ${compilation.outputOptions.ignoreBrowserWarnings
120
- ? runtimeTemplate.basicFunction('', '')
121
- : runtimeTemplate.basicFunction('msg', [
122
- 'if (typeof console !== "undefined" && console.warn) console.warn(msg);',
123
- ])};`,
124
- `var warnInvalidVersion = ${runtimeTemplate.basicFunction('scope, scopeName, key, requiredVersion', [
125
- 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
126
- ])};`,
127
- `var get = ${runtimeTemplate.basicFunction('entry', [
128
- 'entry.loaded = 1;',
129
- 'return entry.get()',
130
- ])};`,
131
- `var init = ${runtimeTemplate.returningFunction(Template.asString([
132
- 'function(scopeName, a, b, c) {',
133
- Template.indent([
134
- `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,
135
- `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,
136
- `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,
137
- ]),
138
- '}',
139
- ]), 'fn')};`,
140
- '',
141
- `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
142
- 'ensureExistence(scopeName, key);',
143
- 'return get(findVersion(scope, key));',
144
- ])});`,
145
- `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
146
- `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,
147
- ])});`,
148
- `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
149
- 'ensureExistence(scopeName, key);',
150
- 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
151
- ])});`,
152
- `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key', [
153
- 'ensureExistence(scopeName, key);',
154
- 'return getSingleton(scope, scopeName, key);',
155
- ])});`,
156
- `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
157
- 'ensureExistence(scopeName, key);',
158
- 'return getSingletonVersion(scope, scopeName, key, version);',
159
- ])});`,
160
- `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
161
- 'ensureExistence(scopeName, key);',
162
- 'return getValidVersion(scope, scopeName, key, version);',
163
- ])});`,
164
- `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version', [
165
- 'ensureExistence(scopeName, key);',
166
- 'return getStrictSingletonVersion(scope, scopeName, key, version);',
167
- ])});`,
168
- `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
169
- `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
170
- 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
171
- ])});`,
172
- `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, fallback', [
173
- `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
174
- 'return getSingleton(scope, scopeName, key);',
175
- ])});`,
176
- `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
177
- `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
178
- 'return getSingletonVersion(scope, scopeName, key, version);',
179
- ])});`,
180
- `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
181
- `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,
182
- `return entry ? get(entry) : fallback();`,
183
- ])});`,
184
- `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction('scopeName, scope, key, version, fallback', [
185
- `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
186
- 'return getStrictSingletonVersion(scope, scopeName, key, version);',
187
- ])});`,
188
83
  'var installedModules = {};',
189
84
  'var moduleToHandlerMapping = {',
190
- Template.indent(Array.from(moduleIdToSourceMapping, ([key, source]) => `${JSON.stringify(key)}: ${source.source()}`).join(',\n')),
85
+ Template.indent(Array.from(moduleIdToSourceMapping, ([key, value]) => {
86
+ return `${JSON.stringify(key)}: ${value}`;
87
+ }).join(',\n')),
191
88
  '};',
192
89
  initialConsumes.length > 0
193
90
  ? Template.asString([
194
91
  `var initialConsumes = ${JSON.stringify(initialConsumes)};`,
195
- `initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [
196
- `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
197
- '// Handle case when module is used sync',
198
- 'installedModules[id] = 0;',
199
- `delete ${RuntimeGlobals.moduleCache}[id];`,
200
- 'var factory = moduleToHandlerMapping[id]();',
201
- 'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',
202
- `module.exports = factory();`,
203
- ])}`,
204
- ])});`,
92
+ `${federationGlobal}.installInitialConsumes= ()=>${federationGlobal}.bundlerRuntime.installInitialConsumes({initialConsumes, installedModules, moduleToHandlerMapping, webpackRequire:${RuntimeGlobals.require}});`,
205
93
  ])
206
94
  : '// no consumes in initial chunks',
207
95
  this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)
208
96
  ? Template.asString([
209
97
  `var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
210
98
  `${RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
211
- `if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,
212
- Template.indent([
213
- `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction('id', [
214
- `if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,
215
- `var onFactory = ${runtimeTemplate.basicFunction('factory', [
216
- 'installedModules[id] = 0;',
217
- `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
218
- `delete ${RuntimeGlobals.moduleCache}[id];`,
219
- 'module.exports = factory();',
220
- ])}`,
221
- ])};`,
222
- `var onError = ${runtimeTemplate.basicFunction('error', [
223
- 'delete installedModules[id];',
224
- `${RuntimeGlobals.moduleFactories}[id] = ${runtimeTemplate.basicFunction('module', [
225
- `delete ${RuntimeGlobals.moduleCache}[id];`,
226
- 'throw error;',
227
- ])}`,
228
- ])};`,
229
- 'try {',
230
- Template.indent([
231
- 'var promise = moduleToHandlerMapping[id]();',
232
- 'if(promise.then) {',
233
- Template.indent("promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));"),
234
- '} else onFactory(promise);',
235
- ]),
236
- '} catch(e) { onError(e); }',
237
- ])});`,
238
- ]),
239
- '}',
99
+ `${federationGlobal}.bundlerRuntime.consumes({chunkMapping, installedModules, chunkId, moduleToHandlerMapping, promises, webpackRequire:${RuntimeGlobals.require}});`,
240
100
  ])}`,
241
101
  ])
242
102
  : '// no chunk loading of consumes',
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumeSharedRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsumeSharedRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
- declare const dependencies: typeof import("webpack").dependencies;
2
- declare class ProvideForSharedDependency extends dependencies.ModuleDependency {
3
- /**
4
- *
5
- * @param request request string
6
- */
7
- constructor(request: string);
8
- get type(): string;
9
- get category(): string;
10
- }
11
- export default ProvideForSharedDependency;
1
+ export = ProvideForSharedDependency;
2
+ declare class ProvideForSharedDependency extends ModuleDependency {}
3
+ import ModuleDependency = require('webpack/lib/dependencies/ModuleDependency');
@@ -1,32 +1,36 @@
1
- declare const Dependency: typeof import("webpack").Dependency;
2
- import { ObjectDeserializerContext, ObjectSerializerContext } from '../../declarations/plugins/container/Dependency';
3
- declare class ProvideSharedDependency extends Dependency {
4
- shareScope: string;
5
- name: string;
6
- version: string | false;
7
- request: string;
8
- eager: boolean;
9
- /**
10
- * @param {string} shareScope share scope
11
- * @param {string} name module name
12
- * @param {string | false} version version
13
- * @param {string} request request
14
- * @param {boolean} eager true, if this is an eager dependency
15
- */
16
- constructor(shareScope: string, name: string, version: string | false, request: string, eager: boolean);
17
- get type(): string;
18
- /**
19
- * @returns {string | null} an identifier to merge equal requests
20
- */
21
- getResourceIdentifier(): string | null;
22
- /**
23
- * @param {ObjectSerializerContext} context context
24
- */
25
- serialize(context: ObjectSerializerContext): void;
26
- /**
27
- * @param {ObjectDeserializerContext} context context
28
- * @returns {ProvideSharedDependency} deserialize fallback dependency
29
- */
30
- static deserialize(context: ObjectDeserializerContext): ProvideSharedDependency;
1
+ export class ProvideSharedDependency extends Dependency {
2
+ /**
3
+ * @param {ObjectDeserializerContext} context context
4
+ * @returns {ProvideSharedDependency} deserialize fallback dependency
5
+ */
6
+ static deserialize(
7
+ context: ObjectDeserializerContext,
8
+ ): ProvideSharedDependency;
9
+ /**
10
+ * @param {string} shareScope share scope
11
+ * @param {string} name module name
12
+ * @param {string | false} version version
13
+ * @param {string} request request
14
+ * @param {boolean} eager true, if this is an eager dependency
15
+ */
16
+ constructor(
17
+ shareScope: string,
18
+ name: string,
19
+ version: string | false,
20
+ request: string,
21
+ eager: boolean,
22
+ );
23
+ shareScope: string;
24
+ name: string;
25
+ version: string | false;
26
+ request: string;
27
+ eager: boolean;
31
28
  }
32
- export default ProvideSharedDependency;
29
+ declare namespace ProvideSharedDependency {
30
+ export { shareScope, ObjectDeserializerContext, ObjectSerializerContext };
31
+ }
32
+ export type ObjectDeserializerContext =
33
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
34
+ declare let shareScope: any;
35
+ export type ObjectSerializerContext =
36
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
@@ -14,14 +14,20 @@ class ProvideSharedDependency extends Dependency {
14
14
  * @param {string | false} version version
15
15
  * @param {string} request request
16
16
  * @param {boolean} eager true, if this is an eager dependency
17
+ * @param {boolean} requiredVersion version requirement
18
+ * @param {boolean} strictVersion don't use shared version even if version isn't valid
19
+ * @param {boolean} singleton use single global version
17
20
  */
18
- constructor(shareScope, name, version, request, eager) {
21
+ constructor(shareScope, name, version, request, eager, requiredVersion, strictVersion, singleton) {
19
22
  super();
20
23
  this.shareScope = shareScope;
21
24
  this.name = name;
22
25
  this.version = version;
23
26
  this.request = request;
24
27
  this.eager = eager;
28
+ this.requiredVersion = requiredVersion;
29
+ this.strictVersion = strictVersion;
30
+ this.singleton = singleton;
25
31
  }
26
32
  get type() {
27
33
  return 'provide shared module';
@@ -41,6 +47,9 @@ class ProvideSharedDependency extends Dependency {
41
47
  context.write(this.request);
42
48
  context.write(this.version);
43
49
  context.write(this.eager);
50
+ context.write(this.requiredVersion);
51
+ context.write(this.strictVersion);
52
+ context.write(this.singleton);
44
53
  super.serialize(context);
45
54
  }
46
55
  /**
@@ -49,7 +58,7 @@ class ProvideSharedDependency extends Dependency {
49
58
  */
50
59
  static deserialize(context) {
51
60
  const { read } = context;
52
- const obj = new ProvideSharedDependency(read(), read(), read(), read(), read());
61
+ const obj = new ProvideSharedDependency(read(), read(), read(), read(), read(), read(), read(), read());
53
62
  //@ts-ignore
54
63
  this.shareScope = context.read();
55
64
  obj.deserialize(context);
@@ -1 +1 @@
1
- {"version":3,"file":"ProvideSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAC5B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAO9B,MAAM,uBAAwB,SAAQ,UAAU;IAO9C;;;;;;OAMG;IACH,YACE,UAAkB,EAClB,IAAY,EACZ,OAAuB,EACvB,OAAe,EACf,KAAc;QAEd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAa,IAAI;QACf,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,mBAAmB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,OACxD,IAAI,CAAC,IACP,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACM,SAAS,CAAC,OAAgC;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAkC;QAElC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,uBAAuB,CACrC,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,CACP,CAAC;QACF,YAAY;QACZ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,gBAAgB,CACd,uBAAuB,EACvB,8CAA8C,CAC/C,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ProvideSharedDependency.js","sourceRoot":"","sources":["../../../../src/lib/sharing/ProvideSharedDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,0FAAqF;AAErF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AACxD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAC5B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAO9B,MAAM,uBAAwB,SAAQ,UAAU;IAU9C;;;;;;;;;OASG;IACH,YACE,UAAkB,EAClB,IAAY,EACZ,OAAuB,EACvB,OAAe,EACf,KAAc,EACd,eAA+B,EAC/B,aAAsB,EACtB,SAAkB;QAElB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAa,IAAI;QACf,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,mBAAmB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,OACxD,IAAI,CAAC,IACP,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACM,SAAS,CAAC,OAAgC;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAkC;QAElC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,uBAAuB,CACrC,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,EACN,IAAI,EAAE,CACP,CAAC;QACF,YAAY;QACZ,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,gBAAgB,CACd,uBAAuB,EACvB,8CAA8C,CAC/C,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
@@ -1,79 +1,67 @@
1
- import type { Compilation } from 'webpack';
2
- import type WebpackError from 'webpack/lib/WebpackError';
3
- import type { CodeGenerationContext, CodeGenerationResult, LibIdentOptions, NeedBuildContext, RequestShortener, ResolverWithOptions, ObjectDeserializerContext, ObjectSerializerContext } from 'webpack/lib/Module';
4
- import type { InputFileSystem } from 'webpack/lib/util/fs';
5
- import type { WebpackOptionsNormalized as WebpackOptions } from 'webpack/declarations/WebpackOptions';
6
- declare const Module: typeof import("webpack").Module;
7
- /**
8
- * @class
9
- * @extends {Module}
10
- */
1
+ export = ProvideSharedModule;
11
2
  declare class ProvideSharedModule extends Module {
12
- private _shareScope;
13
- private _name;
14
- private _version;
15
- private _request;
16
- private _eager;
17
- /**
18
- * @constructor
19
- * @param {string} shareScope shared scope name
20
- * @param {string} name shared key
21
- * @param {string | false} version version
22
- * @param {string} request request to the provided module
23
- * @param {boolean} eager include the module in sync way
24
- */
25
- constructor(shareScope: string, name: string, version: string | false, request: string, eager: boolean);
26
- /**
27
- * @returns {string} a unique identifier of the module
28
- */
29
- identifier(): string;
30
- /**
31
- * @param {RequestShortener} requestShortener the request shortener
32
- * @returns {string} a user readable identifier of the module
33
- */
34
- readableIdentifier(requestShortener: RequestShortener): string;
35
- /**
36
- * @param {LibIdentOptions} options options
37
- * @returns {string | null} an identifier for library inclusion
38
- */
39
- libIdent(options: LibIdentOptions): string | null;
40
- /**
41
- * @param {NeedBuildContext} context context info
42
- * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
43
- * @returns {void}
44
- */
45
- needBuild(context: NeedBuildContext, callback: (error?: WebpackError | null, needsRebuild?: boolean) => void): void;
46
- /**
47
- * @param {WebpackOptions} options webpack options
48
- * @param {Compilation} compilation the compilation
49
- * @param {ResolverWithOptions} resolver the resolver
50
- * @param {InputFileSystem} fs the file system
51
- * @param {function(WebpackError=): void} callback callback function
52
- * @returns {void}
53
- */
54
- build(options: WebpackOptions, compilation: Compilation, resolver: ResolverWithOptions, fs: InputFileSystem, callback: (error?: WebpackError) => void): void;
55
- /**
56
- * @param {string=} type the source type for which the size should be estimated
57
- * @returns {number} the estimated size of the module (must be non-zero)
58
- */
59
- size(type?: string): number;
60
- /**
61
- * @returns {Set<string>} types available (do not mutate)
62
- */
63
- getSourceTypes(): Set<string>;
64
- /**
65
- * @param {CodeGenerationContext} context context for code generation
66
- * @returns {CodeGenerationResult} result
67
- */
68
- codeGeneration({ runtimeTemplate, moduleGraph, chunkGraph, }: CodeGenerationContext): CodeGenerationResult;
69
- /**
70
- * @param {ObjectSerializerContext} context context
71
- */
72
- serialize(context: ObjectSerializerContext): void;
73
- /**
74
- * @param {ObjectDeserializerContext} context context
75
- * @returns {ProvideSharedModule} deserialize fallback dependency
76
- */
77
- static deserialize(context: ObjectDeserializerContext): ProvideSharedModule;
3
+ /**
4
+ * @param {ObjectDeserializerContext} context context
5
+ * @returns {ProvideSharedModule} deserialize fallback dependency
6
+ */
7
+ static deserialize(context: ObjectDeserializerContext): ProvideSharedModule;
8
+ /**
9
+ * @param {string} shareScope shared scope name
10
+ * @param {string} name shared key
11
+ * @param {string | false} version version
12
+ * @param {string} request request to the provided module
13
+ * @param {boolean} eager include the module in sync way
14
+ */
15
+ constructor(
16
+ shareScope: string,
17
+ name: string,
18
+ version: string | false,
19
+ request: string,
20
+ eager: boolean,
21
+ );
22
+ _shareScope: string;
23
+ _name: string;
24
+ _version: string | false;
25
+ _request: string;
26
+ _eager: boolean;
78
27
  }
79
- export default ProvideSharedModule;
28
+ declare namespace ProvideSharedModule {
29
+ export {
30
+ WebpackOptions,
31
+ Chunk,
32
+ ChunkGraph,
33
+ ChunkGroup,
34
+ Compilation,
35
+ CodeGenerationContext,
36
+ CodeGenerationResult,
37
+ LibIdentOptions,
38
+ NeedBuildContext,
39
+ RequestShortener,
40
+ ResolverWithOptions,
41
+ WebpackError,
42
+ ObjectDeserializerContext,
43
+ ObjectSerializerContext,
44
+ Hash,
45
+ InputFileSystem,
46
+ };
47
+ }
48
+ import Module = require('webpack/lib/Module');
49
+ type ObjectDeserializerContext =
50
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
51
+ type WebpackOptions = any;
52
+ type Chunk = import('webpack/lib/Chunk');
53
+ type ChunkGraph = import('webpack/lib/ChunkGraph');
54
+ type ChunkGroup = import('webpack/lib/ChunkGroup');
55
+ type Compilation = import('webpack/lib/Compilation');
56
+ type CodeGenerationContext = import('webpack/lib/Module').CodeGenerationContext;
57
+ type CodeGenerationResult = import('webpack/lib/Module').CodeGenerationResult;
58
+ type LibIdentOptions = import('webpack/lib/Module').LibIdentOptions;
59
+ type NeedBuildContext = import('webpack/lib/Module').NeedBuildContext;
60
+ type RequestShortener = import('webpack/lib/RequestShortener');
61
+ type ResolverWithOptions =
62
+ import('webpack/lib/ResolverFactory').ResolverWithOptions;
63
+ type WebpackError = import('webpack/lib/WebpackError');
64
+ type ObjectSerializerContext =
65
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
66
+ type Hash = import('webpack/lib/util/Hash');
67
+ type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;