@module-federation/enhanced 0.6.0 → 0.6.1

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 (74) hide show
  1. package/dist/package.json +3 -2
  2. package/dist/src/declarations/plugins/container/WebpackError.d.ts +2 -1
  3. package/dist/src/lib/container/ContainerEntryDependency.d.ts +20 -22
  4. package/dist/src/lib/container/ContainerEntryModule.d.ts +77 -70
  5. package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +10 -14
  6. package/dist/src/lib/container/ContainerExposedDependency.d.ts +25 -18
  7. package/dist/src/lib/container/ContainerPlugin.js +4 -12
  8. package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
  9. package/dist/src/lib/container/ContainerReferencePlugin.js +1 -3
  10. package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
  11. package/dist/src/lib/container/FallbackDependency.d.ts +20 -14
  12. package/dist/src/lib/container/FallbackItemDependency.d.ts +10 -3
  13. package/dist/src/lib/container/FallbackModule.d.ts +70 -52
  14. package/dist/src/lib/container/FallbackModuleFactory.d.ts +10 -10
  15. package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +9 -4
  16. package/dist/src/lib/container/HoistContainerReferencesPlugin.js +165 -30
  17. package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -1
  18. package/dist/src/lib/container/ModuleFederationPlugin.js +6 -0
  19. package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
  20. package/dist/src/lib/container/RemoteModule.d.ts +73 -88
  21. package/dist/src/lib/container/RemoteModule.js +0 -1
  22. package/dist/src/lib/container/RemoteModule.js.map +1 -1
  23. package/dist/src/lib/container/RemoteRuntimeModule.d.ts +7 -10
  24. package/dist/src/lib/container/RemoteRuntimeModule.js +10 -0
  25. package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -1
  26. package/dist/src/lib/container/RemoteToExternalDependency.d.ts +9 -3
  27. package/dist/src/lib/container/options.d.ts +3 -12
  28. package/dist/src/lib/container/options.js +6 -7
  29. package/dist/src/lib/container/options.js.map +1 -1
  30. package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.d.ts +21 -0
  31. package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js +215 -0
  32. package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js.map +1 -0
  33. package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.d.ts +9 -0
  34. package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js +81 -0
  35. package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js.map +1 -0
  36. package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.d.ts +7 -0
  37. package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js +38 -0
  38. package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js.map +1 -0
  39. package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +2 -2
  40. package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -1
  41. package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +2 -2
  42. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +96 -38
  43. package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -1
  44. package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +10 -3
  45. package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +104 -97
  46. package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +6 -28
  47. package/dist/src/lib/sharing/ConsumeSharedPlugin.js +1 -3
  48. package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
  49. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +11 -29
  50. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +7 -0
  51. package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
  52. package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +11 -3
  53. package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +37 -35
  54. package/dist/src/lib/sharing/ProvideSharedModule.d.ts +83 -65
  55. package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +10 -17
  56. package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +19 -37
  57. package/dist/src/lib/sharing/ProvideSharedPlugin.js +1 -3
  58. package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
  59. package/dist/src/lib/sharing/SharePlugin.d.ts +13 -39
  60. package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +7 -12
  61. package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +8 -12
  62. package/dist/src/lib/sharing/utils.d.ts +29 -21
  63. package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.d.ts +11 -0
  64. package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js +94 -0
  65. package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js.map +1 -0
  66. package/dist/src/lib/startup/StartupHelpers.d.ts +6 -0
  67. package/dist/src/lib/startup/StartupHelpers.js +190 -0
  68. package/dist/src/lib/startup/StartupHelpers.js.map +1 -0
  69. package/dist/src/webpack.js.map +1 -1
  70. package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +5 -2
  71. package/dist/src/wrapper/HoistContainerReferencesPlugin.js +7 -3
  72. package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -1
  73. package/package.json +10 -9
  74. package/dist/src/declarations/plugins/container/Module.d.ts +0 -138
@@ -4,56 +4,191 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HoistContainerReferences = void 0;
7
+ const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
7
8
  const ContainerEntryModule_1 = __importDefault(require("./ContainerEntryModule"));
9
+ const { NormalModule, AsyncDependenciesBlock } = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack'));
10
+ const ConcatenatedModule = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/optimize/ConcatenatedModule'));
11
+ const PLUGIN_NAME = 'HoistContainerReferences';
8
12
  /**
9
13
  * This class is used to hoist container references in the code.
10
14
  * @constructor
11
15
  */
