@module-federation/enhanced 0.6.6 → 0.6.8
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 -3
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryDependency.d.ts +5 -1
- package/dist/src/lib/container/ContainerEntryDependency.js +3 -1
- package/dist/src/lib/container/ContainerEntryDependency.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryModule.d.ts +5 -1
- package/dist/src/lib/container/ContainerEntryModule.js +21 -13
- package/dist/src/lib/container/ContainerEntryModule.js.map +1 -1
- package/dist/src/lib/container/ContainerEntryModuleFactory.js +1 -1
- package/dist/src/lib/container/ContainerEntryModuleFactory.js.map +1 -1
- package/dist/src/lib/container/ContainerPlugin.d.ts +0 -3
- package/dist/src/lib/container/ContainerPlugin.js +63 -30
- package/dist/src/lib/container/ContainerPlugin.js.map +1 -1
- package/dist/src/lib/container/ContainerReferencePlugin.js.map +1 -1
- package/dist/src/lib/container/HoistContainerReferencesPlugin.d.ts +1 -10
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js +63 -113
- package/dist/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -1
- package/dist/src/lib/container/ModuleFederationPlugin.js +4 -1
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/lib/container/RemoteModule.js +1 -2
- package/dist/src/lib/container/RemoteModule.js.map +1 -1
- package/dist/src/lib/container/RemoteRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.d.ts +0 -1
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js +1 -2
- package/dist/src/lib/container/runtime/ChildCompilationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.d.ts +4 -3
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js +19 -58
- package/dist/src/lib/container/runtime/EmbedFederationRuntimeModule.js.map +1 -1
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.d.ts +0 -2
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js +10 -8
- package/dist/src/lib/container/runtime/EmbedFederationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/FederationModulesPlugin.d.ts +20 -0
- package/dist/src/lib/container/runtime/FederationModulesPlugin.js +39 -0
- package/dist/src/lib/container/runtime/FederationModulesPlugin.js.map +1 -0
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.d.ts +6 -0
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.js +14 -0
- package/dist/src/lib/container/runtime/FederationRuntimeDependency.js.map +1 -0
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.d.ts +3 -0
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js +58 -31
- package/dist/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js +0 -1
- package/dist/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js +0 -1
- package/dist/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -1
- package/dist/src/lib/sharing/ShareRuntimeModule.js +3 -5
- package/dist/src/lib/sharing/ShareRuntimeModule.js.map +1 -1
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js +2 -23
- package/dist/src/lib/startup/MfStartupChunkDependenciesPlugin.js.map +1 -1
- package/dist/src/lib/startup/StartupHelpers.js +1 -11
- package/dist/src/lib/startup/StartupHelpers.js.map +1 -1
- package/dist/src/schemas/container/ContainerPlugin.check.js +91 -1
- package/dist/src/schemas/container/ContainerPlugin.check.js.map +1 -1
- package/dist/src/schemas/container/ContainerPlugin.d.ts +15 -0
- package/dist/src/schemas/container/ContainerPlugin.js +9 -0
- package/dist/src/schemas/container/ContainerPlugin.js.map +1 -1
- package/dist/src/wrapper/FederationModulesPlugin.d.ts +10 -0
- package/dist/src/wrapper/FederationModulesPlugin.js +23 -0
- package/dist/src/wrapper/FederationModulesPlugin.js.map +1 -0
- package/dist/src/wrapper/HoistContainerReferencesPlugin.d.ts +1 -5
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js +2 -7
- package/dist/src/wrapper/HoistContainerReferencesPlugin.js.map +1 -1
- package/package.json +10 -10
- package/dist/src/declarations/plugins/container/Dependency.d.ts +0 -285
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/enhanced",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"main": "./src/index.js",
|
|
3
|
+
"version": "0.6.8",
|
|
4
|
+
"main": "./dist/src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/module-federation/core/tree/main/packages/enhanced",
|
|
7
7
|
"files": [
|
|
@@ -92,4 +92,4 @@
|
|
|
92
92
|
"btoa": "^1.2.1"
|
|
93
93
|
},
|
|
94
94
|
"type": "commonjs"
|
|
95
|
-
}
|
|
95
|
+
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,9 +5,13 @@ export { default as SharePlugin } from './wrapper/SharePlugin';
|
|
|
5
5
|
export { default as ContainerPlugin } from './wrapper/ContainerPlugin';
|
|
6
6
|
export { default as ConsumeSharedPlugin } from './wrapper/ConsumeSharedPlugin';
|
|
7
7
|
export { default as ProvideSharedPlugin } from './wrapper/ProvideSharedPlugin';
|
|
8
|
+
export { default as FederationModulesPlugin } from './wrapper/FederationModulesPlugin';
|
|
8
9
|
export { default as FederationRuntimePlugin } from './wrapper/FederationRuntimePlugin';
|
|
9
10
|
export { default as AsyncBoundaryPlugin } from './wrapper/AsyncBoundaryPlugin';
|
|
10
11
|
export { default as HoistContainerReferencesPlugin } from './wrapper/HoistContainerReferencesPlugin';
|
|
12
|
+
export declare const dependencies: {
|
|
13
|
+
readonly ContainerEntryDependency: any;
|
|
14
|
+
};
|
|
11
15
|
export { parseOptions } from './lib/container/options';
|
|
12
16
|
export declare const container: {
|
|
13
17
|
readonly ContainerEntryModule: any;
|
package/dist/src/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createModuleFederationConfig = exports.container = exports.parseOptions = exports.HoistContainerReferencesPlugin = exports.AsyncBoundaryPlugin = exports.FederationRuntimePlugin = exports.ProvideSharedPlugin = exports.ConsumeSharedPlugin = exports.ContainerPlugin = exports.SharePlugin = exports.ContainerReferencePlugin = exports.ModuleFederationPlugin = void 0;
|
|
6
|
+
exports.createModuleFederationConfig = exports.container = exports.parseOptions = exports.dependencies = exports.HoistContainerReferencesPlugin = exports.AsyncBoundaryPlugin = exports.FederationRuntimePlugin = exports.FederationModulesPlugin = exports.ProvideSharedPlugin = exports.ConsumeSharedPlugin = exports.ContainerPlugin = exports.SharePlugin = exports.ContainerReferencePlugin = exports.ModuleFederationPlugin = void 0;
|
|
7
7
|
var ModuleFederationPlugin_1 = require("./wrapper/ModuleFederationPlugin");
|
|
8
8
|
Object.defineProperty(exports, "ModuleFederationPlugin", { enumerable: true, get: function () { return __importDefault(ModuleFederationPlugin_1).default; } });
|
|
9
9
|
var ContainerReferencePlugin_1 = require("./wrapper/ContainerReferencePlugin");
|
|
@@ -16,12 +16,19 @@ var ConsumeSharedPlugin_1 = require("./wrapper/ConsumeSharedPlugin");
|
|
|
16
16
|
Object.defineProperty(exports, "ConsumeSharedPlugin", { enumerable: true, get: function () { return __importDefault(ConsumeSharedPlugin_1).default; } });
|
|
17
17
|
var ProvideSharedPlugin_1 = require("./wrapper/ProvideSharedPlugin");
|
|
18
18
|
Object.defineProperty(exports, "ProvideSharedPlugin", { enumerable: true, get: function () { return __importDefault(ProvideSharedPlugin_1).default; } });
|
|
19
|
+
var FederationModulesPlugin_1 = require("./wrapper/FederationModulesPlugin");
|
|
20
|
+
Object.defineProperty(exports, "FederationModulesPlugin", { enumerable: true, get: function () { return __importDefault(FederationModulesPlugin_1).default; } });
|
|
19
21
|
var FederationRuntimePlugin_1 = require("./wrapper/FederationRuntimePlugin");
|
|
20
22
|
Object.defineProperty(exports, "FederationRuntimePlugin", { enumerable: true, get: function () { return __importDefault(FederationRuntimePlugin_1).default; } });
|
|
21
23
|
var AsyncBoundaryPlugin_1 = require("./wrapper/AsyncBoundaryPlugin");
|
|
22
24
|
Object.defineProperty(exports, "AsyncBoundaryPlugin", { enumerable: true, get: function () { return __importDefault(AsyncBoundaryPlugin_1).default; } });
|
|
23
25
|
var HoistContainerReferencesPlugin_1 = require("./wrapper/HoistContainerReferencesPlugin");
|
|
24
26
|
Object.defineProperty(exports, "HoistContainerReferencesPlugin", { enumerable: true, get: function () { return __importDefault(HoistContainerReferencesPlugin_1).default; } });
|
|
27
|
+
exports.dependencies = {
|
|
28
|
+
get ContainerEntryDependency() {
|
|
29
|
+
return require('./lib/container/ContainerEntryDependency').default;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
25
32
|
var options_1 = require("./lib/container/options");
|
|
26
33
|
Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return options_1.parseOptions; } });
|
|
27
34
|
exports.container = {
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AACA,2EAAqF;AAA5E,iJAAA,OAAO,OAA0B;AAC1C,+EAAyF;AAAhF,qJAAA,OAAO,OAA4B;AAC5C,qDAA+D;AAAtD,2HAAA,OAAO,OAAe;AAC/B,6DAAuE;AAA9D,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,2IAAA,OAAO,OAAuB;AACvC,qEAA+E;AAAtE,2IAAA,OAAO,OAAuB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AACA,2EAAqF;AAA5E,iJAAA,OAAO,OAA0B;AAC1C,+EAAyF;AAAhF,qJAAA,OAAO,OAA4B;AAC5C,qDAA+D;AAAtD,2HAAA,OAAO,OAAe;AAC/B,6DAAuE;AAA9D,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,2IAAA,OAAO,OAAuB;AACvC,qEAA+E;AAAtE,2IAAA,OAAO,OAAuB;AACvC,6EAAuF;AAA9E,mJAAA,OAAO,OAA2B;AAC3C,6EAAuF;AAA9E,mJAAA,OAAO,OAA2B;AAC3C,qEAA+E;AAAtE,2IAAA,OAAO,OAAuB;AACvC,2FAAqG;AAA5F,iKAAA,OAAO,OAAkC;AAErC,QAAA,YAAY,GAAG;IAC1B,IAAI,wBAAwB;QAC1B,OAAO,OAAO,CAAC,0CAA0C,CAAC,CAAC,OAAO,CAAC;IACrE,CAAC;CACF,CAAC;AAEF,mDAAuD;AAA9C,uGAAA,YAAY,OAAA;AAER,QAAA,SAAS,GAAG;IACvB,IAAI,oBAAoB;QACtB,OAAO,OAAO,CAAC,sCAAsC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;CACF,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,OAA6D,EACP,EAAE;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,4BAA4B,gCAIvC"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { ExposeOptions } from './ContainerEntryModule';
|
|
2
|
+
import type { containerPlugin } from '@module-federation/sdk';
|
|
2
3
|
declare const Dependency: typeof import("webpack").Dependency;
|
|
3
4
|
declare class ContainerEntryDependency extends Dependency {
|
|
4
5
|
name: string;
|
|
5
6
|
exposes: [string, ExposeOptions][];
|
|
6
7
|
shareScope: string;
|
|
7
8
|
injectRuntimeEntry: string;
|
|
9
|
+
/** Additional experimental options for container plugin customization */
|
|
10
|
+
experiments: containerPlugin.ContainerPluginOptions['experiments'];
|
|
8
11
|
/**
|
|
9
12
|
* @param {string} name entry name
|
|
10
13
|
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
11
14
|
* @param {string} shareScope name of the share scope
|
|
12
15
|
* @param {string[]} injectRuntimeEntry the path of injectRuntime file.
|
|
16
|
+
* @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
|
|
13
17
|
*/
|
|
14
|
-
constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string, injectRuntimeEntry: string);
|
|
18
|
+
constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string, injectRuntimeEntry: string, experiments: containerPlugin.ContainerPluginOptions['experiments']);
|
|
15
19
|
/**
|
|
16
20
|
* @returns {string | null} an identifier to merge equal requests
|
|
17
21
|
*/
|
|
@@ -13,13 +13,15 @@ class ContainerEntryDependency extends Dependency {
|
|
|
13
13
|
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
14
14
|
* @param {string} shareScope name of the share scope
|
|
15
15
|
* @param {string[]} injectRuntimeEntry the path of injectRuntime file.
|
|
16
|
+
* @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
|
|
16
17
|
*/
|
|
17
|
-
constructor(name, exposes, shareScope, injectRuntimeEntry) {
|
|
18
|
+
constructor(name, exposes, shareScope, injectRuntimeEntry, experiments) {
|
|
18
19
|
super();
|
|
19
20
|
this.name = name;
|
|
20
21
|
this.exposes = exposes;
|
|
21
22
|
this.shareScope = shareScope;
|
|
22
23
|
this.injectRuntimeEntry = injectRuntimeEntry;
|
|
24
|
+
this.experiments = experiments;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* @returns {string | null} an identifier to merge equal requests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerEntryDependency.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAGF,0FAAqF;
|
|
1
|
+
{"version":3,"file":"ContainerEntryDependency.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryDependency.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAGF,0FAAqF;AAIrF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,IAAA,6CAAoB,EAAC,mCAAmC,CAAC,CAC1D,CAAC;AACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAC5B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAE9B,MAAM,wBAAyB,SAAQ,UAAU;IAQ/C;;;;;;OAMG;IACH,YACE,IAAY,EACZ,OAAkC,EAClC,UAAkB,EAClB,kBAA0B,EAC1B,WAAkE;QAElE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAa,IAAI;QACf,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,gBAAgB,CACd,wBAAwB,EACxB,iDAAiD,CAClD,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { containerPlugin } from '@module-federation/sdk';
|
|
1
2
|
import type { Compilation } from 'webpack';
|
|
2
3
|
import type { InputFileSystem, LibIdentOptions, NeedBuildContext, ObjectDeserializerContext, ObjectSerializerContext, RequestShortener, ResolverWithOptions, WebpackOptions } from 'webpack/lib/Module';
|
|
3
4
|
import type WebpackError from 'webpack/lib/WebpackError';
|
|
@@ -17,12 +18,15 @@ declare class ContainerEntryModule extends Module {
|
|
|
17
18
|
private _exposes;
|
|
18
19
|
private _shareScope;
|
|
19
20
|
private _injectRuntimeEntry;
|
|
21
|
+
private _experiments;
|
|
20
22
|
/**
|
|
21
23
|
* @param {string} name container entry name
|
|
22
24
|
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
23
25
|
* @param {string} shareScope name of the share scope
|
|
26
|
+
* @param {string} injectRuntimeEntry the path of injectRuntime file.
|
|
27
|
+
* @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
|
|
24
28
|
*/
|
|
25
|
-
constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string, injectRuntimeEntry: string);
|
|
29
|
+
constructor(name: string, exposes: [string, ExposeOptions][], shareScope: string, injectRuntimeEntry: string, experiments: containerPlugin.ContainerPluginOptions['experiments']);
|
|
26
30
|
/**
|
|
27
31
|
* @param {ObjectDeserializerContext} context context
|
|
28
32
|
* @returns {ContainerEntryModule} deserialized container entry module
|
|
@@ -22,13 +22,16 @@ class ContainerEntryModule extends Module {
|
|
|
22
22
|
* @param {string} name container entry name
|
|
23
23
|
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
24
24
|
* @param {string} shareScope name of the share scope
|
|
25
|
+
* @param {string} injectRuntimeEntry the path of injectRuntime file.
|
|
26
|
+
* @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
|
|
25
27
|
*/
|
|
26
|
-
constructor(name, exposes, shareScope, injectRuntimeEntry) {
|
|
28
|
+
constructor(name, exposes, shareScope, injectRuntimeEntry, experiments) {
|
|
27
29
|
super(Constants_1.JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
|
|
28
30
|
this._name = name;
|
|
29
31
|
this._exposes = exposes;
|
|
30
32
|
this._shareScope = shareScope;
|
|
31
33
|
this._injectRuntimeEntry = injectRuntimeEntry;
|
|
34
|
+
this._experiments = experiments;
|
|
32
35
|
}
|
|
33
36
|
/**
|
|
34
37
|
* @param {ObjectDeserializerContext} context context
|
|
@@ -36,7 +39,7 @@ class ContainerEntryModule extends Module {
|
|
|
36
39
|
*/
|
|
37
40
|
static deserialize(context) {
|
|
38
41
|
const { read } = context;
|
|
39
|
-
const obj = new ContainerEntryModule(read(), read(), read(), read());
|
|
42
|
+
const obj = new ContainerEntryModule(read(), read(), read(), read(), read());
|
|
40
43
|
obj.deserialize(context);
|
|
41
44
|
return obj;
|
|
42
45
|
}
|
|
@@ -50,7 +53,7 @@ class ContainerEntryModule extends Module {
|
|
|
50
53
|
* @returns {string} a unique identifier of the module
|
|
51
54
|
*/
|
|
52
55
|
identifier() {
|
|
53
|
-
return `container entry (${this._shareScope}) ${JSON.stringify(this._exposes)}`;
|
|
56
|
+
return `container entry (${this._shareScope}) ${JSON.stringify(this._exposes)} ${this._injectRuntimeEntry} ${JSON.stringify(this._experiments)}`;
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
59
|
* @param {RequestShortener} requestShortener the request shortener
|
|
@@ -72,7 +75,6 @@ class ContainerEntryModule extends Module {
|
|
|
72
75
|
* @returns {void}
|
|
73
76
|
*/
|
|
74
77
|
needBuild(context, callback) {
|
|
75
|
-
const baseContext = context;
|
|
76
78
|
callback(null, !this.buildMeta);
|
|
77
79
|
}
|
|
78
80
|
/**
|
|
@@ -107,7 +109,9 @@ class ContainerEntryModule extends Module {
|
|
|
107
109
|
this.addBlock(block);
|
|
108
110
|
}
|
|
109
111
|
this.addDependency(new StaticExportsDependency(['get', 'init'], false));
|
|
110
|
-
|
|
112
|
+
if (!this._experiments?.federationRuntime) {
|
|
113
|
+
this.addDependency(new EntryDependency(this._injectRuntimeEntry));
|
|
114
|
+
}
|
|
111
115
|
callback();
|
|
112
116
|
}
|
|
113
117
|
/**
|
|
@@ -157,14 +161,17 @@ class ContainerEntryModule extends Module {
|
|
|
157
161
|
getters.push(`${JSON.stringify(modules[0].name)}: ${runtimeTemplate.basicFunction('', str)}`);
|
|
158
162
|
}
|
|
159
163
|
const initRuntimeDep = this.dependencies[1];
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
// no runtime module getter needed if runtime is hoisted
|
|
165
|
+
const initRuntimeModuleGetter = this._experiments?.federationRuntime
|
|
166
|
+
? ''
|
|
167
|
+
: runtimeTemplate.moduleRaw({
|
|
168
|
+
module: moduleGraph.getModule(initRuntimeDep),
|
|
169
|
+
chunkGraph,
|
|
170
|
+
// @ts-expect-error flaky type definition for Dependency
|
|
171
|
+
request: initRuntimeDep.userRequest,
|
|
172
|
+
weak: false,
|
|
173
|
+
runtimeRequirements,
|
|
174
|
+
});
|
|
168
175
|
const federationGlobal = (0, utils_1.getFederationGlobalScope)(RuntimeGlobals || {});
|
|
169
176
|
const source = Template.asString([
|
|
170
177
|
`var moduleMap = {`,
|
|
@@ -231,6 +238,7 @@ class ContainerEntryModule extends Module {
|
|
|
231
238
|
write(this._exposes);
|
|
232
239
|
write(this._shareScope);
|
|
233
240
|
write(this._injectRuntimeEntry);
|
|
241
|
+
write(this._experiments);
|
|
234
242
|
super.serialize(context);
|
|
235
243
|
}
|
|
236
244
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerEntryModule.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModule.ts"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;;;;;AACb,0FAAqF;
|
|
1
|
+
{"version":3,"file":"ContainerEntryModule.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerEntryModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ class ContainerEntryModuleFactory extends ModuleFactory {
|
|
|
21
21
|
const containerDependencies = dependencies;
|
|
22
22
|
const dep = containerDependencies[0];
|
|
23
23
|
callback(null, {
|
|
24
|
-
module: new ContainerEntryModule_1.default(dep.name, dep.exposes, dep.shareScope, dep.injectRuntimeEntry),
|
|
24
|
+
module: new ContainerEntryModule_1.default(dep.name, dep.exposes, dep.shareScope, dep.injectRuntimeEntry, dep.experiments),
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -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,MAAM,EAAE,IAAI,8BAAoB,CAC9B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,kBAAkB,
|
|
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,MAAM,EAAE,IAAI,8BAAoB,CAC9B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,WAAW,CAChB;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAzBD,8CAyBC"}
|
|
@@ -3,9 +3,6 @@ import type { containerPlugin } from '@module-federation/sdk';
|
|
|
3
3
|
declare class ContainerPlugin {
|
|
4
4
|
_options: containerPlugin.ContainerPluginOptions;
|
|
5
5
|
name: string;
|
|
6
|
-
/**
|
|
7
|
-
* @param {containerPlugin.ContainerPluginOptions} options options
|
|
8
|
-
*/
|
|
9
6
|
constructor(options: containerPlugin.ContainerPluginOptions);
|
|
10
7
|
static patchChunkSplit(compiler: Compiler, name: string): void;
|
|
11
8
|
apply(compiler: Compiler): void;
|
|
@@ -13,8 +13,11 @@ const ContainerEntryModuleFactory_1 = __importDefault(require("./ContainerEntryM
|
|
|
13
13
|
const ContainerExposedDependency_1 = __importDefault(require("./ContainerExposedDependency"));
|
|
14
14
|
const options_1 = require("./options");
|
|
15
15
|
const FederationRuntimePlugin_1 = __importDefault(require("./runtime/FederationRuntimePlugin"));
|
|
16
|
+
const FederationModulesPlugin_1 = __importDefault(require("./runtime/FederationModulesPlugin"));
|
|
16
17
|
const ContainerPlugin_check_1 = __importDefault(require("../../schemas/container/ContainerPlugin.check"));
|
|
17
18
|
const ContainerPlugin_1 = __importDefault(require("../../schemas/container/ContainerPlugin"));
|
|
19
|
+
const FederationRuntimeDependency_1 = __importDefault(require("./runtime/FederationRuntimeDependency"));
|
|
20
|
+
const ModuleDependency = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/dependencies/ModuleDependency'));
|
|
18
21
|
const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
|
|
19
22
|
const validate = createSchemaValidation(ContainerPlugin_check_1.default, () => ContainerPlugin_1.default, {
|
|
20
23
|
name: 'Container Plugin',
|
|
@@ -22,9 +25,6 @@ const validate = createSchemaValidation(ContainerPlugin_check_1.default, () => C
|
|
|
22
25
|
});
|
|
23
26
|
const PLUGIN_NAME = 'ContainerPlugin';
|
|
24
27
|
class ContainerPlugin {
|
|
25
|
-
/**
|
|
26
|
-
* @param {containerPlugin.ContainerPluginOptions} options options
|
|
27
|
-
*/
|
|
28
28
|
constructor(options) {
|
|
29
29
|
validate(options);
|
|
30
30
|
this.name = PLUGIN_NAME;
|
|
@@ -46,6 +46,7 @@ class ContainerPlugin {
|
|
|
46
46
|
name: item.name || undefined,
|
|
47
47
|
})),
|
|
48
48
|
runtimePlugins: options.runtimePlugins,
|
|
49
|
+
experiments: options.experiments,
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
// container should not be affected by splitChunks
|
|
@@ -134,46 +135,78 @@ class ContainerPlugin {
|
|
|
134
135
|
!compiler.options.output.enabledLibraryTypes.includes(library.type)) {
|
|
135
136
|
compiler.options.output.enabledLibraryTypes.push(library.type);
|
|
136
137
|
}
|
|
137
|
-
compiler.hooks.make.tapAsync(PLUGIN_NAME, (compilation, callback) => {
|
|
138
|
+
compiler.hooks.make.tapAsync(PLUGIN_NAME, async (compilation, callback) => {
|
|
139
|
+
const hasSingleRuntimeChunk = compilation.options?.optimization?.runtimeChunk;
|
|
140
|
+
const hooks = FederationModulesPlugin_1.default.getCompilationHooks(compilation);
|
|
141
|
+
const federationRuntimeDependency = federationRuntimePluginInstance.getDependency(compiler);
|
|
138
142
|
const dep = new ContainerEntryDependency_1.default(name,
|
|
139
143
|
//@ts-ignore
|
|
140
|
-
exposes, shareScope, federationRuntimePluginInstance.entryFilePath);
|
|
141
|
-
const hasSingleRuntimeChunk = compilation.options?.optimization?.runtimeChunk;
|
|
144
|
+
exposes, shareScope, federationRuntimePluginInstance.entryFilePath, this._options.experiments);
|
|
142
145
|
dep.loc = { name };
|
|
143
|
-
|
|
144
|
-
name,
|
|
145
|
-
filename,
|
|
146
|
-
runtime: hasSingleRuntimeChunk ? false : runtime,
|
|
147
|
-
library,
|
|
148
|
-
}, (error) => {
|
|
149
|
-
if (error)
|
|
150
|
-
return callback(error);
|
|
151
|
-
if (hasSingleRuntimeChunk) {
|
|
152
|
-
// Add to single runtime chunk as well.
|
|
153
|
-
// Allows for singleton runtime graph with all needed runtime modules for federation
|
|
154
|
-
addEntryToSingleRuntimeChunk();
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
callback();
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
// Function to add entry for undefined runtime
|
|
161
|
-
const addEntryToSingleRuntimeChunk = () => {
|
|
146
|
+
await new Promise((resolve, reject) => {
|
|
162
147
|
compilation.addEntry(compilation.options.context || '', dep, {
|
|
163
|
-
name
|
|
164
|
-
|
|
148
|
+
name,
|
|
149
|
+
filename,
|
|
150
|
+
runtime: hasSingleRuntimeChunk ? false : runtime,
|
|
165
151
|
library,
|
|
166
152
|
}, (error) => {
|
|
167
153
|
if (error)
|
|
168
|
-
return
|
|
169
|
-
|
|
154
|
+
return reject(error);
|
|
155
|
+
hooks.addContainerEntryModule.call(dep);
|
|
156
|
+
resolve(undefined);
|
|
157
|
+
});
|
|
158
|
+
}).catch(callback);
|
|
159
|
+
await new Promise((resolve, reject) => {
|
|
160
|
+
compilation.addInclude(compiler.context, federationRuntimeDependency, { name: undefined }, (err, module) => {
|
|
161
|
+
if (err) {
|
|
162
|
+
return reject(err);
|
|
163
|
+
}
|
|
164
|
+
hooks.addFederationRuntimeModule.call(federationRuntimeDependency);
|
|
165
|
+
resolve(undefined);
|
|
170
166
|
});
|
|
171
|
-
};
|
|
167
|
+
}).catch(callback);
|
|
168
|
+
callback();
|
|
169
|
+
});
|
|
170
|
+
// this will still be copied into child compiler, so it needs a check to avoid running hook on child
|
|
171
|
+
// we have to use finishMake in order to check the entries created and see if there are multiple runtime chunks
|
|
172
|
+
compiler.hooks.finishMake.tapAsync(PLUGIN_NAME, (compilation, callback) => {
|
|
173
|
+
if (compilation.compiler.parentCompilation &&
|
|
174
|
+
compilation.compiler.parentCompilation !== compilation) {
|
|
175
|
+
return callback();
|
|
176
|
+
}
|
|
177
|
+
const hooks = FederationModulesPlugin_1.default.getCompilationHooks(compilation);
|
|
178
|
+
const createdRuntimes = new Set();
|
|
179
|
+
for (const entry of compilation.entries.values()) {
|
|
180
|
+
const runtime = entry.options.runtime;
|
|
181
|
+
if (runtime) {
|
|
182
|
+
createdRuntimes.add(runtime);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (createdRuntimes.size === 0 &&
|
|
186
|
+
!compilation.options?.optimization?.runtimeChunk) {
|
|
187
|
+
return callback();
|
|
188
|
+
}
|
|
189
|
+
const dep = new ContainerEntryDependency_1.default(name,
|
|
190
|
+
//@ts-ignore
|
|
191
|
+
exposes, shareScope, federationRuntimePluginInstance.entryFilePath, this._options.experiments);
|
|
192
|
+
dep.loc = { name };
|
|
193
|
+
compilation.addInclude(compilation.options.context || '', dep, { name: undefined }, (error) => {
|
|
194
|
+
if (error)
|
|
195
|
+
return callback(error);
|
|
196
|
+
hooks.addContainerEntryModule.call(dep);
|
|
197
|
+
callback();
|
|
198
|
+
});
|
|
172
199
|
});
|
|
200
|
+
// add the container entry module
|
|
173
201
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
|
|
174
202
|
compilation.dependencyFactories.set(ContainerEntryDependency_1.default, new ContainerEntryModuleFactory_1.default());
|
|
175
203
|
compilation.dependencyFactories.set(ContainerExposedDependency_1.default, normalModuleFactory);
|
|
176
204
|
});
|
|
205
|
+
// add include of federation runtime
|
|
206
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
|
|
207
|
+
compilation.dependencyFactories.set(FederationRuntimeDependency_1.default, normalModuleFactory);
|
|
208
|
+
compilation.dependencyTemplates.set(FederationRuntimeDependency_1.default, new ModuleDependency.Template());
|
|
209
|
+
});
|
|
177
210
|
}
|
|
178
211
|
}
|
|
179
212
|
exports.default = ContainerPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;;EAGE;AACF,0FAAqF;AACrF,0FAAkE;AAClE,gGAAwE;AACxE,8FAAsE;AACtE,uCAAyC;AASzC,gGAAwE;AACxE,0GAAyE;AACzE,8FAA6D;
|
|
1
|
+
{"version":3,"file":"ContainerPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerReferencePlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerReferencePlugin.ts"],"names":[],"mappings":";;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"ContainerReferencePlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ContainerReferencePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import type { Compiler, Compilation, WebpackPluginInstance, Module } from 'webpack';
|
|
2
|
-
import { moduleFederationPlugin } from '@module-federation/sdk';
|
|
3
2
|
/**
|
|
4
3
|
* This class is used to hoist container references in the code.
|
|
5
|
-
* @constructor
|
|
6
4
|
*/
|
|
7
5
|
export declare class HoistContainerReferences implements WebpackPluginInstance {
|
|
8
|
-
private readonly containerName;
|
|
9
|
-
private readonly entryFilePath?;
|
|
10
|
-
private readonly bundlerRuntimeDep?;
|
|
11
|
-
private readonly explanation;
|
|
12
|
-
private readonly experiments;
|
|
13
|
-
constructor(name?: string, entryFilePath?: string, bundlerRuntimeDep?: string, experiments?: moduleFederationPlugin.ModuleFederationPluginOptions['experiments']);
|
|
14
6
|
apply(compiler: Compiler): void;
|
|
15
|
-
private findModule;
|
|
16
7
|
private hoistModulesInChunks;
|
|
17
8
|
private cleanUpChunks;
|
|
18
9
|
private getRuntimeChunks;
|
|
19
10
|
}
|
|
20
|
-
export declare function getAllReferencedModules(compilation: Compilation, module: Module, type?: 'all' | 'initial'): Set<Module>;
|
|
11
|
+
export declare function getAllReferencedModules(compilation: Compilation, module: Module, type?: 'all' | 'initial' | 'external'): Set<Module>;
|
|
21
12
|
export default HoistContainerReferences;
|