@fulgurjs/federation 6.1.0 → 6.1.2

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/bridge-host-react.cjs +8 -0
  3. package/dist/bridge-host-react.js +1 -1
  4. package/dist/bridge-host-vue.cjs +8 -0
  5. package/dist/bridge-host-vue.js +1 -1
  6. package/dist/{chunk-77JZ6U6V.js → chunk-UUDAPII6.js} +8 -0
  7. package/dist/index.cjs +11 -3
  8. package/dist/index.js +11 -3
  9. package/dist/runtime.js +1 -1
  10. package/docs/en/reference/api.md +1 -1
  11. package/docs/en/reference/errors.md +1 -1
  12. package/docs/zh/reference/api.md +2 -2
  13. package/docs/zh/reference/errors.md +1 -1
  14. package/examples/templates/README.md +1 -1
  15. package/examples/templates/react-host-vue-remote/pnpm-lock.yaml +7 -7
  16. package/examples/templates/react-host-vue-remote/pnpm-workspace.yaml +1 -1
  17. package/examples/templates/react-host-vue-remote/react-host/package.json +1 -1
  18. package/examples/templates/react-host-vue-remote/vue-remote/package.json +1 -1
  19. package/examples/templates/react-react/host/package.json +1 -1
  20. package/examples/templates/react-react/pnpm-lock.yaml +7 -7
  21. package/examples/templates/react-react/pnpm-workspace.yaml +1 -1
  22. package/examples/templates/react-react/remote/package.json +1 -1
  23. package/examples/templates/showcase/pnpm-lock.yaml +11 -11
  24. package/examples/templates/showcase/pnpm-workspace.yaml +1 -1
  25. package/examples/templates/showcase/react-host/package.json +1 -1
  26. package/examples/templates/showcase/react-remote/package.json +1 -1
  27. package/examples/templates/showcase/vue-host/package.json +1 -1
  28. package/examples/templates/showcase/vue-remote/package.json +1 -1
  29. package/examples/templates/vue-host-react-remote/pnpm-lock.yaml +7 -7
  30. package/examples/templates/vue-host-react-remote/pnpm-workspace.yaml +1 -1
  31. package/examples/templates/vue-host-react-remote/react-remote/package.json +1 -1
  32. package/examples/templates/vue-host-react-remote/vue-host/package.json +1 -1
  33. package/examples/templates/vue-vue/host/package.json +1 -1
  34. package/examples/templates/vue-vue/pnpm-lock.yaml +7 -7
  35. package/examples/templates/vue-vue/pnpm-workspace.yaml +1 -1
  36. package/examples/templates/vue-vue/remote/package.json +1 -1
  37. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.1.2
4
+
5
+ **npm 包内五模板维持钉 6.1.0**(6.1.0 与 6.1.1 运行时代码一致,同为「最后已发布验证版本」;包内模板与 `examples/templates` 逐字节同步已核)。本版本含插件代码修复,发布后模板将升钉 6.1.2 并重生成锁文件;升钉前 `fulgurjs create` 生成工程的插件依赖仍是 6.1.0,需升级依赖以获得下列插件修复。
6
+
7
+ ### 修复
8
+
9
+ - **transform:TS 类型位置的动态 import 不再被误改写(发布阻塞修复)**。文档官方形态 `loadRemote<typeof import('remote-a/money')>('remote-a/money')` 与纯类型别名 `type M = typeof import('remote-a/money')` 此前被改写器当作真实导入:类型实参里被插入运行时调用,dev/prod 产出损坏代码(实测 esbuild 把内联形态误析成比较表达式 `loadRemote < typeof … > "remote-a/money"`、类型别名形态直接构建失败 `Expected ";" but found "("` exit 1)。现在改写器按紧邻 `typeof` 关键字跳过类型位置的 `import(...)`(`cond ? a : import('x')` 的 `:` 属合法运行时形态,不误伤);类型别名形态整文件不再产生改写。回归:`tests/transform.test.ts`「TS 类型位置的动态 import 不改写」4 例(官方形态/纯类型别名/混用文件/运行时条件不误伤)。troubleshooting zh/en 补历史症状条目。
10
+ - **bridge-router:URL 重复前缀在第一次宿主写入前显式拒绝(`MFU-032` 扩展)**。桥接子应用把宿主整段地址(含 basePath,如 `/approval/list`)当成自身逻辑路径导航时,宿主 URL 此前会叠加成 `/approval/approval/list`,且此后子/宿两侧自洽地保持错误前缀、难以后期发现。现在这类目标在触发任何宿主历史写入之前被拒绝:错误信息含当前目标、叠加后果与去掉前缀后应使用的目标;子应用停留在上一确认位置,宿主历史零污染;地址栏手工粘贴的双前缀 URL 仍以宿主为准广播、不回弹。文档:zh/en URL 同步指南新增「子应用逻辑路径不得包含 basePath」,错误码表/故障排查/API 参考 `MFU-032` 触发面同步。回归:`tests/bridge-router-regressions.test.ts`「URL 重复前缀守卫」4 例(vue/react 首写入证据、内核、宿主权威广播)。
11
+ - **dts:dev 类型生成提示行不再把内部 setup 入口计入分母**。类型生成的控制台提示此前以 `manifest.exposes` 全量作分母,而内部 setup 生命周期入口不生成用户可导入的类型却计入计数,用户会看到「已收录 2/3」这类解释不了的缺口;现按剔除内部 setup 入口后的公开暴露模块数计数(`src/dts.ts`)。
12
+ - **bridge 文档:`remoteComponent` 的 provide/inject(React Context)边界合同**。远程组件渲染在消费方组件树——提供方 app 根部的 `provide`(全局 AppProvider/prefixCls/主题/ConfigProvider)不随组件走,消费方祖先 provide 正常生效;依赖此类上下文的暴露面应在暴露入口组件内自 provide(单一来源)。zh/en 组件指南 Vue/React 两节同步补齐;未命中 inject 的典型症状(类名前缀 `undefined-xxx`)写入文档。
13
+ - **示例(公开 Jeecg 集成 app-a/app-b):`useForm` 实例就绪合同修复**。`getForm()` 此前只等一次 `nextTick` 即返回可能为 null 的实例,表单操作早于表单渲染发起时(联邦/异步组件首帧常见)直接 TypeError("The form instance has not been obtained",独立站与联邦站均偶发)。现在 `register()` 是唯一就绪事件:早于注册的调用等待注册后落到真实实例;useForm 归属组件卸载时挂起操作以明确错误结束(清理逻辑原挂在 register 内、无活跃实例、从未真正生效,已移入 useForm 所在 setup 的 onUnmounted);卸载后的迟到调用显式失败,不写死实例、不吞错、无 setTimeout。回归:`e2e/scripts/reg-d38-form-ready.mjs`(node:test 5 例,含修复前逐字快照在同一首帧用例上复现原始 TypeError 的对照)。
14
+ - **示例锁文件:demos 五族 13 个 npm 工程 package-lock.json 与 package.json 失配修复**(锁 6.0.0、package.json 要 6.1.0,`npm ci` 必失败——CI `bridge-versions` 双作业即因此 failure)。按 package.json 精准重生成:逐项 diff 仅 `@fulgurjs/federation` 条目 version/resolved/integrity 三行(6.0.0→6.1.0),零传递依赖漂移;13/13 `npm ci --dry-run` 通过、react-versions/host 实装 `npm ci` 通过。
15
+
16
+ ## 6.1.1
17
+
18
+ - **npm 包内五模板钉 6.1.0**(create 向导生成的工程与包版本一致;锁文件 registry 重生成、minimumReleaseAgeExclude 同步 @6.1.0)。插件代码无变化。
19
+
3
20
  ## 6.1.0
4
21
 
5
22
  **组件联邦的全局注册组件安装(setup `globalComponents` 契约)。** 修复一类真实缺陷:远程组件模板内的字符串标签(如 `<a-divider>`)按**消费方 app** 的全局注册表解析——提供方 app 里的 `app.use(X)` 全局注册不随组件走,消费方没注册就渲染成无样式的字面自定义元素(真实业务实测:流程内嵌表单的分节线/选人控件/上传按钮全部退化为死元素)。此前 setup 的注册目标 `hostApp` 在「宿主 → 桥接子应用 → 子应用内再消费远程表单」的嵌套场景拿不到真正渲染表单的子应用 app,本版本补齐该链路。
