@fulgurjs/federation 5.7.1 → 5.8.0

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.
@@ -1,37 +1,64 @@
1
- # webpack Module Federation 逐项对照与缺口清单(P1-3)
2
-
3
- > 基准:webpack 5 Module Federation(ModuleFederationPlugin)语义——逐项对照本插件的对应实现,并列出明确不支持的缺口。
4
-
5
- ## 一、已实现(与 webpack MF 对齐)
6
-
7
- | 能力 | webpack MF | @fulgurjs/federation | 备注 |
8
- |------|-----------|--------------------|------|
9
- | exposes 远程模块 | ✅ | ✅ | 自动拆 chunk;dev 动态容器入口 |
10
- | remotes 消费 | ✅ | ✅ | 单地址 dev/prod 自动切换;`name@url` 键重命名;promise remote(运行时 registerRemote) |
11
- | shared 协商 | ✅ | ✅ | shareScope/版本排序/已加载优先 singleton;fallback 本地副本 |
12
- | singleton / requiredVersion / strictVersion / eager | ✅ | ✅ | eager 以静态导入形式进初始 chunk |
13
- | shareScope 多作用域 | ✅ | ✅ | |
14
- | 容器协议 init/shareScopeMap/get | ✅ | ✅ | 对齐 webpack 容器接口 |
15
- | 双向联邦/嵌套 | ✅ | ✅ | 跨源模块副本共享同一注册表(globalThis 单例) |
16
- | 错误码体系 | ❌(裸错误) | ✅ MFU-001~008 + 三段式修复建议 | 超出 webpack |
17
- | dev 双 server 协作(无打包 dev 容器) | ❌(webpack dev 也需构建) | ✅ | 超出 webpack |
18
- | UMD/CJS-only 依赖 shared 化 | ⚠️(需自己处理) | ✅ 预构建外部化 + build require 垫片 | 超出 webpack |
19
- | 稳定 remoteEntry 文件名 + manifest + preload | ⚠️ 部分 | ✅ | preloadRemote API |
20
-
21
- ## 二、明确不支持(缺口清单)
22
-
23
- | 能力 | 状态 | 说明 |
24
- |------|------|------|
25
- | SSR | ❌ | 仅警告并禁用钩子;无 SSR 渲染计划 |
26
- | React/其他框架适配 | ❌ | 首发仅 Vue 3(shared 门面按 Vue 3 语义生成) |
27
- | 浏览器 DevTools 扩展 | ❌ | 提供 `window.__FULGURJS_SCOPE__ / __FULGURJS_INFO__` 调试面 |
28
- | share 的 `import: false`(仅提供不消费) | ✅ import:false 已支持 | 与 webpack `eager`/share 语义对齐 |
29
- | 运行时动态 remote 版本浮动(promise remote 的 shared 注入) | ⚠️ | promise remote 可注册,但其 shared 需自带 |
30
- | Node.js 环境(SSR/构建外运行时) | ❌ | 仅浏览器 |
31
-
32
- ## 三、迁移指南速查(详见 docs/迁移指南.md)
33
-
34
- - webpack `remotes: 'app2@http://.../remoteEntry.js'` → `remotes: { app2: 'http://.../dist' }`(去 manifest/entry 后缀,dev/prod 自动拼)
35
- - `exposes` 相同;`shared` 相同字段;`eager` 相同
36
- - `loadRemote('app2/./Button')` → `loadRemote('app2/./Button')`(runtime API 同名)
37
- - iframe/qiankun 微前端 → exposes 页面 + 宿主路由表(见 testbed 迁移案例);**子应用级跨框架嵌入已支持(5.3.0 `/bridge`,任务书对齐 Module Federation Bridge 的产品范围、API 为本插件自定契约)**——Vue 宿主嵌 React 子应用 / React 宿主嵌 Vue 子应用,`defineBridgeApp` + `createVueBridgeApp`/`createReactBridgeApp`,受控会话与首提交语义见 README §8.2;组件级混渲染仍不支持(webpack MF 同样不支持)
1
+ # webpack Module Federation:当前能力与使用边界对照
2
+
3
+ > 核对版本:`@fulgurjs/federation@5.7.1`(2026-10-03)。本页描述当前能力;早期任务书、设计方案及分版本验收报告保留历史记录,不作为当前支持范围。
4
+ > 对照对象是 webpack 5 内置 `ModuleFederationPlugin`;Module Federation enhanced runtime、Bridge、DevTools 等独立生态工具不是 webpack 内置插件的同一功能面。本插件不承诺完整配置或产物互操作兼容。
5
+
6
+ ## 一、已经实现
7
+
8
+ | 能力 | 本插件当前状态 | 使用说明 |
9
+ |---|---|---|
10
+ | exposes / remotes | 支持 | dev 容器直连;production 生成 ESM remoteEntry 与 manifest |
11
+ | 动态远程 | 支持 | `registerRemote` / `registerRemotes`;promise remote 解析容器或地址 |
12
+ | shared 版本协商 | 支持 | `requiredVersion`、singleton、strictVersion、eager、shareKey、多 shareScope;真实实例版本登记与并发保护 |
13
+ | `shared.import: false` | 支持 | 纯消费,不提供本地 fallback;不能与 eager 同时使用 |
14
+ | 双向联邦与嵌套容器 | 支持 | 各应用可同时提供和消费模块;这不等于自动代理任意层级的桥接路由 |
15
+ | Vue 3 / React 18–19 | 支持浏览器客户端 | 各框架组件加载、页面适配器;纯 TS 模块可跨框架消费 |
16
+ | Vue ↔ React 子应用桥接 | 支持 | `/bridge` 整站挂载/卸载、props/context、会话切换、错误占位 |
17
+ | 子应用路由 ↔ 宿主 URL | 支持,显式启用 | `/bridge/router/vue`、`/bridge/router/react`;深链、刷新、push/replace、前进后退与导航取消;默认关闭 |
18
+ | React 18/19 隔离共存 | 支持按作用域隔离 | 整组 React、renderer 和消费者使用相应 scope;跨树传普通 props/回调,不能混用 ReactElement/Context |
19
+ | 运行时策略 | 支持 | `runtimePlugins`;HTML 入口/expose 执行前准备异步共享策略。无 HTML 的入口及启动后修改策略须先协商再导入新消费者 |
20
+ | 加载恢复与诊断 | 支持 | 超时、重试、熔断、显式 fallback、错误码;静态依赖失败的恢复边界见 §三 |
21
+ | 工程辅助 | 支持 | dts、manifest 预载、setup/onSession、CLI 检查与 Demo |
22
+
23
+ 入门步骤见 [中文 README](../README.md)、[英文 README](../README.en.md);公开签名及默认值见 [中文 API 手册](API.md)、[English API reference](API.en.md)。版本隔离与恢复例子见 [demo/react-versions](../demo/react-versions/README.md)。
24
+
25
+ ## 二、当前不提供的能力
26
+
27
+ | 能力 | 当前范围 | 与 webpack 的关系 |
28
+ |---|---|---|
29
+ | SSR / Node 服务端联邦、RSC、Next.js 全栈 | 不支持 | webpack 联邦概念支持 web/Node 等环境;不意味着自动获得完整 SSR/RSC 集成。本插件当前仅支持浏览器客户端 |
30
+ | webpack `script` / `var` 容器互操作 | 不支持 | 本插件产出 ESM remote;不要因为都有 init/get 就直接混用两种产物。remoteType/library 已删除,传入报迁移错误 |
31
+ | Vue/React 组件级直接混渲染 | 不提供转换层 | webpack 核心负责模块加载,不转换框架组件;本插件的子应用桥接允许两个框架各自管理组件树 |
32
+ | JS 沙箱 / 自动 CSS 隔离 | 不提供 | 普通同页面联邦不会自动隔离全局变量、全局 CSS、Portal/Teleport 的容器外 DOM;需要额外隔离方案 |
33
+ | 独立浏览器 DevTools 扩展 | 无 | 本插件提供 `window.__FULGURJS_SCOPE__ / __FULGURJS_INFO__`。其他联邦生态工具的扩展不能计为 webpack 内置能力 |
34
+ | React 页面 KeepAlive | 不承诺 | 已下载模块可复用;组件状态保活需要应用或专门库实现 |
35
+ | 其他框架与路由库的内置适配 | 无 | URL 同步内置 Vue Router / React Router data router;其他库可实现导航端口。多层桥接路由自动代理、跨窗口同步不在当前支持面 |
36
+
37
+ ## 三、使用限制与 webpack 的区别
38
+
39
+ 以下区分实例正确性、网络开销和失败恢复,不将“已测场景”扩大成所有工程保证。
40
+
41
+ | 场景 | 本插件当前表现 | webpack 5 内置 MF 的对应表现 | 处理方法 |
42
+ |---|---|---|---|
43
+ | 共享库额外网络副本 | Vite 8 同步消费门面可能把未采用的本地副本也拉入模块图;已测双版本场景 ≤2 份。这不是所有应用图的数量上限;同 singleton scope 的实例身份仍统一 | 不是 webpack 的必然限制。异步 shared 可按协商结果加载;eager/fallback、未共享路径或不同 scope 也可能增加下载量,不能宣称 webpack 永远只下载一份 | 区分网络文件数与运行时实例数,按实际构建图评估;不要将本插件这项代价归为所有 MF 实现共有 |
44
+ | dev 冷启动依赖优化重载 | Vite 新发现依赖时可能重新预构建并 full reload(DEV-010);稳定态需等优化完成 | webpack dev 也有编译/HMR 等待,但没有同一套 Vite 依赖优化机制 | 排查冷/热态区别,按需配置预构建;这不是生产限制,也不是 webpack MF 的相同缺陷 |
45
+ | expose 的静态 ESM 依赖下载失败 | 已缓存失败的依赖 URL 可能阻止同页恢复;只变换 expose 入口 URL 不会改写静态依赖 URL,提供用户主动刷新恢复 | 常见 script/JSONP chunk loader 失败后清掉该 chunk 的加载状态,后续请求可以重新加载;仍需调用方触发重试。404 旧产物、持续网络故障等不保证靠重试恢复;使用原生 ESM 路径时需单独评估 | 不笼统写“webpack 也只能刷新”。本插件控制的入口/动态加载边界可变换 URL;静态依赖失败仍保留刷新操作 |
46
+ | React 与 renderer 不兼容或实例不一致 | React 18 的 renderer 不能因 singleton 协商就自动兼容 React 19。对齐版本,或分 scope 隔离整组依赖及消费者 | 同样受 React 的版本与实例要求约束;singleton 不会转换框架 ABI,strictVersion 可拒绝冲突 | 共享树使用兼容 React/renderer;不同大版本使用独立树和作用域,传普通数据/回调 |
47
+
48
+ 异步协商的启动时序同样需要关注:webpack 推荐异步 bootstrap 边界。本插件对 HTML 入口自动处理相关边界;自定义入口仍应先 `await loadShare`,再动态导入消费者。已经求值的静态绑定不能追溯替换。
49
+
50
+ ### 官方依据
51
+
52
+ - [webpack 联邦概念与异步 bootstrap](https://webpack.js.org/concepts/module-federation/):容器、shareScope、已加载实例、eager 下载代价及不同运行环境。
53
+ - [webpack shared 配置](https://webpack.js.org/plugins/module-federation-plugin/):singleton / requiredVersion / strictVersion / eager。
54
+ - [webpack 5.102.1 JSONP chunk loader 源码](https://github.com/webpack/webpack/blob/v5.102.1/lib/web/JsonpChunkLoadingRuntimeModule.js):失败时清除 installedChunks 状态。此结论针对该加载器,由源码推导,不代表所有加载器或任意故障都能自动恢复。
55
+ - [HTML 标准:模块脚本加载](https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-single-module-script):原生 ESM 的 module map 与失败记录。
56
+ - [Vite 依赖预构建](https://vite.dev/guide/dep-pre-bundling):新依赖触发重新优化及必要的页面重载。
57
+ - [React 的版本与重复实例诊断](https://react.dev/warnings/invalid-hook-call-warning):消费方与 renderer 必须使用一致的 React 模块实例。
58
+
59
+ ## 四、迁移入口
60
+
61
+ - Vite 工程按 [README](../README.md) 配置 remotes/exposes/shared,不照搬已经删除的 webpack 配置字段。
62
+ - 从 iframe/其他微前端方案迁移:先选择模块/页面加载或子应用桥接;需要地址恢复时显式开启 URL 同步。
63
+ - React 18/19 同页运行:先运行 [版本隔离 Demo](../demo/react-versions/README.md),再按实际应用依赖图配置作用域。
64
+ - 旧报告里的“React 未支持”“URL 同步待实现”“Vite 8 生产挂起未解”属于旧版本记录。当前补修证据见 [完整验收报告 §14](完整Demo展示与全面复测-验收报告-20261002.md#14-共享协商收尾与证据订正571)。
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-bridge-react-host",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "react": "^19.1.0",
13
13
  "react-dom": "^19.1.0",
14
14
  "vue": "^3.5.13"
@@ -716,9 +716,9 @@
716
716
  }
717
717
  },
718
718
  "node_modules/@fulgurjs/federation": {
719
- "version": "5.7.0",
720
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
721
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
719
+ "version": "5.7.1",
720
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
721
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
722
722
  "license": "MIT",
723
723
  "dependencies": {
724
724
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5304 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "vue": "^3.5.13"
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-bridge-react-remote",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "react": "^19.1.0",
13
13
  "react-dom": "^19.1.0",
14
14
  "react-router-dom": "^7.1.0"
@@ -720,9 +720,9 @@
720
720
  }
721
721
  },
722
722
  "node_modules/@fulgurjs/federation": {
723
- "version": "5.7.0",
724
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
725
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
723
+ "version": "5.7.1",
724
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
725
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
726
726
  "license": "MIT",
727
727
  "dependencies": {
728
728
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5303 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "react-router-dom": "^7.1.0"
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-bridge-vue-host",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "react": "^19.1.0",
13
13
  "react-dom": "^19.1.0",
14
14
  "vue": "^3.5.13"
@@ -484,9 +484,9 @@
484
484
  }
485
485
  },
486
486
  "node_modules/@fulgurjs/federation": {
487
- "version": "5.7.0",
488
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
489
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
487
+ "version": "5.7.1",
488
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
489
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
490
490
  "license": "MIT",
491
491
  "dependencies": {
492
492
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5314 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "vue": "^3.5.13"
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-bridge-vue-remote",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "vue": "^3.5.13",
13
13
  "vue-router": "^4.5.0"
14
14
  },
@@ -481,9 +481,9 @@
481
481
  }
482
482
  },
483
483
  "node_modules/@fulgurjs/federation": {
484
- "version": "5.7.0",
485
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
486
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
484
+ "version": "5.7.1",
485
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
486
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
487
487
  "license": "MIT",
488
488
  "dependencies": {
489
489
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5313 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "vue": "^3.5.13",
14
14
  "vue-router": "^4.5.0"
15
15
  },
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-react-host",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "react": "^19.1.0",
13
13
  "react-dom": "^19.1.0",
14
14
  "react-router-dom": "^7.1.0"
@@ -720,9 +720,9 @@
720
720
  }
721
721
  },
722
722
  "node_modules/@fulgurjs/federation": {
723
- "version": "5.7.0",
724
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
725
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
723
+ "version": "5.7.1",
724
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
725
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
726
726
  "license": "MIT",
727
727
  "dependencies": {
728
728
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5204 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "react-router-dom": "^7.1.0"
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-react-remote",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "react": "^19.1.0",
13
13
  "react-dom": "^19.1.0"
14
14
  },
@@ -719,9 +719,9 @@
719
719
  }
720
720
  },
721
721
  "node_modules/@fulgurjs/federation": {
722
- "version": "5.7.0",
723
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
724
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
722
+ "version": "5.7.1",
723
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
724
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
725
725
  "license": "MIT",
726
726
  "dependencies": {
727
727
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5203 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0"
15
15
  },
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-vue-host",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "vue": "^3.5.13",
13
13
  "vue-router": "^4.5.0"
14
14
  },
@@ -481,9 +481,9 @@
481
481
  }
