@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
@@ -1,85 +1,75 @@
1
- import type { Compilation } from 'webpack';
2
- declare const Module: typeof import("webpack").Module;
3
- import type { LibIdentOptions, NeedBuildContext, RequestShortener, ObjectDeserializerContext, ObjectSerializerContext, WebpackOptions, InputFileSystem, ResolverWithOptions } from 'webpack/lib/Module';
4
- import type WebpackError from 'webpack/lib/WebpackError';
1
+ import Module = require('webpack/lib/Module');
5
2
  export type ExposeOptions = {
6
- /**
7
- * requests to exposed modules (last one is exported)
8
- */
9
- import: string[];
10
- /**
11
- * custom chunk name for the exposed module
12
- */
13
- name: string;
3
+ /**
4
+ * requests to exposed modules (last one is exported)
5
+ */
6
+ import: string[];
7
+ /**
8
+ * custom chunk name for the exposed module
9
+ */
10
+ name: string;
14
11
  };
12
+ type ObjectDeserializerContext =
13
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
14
+ type WebpackOptions = any;
15
+ type ChunkGraph = import('webpack/lib/ChunkGraph');
16
+ type ChunkGroup = import('webpack/lib/ChunkGroup');
17
+ type Compilation = import('webpack/lib/Compilation');
18
+ type CodeGenerationContext = import('webpack/lib/Module').CodeGenerationContext;
19
+ type CodeGenerationResult = import('webpack/lib/Module').CodeGenerationResult;
20
+ type LibIdentOptions = import('webpack/lib/Module').LibIdentOptions;
21
+ type NeedBuildContext = import('webpack/lib/Module').NeedBuildContext;
22
+ type RequestShortener = import('webpack/lib/RequestShortener');
23
+ type ResolverWithOptions =
24
+ import('webpack/lib/ResolverFactory').ResolverWithOptions;
25
+ type WebpackError = import('webpack/lib/WebpackError');
26
+ type ObjectSerializerContext =
27
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
28
+ type Hash = import('webpack/lib/util/Hash');
29
+ type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;
30
+ type ContainerEntryDependency = typeof import('./ContainerEntryDependency');
31
+
15
32
  declare class ContainerEntryModule extends Module {
16
- private _name;
17
- private _exposes;
18
- private _shareScope;
19
- /**
20
- * @param {string} name container entry name
21
- * @param {[string, ExposeOptions][]} exposes list of exposed modules
22
- * @param {string} shareScope name of the share scope
23
- */
24
- constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string);
25
- /**
26
- * @param {ObjectDeserializerContext} context context
27
- * @returns {ContainerEntryModule} deserialized container entry module
28
- */
29
- static deserialize(context: ObjectDeserializerContext): ContainerEntryModule;
30
- /**
31
- * @returns {Set<string>} types available (do not mutate)
32
- */
33
- getSourceTypes(): Set<string>;
34
- /**
35
- * @returns {string} a unique identifier of the module
36
- */
37
- identifier(): string;
38
- /**
39
- * @param {RequestShortener} requestShortener the request shortener
40
- * @returns {string} a user readable identifier of the module
41
- */
42
- readableIdentifier(requestShortener: RequestShortener): string;
43
- /**
44
- * @param {LibIdentOptions} options options
45
- * @returns {string | null} an identifier for library inclusion
46
- */
47
- libIdent(options: LibIdentOptions): string | null;
48
- /**
49
- * @param {NeedBuildContext} context context info
50
- * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
51
- * @returns {void}
52
- */
53
- needBuild(context: NeedBuildContext, callback: (arg0: (WebpackError | null) | undefined, arg1: boolean | undefined) => void): void;
54
- /**
55
- * @param {WebpackOptions} options webpack options
56
- * @param {Compilation} compilation the compilation
57
- * @param {ResolverWithOptions} resolver the resolver
58
- * @param {InputFileSystem} fs the file system
59
- * @param {function(WebpackError): void} callback callback function
60
- * @returns {void}
61
- */
62
- build(options: WebpackOptions, compilation: Compilation, resolver: ResolverWithOptions, fs: InputFileSystem, callback: (err?: WebpackError) => void): void;
63
- /**
64
- * @param {CodeGenerationContext} context context for code generation
65
- * @returns {CodeGenerationResult} result
66
- */
67
- codeGeneration({ moduleGraph, chunkGraph, runtimeTemplate }: {
68
- moduleGraph: any;
69
- chunkGraph: any;
70
- runtimeTemplate: any;
71
- }): {
72
- sources: Map<any, any>;
73
- runtimeRequirements: Set<"__webpack_require__.o" | "__webpack_require__.d" | "__webpack_exports__">;
74
- };
75
- /**
76
- * @param {string=} type the source type for which the size should be estimated
77
- * @returns {number} the estimated size of the module (must be non-zero)
78
- */
79
- size(type?: string): number;
80
- /**
81
- * @param {ObjectSerializerContext} context context
82
- */
83
- serialize(context: ObjectSerializerContext): void;
33
+ /**
34
+ * @param {ObjectDeserializerContext} context context
35
+ * @returns {ContainerEntryModule} deserialized container entry module
36
+ */
37
+ static deserialize(context: ObjectDeserializerContext): ContainerEntryModule;
38
+ /**
39
+ * @param {string} name container entry name
40
+ * @param {[string, ExposeOptions][]} exposes list of exposed modules
41
+ * @param {string} shareScope name of the share scope
42
+ * @param {string[]} runtimePlugins Runtime plugin file paths or package name.
43
+ */
44
+ constructor(
45
+ name: string,
46
+ exposes: [string, ExposeOptions][],
47
+ shareScope: string,
48
+ );
49
+ _name: string;
50
+ _exposes: [string, ExposeOptions][];
51
+ _shareScope: string;
52
+ runtimePlugins: string[];
53
+ }
54
+ declare namespace ContainerEntryModule {
55
+ export {
56
+ WebpackOptions,
57
+ ChunkGraph,
58
+ ChunkGroup,
59
+ Compilation,
60
+ CodeGenerationContext,
61
+ CodeGenerationResult,
62
+ LibIdentOptions,
63
+ NeedBuildContext,
64
+ RequestShortener,
65
+ ResolverWithOptions,
66
+ WebpackError,
67
+ ObjectDeserializerContext,
68
+ ObjectSerializerContext,
69
+ Hash,
70
+ InputFileSystem,
71
+ ContainerEntryDependency,
72
+ ExposeOptions,
73
+ };
84
74
  }
