@vnb/mfe-events 0.0.1-rc.7 → 0.0.1-rc.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/README.md CHANGED
@@ -349,8 +349,8 @@ shlBus.on(EvtShl.TabOverflow, (data) => {
349
349
  | **AuthSelfOk** | `mfe:auth-self-ok` | App → Shell | 自行登录成功 | `{ appId: string; user?: any; token?: string }` | "我自行登录成功了" |
350
350
  | **AuthSelfErr** | `mfe:auth-self-err` | App → Shell | 自行登录失败 | `{ appId: string; reason?: string }` | "我自行登录失败了" |
351
351
  | **AuthSelfDeny** | `mfe:auth-self-deny` | App → Shell | 子应用拒绝加载,请求基座卸载 | `{ appId: string; reason?: string }` | "我不想被加载,卸载掉我" |
352
- | **RouteNavigate** | `mfe:route-navigate` | Shell → App | Shell 指定子应用导航到路径(`emitTo` 定向) | `{ path: string }` | "跳到这个路径去" |
353
- | **RouteRefresh** | `mfe:route-refresh` | Shell → App | 要求子应用刷新当前页面,保留路由(`emitTo` 定向) | `{ path: string }` | "刷新你当前的路由/页面" |
352
+ | **RouteNavigate** | `mfe:route-navigate` | Shell → App | Shell 指定子应用导航到路径(`emitTo` 定向) | `{ path: string; appId?: string }` | "跳到这个路径去" |
353
+ | **RouteRefresh** | `mfe:route-refresh` | Shell → App | 要求子应用刷新当前页面,保留路由(`emitTo` 定向) | `{ path: string; appId?: string }` | "刷新你当前的路由/页面" |
354
354
  | **RouteChange** | `mfe:route-change` | App → Shell | 子应用上报路由变化 | `{ appId: string; path: string }` | "我路由变了,跟一下" |
355
355
  | **LifecycleAppClose** | `mfe:lifecycle-app-close` | Shell → App | Shell 关闭子应用 | `{ appId: string }` | "我要关掉你了" |
356
356
  | **LifecycleAppReady** | `mfe:lifecycle-app-ready` | App → Shell | 子应用初始化完成 | `{ appId: string }` | "我加载完了" |
package/dist/bus.d.ts CHANGED
@@ -17,7 +17,6 @@ export declare class Bus<T extends Record<string, any>> {
17
17
  * Returns unsubscribe function
18
18
  */
19
19
  on<K extends keyof T>(event: K, handler: (data: T[K]) => void, options?: {
20
- priority?: number;
21
20
  once?: boolean;
22
21
  }): () => void;
23
22
  /**
@@ -25,5 +24,9 @@ export declare class Bus<T extends Record<string, any>> {
25
24
  * Returns unsubscribe function
26
25
  */
27
26
  once<K extends keyof T>(event: K, handler: (data: T[K]) => void): () => void;
27
+ /**
28
+ * Destroy the bus and clean up all resources
29
+ */
30
+ destroy(): void;
28
31
  }
29
32
  //# sourceMappingURL=bus.d.ts.map
package/dist/bus.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../src/bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAChC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAExC;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAClB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9C,MAAM,IAAI;IAOb;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAO7E"}
1
+ {"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../src/bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAChC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAExC;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAClB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,MAAM,IAAI;IAOb;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAQ5E;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export { MemoryTransport, WindowTransport, PostMessageTransport, IframeProxyTran
20
20
  export type { Transport } from './transport';
21
21
  export { Bus } from './bus';
22
22
  export { EvtShl, EvtMfe, EvtApp } from './constants';
23
- export type { PayloadShl, PayloadMfe, PayloadApp, NotificationType, NotificationConfig, AppType, AppMeta, PluginOptions, } from './types';
23
+ export type { PayloadShl, PayloadMfe, PayloadApp, NotificationType, NotificationConfig, AppType, AppMeta, PluginOptions, User, AppState, BreakpointValue, DeviceTypeValue, } from './types';
24
24
  export { Breakpoint, DeviceType, breakpointToDevice, } from './types';
25
25
  export { mfeEventPlugin } from './plugin';
26
26
  export type { default as MfeEventPlugin } from './plugin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3G,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrD,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOrD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAA6C,CAAC;AAwBjE,eAAO,MAAM,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3G,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrD,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOrD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAA6C,CAAC;AAmBjE,eAAO,MAAM,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vnb/mfe-events v0.0.1-rc.7
2
+ * @vnb/mfe-events v0.0.1-rc.8
3
3
  * Micro frontend event plugin for cross-app communication with type safety
4
4
  * License: MIT
5
5
  */
@@ -32,27 +32,47 @@ class MemoryTransport {
32
32
  this.target.addEventListener(event, wrapper);
33
33
  return () => this.target.removeEventListener(event, wrapper);
34
34
  }
35
+ destroy() {
36
+ this.target = new EventTarget();
37
+ }
35
38
  }
36
39
  /**
37
40
  * WindowTransport — MF/NF Remote Apps communication
38
41
  * Uses window.CustomEvent for same-tab communication
39
42
  */
40
43
  class WindowTransport {
44
+ constructor() {
45
+ this.listeners = new Map();
46
+ }
41
47
  emit(event, data) {
42
48
  window.dispatchEvent(new CustomEvent(event, { detail: data }));
43
49
  }
44
50
  on(event, handler) {
45
51
  const wrapper = (e) => handler(e.detail);
46
52
  window.addEventListener(event, wrapper);
47
- return () => window.removeEventListener(event, wrapper);
53
+ this.listeners.set(event, wrapper);
54
+ return () => {
55
+ window.removeEventListener(event, wrapper);
56
+ this.listeners.delete(event);
57
+ };
58
+ }
59
+ destroy() {
60
+ this.listeners.forEach((wrapper, event) => {
61
+ window.removeEventListener(event, wrapper);
62
+ });
63
+ this.listeners.clear();
48
64
  }
49
65
  }
50
66
  /**
51
67
  * PostMessageTransport — iframe Remote Apps communication
52
68
  * Uses window.postMessage for cross-origin communication
69
+ *
70
+ * 注意:Shell 环境下不要使用此Transport(Shell 应使用 IframeProxyTransport)。
71
+ * 此Transport 用于 iframe 子应用向 parent Shell 发送消息。
53
72
  */
54
73
  class PostMessageTransport {
55
74
  constructor(options = {}) {
75
+ this.listeners = new Map();
56
76
  this.targetWindow = options.targetWindow || window.parent;
57
77
  this.targetOrigin = options.targetOrigin || '*';
58
78
  }
@@ -66,7 +86,17 @@ class PostMessageTransport {
66
86
  }
67
87
  };
68
88
  window.addEventListener('message', wrapper);
69
- return () => window.removeEventListener('message', wrapper);
89
+ this.listeners.set(event, wrapper);
90
+ return () => {
91
+ window.removeEventListener('message', wrapper);
92
+ this.listeners.delete(event);
93
+ };
94
+ }
95
+ destroy() {
96
+ this.listeners.forEach((wrapper) => {
97
+ window.removeEventListener('message', wrapper);
98
+ });
99
+ this.listeners.clear();
70
100
  }
71
101
  }