482
482
  },
483
483
  "node_modules/@fulgurjs/federation": {
484
- "version": "5.7.0",
485
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
486
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
484
+ "version": "5.7.1",
485
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
486
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
487
487
  "license": "MIT",
488
488
  "dependencies": {
489
489
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5214 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "vue": "^3.5.13",
14
14
  "vue-router": "^4.5.0"
15
15
  },
@@ -8,7 +8,7 @@
8
8
  "name": "fulgurjs-demo-vue-remote",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@fulgurjs/federation": "5.7.0",
11
+ "@fulgurjs/federation": "5.7.1",
12
12
  "vue": "^3.5.13"
13
13
  },
14
14
  "devDependencies": {
@@ -480,9 +480,9 @@
480
480
  }
481
481
  },
482
482
  "node_modules/@fulgurjs/federation": {
483
- "version": "5.7.0",
484
- "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.0.tgz",
485
- "integrity": "sha512-BVmWRUYtOzj+UTORhvZZ6mMJMQkw4f+JZldFRmf6HNRNDNGfblE5iIPWPwg8xz8JKsmRsXKnuNXUcUIGmQVV5A==",
483
+ "version": "5.7.1",
484
+ "resolved": "https://registry.npmjs.org/@fulgurjs/federation/-/federation-5.7.1.tgz",
485
+ "integrity": "sha512-unJsGZ9K1U+yPjYVdwTBYEgfzfAHDeoLkE7u8osIG+ddB1LUcWJe0NjWl38XGmVw4U6DFS1i3zJLTioaeNhz5Q==",
486
486
  "license": "MIT",
487
487
  "dependencies": {
488
488
  "es-module-lexer": "^1.6.0",
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5213 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "5.7.0",
12
+ "@fulgurjs/federation": "5.7.1",
13
13
  "vue": "^3.5.13"
14
14
  },
15
15
  "devDependencies": {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@fulgurjs/federation",
3
- "version": "5.7.1",
3
+ "version": "5.8.0",
4
4
  "type": "module",
5
- "description": "Vite Module Federation with full Webpack MF parity. Dev & production, no compromise.",
5
+ "description": "Vite Module Federation for Vue and React: remote modules, shared dependencies and app bridges.",
6
6
  "license": "MIT",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.js",
@@ -119,10 +119,12 @@
119
119
  "docs/迁移指南.md",
120
120
  "docs/webpack-mf-对照与缺口.md",
121
121
  "docs/沙箱边界审计.md",
122
- "docs/P5-vite7-8兼容矩阵.md"
122
+ "docs/P5-vite7-8兼容矩阵.md",
123
+ "docs/API.md",
124
+ "docs/API.en.md"
123
125
  ],
124
126
  "scripts": {
125
- "build": "cp ../../README.md README.md && cp ../../README.en.md README.en.md && mkdir -p docs && cp ../../docs/迁移指南.md ../../docs/webpack-mf-对照与缺口.md ../../docs/沙箱边界审计.md ../../docs/P5-vite7-8兼容矩阵.md docs/ && cp ../../CHANGELOG.md CHANGELOG.md && cp ../../DESIGN.md DESIGN.md && rm -rf examples && cp -R ../../examples examples && find examples \\( -name node_modules -o -name dist -o -path '*/src/fulgurjs/types' \\) -exec rm -rf {} + && esbuild src/runtime/index.ts --bundle --format=esm --target=es2022 --minify --outfile=dist/runtime.js && node scripts/gen-runtime.mjs && tsup src/index.ts src/pages.ts src/vue-adapter.ts src/react-adapter.ts src/context.ts src/bridge-core.ts src/bridge-errors.ts src/bridge-app-vue.ts src/bridge-app-react.ts src/bridge-host-vue.ts src/bridge-host-react.ts --format esm,cjs --dts --external vite --target node18 --clean && tsup src/runtime-entry.ts --format esm --dts --external vite,vue --target node18 && tsup src/react.ts --format esm --dts --external vite,react --target node18 && tsup src/bridge.ts src/bridge-vue.ts src/bridge-react.ts --format esm --dts --external vite,vue,react,react-dom --target node18 && tsup src/bridge-router-vue.ts --format esm --dts --external vite,vue,vue-router --target node18 && tsup src/bridge-router-react.tsx --format esm --dts --external vite,react,react-dom,react-router-dom --target node18 && esbuild src/cli.ts --bundle --format=esm --target=node18 --platform=node --outfile=dist/cli.js && esbuild src/runtime/index.ts --bundle --format=esm --target=es2022 --minify --outfile=dist/runtime.js && node scripts/gen-runtime-entry.mjs && node scripts/check-gzip.mjs && node scripts/check-manual-codes.mjs",
127
+ "build": "cp ../../README.md README.md && cp ../../README.en.md README.en.md && mkdir -p docs && cp ../../docs/API.md ../../docs/API.en.md ../../docs/迁移指南.md ../../docs/webpack-mf-对照与缺口.md ../../docs/沙箱边界审计.md ../../docs/P5-vite7-8兼容矩阵.md docs/ && cp ../../CHANGELOG.md CHANGELOG.md && cp ../../DESIGN.md DESIGN.md && rm -rf examples && cp -R ../../examples examples && find examples \\( -name node_modules -o -name dist -o -path '*/src/fulgurjs/types' \\) -exec rm -rf {} + && esbuild src/runtime/index.ts --bundle --format=esm --target=es2022 --minify --outfile=dist/runtime.js && node scripts/gen-runtime.mjs && tsup src/index.ts src/pages.ts src/vue-adapter.ts src/react-adapter.ts src/context.ts src/bridge-core.ts src/bridge-errors.ts src/bridge-app-vue.ts src/bridge-app-react.ts src/bridge-host-vue.ts src/bridge-host-react.ts --format esm,cjs --dts --external vite --target node18 --clean && tsup src/runtime-entry.ts --format esm --dts --external vite,vue --target node18 && tsup src/react.ts --format esm --dts --external vite,react --target node18 && tsup src/bridge.ts src/bridge-vue.ts src/bridge-react.ts --format esm --dts --external vite,vue,react,react-dom --target node18 && tsup src/bridge-router-vue.ts --format esm --dts --external vite,vue,vue-router --target node18 && tsup src/bridge-router-react.tsx --format esm --dts --external vite,react,react-dom,react-router-dom --target node18 && esbuild src/cli.ts --bundle --format=esm --target=node18 --platform=node --outfile=dist/cli.js && esbuild src/runtime/index.ts --bundle --format=esm --target=es2022 --minify --outfile=dist/runtime.js && node scripts/gen-runtime-entry.mjs && node scripts/check-gzip.mjs && node scripts/check-manual-codes.mjs",
126
128
  "dev": "tsup --watch",
127
129
  "test": "vitest run",
128
130
  "typecheck": "tsc --noEmit",