@fulgurjs/federation 5.3.1 → 5.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/index.cjs +4 -3
- package/dist/index.js +4 -3
- package/dist/runtime.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.3.2
|
|
4
|
+
|
|
5
|
+
- **修正:回滚 5.3.1 中「宿主入口 init 注入改为 `import "virtual:fulgurjs-init"`」的实验性变更**——该变更本意是修复 vite 8 生产运行死锁(未成功,vite 8 运行期仍单列 rolldown 上游 BLOCKED),但在大型宿主(jeecg 系,vite 6)生产实测存在破坏地图渲染的风险面。5.3.2 恢复 5.3.0 的「init 代码内联入口模块」形态(原始注释「rollup 会摇树剥离独立模块的顶层调用」仍然成立),其余 5.3.1 修复(同步 CJS-NS 垫片 / BN09 容器封锁 / BN08 getContext 诊断 / publisher 守卫)全部保留。单元 540/540、e2e dev 43 + prod 28 复验通过。
|
|
6
|
+
|
|
3
7
|
## 5.3.1
|
|
4
8
|
|
|
5
9
|
- **修复:Vite 8(rolldown)下 React 联邦生产构建 REQUIRE_TLA 失败**——React 生态的本体为 CJS(`react-dom/cjs/*` 内部 `require("react")`),插件的 CJS require 重定向此前把目标指向与共享协商门面同体的垫片(`await loadShare(...)` 顶层 await 形态);rolldown 按 Node 语义在构建期拒绝「CJS require 含顶层 await 的模块」(vite 5-7 的 rollup 无此限制,属存量兼容缺口,5.2.5 无桥接工程在 vite8 下同样复现)。现在 CJS 垫片改为**同步形态**:运行时新增 `getLoadedShare` 同步查询(loadShare 成功后缓存实例值,已协商加载的实例优先命中,跨端单例语义与 TLA 版 loadShare 对齐),未就绪时直连本应用本体(与 provide/fallback 同一模块,构建期单份 → 实例恒同)。vite 5.1.8/6.4.3/7.3.6/8.3.1 × {vue,react}×{host,remote} 十六个真实工程构建全部通过;`runtime.js` gzip 8812B(门禁 ≤9216B)。**已知边界(如实声明)**:vite 8.3.1 的桥接/React 生产**页面运行**在本轮仍无法通过挂载验收(rolldown 对「TLA 协商门面 × 动态目标透传重定向 × async chunk 强制拆分」的组合行为导致入口求值死锁,插件层六种分组/时序变体均无法完全规避;dev 全功能正常),归因为 rolldown-vite 上游行为,详见验收报告。
|
package/dist/index.cjs
CHANGED
|
@@ -43,7 +43,7 @@ var import_node_fs = __toESM(require("fs"), 1);
|
|
|
43
43
|
var import_node_path = __toESM(require("path"), 1);
|
|
44
44
|
|
|
45
45
|
// src/version.ts
|
|
46
|
-
var RUNTIME_VERSION = "5.3.
|
|
46
|
+
var RUNTIME_VERSION = "5.3.2";
|
|
47
47
|
|
|
48
48
|
// src/dev-cors.ts
|
|
49
49
|
function normalizeDevCorsOrigins(input) {
|
|
@@ -2216,7 +2216,7 @@ function syncViteCacheMarker(root, pluginVersion, log) {
|
|
|
2216
2216
|
}
|
|
2217
2217
|
|
|
2218
2218
|
// src/runtime-code.gen.ts
|
|
2219
|
-
var runtime_code_gen_default = 'var ge=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(p),P=/^\\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.1";var _e="__fulgurjsSetup",Me="__FULGURJS_APP_CONFIG__",D=15e3,z=2,ve=5,Ie=3e4,Oe=4e3,Te=.2;function Le(){let a=Object.create(null),c=new Map,u=[],i=new Set,p=new Map,y=new Map,w=new WeakMap,P=new WeakMap,I={},Z=()=>{for(let e of u)try{e.init?.(I)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,A,Q=e=>{let r=U.get(e);return r||U.set(e,r={}),r},V=()=>globalThis[Me]??{};async function K(e,r,t,n){let s=l=>l instanceof S?l:new S(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${n} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${n} \\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:n},{cause:l});A=e;let o;try{o=r(t)}catch(l){throw s(l)}finally{A=void 0}try{await o}catch(l){throw s(l)}}async function ee(e,r,t,n){e.debug.setup="pending";try{if(e.manifestUrl)try{await F(`${e.name}/${t}`)}catch{}let s=await r.get(t),o=s?.default;if(typeof o!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${s==null?String(s):typeof o}\\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:t});if(s.onSession!==void 0&&typeof s.onSession!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof s.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:t});n.setupExports=s,await K(e.name,o,{appContext:V(),signal:(n.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(s){throw e.debug.setup="failed",n.setupExports=void 0,s}}async function re(e,r,t){let n=V(),s=n?.sessionKey;if(typeof s!="string"||s==="")throw new S(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${s===void 0?"\\u7F3A\\u5931":JSON.stringify(s)}\\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===s)return r.sessionPromise;r.controller?.abort();let o=new AbortController;r.controller=o,r.sessionKey=s;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),m=(async()=>{await l,!o.signal.aborted&&await K(e.name,t,{appContext:n,sessionKey:s,signal:o.signal},"onSession")})();return r.sessionPromise=m,m.catch(()=>{r.sessionKey===s&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),m}async function te(e,r){let t=r?.[_e];if(typeof t!="string"||t==="")return;let n=Q(e.name);n.setupPromise||(n.setupPromise=ee(e,r,t,n).catch(o=>{throw n.setupPromise=void 0,o})),await n.setupPromise;let s=n.setupExports?.onSession;typeof s=="function"&&await re(e,n,s)}function ne(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>a[e]??=Object.create(null);function M(e){try{I.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function oe(e="default"){return L(e),a}function se(e,r,t,n,s={}){let o=L(e||"default"),l=Object.hasOwn(o,r)?o[r]:void 0,m=l&&typeof l=="object"?l:void 0;m||(m=Object.create(null),o[r]=m),!(Object.hasOwn(m,t)&&m[t])&&(m[t]={version:t,get:n,from:s.from??"unknown",eager:!!s.eager,loaded:!!s.loaded})}function ie(e){let r=(t,n,s)=>{if(t===void 0)return;if(!(typeof t=="number"&&(s?Number.isInteger(t)&&t>=0&&t<=10:Number.isFinite(t)&&t>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${n} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(t)}\\uFF0C\\u5E94\\u4E3A${s?" 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 H(e){for(let r of e){ie(r);let t=c.get(r.name);c.set(r.name,{timeout:D,retries:z,...t,...r,breakerThreshold:r.breaker?.threshold??t?.breakerThreshold??ve,breakerResetMs:r.breaker?.resetMs??t?.breakerResetMs??Ie,state:t?.state??"idle",breakerState:t?.breakerState??{fails:0,openUntil:0},entryInflight:t?.entryInflight??new Map,entryFailCounts:t?.entryFailCounts??new Map,debug:t?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function ae(e){H([e])}function ce(e){u.push(...e),Z()}async function ue(e,r={}){let t=r.shareScope||"default",n=r.shareKey||e,o=L(t)[n]||{},l=Object.keys(o),m=r.requiredVersion,h=l.filter(f=>m===void 0||m===!1||k(f,m)),d;if(r.singleton&&l.length>0){let f=l.filter($=>o[$].loaded);if(d=[...f.length?f:l].sort(T).pop(),!h.includes(d)){let $=o[d],v=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${n}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${m??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${l.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${$.from} \\u63D0\\u4F9B\\u7684 ${d}\\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 _=new S(E.SHARE_STRICT_VERSION,v,{shareKey:n,requiredVersion:m});throw M({remote:$.from,error:_}),_}let O=`${t}|${n}|${m??"*"}|${d}|${l.join(",")}`;i.has(O)||(i.add(O),console.warn(`[fulgurjs:MFU-010] ${v}`))}}else if(d=[...h].sort(T).pop(),!d){if(r.strictVersion){let $=new S(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${m}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${l.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 M({remote:n,error:$}),$}if(r.fallback)return r.fallback();let f=new S(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${m??"\\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:n,requiredVersion:m});throw M({remote:n,error:f}),f}let R=o[d];if(I.resolveShare){let f=await I.resolveShare({shareKey:n,shareScope:t,requiredVersion:m,picked:R,available:Object.values(o)});f&&(R=f)}R.loaded=!0;let g=await R.get();return R.value=g,g}function le(e,r={}){let t=r.shareKey||e,n=L(r.shareScope||"default")[t]||{},s=Object.keys(n).filter(o=>n[o].value!==void 0);if(s.length!==0)return n[s.sort(T).pop()].value}function q(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 G(e,r,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${t}`)),r);e.then(l=>{clearTimeout(o),n(l)},l=>{clearTimeout(o),s(l)})})}let fe=e=>new Promise(r=>setTimeout(r,e));function N(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 t=`\\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] ${t} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`);else throw Object.assign(new Error(t),{code:E.REMOTE_NAME_MISMATCH})}}async function J(e,r){let t=r.entryFailCounts.get(e)??0,n=t>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${t}`:e,s=r.entryInflight.get(e),o=s??import(n);return s||(r.entryInflight.set(e,o),o.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),G(o,r.timeout??D,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${q(e)}`)}async function X(e,r){let t=e.shareScope||"default";if(e.container){let o=P.get(e.container);if(o&&o!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let n=e.breakerState;if(n.openUntil>Date.now()){let o=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(n.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 M({remote:e.name,error:o}),o}e.state="loading",e.debug.status="loading";let s=(async()=>{let o=[];if(e.promise)o.push(async()=>{let g=await G(e.promise(),e.timeout??D,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),f=typeof g=="string"?await J(g,e):g;return N(f,e),f});else for(let g of[e.entry,...e.fallback??[]])o.push(async()=>{let f=await J(g,e);return N(f,e),f});let l,m,h=!1,d=r?.retries??e.retries??z;for(let g of o){for(let f=0;f<=d;f++){let $=performance.now();try{l=await g(),e.lastLoadMs=Math.round(performance.now()-$),e.debug.lastLoadMs=e.lastLoadMs,h=!0;break}catch(v){if(m=v,v?.code)throw v;f<d&&await fe(Math.min(Oe,200*2**f)*(1-Te*(1-2*Math.random())))}}if(h)break}if(!h||!l){let g=q(e.entry),f=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),f.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),f.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),f.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(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${g} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\n\\u4FEE\\u6CD5\\uFF1A\n${f.join(`\n`)}`,{remote:e.name})}N(l,e);let R=P.get(l);if(R&&R!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${R}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),P.set(l,t),e.container=l,e.state="loaded",e.debug.status="loaded",n.fails=0,l})();e.containerPromise=s;try{return await s}catch(o){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(o?.message??o),n.fails+=1,n.fails>=e.breakerThreshold&&(n.openUntil=Date.now()+e.breakerResetMs,n.fails=0),o instanceof S)throw M({remote:e.name,error:o}),o;if(o?.code)throw M({remote:e.name,error:o}),o;let l=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(o?.message??o)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw M({remote:e.name,error:l}),l}}function C(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:B(e.slice(r+1))}}function B(e){return e?e.startsWith(".")?e:`./${e}`:""}async function me(e,r){let{remote:t,module:n}=C(e);if(n&&A===t)throw new S(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\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:t});try{I.beforeLoadRemote?.({remote:t,module:n})}catch(h){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",h)}let s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:t});let o;try{let h=n&&s.manifestUrl?F(e):Promise.resolve();[o]=await Promise.all([X(s,{retries:r?.retries}),h])}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}if(!n)return o;await te(s,o);let l=`${t}@${s.shareScope||"default"}#${n}`;p.has(l)||p.set(l,o.get(n).catch(h=>{throw p.delete(l),h instanceof S||h?.code?h:new S(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u52A0\\u8F7D\\u6A21\\u5757 "${n}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(h?.message??h)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:t,module:n})}));let m;try{m=await p.get(l)}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}try{I.afterLoadRemote?.({remote:t,module:n,module_ns:m})}catch(h){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",h)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let h=new S(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6A21\\u5757 "${n}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:t,module:n});M({remote:t,error:h}),console.error(h.message)}return m}function pe(e){let r=c.get(e);if(!r)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return X(r)}async function F(e,r={}){let{remote:t,module:n}=C(e),s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:t});let o=r.mode??"preload",l=(d,R)=>{if(d.sheet)return Promise.resolve();let g=w.get(d);if(g)return g;let f=new Promise($=>{let v=()=>{d.removeEventListener("load",v),d.removeEventListener("error",O),$()},O=()=>{M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${R}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:t})}),v()};d.addEventListener("load",v,{once:!0}),d.addEventListener("error",O,{once:!0}),d.sheet&&v()});return w.set(d,f),f},m=(d,R)=>{if(typeof document>"u")return Promise.resolve();let g=document.querySelector(`link[href="${d}"]`);if(g)return R==="style"&&o==="preload"?w.get(g)??Promise.resolve():Promise.resolve();let f=document.createElement("link");f.rel=R==="style"?"stylesheet":"modulepreload",f.href=d,o==="prefetch"&&(f.fetchPriority="low");let $=R==="style"?l(f,d):Promise.resolve();return document.head.appendChild(f),R==="style"&&o==="preload"?$:Promise.resolve()},h=d=>{let R=typeof document<"u"?document.baseURI:void 0,g=new URL(s.entry,R||"http://fulgurjs.invalid/");return!g.pathname.endsWith("/")&&!g.pathname.split("/").pop().includes(".")&&(g.pathname+="/"),new URL(d,g).href};try{if(s.manifestUrl){let d=y.get(s.manifestUrl);d||(d=fetch(s.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(g=>g.ok?g.json():void 0),y.set(s.manifestUrl,d),d.then(g=>{g||y.delete(s.manifestUrl)},()=>y.delete(s.manifestUrl)));let R=await d;if(R){let g=R.schemaVersion;if(typeof g=="number"&&(!Number.isInteger(g)||g>1)){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(g)}\\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:t})}),await m(s.entry,"modulepreload");return}await m(s.entry,"modulepreload");let f=R.exposes,$=Array.isArray(f)?f.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):f&&typeof f=="object"?Object.entries(f):[],v=n?$.filter(([_,x])=>B(String(x?.name??_))===n):$,O=[];for(let[,_]of v)if(typeof _?.file=="string"&&await m(h(_.file),"modulepreload"),Array.isArray(_?.css))for(let x of _.css){if(typeof x!="string")continue;let de=m(h(x),"style");o==="preload"&&O.push(de)}await Promise.all(O);return}}await m(s.entry,"modulepreload")}catch(d){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:t})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,t]of c)e[r]={...t.debug,entry:t.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:oe,registerShare:se,registerRemotes:H,registerRemote:ae,registerPlugins:ce,loadShare:ue,getLoadedShare:le,loadRemote:me,getContainer:pe,preloadRemote:F,parseSpec:C,clearSessionState:ne}}var Y=globalThis,b=Y.__FULGURJS_RUNTIME__??Le();Y.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var Fe=W;function De(){return b}var Ve=b.initSharing,Ke=b.registerShare,He=b.registerRemotes,qe=b.registerRemote,Ge=b.registerPlugins,Je=b.loadShare,Xe=b.getLoadedShare,Be=b.loadRemote,We=b.getContainer,ze=b.preloadRemote,Ye=b.parseSpec,Ze=b.clearSessionState,Qe=b.shareScopeMap;function er(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var rr=b;export{Ze as clearSessionState,rr as default,We as getContainer,Xe as getLoadedShare,De as getRuntime,Ve as initSharing,Be as loadRemote,Je as loadShare,Ye as parseSpec,ze as preloadRemote,Ge as registerPlugins,qe as registerRemote,He as registerRemotes,Ke as registerShare,b as runtime,Qe as shareScopeMap,er as unwrapDefault,Fe as version};\n';
|
|
2219
|
+
var runtime_code_gen_default = 'var ge=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(p),P=/^\\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.2";var _e="__fulgurjsSetup",Me="__FULGURJS_APP_CONFIG__",D=15e3,z=2,ve=5,Ie=3e4,Oe=4e3,Te=.2;function Le(){let a=Object.create(null),c=new Map,u=[],i=new Set,p=new Map,y=new Map,w=new WeakMap,P=new WeakMap,I={},Z=()=>{for(let e of u)try{e.init?.(I)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,A,Q=e=>{let r=U.get(e);return r||U.set(e,r={}),r},V=()=>globalThis[Me]??{};async function K(e,r,t,n){let s=l=>l instanceof S?l:new S(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${n} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${n} \\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:n},{cause:l});A=e;let o;try{o=r(t)}catch(l){throw s(l)}finally{A=void 0}try{await o}catch(l){throw s(l)}}async function ee(e,r,t,n){e.debug.setup="pending";try{if(e.manifestUrl)try{await F(`${e.name}/${t}`)}catch{}let s=await r.get(t),o=s?.default;if(typeof o!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${s==null?String(s):typeof o}\\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:t});if(s.onSession!==void 0&&typeof s.onSession!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof s.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:t});n.setupExports=s,await K(e.name,o,{appContext:V(),signal:(n.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(s){throw e.debug.setup="failed",n.setupExports=void 0,s}}async function re(e,r,t){let n=V(),s=n?.sessionKey;if(typeof s!="string"||s==="")throw new S(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${s===void 0?"\\u7F3A\\u5931":JSON.stringify(s)}\\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===s)return r.sessionPromise;r.controller?.abort();let o=new AbortController;r.controller=o,r.sessionKey=s;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),m=(async()=>{await l,!o.signal.aborted&&await K(e.name,t,{appContext:n,sessionKey:s,signal:o.signal},"onSession")})();return r.sessionPromise=m,m.catch(()=>{r.sessionKey===s&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),m}async function te(e,r){let t=r?.[_e];if(typeof t!="string"||t==="")return;let n=Q(e.name);n.setupPromise||(n.setupPromise=ee(e,r,t,n).catch(o=>{throw n.setupPromise=void 0,o})),await n.setupPromise;let s=n.setupExports?.onSession;typeof s=="function"&&await re(e,n,s)}function ne(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>a[e]??=Object.create(null);function M(e){try{I.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function oe(e="default"){return L(e),a}function se(e,r,t,n,s={}){let o=L(e||"default"),l=Object.hasOwn(o,r)?o[r]:void 0,m=l&&typeof l=="object"?l:void 0;m||(m=Object.create(null),o[r]=m),!(Object.hasOwn(m,t)&&m[t])&&(m[t]={version:t,get:n,from:s.from??"unknown",eager:!!s.eager,loaded:!!s.loaded})}function ie(e){let r=(t,n,s)=>{if(t===void 0)return;if(!(typeof t=="number"&&(s?Number.isInteger(t)&&t>=0&&t<=10:Number.isFinite(t)&&t>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${n} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(t)}\\uFF0C\\u5E94\\u4E3A${s?" 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 H(e){for(let r of e){ie(r);let t=c.get(r.name);c.set(r.name,{timeout:D,retries:z,...t,...r,breakerThreshold:r.breaker?.threshold??t?.breakerThreshold??ve,breakerResetMs:r.breaker?.resetMs??t?.breakerResetMs??Ie,state:t?.state??"idle",breakerState:t?.breakerState??{fails:0,openUntil:0},entryInflight:t?.entryInflight??new Map,entryFailCounts:t?.entryFailCounts??new Map,debug:t?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function ae(e){H([e])}function ce(e){u.push(...e),Z()}async function ue(e,r={}){let t=r.shareScope||"default",n=r.shareKey||e,o=L(t)[n]||{},l=Object.keys(o),m=r.requiredVersion,h=l.filter(f=>m===void 0||m===!1||k(f,m)),d;if(r.singleton&&l.length>0){let f=l.filter($=>o[$].loaded);if(d=[...f.length?f:l].sort(T).pop(),!h.includes(d)){let $=o[d],v=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${n}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${m??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${l.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${$.from} \\u63D0\\u4F9B\\u7684 ${d}\\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 _=new S(E.SHARE_STRICT_VERSION,v,{shareKey:n,requiredVersion:m});throw M({remote:$.from,error:_}),_}let O=`${t}|${n}|${m??"*"}|${d}|${l.join(",")}`;i.has(O)||(i.add(O),console.warn(`[fulgurjs:MFU-010] ${v}`))}}else if(d=[...h].sort(T).pop(),!d){if(r.strictVersion){let $=new S(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${m}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${l.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 M({remote:n,error:$}),$}if(r.fallback)return r.fallback();let f=new S(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${m??"\\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:n,requiredVersion:m});throw M({remote:n,error:f}),f}let R=o[d];if(I.resolveShare){let f=await I.resolveShare({shareKey:n,shareScope:t,requiredVersion:m,picked:R,available:Object.values(o)});f&&(R=f)}R.loaded=!0;let g=await R.get();return R.value=g,g}function le(e,r={}){let t=r.shareKey||e,n=L(r.shareScope||"default")[t]||{},s=Object.keys(n).filter(o=>n[o].value!==void 0);if(s.length!==0)return n[s.sort(T).pop()].value}function q(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 G(e,r,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${t}`)),r);e.then(l=>{clearTimeout(o),n(l)},l=>{clearTimeout(o),s(l)})})}let fe=e=>new Promise(r=>setTimeout(r,e));function N(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 t=`\\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] ${t} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`);else throw Object.assign(new Error(t),{code:E.REMOTE_NAME_MISMATCH})}}async function J(e,r){let t=r.entryFailCounts.get(e)??0,n=t>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${t}`:e,s=r.entryInflight.get(e),o=s??import(n);return s||(r.entryInflight.set(e,o),o.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),G(o,r.timeout??D,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${q(e)}`)}async function X(e,r){let t=e.shareScope||"default";if(e.container){let o=P.get(e.container);if(o&&o!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let n=e.breakerState;if(n.openUntil>Date.now()){let o=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(n.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 M({remote:e.name,error:o}),o}e.state="loading",e.debug.status="loading";let s=(async()=>{let o=[];if(e.promise)o.push(async()=>{let g=await G(e.promise(),e.timeout??D,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),f=typeof g=="string"?await J(g,e):g;return N(f,e),f});else for(let g of[e.entry,...e.fallback??[]])o.push(async()=>{let f=await J(g,e);return N(f,e),f});let l,m,h=!1,d=r?.retries??e.retries??z;for(let g of o){for(let f=0;f<=d;f++){let $=performance.now();try{l=await g(),e.lastLoadMs=Math.round(performance.now()-$),e.debug.lastLoadMs=e.lastLoadMs,h=!0;break}catch(v){if(m=v,v?.code)throw v;f<d&&await fe(Math.min(Oe,200*2**f)*(1-Te*(1-2*Math.random())))}}if(h)break}if(!h||!l){let g=q(e.entry),f=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),f.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),f.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),f.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(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${g} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\n\\u4FEE\\u6CD5\\uFF1A\n${f.join(`\n`)}`,{remote:e.name})}N(l,e);let R=P.get(l);if(R&&R!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${R}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),P.set(l,t),e.container=l,e.state="loaded",e.debug.status="loaded",n.fails=0,l})();e.containerPromise=s;try{return await s}catch(o){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(o?.message??o),n.fails+=1,n.fails>=e.breakerThreshold&&(n.openUntil=Date.now()+e.breakerResetMs,n.fails=0),o instanceof S)throw M({remote:e.name,error:o}),o;if(o?.code)throw M({remote:e.name,error:o}),o;let l=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(o?.message??o)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw M({remote:e.name,error:l}),l}}function C(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:B(e.slice(r+1))}}function B(e){return e?e.startsWith(".")?e:`./${e}`:""}async function me(e,r){let{remote:t,module:n}=C(e);if(n&&A===t)throw new S(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\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:t});try{I.beforeLoadRemote?.({remote:t,module:n})}catch(h){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",h)}let s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:t});let o;try{let h=n&&s.manifestUrl?F(e):Promise.resolve();[o]=await Promise.all([X(s,{retries:r?.retries}),h])}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}if(!n)return o;await te(s,o);let l=`${t}@${s.shareScope||"default"}#${n}`;p.has(l)||p.set(l,o.get(n).catch(h=>{throw p.delete(l),h instanceof S||h?.code?h:new S(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u52A0\\u8F7D\\u6A21\\u5757 "${n}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(h?.message??h)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:t,module:n})}));let m;try{m=await p.get(l)}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}try{I.afterLoadRemote?.({remote:t,module:n,module_ns:m})}catch(h){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",h)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let h=new S(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6A21\\u5757 "${n}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:t,module:n});M({remote:t,error:h}),console.error(h.message)}return m}function pe(e){let r=c.get(e);if(!r)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return X(r)}async function F(e,r={}){let{remote:t,module:n}=C(e),s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:t});let o=r.mode??"preload",l=(d,R)=>{if(d.sheet)return Promise.resolve();let g=w.get(d);if(g)return g;let f=new Promise($=>{let v=()=>{d.removeEventListener("load",v),d.removeEventListener("error",O),$()},O=()=>{M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${R}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:t})}),v()};d.addEventListener("load",v,{once:!0}),d.addEventListener("error",O,{once:!0}),d.sheet&&v()});return w.set(d,f),f},m=(d,R)=>{if(typeof document>"u")return Promise.resolve();let g=document.querySelector(`link[href="${d}"]`);if(g)return R==="style"&&o==="preload"?w.get(g)??Promise.resolve():Promise.resolve();let f=document.createElement("link");f.rel=R==="style"?"stylesheet":"modulepreload",f.href=d,o==="prefetch"&&(f.fetchPriority="low");let $=R==="style"?l(f,d):Promise.resolve();return document.head.appendChild(f),R==="style"&&o==="preload"?$:Promise.resolve()},h=d=>{let R=typeof document<"u"?document.baseURI:void 0,g=new URL(s.entry,R||"http://fulgurjs.invalid/");return!g.pathname.endsWith("/")&&!g.pathname.split("/").pop().includes(".")&&(g.pathname+="/"),new URL(d,g).href};try{if(s.manifestUrl){let d=y.get(s.manifestUrl);d||(d=fetch(s.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(g=>g.ok?g.json():void 0),y.set(s.manifestUrl,d),d.then(g=>{g||y.delete(s.manifestUrl)},()=>y.delete(s.manifestUrl)));let R=await d;if(R){let g=R.schemaVersion;if(typeof g=="number"&&(!Number.isInteger(g)||g>1)){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(g)}\\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:t})}),await m(s.entry,"modulepreload");return}await m(s.entry,"modulepreload");let f=R.exposes,$=Array.isArray(f)?f.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):f&&typeof f=="object"?Object.entries(f):[],v=n?$.filter(([_,x])=>B(String(x?.name??_))===n):$,O=[];for(let[,_]of v)if(typeof _?.file=="string"&&await m(h(_.file),"modulepreload"),Array.isArray(_?.css))for(let x of _.css){if(typeof x!="string")continue;let de=m(h(x),"style");o==="preload"&&O.push(de)}await Promise.all(O);return}}await m(s.entry,"modulepreload")}catch(d){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:t})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,t]of c)e[r]={...t.debug,entry:t.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:oe,registerShare:se,registerRemotes:H,registerRemote:ae,registerPlugins:ce,loadShare:ue,getLoadedShare:le,loadRemote:me,getContainer:pe,preloadRemote:F,parseSpec:C,clearSessionState:ne}}var Y=globalThis,b=Y.__FULGURJS_RUNTIME__??Le();Y.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var Fe=W;function De(){return b}var Ve=b.initSharing,Ke=b.registerShare,He=b.registerRemotes,qe=b.registerRemote,Ge=b.registerPlugins,Je=b.loadShare,Xe=b.getLoadedShare,Be=b.loadRemote,We=b.getContainer,ze=b.preloadRemote,Ye=b.parseSpec,Ze=b.clearSessionState,Qe=b.shareScopeMap;function er(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var rr=b;export{Ze as clearSessionState,rr as default,We as getContainer,Xe as getLoadedShare,De as getRuntime,Ve as initSharing,Be as loadRemote,Je as loadShare,Ye as parseSpec,ze as preloadRemote,Ge as registerPlugins,qe as registerRemote,He as registerRemotes,Ke as registerShare,b as runtime,Qe as shareScopeMap,er as unwrapDefault,Fe as version};\n';
|
|
2220
2220
|
|
|
2221
2221
|
// src/index.ts
|
|
2222
2222
|
function readRuntimeCode() {
|
|
@@ -2713,7 +2713,8 @@ export { default } from ${JSON.stringify(url)};
|
|
|
2713
2713
|
const clean = id.split("?")[0];
|
|
2714
2714
|
if (state.command === "build" && state.entryAbsPaths.has(clean) && !state.entryInitInjected.has(clean)) {
|
|
2715
2715
|
state.entryInitInjected.add(clean);
|
|
2716
|
-
|
|
2716
|
+
const initCode = genInitModule(state.normalized, state.command);
|
|
2717
|
+
return { code: `${initCode}
|
|
2717
2718
|
${code}`, map: null };
|
|
2718
2719
|
}
|
|
2719
2720
|
const isPureRemoteBuild = state.normalized.exposes.length > 0 && state.normalized.remotes.length === 0;
|
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.3.
|
|
11
|
+
var RUNTIME_VERSION = "5.3.2";
|
|
12
12
|
|
|
13
13
|
// src/dev-cors.ts
|
|
14
14
|
function normalizeDevCorsOrigins(input) {
|
|
@@ -2181,7 +2181,7 @@ function syncViteCacheMarker(root, pluginVersion, log) {
|
|
|
2181
2181
|
}
|
|
2182
2182
|
|
|
2183
2183
|
// src/runtime-code.gen.ts
|
|
2184
|
-
var runtime_code_gen_default = 'var ge=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(p),P=/^\\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.1";var _e="__fulgurjsSetup",Me="__FULGURJS_APP_CONFIG__",D=15e3,z=2,ve=5,Ie=3e4,Oe=4e3,Te=.2;function Le(){let a=Object.create(null),c=new Map,u=[],i=new Set,p=new Map,y=new Map,w=new WeakMap,P=new WeakMap,I={},Z=()=>{for(let e of u)try{e.init?.(I)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,A,Q=e=>{let r=U.get(e);return r||U.set(e,r={}),r},V=()=>globalThis[Me]??{};async function K(e,r,t,n){let s=l=>l instanceof S?l:new S(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${n} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${n} \\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:n},{cause:l});A=e;let o;try{o=r(t)}catch(l){throw s(l)}finally{A=void 0}try{await o}catch(l){throw s(l)}}async function ee(e,r,t,n){e.debug.setup="pending";try{if(e.manifestUrl)try{await F(`${e.name}/${t}`)}catch{}let s=await r.get(t),o=s?.default;if(typeof o!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${s==null?String(s):typeof o}\\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:t});if(s.onSession!==void 0&&typeof s.onSession!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof s.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:t});n.setupExports=s,await K(e.name,o,{appContext:V(),signal:(n.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(s){throw e.debug.setup="failed",n.setupExports=void 0,s}}async function re(e,r,t){let n=V(),s=n?.sessionKey;if(typeof s!="string"||s==="")throw new S(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${s===void 0?"\\u7F3A\\u5931":JSON.stringify(s)}\\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===s)return r.sessionPromise;r.controller?.abort();let o=new AbortController;r.controller=o,r.sessionKey=s;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),m=(async()=>{await l,!o.signal.aborted&&await K(e.name,t,{appContext:n,sessionKey:s,signal:o.signal},"onSession")})();return r.sessionPromise=m,m.catch(()=>{r.sessionKey===s&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),m}async function te(e,r){let t=r?.[_e];if(typeof t!="string"||t==="")return;let n=Q(e.name);n.setupPromise||(n.setupPromise=ee(e,r,t,n).catch(o=>{throw n.setupPromise=void 0,o})),await n.setupPromise;let s=n.setupExports?.onSession;typeof s=="function"&&await re(e,n,s)}function ne(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>a[e]??=Object.create(null);function M(e){try{I.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function oe(e="default"){return L(e),a}function se(e,r,t,n,s={}){let o=L(e||"default"),l=Object.hasOwn(o,r)?o[r]:void 0,m=l&&typeof l=="object"?l:void 0;m||(m=Object.create(null),o[r]=m),!(Object.hasOwn(m,t)&&m[t])&&(m[t]={version:t,get:n,from:s.from??"unknown",eager:!!s.eager,loaded:!!s.loaded})}function ie(e){let r=(t,n,s)=>{if(t===void 0)return;if(!(typeof t=="number"&&(s?Number.isInteger(t)&&t>=0&&t<=10:Number.isFinite(t)&&t>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${n} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(t)}\\uFF0C\\u5E94\\u4E3A${s?" 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 H(e){for(let r of e){ie(r);let t=c.get(r.name);c.set(r.name,{timeout:D,retries:z,...t,...r,breakerThreshold:r.breaker?.threshold??t?.breakerThreshold??ve,breakerResetMs:r.breaker?.resetMs??t?.breakerResetMs??Ie,state:t?.state??"idle",breakerState:t?.breakerState??{fails:0,openUntil:0},entryInflight:t?.entryInflight??new Map,entryFailCounts:t?.entryFailCounts??new Map,debug:t?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function ae(e){H([e])}function ce(e){u.push(...e),Z()}async function ue(e,r={}){let t=r.shareScope||"default",n=r.shareKey||e,o=L(t)[n]||{},l=Object.keys(o),m=r.requiredVersion,h=l.filter(f=>m===void 0||m===!1||k(f,m)),d;if(r.singleton&&l.length>0){let f=l.filter($=>o[$].loaded);if(d=[...f.length?f:l].sort(T).pop(),!h.includes(d)){let $=o[d],v=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${n}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${m??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${l.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${$.from} \\u63D0\\u4F9B\\u7684 ${d}\\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 _=new S(E.SHARE_STRICT_VERSION,v,{shareKey:n,requiredVersion:m});throw M({remote:$.from,error:_}),_}let O=`${t}|${n}|${m??"*"}|${d}|${l.join(",")}`;i.has(O)||(i.add(O),console.warn(`[fulgurjs:MFU-010] ${v}`))}}else if(d=[...h].sort(T).pop(),!d){if(r.strictVersion){let $=new S(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${m}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${l.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 M({remote:n,error:$}),$}if(r.fallback)return r.fallback();let f=new S(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${m??"\\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:n,requiredVersion:m});throw M({remote:n,error:f}),f}let R=o[d];if(I.resolveShare){let f=await I.resolveShare({shareKey:n,shareScope:t,requiredVersion:m,picked:R,available:Object.values(o)});f&&(R=f)}R.loaded=!0;let g=await R.get();return R.value=g,g}function le(e,r={}){let t=r.shareKey||e,n=L(r.shareScope||"default")[t]||{},s=Object.keys(n).filter(o=>n[o].value!==void 0);if(s.length!==0)return n[s.sort(T).pop()].value}function q(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 G(e,r,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${t}`)),r);e.then(l=>{clearTimeout(o),n(l)},l=>{clearTimeout(o),s(l)})})}let fe=e=>new Promise(r=>setTimeout(r,e));function N(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 t=`\\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] ${t} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`);else throw Object.assign(new Error(t),{code:E.REMOTE_NAME_MISMATCH})}}async function J(e,r){let t=r.entryFailCounts.get(e)??0,n=t>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${t}`:e,s=r.entryInflight.get(e),o=s??import(n);return s||(r.entryInflight.set(e,o),o.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),G(o,r.timeout??D,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${q(e)}`)}async function X(e,r){let t=e.shareScope||"default";if(e.container){let o=P.get(e.container);if(o&&o!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let n=e.breakerState;if(n.openUntil>Date.now()){let o=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(n.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 M({remote:e.name,error:o}),o}e.state="loading",e.debug.status="loading";let s=(async()=>{let o=[];if(e.promise)o.push(async()=>{let g=await G(e.promise(),e.timeout??D,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),f=typeof g=="string"?await J(g,e):g;return N(f,e),f});else for(let g of[e.entry,...e.fallback??[]])o.push(async()=>{let f=await J(g,e);return N(f,e),f});let l,m,h=!1,d=r?.retries??e.retries??z;for(let g of o){for(let f=0;f<=d;f++){let $=performance.now();try{l=await g(),e.lastLoadMs=Math.round(performance.now()-$),e.debug.lastLoadMs=e.lastLoadMs,h=!0;break}catch(v){if(m=v,v?.code)throw v;f<d&&await fe(Math.min(Oe,200*2**f)*(1-Te*(1-2*Math.random())))}}if(h)break}if(!h||!l){let g=q(e.entry),f=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),f.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),f.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),f.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(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${g} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\n\\u4FEE\\u6CD5\\uFF1A\n${f.join(`\n`)}`,{remote:e.name})}N(l,e);let R=P.get(l);if(R&&R!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${R}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),P.set(l,t),e.container=l,e.state="loaded",e.debug.status="loaded",n.fails=0,l})();e.containerPromise=s;try{return await s}catch(o){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(o?.message??o),n.fails+=1,n.fails>=e.breakerThreshold&&(n.openUntil=Date.now()+e.breakerResetMs,n.fails=0),o instanceof S)throw M({remote:e.name,error:o}),o;if(o?.code)throw M({remote:e.name,error:o}),o;let l=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(o?.message??o)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw M({remote:e.name,error:l}),l}}function C(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:B(e.slice(r+1))}}function B(e){return e?e.startsWith(".")?e:`./${e}`:""}async function me(e,r){let{remote:t,module:n}=C(e);if(n&&A===t)throw new S(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\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:t});try{I.beforeLoadRemote?.({remote:t,module:n})}catch(h){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",h)}let s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:t});let o;try{let h=n&&s.manifestUrl?F(e):Promise.resolve();[o]=await Promise.all([X(s,{retries:r?.retries}),h])}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}if(!n)return o;await te(s,o);let l=`${t}@${s.shareScope||"default"}#${n}`;p.has(l)||p.set(l,o.get(n).catch(h=>{throw p.delete(l),h instanceof S||h?.code?h:new S(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u52A0\\u8F7D\\u6A21\\u5757 "${n}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(h?.message??h)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:t,module:n})}));let m;try{m=await p.get(l)}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}try{I.afterLoadRemote?.({remote:t,module:n,module_ns:m})}catch(h){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",h)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let h=new S(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6A21\\u5757 "${n}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:t,module:n});M({remote:t,error:h}),console.error(h.message)}return m}function pe(e){let r=c.get(e);if(!r)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return X(r)}async function F(e,r={}){let{remote:t,module:n}=C(e),s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:t});let o=r.mode??"preload",l=(d,R)=>{if(d.sheet)return Promise.resolve();let g=w.get(d);if(g)return g;let f=new Promise($=>{let v=()=>{d.removeEventListener("load",v),d.removeEventListener("error",O),$()},O=()=>{M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${R}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:t})}),v()};d.addEventListener("load",v,{once:!0}),d.addEventListener("error",O,{once:!0}),d.sheet&&v()});return w.set(d,f),f},m=(d,R)=>{if(typeof document>"u")return Promise.resolve();let g=document.querySelector(`link[href="${d}"]`);if(g)return R==="style"&&o==="preload"?w.get(g)??Promise.resolve():Promise.resolve();let f=document.createElement("link");f.rel=R==="style"?"stylesheet":"modulepreload",f.href=d,o==="prefetch"&&(f.fetchPriority="low");let $=R==="style"?l(f,d):Promise.resolve();return document.head.appendChild(f),R==="style"&&o==="preload"?$:Promise.resolve()},h=d=>{let R=typeof document<"u"?document.baseURI:void 0,g=new URL(s.entry,R||"http://fulgurjs.invalid/");return!g.pathname.endsWith("/")&&!g.pathname.split("/").pop().includes(".")&&(g.pathname+="/"),new URL(d,g).href};try{if(s.manifestUrl){let d=y.get(s.manifestUrl);d||(d=fetch(s.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(g=>g.ok?g.json():void 0),y.set(s.manifestUrl,d),d.then(g=>{g||y.delete(s.manifestUrl)},()=>y.delete(s.manifestUrl)));let R=await d;if(R){let g=R.schemaVersion;if(typeof g=="number"&&(!Number.isInteger(g)||g>1)){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(g)}\\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:t})}),await m(s.entry,"modulepreload");return}await m(s.entry,"modulepreload");let f=R.exposes,$=Array.isArray(f)?f.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):f&&typeof f=="object"?Object.entries(f):[],v=n?$.filter(([_,x])=>B(String(x?.name??_))===n):$,O=[];for(let[,_]of v)if(typeof _?.file=="string"&&await m(h(_.file),"modulepreload"),Array.isArray(_?.css))for(let x of _.css){if(typeof x!="string")continue;let de=m(h(x),"style");o==="preload"&&O.push(de)}await Promise.all(O);return}}await m(s.entry,"modulepreload")}catch(d){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:t})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,t]of c)e[r]={...t.debug,entry:t.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:oe,registerShare:se,registerRemotes:H,registerRemote:ae,registerPlugins:ce,loadShare:ue,getLoadedShare:le,loadRemote:me,getContainer:pe,preloadRemote:F,parseSpec:C,clearSessionState:ne}}var Y=globalThis,b=Y.__FULGURJS_RUNTIME__??Le();Y.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var Fe=W;function De(){return b}var Ve=b.initSharing,Ke=b.registerShare,He=b.registerRemotes,qe=b.registerRemote,Ge=b.registerPlugins,Je=b.loadShare,Xe=b.getLoadedShare,Be=b.loadRemote,We=b.getContainer,ze=b.preloadRemote,Ye=b.parseSpec,Ze=b.clearSessionState,Qe=b.shareScopeMap;function er(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var rr=b;export{Ze as clearSessionState,rr as default,We as getContainer,Xe as getLoadedShare,De as getRuntime,Ve as initSharing,Be as loadRemote,Je as loadShare,Ye as parseSpec,ze as preloadRemote,Ge as registerPlugins,qe as registerRemote,He as registerRemotes,Ke as registerShare,b as runtime,Qe as shareScopeMap,er as unwrapDefault,Fe as version};\n';
|
|
2184
|
+
var runtime_code_gen_default = 'var ge=/^v?(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\\d+$/.test(p),P=/^\\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.2";var _e="__fulgurjsSetup",Me="__FULGURJS_APP_CONFIG__",D=15e3,z=2,ve=5,Ie=3e4,Oe=4e3,Te=.2;function Le(){let a=Object.create(null),c=new Map,u=[],i=new Set,p=new Map,y=new Map,w=new WeakMap,P=new WeakMap,I={},Z=()=>{for(let e of u)try{e.init?.(I)}catch(r){console.warn("[fulgurjs] \\u8FD0\\u884C\\u65F6\\u6269\\u5C55\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u8BE5\\u6269\\u5C55\\u5C06\\u4E0D\\u53EF\\u7528\\uFF1A",e.name,r)}},U=new Map,A,Q=e=>{let r=U.get(e);return r||U.set(e,r={}),r},V=()=>globalThis[Me]??{};async function K(e,r,t,n){let s=l=>l instanceof S?l:new S(E.SETUP_RUN_FAILED,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}" \\u7684 ${n} \\u521D\\u59CB\\u5316\\u5931\\u8D25\\u3002\n\\u539F\\u56E0\\uFF1A${String(l?.message??l)}\n\\u4FEE\\u6CD5\\uFF1A\\u68C0\\u67E5\\u5E76\\u4FEE\\u590D\\u8BE5 ${n} \\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:n},{cause:l});A=e;let o;try{o=r(t)}catch(l){throw s(l)}finally{A=void 0}try{await o}catch(l){throw s(l)}}async function ee(e,r,t,n){e.debug.setup="pending";try{if(e.manifestUrl)try{await F(`${e.name}/${t}`)}catch{}let s=await r.get(t),o=s?.default;if(typeof o!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1A\\u9ED8\\u8BA4\\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${s==null?String(s):typeof o}\\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:t});if(s.onSession!==void 0&&typeof s.onSession!="function")throw new S(E.SETUP_INVALID_EXPORT,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 setup \\u6A21\\u5757 "${t}" \\u65E0\\u6CD5\\u521D\\u59CB\\u5316\\u3002\n\\u539F\\u56E0\\uFF1AonSession \\u5BFC\\u51FA\\u7C7B\\u578B\\u4E3A ${typeof s.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:t});n.setupExports=s,await K(e.name,o,{appContext:V(),signal:(n.controller??=new AbortController).signal},"setup"),e.debug.setup="ready"}catch(s){throw e.debug.setup="failed",n.setupExports=void 0,s}}async function re(e,r,t){let n=V(),s=n?.sessionKey;if(typeof s!="string"||s==="")throw new S(E.SETUP_SESSION_KEY_MISSING,`\\u73B0\\u8C61\\uFF1A\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u58F0\\u660E\\u4E86 onSession\\uFF0C\\u4F46\\u5BBF\\u4E3B\\u5C1A\\u672A\\u63D0\\u4F9B\\u6709\\u6548\\u7684 AppContext.sessionKey\\u3002\n\\u539F\\u56E0\\uFF1A\\u5F53\\u524D\\u503C\\u4E3A ${s===void 0?"\\u7F3A\\u5931":JSON.stringify(s)}\\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===s)return r.sessionPromise;r.controller?.abort();let o=new AbortController;r.controller=o,r.sessionKey=s;let l=r.sessionPromise?r.sessionPromise.catch(()=>{}):Promise.resolve(),m=(async()=>{await l,!o.signal.aborted&&await K(e.name,t,{appContext:n,sessionKey:s,signal:o.signal},"onSession")})();return r.sessionPromise=m,m.catch(()=>{r.sessionKey===s&&(r.sessionKey=void 0,r.sessionPromise=void 0)}),m}async function te(e,r){let t=r?.[_e];if(typeof t!="string"||t==="")return;let n=Q(e.name);n.setupPromise||(n.setupPromise=ee(e,r,t,n).catch(o=>{throw n.setupPromise=void 0,o})),await n.setupPromise;let s=n.setupExports?.onSession;typeof s=="function"&&await re(e,n,s)}function ne(){for(let e of U.values()){try{e.controller?.abort()}catch{}e.sessionKey=void 0,e.sessionPromise=void 0}}let L=e=>a[e]??=Object.create(null);function M(e){try{I.onRemoteError?.(e)}catch{}typeof window<"u"&&window.dispatchEvent(new CustomEvent("fulgurjs:error",{detail:e}))}function oe(e="default"){return L(e),a}function se(e,r,t,n,s={}){let o=L(e||"default"),l=Object.hasOwn(o,r)?o[r]:void 0,m=l&&typeof l=="object"?l:void 0;m||(m=Object.create(null),o[r]=m),!(Object.hasOwn(m,t)&&m[t])&&(m[t]={version:t,get:n,from:s.from??"unknown",eager:!!s.eager,loaded:!!s.loaded})}function ie(e){let r=(t,n,s)=>{if(t===void 0)return;if(!(typeof t=="number"&&(s?Number.isInteger(t)&&t>=0&&t<=10:Number.isFinite(t)&&t>0)))throw new Error(`[fulgurjs] \\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u7684 ${n} \\u914D\\u7F6E\\u65E0\\u6548\\uFF1A\\u5F53\\u524D\\u4E3A ${String(t)}\\uFF0C\\u5E94\\u4E3A${s?" 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 H(e){for(let r of e){ie(r);let t=c.get(r.name);c.set(r.name,{timeout:D,retries:z,...t,...r,breakerThreshold:r.breaker?.threshold??t?.breakerThreshold??ve,breakerResetMs:r.breaker?.resetMs??t?.breakerResetMs??Ie,state:t?.state??"idle",breakerState:t?.breakerState??{fails:0,openUntil:0},entryInflight:t?.entryInflight??new Map,entryFailCounts:t?.entryFailCounts??new Map,debug:t?.debug??{entry:r.entry,status:"idle",setup:"none"}})}}function ae(e){H([e])}function ce(e){u.push(...e),Z()}async function ue(e,r={}){let t=r.shareScope||"default",n=r.shareKey||e,o=L(t)[n]||{},l=Object.keys(o),m=r.requiredVersion,h=l.filter(f=>m===void 0||m===!1||k(f,m)),d;if(r.singleton&&l.length>0){let f=l.filter($=>o[$].loaded);if(d=[...f.length?f:l].sort(T).pop(),!h.includes(d)){let $=o[d],v=`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u5355\\u4F8B "${n}" \\u7684\\u5B9E\\u9645\\u7248\\u672C\\u4E0D\\u6EE1\\u8DB3\\u5F53\\u524D\\u5E94\\u7528\\u8981\\u6C42\\u3002\n\\u539F\\u56E0\\uFF1A\\u5E94\\u7528\\u8981\\u6C42 ${m??"\\u4EFB\\u610F\\u7248\\u672C"}\\uFF0C\\u4F5C\\u7528\\u57DF\\u4E2D\\u6709 ${l.join("\\u3001")}\\uFF1B\\u4E3A\\u4FDD\\u8BC1\\u5168\\u9875\\u53EA\\u4F7F\\u7528\\u4E00\\u4E2A\\u5B9E\\u4F8B\\uFF0C\\u6700\\u7EC8\\u590D\\u7528 ${$.from} \\u63D0\\u4F9B\\u7684 ${d}\\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 _=new S(E.SHARE_STRICT_VERSION,v,{shareKey:n,requiredVersion:m});throw M({remote:$.from,error:_}),_}let O=`${t}|${n}|${m??"*"}|${d}|${l.join(",")}`;i.has(O)||(i.add(O),console.warn(`[fulgurjs:MFU-010] ${v}`))}}else if(d=[...h].sort(T).pop(),!d){if(r.strictVersion){let $=new S(E.SHARE_STRICT_VERSION,`\\u73B0\\u8C61\\uFF1A\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u627E\\u4E0D\\u5230\\u7B26\\u5408\\u8981\\u6C42\\u7684 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u8981\\u6C42\\u7248\\u672C ${m}\\uFF0C\\u5F53\\u524D\\u53EF\\u7528\\u7248\\u672C\\u4E3A ${l.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 M({remote:n,error:$}),$}if(r.fallback)return r.fallback();let f=new S(E.SHARE_NOT_AVAILABLE,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u52A0\\u8F7D\\u5171\\u4EAB\\u4F9D\\u8D56 "${n}"\\u3002\n\\u539F\\u56E0\\uFF1A\\u4F5C\\u7528\\u57DF "${t}" \\u4E2D\\u6CA1\\u6709\\u7B26\\u5408 ${m??"\\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:n,requiredVersion:m});throw M({remote:n,error:f}),f}let R=o[d];if(I.resolveShare){let f=await I.resolveShare({shareKey:n,shareScope:t,requiredVersion:m,picked:R,available:Object.values(o)});f&&(R=f)}R.loaded=!0;let g=await R.get();return R.value=g,g}function le(e,r={}){let t=r.shareKey||e,n=L(r.shareScope||"default")[t]||{},s=Object.keys(n).filter(o=>n[o].value!==void 0);if(s.length!==0)return n[s.sort(T).pop()].value}function q(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 G(e,r,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new Error(`\\u7B49\\u5F85\\u8D85\\u8FC7 ${r} \\u6BEB\\u79D2\\uFF1A${t}`)),r);e.then(l=>{clearTimeout(o),n(l)},l=>{clearTimeout(o),s(l)})})}let fe=e=>new Promise(r=>setTimeout(r,e));function N(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 t=`\\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] ${t} \\u5F53\\u524D\\u662F\\u52A8\\u6001 Promise \\u8FDC\\u7A0B\\uFF0C\\u7EE7\\u7EED\\u52A0\\u8F7D\\u3002`);else throw Object.assign(new Error(t),{code:E.REMOTE_NAME_MISMATCH})}}async function J(e,r){let t=r.entryFailCounts.get(e)??0,n=t>0?`${e}${e.includes("?")?"&":"?"}fulgurjs_retry=${t}`:e,s=r.entryInflight.get(e),o=s??import(n);return s||(r.entryInflight.set(e,o),o.catch(()=>{r.entryInflight.delete(e),r.entryFailCounts.set(e,(r.entryFailCounts.get(e)??0)+1)})),G(o,r.timeout??D,`\\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5165\\u53E3 ${q(e)}`)}async function X(e,r){let t=e.shareScope||"default";if(e.container){let o=P.get(e.container);if(o&&o!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${o}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return e.container}if(e.containerPromise)return e.containerPromise;let n=e.breakerState;if(n.openUntil>Date.now()){let o=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u8FDE\\u7EED\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C\\u7194\\u65AD\\u5668\\u5DF2\\u5F00\\u542F\\uFF1B\\u5C06\\u5728 ${new Date(n.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 M({remote:e.name,error:o}),o}e.state="loading",e.debug.status="loading";let s=(async()=>{let o=[];if(e.promise)o.push(async()=>{let g=await G(e.promise(),e.timeout??D,`\\u89E3\\u6790\\u52A8\\u6001\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"`),f=typeof g=="string"?await J(g,e):g;return N(f,e),f});else for(let g of[e.entry,...e.fallback??[]])o.push(async()=>{let f=await J(g,e);return N(f,e),f});let l,m,h=!1,d=r?.retries??e.retries??z;for(let g of o){for(let f=0;f<=d;f++){let $=performance.now();try{l=await g(),e.lastLoadMs=Math.round(performance.now()-$),e.debug.lastLoadMs=e.lastLoadMs,h=!0;break}catch(v){if(m=v,v?.code)throw v;f<d&&await fe(Math.min(Oe,200*2**f)*(1-Te*(1-2*Math.random())))}}if(h)break}if(!h||!l){let g=q(e.entry),f=[];throw/^https?:\\/\\//.test(e.entry)&&typeof location<"u"?(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u5DF2\\u542F\\u52A8\\uFF0C\\u5E76\\u8FD4\\u56DE JS \\u800C\\u975E HTML\\u3002`),f.push("2. \\u6838\\u5BF9 federation({ remotes }) \\u4E2D\\u7684\\u5730\\u5740\\uFF1B\\u5F00\\u53D1\\u548C\\u751F\\u4EA7\\u5730\\u5740\\u53EF\\u4EE5\\u4E0D\\u540C\\u3002"),f.push("3. \\u82E5\\u8DE8\\u57DF\\uFF0C\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5F00\\u53D1\\u670D\\u52A1\\u7684 server.cors \\u914D\\u7F6E\\u3002")):(f.push(`1. \\u5728\\u6D4F\\u89C8\\u5668\\u6253\\u5F00 ${g}\\uFF0C\\u786E\\u8BA4\\u8FDC\\u7A0B\\u5E94\\u7528\\u5DF2\\u90E8\\u7F72\\uFF0C\\u4E14\\u5165\\u53E3\\u8FD4\\u56DE JS\\u3002`),f.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(E.REMOTE_LOAD_FAILED,`\\u73B0\\u8C61\\uFF1A\\u65E0\\u6CD5\\u4ECE ${g} \\u52A0\\u8F7D\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}"\\u3002\n\\u539F\\u56E0\\uFF1A${String(m?.message??m)}\n\\u4FEE\\u6CD5\\uFF1A\n${f.join(`\n`)}`,{remote:e.name})}N(l,e);let R=P.get(l);if(R&&R!==t)throw new S(E.CONTAINER_REINIT_CONFLICT,`\\u8FDC\\u7A0B\\u5BB9\\u5668 "${e.name}" \\u5DF2\\u4F7F\\u7528\\u5171\\u4EAB\\u4F5C\\u7528\\u57DF "${R}" \\u521D\\u59CB\\u5316\\uFF0C\\u4E0D\\u80FD\\u518D\\u4EE5 "${t}" \\u521D\\u59CB\\u5316\\u3002\\u8BF7\\u7EDF\\u4E00 shareScope \\u914D\\u7F6E\\u3002`);return typeof l.init=="function"&&await l.init(a),P.set(l,t),e.container=l,e.state="loaded",e.debug.status="loaded",n.fails=0,l})();e.containerPromise=s;try{return await s}catch(o){if(e.containerPromise=void 0,e.state="failed",e.debug.status="failed",e.debug.error=String(o?.message??o),n.fails+=1,n.fails>=e.breakerThreshold&&(n.openUntil=Date.now()+e.breakerResetMs,n.fails=0),o instanceof S)throw M({remote:e.name,error:o}),o;if(o?.code)throw M({remote:e.name,error:o}),o;let l=new S(E.REMOTE_LOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${e.name}" \\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(o?.message??o)}\\u3002\\u8BF7\\u68C0\\u67E5\\u8FDC\\u7A0B\\u5165\\u53E3\\u3001\\u7F51\\u7EDC\\u53CA\\u5171\\u4EAB\\u4F9D\\u8D56\\u3002`,{remote:e.name});throw M({remote:e.name,error:l}),l}}function C(e){let r=e.indexOf("/");return r===-1?{remote:e,module:""}:{remote:e.slice(0,r),module:B(e.slice(r+1))}}function B(e){return e?e.startsWith(".")?e:`./${e}`:""}async function me(e,r){let{remote:t,module:n}=C(e);if(n&&A===t)throw new S(E.SETUP_RECURSION,`\\u73B0\\u8C61\\uFF1A\\u52A0\\u8F7D "${e}" \\u65F6\\uFF0C\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\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:t});try{I.beforeLoadRemote?.({remote:t,module:n})}catch(h){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",h)}let s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5728 federation({ remotes }) \\u4E2D\\u914D\\u7F6E\\uFF0C\\u6216\\u5728\\u52A0\\u8F7D\\u524D\\u8C03\\u7528 registerRemote()\\u3002`,{remote:t});let o;try{let h=n&&s.manifestUrl?F(e):Promise.resolve();[o]=await Promise.all([X(s,{retries:r?.retries}),h])}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}if(!n)return o;await te(s,o);let l=`${t}@${s.shareScope||"default"}#${n}`;p.has(l)||p.set(l,o.get(n).catch(h=>{throw p.delete(l),h instanceof S||h?.code?h:new S(E.REMOTE_LOAD_FAILED,`\\u65E0\\u6CD5\\u4ECE\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u52A0\\u8F7D\\u6A21\\u5757 "${n}"\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(h?.message??h)}\\u3002\\u8BF7\\u6838\\u5BF9 exposes \\u952E\\u548C\\u8FDC\\u7A0B\\u6784\\u5EFA\\u4EA7\\u7269\\u3002`,{remote:t,module:n})}));let m;try{m=await p.get(l)}catch(h){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`,h),M({remote:t,error:h}),await r.fallbackModule();throw h}try{I.afterLoadRemote?.({remote:t,module:n,module_ns:m})}catch(h){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",h)}if(m&&typeof m=="object"&&Object.keys(m).length===0){let h=new S(E.EMPTY_EXPORTS,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6A21\\u5757 "${n}" \\u6CA1\\u6709\\u4EFB\\u4F55\\u5BFC\\u51FA\\u3002\\u8BF7\\u68C0\\u67E5 exposes \\u6307\\u5411\\u7684\\u6587\\u4EF6\\u53CA\\u5176 export \\u58F0\\u660E\\u3002`,{remote:t,module:n});M({remote:t,error:h}),console.error(h.message)}return m}function pe(e){let r=c.get(e);if(!r)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${e}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:e});return X(r)}async function F(e,r={}){let{remote:t,module:n}=C(e),s=c.get(t);if(!s)throw new S(E.REMOTE_UNKNOWN,`\\u672A\\u77E5\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}"\\u3002\\u8BF7\\u5148\\u6CE8\\u518C\\u8BE5\\u8FDC\\u7A0B\\u5E94\\u7528\\u3002`,{remote:t});let o=r.mode??"preload",l=(d,R)=>{if(d.sheet)return Promise.resolve();let g=w.get(d);if(g)return g;let f=new Promise($=>{let v=()=>{d.removeEventListener("load",v),d.removeEventListener("error",O),$()},O=()=>{M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684\\u6837\\u5F0F\\u8D44\\u6E90\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A${R}\\u3002\\u8BF7\\u68C0\\u67E5\\u6587\\u4EF6\\u662F\\u5426\\u5B58\\u5728\\u4EE5\\u53CA\\u8DE8\\u57DF\\u548C\\u7F13\\u5B58\\u914D\\u7F6E\\u3002`,{remote:t})}),v()};d.addEventListener("load",v,{once:!0}),d.addEventListener("error",O,{once:!0}),d.sheet&&v()});return w.set(d,f),f},m=(d,R)=>{if(typeof document>"u")return Promise.resolve();let g=document.querySelector(`link[href="${d}"]`);if(g)return R==="style"&&o==="preload"?w.get(g)??Promise.resolve():Promise.resolve();let f=document.createElement("link");f.rel=R==="style"?"stylesheet":"modulepreload",f.href=d,o==="prefetch"&&(f.fetchPriority="low");let $=R==="style"?l(f,d):Promise.resolve();return document.head.appendChild(f),R==="style"&&o==="preload"?$:Promise.resolve()},h=d=>{let R=typeof document<"u"?document.baseURI:void 0,g=new URL(s.entry,R||"http://fulgurjs.invalid/");return!g.pathname.endsWith("/")&&!g.pathname.split("/").pop().includes(".")&&(g.pathname+="/"),new URL(d,g).href};try{if(s.manifestUrl){let d=y.get(s.manifestUrl);d||(d=fetch(s.manifestUrl,{cache:"no-cache",signal:AbortSignal.timeout(8e3)}).then(g=>g.ok?g.json():void 0),y.set(s.manifestUrl,d),d.then(g=>{g||y.delete(s.manifestUrl)},()=>y.delete(s.manifestUrl)));let R=await d;if(R){let g=R.schemaVersion;if(typeof g=="number"&&(!Number.isInteger(g)||g>1)){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u7684 manifest \\u534F\\u8BAE\\u7248\\u672C\\u4E3A ${String(g)}\\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:t})}),await m(s.entry,"modulepreload");return}await m(s.entry,"modulepreload");let f=R.exposes,$=Array.isArray(f)?f.filter(_=>_&&typeof _=="object").map(_=>[String(_.name??""),_]):f&&typeof f=="object"?Object.entries(f):[],v=n?$.filter(([_,x])=>B(String(x?.name??_))===n):$,O=[];for(let[,_]of v)if(typeof _?.file=="string"&&await m(h(_.file),"modulepreload"),Array.isArray(_?.css))for(let x of _.css){if(typeof x!="string")continue;let de=m(h(x),"style");o==="preload"&&O.push(de)}await Promise.all(O);return}}await m(s.entry,"modulepreload")}catch(d){M({remote:t,error:new S(E.PRELOAD_FAILED,`\\u8FDC\\u7A0B\\u5E94\\u7528 "${t}" \\u9884\\u52A0\\u8F7D\\u5931\\u8D25\\u3002\\u5E95\\u5C42\\u539F\\u56E0\\uFF1A${String(d?.message??d)}\\u3002\\u8BF7\\u68C0\\u67E5 manifest \\u548C\\u8D44\\u6E90\\u5730\\u5740\\u3002`,{remote:t})})}}return typeof window>"u"||(window.__FULGURJS_SCOPE__=a,window.__FULGURJS_INFO__={get remotes(){let e={};for(let[r,t]of c)e[r]={...t.debug,entry:t.entry};return e},errors:[]}),{shareScopeMap:a,initSharing:oe,registerShare:se,registerRemotes:H,registerRemote:ae,registerPlugins:ce,loadShare:ue,getLoadedShare:le,loadRemote:me,getContainer:pe,preloadRemote:F,parseSpec:C,clearSessionState:ne}}var Y=globalThis,b=Y.__FULGURJS_RUNTIME__??Le();Y.__FULGURJS_RUNTIME__=b;try{Object.freeze(b)}catch{}var Fe=W;function De(){return b}var Ve=b.initSharing,Ke=b.registerShare,He=b.registerRemotes,qe=b.registerRemote,Ge=b.registerPlugins,Je=b.loadShare,Xe=b.getLoadedShare,Be=b.loadRemote,We=b.getContainer,ze=b.preloadRemote,Ye=b.parseSpec,Ze=b.clearSessionState,Qe=b.shareScopeMap;function er(a){if(a&&typeof a=="object"&&"default"in a){let c=a.default;return c!==void 0?c:a}return a}var rr=b;export{Ze as clearSessionState,rr as default,We as getContainer,Xe as getLoadedShare,De as getRuntime,Ve as initSharing,Be as loadRemote,Je as loadShare,Ye as parseSpec,ze as preloadRemote,Ge as registerPlugins,qe as registerRemote,He as registerRemotes,Ke as registerShare,b as runtime,Qe as shareScopeMap,er as unwrapDefault,Fe as version};\n';
|
|
2185
2185
|
|
|
2186
2186
|
// src/index.ts
|
|
2187
2187
|
function readRuntimeCode() {
|
|
@@ -2678,7 +2678,8 @@ export { default } from ${JSON.stringify(url)};
|
|
|
2678
2678
|
const clean = id.split("?")[0];
|
|
2679
2679
|
if (state.command === "build" && state.entryAbsPaths.has(clean) && !state.entryInitInjected.has(clean)) {
|
|
2680
2680
|
state.entryInitInjected.add(clean);
|
|
2681
|
-
|
|
2681
|
+
const initCode = genInitModule(state.normalized, state.command);
|
|
2682
|
+
return { code: `${initCode}
|
|
2682
2683
|
${code}`, map: null };
|
|
2683
2684
|
}
|
|
2684
2685
|
const isPureRemoteBuild = state.normalized.exposes.length > 0 && state.normalized.remotes.length === 0;
|
package/dist/runtime.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ge=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\d+$/.test(p),P=/^\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.
|
|
1
|
+
var ge=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function j(a){let c=ge.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 he(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 p=a[i],y=c[i];if(p===void 0)return-1;if(y===void 0)return 1;let w=/^\d+$/.test(p),P=/^\d+$/.test(y);if(w&&P){let I=Number(p)-Number(y);if(I!==0)return I}else{if(w!==P)return w?-1:1;if(p!==y)return p<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:he(u.pre,i.pre)}var ye=/^[a-z]+[+:-]/i;function k(a,c){if(c===!1||c==null||c==="")return!0;let u=String(c).trim();return!u||u==="*"||u==="latest"||ye.test(u)?!0:u.split("||").some(i=>Se(a,i.trim()))}function Se(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!(!k(a,`>=${y}`)||!k(a,`<=${w}`))}let i=j(a);if(!i)return!1;let p=Ee(c);if(p===null)return!0;for(let y of p)if(!$e(i,a,y))return!1;return!(i.pre.length>0&&!p.some(y=>y.ver.pre.length>0)&&!p.some(w=>w.ver.major===i.major&&w.ver.minor===i.minor&&w.ver.patch===i.patch))}function Ee(a){let c=[],u=a.trim().split(/\s+/).filter(Boolean);if(u.length===0)return null;for(let i of u){let p=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(i);if(!p)return null;let y=p[1],w=p[2],P=Re(y,w);if(P===null)return null;c.push(...P)}return c}function Re(a,c){let u=be(c);if(!u)return null;let{ver:i,partial:p}=u;switch(a){case"^":{let y=we(i);return y?[{op:">=",ver:i},{op:"<",ver:y}]:null}case"~":{let y=p>=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 p===1?[{op:">=",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:">",ver:i}];case"<":return p===1?[{op:"<",ver:{major:i.major,minor:0,patch:0,pre:[]}}]:p===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 p===1?[{op:">=",ver:i},{op:"<",ver:{major:i.major+1,minor:0,patch:0,pre:[]}}]:p===2?[{op:">=",ver:i},{op:"<",ver:{major:i.major,minor:i.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:i}];default:return null}}function we(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 be(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=[],p=0;for(let P of u.slice(0,3))if(/^\d+$/.test(P))i.push(Number(P)),p++;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 p===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:p}}function Pe(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 $e(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 p=T(i,`${u.ver.major}.${u.ver.minor}.${u.ver.patch}`+(u.ver.pre.length?`-${u.ver.pre.join(".")}`:"")),y=Pe(p,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,p){super(`[fulgurjs:${c}] ${u}`,p),this.name="FgError",this.code=c,this.details=i}},E={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014"};var W="5.3.2";var _e="__fulgurjsSetup",Me="__FULGURJS_APP_CONFIG__",D=15e3,z=2,ve=5,Ie=3e4,Oe=4e3,Te=.2;function Le(){let a=Object.create(null),c=new Map,u=[],i=new Set,p=new Map,y=new Map,w=new WeakMap,P=new WeakMap,I={},Z=()=>{for(let e of u)try{e.init?.(I)}catch(r){console.warn("[fulgurjs] \u8FD0\u884C\u65F6\u6269\u5C55\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BE5\u6269\u5C55\u5C06\u4E0D\u53EF\u7528\uFF1A",e.name,r)}},U=new Map,A,Q=e=>{let r=U.get(e);return r||U.set(e,r={}),r},V=()=>globalThis[Me]??{};async function K(e,r,t,n){let s=l=>l instanceof S?l:new S(E.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${n} \u521D\u59CB\u5316\u5931\u8D25\u3002
|
|
2
2
|
\u539F\u56E0\uFF1A${String(l?.message??l)}
|
|
3
3
|
\u4FEE\u6CD5\uFF1A\u68C0\u67E5\u5E76\u4FEE\u590D\u8BE5 ${n} \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:n},{cause:l});A=e;let o;try{o=r(t)}catch(l){throw s(l)}finally{A=void 0}try{await o}catch(l){throw s(l)}}async function ee(e,r,t,n){e.debug.setup="pending";try{if(e.manifestUrl)try{await F(`${e.name}/${t}`)}catch{}let s=await r.get(t),o=s?.default;if(typeof o!="function")throw new S(E.SETUP_INVALID_EXPORT,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 setup \u6A21\u5757 "${t}" \u65E0\u6CD5\u521D\u59CB\u5316\u3002
|
|
4
4
|
\u539F\u56E0\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u7C7B\u578B\u4E3A ${s==null?String(s):typeof o}\uFF0C\u5E94\u4E3A\u51FD\u6570\u3002
|