72
102
  /**
@@ -75,6 +105,7 @@ class PostMessageTransport {
75
105
  */
76
106
  class IframeProxyTransport {
77
107
  constructor(iframe, targetOrigin = '*') {
108
+ this.listeners = new Map();
78
109
  this.iframe = iframe;
79
110
  this.targetOrigin = targetOrigin;
80
111
  }
@@ -83,7 +114,6 @@ class IframeProxyTransport {
83
114
  }
84
115
  on(event, handler) {
85
116
  const wrapper = (e) => {
86
- // Only receive messages from this specific iframe
87
117
  if (e.source === this.iframe.contentWindow &&
88
118
  e.data?.scope === 'mfe' &&
89
119
  e.data?.event === event) {
@@ -91,18 +121,20 @@ class IframeProxyTransport {
91
121
  }
92
122
  };
93
123
  window.addEventListener('message', wrapper);
94
- return () => window.removeEventListener('message', wrapper);
124
+ this.listeners.set(event, wrapper);
125
+ return () => {
126
+ window.removeEventListener('message', wrapper);
127
+ this.listeners.delete(event);
128
+ };
129
+ }
130
+ destroy() {
131
+ this.listeners.forEach((wrapper) => {
132
+ window.removeEventListener('message', wrapper);
133
+ });
134
+ this.listeners.clear();
95
135
  }
96
136
  }
97
137
 
98
- var transport = /*#__PURE__*/Object.freeze({
99
- __proto__: null,
100
- IframeProxyTransport: IframeProxyTransport,
101
- MemoryTransport: MemoryTransport,
102
- PostMessageTransport: PostMessageTransport,
103
- WindowTransport: WindowTransport
104
- });
105
-
106
138
  /**
107
139
  * @xxxx/mfe-events — Type-safe Event Bus
108
140
  *
@@ -140,6 +172,12 @@ class Bus {
140
172
  });
141
173
  return off;
142
174
  }
175
+ /**
176
+ * Destroy the bus and clean up all resources
177
+ */
178
+ destroy() {
179
+ this.transport.destroy?.();
180
+ }
143
181
  }
