@module-federation/devtools 0.0.0-main-20260508022256 → 0.0.0-main-20260720131707
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/README.md +3 -0
- package/dist/es/App.js +20 -4
- package/dist/es/App_module.css +3 -3
- package/dist/es/component/DependencyGraphItem/index.js +18 -7
- package/dist/es/component/LoadingTrace/index.js +944 -0
- package/dist/es/component/LoadingTrace/index.module.js +5 -0
- package/dist/es/component/LoadingTrace/index_module.css +876 -0
- package/dist/es/i18n/index.js +178 -0
- package/dist/es/utils/chrome/index.js +40 -21
- package/dist/es/utils/chrome/messages.js +7 -1
- package/dist/es/utils/chrome/observability-plugin.js +93 -0
- package/dist/es/utils/chrome/observability-shared.js +99 -0
- package/dist/es/utils/chrome/observability.js +208 -0
- package/dist/es/utils/chrome/override-remote.js +2 -42
- package/dist/es/utils/chrome/post-message-listener.js +19 -2
- package/dist/es/utils/chrome/snapshot-plugin.js +2 -36
- package/dist/es/utils/data/index.js +5 -25
- package/dist/es/utils/sdk/graph.js +25 -11
- package/dist/es/vendor/basic-proxy-core.js +155 -0
- package/dist/es/worker/index.js +27 -8
- package/dist/lib/App.js +19 -5
- package/dist/lib/App.module.js +0 -1
- package/dist/lib/App_module.css +3 -3
- package/dist/lib/component/DependencyGraph/index.js +0 -1
- package/dist/lib/component/DependencyGraph/index.module.js +0 -1
- package/dist/lib/component/DependencyGraphItem/index.js +18 -8
- package/dist/lib/component/DependencyGraphItem/index.module.js +0 -1
- package/dist/lib/component/Form/index.js +0 -1
- package/dist/lib/component/Form/index.module.js +0 -1
- package/dist/lib/component/LanguageSwitch.js +0 -1
- package/dist/lib/component/Layout/index.js +0 -1
- package/dist/lib/component/Layout/index.module.js +0 -1
- package/dist/lib/component/LoadingTrace/index.js +953 -0
- package/dist/lib/component/LoadingTrace/index.module.js +24 -0
- package/dist/lib/component/LoadingTrace/index_module.css +876 -0
- package/dist/lib/component/ModuleInfo/index.js +0 -1
- package/dist/lib/component/ModuleInfo/index.module.js +0 -1
- package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.js +0 -1
- package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.module.js +0 -1
- package/dist/lib/component/SharedDepsExplorer/index.js +0 -1
- package/dist/lib/component/SharedDepsExplorer/index.module.js +0 -1
- package/dist/lib/component/SharedDepsExplorer/share-utils.js +0 -1
- package/dist/lib/component/ThemeToggle.js +0 -1
- package/dist/lib/component/ThemeToggle.module.js +0 -1
- package/dist/lib/hooks/useDevtoolsTheme.js +0 -1
- package/dist/lib/i18n/index.js +178 -1
- package/dist/lib/init.js +0 -1
- package/dist/lib/template/constant.js +0 -1
- package/dist/lib/template/index.js +0 -1
- package/dist/lib/utils/chrome/fast-refresh.js +0 -1
- package/dist/lib/utils/chrome/index.js +41 -22
- package/dist/lib/utils/chrome/messages.js +11 -3
- package/dist/lib/utils/chrome/observability-plugin.js +85 -0
- package/dist/lib/utils/chrome/observability-shared.js +125 -0
- package/dist/lib/utils/chrome/observability.js +233 -0
- package/dist/lib/utils/chrome/override-remote.js +5 -53
- package/dist/lib/utils/chrome/post-message-init.js +0 -1
- package/dist/lib/utils/chrome/post-message-listener.js +16 -3
- package/dist/lib/utils/chrome/post-message-start.js +0 -1
- package/dist/lib/utils/chrome/post-message.js +0 -1
- package/dist/lib/utils/chrome/safe-post-message.js +0 -1
- package/dist/lib/utils/chrome/snapshot-plugin.js +5 -47
- package/dist/lib/utils/chrome/storage.js +0 -1
- package/dist/lib/utils/data/index.js +6 -29
- package/dist/lib/utils/index.js +0 -1
- package/dist/lib/utils/sdk/graph.js +25 -12
- package/dist/lib/utils/sdk/index.js +0 -1
- package/dist/lib/utils/types/common.js +0 -1
- package/dist/lib/utils/types/index.js +0 -1
- package/dist/lib/vendor/basic-proxy-core.js +147 -0
- package/dist/lib/worker/index.js +27 -9
- package/dist/types/App.css +13 -0
- package/dist/types/App.js +519 -0
- package/dist/types/App.module.js +24 -0
- package/dist/types/App_module.css +307 -0
- package/dist/types/component/DependencyGraph/index.js +225 -0
- package/dist/types/component/DependencyGraph/index.module.js +24 -0
- package/dist/types/component/DependencyGraph/index_module.css +100 -0
- package/dist/types/component/DependencyGraphItem/index.js +124 -0
- package/dist/types/component/DependencyGraphItem/index.module.js +24 -0
- package/dist/types/component/DependencyGraphItem/index_module.css +95 -0
- package/dist/types/component/Form/index.js +372 -0
- package/dist/types/component/Form/index.module.js +24 -0
- package/dist/types/component/Form/index_module.css +198 -0
- package/dist/types/component/LanguageSwitch.js +79 -0
- package/dist/types/component/Layout/index.js +471 -0
- package/dist/types/component/Layout/index.module.js +24 -0
- package/dist/types/component/Layout/index_module.css +68 -0
- package/dist/types/component/LoadingTrace/index.js +953 -0
- package/dist/types/component/LoadingTrace/index.module.js +24 -0
- package/dist/types/component/LoadingTrace/index_module.css +876 -0
- package/dist/types/component/ModuleInfo/index.js +342 -0
- package/dist/types/component/ModuleInfo/index.module.js +24 -0
- package/dist/types/component/ModuleInfo/index_module.css +184 -0
- package/dist/types/component/SharedDepsExplorer/FocusResultDisplay.js +64 -0
- package/dist/types/component/SharedDepsExplorer/FocusResultDisplay.module.js +24 -0
- package/dist/types/component/SharedDepsExplorer/FocusResultDisplay_module.css +45 -0
- package/dist/types/component/SharedDepsExplorer/index.js +638 -0
- package/dist/types/component/SharedDepsExplorer/index.module.js +24 -0
- package/dist/types/component/SharedDepsExplorer/index_module.css +467 -0
- package/dist/types/component/SharedDepsExplorer/share-utils.js +252 -0
- package/dist/types/component/ThemeToggle.js +48 -0
- package/dist/types/component/ThemeToggle.module.js +24 -0
- package/dist/types/component/ThemeToggle_module.css +12 -0
- package/dist/types/hooks/useDevtoolsTheme.js +100 -0
- package/dist/types/i18n/index.js +721 -0
- package/dist/types/init.js +8 -0
- package/dist/types/src/App.d.ts +1 -1
- package/dist/types/src/component/DependencyGraph/index.d.ts +1 -1
- package/dist/types/src/component/DependencyGraphItem/index.d.ts +1 -1
- package/dist/types/src/component/Form/index.d.ts +1 -1
- package/dist/types/src/component/LanguageSwitch.d.ts +1 -1
- package/dist/types/src/component/Layout/index.d.ts +1 -1
- package/dist/types/src/component/LoadingTrace/index.d.ts +6 -0
- package/dist/types/src/component/ModuleInfo/index.d.ts +1 -1
- package/dist/types/src/component/SharedDepsExplorer/index.d.ts +1 -1
- package/dist/types/src/component/SharedDepsExplorer/share-utils.d.ts +1 -1
- package/dist/types/src/i18n/index.d.ts +1 -1
- package/dist/types/src/template/constant.d.ts +1 -1
- package/dist/types/src/utils/chrome/index.d.ts +2 -1
- package/dist/types/src/utils/chrome/messages.d.ts +3 -0
- package/dist/types/src/utils/chrome/observability-plugin.d.ts +1 -0
- package/dist/types/src/utils/chrome/observability-shared.d.ts +41 -0
- package/dist/types/src/utils/chrome/observability.d.ts +110 -0
- package/dist/types/src/utils/chrome/snapshot-plugin.d.ts +0 -3
- package/dist/types/src/utils/data/index.d.ts +1 -2
- package/dist/types/src/utils/sdk/graph.d.ts +1 -1
- package/dist/types/src/utils/sdk/index.d.ts +2 -2
- package/dist/types/stories/index.stories.d.ts +2 -1
- package/dist/types/template/constant.js +84 -0
- package/dist/types/template/index.js +21 -0
- package/dist/types/utils/chrome/fast-refresh.js +329 -0
- package/dist/types/utils/chrome/index.js +321 -0
- package/dist/types/utils/chrome/messages.js +39 -0
- package/dist/types/utils/chrome/observability-plugin.js +85 -0
- package/dist/types/utils/chrome/observability-shared.js +125 -0
- package/dist/types/utils/chrome/observability.js +233 -0
- package/dist/types/utils/chrome/override-remote.js +17 -0
- package/dist/types/utils/chrome/post-message-init.js +5 -0
- package/dist/types/utils/chrome/post-message-listener.js +36 -0
- package/dist/types/utils/chrome/post-message-start.js +10 -0
- package/dist/types/utils/chrome/post-message.js +91 -0
- package/dist/types/utils/chrome/safe-post-message.js +147 -0
- package/dist/types/utils/chrome/snapshot-plugin.js +17 -0
- package/dist/types/utils/chrome/storage.js +71 -0
- package/dist/types/utils/data/index.js +83 -0
- package/dist/types/utils/index.js +27 -0
- package/dist/types/utils/sdk/graph.js +213 -0
- package/dist/types/utils/sdk/index.js +104 -0
- package/dist/types/utils/types/common.js +15 -0
- package/dist/types/utils/types/index.js +21 -0
- package/dist/types/vendor/basic-proxy-core.js +147 -0
- package/dist/types/worker/index.js +175 -0
- package/package.json +8 -8
- package/dist/es/utils/data/snapshot.js +0 -82
- package/dist/lib/utils/data/snapshot.js +0 -107
- package/dist/types/src/utils/data/snapshot.d.ts +0 -3
package/README.md
CHANGED
|
@@ -4,5 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
- Proxy online Module Federation remote module to local
|
|
6
6
|
- Let proxied remote module get hmr
|
|
7
|
+
- Inject the Chrome-specific observability runtime plugin from the Loading Trace
|
|
8
|
+
tab, receive page events through `window.postMessage`, and export collected
|
|
9
|
+
loading reports
|
|
7
10
|
|
|
8
11
|
https://module-federation.io/
|
package/dist/es/App.js
CHANGED
|
@@ -46,10 +46,12 @@ import ProxyLayout from "./component/Layout";
|
|
|
46
46
|
import Dependency from "./component/DependencyGraph";
|
|
47
47
|
import ModuleInfo from "./component/ModuleInfo";
|
|
48
48
|
import SharedDepsExplorer from "./component/SharedDepsExplorer";
|
|
49
|
+
import LoadingTrace from "./component/LoadingTrace";
|
|
49
50
|
import LanguageSwitch from "./component/LanguageSwitch";
|
|
50
51
|
import ThemeToggle from "./component/ThemeToggle";
|
|
51
52
|
import {
|
|
52
53
|
getGlobalModuleInfo,
|
|
54
|
+
normalizeModuleInfoPayload,
|
|
53
55
|
refreshModuleInfo,
|
|
54
56
|
separateType,
|
|
55
57
|
syncActiveTab
|
|
@@ -62,10 +64,10 @@ import styles from "./App.module";
|
|
|
62
64
|
import btnStyles from "./component/ThemeToggle.module";
|
|
63
65
|
const cloneModuleInfo = (info) => {
|
|
64
66
|
try {
|
|
65
|
-
return
|
|
67
|
+
return normalizeModuleInfoPayload(info);
|
|
66
68
|
} catch (error) {
|
|
67
69
|
console.warn("[MF Devtools] cloneModuleInfo failed", error);
|
|
68
|
-
return
|
|
70
|
+
return {};
|
|
69
71
|
}
|
|
70
72
|
};
|
|
71
73
|
const normalizeShareValue = (target, seen = /* @__PURE__ */ new WeakSet()) => {
|
|
@@ -119,6 +121,7 @@ const NAV_ITEMS = [
|
|
|
119
121
|
{ key: "proxy", i18nKey: "app.nav.proxy" },
|
|
120
122
|
{ key: "dependency", i18nKey: "app.nav.dependency" },
|
|
121
123
|
{ key: "share", i18nKey: "app.nav.share" },
|
|
124
|
+
{ key: "loadingTrace", i18nKey: "app.nav.loadingTrace" },
|
|
122
125
|
{ key: "performance", i18nKey: "app.nav.performance" }
|
|
123
126
|
];
|
|
124
127
|
const THEME_STORAGE_KEY = "mf-devtools-theme";
|
|
@@ -151,6 +154,7 @@ const InnerApp = (props) => {
|
|
|
151
154
|
const [inspectedTab, setInspectedTab] = useState(
|
|
152
155
|
window.targetTab
|
|
153
156
|
);
|
|
157
|
+
const [inspectedTabRefreshKey, setInspectedTabRefreshKey] = useState(0);
|
|
154
158
|
const [activePanel, setActivePanel] = useState("proxy");
|
|
155
159
|
const [selectedModuleId, setSelectedModuleId] = useState(null);
|
|
156
160
|
const [refreshing, setRefreshing] = useState(false);
|
|
@@ -258,10 +262,14 @@ const InnerApp = (props) => {
|
|
|
258
262
|
};
|
|
259
263
|
}, [applyModuleUpdate]);
|
|
260
264
|
useEffect(() => {
|
|
261
|
-
const updateActiveTab = (tabId) => __async(void 0, null, function* () {
|
|
265
|
+
const updateActiveTab = (tabId, options) => __async(void 0, null, function* () {
|
|
262
266
|
var _a, _b;
|
|
263
267
|
const tab = yield syncActiveTab(tabId);
|
|
264
268
|
setInspectedTab(tab || void 0);
|
|
269
|
+
if ((options == null ? void 0 : options.status) === "loading") {
|
|
270
|
+
setInspectedTabRefreshKey((key) => key + 1);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
265
273
|
if ((_a = window.__FEDERATION__) == null ? void 0 : _a.moduleInfo) {
|
|
266
274
|
applyModuleUpdate(cloneModuleInfo((_b = window.__FEDERATION__) == null ? void 0 : _b.moduleInfo));
|
|
267
275
|
}
|
|
@@ -269,7 +277,7 @@ const InnerApp = (props) => {
|
|
|
269
277
|
});
|
|
270
278
|
const onMessage = (message, _sender, _sendResponse) => {
|
|
271
279
|
if ((message == null ? void 0 : message.type) === MESSAGE_ACTIVE_TAB_CHANGED) {
|
|
272
|
-
updateActiveTab(message.tabId);
|
|
280
|
+
updateActiveTab(message.tabId, { status: message.status });
|
|
273
281
|
}
|
|
274
282
|
};
|
|
275
283
|
chrome.runtime.onMessage.addListener(onMessage);
|
|
@@ -397,6 +405,14 @@ const InnerApp = (props) => {
|
|
|
397
405
|
)
|
|
398
406
|
}
|
|
399
407
|
);
|
|
408
|
+
case "loadingTrace":
|
|
409
|
+
return /* @__PURE__ */ jsx(
|
|
410
|
+
LoadingTrace,
|
|
411
|
+
{
|
|
412
|
+
tabId: inspectedTab == null ? void 0 : inspectedTab.id,
|
|
413
|
+
resetKey: inspectedTabRefreshKey
|
|
414
|
+
}
|
|
415
|
+
);
|
|
400
416
|
case "performance":
|
|
401
417
|
return /* @__PURE__ */ jsx("div", { className: styles.placeholder, children: t("app.performance.placeholder") });
|
|
402
418
|
default:
|
package/dist/es/App_module.css
CHANGED
|
@@ -76,10 +76,10 @@ body[arco-theme=dark] {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.activeTab_ae2ee {
|
|
79
|
-
border-color: rgba(
|
|
80
|
-
background: linear-gradient(135deg, rgba(
|
|
79
|
+
border-color: rgba(24, 24, 27, 0.28);
|
|
80
|
+
background: linear-gradient(135deg, rgba(24, 24, 27, 0.08), rgba(113, 113, 122, 0.08));
|
|
81
81
|
color: var(--color-text-1, #1e293b);
|
|
82
|
-
box-shadow: 0 12px 28px rgba(
|
|
82
|
+
box-shadow: 0 12px 28px rgba(24, 24, 27, 0.14);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.panel_ae2ee {
|
|
@@ -4,6 +4,23 @@ import { Handle, Position } from "reactflow";
|
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import styles from "./index.module";
|
|
6
6
|
import "reactflow/dist/style.css";
|
|
7
|
+
const parseInfo = (info) => {
|
|
8
|
+
const array = info.split(":");
|
|
9
|
+
const [fallbackName, fallbackVersion = ""] = array;
|
|
10
|
+
const idx = array.findIndex((item, index) => {
|
|
11
|
+
return index > 0 && (item.startsWith("http") || item.startsWith("//"));
|
|
12
|
+
});
|
|
13
|
+
if (idx > 0) {
|
|
14
|
+
return {
|
|
15
|
+
name: array.slice(0, idx).join(":"),
|
|
16
|
+
version: array.slice(idx).join(":")
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
name: fallbackName,
|
|
21
|
+
version: fallbackVersion
|
|
22
|
+
};
|
|
23
|
+
};
|
|
7
24
|
const GraphItem = (props) => {
|
|
8
25
|
const [shareds, setShareds] = useState([]);
|
|
9
26
|
const [exposes, setExposes] = useState([]);
|
|
@@ -11,13 +28,7 @@ const GraphItem = (props) => {
|
|
|
11
28
|
let name;
|
|
12
29
|
let version;
|
|
13
30
|
const { info = "", color, remote } = props.data;
|
|
14
|
-
|
|
15
|
-
if (info.endsWith(".json") || info.endsWith(".js")) {
|
|
16
|
-
name = infoArray.shift();
|
|
17
|
-
version = infoArray.join(":");
|
|
18
|
-
} else {
|
|
19
|
-
[name, version] = infoArray;
|
|
20
|
-
}
|
|
31
|
+
({ name, version } = parseInfo(info));
|
|
21
32
|
const isEntryType = (version == null ? void 0 : version.startsWith("http")) || (version == null ? void 0 : version.startsWith("//"));
|
|
22
33
|
useEffect(() => {
|
|
23
34
|
var _a, _b;
|