12
16
  class HoistContainerReferences {
13
- constructor(name) {
14
- this.containerName = name;
17
+ constructor(name, entryFilePath, bundlerRuntimeDep) {
18
+ this.containerName = name || 'no known chunk name';
19
+ this.entryFilePath = entryFilePath;
20
+ this.bundlerRuntimeDep = bundlerRuntimeDep;
21
+ this.explanation =
22
+ 'Bundler runtime path module is required for proper functioning';
15
23
  }
16
24
  apply(compiler) {
17
- compiler.hooks.thisCompilation.tap('HoistContainerReferences', (compilation) => {
18
- compilation.hooks.afterOptimizeChunks.tap('HoistContainerReferences', (chunks) => {
19
- for (const chunk of chunks) {
20
- if (this.chunkContainsContainerEntryModule(chunk, compilation)) {
21
- this.hoistModulesInChunk(chunk, compilation);
25
+ compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
26
+ const logger = compilation.getLogger(PLUGIN_NAME);
27
+ const { chunkGraph, moduleGraph } = compilation;
28
+ // Hook into the optimizeChunks phase
29
+ compilation.hooks.optimizeChunks.tap({
30
+ name: PLUGIN_NAME,
31
+ // advanced stage is where SplitChunksPlugin runs.
32
+ stage: 11, // advanced + 1
33
+ }, (chunks) => {
34
+ const runtimeChunks = this.getRuntimeChunks(compilation);
35
+ this.hoistModulesInChunks(compilation, runtimeChunks, chunks, logger);
36
+ });
37
+ // Hook into the optimizeDependencies phase
38
+ compilation.hooks.optimizeDependencies.tap({
39
+ name: PLUGIN_NAME,
40
+ // basic optimization stage - it runs first
41
+ stage: -10,
42
+ }, (modules) => {
43
+ if (this.entryFilePath) {
44
+ let runtime;
45
+ for (const [name, { options }] of compilation.entries) {
46
+ runtime = compiler.webpack.util.runtime.mergeRuntimeOwned(runtime, compiler.webpack.util.runtime.getEntryRuntime(compilation, name, options));
47
+ }
48
+ for (const module of modules) {
49
+ if (module instanceof NormalModule &&
50
+ module.resource === this.bundlerRuntimeDep) {
51
+ const allRefs = this.getAllReferencedModules(compilation, module, 'initial');
52
+ for (const module of allRefs) {
53
+ const exportsInfo = moduleGraph.getExportsInfo(module);
54
+ // Since i dont use the import federation var, tree shake will eliminate it.
55
+ // also because currently the runtime is copied into all runtime chunks
56
+ // some might not have the runtime import in the tree to begin with
57
+ exportsInfo.setUsedInUnknownWay(runtime);
58
+ moduleGraph.addExtraReason(module, this.explanation);
59
+ if (module.factoryMeta === undefined) {
60
+ module.factoryMeta = {};
61
+ }
62
+ module.factoryMeta.sideEffectFree = false;
63
+ }
64
+ }
22
65
  }
23
66
  }
24
67
  });
25
68
  });
26
69
  }
27
- chunkContainsContainerEntryModule(chunk, compilation) {
28
- for (const module of compilation.chunkGraph.getChunkModulesIterable(chunk)) {
29
- if (module instanceof ContainerEntryModule_1.default) {
30
- return true;
70
+ // Helper method to collect all referenced modules recursively
71
+ getAllReferencedModules(compilation, module, type) {
72
+ const collectedModules = new Set([module]);
73
+ const stack = [module];
74
+ while (stack.length > 0) {
75
+ const currentModule = stack.pop();
76
+ if (!currentModule)
77
+ continue;
78
+ const mgm = compilation.moduleGraph._getModuleGraphModule(currentModule);
79
+ if (mgm && mgm.outgoingConnections) {
80
+ for (const connection of mgm.outgoingConnections) {
81
+ if (type === 'initial') {
82
+ const parentBlock = compilation.moduleGraph.getParentBlock(connection.dependency);
83
+ if (parentBlock instanceof AsyncDependenciesBlock) {
84
+ continue;
85
+ }
86
+ }
87
+ if (connection.module && !collectedModules.has(connection.module)) {
88
+ collectedModules.add(connection.module);
89
+ stack.push(connection.module);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ return collectedModules;
95
+ }
96
+ // Helper method to find a specific module in a chunk
97
+ findModule(compilation, chunk, entryFilePath) {
98
+ const { chunkGraph } = compilation;
99
+ let module = null;
100
+ for (const mod of chunkGraph.getChunkEntryModulesIterable(chunk)) {
101
+ if (mod instanceof NormalModule && mod.resource === entryFilePath) {
102
+ module = mod;
103
+ break;
104
+ }
105
+ if (mod instanceof ConcatenatedModule) {
106
+ for (const m of mod.modules) {
107
+ if (m instanceof NormalModule && m.resource === entryFilePath) {
108
+ module = mod;
109
+ break;
110
+ }
111
+ }
31
112
  }
32
113
  }
33
- return false;
114
+ return module;
34
115
  }
35
- hoistModulesInChunk(chunk, compilation) {
36
- const chunkGraph = compilation.chunkGraph;
37
- const runtimeChunks = this.getRuntimeChunks(chunk, compilation);
38
- for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
39
- if (!chunk.hasRuntime() &&
40
- (!this.containerName ||
41
- (chunk.name !== this.containerName &&
42
- chunk.name !== this.containerName + '_partial'))) {
43
- chunkGraph.disconnectChunkAndModule(chunk, module);
116
+ // Method to hoist modules in chunks
117
+ hoistModulesInChunks(compilation, runtimeChunks, chunks, logger) {
118
+ const { chunkGraph, moduleGraph } = compilation;
119
+ // when runtimeChunk: single is set - ContainerPlugin will create a "partial" chunk we can use to
120
+ // move modules into the runtime chunk
121
+ const partialChunk = this.containerName
122
+ ? compilation.namedChunks.get(this.containerName)
123
+ : undefined;
124
+ let runtimeModule;
125
+ if (!partialChunk) {
126
+ for (const chunk of chunks) {
127
+ if (chunkGraph.getNumberOfEntryModules(chunk) > 0 &&
128
+ this.entryFilePath) {
129
+ runtimeModule = this.findModule(compilation, chunk, this.entryFilePath);
130
+ if (runtimeModule)
131
+ break;
132
+ }
44
133
  }
45
- for (const runtimeChunk of runtimeChunks) {
46
- if (chunkGraph.isModuleInChunk(module, runtimeChunk))
47
- continue;
48
- chunkGraph.connectChunkAndModule(runtimeChunk, module);
134
+ }
135
+ else {
136
+ const entryModules = chunkGraph.getChunkEntryModulesIterable(partialChunk);
137
+ runtimeModule = entryModules
138
+ ? Array.from(entryModules).find((module) => module instanceof ContainerEntryModule_1.default)
139
+ : undefined;
140
+ }
141
+ if (!runtimeModule) {
142
+ logger.error('[Federation HoistContainerReferences] unable to find runtime module:', this.entryFilePath);
143
+ return;
144
+ }
145
+ const allReferencedModules = this.getAllReferencedModules(compilation, runtimeModule, 'initial');
146
+ // If single runtime chunk, copy the remoteEntry into the runtime chunk to allow for embed container
147
+ // this will not work well if there multiple runtime chunks from entrypoints (like next)
148
+ // need better solution to multi runtime chunk hoisting
149
+ if (partialChunk) {
150
+ for (const module of chunkGraph.getChunkModulesIterable(partialChunk)) {
151
+ allReferencedModules.add(module);
152
+ }
153
+ }
154
+ for (const chunk of runtimeChunks) {
155
+ for (const module of allReferencedModules) {
156
+ if (!chunkGraph.isModuleInChunk(module, chunk)) {
157
+ chunkGraph.connectChunkAndModule(chunk, module);
158
+ }
159
+ }
160
+ }
161
+ // Set used exports for the runtime module
162
+ this.cleanUpChunks(compilation, allReferencedModules);
163
+ }
164
+ // Method to clean up chunks by disconnecting unused modules
165
+ cleanUpChunks(compilation, modules) {
166
+ const { chunkGraph } = compilation;
167
+ for (const module of modules) {
168
+ for (const chunk of chunkGraph.getModuleChunks(module)) {
169
+ if (!chunk.hasRuntime()) {
170
+ chunkGraph.disconnectChunkAndModule(chunk, module);
171
+ if (chunkGraph.getNumberOfChunkModules(chunk) === 0 &&
172
+ chunkGraph.getNumberOfEntryModules(chunk) === 0) {
173
+ chunkGraph.disconnectChunk(chunk);
174
+ compilation.chunks.delete(chunk);
175
+ if (chunk.name) {
176
+ compilation.namedChunks.delete(chunk.name);
177
+ }
178
+ }
179
+ }
49
180
  }
50
181
  }
182
+ modules.clear();
51
183
  }
52
- getRuntimeChunks(chunk, compilation) {
53
- const runtimeChunks = [];
54
- for (const c of compilation.chunks) {
55
- if (c.hasRuntime() && c !== chunk) {
56
- runtimeChunks.push(c);
184
+ // Helper method to get runtime chunks from the compilation
185
+ getRuntimeChunks(compilation) {
186
+ const runtimeChunks = new Set();
187
+ const entries = compilation.entrypoints;
188
+ for (const entrypoint of entries.values()) {
189
+ const runtimeChunk = entrypoint.getRuntimeChunk();
190
+ if (runtimeChunk) {
191
+ runtimeChunks.add(runtimeChunk);
57
192
  }
58
193
  }
59
194
  return runtimeChunks;
@@ -1 +1 @@
1
- {"version":3,"file":"HoistContainerReferencesPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/HoistContainerReferencesPlugin.ts"],"names":[],"mappings":";;;;;;AAMA,kFAA0D;AAE1D;;;GAGG;AACH,MAAa,wBAAwB;IAGnC,YAAY,IAAyB;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChC,0BAA0B,EAC1B,CAAC,WAAwB,EAAE,EAAE;YAC3B,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CACvC,0BAA0B,EAC1B,CAAC,MAAuB,EAAE,EAAE;gBAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,iCAAiC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,iCAAiC,CACvC,KAAY,EACZ,WAAwB;QAExB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,uBAAuB,CACjE,KAAK,CACN,EAAE,CAAC;YACF,IAAI,MAAM,YAAY,8BAAoB,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,KAAY,EAAE,WAAwB;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEhE,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IACE,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnB,CAAC,CAAC,IAAI,CAAC,aAAa;oBAClB,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa;wBAChC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,EACpD,CAAC;gBACD,UAAU,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;oBAAE,SAAS;gBAC/D,UAAU,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAY,EAAE,WAAwB;QAC7D,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AArED,4DAqEC;AAED,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"HoistContainerReferencesPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/HoistContainerReferencesPlugin.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const ContainerPlugin_1 = __importDefault(require("./ContainerPlugin"));
17
17
  const ContainerReferencePlugin_1 = __importDefault(require("./ContainerReferencePlugin"));
18
18
  const FederationRuntimePlugin_1 = __importDefault(require("./runtime/FederationRuntimePlugin"));
19
19
  const RemoteEntryPlugin_1 = require("./runtime/RemoteEntryPlugin");
20
+ const MfStartupChunkDependenciesPlugin_1 = __importDefault(require("../startup/MfStartupChunkDependenciesPlugin"));
20
21
  const isValidExternalsType = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/container/ExternalsType.check.js'));
21
22
  class ModuleFederationPlugin {
22
23
  /**
@@ -45,6 +46,11 @@ class ModuleFederationPlugin {
45
46
  if (options.getPublicPath && options.name) {
46
47
  new RemoteEntryPlugin_1.RemoteEntryPlugin(options.name, options.getPublicPath).apply(compiler);
47
48
  }
49
+ if (options.experiments?.federationRuntime === 'hoisted') {
50
+ new MfStartupChunkDependenciesPlugin_1.default({
51
+ asyncChunkLoading: true,
52
+ }).apply(compiler);
53
+ }
48
54
  if (options.dts !== false) {
49
55
  new dts_plugin_1.DtsPlugin(options).apply(compiler);
50
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleFederationPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleFederationPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,90 +1,75 @@
1
- export default RemoteModule;
1
+ import type { Compilation, WebpackOptionsNormalized } from 'webpack';
2
+ import type { CodeGenerationContext, CodeGenerationResult, LibIdentOptions, NeedBuildContext, WebpackError } from 'webpack/lib/Module';
3
+ import type { ResolverWithOptions } from 'webpack/lib/ResolverFactory';
4
+ import type { InputFileSystem } from 'webpack/lib/FileSystemInfo';
5
+ import type { RequestShortener } from 'webpack/lib/RuntimeModule';
6
+ import type { ObjectDeserializerContext } from 'webpack/lib/serialization/ObjectMiddleware';
7
+ declare const Module: typeof import("webpack").Module;
2
8
  declare class RemoteModule extends Module {
3
- /**
4
- * @param {ObjectDeserializerContext} context context
5
- * @returns {RemoteModule} deserialized module
6
- */
7
- static deserialize(context: ObjectDeserializerContext): RemoteModule;
8
- /**
9
- * @param {string} request request string
10
- * @param {string[]} externalRequests list of external requests to containers
11
- * @param {string} internalRequest name of exposed module in container
12
- * @param {string} shareScope the used share scope name
13
- */
14
- constructor(
15
- request: string,
16
- externalRequests: string[],
17
- internalRequest: string,
18
- shareScope: string,
19
- );
20
- request: string;
21
- externalRequests: string[];
22
- internalRequest: string;
23
- shareScope: string;
24
- _identifier: string;
25
- /**
26
- * @param {NeedBuildContext} context context info
27
- * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
28
- * @returns {void}
29
- */
30
- needBuild(
31
- context: NeedBuildContext,
32
- callback: (
33
- arg0: (WebpackError | null) | undefined,
34
- arg1: boolean | undefined,
35
- ) => void,
36
- ): void;
37
- /**
38
- * @param {WebpackOptions} options webpack options
39
- * @param {Compilation} compilation the compilation
40
- * @param {ResolverWithOptions} resolver the resolver
41
- * @param {InputFileSystem} fs the file system
42
- * @param {function(WebpackError=): void} callback callback function
43
- * @returns {void}webpack
44
- */
45
- build(
46
- options: WebpackOptions,
47
- compilation: Compilation,
48
- resolver: ResolverWithOptions,
49
- fs: InputFileSystem,
50
- callback: (arg0: WebpackError | undefined) => void,
51
- ): void;
52
- }
53
- declare namespace RemoteModule {
54
- export {
55
- WebpackOptionsohunkGraph,
56
- ChunkGroup,
57
- Compilation,
58
- CodeGenerationContext,
59
- CodeGenerationResult,
60
- LibIdentOptions,
61
- NeedBuildContext,
62
- RequestShortener,
63
- ResolverWithOptions,
64
- WebpackError,
65
- ObjectDeserializerContext,
66
- ObjectSerializerContext,
67
- Hash,
68
- InputFileSystem,
69
- };
9
+ private _identifier;
10
+ request: string;
11
+ externalRequests: string[];
12
+ internalRequest: string;
13
+ shareScope: string;
14
+ /**
15
+ * @param {string} request request string
16
+ * @param {string[]} externalRequests list of external requests to containers
17
+ * @param {string} internalRequest name of exposed module in container
18
+ * @param {string} shareScope the used share scope name
19
+ */
20
+ constructor(request: string, externalRequests: string[], internalRequest: string, shareScope: string);
21
+ /**
22
+ * @returns {string} a unique identifier of the module
23
+ */
24
+ identifier(): string;
25
+ /**
26
+ * @param {RequestShortener} requestShortener the request shortener
27
+ * @returns {string} a user readable identifier of the module
28
+ */
29
+ readableIdentifier(requestShortener: RequestShortener): string;
30
+ /**
31
+ * @param {LibIdentOptions} options options
32
+ * @returns {string | null} an identifier for library inclusion
33
+ */
34
+ libIdent(options: LibIdentOptions): string | null;
35
+ /**
36
+ * @param {NeedBuildContext} context context info
37
+ * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
38
+ * @returns {void}
39
+ */
40
+ needBuild(context: NeedBuildContext, callback: (err: WebpackError | null, needsRebuild?: boolean) => void): void;
41
+ /**
42
+ * @param {WebpackOptions} options webpack options
43
+ * @param {Compilation} compilation the compilation
44
+ * @param {ResolverWithOptions} resolver the resolver
45
+ * @param {InputFileSystem} fs the file system
46
+ * @param {function(WebpackError=): void} callback callback function
47
+ * @returns {void}
48
+ */
49
+ build(options: WebpackOptionsNormalized, compilation: Compilation, resolver: ResolverWithOptions, fs: InputFileSystem, callback: (err?: WebpackError | undefined) => void): void;
50
+ /**
51
+ * @param {string=} type the source type for which the size should be estimated
52
+ * @returns {number} the estimated size of the module (must be non-zero)
53
+ */
54
+ size(type?: string): number;
55
+ /**
56
+ * @returns {Set<string>} types available (do not mutate)
57
+ */
58
+ getSourceTypes(): Set<string>;
59
+ /**
60
+ * @returns {string | null} absolute path which should be used for condition matching (usually the resource path)
61
+ */
62
+ nameForCondition(): string | null;
63
+ /**
64
+ * @param {CodeGenerationContext} context context for code generation
65
+ * @returns {CodeGenerationResult} result
66
+ */
67
+ codeGeneration(context: CodeGenerationContext): CodeGenerationResult;
68
+ serialize(context: any): void;
69
+ /**
70
+ * @param {ObjectDeserializerContext} context context
71
+ * @returns {RemoteModule} deserialized module
72
+ */
73
+ static deserialize(context: ObjectDeserializerContext): RemoteModule;
70
74
  }
71
- import Module = require('webpack/lib/Module');
72
- type NeedBuildContext = import('webpack/lib/Module').NeedBuildContext;
73
- type WebpackError = import('webpack/lib/WebpackError');
74
- type WebpackOptions =
75
- import('webpack/declarations/WebpackOptions').WebpackOptionsNormalized;
76
- type Compilation = import('webpack/lib/Compilation');
77
- type ResolverWithOptions =
78
- import('webpack/lib/ResolverFactory').ResolverWithOptions;
79
- type InputFileSystem = import('webpack/lib/util/fs').InputFileSystem;
80
- type ObjectDeserializerContext =
81
- import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;
82
- type ChunkGraph = import('webpack/lib/ChunkGraph');
83
- type ChunkGroup = import('webpack/lib/ChunkGroup');
84
- type CodeGenerationContext = import('webpack/lib/Module').CodeGenerationContext;
85
- type CodeGenerationResult = import('webpack/lib/Module').CodeGenerationResult;
86
- type LibIdentOptions = import('webpack/lib/Module').LibIdentOptions;
87
- type RequestShortener = import('webpack/lib/RequestShortener');
88
- type ObjectSerializerContext =
89
- import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;
90
- type Hash = import('webpack/lib/util/Hash');
75
+ export default RemoteModule;
@@ -56,7 +56,6 @@ class RemoteModule extends Module {
56
56
  * @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
57
57
  * @returns {void}
58
58
  */
59
- // @ts-ignore
60
59
  needBuild(context, callback) {
61
60
  callback(null, !this.buildInfo);
62
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteModule.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- export default RemoteRuntimeModule;
2
- /** @typedef {import("webpack/lib/Chunk")} Chunk */
3
- /** @typedef {import("./RemoteModule")} RemoteModule */
1
+ declare const RuntimeModule: typeof import("webpack").RuntimeModule;
4
2
  declare class RemoteRuntimeModule extends RuntimeModule {
5
- constructor();
6
- }
7
- declare namespace RemoteRuntimeModule {
8
- export { Chunk, RemoteModule };
3
+ constructor();
4
+ /**
5
+ * @returns {string | null} runtime code
6
+ */
7
+ generate(): string | null;
9
8
  }
10
- import RuntimeModule = require('webpack/lib/RuntimeModule');
11
- type Chunk = import('webpack/lib/Chunk');
12
- type RemoteModule = import('./RemoteModule');
9
+ export default RemoteRuntimeModule;
@@ -21,6 +21,16 @@ class RemoteRuntimeModule extends RuntimeModule {
21
21
  const chunkToRemotesMapping = {};
22
22
  const idToExternalAndNameMapping = {};
23
23
  const idToRemoteMap = {};
24
+ // let chunkReferences: Set<Chunk> = new Set();
25
+ // if (this.chunk && chunkGraph) {
26
+ // const requirements = chunkGraph.getTreeRuntimeRequirements(this.chunk);
27
+ // if (requirements.has('federation-entry-startup')) {
28
+ // chunkReferences = this.chunk.getAllReferencedChunks();
29
+ // } else {
30
+ // // remote entry doesnt need federation startup, can have async chunk map only
31
+ // chunkReferences = this.chunk.getAllAsyncChunks();
32
+ // }
33
+ // }
24
34
  const allChunks = [
25
35
  ...Array.from(this.chunk?.getAllReferencedChunks() || []),
26
36
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteRuntimeModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteRuntimeModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
+ declare const dependencies: typeof import("webpack").dependencies;
2
+ declare class RemoteToExternalDependency extends dependencies.ModuleDependency {
3
+ /**
4
+ * @param {string} request request
5
+ */
6
+ constructor(request: string);
7
+ get type(): string;
8
+ get category(): string;
9
+ }
1
10
  export default RemoteToExternalDependency;
2
- declare class RemoteToExternalDependency extends ModuleDependency {}
3
- // eslint-disable-next-line @typescript-eslint/no-restricted-imports
4
- import ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';
@@ -1,6 +1,4 @@
1
- export type ContainerOptionsFormat<T> =
2
- | (string | Record<string, string | string[] | T>)[]
3
- | Record<string, string | string[] | T>;
1
+ export type ContainerOptionsFormat<T> = (string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>;
4
2
  /**
5
3
  * @template T
6
4
  * @template R
@@ -9,18 +7,11 @@ export type ContainerOptionsFormat<T> =
9
7
  * @param {function(T, string) : R} normalizeOptions normalize a complex item
10
8
  * @returns {[string, R][]} parsed options
11
9
  */
12
- export function parseOptions<T, R>(
13
- options: ContainerOptionsFormat<T>,
14
- normalizeSimple: (arg0: string | string[], arg1: string) => R,
15
- normalizeOptions: (arg0: T, arg1: string) => R,
16
- ): [string, R][];
10
+ export declare function parseOptions<T, R>(options: ContainerOptionsFormat<T>, normalizeSimple: (item: string | string[], name: string) => R, normalizeOptions: (item: T, name: string) => R): [string, R][];
17
11
  /**
18
12
  * @template T
19
13
  * @param {string} scope scope name
20
14
  * @param {ContainerOptionsFormat<T>} options options passed by the user
21
15
  * @returns {Record<string, string | string[] | T>} options to spread or pass
22
16
  */
23
- export function scope<T>(
24
- scope: string,
25
- options: ContainerOptionsFormat<T>,
26
- ): Record<string, string | string[] | T>;
17
+ export declare function scope<T>(scope: string, options: ContainerOptionsFormat<T>): Record<string, string | string[] | T>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scope = exports.parseOptions = void 0;
3
+ exports.parseOptions = parseOptions;
4
+ exports.scope = scope;
4
5
  /** @template T @typedef {(string | Record<string, string | string[] | T>)[] | Record<string, string | string[] | T>} ContainerOptionsFormat */
5
6
  /**
6
7
  * @template T
@@ -56,26 +57,24 @@ const process = (options, normalizeSimple, normalizeOptions, fn) => {
56
57
  * @param {function(T, string) : R} normalizeOptions normalize a complex item
57
58
  * @returns {[string, R][]} parsed options
58
59
  */
59
- const parseOptions = (options, normalizeSimple, normalizeOptions) => {
60
+ function parseOptions(options, normalizeSimple, normalizeOptions) {
60
61
  const items = [];
61
62
  process(options, normalizeSimple, normalizeOptions, (key, value) => {
62
63
  items.push([key, value]);
63
64
  });
64
65
  return items;
65
- };
66
- exports.parseOptions = parseOptions;
66
+ }
67
67
  /**
68
68
  * @template T
69
69
  * @param {string} scope scope name
70
70
  * @param {ContainerOptionsFormat<T>} options options passed by the user
71
71
  * @returns {Record<string, string | string[] | T>} options to spread or pass
72
72
  */
73
- const scope = (scope, options) => {
73
+ function scope(scope, options) {
74
74
  const obj = {};
75
75
  process(options, (item) => item, (item) => item, (key, value) => {
76
76
  obj[key.startsWith('./') ? `${scope}${key.slice(1)}` : `${scope}/${key}`] = value;
77
77
  });
78
78
  return obj;
79
- };
80
- exports.scope = scope;
79
+ }
81
80
  //# sourceMappingURL=options.js.map