144
182
 
145
183
  /**
@@ -212,7 +250,7 @@ const EvtMfe = {
212
250
  // ─────────────────────────────────────────────
213
251
  function EvtApp(appId, name) {
214
252
  if (!appId || !name) {
215
- console.warn("[EvtApp] appId and name must not be empty");
253
+ console.warn('[EvtApp] appId and name must not be empty');
216
254
  return '';
217
255
  }
218
256
  return `app:${appId}-${name}`;
@@ -250,7 +288,7 @@ function breakpointToDevice(bp) {
250
288
  *
251
289
  * MfeEventPlugin manages Remote App registration and provides:
252
290
  * - register/unregister for Remote Apps
253
- * - emitTo for targeted communication
291
+ * - emitTo for targeted communication (with 3-tier fallback)
254
292
  * - emit for broadcast communication
255
293
  * - Notification API (success/info/warning/danger)
256
294
  * - Automatic iframe message proxying
@@ -297,6 +335,18 @@ class MfeEventPlugin {
297
335
  }
298
336
  }
299
337
  // ─────────────────────────────────────────
338
+ // Environment Detection
339
+ // ─────────────────────────────────────────
340
+ /**
341
+ * Auto-detect current runtime environment.
342
+ * - iframe (window.self !== window.top) → 'iframe'
343
+ * - top-level window → 'nf' (Native Federation)
344
+ * - Webpack MF sub-app (also top-level) → 'nf', can explicitly pass type:'mf'
345
+ */
346
+ detectType() {
347
+ return typeof window !== 'undefined' && window.self !== window.top ? 'iframe' : 'nf';
348
+ }
349
+ // ─────────────────────────────────────────
300
350
  // Custom Renderer (for Shell integration)
301
351
  // ─────────────────────────────────────────
