@vc-shell/mf-host 2.0.4 → 2.0.6
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/CHANGELOG.md +10 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/register-remote-modules.d.ts +11 -13
- package/dist/register-remote-modules.d.ts.map +1 -1
- package/dist/register-remote-modules.js +55 -71
- package/dist/register-remote-modules.js.map +1 -1
- package/package.json +5 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.6](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.5...v2.0.6) (2026-05-25)
|
|
4
|
+
|
|
5
|
+
**Note:** Version bump only for package @vc-shell/mf-host
|
|
6
|
+
|
|
7
|
+
## [2.0.5](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.4...v2.0.5) (2026-05-25)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- migrate Module Federation host to backoffice modularity manifest endpoint (#228) ([b767fd8](https://github.com/VirtoCommerce/vc-shell/commit/b767fd821dda91690f23fd7122602f311d884c3f)), closes [#228](https://github.com/VirtoCommerce/vc-shell/issues/228) [vc-platform#3019](https://github.com/vc-platform/issues/3019)
|
|
12
|
+
|
|
3
13
|
## [2.0.4](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.3...v2.0.4) (2026-05-18)
|
|
4
14
|
|
|
5
15
|
**Note:** Version bump only for package @vc-shell/mf-host
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { registerRemoteModules } from "./register-remote-modules.js";
|
|
2
|
-
export type { RegisterRemoteModulesOptions
|
|
2
|
+
export type { RegisterRemoteModulesOptions } from "./register-remote-modules.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,4BAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import { type App } from "vue";
|
|
2
2
|
import type { Router } from "vue-router";
|
|
3
|
-
export interface ModuleRegistryEntry {
|
|
4
|
-
id: string;
|
|
5
|
-
entry: string;
|
|
6
|
-
version: string;
|
|
7
|
-
compatibleWith?: {
|
|
8
|
-
dependencies?: Record<string, string>;
|
|
9
|
-
requires?: Record<string, string>;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
3
|
export interface RegisterRemoteModulesOptions {
|
|
13
4
|
router: Router;
|
|
14
5
|
appName: string;
|
|
6
|
+
/**
|
|
7
|
+
* Optional manifest endpoint override. Defaults to
|
|
8
|
+
* `/api/apps/${encodeURIComponent(appName)}/manifest`.
|
|
9
|
+
* Useful for ops debugging or non-standard deployments.
|
|
10
|
+
*/
|
|
11
|
+
manifestUrl?: string;
|
|
15
12
|
}
|
|
16
13
|
/**
|
|
17
|
-
* Discover and load remote MF modules from the
|
|
14
|
+
* Discover and load remote MF modules from the platform's backoffice
|
|
15
|
+
* modularity manifest endpoint.
|
|
18
16
|
*
|
|
19
17
|
* Call this in your app's main.ts BEFORE app.mount():
|
|
20
18
|
* ```ts
|
|
@@ -22,9 +20,9 @@ export interface RegisterRemoteModulesOptions {
|
|
|
22
20
|
* registerRemoteModules(app, { router, appName: "my-app" });
|
|
23
21
|
* ```
|
|
24
22
|
*
|
|
25
|
-
* The function is fire-and-forget (async internally).
|
|
26
|
-
*
|
|
27
|
-
*
|
|
23
|
+
* The function is fire-and-forget (async internally). It provides
|
|
24
|
+
* `ModulesReadyKey` and `ModulesLoadErrorKey` refs via `app.provide()` so
|
|
25
|
+
* components can react to loading state.
|
|
28
26
|
*/
|
|
29
27
|
export declare function registerRemoteModules(app: App, options: RegisterRemoteModulesOptions): void;
|
|
30
28
|
//# sourceMappingURL=register-remote-modules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-remote-modules.d.ts","sourceRoot":"","sources":["../src/register-remote-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAe,MAAM,KAAK,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"register-remote-modules.d.ts","sourceRoot":"","sources":["../src/register-remote-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAe,MAAM,KAAK,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgEzC,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,GAAG,IAAI,CA+H3F"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ref } from "vue";
|
|
2
|
-
import * as semver from "semver";
|
|
3
2
|
import { createInstance } from "@module-federation/runtime";
|
|
4
3
|
import { SHARED_DEPS_BASE } from "@vc-shell/mf-config";
|
|
5
4
|
// Shared deps — statically imported. No circular dependency because
|
|
@@ -21,7 +20,6 @@ import vueI18nPkg from "vue-i18n/package.json";
|
|
|
21
20
|
import lodashEsPkg from "lodash-es/package.json";
|
|
22
21
|
import vueusePkg from "@vueuse/core/package.json";
|
|
23
22
|
import frameworkPkg from "@vc-shell/framework/package.json";
|
|
24
|
-
const REGISTRY_URL = "/api/frontend-modules";
|
|
25
23
|
const RUNTIME_LIBS = {
|
|
26
24
|
vue: { lib: () => Vue, version: vuePkg.version },
|
|
27
25
|
"vue-router": { lib: () => VueRouter, version: vueRouterPkg.version },
|
|
@@ -46,6 +44,15 @@ const SHARED_LIBS = Object.fromEntries(Object.entries(SHARED_DEPS_BASE).map(([na
|
|
|
46
44
|
return [name, { ...runtime, requiredVersion: config.requiredVersion ?? "*" }];
|
|
47
45
|
}));
|
|
48
46
|
// --- Helper functions ---
|
|
47
|
+
function defaultManifestUrl(appName) {
|
|
48
|
+
return `/api/apps/${encodeURIComponent(appName)}/manifest`;
|
|
49
|
+
}
|
|
50
|
+
function buildEntryUrl(filePath, hash) {
|
|
51
|
+
return hash ? `${filePath}?v=${encodeURIComponent(hash)}` : filePath;
|
|
52
|
+
}
|
|
53
|
+
function stripLeadingDotSlash(s) {
|
|
54
|
+
return s.replace(/^\.\//, "");
|
|
55
|
+
}
|
|
49
56
|
/** Resolve Vue plugin(s) from MF module exports. */
|
|
50
57
|
function resolvePlugins(exports) {
|
|
51
58
|
const mod = exports;
|
|
@@ -70,25 +77,10 @@ function resolvePlugins(exports) {
|
|
|
70
77
|
}
|
|
71
78
|
return plugins;
|
|
72
79
|
}
|
|
73
|
-
/** Convert NuGet-style version range notation to semver. */
|
|
74
|
-
function humanizeRange(range) {
|
|
75
|
-
const exact = range.match(/^\[\s*([^\],]+?)\s*\]$/);
|
|
76
|
-
if (exact)
|
|
77
|
-
return exact[1];
|
|
78
|
-
const m = range.match(/^([[\(])\s*([^,]*?)\s*,\s*([^)\]]*?)\s*([)\]])$/);
|
|
79
|
-
if (!m)
|
|
80
|
-
return range;
|
|
81
|
-
const [, openBracket, lower, upper, closeBracket] = m;
|
|
82
|
-
const parts = [];
|
|
83
|
-
if (lower)
|
|
84
|
-
parts.push(`${openBracket === "[" ? ">=" : ">"}${lower}`);
|
|
85
|
-
if (upper)
|
|
86
|
-
parts.push(`${closeBracket === "]" ? "<=" : "<"}${upper}`);
|
|
87
|
-
return parts.join(" ") || range;
|
|
88
|
-
}
|
|
89
80
|
// --- Main function ---
|
|
90
81
|
/**
|
|
91
|
-
* Discover and load remote MF modules from the
|
|
82
|
+
* Discover and load remote MF modules from the platform's backoffice
|
|
83
|
+
* modularity manifest endpoint.
|
|
92
84
|
*
|
|
93
85
|
* Call this in your app's main.ts BEFORE app.mount():
|
|
94
86
|
* ```ts
|
|
@@ -96,67 +88,53 @@ function humanizeRange(range) {
|
|
|
96
88
|
* registerRemoteModules(app, { router, appName: "my-app" });
|
|
97
89
|
* ```
|
|
98
90
|
*
|
|
99
|
-
* The function is fire-and-forget (async internally).
|
|
100
|
-
*
|
|
101
|
-
*
|
|
91
|
+
* The function is fire-and-forget (async internally). It provides
|
|
92
|
+
* `ModulesReadyKey` and `ModulesLoadErrorKey` refs via `app.provide()` so
|
|
93
|
+
* components can react to loading state.
|
|
102
94
|
*/
|
|
103
95
|
export function registerRemoteModules(app, options) {
|
|
104
96
|
const { ModulesReadyKey, ModulesLoadErrorKey } = Framework;
|
|
105
97
|
const modulesReady = ref(false);
|
|
106
98
|
const modulesLoadError = ref(false);
|
|
107
|
-
// Capture the original URL before the blade router guard can redirect it away.
|
|
108
|
-
// During async module loading, the guard may not find workspaces (not registered yet)
|
|
109
|
-
// and redirect to root — losing the tenant prefix and blade URL.
|
|
110
|
-
const _initialUrl = window.location.hash.replace(/^#/, "") || "/";
|
|
111
99
|
app.provide(ModulesReadyKey, modulesReady);
|
|
112
100
|
app.provide(ModulesLoadErrorKey, modulesLoadError);
|
|
113
|
-
// Fire-and-forget async loading
|
|
114
101
|
(async () => {
|
|
115
102
|
try {
|
|
116
103
|
performance.mark("vc:modules-start");
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
provides[name] = entry.version;
|
|
122
|
-
}
|
|
123
|
-
// 2. Fetch registry
|
|
124
|
-
const response = await fetch(REGISTRY_URL, {
|
|
125
|
-
method: "POST",
|
|
104
|
+
// 1. Fetch manifest
|
|
105
|
+
const manifestUrl = options.manifestUrl ?? defaultManifestUrl(options.appName);
|
|
106
|
+
const response = await fetch(manifestUrl, {
|
|
107
|
+
method: "GET",
|
|
126
108
|
credentials: "same-origin",
|
|
127
|
-
headers: {
|
|
128
|
-
body: JSON.stringify({ appName: options.appName, provides }),
|
|
109
|
+
headers: { Accept: "application/json" },
|
|
129
110
|
});
|
|
130
|
-
if (response.
|
|
111
|
+
if (!response.ok) {
|
|
112
|
+
// Unified policy: 401/403/404/5xx → warn + skip, no loadError.
|
|
113
|
+
console.warn(`[mf-host] manifest endpoint ${manifestUrl} returned HTTP ${response.status}; skipping plugin discovery.`);
|
|
131
114
|
modulesReady.value = true;
|
|
132
115
|
performance.mark("vc:modules-done");
|
|
133
116
|
return;
|
|
134
117
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (!ok)
|
|
151
|
-
console.warn(`[mf-host] Module "${mod.id}" v${mod.version} requires framework ${range}, current ${frameworkVersion}. Skipping.`);
|
|
152
|
-
return ok;
|
|
153
|
-
});
|
|
154
|
-
if (compatible.length === 0) {
|
|
118
|
+
const manifest = (await response.json());
|
|
119
|
+
// 2. Validate plugins[] structurally (NSwag emits everything as optional)
|
|
120
|
+
const validPlugins = (manifest.plugins ?? []).filter((p) => typeof p?.id === "string" &&
|
|
121
|
+
typeof p?.version === "string" &&
|
|
122
|
+
typeof p?.entry?.path === "string" &&
|
|
123
|
+
typeof p?.remote?.name === "string" &&
|
|
124
|
+
typeof p?.remote?.exposed === "string");
|
|
125
|
+
const entries = validPlugins.map((p) => ({
|
|
126
|
+
id: p.id,
|
|
127
|
+
entry: buildEntryUrl(p.entry.path, p.entry.hash),
|
|
128
|
+
version: p.version,
|
|
129
|
+
remoteName: p.remote.name,
|
|
130
|
+
exposedKey: stripLeadingDotSlash(p.remote.exposed),
|
|
131
|
+
}));
|
|
132
|
+
if (entries.length === 0) {
|
|
155
133
|
modulesReady.value = true;
|
|
156
134
|
performance.mark("vc:modules-done");
|
|
157
135
|
return;
|
|
158
136
|
}
|
|
159
|
-
//
|
|
137
|
+
// 3. Init MF runtime
|
|
160
138
|
const shared = {};
|
|
161
139
|
for (const [name, entry] of Object.entries(SHARED_LIBS)) {
|
|
162
140
|
shared[name] = {
|
|
@@ -167,11 +145,14 @@ export function registerRemoteModules(app, options) {
|
|
|
167
145
|
}
|
|
168
146
|
const mfInstance = createInstance({
|
|
169
147
|
name: "host",
|
|
170
|
-
remotes:
|
|
148
|
+
remotes: entries.map((e) => ({ name: e.remoteName, entry: e.entry, type: "module" })),
|
|
171
149
|
shared,
|
|
172
150
|
});
|
|
173
|
-
//
|
|
174
|
-
const results = await Promise.allSettled(
|
|
151
|
+
// 4. Load all remotes in parallel
|
|
152
|
+
const results = await Promise.allSettled(entries.map(async (e) => ({
|
|
153
|
+
entry: e,
|
|
154
|
+
exports: await mfInstance.loadRemote(`${e.remoteName}/${e.exposedKey}`),
|
|
155
|
+
})));
|
|
175
156
|
performance.mark("vc:modules-loaded");
|
|
176
157
|
const loaded = [];
|
|
177
158
|
const failed = [];
|
|
@@ -180,24 +161,27 @@ export function registerRemoteModules(app, options) {
|
|
|
180
161
|
if (r.status === "fulfilled")
|
|
181
162
|
loaded.push(r.value);
|
|
182
163
|
else
|
|
183
|
-
failed.push({
|
|
164
|
+
failed.push({ entry: entries[i], error: r.reason });
|
|
165
|
+
}
|
|
166
|
+
for (const { entry, error } of failed) {
|
|
167
|
+
console.error(`[mf-host] Failed to load "${entry.id}":`, error);
|
|
184
168
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
// 6. Install plugins
|
|
188
|
-
for (const { mod, exports } of loaded) {
|
|
169
|
+
// 5. Install plugins
|
|
170
|
+
for (const { entry, exports } of loaded) {
|
|
189
171
|
const plugins = resolvePlugins(exports);
|
|
190
172
|
if (plugins.length > 0) {
|
|
191
173
|
for (const plugin of plugins)
|
|
192
174
|
app.use(plugin, { router: options.router });
|
|
193
|
-
console.info(`[mf-host] "${
|
|
175
|
+
console.info(`[mf-host] "${entry.id}" v${entry.version} installed (${plugins.length} sub-module(s)).`);
|
|
194
176
|
}
|
|
195
177
|
else {
|
|
196
|
-
console.error(`[mf-host] "${
|
|
178
|
+
console.error(`[mf-host] "${entry.id}" has no install function. Skipping.`);
|
|
197
179
|
}
|
|
198
180
|
}
|
|
199
181
|
if (failed.length > 0) {
|
|
200
|
-
console.warn(`[mf-host] ${loaded.length}/${
|
|
182
|
+
console.warn(`[mf-host] ${loaded.length}/${entries.length} plugins loaded. Failed: [${failed
|
|
183
|
+
.map((f) => f.entry.id)
|
|
184
|
+
.join(", ")}]`);
|
|
201
185
|
}
|
|
202
186
|
performance.mark("vc:modules-installed");
|
|
203
187
|
modulesReady.value = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-remote-modules.js","sourceRoot":"","sources":["../src/register-remote-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAyB,MAAM,KAAK,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"register-remote-modules.js","sourceRoot":"","sources":["../src/register-remote-modules.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vc-shell/mf-host",
|
|
3
3
|
"description": "Module Federation host runtime for VC Shell — discovers and loads remote modules",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.6",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -25,11 +25,10 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@module-federation/runtime": "^2.1.0",
|
|
28
|
-
"@vc-shell/mf-config": "2.0.
|
|
29
|
-
"semver": "^7.6.2"
|
|
28
|
+
"@vc-shell/mf-config": "2.0.6"
|
|
30
29
|
},
|
|
31
30
|
"peerDependencies": {
|
|
32
|
-
"@vc-shell/framework": "^2.0.
|
|
31
|
+
"@vc-shell/framework": "^2.0.6",
|
|
33
32
|
"@vueuse/core": "^10.0.0",
|
|
34
33
|
"lodash-es": "^4.0.0",
|
|
35
34
|
"vee-validate": "^4.12.0",
|
|
@@ -38,9 +37,8 @@
|
|
|
38
37
|
"vue-router": "^4.0.0 || ^5.0.0"
|
|
39
38
|
},
|
|
40
39
|
"devDependencies": {
|
|
41
|
-
"@
|
|
42
|
-
"@vc-shell/
|
|
43
|
-
"@vc-shell/ts-config": "2.0.4",
|
|
40
|
+
"@vc-shell/framework": "2.0.6",
|
|
41
|
+
"@vc-shell/ts-config": "2.0.6",
|
|
44
42
|
"@vueuse/core": "^10.7.1",
|
|
45
43
|
"lodash-es": "^4.17.21",
|
|
46
44
|
"tsc-alias": "^1.8.8",
|