@fulgurjs/federation 6.14.3 → 6.14.4

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/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- var ke=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function C(c){let d=ke.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function Oe(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\d+$/.test(m),P=/^\d+$/.test(S);if(b&&P){let A=Number(m)-Number(S);if(A!==0)return A}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function x(c,d){let f=C(c),l=C(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:Oe(f.pre,l.pre)}var Me=/^[a-z]+[+:-]/i;function U(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Me.test(f)?!0:f.split("||").some(l=>Te(c,l.trim()))}function Te(c,d){if(!d||d==="*")return!C(c)?.pre.length;let f=d.split(/\s+-\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!U(c,`>=${S}`)||!U(c,`<=${b}`))}let l=C(c);if(!l)return!1;let m=Le(d);if(m===null)return!0;for(let S of m)if(!je(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Le(c){let d=[],f=c.trim().split(/\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Ae(S,b);if(P===null)return null;d.push(...P)}return d}function Ae(c,d){let f=xe(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Ie(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Ie(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function xe(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ue(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function je(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(x(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ue(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}function F(c){return c.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g,"$1$2")}function M(c){return F(String(c?.message??c)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi,"$1=[redacted]")}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${F(f)}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function ie(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var ae="6.14.3";var Ne="__fulgurjsSetup",Ce="__FULGURJS_APP_CONFIG__",J=15e3,ce=2,Fe=5,Ve=3e4,De=4e3,Ke=.2;function qe(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,A=new WeakMap,V=new WeakMap,W=(e,r)=>{console.warn(`[fulgurjs] ${e} \u94A9\u5B50\u5931\u8D25\uFF08\u4E0D\u5F71\u54CD\u52A0\u8F7D\uFF09\uFF0C\u8BF7\u68C0\u67E5\uFF1A`,M(r))},_={},ue=()=>{for(let e of f)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \u6269\u5C55\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\uFF1A",e.name,M(r))}},D=new Map,K,q=e=>{let r=D.get(e);return r||D.set(e,r={}),r},z=()=>globalThis[Ce]??{};async function Y(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${o} \u521D\u59CB\u5316\u5931\u8D25\u3002
1
+ var ke=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.-]+)?$/;function C(c){let d=ke.exec(String(c).trim());return d?{major:Number(d[1]),minor:Number(d[2]??0),patch:Number(d[3]??0),pre:d[4]?d[4].split("."):[]}:null}function Oe(c,d){if(c.length===0&&d.length===0)return 0;if(c.length===0)return 1;if(d.length===0)return-1;let f=Math.max(c.length,d.length);for(let l=0;l<f;l++){let m=c[l],S=d[l];if(m===void 0)return-1;if(S===void 0)return 1;let b=/^\d+$/.test(m),P=/^\d+$/.test(S);if(b&&P){let A=Number(m)-Number(S);if(A!==0)return A}else{if(b!==P)return b?-1:1;if(m!==S)return m<S?-1:1}}return 0}function x(c,d){let f=C(c),l=C(d);return!f||!l?c<d?-1:c>d?1:0:f.major!==l.major?f.major-l.major:f.minor!==l.minor?f.minor-l.minor:f.patch!==l.patch?f.patch-l.patch:Oe(f.pre,l.pre)}var Me=/^[a-z]+[+:-]/i;function U(c,d){if(d===!1||d==null||d==="")return!0;let f=String(d).trim();return!f||f==="*"||f==="latest"||Me.test(f)?!0:f.split("||").some(l=>Te(c,l.trim()))}function Te(c,d){if(!d||d==="*")return!C(c)?.pre.length;let f=d.split(/\s+-\s+/);if(f.length===2){let S=f[0].trim(),b=f[1].trim();return!(!U(c,`>=${S}`)||!U(c,`<=${b}`))}let l=C(c);if(!l)return!1;let m=Le(d);if(m===null)return!0;for(let S of m)if(!je(l,c,S))return!1;return!(l.pre.length>0&&!m.some(S=>S.ver.pre.length>0)&&!m.some(b=>b.ver.major===l.major&&b.ver.minor===l.minor&&b.ver.patch===l.patch))}function Le(c){let d=[],f=c.trim().split(/\s+/).filter(Boolean);if(f.length===0)return null;for(let l of f){let m=/^(>=|<=|>|<|=|\^|~)?(.*)$/.exec(l);if(!m)return null;let S=m[1],b=m[2],P=Ae(S,b);if(P===null)return null;d.push(...P)}return d}function Ae(c,d){let f=xe(d);if(!f)return null;let{ver:l,partial:m}=f;switch(c){case"^":{let S=Ie(l);return S?[{op:">=",ver:l},{op:"<",ver:S}]:null}case"~":{let S=m>=2?{major:l.major,minor:l.minor+1,patch:0,pre:[]}:{major:l.major+1,minor:0,patch:0,pre:[]};return[{op:">=",ver:l},{op:"<",ver:S}]}case">=":return[{op:">=",ver:l}];case">":return m===1?[{op:">=",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:">",ver:l}];case"<":return m===1?[{op:"<",ver:{major:l.major,minor:0,patch:0,pre:[]}}]:m===2?[{op:"<",ver:{major:l.major,minor:l.minor,patch:0,pre:[]}}]:[{op:"<",ver:l}];case"<=":return[{op:"<=",ver:l}];case"=":case void 0:return m===1?[{op:">=",ver:l},{op:"<",ver:{major:l.major+1,minor:0,patch:0,pre:[]}}]:m===2?[{op:">=",ver:l},{op:"<",ver:{major:l.major,minor:l.minor+1,patch:0,pre:[]}}]:[{op:"=",ver:l}];default:return null}}function Ie(c){return c.major>0?{major:c.major+1,minor:0,patch:0,pre:[]}:c.minor>0?{major:0,minor:c.minor+1,patch:0,pre:[]}:{major:0,minor:0,patch:c.patch+1,pre:[]}}function xe(c){let d=c.replace(/^v/,"").trim();if(!d||d==="*"||d==="x"||d==="X")return{ver:{major:0,minor:0,patch:0,pre:[]},partial:0};let f=d.split("."),l=[],m=0;for(let P of f.slice(0,3))if(/^\d+$/.test(P))l.push(Number(P)),m++;else{if(P==="x"||P==="X"||P==="*")break;break}let S=d.split("-"),b=S.length>1?S.slice(1).join("-").split("+")[0].split("."):[];return m===0&&b.length===0?{ver:{major:0,minor:0,patch:0,pre:[]},partial:0}:{ver:{major:l[0]??0,minor:l[1]??0,patch:l[2]??0,pre:b},partial:m}}function Ue(c,d){switch(d){case">=":return c>=0;case">":return c>0;case"<":return c<0;case"<=":return c<=0;case"=":return c===0}}function je(c,d,f){let l=`${c.major}.${c.minor}.${c.patch}`+(c.pre.length?`-${c.pre.join(".")}`:"");if(f.upper)return!(!(x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:""))>=0)||!(x(l,`${f.upper.major}.${f.upper.minor}.${f.upper.patch}`)<0));let m=x(l,`${f.ver.major}.${f.ver.minor}.${f.ver.patch}`+(f.ver.pre.length?`-${f.ver.pre.join(".")}`:"")),S=Ue(m,f.op);return f.ver.pre.length>0&&c.pre.length===0&&(f.op===">"||f.op==="<")?!1:S}function F(c){return c.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g,"$1$2")}function M(c){return F(String(c?.message??c)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi,"$1=[redacted]")}var E=class extends Error{code;details;constructor(d,f,l,m){super(`[fulgurjs:${d}] ${F(f)}`,m),this.name="FgError",this.code=d,this.details=l}},R={REMOTE_LOAD_FAILED:"MFU-001",REMOTE_NAME_MISMATCH:"MFU-002",SHARE_STRICT_VERSION:"MFU-003",SHARE_NOT_AVAILABLE:"MFU-004",CONTAINER_REINIT_CONFLICT:"MFU-005",MODULE_NOT_EXPOSED:"MFU-006",PRELOAD_FAILED:"MFU-007",REMOTE_UNKNOWN:"MFU-008",EMPTY_EXPORTS:"MFU-009",SINGLETON_SKEW:"MFU-010",SETUP_INVALID_EXPORT:"MFU-011",SETUP_RUN_FAILED:"MFU-012",SETUP_SESSION_KEY_MISSING:"MFU-013",SETUP_RECURSION:"MFU-014",COMPONENT_EXPORT_INVALID:"MFU-018",VUE_RUNTIME_IDENTITY_MISMATCH:"MFU-019",REMOTE_RENDER_ERROR:"MFU-020"};function ie(c){if(typeof c!="object"||c===null)return!1;let d=globalThis,f=d.__FULGURJS_REPORTED_ERRORS__??=new WeakSet;return f.has(c)?!0:(f.add(c),!1)}var ae="6.14.4";var Ne="__fulgurjsSetup",Ce="__FULGURJS_APP_CONFIG__",J=15e3,ce=2,Fe=5,Ve=3e4,De=4e3,Ke=.2;function qe(){let c=Object.create(null),d=new Map,f=[],l=new Set,m=new Map,S=(e,r)=>JSON.stringify([r.shareScope||"default",r.shareKey||e,r.requiredVersion??null,!!r.singleton,!!r.strictVersion]),b=new Map,P=new Map,A=new WeakMap,V=new WeakMap,W=(e,r)=>{console.warn(`[fulgurjs] ${e} \u94A9\u5B50\u5931\u8D25\uFF08\u4E0D\u5F71\u54CD\u52A0\u8F7D\uFF09\uFF0C\u8BF7\u68C0\u67E5\uFF1A`,M(r))},_={},ue=()=>{for(let e of f)try{e.init?.(_)}catch(r){console.warn("[fulgurjs] \u6269\u5C55\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\uFF1A",e.name,M(r))}},D=new Map,K,q=e=>{let r=D.get(e);return r||D.set(e,r={}),r},z=()=>globalThis[Ce]??{};async function Y(e,r,n,o){let t=u=>{if(u instanceof E)return v({remote:e,error:u}),u;let a=new E(R.SETUP_RUN_FAILED,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e}" \u7684 ${o} \u521D\u59CB\u5316\u5931\u8D25\u3002
2
2
  \u539F\u56E0\uFF1A${M(u)}
3
3
  \u4FEE\u6CD5\uFF1A\u68C0\u67E5\u5E76\u4FEE\u590D\u8BE5 ${o} \u51FD\u6570\u540E\u91CD\u65B0\u52A0\u8F7D\uFF1B\u5931\u8D25\u7F13\u5B58\u5DF2\u6E05\u9664\uFF0C\u53EF\u4EE5\u76F4\u63A5\u91CD\u8BD5\u3002`,{remote:e,phase:o},{cause:u});return v({remote:e,error:a}),a};K=e;let s;try{s=r(n)}catch(u){throw t(u)}finally{K=void 0}try{await s}catch(u){throw t(u)}}async function de(e,r,n,o){e.debug.setup="pending";try{if(e.manifestUrl)try{await B(`${e.name}/${n}`)}catch{}let t=await r.get(n),s=t?.default,u=t?.onSession!==void 0||t?.globalComponents!==void 0||t?.pageProviders!==void 0;if(s!==void 0&&typeof s!="function"||!s&&!u)throw new E(R.SETUP_INVALID_EXPORT,`\u73B0\u8C61\uFF1A\u8FDC\u7A0B\u5E94\u7528 "${e.name}" \u7684 setup \u6A21\u5757 "${n}" \u65E0\u6CD5\u521D\u59CB\u5316\u3002
4
4
  \u539F\u56E0\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u7C7B\u578B\u4E3A ${t==null?String(t):typeof s}\uFF0C\u4E14\u6A21\u5757\u4E0D\u6EE1\u8DB3\u521D\u59CB\u5316\u58F0\u660E\u5951\u7EA6\u3002
@@ -550,6 +550,8 @@ Remote types are on by default (`dts: true`). The chain is **provider generates
550
550
 
551
551
  When local dev consumes a deployed remote, types come from the manifest beside the complete production `.js` entry configured in `remotes[alias].dev`, using the same provider as the module. No provider dev server is required. The browser loads JS; the consumer Node development process downloads declarations, so verify network access for each. See the [complete configuration and workflow](../guide/components-and-modules.md#local-development-against-a-deployed-remote).
552
552
 
553
+ Providers automatically generate expandable views for exported non-generic data objects. Direct type imports can show inherited fields in both type-name and parameter-variable hovers while retaining readonly, optionality and field documentation. Advanced signatures are preserved. See [direct-import field display](../guide/components-and-modules.md#direct-imports-must-also-show-fields-on-hover) for scope and acceptance.
554
+
553
555
  ### Entry checks for the string APIs (type registry)
554
556
 
555
557
  `loadRemote`, `remoteComponent`, `createVueBridgeApp` and `createReactBridgeApp` share one registry (`FgRemoteTypes`, populated by the synced output) with plain imports:
@@ -546,6 +546,8 @@ export const bridgeSession = createBridgeSession()
546
546
 
547
547
  本地 dev 消费已部署远程时,类型来自 `remotes[别名].dev` 指定的完整生产 `.js` 入口对应的 manifest,与模块使用同一提供方;不要求提供方启动 dev。JS 由浏览器加载,声明由消费方 Node 开发进程下载,网络权限分别核对。详见[配置与完整流程](../guide/components-and-modules.md#本地开发消费已部署远程)。
548
548
 
549
+ 提供方对公开的非泛型数据对象自动生成可展开字段视图,消费方直接 import type 后,类型名和参数变量悬停可展示继承字段;readonly、可选项和字段说明保留。高级签名不强行改写,适用范围与双位置 IDE 验收见[直接导入的字段展示](../guide/components-and-modules.md#直接导入时悬停也应能看到字段)。
550
+
549
551
  ### 字符串 API 的入口检查(类型注册表)
550
552
 
551
553
  `loadRemote`、`remoteComponent`、`createVueBridgeApp`、`createReactBridgeApp` 与普通 import 共用同一份注册表类型(`FgRemoteTypes`,由同步产物登记):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fulgurjs/federation",
3
- "version": "6.14.3",
3
+ "version": "6.14.4",
4
4
  "type": "module",
5
5
  "description": "Vite Module Federation for Vue and React: remote modules, shared dependencies and app bridges.",
6
6
  "license": "MIT",