@module-federation/enhanced 0.2.0 → 0.2.2
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 +5 -3
- package/dist/src/lib/container/ModuleFederationPlugin.js +5 -0
- package/dist/src/lib/container/ModuleFederationPlugin.js.map +1 -1
- package/dist/src/lib/container/runtime/RemoteEntryPlugin.d.ts +8 -0
- package/dist/src/lib/container/runtime/RemoteEntryPlugin.js +32 -0
- package/dist/src/lib/container/runtime/RemoteEntryPlugin.js.map +1 -0
- package/package.json +11 -9
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/enhanced",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/module-federation/core/tree/main/packages/enhanced",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@module-federation/webpack-bundler-runtime": "workspace:*"
|
|
70
|
+
"@module-federation/webpack-bundler-runtime": "workspace:*",
|
|
71
|
+
"@types/btoa": "^1.2.5"
|
|
71
72
|
},
|
|
72
73
|
"dependencies": {
|
|
73
74
|
"@module-federation/sdk": "workspace:*",
|
|
@@ -77,7 +78,8 @@
|
|
|
77
78
|
"@module-federation/dts-plugin": "workspace:*",
|
|
78
79
|
"@module-federation/rspack": "workspace:*",
|
|
79
80
|
"@module-federation/bridge-react-webpack-plugin": "workspace:*",
|
|
80
|
-
"upath": "2.0.1"
|
|
81
|
+
"upath": "2.0.1",
|
|
82
|
+
"btoa": "^1.2.1"
|
|
81
83
|
},
|
|
82
84
|
"type": "commonjs"
|
|
83
85
|
}
|
|
@@ -17,6 +17,7 @@ const SharePlugin_1 = __importDefault(require("../sharing/SharePlugin"));
|
|
|
17
17
|
const ContainerPlugin_1 = __importDefault(require("./ContainerPlugin"));
|
|
18
18
|
const ContainerReferencePlugin_1 = __importDefault(require("./ContainerReferencePlugin"));
|
|
19
19
|
const FederationRuntimePlugin_1 = __importDefault(require("./runtime/FederationRuntimePlugin"));
|
|
20
|
+
const RemoteEntryPlugin_1 = require("./runtime/RemoteEntryPlugin");
|
|
20
21
|
const isValidExternalsType = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/schemas/plugins/container/ExternalsType.check.js'));
|
|
21
22
|
const createSchemaValidation = require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/util/create-schema-validation'));
|
|
22
23
|
const validate = createSchemaValidation(
|
|
@@ -49,6 +50,10 @@ class ModuleFederationPlugin {
|
|
|
49
50
|
*/
|
|
50
51
|
apply(compiler) {
|
|
51
52
|
const { _options: options } = this;
|
|
53
|
+
// must before ModuleFederationPlugin
|
|
54
|
+
if (options.getPublicPath && options.name) {
|
|
55
|
+
new RemoteEntryPlugin_1.RemoteEntryPlugin(options.name, options.getPublicPath).apply(compiler);
|
|
56
|
+
}
|
|
52
57
|
if (options.dts !== false) {
|
|
53
58
|
new dts_plugin_1.DtsPlugin(options).apply(compiler);
|
|
54
59
|
}
|
|
@@ -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,4GAAoE;AACpE,yEAAiD;AACjD,wEAAgD;AAChD,0FAAkE;AAClE,gGAAwE;
|
|
1
|
+
{"version":3,"file":"ModuleFederationPlugin.js","sourceRoot":"","sources":["../../../../src/lib/container/ModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Compiler, WebpackPluginInstance } from 'webpack';
|
|
2
|
+
export declare class RemoteEntryPlugin implements WebpackPluginInstance {
|
|
3
|
+
readonly name = "VmokRemoteEntryPlugin";
|
|
4
|
+
private _name;
|
|
5
|
+
private _getPublicPath;
|
|
6
|
+
constructor(name: string, getPublicPath: string);
|
|
7
|
+
apply(compiler: Compiler): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RemoteEntryPlugin = void 0;
|
|
7
|
+
const btoa_1 = __importDefault(require("btoa"));
|
|
8
|
+
class RemoteEntryPlugin {
|
|
9
|
+
constructor(name, getPublicPath) {
|
|
10
|
+
this.name = 'VmokRemoteEntryPlugin';
|
|
11
|
+
this._name = name;
|
|
12
|
+
this._getPublicPath = getPublicPath;
|
|
13
|
+
}
|
|
14
|
+
apply(compiler) {
|
|
15
|
+
let code;
|
|
16
|
+
if (!this._getPublicPath.startsWith('function')) {
|
|
17
|
+
code = `${compiler.webpack.RuntimeGlobals.publicPath} = new Function(${JSON.stringify(this._getPublicPath)})()`;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
code = `(${this._getPublicPath})()`;
|
|
21
|
+
}
|
|
22
|
+
const base64Code = (0, btoa_1.default)(code);
|
|
23
|
+
const dataUrl = `data:text/javascript;base64,${base64Code}`;
|
|
24
|
+
compiler.hooks.afterPlugins.tap('VmokRemoteEntryPlugin', () => {
|
|
25
|
+
new compiler.webpack.EntryPlugin(compiler.context, dataUrl, {
|
|
26
|
+
name: this._name,
|
|
27
|
+
}).apply(compiler);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.RemoteEntryPlugin = RemoteEntryPlugin;
|
|
32
|
+
//# sourceMappingURL=RemoteEntryPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteEntryPlugin.js","sourceRoot":"","sources":["../../../../../src/lib/container/runtime/RemoteEntryPlugin.ts"],"names":[],"mappings":";;;;;;AACA,gDAAyB;AAEzB,MAAa,iBAAiB;IAK5B,YAAY,IAAY,EAAE,aAAqB;QAJtC,SAAI,GAAG,uBAAuB,CAAC;QAKtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,GACL,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,UAClC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC;QACtC,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,+BAA+B,UAAU,EAAE,CAAC;QAE5D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC5D,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;gBAC1D,IAAI,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,8CA4BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/enhanced",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
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",
|
|
@@ -67,16 +67,18 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@
|
|
70
|
+
"@types/btoa": "^1.2.5",
|
|
71
|
+
"@module-federation/webpack-bundler-runtime": "0.2.2"
|
|
71
72
|
},
|
|
72
73
|
"dependencies": {
|
|
73
74
|
"upath": "2.0.1",
|
|
74
|
-
"
|
|
75
|
-
"@module-federation/
|
|
76
|
-
"@module-federation/
|
|
77
|
-
"@module-federation/
|
|
78
|
-
"@module-federation/
|
|
79
|
-
"@module-federation/
|
|
80
|
-
"@module-federation/
|
|
75
|
+
"btoa": "^1.2.1",
|
|
76
|
+
"@module-federation/sdk": "0.2.2",
|
|
77
|
+
"@module-federation/runtime-tools": "0.2.2",
|
|
78
|
+
"@module-federation/manifest": "0.2.2",
|
|
79
|
+
"@module-federation/managers": "0.2.2",
|
|
80
|
+
"@module-federation/dts-plugin": "0.2.2",
|
|
81
|
+
"@module-federation/rspack": "0.2.2",
|
|
82
|
+
"@module-federation/bridge-react-webpack-plugin": "0.2.2"
|
|
81
83
|
}
|
|
82
84
|
}
|