@fulgurjs/federation 5.4.0 → 5.4.1

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 (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.en.md +5 -3
  3. package/README.md +14 -9
  4. package/dist/bridge-app-react.d.cts +1 -1
  5. package/dist/bridge-app-react.d.ts +1 -1
  6. package/dist/bridge-app-react.js +1 -1
  7. package/dist/bridge-app-vue.d.cts +1 -1
  8. package/dist/bridge-app-vue.d.ts +1 -1
  9. package/dist/bridge-app-vue.js +1 -1
  10. package/dist/{bridge-core-BOWvVUxO.d.ts → bridge-core-ejlY9ddN.d.ts} +3 -1
  11. package/dist/bridge-core.d.cts +1 -1
  12. package/dist/bridge-core.d.ts +1 -1
  13. package/dist/bridge-core.js +2 -2
  14. package/dist/bridge-errors.cjs +5 -4
  15. package/dist/bridge-errors.d.cts +1 -1
  16. package/dist/bridge-errors.d.ts +1 -1
  17. package/dist/bridge-errors.js +1 -1
  18. package/dist/{bridge-host-react-CMVd-ym0.d.ts → bridge-host-react-Bua1TCVh.d.ts} +1 -1
  19. package/dist/bridge-host-react.cjs +54 -45
  20. package/dist/bridge-host-react.d.cts +1 -1
  21. package/dist/bridge-host-react.d.ts +1 -1
  22. package/dist/bridge-host-react.js +3 -3
  23. package/dist/{bridge-host-vue-BuCGlLdS.d.ts → bridge-host-vue-Dd1kkwDb.d.ts} +1 -1
  24. package/dist/bridge-host-vue.cjs +54 -45
  25. package/dist/bridge-host-vue.js +3 -3
  26. package/dist/bridge-react.d.ts +4 -4
  27. package/dist/{bridge-router-core-BxBx-reP.d.ts → bridge-router-core-BRZQYDPm.d.cts} +3 -1
  28. package/dist/{bridge-router-core-BxBx-reP.d.cts → bridge-router-core-BRZQYDPm.d.ts} +3 -1
  29. package/dist/bridge-router-react.d.ts +18 -41
  30. package/dist/bridge-router-react.js +213 -36
  31. package/dist/bridge-router-vue.d.ts +11 -36
  32. package/dist/bridge-router-vue.js +188 -44
  33. package/dist/bridge-vue.d.ts +2 -2
  34. package/dist/bridge.d.ts +5 -5
  35. package/dist/{chunk-GF6KOH67.js → chunk-43UX3UZE.js} +1 -1
  36. package/dist/{chunk-WOTR2FUQ.js → chunk-7CQOVLSI.js} +50 -42
  37. package/dist/{chunk-JQF7KYZF.js → chunk-HZGQOW35.js} +5 -4
  38. package/dist/{chunk-OXEAGRPY.js → chunk-KT3YARK5.js} +1 -1
  39. package/dist/{chunk-PRUYHYX2.js → chunk-RXXBTPAY.js} +1 -1
  40. package/dist/{chunk-BTJGYDHT.js → chunk-UFWZPE36.js} +55 -55
  41. package/dist/index.cjs +30 -10
  42. package/dist/index.js +30 -10
  43. package/dist/runtime.js +9 -9
  44. package/package.json +1 -1
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 = "5.4.0";
11
+ var RUNTIME_VERSION = "5.4.1";
12
12
 
13
13
  // src/dev-cors.ts
14
14
  function normalizeDevCorsOrigins(input) {
@@ -699,7 +699,7 @@ function genCjsNsFacade(item, exportNames, importTarget) {
699
699
  // 兜底保留裸包名(与命名空间门面同语义,无 proxy 载体时可解析)
700
700
  `import * as __fulgurjs_local from ${JSON.stringify(importTarget ?? item.import)};`,
701
701
  `const __fulgurjs_snap = __fulgurjs_gls(${JSON.stringify(item.shareKey)}, { ${opts.join(", ")} });`,
702
- // 未命中同步快照:把本地副本登记为将选中的共享条目(版本一致且条目未就绪时生效),
702
+ // 未命中同步快照:空作用域登记本地副本,已有条目仅在版本一致且未就绪时回填,
703
703
  // 使先于 TLA 门面求值的垫片(jsx-runtime 拖入 provider chunk 的场景)与后续协商
704
704
  // 收敛到同一份实例,杜绝单例双实例。
705
705
  `if (__fulgurjs_snap === undefined) __fulgurjs_pin(${JSON.stringify(item.shareKey)}, { ${opts.join(", ")} }, ${JSON.stringify(item.version)}, __fulgurjs_local);`,
@@ -1333,7 +1333,7 @@ async function transformModule(code, id, ctx) {
1333
1333
  for (const s2 of options.shared) candidates.push(s2.configKey.replace(/\/$/, ""));
1334
1334
  for (const r of options.remotes) candidates.push(r.key);
1335
1335
  if (!candidates.some((c) => code.includes(c))) return null;
1336
- if (ctx.cjsRequireRewrite && !inSharedClosure(clean, ctx.sharedClosureRoots) && /require\s*\(\s*["']/.test(code)) {
1336
+ if (ctx.cjsRequireRewrite && /require\s*\(\s*["']/.test(code)) {
1337
1337
  const sharedByAlias = /* @__PURE__ */ new Map();
1338
1338
  for (const s2 of options.shared) {
1339
1339
  if (s2.import === false) continue;
@@ -1341,6 +1341,7 @@ async function transformModule(code, id, ctx) {
1341
1341
  }
1342
1342
  let cjsEdited = false;
1343
1343
  for (const [alias, item] of sharedByAlias) {
1344
+ if (ctx.sharedClosureRoots?.some((root) => clean.startsWith(root.root) && root.keys.has(item.shareKey))) continue;
1344
1345
  const re = new RegExp(`require\\((["'])${alias.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\1\\)`, "g");
1345
1346
  if (!re.test(code)) continue;
1346
1347
  code = code.replace(re, `require(${JSON.stringify(`virtual:fulgurjs-cjs-ns:${item.shareKey}`)})`);
@@ -2196,7 +2197,7 @@ function syncViteCacheMarker(root, pluginVersion, log) {
2196
2197
  }
2197
2198
 
2198
2199
  // src/runtime-code.gen.ts
2199
- var runtime_code_gen_default = 'var Re=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function N(a){let c=Re.exec(String(a).trim());return c?{major:Number(c[1]),minor:Number(c[2]??0),patch:Number(c[3]??0),pre:c[4]?c[4].split("."):[]}:null}function we(a,c){if(a.length===0&&c.length===0)return 0;if(a.length===0)return 1;if(c.length===0)return-1;let u=Math.max(a.length,c.length);for(let i=0;i<u;i++){let h=a[i],y=c[i];if(h===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(h),P=/^\\d+$/.test(y);if(w&&P){let I=Number(h)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(h!==y)return h<y?-1:1}}return 0}function T(a,c){let u=N(a),i=N(c);return!u||!i?a<c?-1:a>c?1:0:u.major!==i.major?u.major-i.major:u.minor!==i.minor?u.minor-i.minor:u.patch!==i.patch?u.patch-i.patch:we(u.pre,i.pre)}var be=/^[a-z]+[+:-]/i;function U(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||be.test(u)?!0:u.split("||").some(i=>Pe(a,i.trim()))}function Pe(a,c){if(!c||c==="*")return!N(a)?.pre.length;let u=c.split(/\\s+-\\s+/);if(u.length===2){let y=u[0].trim(),w=u[1].trim();return!(!U(a,`>=${y}`)||!U(a,`<=${w}`))}let i=N(a);if(!i)return!1;let h=ve(c);if(h===null)return!0;for(let y of h)if(!Oe(i,a,y))return!1;return!(i.pre.length>0&&!h.some(y=>y.ver.pre.length>0)&&!h.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function ve(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let h=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!h)return null;let y=h[1],w=h[2],P=$e(y,w);if(P===null)return null;c.push(...P)}return c}function $e(a,c){let u=Me(c);if(!u)return null;let{ver:i,partial:h}=u;switch(a){case"^":{let y=_e(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=h>=2?{major:i.major,minor:i.minor+1,patch:0,pre:[]}:{major:i.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:i},{op:"<",ver:y}]}case">=":return[{op:">=",ver:i}];case">":return h===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return h===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:h===2?[{op:"<",ver:{major:i.major,minor:i.minor,patch:0,pre:[]}}]:[{op:"<",ver:i}];case"<=":return[{op:"<=",ver:i}];case"=":case void 0:return h===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function _e(a){return a.major>0?{major:a.major+1,minor:0,patch:0,pre:[]}:a.minor>0?{major:0,minor:a.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:a.patch+1,pre:[]}}function Me(a){let c=a.replace(/^v/,"").trim();if(!c||c==="*"||c==="x"||c==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let u=c.split("."),i=[],h=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),h++;else{if(P==="x"||P==="X"||P==="*")break;break}let y=c.split("-"),w=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return h===0&&w.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:i[0]??0,minor:i[1]??0,patch:i[2]??0,pre:w},partial:h}}function Le(a,c){switch(c){case">=":return a>=0;case">":return a>0;case"<":return a<0;case"<=":return a<=0;case"=":return a===0}}function Oe(a,c,u){let i=`${a.major}.${a.minor}.${a.patch}`+(a.pre.length?`-${a.pre.join(".")}`:"");if(u.upper)return!(!(T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:""))>=0)||!(T(i,`${u.upper.major}.${u.upper.minor}.${u.upper.patch}`)<0));let h=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Le(h,u.op);return u.ver.pre.length>0&&a.pre.length===0&&(u.op===">"||u.op==="<")?!1:y}var S=class extends Error{code;details;constructor(c,u,i,h){super(`[fulgurjs:${c}] ${u}`,h),this.name="FgError",this.code=c,this.details=i}},R={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 Q="5.4.0";var Ie="__fulgurjsSetup",Te="__FULGURJS_APP_CONFIG__",G=15e3,ee=2,xe=5,ke=3e4,je=4e3,Ne=.2;function Ue(){let a=Object.create(null),c=new Map,u=[],i=new Set,h=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),w=new Map,P=new Map,I=new WeakMap,A=new WeakMap,O={},ne=()=>{for(let e of u)try{e.init?.(O)}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)}},C=new Map,F,te=e=>{let r=C.get(e);return r||C.set(e,r={}),r},H=()=>globalThis[Te]??{};async function q(e,r,n,s){let o=l=>l instanceof S?l:new S(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${s} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${s} \\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:s},{cause:l});F=e;let t;try{t=r(n)}catch(l){throw o(l)}finally{F=void 0}try{await t}catch(l){throw o(l)}}async function oe(e,r,n,s){e.debug.setup="pending";try{if(e.manifestUrl)try{await K(`${e.name}/${n}`)}catch{}let o=await r.get(n),t=o?.default;if(typeof t!="function")throw new S(R.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 ${o==null?String(o):typeof t}\\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(o.onSession!==void 0&&typeof o.onSession!="function")throw new S(R.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 o.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});s.setupExports=o,await q(e.name,t,{appContext:H(),signal:(s.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(o){throw e.debug.setup="failed",s.setupExports=void 0,o}}async function se(e,r,n){let s=H(),o=s?.sessionKey;if(typeof o!="string"||o==="")throw new S(R.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 ${o===void 0?"\\u7F3A\\u5931":JSON.stringify(o)}\\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===o)return r.sessionPromise;r.controller?.abort();let t=new AbortController;r.controller=t,r.sessionKey=o;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),d=(async()=>{await l,!t.signal.aborted&&await q(e.name,n,{appContext:s,sessionKey:o,signal:t.signal},"onSession")})();return r.sessionPromise=d,d.catch(()=>{r.sessionKey===o&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),d}async function ie(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let s=te(e.name);s.setupPromise||(s.setupPromise=oe(e,r,n,s).catch(t=>{throw s.setupPromise=void 0,t})),await s.setupPromise;let o=s.setupExports?.onSession;typeof o=="function"&&await se(e,s,o)}function ae(){for(let e of C.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let x=e=>a[e]??=Object.create(null);function v(e){try{O.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function ce(e="default"){return x(e),a}function J(e,r,n,s,o={}){let t=x(e||"default"),l=Object.hasOwn(t,r)?t[r]:void 0,d=l&&typeof l=="object"?l:void 0;d||(d=Object.create(null),t[r]=d),!(Object.hasOwn(d,n)&&d[n])&&(d[n]={version:n,get:s,from:o.from??"unknown",eager:!!o.eager,loaded:!!o.loaded})}function ue(e){let r=(n,s,o)=>{if(n===void 0)return;if(!(typeof n=="number"&&(o?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${s} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${o?" 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){ue(r);let n=c.get(r.name);c.set(r.name,{timeout:G,retries:ee,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??xe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??ke,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 le(e){X([e])}function fe(e){u.push(...e),h.clear(),ne()}function k(e,r,n=!1){let s=r.shareScope||"default",o=r.shareKey||e,l=x(s)[o]||{},d=Object.keys(l).filter(m=>!n||r.singleton||l[m].value!==void 0);if(n&&d.length===0)return;let f=r.requiredVersion,p=d.filter(m=>f===void 0||f===!1||U(m,f)),E;if(r.singleton&&d.length>0){let m=d.filter(g=>l[g].loaded);if(E=[...m.length?m:d].sort(T).pop(),!p.includes(E)){let g=l[E],M=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${o}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${f??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${d.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${g.from} \\u63D0\\u4F9B\\u7684 ${E}\\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 L=new S(R.SHARE_STRICT_VERSION,M,{shareKey:o,requiredVersion:f});throw v({remote:g.from,error:L}),L}let $=`${s}|${o}|${f??"*"}|${E}|${d.join(",")}`;i.has($)||(i.add($),console.warn(`[fulgurjs:MFU-010] ${M}`))}}else if(E=[...p].sort(T).pop(),!E){if(r.strictVersion){let m=new S(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${f}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${d.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 v({remote:o,error:m}),m}return}return l[E]}function de(e,r,n){let s=r.localVersion;if(!s||n===void 0)return;let o=r.shareScope||"default",t=r.shareKey||e,l=x(o),d=Object.hasOwn(l,t)?l[t]:void 0;if(d&&Object.keys(d).length>0){try{let p=k(e,r);p&&p.value===void 0&&p.version===s&&(p.value=n,p.loaded=!0)}catch{}return}J(o,t,s,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let f=l[t]?.[s];f&&(f.value=n)}async function me(e,r={}){let n=r.shareScope||"default",s=r.shareKey||e,o=x(n)[s]||{},t=k(e,r);if(!t){if(r.fallback){let p=await r.fallback();return de(e,r,p),p}let f=new S(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${s}"\\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:s,requiredVersion:r.requiredVersion});throw v({remote:s,error:f}),f}if(O.resolveShare){let f=await O.resolveShare({shareKey:s,shareScope:n,requiredVersion:r.requiredVersion,picked:t,available:Object.values(o)});f&&(t=f)}if(t.value!==void 0)return h.set(y(e,r),t),t.value;if(t.loaded=!0,!t.pendingGet)try{t.pendingGet=t.get()}catch(f){t.pendingGet=Promise.reject(f)}let l=t.pendingGet,d;try{d=await l}catch(f){if(t.value!==void 0)return h.set(y(e,r),t),t.value;throw t.loaded=!1,f}finally{t.pendingGet===l&&(t.pendingGet=void 0)}return t.value===void 0&&(t.value=d),h.set(y(e,r),t),t.value}function pe(e,r={}){return O.resolveShare?h.get(y(e,r))?.value:k(e,r,!0)?.value}function ge(e,r,n,s){if(s===void 0)return;let o;try{o=k(e,r)}catch{return}!o||o.value!==void 0||o.version!==n||(o.value=s,o.loaded=!0)}function B(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 W(e,r,n){return new Promise((s,o)=>{let t=setTimeout(()=>o(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(l=>{clearTimeout(t),s(l)},l=>{clearTimeout(t),o(l)})})}let he=e=>new Promise(r=>setTimeout(r,e));function V(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)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:R.REMOTE_NAME_MISMATCH})}}async function z(e,r){let n=r.entryFailCounts.get(e)??0,s=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,o=r.entryInflight.get(e),t=o??import(s);return o||(r.entryInflight.set(e,t),t.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),W(t,r.timeout??G,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${B(e)}`)}async function Y(e,r){let n=e.shareScope||"default";if(e.container){let t=A.get(e.container);if(t&&t!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\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 s=e.breakerState;if(s.openUntil>Date.now()){let t=new S(R.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(s.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 v({remote:e.name,error:t}),t}e.state="loading",e.debug.status="loading";let o=(async()=>{let t=[];if(e.promise)t.push(async()=>{let m=await W(e.promise(),e.timeout??G,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),g=typeof m=="string"?await z(m,e):m;return V(g,e),g});else for(let m of[e.entry,...e.fallback??[]])t.push(async()=>{let g=await z(m,e);return V(g,e),g});let l,d,f=!1,p=r?.retries??e.retries??ee;for(let m of t){for(let g=0;g<=p;g++){let M=performance.now();try{l=await m(),e.lastLoadMs=Math.round(performance.now()-M),e.debug.lastLoadMs=e.lastLoadMs,f=!0;break}catch($){if(d=$,$?.code)throw $;g<p&&await he(Math.min(je,200*2**g)*(1-Ne*(1-2*Math.random())))}}if(f)break}if(!f||!l){let m=B(e.entry),g=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(g.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${m}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),g.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),g.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(g.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${m}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),g.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 S(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${m} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\n\\u4FEE\\u6CD5\\uFF1A\n${g.join(`\n`)}`,{remote:e.name})}V(l,e);let E=A.get(l);if(E&&E!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${E}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),A.set(l,n),e.container=l,e.state="loaded",e.debug.status="loaded",s.fails=0,l})();e.containerPromise=o;try{return await o}catch(t){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(t?.message??t),s.fails+=1,s.fails>=e.breakerThreshold&&(s.openUntil=Date.now()+e.breakerResetMs,s.fails=0),t instanceof S)throw v({remote:e.name,error:t}),t;if(t?.code)throw v({remote:e.name,error:t}),t;let l=new S(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(t?.message??t)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw v({remote:e.name,error:l}),l}}function D(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:Z(e.slice(r+1))}}function Z(e){return e?e.startsWith(".")?e:`./${e}`:""}async function ye(e,r){let{remote:n,module:s}=D(e);if(s&&F===n)throw new S(R.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{O.beforeLoadRemote?.({remote:n,module:s})}catch(f){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",f)}let o=c.get(n);if(!o)throw new S(R.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 t;try{let f=s&&o.manifestUrl?K(e):Promise.resolve();[t]=await Promise.all([Y(o,{retries:r?.retries}),f])}catch(f){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`,f),v({remote:n,error:f}),await r.fallbackModule();throw f}if(!s)return t;await ie(o,t);let l=`${n}@${o.shareScope||"default"}#${s}`;w.has(l)||w.set(l,t.get(s).catch(f=>{throw w.delete(l),f instanceof S||f?.code?f:new S(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${s}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(f?.message??f)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:s})}));let d;try{d=await w.get(l)}catch(f){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`,f),v({remote:n,error:f}),await r.fallbackModule();throw f}try{O.afterLoadRemote?.({remote:n,module:s,module_ns:d})}catch(f){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",f)}if(d&&typeof d=="object"&&Object.keys(d).length===0){let f=new S(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${s}" \\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:s});v({remote:n,error:f}),console.error(f.message)}return d}function Se(e){let r=c.get(e);if(!r)throw new S(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return Y(r)}async function K(e,r={}){let{remote:n,module:s}=D(e),o=c.get(n);if(!o)throw new S(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let t=r.mode??"preload",l=(p,E)=>{if(p.sheet)return Promise.resolve();let m=I.get(p);if(m)return m;let g=new Promise(M=>{let $=()=>{p.removeEventListener("load",$),p.removeEventListener("error",L),M()},L=()=>{v({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${E}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),$()};p.addEventListener("load",$,{once:!0}),p.addEventListener("error",L,{once:!0}),p.sheet&&$()});return I.set(p,g),g},d=(p,E)=>{if(typeof document>"u")return Promise.resolve();let m=document.querySelector(`link[href="${p}"]`);if(m)return E==="style"&&t==="preload"?I.get(m)??Promise.resolve():Promise.resolve();let g=document.createElement("link");g.rel=E==="style"?"stylesheet":"modulepreload",g.href=p,t==="prefetch"&&(g.fetchPriority="low");let M=E==="style"?l(g,p):Promise.resolve();return document.head.appendChild(g),E==="style"&&t==="preload"?M:Promise.resolve()},f=p=>{let E=typeof document<"u"?document.baseURI:void 0,m=new URL(o.entry,E||"http://fulgurjs.invalid/");return!m.pathname.endsWith("/")&&!m.pathname.split("/").pop().includes(".")&&(m.pathname+="/"),new URL(p,m).href};try{if(o.manifestUrl){let p=P.get(o.manifestUrl);p||(p=fetch(o.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(m=>m.ok?m.json():void 0),P.set(o.manifestUrl,p),p.then(m=>{m||P.delete(o.manifestUrl)},()=>P.delete(o.manifestUrl)));let E=await p;if(E){let m=E.schemaVersion;if(typeof m=="number"&&(!Number.isInteger(m)||m>1)){v({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(m)}\\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 d(o.entry,"modulepreload");return}await d(o.entry,"modulepreload");let g=E.exposes,M=Array.isArray(g)?g.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):g&&typeof g=="object"?Object.entries(g):[],$=s?M.filter(([_,j])=>Z(String(j?.name??_))===s):M,L=[];for(let[,_]of $)if(typeof _?.file=="string"&&await d(f(_.file),"modulepreload"),Array.isArray(_?.css))for(let j of _.css){if(typeof j!="string")continue;let Ee=d(f(j),"style");t==="preload"&&L.push(Ee)}await Promise.all(L);return}}await d(o.entry,"modulepreload")}catch(p){v({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(p?.message??p)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of c)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:ce,registerShare:J,registerRemotes:X,registerRemote:le,registerPlugins:fe,loadShare:me,getLoadedShare:pe,pinLoadedShare:ge,loadRemote:ye,getContainer:Se,preloadRemote:K,parseSpec:D,clearSessionState:ae}}var re=globalThis,b=re.__FULGURJS_RUNTIME__??Ue();re.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var He=Q;function qe(){return b}var Je=b.initSharing,Xe=b.registerShare,Be=b.registerRemotes,We=b.registerRemote,ze=b.registerPlugins,Ye=b.loadShare,Ze=b.getLoadedShare,Qe=b.pinLoadedShare,er=b.loadRemote,rr=b.getContainer,nr=b.preloadRemote,tr=b.parseSpec,or=b.clearSessionState,sr=b.shareScopeMap;function ir(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var ar=b;export{or as clearSessionState,ar as default,rr as getContainer,Ze as getLoadedShare,qe as getRuntime,Je as initSharing,er as loadRemote,Ye as loadShare,tr as parseSpec,Qe as pinLoadedShare,nr as preloadRemote,ze as registerPlugins,We as registerRemote,Be as registerRemotes,Xe as registerShare,b as runtime,sr as shareScopeMap,ir as unwrapDefault,He as version};\n';
2200
+ var runtime_code_gen_default = 'var Re=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function j(a){let c=Re.exec(String(a).trim());return c?{major:Number(c[1]),minor:Number(c[2]??0),patch:Number(c[3]??0),pre:c[4]?c[4].split("."):[]}:null}function we(a,c){if(a.length===0&&c.length===0)return 0;if(a.length===0)return 1;if(c.length===0)return-1;let u=Math.max(a.length,c.length);for(let i=0;i<u;i++){let h=a[i],y=c[i];if(h===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(h),P=/^\\d+$/.test(y);if(w&&P){let I=Number(h)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(h!==y)return h<y?-1:1}}return 0}function T(a,c){let u=j(a),i=j(c);return!u||!i?a<c?-1:a>c?1:0:u.major!==i.major?u.major-i.major:u.minor!==i.minor?u.minor-i.minor:u.patch!==i.patch?u.patch-i.patch:we(u.pre,i.pre)}var be=/^[a-z]+[+:-]/i;function N(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||be.test(u)?!0:u.split("||").some(i=>Pe(a,i.trim()))}function Pe(a,c){if(!c||c==="*")return!j(a)?.pre.length;let u=c.split(/\\s+-\\s+/);if(u.length===2){let y=u[0].trim(),w=u[1].trim();return!(!N(a,`>=${y}`)||!N(a,`<=${w}`))}let i=j(a);if(!i)return!1;let h=$e(c);if(h===null)return!0;for(let y of h)if(!Oe(i,a,y))return!1;return!(i.pre.length>0&&!h.some(y=>y.ver.pre.length>0)&&!h.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function $e(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let h=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!h)return null;let y=h[1],w=h[2],P=ve(y,w);if(P===null)return null;c.push(...P)}return c}function ve(a,c){let u=Me(c);if(!u)return null;let{ver:i,partial:h}=u;switch(a){case"^":{let y=_e(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=h>=2?{major:i.major,minor:i.minor+1,patch:0,pre:[]}:{major:i.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:i},{op:"<",ver:y}]}case">=":return[{op:">=",ver:i}];case">":return h===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return h===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:h===2?[{op:"<",ver:{major:i.major,minor:i.minor,patch:0,pre:[]}}]:[{op:"<",ver:i}];case"<=":return[{op:"<=",ver:i}];case"=":case void 0:return h===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function _e(a){return a.major>0?{major:a.major+1,minor:0,patch:0,pre:[]}:a.minor>0?{major:0,minor:a.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:a.patch+1,pre:[]}}function Me(a){let c=a.replace(/^v/,"").trim();if(!c||c==="*"||c==="x"||c==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let u=c.split("."),i=[],h=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),h++;else{if(P==="x"||P==="X"||P==="*")break;break}let y=c.split("-"),w=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return h===0&&w.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:i[0]??0,minor:i[1]??0,patch:i[2]??0,pre:w},partial:h}}function Le(a,c){switch(c){case">=":return a>=0;case">":return a>0;case"<":return a<0;case"<=":return a<=0;case"=":return a===0}}function Oe(a,c,u){let i=`${a.major}.${a.minor}.${a.patch}`+(a.pre.length?`-${a.pre.join(".")}`:"");if(u.upper)return!(!(T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:""))>=0)||!(T(i,`${u.upper.major}.${u.upper.minor}.${u.upper.patch}`)<0));let h=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Le(h,u.op);return u.ver.pre.length>0&&a.pre.length===0&&(u.op===">"||u.op==="<")?!1:y}var S=class extends Error{code;details;constructor(c,u,i,h){super(`[fulgurjs:${c}] ${u}`,h),this.name="FgError",this.code=c,this.details=i}},R={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 ee="5.4.1";var Ie="__fulgurjsSetup",Te="__FULGURJS_APP_CONFIG__",G=15e3,re=2,xe=5,ke=3e4,je=4e3,Ne=.2;function Ue(){let a=Object.create(null),c=new Map,u=[],i=new Set,h=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),w=new Map,P=new Map,I=new WeakMap,U=new WeakMap,O={},te=()=>{for(let e of u)try{e.init?.(O)}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)}},A=new Map,C,oe=e=>{let r=A.get(e);return r||A.set(e,r={}),r},H=()=>globalThis[Te]??{};async function q(e,r,n,s){let o=l=>l instanceof S?l:new S(R.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${s} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${s} \\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:s},{cause:l});C=e;let t;try{t=r(n)}catch(l){throw o(l)}finally{C=void 0}try{await t}catch(l){throw o(l)}}async function se(e,r,n,s){e.debug.setup="pending";try{if(e.manifestUrl)try{await K(`${e.name}/${n}`)}catch{}let o=await r.get(n),t=o?.default;if(typeof t!="function")throw new S(R.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 ${o==null?String(o):typeof t}\\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(o.onSession!==void 0&&typeof o.onSession!="function")throw new S(R.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 o.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});s.setupExports=o,await q(e.name,t,{appContext:H(),signal:(s.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(o){throw e.debug.setup="failed",s.setupExports=void 0,o}}async function ie(e,r,n){let s=H(),o=s?.sessionKey;if(typeof o!="string"||o==="")throw new S(R.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 ${o===void 0?"\\u7F3A\\u5931":JSON.stringify(o)}\\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===o)return r.sessionPromise;r.controller?.abort();let t=new AbortController;r.controller=t,r.sessionKey=o;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),d=(async()=>{await l,!t.signal.aborted&&await q(e.name,n,{appContext:s,sessionKey:o,signal:t.signal},"onSession")})();return r.sessionPromise=d,d.catch(()=>{r.sessionKey===o&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),d}async function ae(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let s=oe(e.name);s.setupPromise||(s.setupPromise=se(e,r,n,s).catch(t=>{throw s.setupPromise=void 0,t})),await s.setupPromise;let o=s.setupExports?.onSession;typeof o=="function"&&await ie(e,s,o)}function ce(){for(let e of A.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let x=e=>a[e]??=Object.create(null);function $(e){try{O.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function ue(e="default"){return x(e),a}function J(e,r,n,s,o={}){let t=x(e||"default"),l=Object.hasOwn(t,r)?t[r]:void 0,d=l&&typeof l=="object"?l:void 0;d||(d=Object.create(null),t[r]=d),!(Object.hasOwn(d,n)&&d[n])&&(d[n]={version:n,get:s,from:o.from??"unknown",eager:!!o.eager,loaded:!!o.loaded})}function le(e){let r=(n,s,o)=>{if(n===void 0)return;if(!(typeof n=="number"&&(o?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${s} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(n)}\\uFF0C\\u5E94\\u4E3A${o?" 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){le(r);let n=c.get(r.name);c.set(r.name,{timeout:G,retries:re,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??xe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??ke,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 fe(e){X([e])}function de(e){u.push(...e),h.clear(),te()}function F(e,r,n=!1){let s=r.shareScope||"default",o=r.shareKey||e,l=x(s)[o]||{},d=Object.keys(l).filter(m=>!n||r.singleton||l[m].value!==void 0);if(n&&d.length===0)return;let f=r.requiredVersion,p=d.filter(m=>f===void 0||f===!1||N(m,f)),E;if(r.singleton&&d.length>0){let m=d.filter(g=>l[g].loaded);if(E=[...m.length?m:d].sort(T).pop(),!p.includes(E)){let g=l[E],M=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${o}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${f??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${d.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${g.from} \\u63D0\\u4F9B\\u7684 ${E}\\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 L=new S(R.SHARE_STRICT_VERSION,M,{shareKey:o,requiredVersion:f});throw $({remote:g.from,error:L}),L}let v=`${s}|${o}|${f??"*"}|${E}|${d.join(",")}`;i.has(v)||(i.add(v),console.warn(`[fulgurjs:MFU-010] ${M}`))}}else if(E=[...p].sort(T).pop(),!E){if(r.strictVersion){let m=new S(R.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${s}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${o}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${f}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${d.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:o,error:m}),m}return}return l[E]}function B(e,r,n){let s=r.localVersion;if(!s||n===void 0)return;let o=r.shareScope||"default",t=r.shareKey||e,l=x(o),d=Object.hasOwn(l,t)?l[t]:void 0;if(d&&Object.keys(d).length>0){try{let p=F(e,r);p&&p.value===void 0&&p.version===s&&(p.value=n,p.loaded=!0)}catch{}return}J(o,t,s,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let f=l[t]?.[s];f&&(f.value=n)}async function me(e,r={}){let n=r.shareScope||"default",s=r.shareKey||e,o=x(n)[s]||{},t=F(e,r);if(!t){if(r.fallback){let p=await r.fallback();return B(e,r,p),p}let f=new S(R.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${s}"\\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:s,requiredVersion:r.requiredVersion});throw $({remote:s,error:f}),f}if(O.resolveShare){let f=await O.resolveShare({shareKey:s,shareScope:n,requiredVersion:r.requiredVersion,picked:t,available:Object.values(o)});f&&(t=f)}if(t.value!==void 0)return h.set(y(e,r),t),t.value;if(t.loaded=!0,!t.pendingGet)try{t.pendingGet=t.get()}catch(f){t.pendingGet=Promise.reject(f)}let l=t.pendingGet,d;try{d=await l}catch(f){if(t.value!==void 0)return h.set(y(e,r),t),t.value;throw t.loaded=!1,f}finally{t.pendingGet===l&&(t.pendingGet=void 0)}return t.value===void 0&&(t.value=d),h.set(y(e,r),t),t.value}function pe(e,r={}){return O.resolveShare?h.get(y(e,r))?.value:F(e,r,!0)?.value}function ge(e,r,n,s){B(e,{...r,localVersion:n},s)}function W(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((s,o)=>{let t=setTimeout(()=>o(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${n}`)),r);e.then(l=>{clearTimeout(t),s(l)},l=>{clearTimeout(t),o(l)})})}let he=e=>new Promise(r=>setTimeout(r,e));function V(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)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:R.REMOTE_NAME_MISMATCH})}}async function Y(e,r){let n=r.entryFailCounts.get(e)??0,s=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,o=r.entryInflight.get(e),t=o??import(s);return o||(r.entryInflight.set(e,t),t.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),z(t,r.timeout??G,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${W(e)}`)}async function Z(e,r){let n=e.shareScope||"default";if(e.container){let t=U.get(e.container);if(t&&t!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\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 s=e.breakerState;if(s.openUntil>Date.now()){let t=new S(R.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(s.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:t}),t}e.state="loading",e.debug.status="loading";let o=(async()=>{let t=[];if(e.promise)t.push(async()=>{let m=await z(e.promise(),e.timeout??G,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),g=typeof m=="string"?await Y(m,e):m;return V(g,e),g});else for(let m of[e.entry,...e.fallback??[]])t.push(async()=>{let g=await Y(m,e);return V(g,e),g});let l,d,f=!1,p=r?.retries??e.retries??re;for(let m of t){for(let g=0;g<=p;g++){let M=performance.now();try{l=await m(),e.lastLoadMs=Math.round(performance.now()-M),e.debug.lastLoadMs=e.lastLoadMs,f=!0;break}catch(v){if(d=v,v?.code)throw v;g<p&&await he(Math.min(je,200*2**g)*(1-Ne*(1-2*Math.random())))}}if(f)break}if(!f||!l){let m=W(e.entry),g=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(g.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${m}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),g.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),g.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(g.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${m}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),g.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 S(R.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${m} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\n\\u4FEE\\u6CD5\\uFF1A\n${g.join(`\n`)}`,{remote:e.name})}V(l,e);let E=U.get(l);if(E&&E!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${E}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${n}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),U.set(l,n),e.container=l,e.state="loaded",e.debug.status="loaded",s.fails=0,l})();e.containerPromise=o;try{return await o}catch(t){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(t?.message??t),s.fails+=1,s.fails>=e.breakerThreshold&&(s.openUntil=Date.now()+e.breakerResetMs,s.fails=0),t instanceof S)throw $({remote:e.name,error:t}),t;if(t?.code)throw $({remote:e.name,error:t}),t;let l=new S(R.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(t?.message??t)}\\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:l}),l}}function D(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:Q(e.slice(r+1))}}function Q(e){return e?e.startsWith(".")?e:`./${e}`:""}async function ye(e,r){let{remote:n,module:s}=D(e);if(s&&C===n)throw new S(R.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{O.beforeLoadRemote?.({remote:n,module:s})}catch(f){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",f)}let o=c.get(n);if(!o)throw new S(R.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 t;try{let f=s&&o.manifestUrl?K(e):Promise.resolve();[t]=await Promise.all([Z(o,{retries:r?.retries}),f])}catch(f){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`,f),$({remote:n,error:f}),await r.fallbackModule();throw f}if(!s)return t;await ae(o,t);let l=`${n}@${o.shareScope||"default"}#${s}`;w.has(l)||w.set(l,t.get(s).catch(f=>{throw w.delete(l),f instanceof S||f?.code?f:new S(R.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u52A0\\u8F7D\\u6A21\\u5757 "${s}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(f?.message??f)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:n,module:s})}));let d;try{d=await w.get(l)}catch(f){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`,f),$({remote:n,error:f}),await r.fallbackModule();throw f}try{O.afterLoadRemote?.({remote:n,module:s,module_ns:d})}catch(f){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",f)}if(d&&typeof d=="object"&&Object.keys(d).length===0){let f=new S(R.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6A21\\u5757 "${s}" \\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:s});$({remote:n,error:f}),console.error(f.message)}return d}function Se(e){let r=c.get(e);if(!r)throw new S(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return Z(r)}async function K(e,r={}){let{remote:n,module:s}=D(e),o=c.get(n);if(!o)throw new S(R.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:n});let t=r.mode??"preload",l=(p,E)=>{if(p.sheet)return Promise.resolve();let m=I.get(p);if(m)return m;let g=new Promise(M=>{let v=()=>{p.removeEventListener("load",v),p.removeEventListener("error",L),M()},L=()=>{$({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${E}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:n})}),v()};p.addEventListener("load",v,{once:!0}),p.addEventListener("error",L,{once:!0}),p.sheet&&v()});return I.set(p,g),g},d=(p,E)=>{if(typeof document>"u")return Promise.resolve();let m=document.querySelector(`link[href="${p}"]`);if(m)return E==="style"&&t==="preload"?I.get(m)??Promise.resolve():Promise.resolve();let g=document.createElement("link");g.rel=E==="style"?"stylesheet":"modulepreload",g.href=p,t==="prefetch"&&(g.fetchPriority="low");let M=E==="style"?l(g,p):Promise.resolve();return document.head.appendChild(g),E==="style"&&t==="preload"?M:Promise.resolve()},f=p=>{let E=typeof document<"u"?document.baseURI:void 0,m=new URL(o.entry,E||"http://fulgurjs.invalid/");return!m.pathname.endsWith("/")&&!m.pathname.split("/").pop().includes(".")&&(m.pathname+="/"),new URL(p,m).href};try{if(o.manifestUrl){let p=P.get(o.manifestUrl);p||(p=fetch(o.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(m=>m.ok?m.json():void 0),P.set(o.manifestUrl,p),p.then(m=>{m||P.delete(o.manifestUrl)},()=>P.delete(o.manifestUrl)));let E=await p;if(E){let m=E.schemaVersion;if(typeof m=="number"&&(!Number.isInteger(m)||m>1)){$({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(m)}\\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 d(o.entry,"modulepreload");return}await d(o.entry,"modulepreload");let g=E.exposes,M=Array.isArray(g)?g.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):g&&typeof g=="object"?Object.entries(g):[],v=s?M.filter(([_,k])=>Q(String(k?.name??_))===s):M,L=[];for(let[,_]of v)if(typeof _?.file=="string"&&await d(f(_.file),"modulepreload"),Array.isArray(_?.css))for(let k of _.css){if(typeof k!="string")continue;let Ee=d(f(k),"style");t==="preload"&&L.push(Ee)}await Promise.all(L);return}}await d(o.entry,"modulepreload")}catch(p){$({remote:n,error:new S(R.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${n}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(p?.message??p)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of c)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:ue,registerShare:J,registerRemotes:X,registerRemote:fe,registerPlugins:de,loadShare:me,getLoadedShare:pe,pinLoadedShare:ge,loadRemote:ye,getContainer:Se,preloadRemote:K,parseSpec:D,clearSessionState:ce}}var ne=globalThis,b=ne.__FULGURJS_RUNTIME__??Ue();ne.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var He=ee;function qe(){return b}var Je=b.initSharing,Xe=b.registerShare,Be=b.registerRemotes,We=b.registerRemote,ze=b.registerPlugins,Ye=b.loadShare,Ze=b.getLoadedShare,Qe=b.pinLoadedShare,er=b.loadRemote,rr=b.getContainer,nr=b.preloadRemote,tr=b.parseSpec,or=b.clearSessionState,sr=b.shareScopeMap;function ir(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var ar=b;export{or as clearSessionState,ar as default,rr as getContainer,Ze as getLoadedShare,qe as getRuntime,Je as initSharing,er as loadRemote,Ye as loadShare,tr as parseSpec,Qe as pinLoadedShare,nr as preloadRemote,ze as registerPlugins,We as registerRemote,Be as registerRemotes,Xe as registerShare,b as runtime,sr as shareScopeMap,ir as unwrapDefault,He as version};\n';
2200
2201
 
2201
2202
  // src/index.ts
2202
2203
  function readRuntimeCode() {
@@ -2586,7 +2587,8 @@ export { default } from ${JSON.stringify(url)};
2586
2587
  const isOurVirtual = impClean.startsWith("virtual:fulgurjs-") || impClean.startsWith("\0virtual:fulgurjs-");
2587
2588
  if (!isOurVirtual && !impClean.includes("/node_modules/.vite/") && !state.sharedClosureRoots.some((r) => impClean.startsWith(r.root)) && (state.transformedModules.has(importer) || state.transformedModules.has(impClean))) {
2588
2589
  const hit = state.normalized.shared.find((sh) => sh.aliases.includes(bareClean));
2589
- if (hit) {
2590
+ const providerSelf = hit && state.normalized.remotes.length > 0 && state.providerRoots.some((provider) => impClean.startsWith(provider.root) && provider.shareKey === hit.shareKey);
2591
+ if (hit && !providerSelf) {
2590
2592
  return RESOLVED.sharedNsFacade(hit.shareKey) + query;
2591
2593
  }
2592
2594
  }
@@ -2728,7 +2730,9 @@ export { default } from ${JSON.stringify(url)};
2728
2730
  ${code}`, map: null };
2729
2731
  }
2730
2732
  const isPureRemoteBuild = state.normalized.exposes.length > 0 && state.normalized.remotes.length === 0;
2731
- const allowNodeModules = state.normalized.devSharedSelf || isPureRemoteBuild;
2733
+ const providerCjs = state.command === "build" && /require\s*\(\s*["']/.test(code) && state.providerRoots.some((provider) => clean.startsWith(provider.root));
2734
+ const allowNodeModules = state.normalized.devSharedSelf || isPureRemoteBuild || providerCjs;
2735
+ const cjsClosureRoots = state.sharedClosureRoots.length > 0 || isPureRemoteBuild ? state.sharedClosureRoots : state.providerRoots.map((provider) => ({ root: provider.root, keys: /* @__PURE__ */ new Set([provider.shareKey]) }));
2732
2736
  if (/\.vue(\?|$)/.test(id)) {
2733
2737
  if (state.command === "build" && /type=script/.test(id)) {
2734
2738
  return transformModule(code, id, {
@@ -2737,7 +2741,7 @@ ${code}`, map: null };
2737
2741
  rewriteShared: true,
2738
2742
  allowNodeModules,
2739
2743
  cjsRequireRewrite: true,
2740
- sharedClosureRoots: state.sharedClosureRoots
2744
+ sharedClosureRoots: cjsClosureRoots
2741
2745
  });
2742
2746
  }
2743
2747
  return null;
@@ -2754,7 +2758,7 @@ ${code}`, map: null };
2754
2758
  rewriteShared: state.command === "build" || state.normalized.devSharedSelf,
2755
2759
  allowNodeModules,
2756
2760
  cjsRequireRewrite: state.command === "build",
2757
- sharedClosureRoots: state.sharedClosureRoots
2761
+ sharedClosureRoots: cjsClosureRoots
2758
2762
  });
2759
2763
  },
2760
2764
  transformIndexHtml: {
@@ -2780,6 +2784,19 @@ ${code}`, map: null };
2780
2784
  if (state.command !== "build" || !state.normalized) return;
2781
2785
  const n = state.normalized;
2782
2786
  state.providerRoots = [];
2787
+ const providerRequire = createRequire3(path6.join(n.root, "package.json"));
2788
+ for (const item of n.shared) {
2789
+ if (item.import === false) continue;
2790
+ try {
2791
+ const file = providerRequire.resolve(item.import).replace(/\\/g, "/");
2792
+ const pos = file.lastIndexOf("/node_modules/");
2793
+ if (pos < 0) continue;
2794
+ const parts = file.slice(pos + "/node_modules/".length).split("/");
2795
+ const pkg = parts[0].startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
2796
+ state.providerRoots.push({ root: file.slice(0, pos + "/node_modules/".length) + pkg + "/", shareKey: item.shareKey });
2797
+ } catch {
2798
+ }
2799
+ }
2783
2800
  {
2784
2801
  for (const item of n.shared) {
2785
2802
  if (item.import === false) continue;
@@ -2791,7 +2808,10 @@ ${code}`, map: null };
2791
2808
  if (pos === -1) continue;
2792
2809
  const parts = file.slice(pos + marker.length).split("/");
2793
2810
  const pkg = parts[0].startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
2794
- state.providerRoots.push({ root: file.slice(0, pos + marker.length) + pkg + "/", shareKey: item.shareKey });
2811
+ const root = file.slice(0, pos + marker.length) + pkg + "/";
2812
+ if (!state.providerRoots.some((provider) => provider.root === root && provider.shareKey === item.shareKey)) {
2813
+ state.providerRoots.push({ root, shareKey: item.shareKey });
2814
+ }
2795
2815
  }
2796
2816
  }
2797
2817
  if (state.manualChunkSpecsPending) {
@@ -3177,7 +3197,7 @@ ${entryChunk.code}`;
3177
3197
  }
3178
3198
  }).find((o) => o !== null && /^https?:/.test(o ?? ""));
3179
3199
  if (!remoteOrigin) return html;
3180
- return `<script type="module">import * as __fulgurjs_rr from ${JSON.stringify(`${remoteOrigin}/@react-refresh`)};try { __fulgurjs_rr.default?.injectIntoGlobalHook?.(window); } catch {}window.$RefreshReg$ = () => {};window.$RefreshSig$ = () => (type) => type;(globalThis).${REACT_REFRESH_GLOBAL_KEY} ??= __fulgurjs_rr;</script>` + html;
3200
+ return `<script type="module">import * as __fulgurjs_rr from ${JSON.stringify(`${remoteOrigin}/@react-refresh`)};try { __fulgurjs_rr.default?.injectIntoGlobalHook?.(window); } catch {}window.$RefreshReg$ = () => {};window.$RefreshSig$ = () => (type) => type;window.__vite_plugin_react_preamble_installed__ = true;(globalThis).${REACT_REFRESH_GLOBAL_KEY} ??= __fulgurjs_rr;</script>` + html;
3181
3201
  }
3182
3202
  const lastRef = html.lastIndexOf("/@react-refresh");
3183
3203
  const scriptEnd = html.indexOf("</script>", lastRef);
package/dist/runtime.js CHANGED
@@ -1,22 +1,22 @@
1
- var Re=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function N(a){let c=Re.exec(String(a).trim());return c?{major:Number(c[1]),minor:Number(c[2]??0),patch:Number(c[3]??0),pre:c[4]?c[4].split("."):[]}:null}function we(a,c){if(a.length===0&&c.length===0)return 0;if(a.length===0)return 1;if(c.length===0)return-1;let u=Math.max(a.length,c.length);for(let i=0;i<u;i++){let h=a[i],y=c[i];if(h===void 0)return-1;if(y===void 0)return 1;let w=/^\d+$/.test(h),P=/^\d+$/.test(y);if(w&&P){let I=Number(h)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(h!==y)return h<y?-1:1}}return 0}function T(a,c){let u=N(a),i=N(c);return!u||!i?a<c?-1:a>c?1:0:u.major!==i.major?u.major-i.major:u.minor!==i.minor?u.minor-i.minor:u.patch!==i.patch?u.patch-i.patch:we(u.pre,i.pre)}var be=/^[a-z]+[+:-]/i;function U(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||be.test(u)?!0:u.split("||").some(i=>Pe(a,i.trim()))}function Pe(a,c){if(!c||c==="*")return!N(a)?.pre.length;let u=c.split(/\s+-\s+/);if(u.length===2){let y=u[0].trim(),w=u[1].trim();return!(!U(a,`>=${y}`)||!U(a,`<=${w}`))}let i=N(a);if(!i)return!1;let h=ve(c);if(h===null)return!0;for(let y of h)if(!Oe(i,a,y))return!1;return!(i.pre.length>0&&!h.some(y=>y.ver.pre.length>0)&&!h.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function ve(a){let c=[],u=a.trim().split(/\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let h=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(i);if(!h)return null;let y=h[1],w=h[2],P=$e(y,w);if(P===null)return null;c.push(...P)}return c}function $e(a,c){let u=Me(c);if(!u)return null;let{ver:i,partial:h}=u;switch(a){case"^":{let y=_e(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=h>=2?{major:i.major,minor:i.minor+1,patch:0,pre:[]}:{major:i.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:i},{op:"<",ver:y}]}case">=":return[{op:">=",ver:i}];case">":return h===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return h===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:h===2?[{op:"<",ver:{major:i.major,minor:i.minor,patch:0,pre:[]}}]:[{op:"<",ver:i}];case"<=":return[{op:"<=",ver:i}];case"=":case void 0:return h===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function _e(a){return a.major>0?{major:a.major+1,minor:0,patch:0,pre:[]}:a.minor>0?{major:0,minor:a.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:a.patch+1,pre:[]}}function Me(a){let c=a.replace(/^v/,"").trim();if(!c||c==="*"||c==="x"||c==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let u=c.split("."),i=[],h=0;for(let P of u.slice(0,3))if(/^\d+$/.test(P))i.push(Number(P)),h++;else{if(P==="x"||P==="X"||P==="*")break;break}let y=c.split("-"),w=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return h===0&&w.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:i[0]??0,minor:i[1]??0,patch:i[2]??0,pre:w},partial:h}}function Le(a,c){switch(c){case">=":return a>=0;case">":return a>0;case"<":return a<0;case"<=":return a<=0;case"=":return a===0}}function Oe(a,c,u){let i=`${a.major}.${a.minor}.${a.patch}`+(a.pre.length?`-${a.pre.join(".")}`:"");if(u.upper)return!(!(T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:""))>=0)||!(T(i,`${u.upper.major}.${u.upper.minor}.${u.upper.patch}`)<0));let h=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Le(h,u.op);return u.ver.pre.length>0&&a.pre.length===0&&(u.op===">"||u.op==="<")?!1:y}var S=class extends Error{code;details;constructor(c,u,i,h){super(`[fulgurjs:${c}] ${u}`,h),this.name="FgError",this.code=c,this.details=i}},R={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 Q="5.4.0";var Ie="__fulgurjsSetup",Te="__FULGURJS_APP_CONFIG__",G=15e3,ee=2,xe=5,ke=3e4,je=4e3,Ne=.2;function Ue(){let a=Object.create(null),c=new Map,u=[],i=new Set,h=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),w=new Map,P=new Map,I=new WeakMap,A=new WeakMap,O={},ne=()=>{for(let e of u)try{e.init?.(O)}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)}},C=new Map,F,te=e=>{let r=C.get(e);return r||C.set(e,r={}),r},H=()=>globalThis[Te]??{};async function q(e,r,n,s){let o=l=>l instanceof S?l:new S(R.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${s} \u521D\u59CB\u5316\u5931\u8D25\u3002
1
+ var Re=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function j(a){let c=Re.exec(String(a).trim());return c?{major:Number(c[1]),minor:Number(c[2]??0),patch:Number(c[3]??0),pre:c[4]?c[4].split("."):[]}:null}function we(a,c){if(a.length===0&&c.length===0)return 0;if(a.length===0)return 1;if(c.length===0)return-1;let u=Math.max(a.length,c.length);for(let i=0;i<u;i++){let h=a[i],y=c[i];if(h===void 0)return-1;if(y===void 0)return 1;let w=/^\d+$/.test(h),P=/^\d+$/.test(y);if(w&&P){let I=Number(h)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(h!==y)return h<y?-1:1}}return 0}function T(a,c){let u=j(a),i=j(c);return!u||!i?a<c?-1:a>c?1:0:u.major!==i.major?u.major-i.major:u.minor!==i.minor?u.minor-i.minor:u.patch!==i.patch?u.patch-i.patch:we(u.pre,i.pre)}var be=/^[a-z]+[+:-]/i;function N(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||be.test(u)?!0:u.split("||").some(i=>Pe(a,i.trim()))}function Pe(a,c){if(!c||c==="*")return!j(a)?.pre.length;let u=c.split(/\s+-\s+/);if(u.length===2){let y=u[0].trim(),w=u[1].trim();return!(!N(a,`>=${y}`)||!N(a,`<=${w}`))}let i=j(a);if(!i)return!1;let h=$e(c);if(h===null)return!0;for(let y of h)if(!Oe(i,a,y))return!1;return!(i.pre.length>0&&!h.some(y=>y.ver.pre.length>0)&&!h.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function $e(a){let c=[],u=a.trim().split(/\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let h=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(i);if(!h)return null;let y=h[1],w=h[2],P=ve(y,w);if(P===null)return null;c.push(...P)}return c}function ve(a,c){let u=Me(c);if(!u)return null;let{ver:i,partial:h}=u;switch(a){case"^":{let y=_e(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=h>=2?{major:i.major,minor:i.minor+1,patch:0,pre:[]}:{major:i.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:i},{op:"<",ver:y}]}case">=":return[{op:">=",ver:i}];case">":return h===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return h===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:h===2?[{op:"<",ver:{major:i.major,minor:i.minor,patch:0,pre:[]}}]:[{op:"<",ver:i}];case"<=":return[{op:"<=",ver:i}];case"=":case void 0:return h===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:h===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function _e(a){return a.major>0?{major:a.major+1,minor:0,patch:0,pre:[]}:a.minor>0?{major:0,minor:a.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:a.patch+1,pre:[]}}function Me(a){let c=a.replace(/^v/,"").trim();if(!c||c==="*"||c==="x"||c==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let u=c.split("."),i=[],h=0;for(let P of u.slice(0,3))if(/^\d+$/.test(P))i.push(Number(P)),h++;else{if(P==="x"||P==="X"||P==="*")break;break}let y=c.split("-"),w=y.length>1?y.slice(1).join("-").split("+")[0].split("."):[];return h===0&&w.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:i[0]??0,minor:i[1]??0,patch:i[2]??0,pre:w},partial:h}}function Le(a,c){switch(c){case">=":return a>=0;case">":return a>0;case"<":return a<0;case"<=":return a<=0;case"=":return a===0}}function Oe(a,c,u){let i=`${a.major}.${a.minor}.${a.patch}`+(a.pre.length?`-${a.pre.join(".")}`:"");if(u.upper)return!(!(T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:""))>=0)||!(T(i,`${u.upper.major}.${u.upper.minor}.${u.upper.patch}`)<0));let h=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Le(h,u.op);return u.ver.pre.length>0&&a.pre.length===0&&(u.op===">"||u.op==="<")?!1:y}var S=class extends Error{code;details;constructor(c,u,i,h){super(`[fulgurjs:${c}] ${u}`,h),this.name="FgError",this.code=c,this.details=i}},R={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 ee="5.4.1";var Ie="__fulgurjsSetup",Te="__FULGURJS_APP_CONFIG__",G=15e3,re=2,xe=5,ke=3e4,je=4e3,Ne=.2;function Ue(){let a=Object.create(null),c=new Map,u=[],i=new Set,h=new Map,y=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),w=new Map,P=new Map,I=new WeakMap,U=new WeakMap,O={},te=()=>{for(let e of u)try{e.init?.(O)}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)}},A=new Map,C,oe=e=>{let r=A.get(e);return r||A.set(e,r={}),r},H=()=>globalThis[Te]??{};async function q(e,r,n,s){let o=l=>l instanceof S?l:new S(R.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${s} \u521D\u59CB\u5316\u5931\u8D25\u3002
2
2
  \u539F\u56E0\uFF1A${String(l?.message??l)}
3
- \u4FEE\u6CD5\uFF1A\u68C0\u67E5\u5E76\u4FEE\u590D\u8BE5 ${s} \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:s},{cause:l});F=e;let t;try{t=r(n)}catch(l){throw o(l)}finally{F=void 0}try{await t}catch(l){throw o(l)}}async function oe(e,r,n,s){e.debug.setup="pending";try{if(e.manifestUrl)try{await K(`${e.name}/${n}`)}catch{}let o=await r.get(n),t=o?.default;if(typeof t!="function")throw new S(R.SETUP_INVALID_EXPORT,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 setup \u6A21\u5757 "${n}" \u65E0\u6CD5\u521D\u59CB\u5316\u3002
3
+ \u4FEE\u6CD5\uFF1A\u68C0\u67E5\u5E76\u4FEE\u590D\u8BE5 ${s} \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:s},{cause:l});C=e;let t;try{t=r(n)}catch(l){throw o(l)}finally{C=void 0}try{await t}catch(l){throw o(l)}}async function se(e,r,n,s){e.debug.setup="pending";try{if(e.manifestUrl)try{await K(`${e.name}/${n}`)}catch{}let o=await r.get(n),t=o?.default;if(typeof t!="function")throw new S(R.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 ${o==null?String(o):typeof t}\uFF0C\u5E94\u4E3A\u51FD\u6570\u3002
5
5
  \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(o.onSession!==void 0&&typeof o.onSession!="function")throw new S(R.SETUP_INVALID_EXPORT,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 setup \u6A21\u5757 "${n}" \u65E0\u6CD5\u521D\u59CB\u5316\u3002
6
6
  \u539F\u56E0\uFF1AonSession \u5BFC\u51FA\u7C7B\u578B\u4E3A ${typeof o.onSession}\uFF0C\u5E94\u4E3A\u51FD\u6570\u3002
7
- \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});s.setupExports=o,await q(e.name,t,{appContext:H(),signal:(s.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(o){throw e.debug.setup="failed",s.setupExports=void 0,o}}async function se(e,r,n){let s=H(),o=s?.sessionKey;if(typeof o!="string"||o==="")throw new S(R.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
7
+ \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});s.setupExports=o,await q(e.name,t,{appContext:H(),signal:(s.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(o){throw e.debug.setup="failed",s.setupExports=void 0,o}}async function ie(e,r,n){let s=H(),o=s?.sessionKey;if(typeof o!="string"||o==="")throw new S(R.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
8
8
  \u539F\u56E0\uFF1A\u5F53\u524D\u503C\u4E3A ${o===void 0?"\u7F3A\u5931":JSON.stringify(o)}\u3002
9
- \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===o)return r.sessionPromise;r.controller?.abort();let t=new AbortController;r.controller=t,r.sessionKey=o;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),d=(async()=>{await l,!t.signal.aborted&&await q(e.name,n,{appContext:s,sessionKey:o,signal:t.signal},"onSession")})();return r.sessionPromise=d,d.catch(()=>{r.sessionKey===o&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),d}async function ie(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let s=te(e.name);s.setupPromise||(s.setupPromise=oe(e,r,n,s).catch(t=>{throw s.setupPromise=void 0,t})),await s.setupPromise;let o=s.setupExports?.onSession;typeof o=="function"&&await se(e,s,o)}function ae(){for(let e of C.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let x=e=>a[e]??=Object.create(null);function v(e){try{O.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function ce(e="default"){return x(e),a}function J(e,r,n,s,o={}){let t=x(e||"default"),l=Object.hasOwn(t,r)?t[r]:void 0,d=l&&typeof l=="object"?l:void 0;d||(d=Object.create(null),t[r]=d),!(Object.hasOwn(d,n)&&d[n])&&(d[n]={version:n,get:s,from:o.from??"unknown",eager:!!o.eager,loaded:!!o.loaded})}function ue(e){let r=(n,s,o)=>{if(n===void 0)return;if(!(typeof n=="number"&&(o?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 ${s} \u914D\u7F6E\u65E0\u6548\uFF1A\u5F53\u524D\u4E3A ${String(n)}\uFF0C\u5E94\u4E3A${o?" 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){ue(r);let n=c.get(r.name);c.set(r.name,{timeout:G,retries:ee,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??xe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??ke,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 le(e){X([e])}function fe(e){u.push(...e),h.clear(),ne()}function k(e,r,n=!1){let s=r.shareScope||"default",o=r.shareKey||e,l=x(s)[o]||{},d=Object.keys(l).filter(m=>!n||r.singleton||l[m].value!==void 0);if(n&&d.length===0)return;let f=r.requiredVersion,p=d.filter(m=>f===void 0||f===!1||U(m,f)),E;if(r.singleton&&d.length>0){let m=d.filter(g=>l[g].loaded);if(E=[...m.length?m:d].sort(T).pop(),!p.includes(E)){let g=l[E],M=`\u73B0\u8C61\uFF1A\u5171\u4EAB\u5355\u4F8B "${o}" \u7684\u5B9E\u9645\u7248\u672C\u4E0D\u6EE1\u8DB3\u5F53\u524D\u5E94\u7528\u8981\u6C42\u3002
9
+ \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===o)return r.sessionPromise;r.controller?.abort();let t=new AbortController;r.controller=t,r.sessionKey=o;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),d=(async()=>{await l,!t.signal.aborted&&await q(e.name,n,{appContext:s,sessionKey:o,signal:t.signal},"onSession")})();return r.sessionPromise=d,d.catch(()=>{r.sessionKey===o&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),d}async function ae(e,r){let n=r?.[Ie];if(typeof n!="string"||n==="")return;let s=oe(e.name);s.setupPromise||(s.setupPromise=se(e,r,n,s).catch(t=>{throw s.setupPromise=void 0,t})),await s.setupPromise;let o=s.setupExports?.onSession;typeof o=="function"&&await ie(e,s,o)}function ce(){for(let e of A.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let x=e=>a[e]??=Object.create(null);function $(e){try{O.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function ue(e="default"){return x(e),a}function J(e,r,n,s,o={}){let t=x(e||"default"),l=Object.hasOwn(t,r)?t[r]:void 0,d=l&&typeof l=="object"?l:void 0;d||(d=Object.create(null),t[r]=d),!(Object.hasOwn(d,n)&&d[n])&&(d[n]={version:n,get:s,from:o.from??"unknown",eager:!!o.eager,loaded:!!o.loaded})}function le(e){let r=(n,s,o)=>{if(n===void 0)return;if(!(typeof n=="number"&&(o?Number.isInteger(n)&&n>=0&&n<=10:Number.isFinite(n)&&n>0)))throw new Error(`[fulgurjs] \u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 ${s} \u914D\u7F6E\u65E0\u6548\uFF1A\u5F53\u524D\u4E3A ${String(n)}\uFF0C\u5E94\u4E3A${o?" 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){le(r);let n=c.get(r.name);c.set(r.name,{timeout:G,retries:re,...n,...r,breakerThreshold:r.breaker?.threshold??n?.breakerThreshold??xe,breakerResetMs:r.breaker?.resetMs??n?.breakerResetMs??ke,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 fe(e){X([e])}function de(e){u.push(...e),h.clear(),te()}function F(e,r,n=!1){let s=r.shareScope||"default",o=r.shareKey||e,l=x(s)[o]||{},d=Object.keys(l).filter(m=>!n||r.singleton||l[m].value!==void 0);if(n&&d.length===0)return;let f=r.requiredVersion,p=d.filter(m=>f===void 0||f===!1||N(m,f)),E;if(r.singleton&&d.length>0){let m=d.filter(g=>l[g].loaded);if(E=[...m.length?m:d].sort(T).pop(),!p.includes(E)){let g=l[E],M=`\u73B0\u8C61\uFF1A\u5171\u4EAB\u5355\u4F8B "${o}" \u7684\u5B9E\u9645\u7248\u672C\u4E0D\u6EE1\u8DB3\u5F53\u524D\u5E94\u7528\u8981\u6C42\u3002
10
10
  \u539F\u56E0\uFF1A\u5E94\u7528\u8981\u6C42 ${f??"\u4EFB\u610F\u7248\u672C"}\uFF0C\u4F5C\u7528\u57DF\u4E2D\u6709 ${d.join("\u3001")}\uFF1B\u4E3A\u4FDD\u8BC1\u5168\u9875\u53EA\u4F7F\u7528\u4E00\u4E2A\u5B9E\u4F8B\uFF0C\u6700\u7EC8\u590D\u7528 ${g.from} \u63D0\u4F9B\u7684 ${E}\u3002
11
11
  \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
12
- \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 L=new S(R.SHARE_STRICT_VERSION,M,{shareKey:o,requiredVersion:f});throw v({remote:g.from,error:L}),L}let $=`${s}|${o}|${f??"*"}|${E}|${d.join(",")}`;i.has($)||(i.add($),console.warn(`[fulgurjs:MFU-010] ${M}`))}}else if(E=[...p].sort(T).pop(),!E){if(r.strictVersion){let m=new S(R.SHARE_STRICT_VERSION,`\u73B0\u8C61\uFF1A\u5171\u4EAB\u4F5C\u7528\u57DF "${s}" \u4E2D\u627E\u4E0D\u5230\u7B26\u5408\u8981\u6C42\u7684 "${o}"\u3002
12
+ \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 L=new S(R.SHARE_STRICT_VERSION,M,{shareKey:o,requiredVersion:f});throw $({remote:g.from,error:L}),L}let v=`${s}|${o}|${f??"*"}|${E}|${d.join(",")}`;i.has(v)||(i.add(v),console.warn(`[fulgurjs:MFU-010] ${M}`))}}else if(E=[...p].sort(T).pop(),!E){if(r.strictVersion){let m=new S(R.SHARE_STRICT_VERSION,`\u73B0\u8C61\uFF1A\u5171\u4EAB\u4F5C\u7528\u57DF "${s}" \u4E2D\u627E\u4E0D\u5230\u7B26\u5408\u8981\u6C42\u7684 "${o}"\u3002
13
13
  \u539F\u56E0\uFF1A\u8981\u6C42\u7248\u672C ${f}\uFF0C\u5F53\u524D\u53EF\u7528\u7248\u672C\u4E3A ${d.join("\u3001")||"\u65E0"}\u3002
14
- \u4FEE\u6CD5\uFF1A\u7EDF\u4E00\u5BBF\u4E3B\u4E0E\u8FDC\u7A0B\u7684\u4F9D\u8D56\u7248\u672C\uFF0C\u6216\u4FEE\u6B63 shared.requiredVersion\u3002`);throw v({remote:o,error:m}),m}return}return l[E]}function de(e,r,n){let s=r.localVersion;if(!s||n===void 0)return;let o=r.shareScope||"default",t=r.shareKey||e,l=x(o),d=Object.hasOwn(l,t)?l[t]:void 0;if(d&&Object.keys(d).length>0){try{let p=k(e,r);p&&p.value===void 0&&p.version===s&&(p.value=n,p.loaded=!0)}catch{}return}J(o,t,s,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let f=l[t]?.[s];f&&(f.value=n)}async function me(e,r={}){let n=r.shareScope||"default",s=r.shareKey||e,o=x(n)[s]||{},t=k(e,r);if(!t){if(r.fallback){let p=await r.fallback();return de(e,r,p),p}let f=new S(R.SHARE_NOT_AVAILABLE,`\u73B0\u8C61\uFF1A\u65E0\u6CD5\u52A0\u8F7D\u5171\u4EAB\u4F9D\u8D56 "${s}"\u3002
14
+ \u4FEE\u6CD5\uFF1A\u7EDF\u4E00\u5BBF\u4E3B\u4E0E\u8FDC\u7A0B\u7684\u4F9D\u8D56\u7248\u672C\uFF0C\u6216\u4FEE\u6B63 shared.requiredVersion\u3002`);throw $({remote:o,error:m}),m}return}return l[E]}function B(e,r,n){let s=r.localVersion;if(!s||n===void 0)return;let o=r.shareScope||"default",t=r.shareKey||e,l=x(o),d=Object.hasOwn(l,t)?l[t]:void 0;if(d&&Object.keys(d).length>0){try{let p=F(e,r);p&&p.value===void 0&&p.version===s&&(p.value=n,p.loaded=!0)}catch{}return}J(o,t,s,()=>Promise.resolve(n),{from:"fulgurjs:local-fallback",loaded:!0});let f=l[t]?.[s];f&&(f.value=n)}async function me(e,r={}){let n=r.shareScope||"default",s=r.shareKey||e,o=x(n)[s]||{},t=F(e,r);if(!t){if(r.fallback){let p=await r.fallback();return B(e,r,p),p}let f=new S(R.SHARE_NOT_AVAILABLE,`\u73B0\u8C61\uFF1A\u65E0\u6CD5\u52A0\u8F7D\u5171\u4EAB\u4F9D\u8D56 "${s}"\u3002
15
15
  \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
16
- \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:s,requiredVersion:r.requiredVersion});throw v({remote:s,error:f}),f}if(O.resolveShare){let f=await O.resolveShare({shareKey:s,shareScope:n,requiredVersion:r.requiredVersion,picked:t,available:Object.values(o)});f&&(t=f)}if(t.value!==void 0)return h.set(y(e,r),t),t.value;if(t.loaded=!0,!t.pendingGet)try{t.pendingGet=t.get()}catch(f){t.pendingGet=Promise.reject(f)}let l=t.pendingGet,d;try{d=await l}catch(f){if(t.value!==void 0)return h.set(y(e,r),t),t.value;throw t.loaded=!1,f}finally{t.pendingGet===l&&(t.pendingGet=void 0)}return t.value===void 0&&(t.value=d),h.set(y(e,r),t),t.value}function pe(e,r={}){return O.resolveShare?h.get(y(e,r))?.value:k(e,r,!0)?.value}function ge(e,r,n,s){if(s===void 0)return;let o;try{o=k(e,r)}catch{return}!o||o.value!==void 0||o.version!==n||(o.value=s,o.loaded=!0)}function B(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 W(e,r,n){return new Promise((s,o)=>{let t=setTimeout(()=>o(new Error(`\u7B49\u5F85\u8D85\u8FC7 ${r} \u6BEB\u79D2\uFF1A${n}`)),r);e.then(l=>{clearTimeout(t),s(l)},l=>{clearTimeout(t),o(l)})})}let he=e=>new Promise(r=>setTimeout(r,e));function V(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)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:R.REMOTE_NAME_MISMATCH})}}async function z(e,r){let n=r.entryFailCounts.get(e)??0,s=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,o=r.entryInflight.get(e),t=o??import(s);return o||(r.entryInflight.set(e,t),t.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),W(t,r.timeout??G,`\u52A0\u8F7D\u8FDC\u7A0B\u5165\u53E3 ${B(e)}`)}async function Y(e,r){let n=e.shareScope||"default";if(e.container){let t=A.get(e.container);if(t&&t!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\u8FDC\u7A0B\u5BB9\u5668 "${e.name}" \u5DF2\u4F7F\u7528\u5171\u4EAB\u4F5C\u7528\u57DF "${t}" \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 s=e.breakerState;if(s.openUntil>Date.now()){let t=new S(R.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(s.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 v({remote:e.name,error:t}),t}e.state="loading",e.debug.status="loading";let o=(async()=>{let t=[];if(e.promise)t.push(async()=>{let m=await W(e.promise(),e.timeout??G,`\u89E3\u6790\u52A8\u6001\u8FDC\u7A0B\u5E94\u7528 "${e.name}"`),g=typeof m=="string"?await z(m,e):m;return V(g,e),g});else for(let m of[e.entry,...e.fallback??[]])t.push(async()=>{let g=await z(m,e);return V(g,e),g});let l,d,f=!1,p=r?.retries??e.retries??ee;for(let m of t){for(let g=0;g<=p;g++){let M=performance.now();try{l=await m(),e.lastLoadMs=Math.round(performance.now()-M),e.debug.lastLoadMs=e.lastLoadMs,f=!0;break}catch($){if(d=$,$?.code)throw $;g<p&&await he(Math.min(je,200*2**g)*(1-Ne*(1-2*Math.random())))}}if(f)break}if(!f||!l){let m=B(e.entry),g=[];throw/^https?:\/\//.test(e.entry)&&typeof location<"u"?(g.push(`1. \u5728\u6D4F\u89C8\u5668\u6253\u5F00 ${m}\uFF0C\u786E\u8BA4\u8FDC\u7A0B\u5F00\u53D1\u670D\u52A1\u5DF2\u542F\u52A8\uFF0C\u5E76\u8FD4\u56DE JS \u800C\u975E HTML\u3002`),g.push("2. \u6838\u5BF9 federation({ remotes }) \u4E2D\u7684\u5730\u5740\uFF1B\u5F00\u53D1\u548C\u751F\u4EA7\u5730\u5740\u53EF\u4EE5\u4E0D\u540C\u3002"),g.push("3. \u82E5\u8DE8\u57DF\uFF0C\u68C0\u67E5\u8FDC\u7A0B\u5F00\u53D1\u670D\u52A1\u7684 server.cors \u914D\u7F6E\u3002")):(g.push(`1. \u5728\u6D4F\u89C8\u5668\u6253\u5F00 ${m}\uFF0C\u786E\u8BA4\u8FDC\u7A0B\u5E94\u7528\u5DF2\u90E8\u7F72\uFF0C\u4E14\u5165\u53E3\u8FD4\u56DE JS\u3002`),g.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 S(R.REMOTE_LOAD_FAILED,`\u73B0\u8C61\uFF1A\u65E0\u6CD5\u4ECE ${m} \u52A0\u8F7D\u8FDC\u7A0B\u5E94\u7528 "${e.name}"\u3002
16
+ \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:s,requiredVersion:r.requiredVersion});throw $({remote:s,error:f}),f}if(O.resolveShare){let f=await O.resolveShare({shareKey:s,shareScope:n,requiredVersion:r.requiredVersion,picked:t,available:Object.values(o)});f&&(t=f)}if(t.value!==void 0)return h.set(y(e,r),t),t.value;if(t.loaded=!0,!t.pendingGet)try{t.pendingGet=t.get()}catch(f){t.pendingGet=Promise.reject(f)}let l=t.pendingGet,d;try{d=await l}catch(f){if(t.value!==void 0)return h.set(y(e,r),t),t.value;throw t.loaded=!1,f}finally{t.pendingGet===l&&(t.pendingGet=void 0)}return t.value===void 0&&(t.value=d),h.set(y(e,r),t),t.value}function pe(e,r={}){return O.resolveShare?h.get(y(e,r))?.value:F(e,r,!0)?.value}function ge(e,r,n,s){B(e,{...r,localVersion:n},s)}function W(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((s,o)=>{let t=setTimeout(()=>o(new Error(`\u7B49\u5F85\u8D85\u8FC7 ${r} \u6BEB\u79D2\uFF1A${n}`)),r);e.then(l=>{clearTimeout(t),s(l)},l=>{clearTimeout(t),o(l)})})}let he=e=>new Promise(r=>setTimeout(r,e));function V(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)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:R.REMOTE_NAME_MISMATCH})}}async function Y(e,r){let n=r.entryFailCounts.get(e)??0,s=n>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${n}`:e,o=r.entryInflight.get(e),t=o??import(s);return o||(r.entryInflight.set(e,t),t.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),z(t,r.timeout??G,`\u52A0\u8F7D\u8FDC\u7A0B\u5165\u53E3 ${W(e)}`)}async function Z(e,r){let n=e.shareScope||"default";if(e.container){let t=U.get(e.container);if(t&&t!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\u8FDC\u7A0B\u5BB9\u5668 "${e.name}" \u5DF2\u4F7F\u7528\u5171\u4EAB\u4F5C\u7528\u57DF "${t}" \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 s=e.breakerState;if(s.openUntil>Date.now()){let t=new S(R.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(s.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:t}),t}e.state="loading",e.debug.status="loading";let o=(async()=>{let t=[];if(e.promise)t.push(async()=>{let m=await z(e.promise(),e.timeout??G,`\u89E3\u6790\u52A8\u6001\u8FDC\u7A0B\u5E94\u7528 "${e.name}"`),g=typeof m=="string"?await Y(m,e):m;return V(g,e),g});else for(let m of[e.entry,...e.fallback??[]])t.push(async()=>{let g=await Y(m,e);return V(g,e),g});let l,d,f=!1,p=r?.retries??e.retries??re;for(let m of t){for(let g=0;g<=p;g++){let M=performance.now();try{l=await m(),e.lastLoadMs=Math.round(performance.now()-M),e.debug.lastLoadMs=e.lastLoadMs,f=!0;break}catch(v){if(d=v,v?.code)throw v;g<p&&await he(Math.min(je,200*2**g)*(1-Ne*(1-2*Math.random())))}}if(f)break}if(!f||!l){let m=W(e.entry),g=[];throw/^https?:\/\//.test(e.entry)&&typeof location<"u"?(g.push(`1. \u5728\u6D4F\u89C8\u5668\u6253\u5F00 ${m}\uFF0C\u786E\u8BA4\u8FDC\u7A0B\u5F00\u53D1\u670D\u52A1\u5DF2\u542F\u52A8\uFF0C\u5E76\u8FD4\u56DE JS \u800C\u975E HTML\u3002`),g.push("2. \u6838\u5BF9 federation({ remotes }) \u4E2D\u7684\u5730\u5740\uFF1B\u5F00\u53D1\u548C\u751F\u4EA7\u5730\u5740\u53EF\u4EE5\u4E0D\u540C\u3002"),g.push("3. \u82E5\u8DE8\u57DF\uFF0C\u68C0\u67E5\u8FDC\u7A0B\u5F00\u53D1\u670D\u52A1\u7684 server.cors \u914D\u7F6E\u3002")):(g.push(`1. \u5728\u6D4F\u89C8\u5668\u6253\u5F00 ${m}\uFF0C\u786E\u8BA4\u8FDC\u7A0B\u5E94\u7528\u5DF2\u90E8\u7F72\uFF0C\u4E14\u5165\u53E3\u8FD4\u56DE JS\u3002`),g.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 S(R.REMOTE_LOAD_FAILED,`\u73B0\u8C61\uFF1A\u65E0\u6CD5\u4ECE ${m} \u52A0\u8F7D\u8FDC\u7A0B\u5E94\u7528 "${e.name}"\u3002
17
17
  \u539F\u56E0\uFF1A${String(d?.message??d)}
18
18
  \u4FEE\u6CD5\uFF1A
19
19
  ${g.join(`
20
- `)}`,{remote:e.name})}V(l,e);let E=A.get(l);if(E&&E!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\u8FDC\u7A0B\u5BB9\u5668 "${e.name}" \u5DF2\u4F7F\u7528\u5171\u4EAB\u4F5C\u7528\u57DF "${E}" \u521D\u59CB\u5316\uFF0C\u4E0D\u80FD\u518D\u4EE5 "${n}" \u521D\u59CB\u5316\u3002\u8BF7\u7EDF\u4E00 shareScope \u914D\u7F6E\u3002`);return typeof l.init=="function"&&await l.init(a),A.set(l,n),e.container=l,e.state="loaded",e.debug.status="loaded",s.fails=0,l})();e.containerPromise=o;try{return await o}catch(t){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(t?.message??t),s.fails+=1,s.fails>=e.breakerThreshold&&(s.openUntil=Date.now()+e.breakerResetMs,s.fails=0),t instanceof S)throw v({remote:e.name,error:t}),t;if(t?.code)throw v({remote:e.name,error:t}),t;let l=new S(R.REMOTE_LOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u52A0\u8F7D\u5931\u8D25\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(t?.message??t)}\u3002\u8BF7\u68C0\u67E5\u8FDC\u7A0B\u5165\u53E3\u3001\u7F51\u7EDC\u53CA\u5171\u4EAB\u4F9D\u8D56\u3002`,{remote:e.name});throw v({remote:e.name,error:l}),l}}function D(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:Z(e.slice(r+1))}}function Z(e){return e?e.startsWith(".")?e:`./${e}`:""}async function ye(e,r){let{remote:n,module:s}=D(e);if(s&&F===n)throw new S(R.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
20
+ `)}`,{remote:e.name})}V(l,e);let E=U.get(l);if(E&&E!==n)throw new S(R.CONTAINER_REINIT_CONFLICT,`\u8FDC\u7A0B\u5BB9\u5668 "${e.name}" \u5DF2\u4F7F\u7528\u5171\u4EAB\u4F5C\u7528\u57DF "${E}" \u521D\u59CB\u5316\uFF0C\u4E0D\u80FD\u518D\u4EE5 "${n}" \u521D\u59CB\u5316\u3002\u8BF7\u7EDF\u4E00 shareScope \u914D\u7F6E\u3002`);return typeof l.init=="function"&&await l.init(a),U.set(l,n),e.container=l,e.state="loaded",e.debug.status="loaded",s.fails=0,l})();e.containerPromise=o;try{return await o}catch(t){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(t?.message??t),s.fails+=1,s.fails>=e.breakerThreshold&&(s.openUntil=Date.now()+e.breakerResetMs,s.fails=0),t instanceof S)throw $({remote:e.name,error:t}),t;if(t?.code)throw $({remote:e.name,error:t}),t;let l=new S(R.REMOTE_LOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u52A0\u8F7D\u5931\u8D25\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(t?.message??t)}\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:l}),l}}function D(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:Q(e.slice(r+1))}}function Q(e){return e?e.startsWith(".")?e:`./${e}`:""}async function ye(e,r){let{remote:n,module:s}=D(e);if(s&&C===n)throw new S(R.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
21
21
  \u539F\u56E0\uFF1A\u521D\u59CB\u5316\u5C1A\u672A\u5B8C\u6210\uFF0C\u4E0D\u80FD\u7B49\u5F85\u81EA\u8EAB\u7684\u521D\u59CB\u5316\u7ED3\u679C\u3002
22
- \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{O.beforeLoadRemote?.({remote:n,module:s})}catch(f){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",f)}let o=c.get(n);if(!o)throw new S(R.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 t;try{let f=s&&o.manifestUrl?K(e):Promise.resolve();[t]=await Promise.all([Y(o,{retries:r?.retries}),f])}catch(f){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`,f),v({remote:n,error:f}),await r.fallbackModule();throw f}if(!s)return t;await ie(o,t);let l=`${n}@${o.shareScope||"default"}#${s}`;w.has(l)||w.set(l,t.get(s).catch(f=>{throw w.delete(l),f instanceof S||f?.code?f:new S(R.REMOTE_LOAD_FAILED,`\u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u5E94\u7528 "${n}" \u52A0\u8F7D\u6A21\u5757 "${s}"\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(f?.message??f)}\u3002\u8BF7\u6838\u5BF9 exposes \u952E\u548C\u8FDC\u7A0B\u6784\u5EFA\u4EA7\u7269\u3002`,{remote:n,module:s})}));let d;try{d=await w.get(l)}catch(f){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`,f),v({remote:n,error:f}),await r.fallbackModule();throw f}try{O.afterLoadRemote?.({remote:n,module:s,module_ns:d})}catch(f){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",f)}if(d&&typeof d=="object"&&Object.keys(d).length===0){let f=new S(R.EMPTY_EXPORTS,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684\u6A21\u5757 "${s}" \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:s});v({remote:n,error:f}),console.error(f.message)}return d}function Se(e){let r=c.get(e);if(!r)throw new S(R.REMOTE_UNKNOWN,`\u672A\u77E5\u8FDC\u7A0B\u5E94\u7528 "${e}"\u3002\u8BF7\u5148\u6CE8\u518C\u8BE5\u8FDC\u7A0B\u5E94\u7528\u3002`,{remote:e});return Y(r)}async function K(e,r={}){let{remote:n,module:s}=D(e),o=c.get(n);if(!o)throw new S(R.REMOTE_UNKNOWN,`\u672A\u77E5\u8FDC\u7A0B\u5E94\u7528 "${n}"\u3002\u8BF7\u5148\u6CE8\u518C\u8BE5\u8FDC\u7A0B\u5E94\u7528\u3002`,{remote:n});let t=r.mode??"preload",l=(p,E)=>{if(p.sheet)return Promise.resolve();let m=I.get(p);if(m)return m;let g=new Promise(M=>{let $=()=>{p.removeEventListener("load",$),p.removeEventListener("error",L),M()},L=()=>{v({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684\u6837\u5F0F\u8D44\u6E90\u52A0\u8F7D\u5931\u8D25\uFF1A${E}\u3002\u8BF7\u68C0\u67E5\u6587\u4EF6\u662F\u5426\u5B58\u5728\u4EE5\u53CA\u8DE8\u57DF\u548C\u7F13\u5B58\u914D\u7F6E\u3002`,{remote:n})}),$()};p.addEventListener("load",$,{once:!0}),p.addEventListener("error",L,{once:!0}),p.sheet&&$()});return I.set(p,g),g},d=(p,E)=>{if(typeof document>"u")return Promise.resolve();let m=document.querySelector(`link[href="${p}"]`);if(m)return E==="style"&&t==="preload"?I.get(m)??Promise.resolve():Promise.resolve();let g=document.createElement("link");g.rel=E==="style"?"stylesheet":"modulepreload",g.href=p,t==="prefetch"&&(g.fetchPriority="low");let M=E==="style"?l(g,p):Promise.resolve();return document.head.appendChild(g),E==="style"&&t==="preload"?M:Promise.resolve()},f=p=>{let E=typeof document<"u"?document.baseURI:void 0,m=new URL(o.entry,E||"http://fulgurjs.invalid/");return!m.pathname.endsWith("/")&&!m.pathname.split("/").pop().includes(".")&&(m.pathname+="/"),new URL(p,m).href};try{if(o.manifestUrl){let p=P.get(o.manifestUrl);p||(p=fetch(o.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(m=>m.ok?m.json():void 0),P.set(o.manifestUrl,p),p.then(m=>{m||P.delete(o.manifestUrl)},()=>P.delete(o.manifestUrl)));let E=await p;if(E){let m=E.schemaVersion;if(typeof m=="number"&&(!Number.isInteger(m)||m>1)){v({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684 manifest \u534F\u8BAE\u7248\u672C\u4E3A ${String(m)}\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 d(o.entry,"modulepreload");return}await d(o.entry,"modulepreload");let g=E.exposes,M=Array.isArray(g)?g.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):g&&typeof g=="object"?Object.entries(g):[],$=s?M.filter(([_,j])=>Z(String(j?.name??_))===s):M,L=[];for(let[,_]of $)if(typeof _?.file=="string"&&await d(f(_.file),"modulepreload"),Array.isArray(_?.css))for(let j of _.css){if(typeof j!="string")continue;let Ee=d(f(j),"style");t==="preload"&&L.push(Ee)}await Promise.all(L);return}}await d(o.entry,"modulepreload")}catch(p){v({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u9884\u52A0\u8F7D\u5931\u8D25\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(p?.message??p)}\u3002\u8BF7\u68C0\u67E5 manifest \u548C\u8D44\u6E90\u5730\u5740\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of c)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:ce,registerShare:J,registerRemotes:X,registerRemote:le,registerPlugins:fe,loadShare:me,getLoadedShare:pe,pinLoadedShare:ge,loadRemote:ye,getContainer:Se,preloadRemote:K,parseSpec:D,clearSessionState:ae}}var re=globalThis,b=re.__FULGURJS_RUNTIME__??Ue();re.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var He=Q;function qe(){return b}var Je=b.initSharing,Xe=b.registerShare,Be=b.registerRemotes,We=b.registerRemote,ze=b.registerPlugins,Ye=b.loadShare,Ze=b.getLoadedShare,Qe=b.pinLoadedShare,er=b.loadRemote,rr=b.getContainer,nr=b.preloadRemote,tr=b.parseSpec,or=b.clearSessionState,sr=b.shareScopeMap;function ir(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var ar=b;export{or as clearSessionState,ar as default,rr as getContainer,Ze as getLoadedShare,qe as getRuntime,Je as initSharing,er as loadRemote,Ye as loadShare,tr as parseSpec,Qe as pinLoadedShare,nr as preloadRemote,ze as registerPlugins,We as registerRemote,Be as registerRemotes,Xe as registerShare,b as runtime,sr as shareScopeMap,ir as unwrapDefault,He as version};
22
+ \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{O.beforeLoadRemote?.({remote:n,module:s})}catch(f){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",f)}let o=c.get(n);if(!o)throw new S(R.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 t;try{let f=s&&o.manifestUrl?K(e):Promise.resolve();[t]=await Promise.all([Z(o,{retries:r?.retries}),f])}catch(f){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`,f),$({remote:n,error:f}),await r.fallbackModule();throw f}if(!s)return t;await ae(o,t);let l=`${n}@${o.shareScope||"default"}#${s}`;w.has(l)||w.set(l,t.get(s).catch(f=>{throw w.delete(l),f instanceof S||f?.code?f:new S(R.REMOTE_LOAD_FAILED,`\u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u5E94\u7528 "${n}" \u52A0\u8F7D\u6A21\u5757 "${s}"\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(f?.message??f)}\u3002\u8BF7\u6838\u5BF9 exposes \u952E\u548C\u8FDC\u7A0B\u6784\u5EFA\u4EA7\u7269\u3002`,{remote:n,module:s})}));let d;try{d=await w.get(l)}catch(f){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`,f),$({remote:n,error:f}),await r.fallbackModule();throw f}try{O.afterLoadRemote?.({remote:n,module:s,module_ns:d})}catch(f){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",f)}if(d&&typeof d=="object"&&Object.keys(d).length===0){let f=new S(R.EMPTY_EXPORTS,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684\u6A21\u5757 "${s}" \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:s});$({remote:n,error:f}),console.error(f.message)}return d}function Se(e){let r=c.get(e);if(!r)throw new S(R.REMOTE_UNKNOWN,`\u672A\u77E5\u8FDC\u7A0B\u5E94\u7528 "${e}"\u3002\u8BF7\u5148\u6CE8\u518C\u8BE5\u8FDC\u7A0B\u5E94\u7528\u3002`,{remote:e});return Z(r)}async function K(e,r={}){let{remote:n,module:s}=D(e),o=c.get(n);if(!o)throw new S(R.REMOTE_UNKNOWN,`\u672A\u77E5\u8FDC\u7A0B\u5E94\u7528 "${n}"\u3002\u8BF7\u5148\u6CE8\u518C\u8BE5\u8FDC\u7A0B\u5E94\u7528\u3002`,{remote:n});let t=r.mode??"preload",l=(p,E)=>{if(p.sheet)return Promise.resolve();let m=I.get(p);if(m)return m;let g=new Promise(M=>{let v=()=>{p.removeEventListener("load",v),p.removeEventListener("error",L),M()},L=()=>{$({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684\u6837\u5F0F\u8D44\u6E90\u52A0\u8F7D\u5931\u8D25\uFF1A${E}\u3002\u8BF7\u68C0\u67E5\u6587\u4EF6\u662F\u5426\u5B58\u5728\u4EE5\u53CA\u8DE8\u57DF\u548C\u7F13\u5B58\u914D\u7F6E\u3002`,{remote:n})}),v()};p.addEventListener("load",v,{once:!0}),p.addEventListener("error",L,{once:!0}),p.sheet&&v()});return I.set(p,g),g},d=(p,E)=>{if(typeof document>"u")return Promise.resolve();let m=document.querySelector(`link[href="${p}"]`);if(m)return E==="style"&&t==="preload"?I.get(m)??Promise.resolve():Promise.resolve();let g=document.createElement("link");g.rel=E==="style"?"stylesheet":"modulepreload",g.href=p,t==="prefetch"&&(g.fetchPriority="low");let M=E==="style"?l(g,p):Promise.resolve();return document.head.appendChild(g),E==="style"&&t==="preload"?M:Promise.resolve()},f=p=>{let E=typeof document<"u"?document.baseURI:void 0,m=new URL(o.entry,E||"http://fulgurjs.invalid/");return!m.pathname.endsWith("/")&&!m.pathname.split("/").pop().includes(".")&&(m.pathname+="/"),new URL(p,m).href};try{if(o.manifestUrl){let p=P.get(o.manifestUrl);p||(p=fetch(o.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(m=>m.ok?m.json():void 0),P.set(o.manifestUrl,p),p.then(m=>{m||P.delete(o.manifestUrl)},()=>P.delete(o.manifestUrl)));let E=await p;if(E){let m=E.schemaVersion;if(typeof m=="number"&&(!Number.isInteger(m)||m>1)){$({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u7684 manifest \u534F\u8BAE\u7248\u672C\u4E3A ${String(m)}\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 d(o.entry,"modulepreload");return}await d(o.entry,"modulepreload");let g=E.exposes,M=Array.isArray(g)?g.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):g&&typeof g=="object"?Object.entries(g):[],v=s?M.filter(([_,k])=>Q(String(k?.name??_))===s):M,L=[];for(let[,_]of v)if(typeof _?.file=="string"&&await d(f(_.file),"modulepreload"),Array.isArray(_?.css))for(let k of _.css){if(typeof k!="string")continue;let Ee=d(f(k),"style");t==="preload"&&L.push(Ee)}await Promise.all(L);return}}await d(o.entry,"modulepreload")}catch(p){$({remote:n,error:new S(R.PRELOAD_FAILED,`\u8FDC\u7A0B\u5E94\u7528 "${n}" \u9884\u52A0\u8F7D\u5931\u8D25\u3002\u5E95\u5C42\u539F\u56E0\uFF1A${String(p?.message??p)}\u3002\u8BF7\u68C0\u67E5 manifest \u548C\u8D44\u6E90\u5730\u5740\u3002`,{remote:n})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,n]of c)e[r]={...n.debug,entry:n.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:ue,registerShare:J,registerRemotes:X,registerRemote:fe,registerPlugins:de,loadShare:me,getLoadedShare:pe,pinLoadedShare:ge,loadRemote:ye,getContainer:Se,preloadRemote:K,parseSpec:D,clearSessionState:ce}}var ne=globalThis,b=ne.__FULGURJS_RUNTIME__??Ue();ne.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var He=ee;function qe(){return b}var Je=b.initSharing,Xe=b.registerShare,Be=b.registerRemotes,We=b.registerRemote,ze=b.registerPlugins,Ye=b.loadShare,Ze=b.getLoadedShare,Qe=b.pinLoadedShare,er=b.loadRemote,rr=b.getContainer,nr=b.preloadRemote,tr=b.parseSpec,or=b.clearSessionState,sr=b.shareScopeMap;function ir(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var ar=b;export{or as clearSessionState,ar as default,rr as getContainer,Ze as getLoadedShare,qe as getRuntime,Je as initSharing,er as loadRemote,Ye as loadShare,tr as parseSpec,Qe as pinLoadedShare,nr as preloadRemote,ze as registerPlugins,We as registerRemote,Be as registerRemotes,Xe as registerShare,b as runtime,sr as shareScopeMap,ir as unwrapDefault,He as version};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fulgurjs/federation",
3
- "version": "5.4.0",
3
+ "version": "5.4.1",
4
4
  "type": "module",
5
5
  "description": "Vite Module Federation with full Webpack MF parity. Dev & production, no compromise.",
6
6
  "license": "MIT",