@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.
- package/dist/package.json +3 -2
- package/dist/src/declarations/plugins/container/WebpackError.d.ts +2 -1
- package/dist/src/lib/container/ContainerEntryDependency.d.ts +20 -22
- package/dist/src/lib/container/ContainerEntryModule.d.ts +77 -70
- package/dist/src/lib/container/ContainerEntryModuleFactory.d.ts +10 -14
- package/dist/src/lib/container/ContainerExposedDependency.d.ts +25 -18
- package/dist/src/lib/container/ContainerPlugin.js +4 -12
- package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
- package/dist/src/lib/container/ContainerReferencePlugin.js +1 -3
- package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
- package/dist/src/lib/container/FallbackDependency.d.ts +20 -14
- package/dist/src/lib/container/FallbackItemDependency.d.ts +10 -3
- package/dist/src/lib/container/FallbackModule.d.ts +70 -52
- package/dist/src/lib/container/FallbackModuleFactory.d.ts +10 -10
- package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +9 -4
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js +165 -30
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -1
- package/dist/src/lib/container/ModuleFederationPlugin.js +6 -0
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/lib/container/RemoteModule.d.ts +73 -88
- package/dist/src/lib/container/RemoteModule.js +0 -1
- package/dist/src/lib/container/RemoteModule.js.map +1 -1
- package/dist/src/lib/container/RemoteRuntimeModule.d.ts +7 -10
- package/dist/src/lib/container/RemoteRuntimeModule.js +10 -0
- package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/RemoteToExternalDependency.d.ts +9 -3
- package/dist/src/lib/container/options.d.ts +3 -12
- package/dist/src/lib/container/options.js +6 -7
- package/dist/src/lib/container/options.js.map +1 -1
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.d.ts +21 -0
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js +215 -0
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js.map +1 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.d.ts +9 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js +81 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js.map +1 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.d.ts +7 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js +38 -0
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js.map +1 -0
- package/dist/src/lib/container/runtime/FederationRuntimeModule.d.ts +2 -2
- package/dist/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +2 -2
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +96 -38
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +10 -3
- package/dist/src/lib/sharing/ConsumeSharedModule.d.ts +104 -97
- package/dist/src/lib/sharing/ConsumeSharedPlugin.d.ts +6 -28
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +1 -3
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +11 -29
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +7 -0
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/ProvideForSharedDependency.d.ts +11 -3
- package/dist/src/lib/sharing/ProvideSharedDependency.d.ts +37 -35
- package/dist/src/lib/sharing/ProvideSharedModule.d.ts +83 -65
- package/dist/src/lib/sharing/ProvideSharedModuleFactory.d.ts +10 -17
- package/dist/src/lib/sharing/ProvideSharedPlugin.d.ts +19 -37
- package/dist/src/lib/sharing/ProvideSharedPlugin.js +1 -3
- package/dist/src/lib/sharing/ProvideSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/SharePlugin.d.ts +13 -39
- package/dist/src/lib/sharing/ShareRuntimeModule.d.ts +7 -12
- package/dist/src/lib/sharing/resolveMatchedConfigs.d.ts +8 -12
- package/dist/src/lib/sharing/utils.d.ts +29 -21
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.d.ts +11 -0
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js +94 -0
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js.map +1 -0
- package/dist/src/lib/startup/StartupHelpers.d.ts +6 -0
- package/dist/src/lib/startup/StartupHelpers.js +190 -0
- package/dist/src/lib/startup/StartupHelpers.js.map +1 -0
- package/dist/src/webpack.js.map +1 -1
- package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +5 -2
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js +7 -3
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -1
- package/package.json +10 -9
- 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(
|
|
18
|
-
compilation.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
114
|
+
return module;
|
|
34
115
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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":";;;;;;
|
|
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":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AACb,8DAA0D;AAC1D,0DAAsE;AACtE,0DAA0D;AAC1D,gDAGgC;AAChC,0FAAqF;AAErF,yEAAiD;AACjD,wEAAgD;AAChD,0FAAkE;AAClE,gGAAwE;AACxE,mEAAgE;
|
|
1
|
+
{"version":3,"file":"ModuleFederationPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,90 +1,75 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
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":";;;;;AAAA;;;EAGE;AACF,0FAAqF;AASrF,8EAAsD;AACtD,8FAAsE;AACtE,4CAA0D;AAM1D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CACzC,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAC9B,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CACxC,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAC9B,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CACJ,CAAC;AAExD,MAAM,KAAK,GAAgB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7D,MAAM,oBAAoB,GAAgB,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3E,MAAM,YAAa,SAAQ,MAAM;IAO/B;;;;;OAKG;IACH,YACE,OAAe,EACf,gBAA0B,EAC1B,eAAuB,EACvB,UAAkB;QAElB,KAAK,CAAC,sCAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACrE,GAAG,CACJ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACM,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACM,kBAAkB,CAAC,gBAAkC;QAC5D,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACM,QAAQ,CAAC,OAAwB;QACxC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,4BAC5C,IAAI,CAAC,OACP,EAAE,CAAC;IACL,CAAC;IAED;;;;OAIG;
|
|
1
|
+
{"version":3,"file":"RemoteModule.js","sourceRoot":"","sources":["../../../../src/lib/container/RemoteModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
constructor();
|
|
4
|
+
/**
|
|
5
|
+
* @returns {string | null} runtime code
|
|
6
|
+
*/
|
|
7
|
+
generate(): string | null;
|
|
9
8
|
}
|
|
10
|
-
|
|
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":";;AAAA;;;EAGE;AACF,0FAAqF;AAGrF,2CAA2D;AAM3D,MAAM,mBAAmB,GAAG,OAAO,CACjC,IAAA,6CAAoB,EAAC,sCAAsC,CAAC,CACJ,CAAC;AAE3D,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CACzD,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,mBAAoB,SAAQ,aAAa;IAC7C;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,WAA0B,CAAC;QACpE,MAAM,qBAAqB,GAAwB,EAAE,CAAC;QACtD,MAAM,0BAA0B,GAAiC,EAAE,CAAC;QACpE,MAAM,aAAa,GAAoC,EAAE,CAAC;
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|