@@ -325,6 +325,14 @@ function assertChildTargetInScope(target, basePath, spec) {
325
325
  if (/[\x00-\x20\\?#]|%(?:2e|2f|5c)/i.test(target.pathname) || target.pathname.includes("//") || target.pathname.split("/").some((part) => part === "." || part === "..")) {
326
326
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807\u8BD5\u56FE\u9003\u9038\u81EA\u8EAB\u524D\u7F00\uFF1Apathname "${target.pathname}"\u3002\u8DE8\u524D\u7F00\u5BFC\u822A\u8BF7\u901A\u8FC7\u5BBF\u4E3B\u83DC\u5355\u7B49\u5BBF\u4E3B\u80FD\u529B\u5B8C\u6210\u3002`);
327
327
  }
328
+ if (matchesBasePath(target.pathname, basePath)) {
329
+ throw routingNavigationError(
330
+ spec,
331
+ `\u5BFC\u822A\u76EE\u6807 pathname "${target.pathname}" \u5DF2\u5305\u542B\u672C\u5B9E\u4F8B\u524D\u7F00 "${basePath}"\u3002
332
+ \u6839\u56E0: \u5B50\u5E94\u7528\u628A\u5BBF\u4E3B\u89C6\u89D2\u7684\u5730\u5740\uFF08\u542B basePath\uFF09\u5F53\u6210\u4E86\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\uFF0C\u5BBF\u4E3B URL \u4F1A\u53E0\u52A0\u4E3A ${basePath}${target.pathname}\u3002
333
+ \u4FEE\u6CD5: \u5B50\u5E94\u7528\u53EA\u4F7F\u7528\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\u2014\u2014\u53BB\u6389 "${basePath}" \u524D\u7F00\u540E\u91CD\u8BD5\uFF08\u5982 router.push("${target.pathname.slice(basePath.length) || "/"}")\uFF09\uFF1B\u82E5\u5B50\u5E94\u7528\u786E\u5B9E\u5B58\u5728\u4EE5 "${basePath}/" \u5F00\u5934\u7684\u8DEF\u7531\uFF0C\u8BF7\u66F4\u6362\u5BBF\u4E3B\u4FA7 basePath \u6D88\u9664\u6B67\u4E49\u3002`
334
+ );
335
+ }
328
336
  const host = toHostLocation(target, basePath, spec);
329
337
  if (!matchesBasePath(host.pathname, basePath)) {
330
338
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807 ${host.pathname} \u4E0D\u5728\u524D\u7F00 ${basePath} \u4E0B\u3002`);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RoutingChannel,
3
3
  assertBridgeRoutingProtocol
4
- } from "./chunk-77JZ6U6V.js";
4
+ } from "./chunk-UUDAPII6.js";
5
5
  import {
6
6
  acquireBridgeSession,
7
7
  assertBridgeContract,
@@ -325,6 +325,14 @@ function assertChildTargetInScope(target, basePath, spec) {
325
325
  if (/[\x00-\x20\\?#]|%(?:2e|2f|5c)/i.test(target.pathname) || target.pathname.includes("//") || target.pathname.split("/").some((part) => part === "." || part === "..")) {
326
326
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807\u8BD5\u56FE\u9003\u9038\u81EA\u8EAB\u524D\u7F00\uFF1Apathname "${target.pathname}"\u3002\u8DE8\u524D\u7F00\u5BFC\u822A\u8BF7\u901A\u8FC7\u5BBF\u4E3B\u83DC\u5355\u7B49\u5BBF\u4E3B\u80FD\u529B\u5B8C\u6210\u3002`);
327
327
  }
328
+ if (matchesBasePath(target.pathname, basePath)) {
329
+ throw routingNavigationError(
330
+ spec,
331
+ `\u5BFC\u822A\u76EE\u6807 pathname "${target.pathname}" \u5DF2\u5305\u542B\u672C\u5B9E\u4F8B\u524D\u7F00 "${basePath}"\u3002
332
+ \u6839\u56E0: \u5B50\u5E94\u7528\u628A\u5BBF\u4E3B\u89C6\u89D2\u7684\u5730\u5740\uFF08\u542B basePath\uFF09\u5F53\u6210\u4E86\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\uFF0C\u5BBF\u4E3B URL \u4F1A\u53E0\u52A0\u4E3A ${basePath}${target.pathname}\u3002
333
+ \u4FEE\u6CD5: \u5B50\u5E94\u7528\u53EA\u4F7F\u7528\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\u2014\u2014\u53BB\u6389 "${basePath}" \u524D\u7F00\u540E\u91CD\u8BD5\uFF08\u5982 router.push("${target.pathname.slice(basePath.length) || "/"}")\uFF09\uFF1B\u82E5\u5B50\u5E94\u7528\u786E\u5B9E\u5B58\u5728\u4EE5 "${basePath}/" \u5F00\u5934\u7684\u8DEF\u7531\uFF0C\u8BF7\u66F4\u6362\u5BBF\u4E3B\u4FA7 basePath \u6D88\u9664\u6B67\u4E49\u3002`
334
+ );
335
+ }
328
336
  const host = toHostLocation(target, basePath, spec);
329
337
  if (!matchesBasePath(host.pathname, basePath)) {
330
338
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807 ${host.pathname} \u4E0D\u5728\u524D\u7F00 ${basePath} \u4E0B\u3002`);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RoutingChannel,
3
3
  assertBridgeRoutingProtocol
4
- } from "./chunk-77JZ6U6V.js";
4
+ } from "./chunk-UUDAPII6.js";
5
5
  import {
6
6
  acquireBridgeSession,
7
7
  assertBridgeContract,
@@ -43,6 +43,14 @@ function assertChildTargetInScope(target, basePath, spec) {
43
43
  if (/[\x00-\x20\\?#]|%(?:2e|2f|5c)/i.test(target.pathname) || target.pathname.includes("//") || target.pathname.split("/").some((part) => part === "." || part === "..")) {
44
44
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807\u8BD5\u56FE\u9003\u9038\u81EA\u8EAB\u524D\u7F00\uFF1Apathname "${target.pathname}"\u3002\u8DE8\u524D\u7F00\u5BFC\u822A\u8BF7\u901A\u8FC7\u5BBF\u4E3B\u83DC\u5355\u7B49\u5BBF\u4E3B\u80FD\u529B\u5B8C\u6210\u3002`);
45
45
  }
46
+ if (matchesBasePath(target.pathname, basePath)) {
47
+ throw routingNavigationError(
48
+ spec,
49
+ `\u5BFC\u822A\u76EE\u6807 pathname "${target.pathname}" \u5DF2\u5305\u542B\u672C\u5B9E\u4F8B\u524D\u7F00 "${basePath}"\u3002
50
+ \u6839\u56E0: \u5B50\u5E94\u7528\u628A\u5BBF\u4E3B\u89C6\u89D2\u7684\u5730\u5740\uFF08\u542B basePath\uFF09\u5F53\u6210\u4E86\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\uFF0C\u5BBF\u4E3B URL \u4F1A\u53E0\u52A0\u4E3A ${basePath}${target.pathname}\u3002
51
+ \u4FEE\u6CD5: \u5B50\u5E94\u7528\u53EA\u4F7F\u7528\u81EA\u8EAB\u903B\u8F91\u8DEF\u5F84\u2014\u2014\u53BB\u6389 "${basePath}" \u524D\u7F00\u540E\u91CD\u8BD5\uFF08\u5982 router.push("${target.pathname.slice(basePath.length) || "/"}")\uFF09\uFF1B\u82E5\u5B50\u5E94\u7528\u786E\u5B9E\u5B58\u5728\u4EE5 "${basePath}/" \u5F00\u5934\u7684\u8DEF\u7531\uFF0C\u8BF7\u66F4\u6362\u5BBF\u4E3B\u4FA7 basePath \u6D88\u9664\u6B67\u4E49\u3002`
52
+ );
53
+ }
46
54
  const host = toHostLocation(target, basePath, spec);
47
55
  if (!matchesBasePath(host.pathname, basePath)) {
48
56
  throw routingNavigationError(spec, `\u5BFC\u822A\u76EE\u6807 ${host.pathname} \u4E0D\u5728\u524D\u7F00 ${basePath} \u4E0B\u3002`);
package/dist/index.cjs CHANGED
@@ -43,7 +43,7 @@ var import_node_fs = __toESM(require("fs"), 1);
43
43
  var import_node_path = __toESM(require("path"), 1);
44
44
 
45
45
  // src/version.ts
46
- var RUNTIME_VERSION = "6.1.0";
46
+ var RUNTIME_VERSION = "6.1.2";
47
47
 
48
48
  // src/dev-cors.ts
49
49
  function normalizeDevCorsOrigins(input) {
@@ -1572,6 +1572,11 @@ export { ${nsAs[1]} };`);
1572
1572
  const specExpr = code.slice(imp.s, imp.e).trim();
1573
1573
  const literal = specExpr.match(/^['"](.*)['"]$/s);
1574
1574
  if (!literal) continue;
1575
+ {
1576
+ const importStart = code.lastIndexOf("import", d);
1577
+ const before = code.slice(Math.max(0, importStart - 32), importStart);
1578
+ if (/typeof\s*$/u.test(before)) continue;
1579
+ }
1575
1580
  const spec = remap(literal[1]);
1576
1581
  const matched = matcher ? matchShared(spec, matcher) : null;
1577
1582
  const shared = matched && inSharedClosure(clean, ctx.sharedClosureRoots) ? null : matched;
@@ -2026,6 +2031,9 @@ async function generateDevTypes(options, server) {
2026
2031
  import_node_fs2.default.mkdirSync(preciseDir, { recursive: true });
2027
2032
  const preciseFiles = [];
2028
2033
  let accepted = 0;
2034
+ const publicExposeCount = (manifest.exposes ?? []).filter(
2035
+ (expose) => !(manifest.setup && expose.name === manifest.setup)
2036
+ ).length;
2029
2037
  for (const expose of manifest.exposes ?? []) {
2030
2038
  if (manifest.setup && expose.name === manifest.setup) continue;
2031
2039
  const skipped = (reason) => console.warn(`[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${remote.key}" \u7684\u66B4\u9732\u6A21\u5757 ${JSON.stringify(expose.name)} \u5DF2\u8DF3\u8FC7\u3002\u539F\u56E0\uFF1A${reason}\u3002\u8BF7\u68C0\u67E5\u8BE5\u6A21\u5757\u5728\u8FDC\u7A0B manifest \u4E2D\u7684\u6E90\u6587\u4EF6\u8DEF\u5F84\u3002`);
@@ -2135,7 +2143,7 @@ async function generateDevTypes(options, server) {
2135
2143
  );
2136
2144
  }
2137
2145
  console.log(
2138
- `[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u5DF2\u751F\u6210 ${dir}/${remote.key}.d.ts\uFF08\u5DF2\u6536\u5F55 ${accepted}/${manifest.exposes?.length ?? 0} \u4E2A\u66B4\u9732\u6A21\u5757\uFF0C\u6A21\u5F0F ${mode}\uFF09\u3002\u8BF7\u786E\u4FDD tsconfig \u7684 include \u5305\u542B "${dir}"\uFF0C\u4EE5\u83B7\u5F97\u7C7B\u578B\u8865\u5168\u3002`
2146
+ `[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u5DF2\u751F\u6210 ${dir}/${remote.key}.d.ts\uFF08\u5DF2\u6536\u5F55 ${accepted}/${publicExposeCount} \u4E2A\u66B4\u9732\u6A21\u5757\uFF0C\u6A21\u5F0F ${mode}\uFF09\u3002\u8BF7\u786E\u4FDD tsconfig \u7684 include \u5305\u542B "${dir}"\uFF0C\u4EE5\u83B7\u5F97\u7C7B\u578B\u8865\u5168\u3002`
2139
2147
  );
2140
2148
  }
2141
2149
  }
@@ -2667,7 +2675,7 @@ function repairRolldownAsyncMarks(code, sourceName) {
2667
2675
  }
2668
2676
 
2669
2677
  // src/runtime-code.gen.ts
2670
- var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(g),v=/^\\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\\s+-\\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.0";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await q(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default;if(typeof s!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}await J(e.name,s,{appContext:B(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,t}}async function ce(e,r,n){let o=B(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),i=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=i,i.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),i}async function le(e,r){let n=r?.[Te];if(typeof n!="string"||n==="")return;let o=G(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let M=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function fe(e="default"){return M(e),l}function F(e,r,n,o,t={}){let s=M(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,i=u&&typeof u=="object"?u:void 0;i||(i=Object.create(null),s[r]=i),!(Object.hasOwn(i,n)&&i[n])&&(i[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function de(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function X(e){for(let r of e){de(r);let n=f.get(r.name);f.set(r.name,{timeout:H,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ce,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){X([e])}function pe(e){d.push(...e),g.clear(),ie()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=M(o)[t]||{},i=Object.keys(u).filter(p=>!n||r.singleton||u[p].value!==void 0);if(n&&i.length===0)return;let S=r.requiredVersion,m=i.filter(p=>S===void 0||S===!1||x(p,S)),a;if(r.singleton&&i.length>0){let p=i.filter(h=>u[h].loaded);if(a=[...p.length?p:i].sort(T).pop(),!m.includes(a)){let h=u[a],L=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${S??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${i.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${a}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${a}|${i.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(a=[...m].sort(T).pop(),!a){if(r.strictVersion){let p=new w(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${S}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${i.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw $({remote:t,error:p}),p}return}return u[a]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=M(t),i=Object.hasOwn(u,s)?u[s]:void 0;if(i&&Object.keys(i).length>0){try{let m=I(e,r);if(m&&m.value===void 0){if(m.version===o)m.value=n,m.loaded=!0;else if(r.singleton&&!m.pendingGet){F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let a=u[s][o];a.value=n,a.loaded=!0}}}catch{}return}F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=M(n)[o]||{},s=y(e,r),u=_.resolveShare?g.get(s):void 0,i=u||I(e,r);if(!i){if(r.fallback){let p=await r.fallback();return W(e,r,p),p}let a=new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw $({remote:o,error:a}),a}if(_.resolveShare&&!u){let a=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:i,available:Object.values(t)});a&&(i=a),g.set(s,i)}if(i.value!==void 0)return g.set(y(e,r),i),i.value;if(i.loaded=!0,!i.pendingGet)try{i.pendingGet=i.get()}catch(a){i.pendingGet=Promise.reject(a)}let S=i.pendingGet,m;try{m=await S}catch(a){if(i.value!==void 0)return g.set(y(e,r),i),i.value;throw i.loaded=!1,g.get(s)===i&&g.delete(s),a}finally{i.pendingGet===S&&(i.pendingGet=void 0)}return i.value===void 0&&(i.value=m),g.set(y(e,r),i),i.value}function ge(e,r={}){return _.resolveShare?g.get(y(e,r))?.value:I(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(e,r),u=g.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let i=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(M(n)[o]||{})});if(i&&typeof i.then=="function")throw Promise.resolve(i).catch(()=>{}),new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let S=i;if(S){if(S.value!==void 0)return g.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return c.has(s)||(c.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(g.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(M(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&g.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let we=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function D(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:E.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??H,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name});throw $({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let p=await Z(e.promise(),e.timeout??H,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof p=="string"?await ee(p,e):p;return D(h,e),h});else for(let p of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(p,e);return D(h,e),h});let u,i,S=!1,m=r?.retries??e.retries??oe;for(let p of s){for(let h=0;h<=m;h++){let L=performance.now();try{u=await p(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(i=P,P?.code)throw P;h<m&&await we(Math.min(Ne,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let p=Y(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new w(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${p} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name})}D(u,e);let a=N.get(u);if(a&&a!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${a}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(l),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw $({remote:e.name,error:u}),u}}function K(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Ee(e,r){let{remote:n,module:o}=K(e);if(o&&V===n)throw new w(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(a){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}let t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let a=o&&t.manifestUrl?q(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),a])}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}if(!o)return s;await le(t,s);let u=G(n).globalComponents,i=r?.consumerApp;if(u&&i&&typeof i.component=="function")for(let a of Object.keys(u))i.component(a,u[a]);let S=`${n}@${t.shareScope||"default"}#${o}`;b.has(S)||b.set(S,s.get(o).catch(a=>{throw b.delete(S),a instanceof w||a?.code?a:new w(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o})}));let m;try{m=await b.get(S)}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:m})}catch(a){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let a=new w(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});$({remote:n,error:a}),console.error(a.message)}return m}function Re(e){let r=f.get(e);if(!r)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function q(e,r={}){let{remote:n,module:o}=K(e),t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(m,a)=>{if(m.sheet)return Promise.resolve();let p=A.get(m);if(p)return p;let h=new Promise(L=>{let P=()=>{m.removeEventListener("load",P),m.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${a}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),P()};m.addEventListener("load",P,{once:!0}),m.addEventListener("error",O,{once:!0}),m.sheet&&P()});return A.set(m,h),h},i=(m,a)=>{if(typeof document>"u")return Promise.resolve();let p=document.querySelector(`link[href="${m}"]`);if(p)return a==="style"&&s==="preload"?A.get(p)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=a==="style"?"stylesheet":"modulepreload",h.href=m,s==="prefetch"&&(h.fetchPriority="low");let L=a==="style"?u(h,m):Promise.resolve();return document.head.appendChild(h),a==="style"&&s==="preload"?L:Promise.resolve()},S=m=>{let a=typeof document<"u"?document.baseURI:void 0,p=new URL(t.entry,a||"http://fulgurjs.invalid/");return!p.pathname.endsWith("/")&&!p.pathname.split("/").pop().includes(".")&&(p.pathname+="/"),new URL(m,p).href};try{if(t.manifestUrl){let m=v.get(t.manifestUrl);m||(m=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(p=>p.ok?p.json():void 0),v.set(t.manifestUrl,m),m.then(p=>{p||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let a=await m;if(a){let p=a.schemaVersion;if(typeof p=="number"&&(!Number.isInteger(p)||p>1)){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(p)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await i(t.entry,"modulepreload");return}await i(t.entry,"modulepreload");let h=a.exposes,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await i(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=i(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await i(t.entry,"modulepreload")}catch(m){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of f)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:fe,registerShare:F,registerRemotes:X,registerRemote:me,registerPlugins:pe,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:q,parseSpec:K,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Je=te;function Xe(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:f,opts:d}of l)await R.loadShare(f,d)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function fr(l){if(l&&typeof l=="object"&&"default"in l){let f=l.default;return f!==void 0?f:l}return l}var dr=R;export{lr as clearSessionState,dr as default,ir as getContainer,rr as getLoadedShare,Xe as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,fr as unwrapDefault,Je as version};\n';
2678
+ var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(g),v=/^\\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\\s+-\\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.2";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await q(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default;if(typeof s!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}await J(e.name,s,{appContext:B(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,t}}async function ce(e,r,n){let o=B(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),i=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=i,i.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),i}async function le(e,r){let n=r?.[Te];if(typeof n!="string"||n==="")return;let o=G(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let M=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function fe(e="default"){return M(e),l}function F(e,r,n,o,t={}){let s=M(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,i=u&&typeof u=="object"?u:void 0;i||(i=Object.create(null),s[r]=i),!(Object.hasOwn(i,n)&&i[n])&&(i[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function de(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function X(e){for(let r of e){de(r);let n=f.get(r.name);f.set(r.name,{timeout:H,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ce,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){X([e])}function pe(e){d.push(...e),g.clear(),ie()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=M(o)[t]||{},i=Object.keys(u).filter(p=>!n||r.singleton||u[p].value!==void 0);if(n&&i.length===0)return;let S=r.requiredVersion,m=i.filter(p=>S===void 0||S===!1||x(p,S)),a;if(r.singleton&&i.length>0){let p=i.filter(h=>u[h].loaded);if(a=[...p.length?p:i].sort(T).pop(),!m.includes(a)){let h=u[a],L=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${S??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${i.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${a}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${a}|${i.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(a=[...m].sort(T).pop(),!a){if(r.strictVersion){let p=new w(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${S}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${i.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw $({remote:t,error:p}),p}return}return u[a]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=M(t),i=Object.hasOwn(u,s)?u[s]:void 0;if(i&&Object.keys(i).length>0){try{let m=I(e,r);if(m&&m.value===void 0){if(m.version===o)m.value=n,m.loaded=!0;else if(r.singleton&&!m.pendingGet){F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let a=u[s][o];a.value=n,a.loaded=!0}}}catch{}return}F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=M(n)[o]||{},s=y(e,r),u=_.resolveShare?g.get(s):void 0,i=u||I(e,r);if(!i){if(r.fallback){let p=await r.fallback();return W(e,r,p),p}let a=new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw $({remote:o,error:a}),a}if(_.resolveShare&&!u){let a=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:i,available:Object.values(t)});a&&(i=a),g.set(s,i)}if(i.value!==void 0)return g.set(y(e,r),i),i.value;if(i.loaded=!0,!i.pendingGet)try{i.pendingGet=i.get()}catch(a){i.pendingGet=Promise.reject(a)}let S=i.pendingGet,m;try{m=await S}catch(a){if(i.value!==void 0)return g.set(y(e,r),i),i.value;throw i.loaded=!1,g.get(s)===i&&g.delete(s),a}finally{i.pendingGet===S&&(i.pendingGet=void 0)}return i.value===void 0&&(i.value=m),g.set(y(e,r),i),i.value}function ge(e,r={}){return _.resolveShare?g.get(y(e,r))?.value:I(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(e,r),u=g.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let i=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(M(n)[o]||{})});if(i&&typeof i.then=="function")throw Promise.resolve(i).catch(()=>{}),new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let S=i;if(S){if(S.value!==void 0)return g.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return c.has(s)||(c.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(g.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(M(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&g.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let we=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function D(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:E.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??H,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name});throw $({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let p=await Z(e.promise(),e.timeout??H,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof p=="string"?await ee(p,e):p;return D(h,e),h});else for(let p of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(p,e);return D(h,e),h});let u,i,S=!1,m=r?.retries??e.retries??oe;for(let p of s){for(let h=0;h<=m;h++){let L=performance.now();try{u=await p(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(i=P,P?.code)throw P;h<m&&await we(Math.min(Ne,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let p=Y(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new w(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${p} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name})}D(u,e);let a=N.get(u);if(a&&a!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${a}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(l),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw $({remote:e.name,error:u}),u}}function K(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Ee(e,r){let{remote:n,module:o}=K(e);if(o&&V===n)throw new w(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(a){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}let t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let a=o&&t.manifestUrl?q(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),a])}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}if(!o)return s;await le(t,s);let u=G(n).globalComponents,i=r?.consumerApp;if(u&&i&&typeof i.component=="function")for(let a of Object.keys(u))i.component(a,u[a]);let S=`${n}@${t.shareScope||"default"}#${o}`;b.has(S)||b.set(S,s.get(o).catch(a=>{throw b.delete(S),a instanceof w||a?.code?a:new w(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o})}));let m;try{m=await b.get(S)}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:m})}catch(a){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let a=new w(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});$({remote:n,error:a}),console.error(a.message)}return m}function Re(e){let r=f.get(e);if(!r)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function q(e,r={}){let{remote:n,module:o}=K(e),t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(m,a)=>{if(m.sheet)return Promise.resolve();let p=A.get(m);if(p)return p;let h=new Promise(L=>{let P=()=>{m.removeEventListener("load",P),m.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${a}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),P()};m.addEventListener("load",P,{once:!0}),m.addEventListener("error",O,{once:!0}),m.sheet&&P()});return A.set(m,h),h},i=(m,a)=>{if(typeof document>"u")return Promise.resolve();let p=document.querySelector(`link[href="${m}"]`);if(p)return a==="style"&&s==="preload"?A.get(p)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=a==="style"?"stylesheet":"modulepreload",h.href=m,s==="prefetch"&&(h.fetchPriority="low");let L=a==="style"?u(h,m):Promise.resolve();return document.head.appendChild(h),a==="style"&&s==="preload"?L:Promise.resolve()},S=m=>{let a=typeof document<"u"?document.baseURI:void 0,p=new URL(t.entry,a||"http://fulgurjs.invalid/");return!p.pathname.endsWith("/")&&!p.pathname.split("/").pop().includes(".")&&(p.pathname+="/"),new URL(m,p).href};try{if(t.manifestUrl){let m=v.get(t.manifestUrl);m||(m=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(p=>p.ok?p.json():void 0),v.set(t.manifestUrl,m),m.then(p=>{p||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let a=await m;if(a){let p=a.schemaVersion;if(typeof p=="number"&&(!Number.isInteger(p)||p>1)){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(p)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await i(t.entry,"modulepreload");return}await i(t.entry,"modulepreload");let h=a.exposes,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await i(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=i(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await i(t.entry,"modulepreload")}catch(m){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of f)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:fe,registerShare:F,registerRemotes:X,registerRemote:me,registerPlugins:pe,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:q,parseSpec:K,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Je=te;function Xe(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:f,opts:d}of l)await R.loadShare(f,d)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function fr(l){if(l&&typeof l=="object"&&"default"in l){let f=l.default;return f!==void 0?f:l}return l}var dr=R;export{lr as clearSessionState,dr as default,ir as getContainer,rr as getLoadedShare,Xe as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,fr as unwrapDefault,Je as version};\n';
2671
2679
 
2672
2680
  // src/index.ts
2673
2681
  function readRuntimeCode() {
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import fs from "fs";
8
8
  import path from "path";
9
9
 
10
10
  // src/version.ts
11
- var RUNTIME_VERSION = "6.1.0";
11
+ var RUNTIME_VERSION = "6.1.2";
12
12
 
13
13
  // src/dev-cors.ts
14
14
  function normalizeDevCorsOrigins(input) {
@@ -1537,6 +1537,11 @@ export { ${nsAs[1]} };`);
1537
1537
  const specExpr = code.slice(imp.s, imp.e).trim();
1538
1538
  const literal = specExpr.match(/^['"](.*)['"]$/s);
1539
1539
  if (!literal) continue;
1540
+ {
1541
+ const importStart = code.lastIndexOf("import", d);
1542
+ const before = code.slice(Math.max(0, importStart - 32), importStart);
1543
+ if (/typeof\s*$/u.test(before)) continue;
1544
+ }
1540
1545
  const spec = remap(literal[1]);
1541
1546
  const matched = matcher ? matchShared(spec, matcher) : null;
1542
1547
  const shared = matched && inSharedClosure(clean, ctx.sharedClosureRoots) ? null : matched;
@@ -1991,6 +1996,9 @@ async function generateDevTypes(options, server) {
1991
1996
  fs2.mkdirSync(preciseDir, { recursive: true });
1992
1997
  const preciseFiles = [];
1993
1998
  let accepted = 0;
1999
+ const publicExposeCount = (manifest.exposes ?? []).filter(
2000
+ (expose) => !(manifest.setup && expose.name === manifest.setup)
2001
+ ).length;
1994
2002
  for (const expose of manifest.exposes ?? []) {
1995
2003
  if (manifest.setup && expose.name === manifest.setup) continue;
1996
2004
  const skipped = (reason) => console.warn(`[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${remote.key}" \u7684\u66B4\u9732\u6A21\u5757 ${JSON.stringify(expose.name)} \u5DF2\u8DF3\u8FC7\u3002\u539F\u56E0\uFF1A${reason}\u3002\u8BF7\u68C0\u67E5\u8BE5\u6A21\u5757\u5728\u8FDC\u7A0B manifest \u4E2D\u7684\u6E90\u6587\u4EF6\u8DEF\u5F84\u3002`);
@@ -2100,7 +2108,7 @@ async function generateDevTypes(options, server) {
2100
2108
  );
2101
2109
  }
2102
2110
  console.log(
2103
- `[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u5DF2\u751F\u6210 ${dir}/${remote.key}.d.ts\uFF08\u5DF2\u6536\u5F55 ${accepted}/${manifest.exposes?.length ?? 0} \u4E2A\u66B4\u9732\u6A21\u5757\uFF0C\u6A21\u5F0F ${mode}\uFF09\u3002\u8BF7\u786E\u4FDD tsconfig \u7684 include \u5305\u542B "${dir}"\uFF0C\u4EE5\u83B7\u5F97\u7C7B\u578B\u8865\u5168\u3002`
2111
+ `[fulgurjs] \u7C7B\u578B\u751F\u6210\uFF1A\u5DF2\u751F\u6210 ${dir}/${remote.key}.d.ts\uFF08\u5DF2\u6536\u5F55 ${accepted}/${publicExposeCount} \u4E2A\u66B4\u9732\u6A21\u5757\uFF0C\u6A21\u5F0F ${mode}\uFF09\u3002\u8BF7\u786E\u4FDD tsconfig \u7684 include \u5305\u542B "${dir}"\uFF0C\u4EE5\u83B7\u5F97\u7C7B\u578B\u8865\u5168\u3002`
2104
2112
  );
2105
2113
  }
2106
2114
  }
@@ -2632,7 +2640,7 @@ function repairRolldownAsyncMarks(code, sourceName) {
2632
2640
  }
2633
2641
 
2634
2642
  // src/runtime-code.gen.ts
2635
- var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(g),v=/^\\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\\s+-\\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.0";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await q(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default;if(typeof s!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}await J(e.name,s,{appContext:B(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,t}}async function ce(e,r,n){let o=B(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),i=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=i,i.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),i}async function le(e,r){let n=r?.[Te];if(typeof n!="string"||n==="")return;let o=G(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let M=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function fe(e="default"){return M(e),l}function F(e,r,n,o,t={}){let s=M(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,i=u&&typeof u=="object"?u:void 0;i||(i=Object.create(null),s[r]=i),!(Object.hasOwn(i,n)&&i[n])&&(i[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function de(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function X(e){for(let r of e){de(r);let n=f.get(r.name);f.set(r.name,{timeout:H,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ce,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){X([e])}function pe(e){d.push(...e),g.clear(),ie()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=M(o)[t]||{},i=Object.keys(u).filter(p=>!n||r.singleton||u[p].value!==void 0);if(n&&i.length===0)return;let S=r.requiredVersion,m=i.filter(p=>S===void 0||S===!1||x(p,S)),a;if(r.singleton&&i.length>0){let p=i.filter(h=>u[h].loaded);if(a=[...p.length?p:i].sort(T).pop(),!m.includes(a)){let h=u[a],L=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${S??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${i.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${a}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${a}|${i.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(a=[...m].sort(T).pop(),!a){if(r.strictVersion){let p=new w(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${S}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${i.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw $({remote:t,error:p}),p}return}return u[a]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=M(t),i=Object.hasOwn(u,s)?u[s]:void 0;if(i&&Object.keys(i).length>0){try{let m=I(e,r);if(m&&m.value===void 0){if(m.version===o)m.value=n,m.loaded=!0;else if(r.singleton&&!m.pendingGet){F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let a=u[s][o];a.value=n,a.loaded=!0}}}catch{}return}F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=M(n)[o]||{},s=y(e,r),u=_.resolveShare?g.get(s):void 0,i=u||I(e,r);if(!i){if(r.fallback){let p=await r.fallback();return W(e,r,p),p}let a=new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw $({remote:o,error:a}),a}if(_.resolveShare&&!u){let a=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:i,available:Object.values(t)});a&&(i=a),g.set(s,i)}if(i.value!==void 0)return g.set(y(e,r),i),i.value;if(i.loaded=!0,!i.pendingGet)try{i.pendingGet=i.get()}catch(a){i.pendingGet=Promise.reject(a)}let S=i.pendingGet,m;try{m=await S}catch(a){if(i.value!==void 0)return g.set(y(e,r),i),i.value;throw i.loaded=!1,g.get(s)===i&&g.delete(s),a}finally{i.pendingGet===S&&(i.pendingGet=void 0)}return i.value===void 0&&(i.value=m),g.set(y(e,r),i),i.value}function ge(e,r={}){return _.resolveShare?g.get(y(e,r))?.value:I(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(e,r),u=g.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let i=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(M(n)[o]||{})});if(i&&typeof i.then=="function")throw Promise.resolve(i).catch(()=>{}),new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let S=i;if(S){if(S.value!==void 0)return g.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return c.has(s)||(c.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(g.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(M(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&g.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let we=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function D(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:E.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??H,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name});throw $({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let p=await Z(e.promise(),e.timeout??H,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof p=="string"?await ee(p,e):p;return D(h,e),h});else for(let p of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(p,e);return D(h,e),h});let u,i,S=!1,m=r?.retries??e.retries??oe;for(let p of s){for(let h=0;h<=m;h++){let L=performance.now();try{u=await p(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(i=P,P?.code)throw P;h<m&&await we(Math.min(Ne,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let p=Y(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new w(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${p} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name})}D(u,e);let a=N.get(u);if(a&&a!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${a}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(l),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw $({remote:e.name,error:u}),u}}function K(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Ee(e,r){let{remote:n,module:o}=K(e);if(o&&V===n)throw new w(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(a){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}let t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let a=o&&t.manifestUrl?q(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),a])}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}if(!o)return s;await le(t,s);let u=G(n).globalComponents,i=r?.consumerApp;if(u&&i&&typeof i.component=="function")for(let a of Object.keys(u))i.component(a,u[a]);let S=`${n}@${t.shareScope||"default"}#${o}`;b.has(S)||b.set(S,s.get(o).catch(a=>{throw b.delete(S),a instanceof w||a?.code?a:new w(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o})}));let m;try{m=await b.get(S)}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:m})}catch(a){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let a=new w(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});$({remote:n,error:a}),console.error(a.message)}return m}function Re(e){let r=f.get(e);if(!r)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function q(e,r={}){let{remote:n,module:o}=K(e),t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(m,a)=>{if(m.sheet)return Promise.resolve();let p=A.get(m);if(p)return p;let h=new Promise(L=>{let P=()=>{m.removeEventListener("load",P),m.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${a}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),P()};m.addEventListener("load",P,{once:!0}),m.addEventListener("error",O,{once:!0}),m.sheet&&P()});return A.set(m,h),h},i=(m,a)=>{if(typeof document>"u")return Promise.resolve();let p=document.querySelector(`link[href="${m}"]`);if(p)return a==="style"&&s==="preload"?A.get(p)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=a==="style"?"stylesheet":"modulepreload",h.href=m,s==="prefetch"&&(h.fetchPriority="low");let L=a==="style"?u(h,m):Promise.resolve();return document.head.appendChild(h),a==="style"&&s==="preload"?L:Promise.resolve()},S=m=>{let a=typeof document<"u"?document.baseURI:void 0,p=new URL(t.entry,a||"http://fulgurjs.invalid/");return!p.pathname.endsWith("/")&&!p.pathname.split("/").pop().includes(".")&&(p.pathname+="/"),new URL(m,p).href};try{if(t.manifestUrl){let m=v.get(t.manifestUrl);m||(m=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(p=>p.ok?p.json():void 0),v.set(t.manifestUrl,m),m.then(p=>{p||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let a=await m;if(a){let p=a.schemaVersion;if(typeof p=="number"&&(!Number.isInteger(p)||p>1)){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(p)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await i(t.entry,"modulepreload");return}await i(t.entry,"modulepreload");let h=a.exposes,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await i(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=i(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await i(t.entry,"modulepreload")}catch(m){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of f)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:fe,registerShare:F,registerRemotes:X,registerRemote:me,registerPlugins:pe,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:q,parseSpec:K,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Je=te;function Xe(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:f,opts:d}of l)await R.loadShare(f,d)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function fr(l){if(l&&typeof l=="object"&&"default"in l){let f=l.default;return f!==void 0?f:l}return l}var dr=R;export{lr as clearSessionState,dr as default,ir as getContainer,rr as getLoadedShare,Xe as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,fr as unwrapDefault,Je as version};\n';
2643
+ var runtime_code_gen_default = 'var ve=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\\d+$/.test(g),v=/^\\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\\s+-\\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.2";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${o} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(u?.message??u)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${o} \\u51FD\\u6570\\u540E\\u91CD\\u65B0\\u52A0\\u8F7D\\uFF1B\\u5931\\u8D25\\u7F13\\u5B58\\u5DF2\\u6E05\\u9664\\uFF0C\\u53EF\\u4EE5\\u76F4\\u63A5\\u91CD\\u8BD5\\u3002`,{remote:e,phase:o},{cause:u});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await q(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default;if(typeof s!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${t==null?String(t):typeof s}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728 setup \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u4E2D\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u51FD\\u6570\\uFF0C\\u4F8B\\u5982 export default async function setup(context) { ... }\\uFF1B\\u5177\\u540D onSession \\u53EF\\u9009\\u3002`,{remote:e.name,module:n});if(t.onSession!==void 0&&typeof t.onSession!="function")throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof t.onSession}\\uFF0C\\u5E94\\u4E3A\\u51FD\\u6570\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5C06 onSession \\u6539\\u4E3A\\u5177\\u540D\\u5BFC\\u51FA\\u7684\\u51FD\\u6570\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});if(o.setupExports=t,t.globalComponents!==void 0){if(typeof t.globalComponents!="object"||t.globalComponents===null||Array.isArray(t.globalComponents))throw new w(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${n}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AglobalComponents \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${Array.isArray(t.globalComponents)?"array":typeof t.globalComponents}\\uFF0C\\u5E94\\u4E3A\\u5BF9\\u8C61\\uFF08\\u952E=\\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D\\uFF0C\\u503C=\\u7EC4\\u4EF6\\uFF09\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u6539\\u4E3A export const globalComponents = { \\u7EC4\\u4EF6\\u6CE8\\u518C\\u540D: \\u7EC4\\u4EF6 } \\u5F62\\u6001\\uFF0C\\u6216\\u5220\\u9664\\u8BE5\\u5BFC\\u51FA\\u3002`,{remote:e.name,module:n});o.globalComponents=t.globalComponents}await J(e.name,s,{appContext:B(),signal:(o.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(t){throw e.debug.setup="failed",o.setupExports=void 0,o.globalComponents=void 0,t}}async function ce(e,r,n){let o=B(),t=o?.sessionKey;if(typeof t!="string"||t==="")throw new w(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${t===void 0?"\\u7F3A\\u5931":JSON.stringify(t)}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5BBF\\u4E3B\\u6BCF\\u6B21\\u767B\\u5F55\\u6216\\u91CD\\u767B\\u65F6\\u751F\\u6210\\u65B0\\u7684\\u975E\\u654F\\u611F\\u767B\\u5F55\\u4EE3\\u6B21 ID\\uFF0C\\u5E76\\u5728\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u9875\\u9762\\u524D\\u8C03\\u7528 provideAppContext({ ..., sessionKey: \'\\u767B\\u5F55\\u4EE3\\u6B21 ID\' })\\uFF1B\\u4E0D\\u8981\\u4F7F\\u7528 token \\u539F\\u6587\\u3002`,{remote:e.name});if(r.sessionPromise&&r.sessionKey===t)return r.sessionPromise;r.controller?.abort();let s=new AbortController;r.controller=s,r.sessionKey=t;let u=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),i=(async()=>{await u,!s.signal.aborted&&await J(e.name,n,{appContext:o,sessionKey:t,signal:s.signal},"onSession")})();return r.sessionPromise=i,i.catch(()=>{r.sessionKey===t&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),i}async function le(e,r){let n=r?.[Te];if(typeof n!="string"||n==="")return;let o=G(e.name);o.setupPromise||(o.setupPromise=ae(e,r,n,o).catch(s=>{throw o.setupPromise=void 0,s})),await o.setupPromise;let t=o.setupExports?.onSession;typeof t=="function"&&await ce(e,o,t)}function ue(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let M=e=>l[e]??=Object.create(null);function $(e){try{_.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function fe(e="default"){return M(e),l}function F(e,r,n,o,t={}){let s=M(e||"default"),u=Object.hasOwn(s,r)?s[r]:void 0,i=u&&typeof u=="object"?u:void 0;i||(i=Object.create(null),s[r]=i),!(Object.hasOwn(i,n)&&i[n])&&(i[n]={version:n,get:o,from:t.from??"unknown",eager:!!t.eager,loaded:!!t.loaded})}function de(e){let r=(n,o,t)=>{if(n===void 0)return;if(!(typeof n=="number"&&(t?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${o} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${t?" 0 \\u5230 10 \\u7684\\u6574\\u6570":"\\u5927\\u4E8E 0 \\u7684\\u6709\\u9650\\u6570\\u5B57"}\\u3002\\u8BF7\\u4FEE\\u6B63 registerRemote \\u914D\\u7F6E\\u3002`)};r(e.timeout,"timeout"),r(e.retries,"retries",!0),e.breaker&&(r(e.breaker.threshold,"breaker.threshold"),r(e.breaker.resetMs,"breaker.resetMs"))}function X(e){for(let r of e){de(r);let n=f.get(r.name);f.set(r.name,{timeout:H,retries:oe,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??je,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??Ce,state:n?.state??"idle",breakerState:n?.breakerState??{fails:0,openUntil:0},entryInflight:n?.entryInflight??new Map,entryFailCounts:n?.entryFailCounts??new Map,debug:n?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function me(e){X([e])}function pe(e){d.push(...e),g.clear(),ie()}function I(e,r,n=!1){let o=r.shareScope||"default",t=r.shareKey||e,u=M(o)[t]||{},i=Object.keys(u).filter(p=>!n||r.singleton||u[p].value!==void 0);if(n&&i.length===0)return;let S=r.requiredVersion,m=i.filter(p=>S===void 0||S===!1||x(p,S)),a;if(r.singleton&&i.length>0){let p=i.filter(h=>u[h].loaded);if(a=[...p.length?p:i].sort(T).pop(),!m.includes(a)){let h=u[a],L=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${t}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${S??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${i.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${h.from} \\u63D0\\u4F9B\\u7684 ${a}\\u3002\n\\u5F71\\u54CD\\uFF1A\\u53EF\\u80FD\\u51FA\\u73B0\\u72B6\\u6001\\u4E0D\\u4E00\\u81F4\\u6216\\u8FD0\\u884C\\u9519\\u8BEF\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u4E24\\u7AEF API \\u662F\\u5426\\u517C\\u5BB9\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u6838\\u5BF9\\u540E\\u8C03\\u6574 shared.requiredVersion\\uFF1B\\u82E5\\u5FC5\\u987B\\u62D2\\u7EDD\\u4E0D\\u517C\\u5BB9\\u7248\\u672C\\uFF0C\\u8BF7\\u542F\\u7528 strictVersion\\u3002`;if(r.strictVersion){let O=new w(E.SHARE_STRICT_VERSION,L,{shareKey:t,requiredVersion:S});throw $({remote:h.from,error:O}),O}let P=`${o}|${t}|${S??"*"}|${a}|${i.join(",")}`;c.has(P)||(c.add(P),console.warn(`[fulgurjs:MFU-010] ${L}`))}}else if(a=[...m].sort(T).pop(),!a){if(r.strictVersion){let p=new w(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${t}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${S}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${i.join("\\u3001")||"\\u65E0"}\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u4E0E\\u8FDC\\u7A0B\\u7684\\u4F9D\\u8D56\\u7248\\u672C\\uFF0C\\u6216\\u4FEE\\u6B63 shared.requiredVersion\\u3002`);throw $({remote:t,error:p}),p}return}return u[a]}function W(e,r,n){let o=r.localVersion;if(!o||n===void 0)return;let t=r.shareScope||"default",s=r.shareKey||e,u=M(t),i=Object.hasOwn(u,s)?u[s]:void 0;if(i&&Object.keys(i).length>0){try{let m=I(e,r);if(m&&m.value===void 0){if(m.version===o)m.value=n,m.loaded=!0;else if(r.singleton&&!m.pendingGet){F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let a=u[s][o];a.value=n,a.loaded=!0}}}catch{}return}F(t,s,o,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let S=u[s]?.[o];S&&(S.value=n)}async function z(e,r={}){let n=r.shareScope||"default",o=r.shareKey||e,t=M(n)[o]||{},s=y(e,r),u=_.resolveShare?g.get(s):void 0,i=u||I(e,r);if(!i){if(r.fallback){let p=await r.fallback();return W(e,r,p),p}let a=new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${n}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${r.requiredVersion??"\\u4EFB\\u610F\\u7248\\u672C"} \\u8981\\u6C42\\u7684\\u7248\\u672C\\uFF0C\\u4E14\\u672A\\u914D\\u7F6E\\u672C\\u5730\\u526F\\u672C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5728\\u5BBF\\u4E3B\\u6216\\u8FDC\\u7A0B\\u6CE8\\u518C\\u8BE5\\u4F9D\\u8D56\\uFF0C\\u6216\\u4E3A shared \\u914D\\u7F6E\\u53EF\\u7528\\u7684\\u672C\\u5730\\u526F\\u672C\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion});throw $({remote:o,error:a}),a}if(_.resolveShare&&!u){let a=await _.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:i,available:Object.values(t)});a&&(i=a),g.set(s,i)}if(i.value!==void 0)return g.set(y(e,r),i),i.value;if(i.loaded=!0,!i.pendingGet)try{i.pendingGet=i.get()}catch(a){i.pendingGet=Promise.reject(a)}let S=i.pendingGet,m;try{m=await S}catch(a){if(i.value!==void 0)return g.set(y(e,r),i),i.value;throw i.loaded=!1,g.get(s)===i&&g.delete(s),a}finally{i.pendingGet===S&&(i.pendingGet=void 0)}return i.value===void 0&&(i.value=m),g.set(y(e,r),i),i.value}function ge(e,r={}){return _.resolveShare?g.get(y(e,r))?.value:I(e,r,!0)?.value}function he(e,r,n,o){W(e,{...r,localVersion:n},o)}function ye(e,r){let n=r.shareScope||"default",o=r.shareKey||e;if(_.resolveShare){let s=y(e,r),u=g.get(s);if(u&&u.value!==void 0)return{kind:"ready",value:u.value};let i=u||_.resolveShare({shareKey:o,shareScope:n,requiredVersion:r.requiredVersion,picked:I(e,r),available:Object.values(M(n)[o]||{})});if(i&&typeof i.then=="function")throw Promise.resolve(i).catch(()=>{}),new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u5BF9\\u5171\\u4EAB "${o}" \\u8FD4\\u56DE\\u4E86 Promise\\uFF0C\\u4F46\\u8BE5\\u5171\\u4EAB\\u6B63\\u88AB\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u6D88\\u8D39\\uFF08Vite 8 \\u540C\\u6B65\\u534F\\u5546\\u95E8\\u9762\\uFF09\\u3002\n\\u539F\\u56E0\\uFF1A\\u6A21\\u5757\\u6C42\\u503C\\u671F\\u65E0\\u6CD5\\u7B49\\u5F85\\u5F02\\u6B65\\u51B3\\u7B56\\uFF1B\\u9759\\u6001\\u5BFC\\u5165\\u4E0D\\u80FD\\u9759\\u9ED8\\u5FFD\\u7565 hook \\u51B3\\u7B56\\u3002\n\\u4FEE\\u6CD5\\uFF1AVite 8 HTML \\u5165\\u53E3\\u4F1A\\u5148\\u5B8C\\u6210\\u5F02\\u6B65\\u534F\\u5546\\uFF1B\\u5176\\u4ED6\\u5165\\u53E3\\u8BF7\\u5148\\u52A8\\u6001 loadShare \\u5EFA\\u7ACB\\u5FEB\\u7167\\uFF0C\\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u8BA9\\u8BE5\\u952E\\u540C\\u6B65\\u8FD4\\u56DE picked\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let S=i;if(S){if(S.value!==void 0)return g.set(y(e,r),S),{kind:"ready",value:S.value};if(S.version!==void 0&&S.version===r.localVersion)return{kind:"local"};throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1AresolveShare \\u4E3A "${o}" \\u9009\\u62E9\\u4E86\\u672A\\u5C31\\u7EEA\\u7684 ${S.version??"\\u6761\\u76EE"}\\u3002\n\\u539F\\u56E0\\uFF1A\\u540C\\u6B65\\u6D88\\u8D39\\u4E0D\\u80FD\\u7B49\\u5F85\\u52A0\\u8F7D\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u5148\\u52A8\\u6001 loadShare \\u518D\\u5BFC\\u5165\\u6D88\\u8D39\\u8005\\uFF0C\\u6216\\u9009\\u62E9\\u5DF2\\u5C31\\u7EEA\\u5B9E\\u4F8B/\\u672C\\u5730\\u7248\\u672C ${r.localVersion??"\\u672A\\u58F0\\u660E"}\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0})}}let t=I(e,r);if(!t)return{kind:"local"};if(t.value!==void 0)return{kind:"ready",value:t.value};if(t.version!==void 0&&t.version===r.localVersion)return{kind:"local"};if(r.singleton||r.strictVersion&&r.requiredVersion&&(!r.localVersion||!x(r.localVersion,r.requiredVersion))){if(r.strictVersion||t.pendingGet)throw new w(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB "${o}" \\u9009\\u4E2D\\u4E86 ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version}\\uFF08\\u5C1A\\u672A\\u52A0\\u8F7D\\uFF09\\uFF0C\\u540C\\u6B65\\u9759\\u6001\\u5BFC\\u5165\\u65E0\\u6CD5\\u7B49\\u5F85\\u5176\\u5B9E\\u4F8B\\u5C31\\u7EEA\\u3002\n\\u539F\\u56E0\\uFF1A\\u4E0D\\u80FD\\u6539\\u7528\\u4E0D\\u517C\\u5BB9\\u7684\\u672C\\u5730\\u526F\\u672C\\u6216\\u5206\\u88C2\\u5355\\u4F8B\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u8BA9\\u8BE5\\u5171\\u4EAB\\u7684\\u9996\\u6B21\\u6D88\\u8D39\\u5148\\u7ECF\\u4E00\\u6B21\\u52A8\\u6001 loadShare \\u5B8C\\u6210\\u52A0\\u8F7D\\uFF0C\\u6216\\u5C06\\u672C\\u5E94\\u7528\\u7248\\u672C\\u4E0E\\u4F5C\\u7528\\u57DF\\u63D0\\u4F9B\\u7248\\u672C\\u5BF9\\u9F50\\u3002`,{shareKey:o,requiredVersion:r.requiredVersion,syncUnsupported:!0});let s=`${n}|${o}|${t.version}|${r.localVersion}`;return c.has(s)||(c.add(s),console.warn(`[fulgurjs:MFU-010] \\u5171\\u4EAB\\u5355\\u4F8B "${o}"\\uFF1A\\u4F5C\\u7528\\u57DF\\u4E2D ${t.from} \\u63D0\\u4F9B\\u7684 ${t.version} \\u5C1A\\u672A\\u52A0\\u8F7D\\uFF0C\\u9996\\u4E2A\\u6D88\\u8D39\\u8005\\u4EE5\\u672C\\u5730\\u7248\\u672C ${r.localVersion??""} \\u63A5\\u7BA1\\uFF08\\u540E\\u7EED\\u6D88\\u8D39\\u8005\\u6309\\u5DF2\\u52A0\\u8F7D\\u4F18\\u5148\\u6536\\u655B\\u5230\\u8BE5\\u5B9E\\u4F8B\\uFF09\\u3002`)),{kind:"local"}}return console.warn(`[fulgurjs] \\u5171\\u4EAB "${o}"\\uFF1A\\u975E\\u5355\\u4F8B\\u540C\\u6B65\\u6D88\\u8D39\\u4F7F\\u7528\\u672C\\u5730 ${r.localVersion??""}\\uFF0C\\u8FDC\\u7A0B ${t.version} \\u5C1A\\u672A\\u5C31\\u7EEA\\u3002`),{kind:"local"}}async function Se(e){if(_.resolveShare){for(let{name:r,opts:n}of e){let o=y(r,n);if(g.has(o))continue;let t=I(r,n),s=await _.resolveShare({shareKey:n.shareKey||r,shareScope:n.shareScope||"default",requiredVersion:n.requiredVersion,picked:t,available:Object.values(M(n.shareScope||"default")[n.shareKey||r]||{})})||t;s&&g.set(o,s)}for(let{name:r,opts:n}of e)await z(r,n)}}function Y(e){try{let r=new URL(e,typeof location<"u"?location.href:"http://f.invalid");return r.protocol+"//"+r.host+r.pathname}catch{return String(e).replace(/[?#].*$/,"")}}function Z(e,r,n){return new Promise((o,t)=>{let s=setTimeout(()=>t(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(u=>{clearTimeout(s),o(u)},u=>{clearTimeout(s),t(u)})})}let we=e=>new Promise(r=>setTimeout(r,e)),Q=new Set;function D(e,r){if(!e||typeof e.get!="function")throw new Error(`\\u8FDC\\u7A0B\\u5E94\\u7528 "${r.name}" \\u7684 remoteEntry \\u672A\\u5BFC\\u51FA\\u5BB9\\u5668\\u63A5\\u53E3\\u3002\\u8BF7\\u786E\\u8BA4\\u5165\\u53E3\\u5BFC\\u51FA\\u4E86 get()\\uFF0C\\u5E76\\u68C0\\u67E5\\u8BE5\\u5730\\u5740\\u662F\\u5426\\u8FD4\\u56DE\\u6B63\\u786E\\u7684\\u8054\\u90A6\\u5165\\u53E3 JS\\u3002`);if(e.name&&r.name&&e.name!==r.name){let n=`\\u8FDC\\u7A0B\\u5165\\u53E3\\u81EA\\u62A5\\u540D\\u79F0 "${e.name}" \\u4E0E\\u5BBF\\u4E3B\\u914D\\u7F6E\\u540D\\u79F0 "${r.name}" \\u4E0D\\u4E00\\u81F4\\u3002\\u8BF7\\u7EDF\\u4E00\\u4E24\\u4FA7 federation({ name }) \\u4E0E remotes \\u7684\\u540D\\u79F0\\u3002`;if(r.promise){let o=`${r.name}\\u2194${e.name}`;Q.has(o)||(Q.add(o),console.warn(`[fulgurjs] ${n} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`))}else throw Object.assign(new Error(n),{code:E.REMOTE_NAME_MISMATCH})}}async function ee(e,r){let n=r.entryFailCounts.get(e)??0,o=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,t=r.entryInflight.get(e),s=t??import(o);return t||(r.entryInflight.set(e,s),s.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),Z(s,r.timeout??H,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${Y(e)}`)}async function re(e,r){let n=e.shareScope||"default";if(e.container){let s=N.get(e.container);if(s&&s!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let o=e.breakerState;if(o.openUntil>Date.now()){let s=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(o.openUntil).toISOString()} \\u540E\\u5141\\u8BB8\\u91CD\\u8BD5\\u3002\\u8BF7\\u5148\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u670D\\u52A1\\u548C\\u7F51\\u7EDC\\u3002`,{remote:e.name});throw $({remote:e.name,error:s}),s}e.state="loading",e.debug.status="loading";let t=(async()=>{let s=[];if(e.promise)s.push(async()=>{let p=await Z(e.promise(),e.timeout??H,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),h=typeof p=="string"?await ee(p,e):p;return D(h,e),h});else for(let p of[e.entry,...e.fallback??[]])s.push(async()=>{let h=await ee(p,e);return D(h,e),h});let u,i,S=!1,m=r?.retries??e.retries??oe;for(let p of s){for(let h=0;h<=m;h++){let L=performance.now();try{u=await p(),e.lastLoadMs=Math.round(performance.now()-L),e.debug.lastLoadMs=e.lastLoadMs,S=!0;break}catch(P){if(i=P,P?.code)throw P;h<m&&await we(Math.min(Ne,200*2**h)*(1-Ue*(1-2*Math.random())))}}if(S)break}if(!S||!u){let p=Y(e.entry),h=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),h.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),h.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(h.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${p}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),h.push("2. \\u68C0\\u67E5 Nginx/CDN \\u7684\\u5165\\u53E3\\u8DEF\\u5F84\\u6620\\u5C04\\uFF1B\\u8BE5\\u5730\\u5740\\u4E0D\\u80FD\\u56DE\\u9000\\u5230 index.html\\u3002")),new w(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${p} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(i?.message??i)}\n\\u4FEE\\u6CD5\\uFF1A\n${h.join(`\n`)}`,{remote:e.name})}D(u,e);let a=N.get(u);if(a&&a!==n)throw new w(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${a}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof u.init=="function"&&await u.init(l),N.set(u,n),e.container=u,e.state="loaded",e.debug.status="loaded",o.fails=0,u})();e.containerPromise=t;try{return await t}catch(s){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(s?.message??s),o.fails+=1,o.fails>=e.breakerThreshold&&(o.openUntil=Date.now()+e.breakerResetMs,o.fails=0),s instanceof w)throw $({remote:e.name,error:s}),s;if(s?.code)throw $({remote:e.name,error:s}),s;let u=new w(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(s?.message??s)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw $({remote:e.name,error:u}),u}}function K(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:ne(e.slice(r+1))}}function ne(e){return e?e.startsWith(".")?e:`./${e}`:""}async function Ee(e,r){let{remote:n,module:o}=K(e);if(o&&V===n)throw new w(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 setup/onSession \\u53C8\\u540C\\u6B65\\u52A0\\u8F7D\\u4E86\\u81EA\\u8EAB\\u6A21\\u5757\\uFF0C\\u5F62\\u6210\\u5FAA\\u73AF\\u7B49\\u5F85\\u3002\n\\u539F\\u56E0\\uFF1A\\u521D\\u59CB\\u5316\\u5C1A\\u672A\\u5B8C\\u6210\\uFF0C\\u4E0D\\u80FD\\u7B49\\u5F85\\u81EA\\u8EAB\\u7684\\u521D\\u59CB\\u5316\\u7ED3\\u679C\\u3002\n\\u4FEE\\u6CD5\\uFF1A\\u4E0D\\u8981\\u5728 setup/onSession \\u4E2D\\u52A0\\u8F7D\\u540C\\u4E00\\u8FDC\\u7A0B\\u7684\\u6A21\\u5757\\uFF1B\\u8BF7\\u5728\\u9875\\u9762\\u7EC4\\u4EF6\\u4E2D\\u52A0\\u8F7D\\uFF0C\\u6216\\u901A\\u8FC7 context \\u89E3\\u8026\\u3002`,{remote:n});try{_.beforeLoadRemote?.({remote:n,module:o})}catch(a){console.warn("[fulgurjs] beforeLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u6A21\\u5757\\u52A0\\u8F7D\\u5C06\\u7EE7\\u7EED\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}let t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:n});let s;try{let a=o&&t.manifestUrl?q(e):Promise.resolve();[s]=await Promise.all([re(t,{retries:r?.retries}),a])}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}if(!o)return s;await le(t,s);let u=G(n).globalComponents,i=r?.consumerApp;if(u&&i&&typeof i.component=="function")for(let a of Object.keys(u))i.component(a,u[a]);let S=`${n}@${t.shareScope||"default"}#${o}`;b.has(S)||b.set(S,s.get(o).catch(a=>{throw b.delete(S),a instanceof w||a?.code?a:new w(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${o}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(a?.message??a)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:o})}));let m;try{m=await b.get(S)}catch(a){if(r?.fallbackModule)return console.error(`[fulgurjs] \\u8FDC\\u7A0B\\u6A21\\u5757 "${e}" \\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u6B63\\u5728\\u4F7F\\u7528\\u663E\\u5F0F\\u914D\\u7F6E\\u7684 fallbackModule\\uFF1B\\u539F\\u59CB\\u9519\\u8BEF\\uFF1A`,a),$({remote:n,error:a}),await r.fallbackModule();throw a}try{_.afterLoadRemote?.({remote:n,module:o,module_ns:m})}catch(a){console.warn("[fulgurjs] afterLoadRemote \\u89C2\\u6D4B\\u94A9\\u5B50\\u6267\\u884C\\u5931\\u8D25\\uFF1B\\u5DF2\\u52A0\\u8F7D\\u6A21\\u5757\\u4ECD\\u53EF\\u4F7F\\u7528\\u3002\\u8BF7\\u68C0\\u67E5\\u8BE5\\u94A9\\u5B50\\uFF1A",a)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let a=new w(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${o}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:n,module:o});$({remote:n,error:a}),console.error(a.message)}return m}function Re(e){let r=f.get(e);if(!r)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return re(r)}async function q(e,r={}){let{remote:n,module:o}=K(e),t=f.get(n);if(!t)throw new w(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let s=r.mode??"preload",u=(m,a)=>{if(m.sheet)return Promise.resolve();let p=A.get(m);if(p)return p;let h=new Promise(L=>{let P=()=>{m.removeEventListener("load",P),m.removeEventListener("error",O),L()},O=()=>{$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${a}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),P()};m.addEventListener("load",P,{once:!0}),m.addEventListener("error",O,{once:!0}),m.sheet&&P()});return A.set(m,h),h},i=(m,a)=>{if(typeof document>"u")return Promise.resolve();let p=document.querySelector(`link[href="${m}"]`);if(p)return a==="style"&&s==="preload"?A.get(p)??Promise.resolve():Promise.resolve();let h=document.createElement("link");h.rel=a==="style"?"stylesheet":"modulepreload",h.href=m,s==="prefetch"&&(h.fetchPriority="low");let L=a==="style"?u(h,m):Promise.resolve();return document.head.appendChild(h),a==="style"&&s==="preload"?L:Promise.resolve()},S=m=>{let a=typeof document<"u"?document.baseURI:void 0,p=new URL(t.entry,a||"http://fulgurjs.invalid/");return!p.pathname.endsWith("/")&&!p.pathname.split("/").pop().includes(".")&&(p.pathname+="/"),new URL(m,p).href};try{if(t.manifestUrl){let m=v.get(t.manifestUrl);m||(m=fetch(t.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(p=>p.ok?p.json():void 0),v.set(t.manifestUrl,m),m.then(p=>{p||v.delete(t.manifestUrl)},()=>v.delete(t.manifestUrl)));let a=await m;if(a){let p=a.schemaVersion;if(typeof p=="number"&&(!Number.isInteger(p)||p>1)){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(p)}\\uFF0C\\u5F53\\u524D\\u4EC5\\u652F\\u6301\\u7248\\u672C 1\\u3002\\u8BF7\\u7EDF\\u4E00\\u5BBF\\u4E3B\\u548C\\u8FDC\\u7A0B\\u7684\\u63D2\\u4EF6\\u7248\\u672C\\u3002`,{remote:n})}),await i(t.entry,"modulepreload");return}await i(t.entry,"modulepreload");let h=a.exposes,L=Array.isArray(h)?h.filter(k=>k&&typeof k=="object").map(k=>[String(k.name??""),k]):h&&typeof h=="object"?Object.entries(h):[],P=o?L.filter(([k,j])=>ne(String(j?.name??k))===o):L,O=[];for(let[,k]of P)if(typeof k?.file=="string"&&await i(S(k.file),"modulepreload"),Array.isArray(k?.css))for(let j of k.css){if(typeof j!="string")continue;let be=i(S(j),"style");s==="preload"&&O.push(be)}await Promise.all(O);return}}await i(t.entry,"modulepreload")}catch(m){$({remote:n,error:new w(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=l,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of f)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:l,initSharing:fe,registerShare:F,registerRemotes:X,registerRemote:me,registerPlugins:pe,loadShare:z,loadShareSync:ye,prepareShares:Se,getLoadedShare:ge,pinLoadedShare:he,loadRemote:Ee,getContainer:Re,preloadRemote:q,parseSpec:K,clearSessionState:ue}}var se=globalThis,R=se.__FULGURJS_RUNTIME__??Ve();se.__FULGURJS_RUNTIME__=R;try{Object.freeze(R)}catch{}var Je=te;function Xe(){return R}var We=R.initSharing,ze=R.registerShare,Ye=R.registerRemotes,Ze=R.registerRemote,Qe=R.registerPlugins,er=R.loadShare,rr=R.getLoadedShare,nr=R.prepareShares||(async l=>{for(let{name:f,opts:d}of l)await R.loadShare(f,d)}),tr=R.loadShareSync,or=R.pinLoadedShare,sr=R.loadRemote,ir=R.getContainer,ar=R.preloadRemote,cr=R.parseSpec,lr=R.clearSessionState,ur=R.shareScopeMap;function fr(l){if(l&&typeof l=="object"&&"default"in l){let f=l.default;return f!==void 0?f:l}return l}var dr=R;export{lr as clearSessionState,dr as default,ir as getContainer,rr as getLoadedShare,Xe as getRuntime,We as initSharing,sr as loadRemote,er as loadShare,tr as loadShareSync,cr as parseSpec,or as pinLoadedShare,ar as preloadRemote,nr as prepareShares,Qe as registerPlugins,Ze as registerRemote,Ye as registerRemotes,ze as registerShare,R as runtime,ur as shareScopeMap,fr as unwrapDefault,Je as version};\n';
2636
2644
 
2637
2645
  // src/index.ts
2638
2646
  function readRuntimeCode() {
package/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- var ve=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\d+$/.test(g),v=/^\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\s+-\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.0";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \u8FD0\u884C\u65F6\u6269\u5C55\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BE5\u6269\u5C55\u5C06\u4E0D\u53EF\u7528\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${o} \u521D\u59CB\u5316\u5931\u8D25\u3002
1
+ var ve=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function C(l){let f=ve.exec(String(l).trim());return f?{major:Number(f[1]),minor:Number(f[2]??0),patch:Number(f[3]??0),pre:f[4]?f[4].split("."):[]}:null}function $e(l,f){if(l.length===0&&f.length===0)return 0;if(l.length===0)return 1;if(f.length===0)return-1;let d=Math.max(l.length,f.length);for(let c=0;c<d;c++){let g=l[c],y=f[c];if(g===void 0)return-1;if(y===void 0)return 1;let b=/^\d+$/.test(g),v=/^\d+$/.test(y);if(b&&v){let A=Number(g)-Number(y);if(A!==0)return A}else{if(b!==v)return b?-1:1;if(g!==y)return g<y?-1:1}}return 0}function T(l,f){let d=C(l),c=C(f);return!d||!c?l<f?-1:l>f?1:0:d.major!==c.major?d.major-c.major:d.minor!==c.minor?d.minor-c.minor:d.patch!==c.patch?d.patch-c.patch:$e(d.pre,c.pre)}var Pe=/^[a-z]+[+:-]/i;function x(l,f){if(f===!1||f==null||f==="")return!0;let d=String(f).trim();return!d||d==="*"||d==="latest"||Pe.test(d)?!0:d.split("||").some(c=>_e(l,c.trim()))}function _e(l,f){if(!f||f==="*")return!C(l)?.pre.length;let d=f.split(/\s+-\s+/);if(d.length===2){let y=d[0].trim(),b=d[1].trim();return!(!x(l,`>=${y}`)||!x(l,`<=${b}`))}let c=C(l);if(!c)return!1;let g=ke(f);if(g===null)return!0;for(let y of g)if(!Ie(c,l,y))return!1;return!(c.pre.length>0&&!g.some(y=>y.ver.pre.length>0)&&!g.some(b=>b.ver.major===c.major&&b.ver.minor===c.minor&&b.ver.patch===c.patch))}function ke(l){let f=[],d=l.trim().split(/\s+/).filter(Boolean);if(d.length===0)return null;for(let c of d){let g=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(c);if(!g)return null;let y=g[1],b=g[2],v=Le(y,b);if(v===null)return null;f.push(...v)}return f}function Le(l,f){let d=Me(f);if(!d)return null;let{ver:c,partial:g}=d;switch(l){case"^":{let y=Oe(c);return y?[{op:">=",ver:c},{op:"<",ver:y}]:null}case"~":{let y=g>=2?{major:c.major,minor:c.minor+1,patch:0,pre:[]}:{major:c.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:c},{op:"<",ver:y}]}case">=":return[{op:">=",ver:c}];case">":return g===1?[{op:">=",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:">",ver:c}];case"<":return g===1?[{op:"<",ver:{major:c.major,minor:0,patch:0,pre:[]}}]:g===2?[{op:"<",ver:{major:c.major,minor:c.minor,patch:0,pre:[]}}]:[{op:"<",ver:c}];case"<=":return[{op:"<=",ver:c}];case"=":case void 0:return g===1?[{op:">=",ver:c},{op:"<",ver:{major:c.major+1,minor:0,patch:0,pre:[]}}]:g===2?[{op:">=",ver:c},{op:"<",ver:{major:c.major,minor:c.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:c}];default:return null}}function Oe(l){return l.major>0?{major:l.major+1,minor:0,patch:0,pre:[]}:l.minor>0?{major:0,minor:l.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:l.patch+1,pre:[]}}function Me(l){let f=l.replace(/^v/,"").trim();if(!f||f==="*"||f==="x"||f==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let d=f.split("."),c=[],g=0;for(let v of d.slice(0,3))if(/^\d+$/.test(v))c.push(Number(v)),g++;else{if(v==="x"||v==="X"||v==="*")break;break}let y=f.split("-"),b=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return g===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:c[0]??0,minor:c[1]??0,patch:c[2]??0,pre:b},partial:g}}function Ae(l,f){switch(f){case">=":return l>=0;case">":return l>0;case"<":return l<0;case"<=":return l<=0;case"=":return l===0}}function Ie(l,f,d){let c=`${l.major}.${l.minor}.${l.patch}`+(l.pre.length?`-${l.pre.join(".")}`:"");if(d.upper)return!(!(T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:""))>=0)||!(T(c,`${d.upper.major}.${d.upper.minor}.${d.upper.patch}`)<0));let g=T(c,`${d.ver.major}.${d.ver.minor}.${d.ver.patch}`+(d.ver.pre.length?`-${d.ver.pre.join(".")}`:"")),y=Ae(g,d.op);return d.ver.pre.length>0&&l.pre.length===0&&(d.op===">"||d.op==="<")?!1:y}var w=class extends Error{code;details;constructor(f,d,c,g){super(`[fulgurjs:${f}] ${d}`,g),this.name="FgError",this.code=f,this.details=c}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var te="6.1.2";var Te="__fulgurjsSetup",xe="__FULGURJS_APP_CONFIG__",H=15e3,oe=2,je=5,Ce=3e4,Ne=4e3,Ue=.2;function Ve(){let l=Object.create(null),f=new Map,d=[],c=new Set,g=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,v=new Map,A=new WeakMap,N=new WeakMap,_={},ie=()=>{for(let e of d)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \u8FD0\u884C\u65F6\u6269\u5C55\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BE5\u6269\u5C55\u5C06\u4E0D\u53EF\u7528\uFF1A",e.name,r)}},U=new Map,V,G=e=>{let r=U.get(e);return r||U.set(e,r={}),r},B=()=>globalThis[xe]??{};async function J(e,r,n,o){let t=u=>u instanceof w?u:new w(E.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${o} \u521D\u59CB\u5316\u5931\u8D25\u3002
2
2
  \u539F\u56E0\uFF1A${String(u?.message??u)}
3
3
  \u4FEE\u6CD5\uFF1A\u68C0\u67E5\u5E76\u4FEE\u590D\u8BE5 ${o} \u51FD\u6570\u540E\u91CD\u65B0\u52A0\u8F7D\uFF1B\u5931\u8D25\u7F13\u5B58\u5DF2\u6E05\u9664\uFF0C\u53EF\u4EE5\u76F4\u63A5\u91CD\u8BD5\u3002`,{remote:e,phase:o},{cause:u});V=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{V=void 0}try{await s}catch(u){throw t(u)}}async function ae(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await q(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default;if(typeof s!="function")throw new w(E.SETUP_INVALID_EXPORT,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 setup \u6A21\u5757 "${n}" \u65E0\u6CD5\u521D\u59CB\u5316\u3002
4
4
  \u539F\u56E0\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u7C7B\u578B\u4E3A ${t==null?String(t):typeof s}\uFF0C\u5E94\u4E3A\u51FD\u6570\u3002
@@ -445,7 +445,7 @@ The channel parameter the host passes to the bridge component: `routing: BridgeH
445
445
  - **Navigation and errors**: sub app push/replace preserve the original action; go/back/forward delegate to host history; consecutive requests settle serially, and external navigation invalidates old in-flight and queued requests; guard/loader/port execution errors reject the Promise (MFU-033, cause preserved), never disguised as cancelled;
446
446
  - **Session and lifecycle**: `sessionKey→null` invalidates the old channel — navigation on the old channel is always cancelled, writes no URL, and never revives the sub app; the channel is destroyed after unmount (re-subscribing yields MFU-031); KeepAlive-cached off-page instances pause route writes (re-syncing on activation); the persistent lockout of a container whose unmount threw cannot be bypassed via routing;
447
447
  - **Protocol validation**: the host enables routing while the child app did not declare `{ routing: true }` → the `MFU-031` placeholder, **never silently falling back to memory while pretending the deep link worked**;
448
- - **Illegal navigation and loops**: targets outside the sub app's own prefix (`../`, across prefixes) and illegal `go` arguments → `MFU-032`; more than 5 consecutive internal replaces (a redirect loop) → `MFU-033` (with the target chain attached; never silently back to the entry);
448
+ - **Illegal navigation and loops**: targets outside the sub app's own prefix (`../`, across prefixes), targets already containing the basePath (duplicated prefix) and illegal `go` arguments → `MFU-032`; more than 5 consecutive internal replaces (a redirect loop) → `MFU-033` (with the target chain attached; never silently back to the entry);
449
449
  - **Lazy loading**: the default `/vue` and `/react` entries pull in no router library; the route-sync APIs only type-import the router libraries plus module-level on-demand prewarming;
450
450
  - **Not promised**: SSR/RSC, cross-browser windows, route proxying for nested multi-level bridge child apps, TanStack Router and other router libraries (custom extension via the `BridgeHostNavigation`/`BridgeChildRoute` ports is possible).
451
451
 
@@ -69,7 +69,7 @@
69
69
  | `MFU-017` | Runtime reports bridge session parameters inconsistent with AppContext | The controlled `sessionKey` contradicts the global session (a getContext snapshot mismatch), an illegal value (empty string/number), or a page-level single-session conflict (generations mismatch across instances) | Unify the session across the page's controlled bridge instances; sessionKey takes only non-empty string/null/omitted; on generation switch follow "first null to unmount, clearAppContext, then write the new generation" |
70
70
  | `MFU-030` | Bridge route sync configuration/prefix conflict error | Illegal basePath (empty/root/with query·hash·wildcard) or overlapping prefixes registered on one page | basePath is a static absolute path from the host routing perspective (e.g. `/approval`); prefixes of sync instances on one page must not overlap |
71
71
  | `MFU-031` | Bridge reports a missing route protocol / dead channel | The host enabled routing but the child app did not declare `{ routing: true }`; or the channel was reused/re-subscribed after destruction | Declare `{ routing: true }` in the child app contract's second parameter and wire from `ctx.routing`; never revive an old channel after a session switch/unmount |
72
- | `MFU-032` | Bridge reports an illegal navigation | The sub app navigates outside its own prefix (`../`, across prefixes), an illegal `go` argument, or a request on a dead channel | The sub app only navigates locations inside its own basePath; `go` takes legal integers; issue no navigation after the channel is invalidated |
72
+ | `MFU-032` | Bridge reports an illegal navigation | The sub app navigates outside its own prefix (`../`, across prefixes), its target already contains the basePath (duplicated prefix — the host URL would stack into `/x/x/...`), an illegal `go` argument, or a request on a dead channel | The sub app only navigates logical paths inside its own basePath (without the basePath; the error message suggests the de-prefixed target); `go` takes legal integers; issue no navigation after the channel is invalidated |
73
73
  | `MFU-033` | Bridge reports route preparation/sync failure (with the target chain/cause; never silently falls back to memory) | Guard/loader/port execution errors rejected, or more than 5 consecutive internal replaces (a redirect loop) | Fix the child app guard/loader errors; hunt down the redirect loop (cyclic redirects in the sub app's route definitions) |
74
74
 
75
75
  #### CC cross-app context
@@ -428,7 +428,7 @@ const RemoteVueApp = createReactBridgeApp<P>('vue-remote/bridge', {
428
428
  | `createVueBridgeNavigation` | `(router: VueRouterLike) => BridgeHostNavigation` | Vue 宿主导航端口。Vue Router fullPath 已是逻辑路径,无需传部署 base。Vue Router 4,history/hash 模式皆可 |
429
429
  | `createReactBridgeNavigation` | `(navigate, { basename?, canNavigate? }) => BridgeHostNavigation` | React 宿主导航端口。**仅支持 data router**(`createBrowserRouter`/`createHashRouter` + `RouterProvider`);declarative 模式(BrowserRouter)无取消语义,不支持。React Router ≥ 6.11。`canNavigate` 可选仅作提前拒绝;端口观察真实 blocker 状态,等待 `reset()` 返回 cancelled、`proceed()` 后实际位置提交返回 committed,不能只凭 navigate 的 Promise 落定判成功 |
430
430
  | `connectVueBridgeRouter` | `(routing: BridgeChildRouting, router: Router, { signal? }) => { ready: Promise, dispose(): void }` | Vue 子应用接线受控 memory 路由;`await …ready` 落定后再 `app.use(router)`(顺序不能反) |
431
- | `createReactBridgeRouter` | `(routing, routes, { signal? }) => { element, dispose(), routerReady }` | React 子应用:返回 `RouterProvider` 元素直接作契约产物。`routerReady: Promise<Router>` 是已接线 memory router 的就绪合同(6.0.0 起):fast 路径(模块级预热已就绪,常见)返回**同步已 resolve** 的 Promise,resolve 值与 `element.props.router` 等价;slow 路径(预热未落定的罕见竞态)在惰性宿主接线完成时 resolve,缺 react-router-dependency 时 reject 清晰错误。宿主内省/断言请优先 `await routerReady`,不要假设 `element.props.router` 同步存在。`dispose()` 幂等销毁接线(signal 触发时自动调用);已 dispose 后迟到任务不写状态 |
431
+ | `createReactBridgeRouter` | `(routing, routes, { signal? }) => { element, dispose(), routerReady }` | React 子应用:返回 `RouterProvider` 元素直接作契约产物。`routerReady: Promise<Router>` 是已接线 memory router 的就绪合同(6.0.0 起):fast 路径(模块级预热已就绪,常见)返回**同步已 resolve** 的 Promise,resolve 值与 `element.props.router` 等价;slow 路径(预热未落定的罕见竞态)在惰性宿主接线完成时 resolve,缺 react-router-dom 时 reject 清晰错误。宿主内省/断言请优先 `await routerReady`,不要假设 `element.props.router` 同步存在。`dispose()` 幂等销毁接线(signal 触发时自动调用);已 dispose 后迟到任务不写状态 |
432
432
 
433
433
  宿主传给桥接组件的通道参数:`routing: BridgeHostRouting = { basePath: '/approval', navigation }`;子应用契约第二参数声明 `{ routing: true }` 后从 `ctx.routing` 接收通道。两端接线第三参数 `{ signal?: AbortSignal }` 默认为空;推荐传 `ctx.signal` 自动 dispose,未传时由子应用显式调用 `dispose()`。自定义 `BridgeHostNavigation.navigate(target, action, { signal })` 应在异步提交前复核可选 signal,已 aborted 时禁止迟到写入。
434
434
 
@@ -441,7 +441,7 @@ const RemoteVueApp = createReactBridgeApp<P>('vue-remote/bridge', {
441
441
  - **导航与错误**:子应用 push/replace 保留原动作,go/back/forward 委托宿主历史;连续请求串行落定,外部导航作废旧的在飞与排队请求;守卫/加载器/端口执行异常拒绝 Promise(MFU-033,保留 cause),不伪装 cancelled;
442
442
  - **会话与生命周期**:`sessionKey→null` 作废旧通道——旧通道导航一律 cancelled、不写 URL、不复活子应用;unmount 后通道销毁(再订阅得 MFU-031);KeepAlive 缓存离页实例暂停路由写入(激活重同步);unmount 抛错的持久封锁不因路由绕过;
443
443
  - **协议校验**:宿主启用 routing 而子应用未声明 `{ routing: true }` → `MFU-031` 占位,**不静默退回 memory 假装深链成功**;
444
- - **非法导航与循环**:目标越界自身前缀(`../`、跨前缀)、非法 `go` 参数 → `MFU-032`;连续内部 replace 超过 5 次(重定向环)→ `MFU-033`(附目标链,不静默回入口);
444
+ - **非法导航与循环**:目标越界自身前缀(`../`、跨前缀)、目标已含 basePath(重复前缀)、非法 `go` 参数 → `MFU-032`;连续内部 replace 超过 5 次(重定向环)→ `MFU-033`(附目标链,不静默回入口);
445
445
  - **按需加载**:`/vue`、`/react` 默认入口不引入任何路由库;路由同步 API 对路由库仅类型导入 + 模块级按需预热;
446
446
  - **不承诺**:SSR/RSC、跨浏览器窗口、嵌套多级桥接子应用路由代理、TanStack Router 及其他路由库(可经 `BridgeHostNavigation`/`BridgeChildRoute` 端口自定义扩展)。
447
447
 
@@ -69,7 +69,7 @@
69
69
  | `MFU-017` | 运行时报桥接会话参数与 AppContext 不一致 | 受控 `sessionKey` 与全局会话矛盾(getContext 快照不一致)、非法值(空串/数字)、或页面级单会话冲突(多实例代次不一致) | 同页受控桥接实例统一会话;sessionKey 只用 非空字符串/null/省略 三态;换代按「先 null 卸载、clearAppContext、再写新代次」顺序 |
70
70
  | `MFU-030` | 桥接路由同步配置/前缀冲突报错 | basePath 非法(空/根/带 query·hash·通配)或同页重叠前缀登记 | basePath 用宿主路由视角的静态绝对路径(如 `/approval`);同页各同步实例前缀不重叠 |
71
71
  | `MFU-031` | 桥接报路由协议缺失/通道失效 | 宿主启用 routing 但子应用未声明 `{ routing: true }`;或通道销毁后复用/再订阅 | 子应用契约第二参数声明 `{ routing: true }` 并从 `ctx.routing` 接线;换会话/卸载后不复活旧通道 |
72
- | `MFU-032` | 桥接报非法导航 | 子应用导航目标越界自身前缀(`../`、跨前缀)、非法 `go` 参数、或失效通道的请求 | 子应用只导航自身 basePath 内的位置;go 参数用合法整数;通道作废后不再发起导航 |
72
+ | `MFU-032` | 桥接报非法导航 | 子应用导航目标越界自身前缀(`../`、跨前缀)、目标已含 basePath(重复前缀,宿主 URL 会叠加成 `/x/x/...`)、非法 `go` 参数、或失效通道的请求 | 子应用只导航自身 basePath 内的逻辑路径(不含 basePath,错误信息附去掉前缀后的目标);go 参数用合法整数;通道作废后不再发起导航 |
73
73
  | `MFU-033` | 桥接报路由准备/同步失败(附目标链/cause,不静默回退 memory) | 守卫/加载器/端口执行异常拒绝、或连续内部 replace 超过 5 次(重定向环) | 修复子应用守卫/加载器异常;排查重定向环(子应用路由定义的循环重定向) |
74
74
 
75
75
  #### CC 跨应用上下文
@@ -1,6 +1,6 @@
1
1
  # fulgurjs-federation 模板(examples/templates/)
2
2
 
3
- 五个可独立复制、`pnpm install` 后直接运行的联邦接入模板。全部使用 **npm registry 正式包** `@fulgurjs/federation@6.0.0`(精确版本 + pnpm 锁文件;6.0.0 起统一入口 /vue、/react、/runtime——模板代码即统一入口用法),不依赖本仓库源码、workspace 或父目录。
3
+ 五个可独立复制、`pnpm install` 后直接运行的联邦接入模板。全部使用 **npm registry 正式包** `@fulgurjs/federation@6.1.0`(精确版本 + pnpm 锁文件;6.0.0 起统一入口 /vue、/react、/runtime——模板代码即统一入口用法),不依赖本仓库源码、workspace 或父目录。
4
4
 
5
5
  ## 获取模板的两种方式
6
6
 
@@ -11,8 +11,8 @@ importers:
11
11
  react-host:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.0.0
15
- version: 6.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
14
+ specifier: 6.1.0
15
+ version: 6.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(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.0.0
46
- version: 6.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
45
+ specifier: 6.1.0
46
+ version: 6.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
47
47
  vue:
48
48
  specifier: ^3.5.13
49
49
  version: 3.5.43(typescript@5.9.3)
@@ -458,8 +458,8 @@ packages:
458
458
  cpu: [x64]
459
459
  os: [win32]
460
460
 
461
- '@fulgurjs/federation@6.0.0':
462
- resolution: {integrity: sha512-h3/ZvxdJZVtbvQcQ/OycsTQq7J9LYTfDjpjtoLli0eMk1gOjr2xdvtYaKw57Rt+ccGyfJgYPCsF2U48vVkRFpg==}
461
+ '@fulgurjs/federation@6.1.0':
462
+ resolution: {integrity: sha512-H3pYeXof2CQvLosR70KcXEQSOlflGu/JqKoOsxbUZI8ng6xKaRRVKXT+0E9YkHtL5UjSdZTZq2QmPlk4e1D8sQ==}
463
463
  engines: {node: '>=18'}
464
464
  hasBin: true
465
465
  peerDependencies:
@@ -1196,7 +1196,7 @@ snapshots:
1196
1196
  '@esbuild/win32-x64@0.27.7':
1197
1197
  optional: true
1198
1198
 
1199
- '@fulgurjs/federation@6.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))':
1199
+ '@fulgurjs/federation@6.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))':
1200
1200
  dependencies:
1201
1201
  es-module-lexer: 1.7.0
1202
1202
  esbuild: 0.27.7
@@ -2,7 +2,7 @@ packages:
2
2
  - react-host
3
3
  - vue-remote
4
4
  minimumReleaseAgeExclude:
5
- - '@fulgurjs/federation@6.0.0'
5
+ - '@fulgurjs/federation@6.1.0'
6
6
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
7
7
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
8
8
  allowBuilds:
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5304 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "vue": "^3.5.13"
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5313 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "vue": "^3.5.13",
14
14
  "vue-router": "^4.5.0"
15
15
  },
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5204 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "react-router-dom": "^7.1.0"
@@ -11,8 +11,8 @@ importers:
11
11
  host:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.0.0
15
- version: 6.0.0(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.3)
14
+ specifier: 6.1.0
15
+ version: 6.1.0(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.3)
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.0.0
46
- version: 6.0.0(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.3)
45
+ specifier: 6.1.0
46
+ version: 6.1.0(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.3)
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.0.0':
468
- resolution: {integrity: sha512-h3/ZvxdJZVtbvQcQ/OycsTQq7J9LYTfDjpjtoLli0eMk1gOjr2xdvtYaKw57Rt+ccGyfJgYPCsF2U48vVkRFpg==}
467
+ '@fulgurjs/federation@6.1.0':
468
+ resolution: {integrity: sha512-H3pYeXof2CQvLosR70KcXEQSOlflGu/JqKoOsxbUZI8ng6xKaRRVKXT+0E9YkHtL5UjSdZTZq2QmPlk4e1D8sQ==}
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.0.0(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.3)':
1172
+ '@fulgurjs/federation@6.1.0(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.3)':
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.0.0'
5
+ - '@fulgurjs/federation@6.1.0'
6
6
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
7
7
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
8
8
  allowBuilds:
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5203 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0"
15
15
  },
@@ -11,8 +11,8 @@ importers:
11
11
  react-host:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.0.0
15
- version: 6.0.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
14
+ specifier: 6.1.0
15
+ version: 6.1.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(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.0.0
49
- version: 6.0.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
48
+ specifier: 6.1.0
49
+ version: 6.1.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(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.0.0
80
- version: 6.0.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
79
+ specifier: 6.1.0
80
+ version: 6.1.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(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.0.0
111
- version: 6.0.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
110
+ specifier: 6.1.0
111
+ version: 6.1.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
112
112
  vue:
113
113
  specifier: ^3.5.13
114
114
  version: 3.5.43(typescript@5.9.3)
@@ -526,8 +526,8 @@ packages:
526
526
  cpu: [x64]
527
527
  os: [win32]
528
528
 
529
- '@fulgurjs/federation@6.0.0':
530
- resolution: {integrity: sha512-h3/ZvxdJZVtbvQcQ/OycsTQq7J9LYTfDjpjtoLli0eMk1gOjr2xdvtYaKw57Rt+ccGyfJgYPCsF2U48vVkRFpg==}
529
+ '@fulgurjs/federation@6.1.0':
530
+ resolution: {integrity: sha512-H3pYeXof2CQvLosR70KcXEQSOlflGu/JqKoOsxbUZI8ng6xKaRRVKXT+0E9YkHtL5UjSdZTZq2QmPlk4e1D8sQ==}
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.0.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))':
1351
+ '@fulgurjs/federation@6.1.0(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.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(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.0.0'
7
+ - '@fulgurjs/federation@6.1.0'
8
8
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
9
9
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
10
10
  allowBuilds:
@@ -10,7 +10,7 @@
10
10
  "typecheck": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@fulgurjs/federation": "6.0.0",
13
+ "@fulgurjs/federation": "6.1.0",
14
14
  "react": "^19.1.0",
15
15
  "react-dom": "^19.1.0",
16
16
  "react-router-dom": "^7.1.0",
@@ -10,7 +10,7 @@
10
10
  "typecheck": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@fulgurjs/federation": "6.0.0",
13
+ "@fulgurjs/federation": "6.1.0",
14
14
  "react": "^19.1.0",
15
15
  "react-dom": "^19.1.0",
16
16
  "react-router-dom": "^7.1.0"
@@ -10,7 +10,7 @@
10
10
  "typecheck": "vue-tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@fulgurjs/federation": "6.0.0",
13
+ "@fulgurjs/federation": "6.1.0",
14
14
  "react": "^19.1.0",
15
15
  "react-dom": "^19.1.0",
16
16
  "vue": "^3.5.13",
@@ -10,7 +10,7 @@
10
10
  "typecheck": "vue-tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@fulgurjs/federation": "6.0.0",
13
+ "@fulgurjs/federation": "6.1.0",
14
14
  "vue": "^3.5.13",
15
15
  "vue-router": "^4.5.0"
16
16
  },
@@ -11,8 +11,8 @@ importers:
11
11
  react-remote:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.0.0
15
- version: 6.0.0(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.3)(vue@3.5.43(typescript@5.9.3))
14
+ specifier: 6.1.0
15
+ version: 6.1.0(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.3)(vue@3.5.43(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-host:
43
43
  dependencies:
44
44
  '@fulgurjs/federation':
45
- specifier: 6.0.0
46
- version: 6.0.0(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.3)(vue@3.5.43(typescript@5.9.3))
45
+ specifier: 6.1.0
46
+ version: 6.1.0(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.3)(vue@3.5.43(typescript@5.9.3))
47
47
  react:
48
48
  specifier: ^19.1.0
49
49
  version: 19.3.0
@@ -467,8 +467,8 @@ packages:
467
467
  cpu: [x64]
468
468
  os: [win32]
469
469
 
470
- '@fulgurjs/federation@6.0.0':
471
- resolution: {integrity: sha512-h3/ZvxdJZVtbvQcQ/OycsTQq7J9LYTfDjpjtoLli0eMk1gOjr2xdvtYaKw57Rt+ccGyfJgYPCsF2U48vVkRFpg==}
470
+ '@fulgurjs/federation@6.1.0':
471
+ resolution: {integrity: sha512-H3pYeXof2CQvLosR70KcXEQSOlflGu/JqKoOsxbUZI8ng6xKaRRVKXT+0E9YkHtL5UjSdZTZq2QmPlk4e1D8sQ==}
472
472
  engines: {node: '>=18'}
473
473
  hasBin: true
474
474
  peerDependencies:
@@ -1221,7 +1221,7 @@ snapshots:
1221
1221
  '@esbuild/win32-x64@0.27.7':
1222
1222
  optional: true
1223
1223
 
1224
- '@fulgurjs/federation@6.0.0(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.3)(vue@3.5.43(typescript@5.9.3))':
1224
+ '@fulgurjs/federation@6.1.0(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.3)(vue@3.5.43(typescript@5.9.3))':
1225
1225
  dependencies:
1226
1226
  es-module-lexer: 1.7.0
1227
1227
  esbuild: 0.27.7
@@ -2,7 +2,7 @@ packages:
2
2
  - vue-host
3
3
  - react-remote
4
4
  minimumReleaseAgeExclude:
5
- - '@fulgurjs/federation@6.0.0'
5
+ - '@fulgurjs/federation@6.1.0'
6
6
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
7
7
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
8
8
  allowBuilds:
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5303 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "react-router-dom": "^7.1.0"
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5314 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "react": "^19.1.0",
14
14
  "react-dom": "^19.1.0",
15
15
  "vue": "^3.5.13"
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5214 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "vue": "^3.5.13",
14
14
  "vue-router": "^4.5.0"
15
15
  },
@@ -11,8 +11,8 @@ importers:
11
11
  host:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.0.0
15
- version: 6.0.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
14
+ specifier: 6.1.0
15
+ version: 6.1.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
16
16
  vue:
17
17
  specifier: ^3.5.13
18
18
  version: 3.5.43(typescript@5.9.3)
@@ -33,8 +33,8 @@ importers:
33
33
  remote:
34
34
  dependencies:
35
35
  '@fulgurjs/federation':
36
- specifier: 6.0.0
37
- version: 6.0.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
36
+ specifier: 6.1.0
37
+ version: 6.1.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))
38
38
  vue:
39
39
  specifier: ^3.5.13
40
40
  version: 3.5.43(typescript@5.9.3)
@@ -380,8 +380,8 @@ packages:
380
380
  cpu: [x64]
381
381
  os: [win32]
382
382
 
383
- '@fulgurjs/federation@6.0.0':
384
- resolution: {integrity: sha512-h3/ZvxdJZVtbvQcQ/OycsTQq7J9LYTfDjpjtoLli0eMk1gOjr2xdvtYaKw57Rt+ccGyfJgYPCsF2U48vVkRFpg==}
383
+ '@fulgurjs/federation@6.1.0':
384
+ resolution: {integrity: sha512-H3pYeXof2CQvLosR70KcXEQSOlflGu/JqKoOsxbUZI8ng6xKaRRVKXT+0E9YkHtL5UjSdZTZq2QmPlk4e1D8sQ==}
385
385
  engines: {node: '>=18'}
386
386
  hasBin: true
387
387
  peerDependencies:
@@ -889,7 +889,7 @@ snapshots:
889
889
  '@esbuild/win32-x64@0.27.7':
890
890
  optional: true
891
891
 
892
- '@fulgurjs/federation@6.0.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))':
892
+ '@fulgurjs/federation@6.1.0(vite@6.4.3)(vue-router@4.6.4(vue@3.5.43(typescript@5.9.3)))(vue@3.5.43(typescript@5.9.3))':
893
893
  dependencies:
894
894
  es-module-lexer: 1.7.0
895
895
  esbuild: 0.27.7
@@ -2,7 +2,7 @@ packages:
2
2
  - host
3
3
  - remote
4
4
  minimumReleaseAgeExclude:
5
- - '@fulgurjs/federation@6.0.0'
5
+ - '@fulgurjs/federation@6.1.0'
6
6
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
7
7
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
8
8
  allowBuilds:
@@ -9,7 +9,7 @@
9
9
  "preview": "vite preview --port 5213 --strictPort"
10
10
  },
11
11
  "dependencies": {
12
- "@fulgurjs/federation": "6.0.0",
12
+ "@fulgurjs/federation": "6.1.0",
13
13
  "vue": "^3.5.13"
14
14
  },
15
15
  "devDependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fulgurjs/federation",
3
- "version": "6.1.0",
3
+ "version": "6.1.2",
4
4
  "type": "module",
5
5
  "description": "Vite Module Federation for Vue and React: remote modules, shared dependencies and app bridges.",
6
6
  "license": "MIT",