302
352
  /**
@@ -488,7 +538,7 @@ class MfeEventPlugin {
488
538
  this._notifyItems.delete(id);
489
539
  }
490
540
  this._pendingClosers.delete(id);
491
- // NotifyShell listeners of close — keep DOM and programmatic paths symmetric
541
+ // Dispatch NotifyClose — keep DOM and programmatic paths symmetric
492
542
  window.dispatchEvent(new CustomEvent(EvtMfe.NotifyClose, {
493
543
  detail: { id },
494
544
  bubbles: true,
@@ -507,7 +557,7 @@ class MfeEventPlugin {
507
557
  *
508
558
  * `options.type` 可选 —— 不传时自动识别环境:
509
559
  * - iframe 内(window.self !== window.top)→ 'iframe':监听 postMessage,
510
- * 并自动建立下行 message → CustomEvent 桥,同窗自定义事件也能收到(无需手写桥)。
560
+ * 并自动建立下行 message → CustomEvent 桥,同窗自定义事件也能收到。
511
561
  * - 顶层 window → 'nf'(Native Federation,监听 CustomEvent);
512
562
  * Webpack MF 同窗也是 CustomEvent,可显式传 type:'mf'。
513
563
  */
@@ -534,7 +584,7 @@ class MfeEventPlugin {
534
584
  };
535
585
  window.addEventListener('message', msgWrapper);
536
586
  cleanups.push(() => window.removeEventListener('message', msgWrapper));
537
- // 自动桥:Shell postMessage → 同窗 CustomEvent,让监听 CustomEvent 的逻辑也能收到
587
+ // Auto-bridge: Shell postMessage → same-tab CustomEvent
538
588
  const ceWrapper = (e) => handler(e.detail);
539
589
  window.addEventListener(event, ceWrapper);
540
590
  cleanups.push(() => window.removeEventListener(event, ceWrapper));
@@ -548,43 +598,16 @@ class MfeEventPlugin {
548
598
  });
549
599
  this.registry.set(options.appId, { meta, options, cleanups });
550
600
  }
551
- /**
552
- * 自动识别当前运行环境,选择事件监听通道。
553
- * - iframe 内(被 Shell 托管,window.self !== window.top)→ 'iframe'(postMessage)
554
- * - 顶层 window(MF/NF 子应用)→ 'mf'(CustomEvent)
555
- */
556
- /**
557
- * 自动识别当前运行环境,选择事件监听通道。
558
- * - iframe 内(被 Shell 托管,window.self !== window.top)→ 'iframe'(postMessage)
559
- * - 顶层 window → 'nf'(Native Federation,CustomEvent 广播)
560
- * - Webpack MF 子应用(同为顶层同窗)与 NF 一样走 CustomEvent,可显式传 type:'mf'
561
- */
562
- detectType() {
563
- return typeof window !== 'undefined' && window.self !== window.top ? 'iframe' : 'nf';
564
- }
565
601
  /**
566
602
  * Register an iframe Remote App (Shell side)
567
603
  */
