@lvetechs/micro-app 1.0.1 → 1.0.3

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/style.css ADDED
@@ -0,0 +1 @@
1
+ .micro-app-wrapper,.micro-app-container{width:100%;height:100%}.block{display:block}.hidden{display:none}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * ============================================
3
+ * 微前端服务类型定义
4
+ * ============================================
5
+ */
6
+ /**
7
+ * 子应用状态
8
+ */
9
+ export type MicroAppStatus = 'idle' | 'starting' | 'running' | 'error' | 'stopped';
10
+ /**
11
+ * 子应用加载模式
12
+ */
13
+ export type LoadMode = 'iframe' | 'dynamic';
14
+ /**
15
+ * 子应用配置
16
+ */
17
+ export interface SubAppConfig {
18
+ /** 应用名称,唯一标识 */
19
+ name: string;
20
+ /** 应用入口 URL(远程应用时使用) */
21
+ entry?: string;
22
+ /** 挂载容器的 DOM 节点 */
23
+ container: string;
24
+ /** 描述信息 */
25
+ description?: string;
26
+ /** 优先级,数值越大越先加载 */
27
+ priority?: number;
28
+ /** 是否启用 */
29
+ enabled?: boolean;
30
+ /** 路由规则,用于匹配子应用 */
31
+ active_rule?: string;
32
+ }
33
+ /**
34
+ * 微应用信息(运行时状态)
35
+ */
36
+ export interface MicroAppInfo {
37
+ name: string;
38
+ status: MicroAppStatus;
39
+ startTime?: number;
40
+ error?: string;
41
+ lastCheckTime?: number;
42
+ entry?: string;
43
+ container?: string;
44
+ }
45
+ /**
46
+ * 微应用实例接口
47
+ */
48
+ export interface MicroAppInstance {
49
+ /** 应用名称 */
50
+ name: string;
51
+ /** 获取应用状态 */
52
+ getStatus: () => MicroAppStatus;
53
+ /** 获取应用信息 */
54
+ getInfo: () => MicroAppInfo | undefined;
55
+ /** 启动应用 */
56
+ start: () => void;
57
+ /** 停止应用 */
58
+ stop: () => void;
59
+ /** 重启应用 */
60
+ restart: () => void;
61
+ /** 手动更新状态 */
62
+ updateStatus: (status: MicroAppStatus, error?: string) => void;
63
+ /** 订阅状态变化 */
64
+ onStatusChange: (callback: (status: MicroAppStatus, info?: MicroAppInfo) => void) => () => void;
65
+ /** 健康检查 */
66
+ checkHealth: () => Promise<boolean>;
67
+ }
68
+ /**
69
+ * 微前端服务配置
70
+ */
71
+ export interface MicroAppOptions {
72
+ /** 子应用配置数组 */
73
+ apps: SubAppConfig[];
74
+ /** 错误回调 */
75
+ onError?: (error: Error, appName?: string) => void;
76
+ /** 状态变化回调 */
77
+ onStatusChange?: (name: string, status: MicroAppStatus) => void;
78
+ /** 加载完成回调 */
79
+ onLoad?: (appName: string) => void;
80
+ }
81
+ /**
82
+ * 微前端服务实例
83
+ */
84
+ export interface MicroAppService {
85
+ /** 启动所有应用 */
86
+ start: () => void;
87
+ /** 停止所有应用 */
88
+ stop: () => void;
89
+ /** 启动指定应用 */
90
+ startApp: (name: string) => void;
91
+ /** 停止指定应用 */
92
+ stopApp: (name: string) => void;
93
+ /** 重启指定应用 */
94
+ restartApp: (name: string) => void;
95
+ /** 获取指定应用实例 */
96
+ getApp: (name: string) => MicroAppInstance | null;
97
+ /** 获取所有应用 */
98
+ getAllApps: () => Map<string, MicroAppInstance>;
99
+ /** 监听所有应用状态变化 */
100
+ onAppChange: (callback: (name: string, status: MicroAppStatus) => void) => () => void;
101
+ /** 监听指定应用状态变化 */
102
+ onStatusChange: (name: string, callback: (status: MicroAppStatus) => void) => () => void;
103
+ /** 销毁实例 */
104
+ destroy: () => void;
105
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvetechs/micro-app",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "轻量级微前端框架 - 支持函数式和组件式实例化",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,6 +12,13 @@
12
12
  "LICENSE",
13
13
  "README.md"
14
14
  ],
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.mjs",
19
+ "require": "./dist/index.js"
20
+ }
21
+ },
15
22
  "peerDependencies": {
16
23
  "react": "^18.2.0",
17
24
  "react-dom": "^18.2.0",