@fulgurjs/federation 6.12.5 → 6.12.7
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/README.en.md +12 -5
- package/README.md +11 -4
- package/dist/cli.js +5 -3
- package/dist/index.cjs +6 -4
- package/dist/index.js +6 -4
- package/dist/runtime.js +1 -1
- package/docs/en/reference/api.md +64 -100
- package/docs/en/reference/errors.md +2 -2
- package/docs/en/reference/types.md +161 -162
- package/docs/zh/reference/api.md +69 -104
- package/docs/zh/reference/errors.md +3 -3
- package/docs/zh/reference/types.md +86 -86
- package/examples/templates/react-host-vue-remote/pnpm-lock.yaml +7 -7
- package/examples/templates/react-host-vue-remote/pnpm-workspace.yaml +1 -1
- package/examples/templates/react-host-vue-remote/react-host/package.json +1 -1
- package/examples/templates/react-host-vue-remote/vue-remote/package.json +1 -1
- package/examples/templates/react-react/host/package.json +1 -1
- package/examples/templates/react-react/pnpm-lock.yaml +7 -7
- package/examples/templates/react-react/pnpm-workspace.yaml +1 -1
- package/examples/templates/react-react/remote/package.json +1 -1
- package/examples/templates/showcase/pnpm-lock.yaml +11 -11
- package/examples/templates/showcase/pnpm-workspace.yaml +1 -1
- package/examples/templates/showcase/react-host/package.json +1 -1
- package/examples/templates/showcase/react-remote/package.json +1 -1
- package/examples/templates/showcase/vue-host/package.json +1 -1
- package/examples/templates/showcase/vue-remote/package.json +1 -1
- package/examples/templates/vue-host-react-remote/pnpm-lock.yaml +7 -7
- package/examples/templates/vue-host-react-remote/pnpm-workspace.yaml +1 -1
- package/examples/templates/vue-host-react-remote/react-remote/package.json +1 -1
- package/examples/templates/vue-host-react-remote/vue-host/package.json +1 -1
- package/examples/templates/vue-vue/host/package.json +1 -1
- package/examples/templates/vue-vue/pnpm-lock.yaml +7 -7
- package/examples/templates/vue-vue/pnpm-workspace.yaml +1 -1
- package/examples/templates/vue-vue/remote/package.json +1 -1
- package/package.json +1 -1
|
@@ -12,18 +12,18 @@ Vite 联邦插件配置.
|
|
|
12
12
|
|
|
13
13
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
14
14
|
|---|---|---|---|
|
|
15
|
-
| `name` | no | `string` |
|
|
16
|
-
| `filename` | yes | `string` |
|
|
17
|
-
| `exposes` | yes | `Record<string, string \| ExposeHint>` |
|
|
18
|
-
| `setup` | yes | `string` |
|
|
19
|
-
| `remotes` | yes | `Record<string, string \| RemoteEntryConfig \| (() => Promise<any>)>` |
|
|
20
|
-
| `shared` | yes | `SharedConfig` |
|
|
21
|
-
| `shareScope` | yes | `string` |
|
|
22
|
-
| `manifest` | yes | `boolean \| Record<string, unknown>` |
|
|
23
|
-
| `runtimePlugins` | yes | `string[]` |
|
|
15
|
+
| `name` | no | `string` | 页面内唯一容器名,字母开头,后续仅字母/数字/下划线/点/连字符;必填。 |
|
|
16
|
+
| `filename` | yes | `string` | 生产容器入口文件名,默认 fulgurjs-remoteEntry.js;部署缓存规则与 doctor --entry 同步调整。 |
|
|
17
|
+
| `exposes` | yes | `Record<string, string \| ExposeHint>` | 对外暴露的模块键与真实源文件映射;组件和普通模块都可暴露。 |
|
|
18
|
+
| `setup` | yes | `string` | 可选初始化模块路径。default setup 函数可省略,但模块必须至少声明 default/onSession/globalComponents/pageProviders 中一项;按应用、会话或消费方的执行粒度见 [setup 合同](api.md#setuponsession-远程初始化生命周期)。 |
|
|
19
|
+
| `remotes` | yes | `Record<string, string \| RemoteEntryConfig \| (() => Promise<any>)>` | 远程配置;地址必须在实际使用的 dev/prod 环境可解析。 |
|
|
20
|
+
| `shared` | yes | `SharedConfig` | 参与协商的依赖键与消费条件;不自动创建或共享业务 store 实例。 |
|
|
21
|
+
| `shareScope` | yes | `string` | 共享分组名;不同作用域独立协商,默认 default。 |
|
|
22
|
+
| `manifest` | yes | `boolean \| Record<string, unknown>` | 默认开启生产清单;false 关闭,普通模块加载仍可使用,清单相关检查/预载能力受限。 |
|
|
23
|
+
| `runtimePlugins` | yes | `string[]` | 运行时插件模块路径数组,默认空;相对路径按应用根解析。 |
|
|
24
24
|
| `dts` | yes | `boolean \| { dir?: string }` | 远程类型自动生成与同步(见[配置参考](configuration.md)与[API · 远程类型](api.md#远程类型自动生成与同步))。 |
|
|
25
|
-
| `devSharedSelf` | yes | `boolean` | dev
|
|
26
|
-
| `devCorsOrigins` | yes | `string[] \| "*"` | dev
|
|
25
|
+
| `devSharedSelf` | yes | `boolean` | dev 自身源码参与共享协商;省略时 exposes/setup 提供方为 true、纯消费方为 false。显式值优先;插件处理自身预构建接线,不要求所有工程手动 exclude 全部共享依赖。 |
|
|
26
|
+
| `devCorsOrigins` | yes | `string[] \| "*"` | dev 联邦 entry/manifest/types 端点的来源策略,默认 *;未显式配置 server.cors 时也用于 Vite 源码模块。显式 server.cors 仅覆盖 Vite 侧策略,不覆盖这些插件端点。非 loopback 的通配配置仍可提示 DEV-011;不配置生产 CORS。 |
|
|
27
27
|
|
|
28
28
|
## PageRouteLike
|
|
29
29
|
|
|
@@ -35,7 +35,7 @@ Vite 联邦插件配置.
|
|
|
35
35
|
|---|---|---|---|
|
|
36
36
|
| `route` | no | `string` | 宿主路由路径(:param 段) |
|
|
37
37
|
| `spec` | yes | `string` | 显式 spec(缺省走推导) |
|
|
38
|
-
| `name` | yes | `string` |
|
|
38
|
+
| `name` | yes | `string` | 宿主路由名称;可扩展 title/keepAlive 等业务字段,不代表插件自动注册路由。 |
|
|
39
39
|
|
|
40
40
|
## ShareEntry
|
|
41
41
|
|
|
@@ -45,11 +45,11 @@ Vite 联邦插件配置.
|
|
|
45
45
|
|
|
46
46
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
47
47
|
|---|---|---|---|
|
|
48
|
-
| `version` | no | `string` |
|
|
49
|
-
| `get` | no | `() => Promise<any>` |
|
|
50
|
-
| `from` | no | `string` |
|
|
51
|
-
| `eager` | no | `boolean` |
|
|
52
|
-
| `loaded` | yes | `boolean` |
|
|
48
|
+
| `version` | no | `string` | 提供的真实依赖版本号,用于版本协商;不能伪报版本绕过兼容检查。 |
|
|
49
|
+
| `get` | no | `() => Promise<any>` | 加载并返回该版本模块的工厂;成功结果由运行时复用。 |
|
|
50
|
+
| `from` | no | `string` | 提供方标识,用于裁决诊断和来源追踪。 |
|
|
51
|
+
| `eager` | no | `boolean` | 是否作为同步可用的本地共享副本;不表示业务模块自动预载。 |
|
|
52
|
+
| `loaded` | yes | `boolean` | 该提供条目是否已被使用;单例裁决优先复用已加载条目。 |
|
|
53
53
|
| `value` | yes | `any` | 首次 loadShare 成功后缓存的实例值;getLoadedShare 同步查询与 CJS 垫片依赖它 |
|
|
54
54
|
| `pendingGet` | yes | `Promise<any>` | 进行中的 get():并发 loadShare 共享同一次加载,落定后清除(失败后允许重新加载) |
|
|
55
55
|
|
|
@@ -81,13 +81,13 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
81
81
|
|
|
82
82
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
83
83
|
|---|---|---|---|
|
|
84
|
-
| `name` | no | `string` |
|
|
85
|
-
| `entry` | no | `string` |
|
|
86
|
-
| `shareScope` | yes | `string` |
|
|
87
|
-
| `timeout` | yes | `number` |
|
|
84
|
+
| `name` | no | `string` | 运行时注册名,与调用 spec 的远程前缀对应。 |
|
|
85
|
+
| `entry` | no | `string` | 远程容器入口 URL;运行时注册填写实际入口文件,不是业务页面地址。 |
|
|
86
|
+
| `shareScope` | yes | `string` | 共享分组名;不同作用域独立协商,默认 default。 |
|
|
87
|
+
| `timeout` | yes | `number` | 容器加载等待上限,默认 15000 ms;不取消浏览器动态 import。 |
|
|
88
88
|
| `retries` | yes | `number` | 失败重试次数,默认 2(上限 10;配置期与运行时注册均校验,非法当场抛错) |
|
|
89
|
-
| `fallback` | yes | `string[]` |
|
|
90
|
-
| `breaker` | yes | `{ threshold?: number; resetMs?: number; }` |
|
|
89
|
+
| `fallback` | yes | `string[]` | 主入口失败后依次尝试的备用入口 URL 列表。 |
|
|
90
|
+
| `breaker` | yes | `{ threshold?: number; resetMs?: number; }` | 熔断阈值和恢复等待,默认 threshold=5、resetMs=30000;数值须为有限正数。 |
|
|
91
91
|
| `promise` | yes | `() => Promise<any>` | promise-based remote:运行时解析出容器或容器地址(其解析同样受 timeout 约束) |
|
|
92
92
|
| `manifestUrl` | yes | `string` | 内部:远程自报的发布路径(preload 用) |
|
|
93
93
|
|
|
@@ -99,12 +99,12 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
99
99
|
|
|
100
100
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
101
101
|
|---|---|---|---|
|
|
102
|
-
| `requiredVersion` | yes | `string \| false` |
|
|
103
|
-
| `singleton` | yes | `boolean` |
|
|
104
|
-
| `strictVersion` | yes | `boolean` |
|
|
105
|
-
| `shareKey` | yes | `string` |
|
|
106
|
-
| `shareScope` | yes | `string` |
|
|
107
|
-
| `fallback` | yes | `() => Promise<any>` |
|
|
102
|
+
| `requiredVersion` | yes | `string \| false` | 本次消费接受的 semver 范围;false 表示任意版本;本运行时调用不再从 package.json 推断。 |
|
|
103
|
+
| `singleton` | yes | `boolean` | 本次消费要求同一 shareScope/shareKey 复用单例;并不把不兼容版本变兼容。 |
|
|
104
|
+
| `strictVersion` | yes | `boolean` | 版本不满足时拒绝;运行时手动调用不继承构建配置推断的默认组合。 |
|
|
105
|
+
| `shareKey` | yes | `string` | 作用域中查找的依赖键,省略使用本次 name。 |
|
|
106
|
+
| `shareScope` | yes | `string` | 共享分组名;不同作用域独立协商,默认 default。 |
|
|
107
|
+
| `fallback` | yes | `() => Promise<any>` | 无可用共享模块时显式加载本地副本;严格版本冲突不被它掩盖。 |
|
|
108
108
|
| `localVersion` | yes | `string` | 内部:本地副本的版本号(fallback 回写共享作用域与 CJS 垫片 pin 使用;不参与快照键) |
|
|
109
109
|
|
|
110
110
|
## LoadRemoteOptions
|
|
@@ -115,10 +115,10 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
115
115
|
|
|
116
116
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
117
117
|
|---|---|---|---|
|
|
118
|
-
| `shareScope` | yes | `string` |
|
|
119
|
-
| `retries` | yes | `number` |
|
|
120
|
-
| `fallbackModule` | yes | `() => any` |
|
|
121
|
-
| `consumerApp` | yes | `unknown` |
|
|
118
|
+
| `shareScope` | yes | `string` | 共享分组名;不同作用域独立协商,默认 default。 |
|
|
119
|
+
| `retries` | yes | `number` | 加载失败后的重试次数,0–10 整数;省略沿用远程注册值(默认 2)。 |
|
|
120
|
+
| `fallbackModule` | yes | `() => any` | 远程模块加载失败时显式返回替代模块;初始化失败仍抛错,不静默伪装成功。 |
|
|
121
|
+
| `consumerApp` | yes | `unknown` | Vue remoteComponent/createHostPages 自动传入实际消费方 app,供 globalComponents 幂等注册;手动加载与 React 不自动传入。 |
|
|
122
122
|
|
|
123
123
|
## PreloadRemoteOptions
|
|
124
124
|
|
|
@@ -128,7 +128,7 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
128
128
|
|
|
129
129
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
130
130
|
|---|---|---|---|
|
|
131
|
-
| `mode` | yes | `"preload" \| "prefetch"` |
|
|
131
|
+
| `mode` | yes | `"preload" \| "prefetch"` | 默认 preload;prefetch 降低资源提示优先级,不自动空闲调度;见 API 的等待范围。 |
|
|
132
132
|
|
|
133
133
|
## RuntimePlugin
|
|
134
134
|
|
|
@@ -138,8 +138,8 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
138
138
|
|
|
139
139
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
140
140
|
|---|---|---|---|
|
|
141
|
-
| `name` | yes | `string` |
|
|
142
|
-
| `init` | yes | `(hooks: RuntimeHooks) => void` |
|
|
141
|
+
| `name` | yes | `string` | 可选插件诊断名称,便于区分 hook 来源。 |
|
|
142
|
+
| `init` | yes | `(hooks: RuntimeHooks) => void` | 注册插件时接收可填写的 hooks 对象;只安装所需 hook,不在此加载业务页面。 |
|
|
143
143
|
|
|
144
144
|
## RuntimeHooks
|
|
145
145
|
|
|
@@ -150,9 +150,9 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
150
150
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
151
151
|
|---|---|---|---|
|
|
152
152
|
| `resolveShare` | yes | `(shareInfo: { shareKey: string; shareScope: string; requiredVersion?: string \| false; picked?: ShareEntry; available: ShareEntry[]; }) => void \| ShareEntry \| Promise<void \| ShareEntry>` | 覆写共享版本裁决结果:返回 ShareEntry 即生效 |
|
|
153
|
-
| `beforeLoadRemote` | yes | `(info: { remote: string; module: string; }) => void` |
|
|
154
|
-
| `afterLoadRemote` | yes | `(info: { remote: string; module: string; module_ns?: any; }) => void` |
|
|
155
|
-
| `onRemoteError` | yes | `(info: { remote: string; error: FgError; }) => void` |
|
|
153
|
+
| `beforeLoadRemote` | yes | `(info: { remote: string; module: string; }) => void` | 远程加载前的观测 hook;抛错只记录告警,不修改加载裁决。 |
|
|
154
|
+
| `afterLoadRemote` | yes | `(info: { remote: string; module: string; module_ns?: any; }) => void` | 远程加载后的观测 hook,module_ns 为实际结果;抛错不改写结果。 |
|
|
155
|
+
| `onRemoteError` | yes | `(info: { remote: string; error: FgError; }) => void` | 接收远程错误及其 remote 标识,用于日志/诊断,不作为替代模块返回通道。 |
|
|
156
156
|
|
|
157
157
|
## RemoteDebugInfo
|
|
158
158
|
|
|
@@ -162,11 +162,11 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
162
162
|
|
|
163
163
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
164
164
|
|---|---|---|---|
|
|
165
|
-
| `entry` | no | `string` |
|
|
166
|
-
| `status` | no | `"idle" \| "loading" \| "loaded" \| "failed"` |
|
|
167
|
-
| `lastLoadMs` | yes | `number` |
|
|
168
|
-
| `error` | yes | `string` |
|
|
169
|
-
| `setup` | yes | `"
|
|
165
|
+
| `entry` | no | `string` | 远程容器入口 URL;运行时注册填写实际入口文件,不是业务页面地址。 |
|
|
166
|
+
| `status` | no | `"idle" \| "loading" \| "loaded" \| "failed"` | 容器状态 idle/loading/loaded/failed;loaded 不等于业务页面异步数据全部完成。 |
|
|
167
|
+
| `lastLoadMs` | yes | `number` | 最近容器加载耗时(毫秒),不是完整业务页面交付耗时。 |
|
|
168
|
+
| `error` | yes | `string` | 最近容器错误的说明字符串;不是 React 错误展示选项。 |
|
|
169
|
+
| `setup` | yes | `"none" \| "pending" \| "ready" \| "failed"` | 远程应用级 setup 状态,不是模块路径;ready 不代表会话或业务请求均已完成。 |
|
|
170
170
|
|
|
171
171
|
## FgRuntime
|
|
172
172
|
|
|
@@ -176,22 +176,22 @@ export type ShareScopeMap = Record<string, ShareScope>
|
|
|
176
176
|
|
|
177
177
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
178
178
|
|---|---|---|---|
|
|
179
|
-
| `shareScopeMap` | no | `ShareScopeMap` |
|
|
180
|
-
| `initSharing` | no | `(scopeName?: string) => ShareScopeMap` |
|
|
181
|
-
| `registerShare` | no | `(scopeName: string, name: string, version: string, get: () => Promise<any>, opts?: { from?: string; eager?: boolean; loaded?: boolean; }) => void` |
|
|
182
|
-
| `registerRemotes` | no | `(list: RemoteConfig[]) => void` |
|
|
183
|
-
| `registerRemote` | no | `(remote: RemoteConfig) => void` |
|
|
184
|
-
| `registerPlugins` | no | `(list: RuntimePlugin[]) => void` |
|
|
185
|
-
| `loadShare` | no | `(name: string, opts?: LoadShareOptions) => Promise<any>` |
|
|
186
|
-
| `loadShareSync` | no | `(name: string, opts: LoadShareOptions) => { kind: "ready" \| "local"; value?: any; }` |
|
|
187
|
-
| `prepareShares` | no | `(requests: { name: string; opts: LoadShareOptions; }[]) => Promise<void>` |
|
|
188
|
-
| `getLoadedShare` | no | `(name: string, opts?: LoadShareOptions) => any` |
|
|
189
|
-
| `pinLoadedShare` | no | `(name: string, opts: LoadShareOptions, localVersion: string, instance: unknown) => void` |
|
|
190
|
-
| `loadRemote` | no |
|
|
191
|
-
| `getContainer` | no | `(name: string) => Promise<any>` |
|
|
192
|
-
| `preloadRemote` | no | `(spec: string, opts?: PreloadRemoteOptions) => Promise<void>` |
|
|
193
|
-
| `parseSpec` | no | `(spec: string) => { remote: string; module: string; }` |
|
|
194
|
-
| `clearSessionState` | no | `() => void` |
|
|
179
|
+
| `shareScopeMap` | no | `ShareScopeMap` | 当前共享注册表;只用于诊断,不直接写业务状态。 |
|
|
180
|
+
| `initSharing` | no | `(scopeName?: string) => ShareScopeMap` | 初始化指定作用域,默认 default;普通工程由插件调用。 |
|
|
181
|
+
| `registerShare` | no | `(scopeName: string, name: string, version: string, get: () => Promise<any>, opts?: { from?: string; eager?: boolean; loaded?: boolean; }) => void` | 登记一个依赖版本与加载工厂;普通工程由插件生成。 |
|
|
182
|
+
| `registerRemotes` | no | `(list: RemoteConfig[]) => void` | 批量登记远程配置,语义同 registerRemote。 |
|
|
183
|
+
| `registerRemote` | no | `(remote: RemoteConfig) => void` | 登记/更新远程配置,当场校验参数;地址为实际入口。 |
|
|
184
|
+
| `registerPlugins` | no | `(list: RuntimePlugin[]) => void` | 安装运行时 hooks;运行后改变共享策略不会改写已求值静态绑定。 |
|
|
185
|
+
| `loadShare` | no | `(name: string, opts?: LoadShareOptions) => Promise<any>` | 异步协商并取得共享模块;普通共享导入由插件转换。 |
|
|
186
|
+
| `loadShareSync` | no | `(name: string, opts: LoadShareOptions) => { kind: "ready" \| "local"; value?: any; }` | 生成的同步门面使用:返回 ready/value 或 local;不支持的异步裁决显式报错,不作为普通加载入口。 |
|
|
187
|
+
| `prepareShares` | no | `(requests: { name: string; opts: LoadShareOptions; }[]) => Promise<void>` | 生成入口执行前预先完成一组共享裁决;高级自定义接入使用。 |
|
|
188
|
+
| `getLoadedShare` | no | `(name: string, opts?: LoadShareOptions) => any` | 同步读取已就绪共享实例,未命中 undefined;不下载模块,严格版本错误仍可抛出。 |
|
|
189
|
+
| `pinLoadedShare` | no | `(name: string, opts: LoadShareOptions, localVersion: string, instance: unknown) => void` | 按实际版本登记已存在实例,不覆盖其他提供方事实;普通接入由插件处理。 |
|
|
190
|
+
| `loadRemote` | no | `typeof loadRemote` | 与对应公开入口的 loadRemote 相同;默认推导已同步入口,显式 `loadRemote<T>` 表示调用方接管类型。 |
|
|
191
|
+
| `getContainer` | no | `(name: string) => Promise<any>` | 加载并 init 远程容器,不执行业务 setup/onSession。 |
|
|
192
|
+
| `preloadRemote` | no | `(spec: string, opts?: PreloadRemoteOptions) => Promise<void>` | 资源预载,不执行模块;prefetch 不自动空闲调度,样式表可能影响当前页面。 |
|
|
193
|
+
| `parseSpec` | no | `(spec: string) => { remote: string; module: string; }` | 拆出 remote 与 ./module;仅远程名时 module 为空。 |
|
|
194
|
+
| `clearSessionState` | no | `() => void` | 作废 onSession 信号与去重记录,不删除 AppContext;退出通常用 clearAppContext。 |
|
|
195
195
|
|
|
196
196
|
## RemoteSetupContext
|
|
197
197
|
|
|
@@ -201,9 +201,9 @@ setup/onSession 收到的上下文.
|
|
|
201
201
|
|
|
202
202
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
203
203
|
|---|---|---|---|
|
|
204
|
-
| `appContext` | no | `Readonly<Record<string, any>>` |
|
|
205
|
-
| `sessionKey` | yes | `string` |
|
|
206
|
-
| `signal` | no | `AbortSignal` |
|
|
204
|
+
| `appContext` | no | `Readonly<Record<string, any>>` | 调用时取得的只读上下文快照;不是持续响应式订阅。 |
|
|
205
|
+
| `sessionKey` | yes | `string` | 非敏感登录代次;不同于用户 ID/token。声明 onSession 时需要,同一会话保持一致。 |
|
|
206
|
+
| `signal` | no | `AbortSignal` | 本次生命周期取消信号;异步等待后写状态前检查 aborted。 |
|
|
207
207
|
|
|
208
208
|
## RemoteSetupModule
|
|
209
209
|
|
|
@@ -213,8 +213,8 @@ setup/onSession 收到的上下文.
|
|
|
213
213
|
|
|
214
214
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
215
215
|
|---|---|---|---|
|
|
216
|
-
| `default` | yes | `(ctx: RemoteSetupContext) => void \| Promise<void>` |
|
|
217
|
-
| `onSession` | yes | `(ctx: RemoteSetupContext) => void \| Promise<void>` |
|
|
216
|
+
| `default` | yes | `(ctx: RemoteSetupContext) => void \| Promise<void>` | 可选应用级 setup,每个远程容器成功执行一次;不是每个 app/组件实例的装配函数。 |
|
|
217
|
+
| `onSession` | yes | `(ctx: RemoteSetupContext) => void \| Promise<void>` | 按登录代次去重的同步/异步函数;换代失效旧信号,失败可重试。 |
|
|
218
218
|
| `globalComponents` | yes | `Record<string, unknown>` | 远程暴露面依赖的「宿主全局注册组件」声明(键=组件注册名,值=组件对象或零参 loader): 组件联邦(remoteComponent)把远程组件渲染进消费方 app 上下文,模板里的 字符串标签(如 <a-divider>)按消费方 app 的全局注册表解析——消费方没注册就 渲染成死元素。提供方在此声明后,运行时在每次 loadRemote 时把它们幂等注册到 当次传入的 consumerApp 上;无 consumerApp(无组件上下文的手动加载)时静默跳过。 值推荐「零参 loader(() => import('./X.vue'))」:setup 模块保持零重依赖, 组件只在本框架消费方真实渲染时才加载——Vue 适配器注册时自动包 defineAsyncComponent; 静态组件值仍支持;带 displayName/props/emits 的零参函数保留组件身份,未标记零参函数作 loader。运行时对值原样透传。 |
|
|
219
219
|
| `pageProviders` | yes | `unknown[]` | 远程组件所需的祖先 Provider;元素为组件或零参 loader。由组件适配器包裹实际消费树,不复制提供方整个 app。 |
|
|
220
220
|
|
|
@@ -227,10 +227,10 @@ setup/onSession 收到的上下文.
|
|
|
227
227
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
228
228
|
|---|---|---|---|
|
|
229
229
|
| `user` | no | `Record<string, any>` | 宿主登录用户原始形态(只读约定) |
|
|
230
|
-
| `getToken` | yes | `() => string` |
|
|
230
|
+
| `getToken` | yes | `() => string \| undefined` | 调用时取最新 token,允许 undefined;有效性/刷新由业务认证负责。 |
|
|
231
231
|
| `store` | yes | `unknown` | 宿主 pinia 实例:子应用 useUserStore(ctx.store) 拿共享响应式状态 |
|
|
232
|
-
| `hostApp` | yes | `unknown` | 宿主
|
|
233
|
-
| `locale` | yes | `unknown` |
|
|
232
|
+
| `hostApp` | yes | `unknown` | 宿主 app 引用;子应用全局注册应取得实际消费方 app,不能用该引用替代。 |
|
|
233
|
+
| `locale` | yes | `unknown` | 显式传递的 UI 配置;业务按需消费,不自动安装语言 Provider。 |
|
|
234
234
|
| `events` | yes | `Record<string, any>` | 事件/方法池:events.main.* 宿主提供、events.bpm.* / events.lowcode.* 子应用反向注册 |
|
|
235
235
|
| `sessionKey` | yes | `string` | 非敏感登录代次 ID:宿主每次成功登录/重新登录生成新值,token 刷新但会话未变时沿用。 远程 onSession 按它去重(同一代次只执行一次)。不是用户 ID、不是 token、不作为授权凭证。 远程声明了 onSession 时必填(缺省即 MFU-013)。 |
|
|
236
236
|
|
|
@@ -244,7 +244,7 @@ setup/onSession 收到的上下文.
|
|
|
244
244
|
|---|---|---|---|
|
|
245
245
|
| `deriveSpec` | yes | `(route: string) => string` | 带参路由的缺省 spec 推导规则(宿主私有约定,如 (route) => `pages/${route 去前缀去 :参}`)。 缺省 = 去掉首段(远程前缀)+ 剥 :参 段(无 pages/ 前缀)—— 推导只需在全部条目间自洽即可保持冲突判定成立。 |
|
|
246
246
|
| `remotes` | yes | `Record<string, string>` | 路由前缀 → remote 名(R3 用:{'/remote-a/': 'remote-a'});缺省跳过 R3 |
|
|
247
|
-
| `schema` | yes | `Record<string, RemoteSchemaEntry>` |
|
|
247
|
+
| `schema` | yes | `Record<string, RemoteSchemaEntry>` | 远程 exposes 探针表;使用公开 remoteSchema,不直接导入内部 virtual 模块。 |
|
|
248
248
|
| `strict` | yes | `boolean` | false = ERROR 降级 console.error(默认 true = throw) |
|
|
249
249
|
|
|
250
250
|
## PageViolation
|
|
@@ -255,9 +255,9 @@ setup/onSession 收到的上下文.
|
|
|
255
255
|
|
|
256
256
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
257
257
|
|---|---|---|---|
|
|
258
|
-
| `rule` | no | `"R1" \| "R2" \| "R3" \| "R4" \| "R5"` |
|
|
259
|
-
| `level` | no | `"error" \| "warn"` |
|
|
260
|
-
| `message` | no | `string` |
|
|
258
|
+
| `rule` | no | `"R1" \| "R2" \| "R3" \| "R4" \| "R5"` | 违例所属 R1–R5 规则编号,详见逐页接入的校验表。 |
|
|
259
|
+
| `level` | no | `"error" \| "warn"` | error 表示确定性合同错误;warn 表示需评估的潜在问题。 |
|
|
260
|
+
| `message` | no | `string` | 包含实际问题与处理建议的说明,用于启动日志或 CLI 报告。 |
|
|
261
261
|
|
|
262
262
|
## RemoteSchemaEntry
|
|
263
263
|
|
|
@@ -267,7 +267,7 @@ setup/onSession 收到的上下文.
|
|
|
267
267
|
|
|
268
268
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
269
269
|
|---|---|---|---|
|
|
270
|
-
| `exposes` | no | `string[]` |
|
|
270
|
+
| `exposes` | no | `string[]` | 该远程的公开 exposes 键列表,比较时去掉 ./ 前缀。 |
|
|
271
271
|
| `exists` | yes | `boolean` | manifest 是否成功拉取(false 时跳过该 remote 的 R3,诚实降级) |
|
|
272
272
|
|
|
273
273
|
## FgRemoteTypes — 远程类型注册表
|
|
@@ -302,11 +302,11 @@ Vue 远程组件加载与占位选项.
|
|
|
302
302
|
|
|
303
303
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
304
304
|
|---|---|---|---|
|
|
305
|
-
| `loadingComponent` | yes | `Component` |
|
|
306
|
-
| `errorComponent` | yes | `Component` |
|
|
307
|
-
| `retries` | yes | `number` |
|
|
308
|
-
| `delay` | yes | `number` |
|
|
309
|
-
| `timeout` | yes | `number` |
|
|
305
|
+
| `loadingComponent` | yes | `Component` | Vue 加载占位组件,默认不设;不会自动生成业务骨架。 |
|
|
306
|
+
| `errorComponent` | yes | `Component` | Vue 加载错误占位,默认内置诊断/恢复按钮;自定义时完全接管,只接收 error prop。 |
|
|
307
|
+
| `retries` | yes | `number` | 加载失败后的重试次数,0–10 整数;省略沿用远程注册值(默认 2)。 |
|
|
308
|
+
| `delay` | yes | `number` | 显示加载占位前等待毫秒数,默认 200;不是请求超时。 |
|
|
309
|
+
| `timeout` | yes | `number` | 适配器本次等待上限(毫秒),默认不设;超时不取消已发出的共享请求。 |
|
|
310
310
|
|
|
311
311
|
## HostPagesOptions
|
|
312
312
|
|
|
@@ -361,9 +361,9 @@ Vue 页面解析和组件创建对象.
|
|
|
361
361
|
|
|
362
362
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
363
363
|
|---|---|---|---|
|
|
364
|
-
| `mount` | no | `(el: HTMLElement, props?: Record<string, unknown>, options?: BridgeMountOptions) => void \| Promise<void>` |
|
|
365
|
-
| `unmount` | no | `(el: HTMLElement) => void` |
|
|
366
|
-
| `routing` | yes | `BridgeRoutingProtocol` |
|
|
364
|
+
| `mount` | no | `(el: HTMLElement, props?: Record<string, unknown>, options?: BridgeMountOptions) => void \| Promise<void>` | 挂载到给定容器;Promise 成功表示首次根提交,不表示全部业务异步完成。 |
|
|
365
|
+
| `unmount` | no | `(el: HTMLElement) => void` | 同步失效并清理该容器代次;抛错会封锁容器,不能假装可安全重挂。 |
|
|
366
|
+
| `routing` | yes | `BridgeRoutingProtocol` | 契约是否声明 URL 同步协议;不是路由对象或部署 base。 |
|
|
367
367
|
|
|
368
368
|
## BridgeSession
|
|
369
369
|
|
|
@@ -433,7 +433,7 @@ Vue 子应用 memory 路由连接与就绪/释放.
|
|
|
433
433
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
434
434
|
|---|---|---|---|
|
|
435
435
|
| `ready` | no | `Promise<void>` | 必须 await ready 后再 app.use(router),初始错误会拒绝此 Promise。 |
|
|
436
|
-
| `dispose` | no | `() => void` |
|
|
436
|
+
| `dispose` | no | `() => void` | 幂等释放当前路由连接/订阅;只清理该连接拥有的资源。 |
|
|
437
437
|
|
|
438
438
|
## BridgeHostRouting
|
|
439
439
|
|
|
@@ -444,7 +444,7 @@ Vue 子应用 memory 路由连接与就绪/释放.
|
|
|
444
444
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
445
445
|
|---|---|---|---|
|
|
446
446
|
| `basePath` | no | `string` | 宿主路由视角的静态绝对路径,如 "/approval";同页各同步实例不得相同或重叠 |
|
|
447
|
-
| `navigation` | no | `BridgeHostNavigation` |
|
|
447
|
+
| `navigation` | no | `BridgeHostNavigation` | 宿主导航端口,由对应框架导航适配器创建;宿主持有浏览器历史。 |
|
|
448
448
|
|
|
449
449
|
## ReactBridgeAppOptions
|
|
450
450
|
|
|
@@ -514,7 +514,7 @@ React hook 的数据、错误、状态与重试.
|
|
|
514
514
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
515
515
|
|---|---|---|---|
|
|
516
516
|
| `data` | no | `Module` | 加载成功后的模块命名空间;开始新尝试(包括 reload)时清空,失败时为 undefined |
|
|
517
|
-
| `error` | no | `unknown` |
|
|
517
|
+
| `error` | no | `unknown` | 本轮加载错误,无错时 undefined;请求代次隔离,不保留上轮错误。 |
|
|
518
518
|
| `loading` | no | `boolean` | 是否有请求在途 |
|
|
519
519
|
| `reload` | no | `() => Promise<void>` | 清空旧数据并重新走加载生命周期;卸载后调用不发起请求。成功模块复用缓存,Promise<void> 正常结束(不抛) |
|
|
520
520
|
|
|
@@ -526,8 +526,8 @@ React 渲染错误边界属性.
|
|
|
526
526
|
|
|
527
527
|
| 字段 | 可省略 | 类型 | 说明 |
|
|
528
528
|
|---|---|---|---|
|
|
529
|
-
| `children` | yes | `ReactNode` |
|
|
530
|
-
| `fallback` | yes | `ReactNode \| ((args: { error: unknown; reset: () => void; }) => ReactNode)` |
|
|
529
|
+
| `children` | yes | `ReactNode` | 边界内需要保护的 React 子树;不包含另一桥接 root 的内部错误。 |
|
|
530
|
+
| `fallback` | yes | `ReactNode \| ((args: { error: unknown; reset: () => void; }) => ReactNode)` | 渲染错误时的节点或接收 error/reset 的函数;不是 pending 占位。 |
|
|
531
531
|
| `onError` | yes | `(error: unknown, info: ErrorInfo) => void` | 渲染异常回调(error + React componentStack 信息) |
|
|
532
532
|
| `resetKeys` | yes | `readonly unknown[]` | 任一项变化时重置边界状态(受控重试的常用形态:传 [retryEpoch]) |
|
|
533
533
|
|
|
@@ -11,8 +11,8 @@ importers:
|
|
|
11
11
|
react-host:
|
|
12
12
|
dependencies:
|
|
13
13
|
'@fulgurjs/federation':
|
|
14
|
-
specifier: 6.12.
|
|
15
|
-
version: 6.12.
|
|
14
|
+
specifier: 6.12.6
|
|
15
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
16
16
|
react:
|
|
17
17
|
specifier: ^19.1.0
|
|
18
18
|
version: 19.3.0
|
|
@@ -42,8 +42,8 @@ importers:
|
|
|
42
42
|
vue-remote:
|
|
43
43
|
dependencies:
|
|
44
44
|
'@fulgurjs/federation':
|
|
45
|
-
specifier: 6.12.
|
|
46
|
-
version: 6.12.
|
|
45
|
+
specifier: 6.12.6
|
|
46
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
47
47
|
vue:
|
|
48
48
|
specifier: ^3.5.13
|
|
49
49
|
version: 3.5.44(typescript@5.9.3)
|
|
@@ -461,8 +461,8 @@ packages:
|
|
|
461
461
|
cpu: [x64]
|
|
462
462
|
os: [win32]
|
|
463
463
|
|
|
464
|
-
'@fulgurjs/federation@6.12.
|
|
465
|
-
resolution: {integrity: sha512-
|
|
464
|
+
'@fulgurjs/federation@6.12.6':
|
|
465
|
+
resolution: {integrity: sha512-b3DN3eFoAyekRyW2RlNbOxUiC/O4ZZL6RMEsXo/MRUfWuanABw34bjXdG582Tq/RLi9gBvVPGJnArlO63ArsDw==}
|
|
466
466
|
engines: {node: '>=18'}
|
|
467
467
|
hasBin: true
|
|
468
468
|
peerDependencies:
|
|
@@ -1259,7 +1259,7 @@ snapshots:
|
|
|
1259
1259
|
'@esbuild/win32-x64@0.27.7':
|
|
1260
1260
|
optional: true
|
|
1261
1261
|
|
|
1262
|
-
'@fulgurjs/federation@6.12.
|
|
1262
|
+
'@fulgurjs/federation@6.12.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))':
|
|
1263
1263
|
dependencies:
|
|
1264
1264
|
es-module-lexer: 1.7.0
|
|
1265
1265
|
esbuild: 0.27.7
|
|
@@ -2,7 +2,7 @@ packages:
|
|
|
2
2
|
- react-host
|
|
3
3
|
- vue-remote
|
|
4
4
|
minimumReleaseAgeExclude:
|
|
5
|
-
- '@fulgurjs/federation@6.
|
|
5
|
+
- '@fulgurjs/federation@6.12.6'
|
|
6
6
|
# pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
|
|
7
7
|
# esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
|
|
8
8
|
allowBuilds:
|
|
@@ -11,8 +11,8 @@ importers:
|
|
|
11
11
|
host:
|
|
12
12
|
dependencies:
|
|
13
13
|
'@fulgurjs/federation':
|
|
14
|
-
specifier: 6.12.
|
|
15
|
-
version: 6.12.
|
|
14
|
+
specifier: 6.12.6
|
|
15
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
|
|
16
16
|
react:
|
|
17
17
|
specifier: ^19.1.0
|
|
18
18
|
version: 19.3.0
|
|
@@ -42,8 +42,8 @@ importers:
|
|
|
42
42
|
remote:
|
|
43
43
|
dependencies:
|
|
44
44
|
'@fulgurjs/federation':
|
|
45
|
-
specifier: 6.12.
|
|
46
|
-
version: 6.12.
|
|
45
|
+
specifier: 6.12.6
|
|
46
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
|
|
47
47
|
react:
|
|
48
48
|
specifier: ^19.1.0
|
|
49
49
|
version: 19.3.0
|
|
@@ -464,8 +464,8 @@ packages:
|
|
|
464
464
|
cpu: [x64]
|
|
465
465
|
os: [win32]
|
|
466
466
|
|
|
467
|
-
'@fulgurjs/federation@6.12.
|
|
468
|
-
resolution: {integrity: sha512-
|
|
467
|
+
'@fulgurjs/federation@6.12.6':
|
|
468
|
+
resolution: {integrity: sha512-b3DN3eFoAyekRyW2RlNbOxUiC/O4ZZL6RMEsXo/MRUfWuanABw34bjXdG582Tq/RLi9gBvVPGJnArlO63ArsDw==}
|
|
469
469
|
engines: {node: '>=18'}
|
|
470
470
|
hasBin: true
|
|
471
471
|
peerDependencies:
|
|
@@ -1169,7 +1169,7 @@ snapshots:
|
|
|
1169
1169
|
'@esbuild/win32-x64@0.27.7':
|
|
1170
1170
|
optional: true
|
|
1171
1171
|
|
|
1172
|
-
'@fulgurjs/federation@6.12.
|
|
1172
|
+
'@fulgurjs/federation@6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)':
|
|
1173
1173
|
dependencies:
|
|
1174
1174
|
es-module-lexer: 1.7.0
|
|
1175
1175
|
esbuild: 0.27.7
|
|
@@ -2,7 +2,7 @@ packages:
|
|
|
2
2
|
- host
|
|
3
3
|
- remote
|
|
4
4
|
minimumReleaseAgeExclude:
|
|
5
|
-
- '@fulgurjs/federation@6.
|
|
5
|
+
- '@fulgurjs/federation@6.12.6'
|
|
6
6
|
# pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
|
|
7
7
|
# esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
|
|
8
8
|
allowBuilds:
|
|
@@ -11,8 +11,8 @@ importers:
|
|
|
11
11
|
react-host:
|
|
12
12
|
dependencies:
|
|
13
13
|
'@fulgurjs/federation':
|
|
14
|
-
specifier: 6.12.
|
|
15
|
-
version: 6.12.
|
|
14
|
+
specifier: 6.12.6
|
|
15
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
16
16
|
react:
|
|
17
17
|
specifier: ^19.1.0
|
|
18
18
|
version: 19.3.0
|
|
@@ -45,8 +45,8 @@ importers:
|
|
|
45
45
|
react-remote:
|
|
46
46
|
dependencies:
|
|
47
47
|
'@fulgurjs/federation':
|
|
48
|
-
specifier: 6.12.
|
|
49
|
-
version: 6.12.
|
|
48
|
+
specifier: 6.12.6
|
|
49
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
50
50
|
react:
|
|
51
51
|
specifier: ^19.1.0
|
|
52
52
|
version: 19.3.0
|
|
@@ -76,8 +76,8 @@ importers:
|
|
|
76
76
|
vue-host:
|
|
77
77
|
dependencies:
|
|
78
78
|
'@fulgurjs/federation':
|
|
79
|
-
specifier: 6.12.
|
|
80
|
-
version: 6.12.
|
|
79
|
+
specifier: 6.12.6
|
|
80
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
81
81
|
react:
|
|
82
82
|
specifier: ^19.1.0
|
|
83
83
|
version: 19.3.0
|
|
@@ -107,8 +107,8 @@ importers:
|
|
|
107
107
|
vue-remote:
|
|
108
108
|
dependencies:
|
|
109
109
|
'@fulgurjs/federation':
|
|
110
|
-
specifier: 6.12.
|
|
111
|
-
version: 6.12.
|
|
110
|
+
specifier: 6.12.6
|
|
111
|
+
version: 6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))
|
|
112
112
|
vue:
|
|
113
113
|
specifier: ^3.5.13
|
|
114
114
|
version: 3.5.44(typescript@5.9.3)
|
|
@@ -526,8 +526,8 @@ packages:
|
|
|
526
526
|
cpu: [x64]
|
|
527
527
|
os: [win32]
|
|
528
528
|
|
|
529
|
-
'@fulgurjs/federation@6.12.
|
|
530
|
-
resolution: {integrity: sha512-
|
|
529
|
+
'@fulgurjs/federation@6.12.6':
|
|
530
|
+
resolution: {integrity: sha512-b3DN3eFoAyekRyW2RlNbOxUiC/O4ZZL6RMEsXo/MRUfWuanABw34bjXdG582Tq/RLi9gBvVPGJnArlO63ArsDw==}
|
|
531
531
|
engines: {node: '>=18'}
|
|
532
532
|
hasBin: true
|
|
533
533
|
peerDependencies:
|
|
@@ -1348,7 +1348,7 @@ snapshots:
|
|
|
1348
1348
|
'@esbuild/win32-x64@0.27.7':
|
|
1349
1349
|
optional: true
|
|
1350
1350
|
|
|
1351
|
-
'@fulgurjs/federation@6.12.
|
|
1351
|
+
'@fulgurjs/federation@6.12.6(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)(vue-router@4.6.4(vue@3.5.44(typescript@5.9.3)))(vue@3.5.44(typescript@5.9.3))':
|
|
1352
1352
|
dependencies:
|
|
1353
1353
|
es-module-lexer: 1.7.0
|
|
1354
1354
|
esbuild: 0.27.7
|
|
@@ -4,7 +4,7 @@ packages:
|
|
|
4
4
|
- react-host
|
|
5
5
|
- react-remote
|
|
6
6
|
minimumReleaseAgeExclude:
|
|
7
|
-
- '@fulgurjs/federation@6.
|
|
7
|
+
- '@fulgurjs/federation@6.12.6'
|
|
8
8
|
# pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
|
|
9
9
|
# esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
|
|
10
10
|
allowBuilds:
|