568
604
  registerIframe(appId, iframe, targetOrigin) {
569
- const TIMEOUT_MS = 5000;
570
- Promise.resolve().then(function () { return transport; })
571
- .then(({ IframeProxyTransport }) => {
572
- const transport = new IframeProxyTransport(iframe, targetOrigin);
573
- this.registry.set(appId, {
574
- meta: { appId, type: 'iframe', transport },
575
- options: { appId, type: 'iframe', handlers: {} },
576
- cleanups: [],
577
- });
578
- })
579
- .catch((err) => {
580
- MfeEventPlugin._logError('registerIframe', 'failed to load transport for', `"${appId}": ${err}`);
605
+ const transport = new IframeProxyTransport(iframe, targetOrigin);
606
+ this.registry.set(appId, {
607
+ meta: { appId, type: 'iframe', transport },
608
+ options: { appId, type: 'iframe', handlers: {} },
609
+ cleanups: [],
581
610
  });
582
- // Timeout protection — if import hangs, registry stays clean and caller knows nothing
583
- setTimeout(() => {
584
- if (!this.registry.has(appId)) {
585
- MfeEventPlugin._logError('registerIframe', 'timeout', `${TIMEOUT_MS}ms for "${appId}"`);
586
- }
587
- }, TIMEOUT_MS);
588
611
  }
589
612
  /**
590
613
  * Unregister a Remote App
@@ -593,15 +616,33 @@ class MfeEventPlugin {
593
616
  const entry = this.registry.get(appId);
594
617
  if (entry) {
595
618
  entry.cleanups.forEach((fn) => fn());
619
+ entry.meta.transport?.destroy?.();
596
620
  }
597
621
  this.registry.delete(appId);
598
622
  }
623
+ /**
624
+ * Unregister all Remote Apps
625
+ */
626
+ unregisterAll() {
627
+ this.registry.forEach((entry) => {
628
+ entry.cleanups.forEach((fn) => fn());
629
+ entry.meta.transport?.destroy?.();
630
+ });
631
+ this.registry.clear();
632
+ }
633
+ /**
634
+ * Check if an app is registered
635
+ */
636
+ has(appId) {
637
+ return this.registry.has(appId);
638
+ }
599
639
  // ─────────────────────────────────────────
600
640
  // Shell Targeted Communication
601
641
  // ─────────────────────────────────────────
602
642
  /**
603
643
  * Send event to a specific Remote App
604
644
  *
645
+ * 3-tier fallback:
605
646
  * 1. Registry hit → send directly
606
647
  * 2. DOM scan → find iframe[data-mfe-app="appId"], create transport on-the-fly
607
648
  * 3. Fallback → broadcast with appId for self-filtering
@@ -624,19 +665,19 @@ class MfeEventPlugin {
624
665
  // 2. DOM scan: iframe[data-mfe-app="appId"]
625
666
  const iframe = document.querySelector(`iframe[data-mfe-app="${appId}"]`);
626
667
  if (iframe) {
627
- Promise.resolve().then(function () { return transport; }).then(({ IframeProxyTransport }) => {
628
- const transport = new IframeProxyTransport(iframe);
629
- this.registry.set(appId, {
630
- meta: { appId, type: 'iframe', transport },
631
- options: { appId, type: 'iframe', handlers: {} },
632
- cleanups: [],
633
- });
634
- transport.emit(event, data);
668
+ const transport = new IframeProxyTransport(iframe);
669
+ this.registry.set(appId, {
670
+ meta: { appId, type: 'iframe', transport },
671
+ options: { appId, type: 'iframe', handlers: {} },
672
+ cleanups: [],
635
673
  });
674
+ transport.emit(event, data);
636
675
  return;
637
676
  }
638
- // 3. Fallback: broadcast with appId
639
- this.emit(event, { ...data, appId });
677
+ // 3. Fallback: broadcast with appId for self-filtering
678
+ const fallbackData = { ...data };
679
+ fallbackData.appId = appId;
680
+ this.emit(event, fallbackData);
640
681
  }
641
682
  // ─────────────────────────────────────────
642
683
  // Shell Broadcast Communication
@@ -645,13 +686,12 @@ class MfeEventPlugin {
645
686
  * Broadcast event to all Remote Apps (MF + iframe)
646
687
  *
647
688
  * - MF/NF: window CustomEvent
648
- * - iframe: postMessage to every iframe marked with data-mfe-app
649
- * (含已注册的 iframe;子应用按 event/appId 自行过滤)
689
+ * - iframe: postMessage to every iframe with data-mfe-app attribute
650
690
  */
651
691
  emit(event, data) {
652
692
  // Broadcast to all MF/NF Remote Apps via CustomEvent
653
693
  window.dispatchEvent(new CustomEvent(event, { detail: data }));
654
- // Broadcast to all iframes carrying a data-mfe-app attribute (including registered ones)
694
+ // Broadcast to all iframes with data-mfe-app attribute
655
695
  document.querySelectorAll('iframe[data-mfe-app]').forEach((iframe) => {
656
696
  iframe.contentWindow?.postMessage({ scope: 'mfe', event, data, ts: Date.now() }, '*');
657
697
  });
@@ -685,11 +725,6 @@ class MfeEventPlugin {
685
725
  }
686
726
  /**
687
727
  * Build the closer function for a notification
688
- *
689
- * Render path determines closer behavior:
690
- * - _customRenderer (Shell): dispatch NotifyClose + customCloser
691
- * - appWithFallback: dispatch NotifyClose + fallback.close()
692
- * - DOM fallback: _removeToast (which dispatches NotifyClose itself)
693
728
  */
694
729
  _buildCloser(id, renderPath, fallbackCloser) {
695
730
  return () => {
@@ -709,7 +744,6 @@ class MfeEventPlugin {
709
744
  fallbackCloser?.close();
710
745
  break;
711
746
  case 'dom':
712
- // _removeToast dispatches NotifyClose itself (symmetric with DOM-driven closes)
713
747
  this._removeToast(id);
714
748
  break;
715
749
  }
@@ -720,7 +754,6 @@ class MfeEventPlugin {
720
754
  * Show a notification
721
755
  *
722
756
  * Flow: dispatch NotifyShow → render (custom > fallback > DOM) → register closer
723
- * The closer is registered exactly once per notification, no overwrite.
724
757
  */
725
758
  notify(config) {
726
759
  if (typeof window === 'undefined')
@@ -740,19 +773,16 @@ class MfeEventPlugin {
740
773
  // 2. Render + register closer (exactly once per path)
741
774
  let closer;
742
775
  if (this._customRenderer) {
743
- // Shell path: custom renderer handles display
744
776
  this._customRenderer(finalConfig);
745
777
  closer = this._buildCloser(id, 'custom');
746
778
  }
747
779
  else {
748
- // Check if any registered app provided a fallback renderer
749
780
  const appWithFallback = [...this.registry.values()].find((app) => app.options.fallback);
750
781
  if (appWithFallback) {
751
782
  const fallbackCloser = appWithFallback.options.fallback(finalConfig);
752
783
  closer = this._buildCloser(id, 'fallback', fallbackCloser);
753
784
  }
754
785
  else {
755
- // DOM fallback
756
786
  this._renderToast(finalConfig);
757
787
  closer = this._buildCloser(id, 'dom');
758
788
  }
@@ -800,21 +830,15 @@ class MfeEventPlugin {
800
830
  }
801
831
  /**
802
832
  * Close all notifications
803
- *
804
- * Snapshot closers before iteration to prevent re-entrancy:
805
- * a closer may dispatch new events that add to _pendingClosers.
806
833
  */
807
834
  closeAll() {
808
- // Snapshot — closers may trigger new notify() calls
809
835
  const closers = [...this._pendingClosers.values()];
810
836
  this._pendingClosers.clear();
811
837
  closers.forEach((closer) => closer());
812
- // Dispatch close-all event
813
838
  window.dispatchEvent(new CustomEvent(EvtMfe.NotifyCloseAll, {
814
839
  detail: {},
815
840
  bubbles: true,
816
841
  }));
817
- // Clear DOM toasts
818
842
  if (this._customClear) {
819
843
  this._customClear();
820
844
  }
@@ -930,16 +954,11 @@ const shlBus = new Bus(new MemoryTransport());
930
954
  */
931
955
  function createMfeBus() {
932
956
  if (typeof window === 'undefined') {
933
- // SSR fallback — use MemoryTransport
934
957
  return new Bus(new MemoryTransport());
935
958
  }
936
959
  if (window.self !== window.top) {
937
- // iframe environment → send to parent via postMessage
938
960
  return new Bus(new PostMessageTransport());
939
961
  }
940
- // Shell/MF/NF environment → use window.CustomEvent
941
- // Federation modules may not share the same instance,
942
- // so window is used as the shared channel fallback
943
962
  return new Bus(new WindowTransport());
944
963
  }
945
964
  const mfeBus = createMfeBus();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/transport.ts","../src/bus.ts","../src/constants.ts","../src/types.ts","../src/plugin.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/transport.ts","../src/bus.ts","../src/constants.ts","../src/types.ts","../src/plugin.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}