85
75
  export default ContainerEntryModule;
@@ -8,12 +8,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
11
+ const ContainerExposedDependency_1 = __importDefault(require("./ContainerExposedDependency"));
12
+ const utils_1 = require("./runtime/utils");
13
+ const Constants_1 = require("../Constants");
11
14
  const makeSerializable = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/makeSerializable'));
12
15
  const { sources: webpackSources } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
13
16
  const { AsyncDependenciesBlock, Template, Module, RuntimeGlobals } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
14
- const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/ModuleTypeConstants'));
15
17
  const StaticExportsDependency = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/dependencies/StaticExportsDependency'));
16
- const ContainerExposedDependency_1 = __importDefault(require("./ContainerExposedDependency"));
18
+ const EntryDependency = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/dependencies/EntryDependency'));
17
19
  const SOURCE_TYPES = new Set(['javascript']);
18
20
  class ContainerEntryModule extends Module {
19
21
  /**
@@ -21,11 +23,12 @@ class ContainerEntryModule extends Module {
21
23
  * @param {[string, ExposeOptions][]} exposes list of exposed modules
22
24
  * @param {string} shareScope name of the share scope
23
25
  */
24
- constructor(name, exposes, shareScope) {
25
- super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
26
+ constructor(name, exposes, shareScope, injectRuntimeEntry) {
27
+ super(Constants_1.JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
26
28
  this._name = name;
27
29
  this._exposes = exposes;
28
30
  this._shareScope = shareScope;
31
+ this._injectRuntimeEntry = injectRuntimeEntry;
29
32
  }
30
33
  /**
31
34
  * @param {ObjectDeserializerContext} context context
@@ -33,7 +36,7 @@ class ContainerEntryModule extends Module {
33
36
  */
34
37
  static deserialize(context) {
35
38
  const { read } = context;
36
- const obj = new ContainerEntryModule(read(), read(), read());
39
+ const obj = new ContainerEntryModule(read(), read(), read(), read());
37
40
  //@ts-ignore
38
41
  obj.deserialize(context);
39
42
  return obj;
@@ -113,6 +116,9 @@ class ContainerEntryModule extends Module {
113
116
  this.addDependency(
114
117
  //@ts-ignore
115
118
  new StaticExportsDependency(['get', 'init'], false));
119
+ this.addDependency(
120
+ // @ts-ignore
121
+ new EntryDependency(this._injectRuntimeEntry));
116
122
  callback();
117
123
  }
118
124
  /**
@@ -163,6 +169,16 @@ class ContainerEntryModule extends Module {
163
169
  }
164
170
  getters.push(`${JSON.stringify(modules[0].name)}: ${runtimeTemplate.basicFunction('', str)}`);
165
171
  }
172
+ const initRuntimeDep = this.dependencies[1];
173
+ const initRuntimeModuleGetter = runtimeTemplate.moduleRaw({
174
+ module: moduleGraph.getModule(initRuntimeDep),
175
+ chunkGraph,
176
+ // @ts-expect-error
177
+ request: initRuntimeDep.userRequest,
178
+ weak: false,
179
+ runtimeRequirements,
180
+ });
181
+ const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals || {});
166
182
  const source = Template.asString([
167
183
  `var moduleMap = {`,
168
184
  Template.indent(getters.join(',\n')),
@@ -182,14 +198,17 @@ class ContainerEntryModule extends Module {
182
198
  `${RuntimeGlobals.currentRemoteGetScope} = undefined;`,
183
199
  'return getScope;',
184
200
  ])};`,
185
- `var init = ${runtimeTemplate.basicFunction('shareScope, initScope', [
186
- `if (!${RuntimeGlobals.shareScopeMap}) return;`,
187
- `var name = ${JSON.stringify(this._shareScope)}`,
188
- `var oldScope = ${RuntimeGlobals.shareScopeMap}[name];`,
189
- `if(oldScope && oldScope !== shareScope) throw new Error("Container initialization failed as it has already been initialized with a different share scope");`,
190
- `${RuntimeGlobals.shareScopeMap}[name] = shareScope;`,
191
- `return ${RuntimeGlobals.initializeSharing}(name, initScope);`,
201
+ `var init = ${runtimeTemplate.basicFunction('shareScope, initScope, remoteEntryInitOptions', [
202
+ `return ${federationGlobal}.bundlerRuntime.initContainerEntry({${Template.indent([
203
+ `webpackRequire: ${RuntimeGlobals.require},`,
204
+ `shareScope: shareScope,`,
205
+ `initScope: initScope,`,
206
+ `remoteEntryInitOptions: remoteEntryInitOptions,`,
207
+ `shareScopeKey: ${JSON.stringify(this._shareScope)}`,
208
+ ])}`,
209
+ '})',
192
210
  ])};`,
211
+ `${initRuntimeModuleGetter}`,
193
212
  '',
194
213
  '// This exports getters to disallow modifications',
195
214
  `${RuntimeGlobals.definePropertyGetters}(exports, {`,
@@ -222,6 +241,7 @@ class ContainerEntryModule extends Module {
222
241
  write(this._name);
223
242
  write(this._exposes);
224
243
  write(this._shareScope);
244
+ write(this._injectRuntimeEntry);
225
245
  super.serialize(context);
226
246
  }
227
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerEntryModule.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContainerEntryModule.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModule.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- declare const ModuleFactory: typeof import("webpack/lib/ModuleFactory");
2
- import type { ModuleFactoryCreateData, ModuleFactoryResult } from 'webpack/lib/ModuleFactory';
3
- export default class ContainerEntryModuleFactory extends ModuleFactory {
4
- /**
5
- * @param {ModuleFactoryCreateData} data data object
6
- * @param {function((Error | null)=, ModuleFactoryResult=): void} callback callback
7
- * @returns {void}
8
- */
9
- create(data: ModuleFactoryCreateData, callback: (error: Error | null, result: ModuleFactoryResult) => void): void;
1
+ export = ContainerEntryModuleFactory;
2
+ declare class ContainerEntryModuleFactory extends ModuleFactory {}
3
+ declare namespace ContainerEntryModuleFactory {
4
+ export {
5
+ ModuleFactoryCreateData,
6
+ ModuleFactoryResult,
7
+ ContainerEntryDependency,
8
+ };
10
9
  }
11
- export {};
10
+ import ModuleFactory = require('webpack/lib/ModuleFactory');
11
+ type ModuleFactoryCreateData =
12
+ import('webpack/lib/ModuleFactory').ModuleFactoryCreateData;
13
+ type ModuleFactoryResult =
14
+ import('webpack/lib/ModuleFactory').ModuleFactoryResult;
15
+ type ContainerEntryDependency = import('./ContainerEntryDependency');
@@ -21,8 +21,8 @@ class ContainerEntryModuleFactory extends ModuleFactory {
21
21
  const containerDependencies = dependencies;
22
22
  const dep = containerDependencies[0];
23
23
  callback(null, {
24
- //@ts-ignore
25
- module: new ContainerEntryModule_1.default(dep.name, dep.exposes, dep.shareScope),
24
+ // @ts-ignore
25
+ module: new ContainerEntryModule_1.default(dep.name, dep.exposes, dep.shareScope, dep.injectRuntimeEntry),
26
26
  });
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerEntryModuleFactory.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModuleFactory.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AAEb,0FAAqF;AACrF,kFAA0D;AAG1D,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAA,6CAAoB,EAAC,2BAA2B,CAAC,CACJ,CAAC;AAMhD,MAAqB,2BAA4B,SAAQ,aAAa;IACpE;;;;OAIG;IACM,MAAM,CACb,IAA6B,EAC7B,QAAoE;QAEpE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC9B,MAAM,qBAAqB,GACzB,YAAqD,CAAC;QACxD,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErC,QAAQ,CAAC,IAAI,EAAE;YACb,YAAY;YACZ,MAAM,EAAE,IAAI,8BAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;CACF;AApBD,8CAoBC"}
1
+ {"version":3,"file":"ContainerEntryModuleFactory.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModuleFactory.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AAEb,0FAAqF;AACrF,kFAA0D;AAG1D,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAA,6CAAoB,EAAC,2BAA2B,CAAC,CACJ,CAAC;AAMhD,MAAqB,2BAA4B,SAAQ,aAAa;IACpE;;;;OAIG;IACM,MAAM,CACb,IAA6B,EAC7B,QAAoE;QAEpE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC9B,MAAM,qBAAqB,GACzB,YAAqD,CAAC;QACxD,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErC,QAAQ,CAAC,IAAI,EAAE;YACb,aAAa;YACb,MAAM,EAAE,IAAI,8BAAoB,CAC9B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,kBAAkB,CACvB;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAzBD,8CAyBC"}
@@ -1,26 +1,19 @@
1
- declare const dependencies: typeof import("webpack").dependencies;
2
- import type { ObjectDeserializerContext, ObjectSerializerContext } from 'webpack/lib/dependencies/ModuleDependency';
3
- declare class ContainerExposedDependency extends dependencies.ModuleDependency {
4
- exposedName: string;
5
- request: string;
6
- /**
7
- * @param {string} exposedName public name
8
- * @param {string} request request to module
9
- */
10
- constructor(exposedName: string, request: string);
11
- get type(): string;
12
- get category(): string;
13
- /**
14
- * @returns {string | null} an identifier to merge equal requests
15
- */
16
- getResourceIdentifier(): string | null;
17
- /**
18
- * @param {ObjectSerializerContext} context context
19
- */
20
- serialize(context: ObjectSerializerContext): void;
21
- /**
22
- * @param {ObjectDeserializerContext} context context
23
- */
24
- deserialize(context: ObjectDeserializerContext): void;
1
+ export = ContainerExposedDependency;
2
+ /** @typedef {import("webpack/lib/serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
3
+ /** @typedef {import("webpack/lib/serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
4
+ declare class ContainerExposedDependency extends ModuleDependency {
5
+ /**
6
+ * @param {string} exposedName public name
7
+ * @param {string} request request to module
8
+ */
9
+ constructor(exposedName: string, request: string);
10
+ exposedName: string;
25
11
  }
26
- export default ContainerExposedDependency;
12
+ declare namespace ContainerExposedDependency {
13
+ export { ObjectDeserializerContext, ObjectSerializerContext };
14
+ }
15
+ import ModuleDependency = require('webpack/lib/dependencies/ModuleDependency');
16
+ type ObjectDeserializerContext =
17
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
18
+ type ObjectSerializerContext =
19
+ import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
@@ -1,11 +1,34 @@
1
- import type { Compiler } from 'webpack';
2
- import type { ContainerPluginOptions } from '../../declarations/plugins/container/ContainerPlugin';
1
+ export = ContainerPlugin;
3
2
  declare class ContainerPlugin {
4
- _options: ContainerPluginOptions;
5
- /**
6
- * @param {ContainerPluginOptions} options options
7
- */
8
- constructor(options: ContainerPluginOptions);
9
- apply(compiler: Compiler): void;
3
+ /**
4
+ * @param {ContainerPluginOptions} options options
5
+ */
6
+ constructor(options: ContainerPluginOptions);
7
+ name: string;
8
+ _options: {
9
+ name: string;
10
+ shareScope: string;
11
+ library: import('../../declarations/plugins/container/ContainerPlugin').LibraryOptions;
12
+ runtime: import('../../declarations/plugins/container/ContainerPlugin').EntryRuntime;
13
+ filename: string;
14
+ exposes: [
15
+ string,
16
+ {
17
+ import: string[];
18
+ name: any;
19
+ },
20
+ ][];
21
+ };
22
+ /**
23
+ * Apply the plugin
24
+ * @param {Compiler} compiler the compiler instance
25
+ * @returns {void}
26
+ */
27
+ apply(compiler: Compiler): void;
10
28
  }
11
- export default ContainerPlugin;
29
+ declare namespace ContainerPlugin {
30
+ export { ContainerPluginOptions, Compiler };
31
+ }
32
+ type Compiler = import('webpack/lib/Compiler');
33
+ type ContainerPluginOptions =
34
+ import('../../declarations/plugins/container/ContainerPlugin').ContainerPluginOptions;
@@ -12,10 +12,11 @@ const ContainerEntryDependency_1 = __importDefault(require("./ContainerEntryDepe
12
12
  const ContainerEntryModuleFactory_1 = __importDefault(require("./ContainerEntryModuleFactory"));
13
13
  const ContainerExposedDependency_1 = __importDefault(require("./ContainerExposedDependency"));
14
14
  const options_1 = require("./options");
15
+ const FederationRuntimePlugin_1 = __importDefault(require("./runtime/FederationRuntimePlugin"));
16
+ const ContainerPlugin_check_1 = __importDefault(require("../../schemas/container/ContainerPlugin.check"));
17
+ const ContainerPlugin_1 = __importDefault(require("../../schemas/container/ContainerPlugin"));
15
18
  const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
16
- const validate = createSchemaValidation(
17
- //eslint-disable-next-line
18
- require('webpack/schemas/plugins/container/ContainerPlugin.check.js'), () => require('webpack/schemas/plugins/container/ContainerPlugin.json'), {
19
+ const validate = createSchemaValidation(ContainerPlugin_check_1.default, () => ContainerPlugin_1.default, {
19
20
  name: 'Container Plugin',
20
21
  baseDataPath: 'options',
21
22
  });
@@ -26,6 +27,7 @@ class ContainerPlugin {
26
27
  */
27
28
  constructor(options) {
28
29
  validate(options);
30
+ this.name = PLUGIN_NAME;
29
31
  this._options = {
30
32
  name: options.name,
31
33
  shareScope: options.shareScope || 'default',
@@ -43,11 +45,85 @@ class ContainerPlugin {
43
45
  import: Array.isArray(item.import) ? item.import : [item.import],
44
46
  name: item.name || undefined,
45
47
  })),
48
+ runtimePlugins: options.runtimePlugins,
46
49
  };
47
50
  }
51
+ // container should not be affected by splitChunks
52
+ static patchChunkSplit(compiler, name) {
53
+ const { splitChunks } = compiler.options.optimization;
54
+ const patchChunkSplit = (cacheGroup) => {
55
+ switch (typeof cacheGroup) {
56
+ case 'boolean':
57
+ case 'string':
58
+ case 'function':
59
+ break;
60
+ // cacheGroup.chunks 会继承 splitChunks.chunks ,因此只需要对单独设置了 chunks 的 做修改
61
+ case 'object':
62
+ {
63
+ if (cacheGroup instanceof RegExp) {
64
+ break;
65
+ }
66
+ if (!cacheGroup.chunks) {
67
+ break;
68
+ }
69
+ if (typeof cacheGroup.chunks === 'function') {
70
+ const prevChunks = cacheGroup.chunks;
71
+ cacheGroup.chunks = (chunk) => {
72
+ if (chunk.name && chunk.name === name) {
73
+ return false;
74
+ }
75
+ return prevChunks(chunk);
76
+ };
77
+ break;
78
+ }
79
+ if (cacheGroup.chunks === 'all') {
80
+ cacheGroup.chunks = (chunk) => {
81
+ if (chunk.name && chunk.name === name) {
82
+ return false;
83
+ }
84
+ return true;
85
+ };
86
+ break;
87
+ }
88
+ if (cacheGroup.chunks === 'initial') {
89
+ cacheGroup.chunks = (chunk) => {
90
+ if (chunk.name && chunk.name === name) {
91
+ return false;
92
+ }
93
+ return chunk.isOnlyInitial();
94
+ };
95
+ break;
96
+ }
97
+ }
98
+ break;
99
+ }
100
+ };
101
+ if (!splitChunks) {
102
+ return;
103
+ }
104
+ // patch splitChunk.chunks
105
+ patchChunkSplit(splitChunks);
106
+ const cacheGroups = splitChunks.cacheGroups;
107
+ if (!cacheGroups) {
108
+ return;
109
+ }
110
+ // patch splitChunk.cacheGroups[key].chunks
111
+ Object.keys(cacheGroups).forEach((cacheGroupKey) => {
112
+ patchChunkSplit(cacheGroups[cacheGroupKey]);
113
+ });
114
+ }
48
115
  apply(compiler) {
49
- process.env['FEDERATION_WEBPACK_PATH'] =
50
- process.env['FEDERATION_WEBPACK_PATH'] || (0, normalize_webpack_path_1.getWebpackPath)(compiler);
116
+ const useModuleFederationPlugin = compiler.options.plugins.find((p) => {
117
+ if (typeof p !== 'object' || !p) {
118
+ return false;
119
+ }
120
+ return p['name'] === 'ModuleFederationPlugin';
121
+ });
122
+ if (!useModuleFederationPlugin) {
123
+ ContainerPlugin.patchChunkSplit(compiler, this._options.name);
124
+ }
125
+ const federationRuntimePluginInstance = new FederationRuntimePlugin_1.default();
126
+ federationRuntimePluginInstance.apply(compiler);
51
127
  const { name, exposes, shareScope, filename, library, runtime } = this._options;
52
128
  if (library &&
53
129
  compiler.options.output &&
@@ -56,28 +132,52 @@ class ContainerPlugin {
56
132
  compiler.options.output.enabledLibraryTypes.push(library.type);
57
133
  }
58
134
  compiler.hooks.make.tapAsync(PLUGIN_NAME, (compilation, callback) => {
135
+ const dep = new ContainerEntryDependency_1.default(name,
59
136
  //@ts-ignore
60
- const dep = new ContainerEntryDependency_1.default(name, exposes, shareScope);
137
+ exposes, shareScope, federationRuntimePluginInstance.entryFilePath);
138
+ const hasSingleRuntimeChunk = compilation.options?.optimization?.runtimeChunk;
61
139
  dep.loc = { name };
62
140
  compilation.addEntry(compilation.options.context || '',
63
141
  //@ts-ignore
64
142
  dep, {
65
143
  name,
66
144
  filename,
67
- runtime,
145
+ runtime: hasSingleRuntimeChunk ? false : runtime,
68
146
  library,
69
147
  }, (error) => {
70
- if (error) {
148
+ if (error)
71
149
  return callback(error);
150
+ if (hasSingleRuntimeChunk) {
151
+ // Add to single runtime chunk as well.
152
+ // Allows for singleton runtime graph with all needed runtime modules for federation
153
+ addEntryToSingleRuntimeChunk();
154
+ }
155
+ else {
156
+ callback();
72
157
  }
73
- callback();
74
158
  });
159
+ // Function to add entry for undefined runtime
160
+ const addEntryToSingleRuntimeChunk = () => {
161
+ compilation.addEntry(compilation.options.context || '',
162
+ //@ts-ignore
163
+ dep, {
164
+ name: name ? name + '_partial' : undefined, // give unique name name
165
+ runtime: undefined,
166
+ library,
167
+ }, (error) => {
168
+ if (error)
169
+ return callback(error);
170
+ callback();
171
+ });
172
+ };
75
173
  });
76
174
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
77
175
  compilation.dependencyFactories.set(ContainerEntryDependency_1.default,
78
176
  //@ts-ignore
79
177
  new ContainerEntryModuleFactory_1.default());
80
- compilation.dependencyFactories.set(ContainerExposedDependency_1.default, normalModuleFactory);
178
+ compilation.dependencyFactories.set(
179
+ //@ts-ignore
180
+ ContainerExposedDependency_1.default, normalModuleFactory);
81
181
  });
82
182
  }
83
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerPlugin.ts"],"names":[],"mappings":"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"}