@empjs/share 3.13.9-beta.0 → 3.13.9-beta.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/dist/adapter.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames,E=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;var b=(n,e,t)=>e in n?m(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,h=(n,e)=>{for(var t in e||(e={}))P.call(e,t)&&b(n,t,e[t]);if(E)for(var t of E(e))V.call(e,t)&&b(n,t,e[t]);return n};var w=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},T=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of O(e))!P.call(n,r)&&r!==t&&m(n,r,{get:()=>e[r],enumerable:!(o=C(e,r))||o.enumerable});return n};var j=n=>T(m({},"__esModule",{value:!0}),n);var f=(n,e,t)=>b(n,typeof e!="symbol"?e+"":e,t);var v=(n,e,t)=>new Promise((o,r)=>{var a=i=>{try{p(t.next(i))}catch(l){r(l)}},y=i=>{try{p(t.throw(i))}catch(l){r(l)}},p=i=>i.done?o(i.value):Promise.resolve(i.value).then(a,y);p((t=t.apply(n,e)).next())});var N={};w(N,{ReactAdapter:()=>d,reactAdapter:()=>D});module.exports=j(N);var M=n=>n?Number(n.split(".")[0]):0,x=n=>n&&Object.prototype.toString.call(n)==="[object Promise]",k=!1,s=k?console.log.bind(console,"[EMP Share]"):()=>{};var S={},A=window;s("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:R}=A||{};R&&R.frameworkLib&&(S=A[R.frameworkLib]);var d=class{constructor(e){f(this,"libs",h({scope:"default"},S));e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs=h(h({},this.libs),e))}get shared(){let{React:e,ReactDOM:t,scope:o}=this.libs;return{react:{lib:()=>e,version:e.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>t,version:t.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,t=this.libs.scope,o=this.libs.React,r=this.libs.ReactDOM){let a=M(o.version),y=this;class p extends o.Component{constructor(c){super(c);f(this,"containerRef");f(this,"root");this.containerRef=o.createRef()}componentDidMount(){s("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){s("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){s("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(a<18?r.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}mountOriginalComponent(c){return v(this,null,function*(){x(e)&&(e=yield e.then(u=>u[t]));let g=o.createElement(e,this.props);if(a<18)(c?r.render:r.hydrate)(g,this.containerRef.current),s("shouldRender16",c,a);else if(s("shouldRender18",c,a),c){let{createRoot:u}=y.libs;this.root=u(this.containerRef.current),this.root.render(g)}else this.root.render()})}render(){return o.createElement("div",{ref:this.containerRef})}}return p}},D=new d;0&&(module.exports={ReactAdapter,reactAdapter});
2
- //# sourceMappingURL=adapter.cjs.map
1
+ "use strict";function e(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function t(e,t,n,r,o,i,u){try{var c=e[i](u);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).then(r,o)}}function n(e){return function(){var n=this,r=arguments;return new Promise(function(o,i){var u=e.apply(n,r);function c(e){t(u,o,i,c,a,"next",e)}function a(e){t(u,o,i,c,a,"throw",e)}c(undefined)})}}function r(e,t,n){t=a(t);return s(e,h()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}function o(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)i(e.prototype,t);if(n)i(e,n);return e}function c(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){a=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return a(e)}function l(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)p(e,t)}function f(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){c(e,t,n[t])})}return e}function s(t,n){if(n&&(b(n)==="object"||typeof n==="function")){return n}return e(t)}function p(e,t){p=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return p(e,t)}function b(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(h=function(){return!!e})()}function y(e,t){var n,r,o,i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},u=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return u.next=c(0),u["throw"]=c(1),u["return"]=c(2),typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return a([e,t])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,c[0]&&(i=0)),i)try{if(n=1,r&&(o=c[0]&2?r["return"]:c[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;if(r=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(c[0]===6&&i.label<o[1]){i.label=o[1];o=c;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(c);break}if(o[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var v=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var O=function(e,t,n){return t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var g=function(e,t){for(var n in t)v(e,n,{get:t[n],enumerable:!0})},R=function(e,t,n,r){var o=true,i=false,u=undefined;if(t&&(typeof t==="undefined"?"undefined":b(t))=="object"||typeof t=="function")try{var c=function(){var o=l.value;!w.call(e,o)&&o!==n&&v(e,o,{get:function(){return t[o]},enumerable:!(r=d(t,o))||r.enumerable})};for(var a=m(t)[Symbol.iterator](),l;!(o=(l=a.next()).done);o=true)c()}catch(e){i=true;u=e}finally{try{if(!o&&a.return!=null){a.return()}}finally{if(i){throw u}}}return e};var j=function(e){return R(v({},"__esModule",{value:!0}),e)};var P=function(e,t,n){return O(e,(typeof t==="undefined"?"undefined":b(t))!="symbol"?t+"":t,n)};var _={};g(_,{ReactAdapter:function(){return U},reactAdapter:function(){return N}});module.exports=j(_);var k=function(e){return e?Number(e.split(".")[0]):0},E=function(e){return e&&Object.prototype.toString.call(e)==="[object Promise]"},S=!1,C=S?console.log.bind(console,"[EMP Share]"):function(){};var M={},x=window;C("process.env.EMPSHARE_ENV","prod");var A=x||{},D=A.EMPShareGlobalVal;D&&D.frameworkLib&&(M=x[D.frameworkLib]);var U=/*#__PURE__*/function(){function e(t){o(this,e);P(this,"libs",f({scope:"default"},M));t&&this.setup(t)}u(e,[{key:"setup",value:function e(e){e&&(typeof e=="string"&&(e=window[e]),this.libs=f({},this.libs,e))}},{key:"shared",get:function e(){var e=this.libs,t=e.React,n=e.ReactDOM,r=e.scope;return{react:{lib:function(){return t},version:t.version,scope:r,shareConfig:{singleton:!0,requiredVersion:"^".concat(t.version)}},"react-dom":{lib:function(){return n},version:n.version,scope:r,shareConfig:{singleton:!0,requiredVersion:"^".concat(t.version)}}}}},{key:"adapter",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.libs.scope,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.libs.React,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:this.libs.ReactDOM;var a=k(i.version),f=this;var s=/*#__PURE__*/function(s){l(p,s);function p(e){o(this,p);var t;t=r(this,p,[e]);P(t,"containerRef");P(t,"root");t.containerRef=i.createRef();return t}u(p,[{key:"componentDidMount",value:function e(){C("componentDidMount"),this.mountOriginalComponent(!0)}},{key:"componentDidUpdate",value:function e(){C("componentDidUpdate"),this.mountOriginalComponent()}},{key:"componentWillUnmount",value:function e(){C("componentWillUnmount"),this.unMountOriginalComponent()}},{key:"unMountOriginalComponent",value:function e(){this.containerRef.current&&(a<18?c.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}},{key:"mountOriginalComponent",value:function r(r){return n(function(){var n,o,u,l;return y(this,function(s){switch(s.label){case 0:n=E(e);if(!n)return[3,2];return[4,e.then(function(e){return e[t]})];case 1:n=e=s.sent();s.label=2;case 2:n;o=i.createElement(e,this.props);if(a<18)(r?c.render:c.hydrate)(o,this.containerRef.current),C("shouldRender16",r,a);else if(C("shouldRender18",r,a),r){u=f.libs,l=u.createRoot;this.root=l(this.containerRef.current),this.root.render(o)}else this.root.render();return[2]}})}).call(this)}},{key:"render",value:function e(){return i.createElement("div",{ref:this.containerRef})}}]);return p}(i.Component);return s}}]);return e}(),N=new U;0&&(module.exports={ReactAdapter:ReactAdapter,reactAdapter:reactAdapter});//# sourceMappingURL=adapter.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter/index.ts","../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export * from 'src/adapter/react'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const {createRoot} = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"],"mappings":"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","names":["adapter_exports","__export","ReactAdapter","reactAdapter","__toCommonJS","checkVersion","version","isPromise","p","isDev","log","globalLib","win","log","EMPShareGlobalVal","ReactAdapter","op","__publicField","__spreadValues","o","React","ReactDOM","scope","component","reactVersion","checkVersion","self","WrappedComponent","props","shouldRender","__async","isPromise","m","element","createRoot","reactAdapter"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/adapter.cjs","../src/adapter/index.ts","../src/helper/index.ts","../src/adapter/react.tsx"],"names":["p","Object","defineProperty","E","getOwnPropertyDescriptor","P","getOwnPropertyNames","v","prototype","hasOwnProperty","M","t","e","n","enumerable","configurable","writable","value","x","get","S","o","r","call","A","l","adapter_exports","__export","ReactAdapter","reactAdapter","module","exports","__toCommonJS","checkVersion","version","Number","split","isPromise","toString","isDev","log","console","bind","globalLib","win","window","EMPShareGlobalVal","frameworkLib","op","__publicField","scope","setup","libs","shared","React","ReactDOM","react","lib","shareConfig","singleton","requiredVersion","adapter","component","reactVersion","self","WrappedComponent","props","containerRef","createRef","componentDidMount","mountOriginalComponent","componentDidUpdate","componentWillUnmount","unMountOriginalComponent","current","unmountComponentAtNode","root","unmount","shouldRender","element","createRoot","then","m","createElement","render","hydrate","ref","Component"],"mappings":"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","sourcesContent":["\"use strict\";var p=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var M=(t,e,n)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var x=(t,e)=>{for(var n in e)p(t,n,{get:e[n],enumerable:!0})},S=(t,e,n,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of P(e))!v.call(t,r)&&r!==n&&p(t,r,{get:()=>e[r],enumerable:!(o=E(e,r))||o.enumerable});return t};var A=t=>S(p({},\"__esModule\",{value:!0}),t);var l=(t,e,n)=>M(t,typeof e!=\"symbol\"?e+\"\":e,n);var V={};x(V,{ReactAdapter:()=>u,reactAdapter:()=>O});module.exports=A(V);var f=t=>t?Number(t.split(\".\")[0]):0,d=t=>t&&Object.prototype.toString.call(t)===\"[object Promise]\",C=!1,i=C?console.log.bind(console,\"[EMP Share]\"):()=>{};var y={},b=window;i(\"process.env.EMPSHARE_ENV\",\"prod\");var{EMPShareGlobalVal:m}=b||{};m&&m.frameworkLib&&(y=b[m.frameworkLib]);var u=class{constructor(e){l(this,\"libs\",{scope:\"default\",...y});e&&this.setup(e)}setup(e){e&&(typeof e==\"string\"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:n,scope:o}=this.libs;return{react:{lib:()=>e,version:e.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},\"react-dom\":{lib:()=>n,version:n.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,n=this.libs.scope,o=this.libs.React,r=this.libs.ReactDOM){let a=f(o.version),R=this;class g extends o.Component{constructor(s){super(s);l(this,\"containerRef\");l(this,\"root\");this.containerRef=o.createRef()}componentDidMount(){i(\"componentDidMount\"),this.mountOriginalComponent(!0)}componentDidUpdate(){i(\"componentDidUpdate\"),this.mountOriginalComponent()}componentWillUnmount(){i(\"componentWillUnmount\"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(a<18?r.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(s){d(e)&&(e=await e.then(c=>c[n]));let h=o.createElement(e,this.props);if(a<18)(s?r.render:r.hydrate)(h,this.containerRef.current),i(\"shouldRender16\",s,a);else if(i(\"shouldRender18\",s,a),s){let{createRoot:c}=R.libs;this.root=c(this.containerRef.current),this.root.render(h)}else this.root.render()}render(){return o.createElement(\"div\",{ref:this.containerRef})}}return g}},O=new u;0&&(module.exports={ReactAdapter,reactAdapter});\n","export * from 'src/adapter/react'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const {createRoot} = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"]}
package/dist/adapter.js CHANGED
@@ -1,2 +1 @@
1
- var S=Object.defineProperty;var g=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var d=(n,e,t)=>e in n?S(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,m=(n,e)=>{for(var t in e||(e={}))A.call(e,t)&&d(n,t,e[t]);if(g)for(var t of g(e))C.call(e,t)&&d(n,t,e[t]);return n};var h=(n,e,t)=>d(n,typeof e!="symbol"?e+"":e,t);var E=(n,e,t)=>new Promise((o,s)=>{var a=r=>{try{p(t.next(r))}catch(l){s(l)}},f=r=>{try{p(t.throw(r))}catch(l){s(l)}},p=r=>r.done?o(r.value):Promise.resolve(r.value).then(a,f);p((t=t.apply(n,e)).next())});var P=n=>n?Number(n.split(".")[0]):0,v=n=>n&&Object.prototype.toString.call(n)==="[object Promise]",O=!1,i=O?console.log.bind(console,"[EMP Share]"):()=>{};var M={},x=window;i("process.env.EMPSHARE_ENV","prod");var{EMPShareGlobalVal:y}=x||{};y&&y.frameworkLib&&(M=x[y.frameworkLib]);var b=class{constructor(e){h(this,"libs",m({scope:"default"},M));e&&this.setup(e)}setup(e){e&&(typeof e=="string"&&(e=window[e]),this.libs=m(m({},this.libs),e))}get shared(){let{React:e,ReactDOM:t,scope:o}=this.libs;return{react:{lib:()=>e,version:e.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},"react-dom":{lib:()=>t,version:t.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,t=this.libs.scope,o=this.libs.React,s=this.libs.ReactDOM){let a=P(o.version),f=this;class p extends o.Component{constructor(c){super(c);h(this,"containerRef");h(this,"root");this.containerRef=o.createRef()}componentDidMount(){i("componentDidMount"),this.mountOriginalComponent(!0)}componentDidUpdate(){i("componentDidUpdate"),this.mountOriginalComponent()}componentWillUnmount(){i("componentWillUnmount"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(a<18?s.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}mountOriginalComponent(c){return E(this,null,function*(){v(e)&&(e=yield e.then(u=>u[t]));let R=o.createElement(e,this.props);if(a<18)(c?s.render:s.hydrate)(R,this.containerRef.current),i("shouldRender16",c,a);else if(i("shouldRender18",c,a),c){let{createRoot:u}=f.libs;this.root=u(this.containerRef.current),this.root.render(R)}else this.root.render()})}render(){return o.createElement("div",{ref:this.containerRef})}}return p}},k=new b;export{b as ReactAdapter,k as reactAdapter};
2
- //# sourceMappingURL=adapter.js.map
1
+ function e(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function t(e,t,n,r,o,i,u){try{var c=e[i](u);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).then(r,o)}}function n(e){return function(){var n=this,r=arguments;return new Promise(function(o,i){var u=e.apply(n,r);function c(e){t(u,o,i,c,a,"next",e)}function a(e){t(u,o,i,c,a,"throw",e)}c(undefined)})}}function r(e,t,n){t=a(t);return s(e,h()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}function o(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)i(e.prototype,t);if(n)i(e,n);return e}function c(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){a=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return a(e)}function l(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)p(e,t)}function f(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){c(e,t,n[t])})}return e}function s(t,n){if(n&&(b(n)==="object"||typeof n==="function")){return n}return e(t)}function p(e,t){p=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return p(e,t)}function b(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(h=function(){return!!e})()}function y(e,t){var n,r,o,i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},u=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return u.next=c(0),u["throw"]=c(1),u["return"]=c(2),typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return a([e,t])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,c[0]&&(i=0)),i)try{if(n=1,r&&(o=c[0]&2?r["return"]:c[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;if(r=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(c[0]===6&&i.label<o[1]){i.label=o[1];o=c;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(c);break}if(o[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var v=Object.defineProperty;var d=function(e,t,n){return t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var m=function(e,t,n){return d(e,(typeof t==="undefined"?"undefined":b(t))!="symbol"?t+"":t,n)};var w=function(e){return e?Number(e.split(".")[0]):0},O=function(e){return e&&Object.prototype.toString.call(e)==="[object Promise]"},g=!1,R=g?console.log.bind(console,"[EMP Share]"):function(){};var P={},_=window;R("process.env.EMPSHARE_ENV","prod");var j=_||{},k=j.EMPShareGlobalVal;k&&k.frameworkLib&&(P=_[k.frameworkLib]);var E=/*#__PURE__*/function(){"use strict";function e(t){o(this,e);m(this,"libs",f({scope:"default"},P));t&&this.setup(t)}u(e,[{key:"setup",value:function e(e){e&&(typeof e=="string"&&(e=window[e]),this.libs=f({},this.libs,e))}},{key:"shared",get:function e(){var e=this.libs,t=e.React,n=e.ReactDOM,r=e.scope;return{react:{lib:function(){return t},version:t.version,scope:r,shareConfig:{singleton:!0,requiredVersion:"^".concat(t.version)}},"react-dom":{lib:function(){return n},version:n.version,scope:r,shareConfig:{singleton:!0,requiredVersion:"^".concat(t.version)}}}}},{key:"adapter",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.libs.scope,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.libs.React,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:this.libs.ReactDOM;var a=w(i.version),f=this;var s=/*#__PURE__*/function(s){l(p,s);function p(e){o(this,p);var t;t=r(this,p,[e]);m(t,"containerRef");m(t,"root");t.containerRef=i.createRef();return t}u(p,[{key:"componentDidMount",value:function e(){R("componentDidMount"),this.mountOriginalComponent(!0)}},{key:"componentDidUpdate",value:function e(){R("componentDidUpdate"),this.mountOriginalComponent()}},{key:"componentWillUnmount",value:function e(){R("componentWillUnmount"),this.unMountOriginalComponent()}},{key:"unMountOriginalComponent",value:function e(){this.containerRef.current&&(a<18?c.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}},{key:"mountOriginalComponent",value:function r(r){return n(function(){var n,o,u,l;return y(this,function(s){switch(s.label){case 0:n=O(e);if(!n)return[3,2];return[4,e.then(function(e){return e[t]})];case 1:n=e=s.sent();s.label=2;case 2:n;o=i.createElement(e,this.props);if(a<18)(r?c.render:c.hydrate)(o,this.containerRef.current),R("shouldRender16",r,a);else if(R("shouldRender18",r,a),r){u=f.libs,l=u.createRoot;this.root=l(this.containerRef.current),this.root.render(o)}else this.root.render();return[2]}})}).call(this)}},{key:"render",value:function e(){return i.createElement("div",{ref:this.containerRef})}}]);return p}(i.Component);return s}}]);return e}(),S=new E;export{E as ReactAdapter,S as reactAdapter};//# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helper/index.ts","../src/adapter/react.tsx"],"sourcesContent":["export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const {createRoot} = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"],"mappings":"slBAiBO,IAAMA,EAAgBC,GAAqBA,EAAU,OAAOA,EAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,EAAI,EAC/EC,EAAaC,GAAWA,GAAK,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBAGnEC,EAAQ,GACRC,EAAMD,EAAQ,QAAQ,IAAI,KAAK,QAAS,aAAa,EAAI,IAAM,CAAC,ECjB7E,IAAIE,EAAY,CAAC,EACXC,EAAW,OAEjBC,EAAI,2BAA4B,MAAwB,EAExD,GAAM,CAAC,kBAAAC,CAAiB,EAAIF,GAAO,CAAC,EAChCE,GAAqBA,EAAkB,eACzCH,EAAYC,EAAIE,EAAkB,YAAY,GAGzC,IAAMC,EAAN,KAAmB,CAKxB,YAAYC,EAAsC,CAJlDC,EAAA,YAAwCC,EAAA,CACtC,MAAO,WACJP,IAGCK,GAAI,KAAK,MAAMA,CAAE,CACvB,CACO,MAAMG,EAA8C,CACrDA,IACE,OAAOA,GAAM,WAAUA,EAAI,OAAOA,CAAC,GACvC,KAAK,KAAOD,IAAA,GAAI,KAAK,MAAUC,GAEnC,CACA,IAAI,QAAoC,CACtC,GAAM,CAAC,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAK,EAAI,KAAK,KACtC,MAAO,CACL,MAAO,CACL,IAAK,IAAMF,EACX,QAASA,EAAM,QACf,MAAAE,EACA,YAAa,CACX,UAAW,GACX,gBAAiB,IAAIF,EAAM,OAAO,EACpC,CACF,EACA,YAAa,CACX,IAAK,IAAMC,EACX,QAASA,EAAS,QAClB,MAAAC,EACA,YAAa,CACX,UAAW,GACX,gBAAiB,IAAIF,EAAM,OAAO,EACpC,CACF,CACF,CACF,CACA,QACEG,EACAD,EAAgB,KAAK,KAAK,MAC1BF,EAAa,KAAK,KAAK,MACvBC,EAAgB,KAAK,KAAK,SACvB,CACH,IAAMG,EAAeC,EAAaL,EAAM,OAAO,EACzCM,EAAO,KACb,MAAMC,UAAyBP,EAAM,SAAU,CAG7C,YAAYQ,EAAU,CACpB,MAAMA,CAAY,EAHpBX,EAAA,KAAO,gBACPA,EAAA,KAAO,QAGL,KAAK,aAAeG,EAAM,UAAU,CACtC,CAEA,mBAAoB,CAClBP,EAAI,mBAAmB,EACvB,KAAK,uBAAuB,EAAI,CAClC,CAEA,oBAAqB,CACnBA,EAAI,oBAAoB,EACxB,KAAK,uBAAuB,CAC9B,CAEA,sBAAuB,CACrBA,EAAI,sBAAsB,EAC1B,KAAK,yBAAyB,CAChC,CACA,0BAA2B,CACpB,KAAK,aAAa,UACnBW,EAAe,GACjBH,EAAS,uBAAuB,KAAK,aAAa,OAAO,EAEzD,KAAK,KAAK,QAAQ,EAEtB,CACM,uBAAuBQ,EAAwB,QAAAC,EAAA,sBAC/CC,EAAUR,CAAS,IACrBA,EAAY,MAAMA,EAAU,KAAMS,GACzBA,EAAEV,CAAK,CACf,GACH,IAAMW,EAAUb,EAAM,cAAcG,EAAW,KAAK,KAAK,EAEzD,GAAIC,EAAe,IACFK,EAAeR,EAAS,OAASA,EAAS,SAClDY,EAAS,KAAK,aAAa,OAAO,EACzCpB,EAAI,iBAAkBgB,EAAcL,CAAY,UAEhDX,EAAI,iBAAkBgB,EAAcL,CAAY,EAC5CK,EAAc,CAChB,GAAM,CAAC,WAAAK,CAAU,EAAIR,EAAK,KAC1B,KAAK,KAAOQ,EAAW,KAAK,aAAa,OAAQ,EACjD,KAAK,KAAK,OAAOD,CAAO,CAC1B,MAGE,KAAK,KAAK,OAAO,CAGvB,GAEA,QAAS,CACP,OAAOb,EAAA,cAAC,OAAI,IAAK,KAAK,aAAc,CACtC,CACF,CACA,OAAOO,CACT,CACF,EAEaQ,EAAe,IAAIpB","names":["checkVersion","version","isPromise","p","isDev","log","globalLib","win","log","EMPShareGlobalVal","ReactAdapter","op","__publicField","__spreadValues","o","React","ReactDOM","scope","component","reactVersion","checkVersion","self","WrappedComponent","props","shouldRender","__async","isPromise","m","element","createRoot","reactAdapter"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/adapter.js","../src/helper/index.ts","../src/adapter/react.tsx"],"names":["g","Object","defineProperty","E","t","e","n","enumerable","configurable","writable","value","c","checkVersion","version","Number","split","isPromise","p","prototype","toString","call","isDev","log","console","bind","globalLib","win","window","EMPShareGlobalVal","frameworkLib","ReactAdapter","op","__publicField","scope","setup","o","libs","shared","React","ReactDOM","react","lib","shareConfig","singleton","requiredVersion","adapter","component","reactVersion","self","WrappedComponent","props","containerRef","createRef","componentDidMount","mountOriginalComponent","componentDidUpdate","componentWillUnmount","unMountOriginalComponent","current","unmountComponentAtNode","root","unmount","shouldRender","element","createRoot","then","m","createElement","render","hydrate","ref","Component","reactAdapter"],"mappings":"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","sourcesContent":["var g=Object.defineProperty;var E=(t,e,n)=>e in t?g(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var c=(t,e,n)=>E(t,typeof e!=\"symbol\"?e+\"\":e,n);var h=t=>t?Number(t.split(\".\")[0]):0,f=t=>t&&Object.prototype.toString.call(t)===\"[object Promise]\",P=!1,r=P?console.log.bind(console,\"[EMP Share]\"):()=>{};var d={},y=window;r(\"process.env.EMPSHARE_ENV\",\"prod\");var{EMPShareGlobalVal:l}=y||{};l&&l.frameworkLib&&(d=y[l.frameworkLib]);var u=class{constructor(e){c(this,\"libs\",{scope:\"default\",...d});e&&this.setup(e)}setup(e){e&&(typeof e==\"string\"&&(e=window[e]),this.libs={...this.libs,...e})}get shared(){let{React:e,ReactDOM:n,scope:o}=this.libs;return{react:{lib:()=>e,version:e.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}},\"react-dom\":{lib:()=>n,version:n.version,scope:o,shareConfig:{singleton:!0,requiredVersion:`^${e.version}`}}}}adapter(e,n=this.libs.scope,o=this.libs.React,p=this.libs.ReactDOM){let s=h(o.version),b=this;class R extends o.Component{constructor(i){super(i);c(this,\"containerRef\");c(this,\"root\");this.containerRef=o.createRef()}componentDidMount(){r(\"componentDidMount\"),this.mountOriginalComponent(!0)}componentDidUpdate(){r(\"componentDidUpdate\"),this.mountOriginalComponent()}componentWillUnmount(){r(\"componentWillUnmount\"),this.unMountOriginalComponent()}unMountOriginalComponent(){this.containerRef.current&&(s<18?p.unmountComponentAtNode(this.containerRef.current):this.root.unmount())}async mountOriginalComponent(i){f(e)&&(e=await e.then(a=>a[n]));let m=o.createElement(e,this.props);if(s<18)(i?p.render:p.hydrate)(m,this.containerRef.current),r(\"shouldRender16\",i,s);else if(r(\"shouldRender18\",i,s),i){let{createRoot:a}=b.libs;this.root=a(this.containerRef.current),this.root.render(m)}else this.root.render()}render(){return o.createElement(\"div\",{ref:this.containerRef})}}return R}},O=new u;export{u as ReactAdapter,O as reactAdapter};\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","import {checkVersion, isPromise} from 'src/helper'\nimport type {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\nimport {log} from '../helper'\n\n//\nlet globalLib = {}\nconst win: any = window\n//\nlog('process.env.EMPSHARE_ENV', process.env.EMPSHARE_ENV)\n//\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\n//\nexport class ReactAdapter {\n libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n }\n constructor(op?: EMPShareRuntimeAdapterReactType) {\n if (op) this.setup(op)\n }\n public setup(o?: EMPShareRuntimeAdapterReactType | string) {\n if (o) {\n if (typeof o === 'string') o = window[o]\n this.libs = {...this.libs, ...(o as any)}\n }\n }\n get shared(): InitOptionsType['shared'] {\n const {React, ReactDOM, scope} = this.libs as EMPShareRuntimeAdapterReactType\n return {\n react: {\n lib: () => React,\n version: React.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n 'react-dom': {\n lib: () => ReactDOM,\n version: ReactDOM.version,\n scope,\n shareConfig: {\n singleton: true,\n requiredVersion: `^${React.version}`,\n },\n },\n }\n }\n adapter<P = any>(\n component: any,\n scope: string = this.libs.scope,\n React: any = this.libs.React,\n ReactDOM: any = this.libs.ReactDOM,\n ): P {\n const reactVersion = checkVersion(React.version)\n const self = this\n class WrappedComponent extends React.Component {\n public containerRef: any\n public root: any\n constructor(props: P) {\n super(props as any)\n this.containerRef = React.createRef()\n }\n\n componentDidMount() {\n log('componentDidMount')\n this.mountOriginalComponent(true)\n }\n\n componentDidUpdate() {\n log('componentDidUpdate')\n this.mountOriginalComponent()\n }\n\n componentWillUnmount() {\n log('componentWillUnmount')\n this.unMountOriginalComponent()\n }\n unMountOriginalComponent() {\n if (!this.containerRef.current) return\n if (reactVersion < 18) {\n ReactDOM.unmountComponentAtNode(this.containerRef.current)\n } else {\n this.root.unmount()\n }\n }\n async mountOriginalComponent(shouldRender?: boolean) {\n if (isPromise(component))\n component = await component.then((m: any) => {\n return m[scope]\n })\n const element = React.createElement(component, this.props)\n\n if (reactVersion < 18) {\n const Render = shouldRender ? ReactDOM.render : ReactDOM.hydrate\n Render(element, this.containerRef.current)\n log('shouldRender16', shouldRender, reactVersion)\n } else {\n log('shouldRender18', shouldRender, reactVersion)\n if (shouldRender) {\n const {createRoot} = self.libs\n this.root = createRoot(this.containerRef.current!)\n this.root.render(element)\n } else {\n // const {hydrateRoot} = self.libs\n // this.root = hydrateRoot(this.containerRef.current!, element)\n this.root.render()\n }\n }\n }\n\n render() {\n return <div ref={this.containerRef} />\n }\n }\n return WrappedComponent as any\n }\n}\n\nexport const reactAdapter = new ReactAdapter()\n"]}
@@ -1,2 +1 @@
1
- "use strict";var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var R=(e,t)=>{for(var n in t)u(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of a(t))!p.call(e,o)&&o!==n&&u(e,o,{get:()=>t[o],enumerable:!(r=l(t,o))||r.enumerable});return e};var E=e=>y(u({},"__esModule",{value:!0}),e);var h={};R(h,{default:()=>_});module.exports=E(h);var f="EMP_FORCE_REMOTES";var F=["entry","url","manifest"];function b(e){return F.find(t=>typeof e[t]=="string")}function m(e){return typeof e=="object"&&e!==null&&"entry"in e&&typeof e.entry=="string"}function g(e){if(typeof e=="string")return e;let t=e==null?void 0:e.version;return typeof t=="string"?t:void 0}function M(e){return e&&m(e)?e.entry:void 0}function O(e){return Object.fromEntries(Object.entries(e).flatMap(([t,n])=>{if(m(n))return[];let r=g(n);return r?[[t,r]]:[]}))}function I(e,t){if(!Object.keys(t).length)return e;let n=e;for(let[r,o]of Object.entries(t)){if(!o)continue;let i=new RegExp(`(${r.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}@)([^/]+)`);n=n.replace(i,`$1${o}`)}return n}function _(){return{name:"emp-remotes-replacer",beforeRegisterRemote(e){let t=typeof window!="undefined"?window[f]:void 0;if(!t||typeof t!="object")return e;let n=e.remote;if(!n)return e;let r=b(n);if(!r)return e;let o=n[r],i=n.alias?t[n.alias]:void 0,d=O(t),s=o?I(o,d):void 0;if(s&&s!==o)return n[r]=s,e;let c=M(i);return c&&(n[r]=c),e}}}
2
- //# sourceMappingURL=forceRemote.cjs.map
1
+ "use strict";function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var o=true;var u=false;var i,f;try{for(t=t.call(r);!(o=(i=t.next()).done);o=true){n.push(i.value);if(e&&n.length===e)break}}catch(r){u=true;f=r}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(u)throw f}}return n}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(r,o){return e(r)||t(r,o)||i(r,o)||n()}function u(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function i(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var f=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var y=function(r,e){for(var t in e)f(r,t,{get:e[t],enumerable:!0})},v=function(r,e,t,n){var o=true,i=false,y=undefined;if(e&&(typeof e==="undefined"?"undefined":u(e))=="object"||typeof e=="function")try{var v=function(){var o=s.value;!c.call(r,o)&&o!==t&&f(r,o,{get:function(){return e[o]},enumerable:!(n=a(e,o))||n.enumerable})};for(var d=l(e)[Symbol.iterator](),s;!(o=(s=d.next()).done);o=true)v()}catch(r){i=true;y=r}finally{try{if(!o&&d.return!=null){d.return()}}finally{if(i){throw y}}}return r};var d=function(r){return v(f({},"__esModule",{value:!0}),r)};var s={};y(s,{default:function(){return S}});module.exports=d(s);var p="EMP_FORCE_REMOTES";var b=["entry","url","manifest"];function m(r){return b.find(function(e){return typeof r[e]=="string"})}function g(r){return(typeof r==="undefined"?"undefined":u(r))=="object"&&r!==null&&"entry"in r&&typeof r.entry=="string"}function w(r){if(typeof r=="string")return r;var e=r===null||r===void 0?void 0:r.version;return typeof e=="string"?e:void 0}function h(r){return r&&g(r)?r.entry:void 0}function O(r){return Object.fromEntries(Object.entries(r).flatMap(function(r){var e=o(r,2),t=e[0],n=e[1];if(g(n))return[];var u=w(n);return u?[[t,u]]:[]}))}function j(r,e){if(!Object.keys(e).length)return r;var t=r;var n=true,u=false,i=undefined;try{for(var f=Object.entries(e)[Symbol.iterator](),a;!(n=(a=f.next()).done);n=true){var l=o(a.value,2),c=l[0],y=l[1];if(!y)continue;var v=new RegExp("(".concat(c.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"@)([^/]+)"));t=t.replace(v,"$1".concat(y))}}catch(r){u=true;i=r}finally{try{if(!n&&f.return!=null){f.return()}}finally{if(u){throw i}}}return t}function S(){return{name:"emp-remotes-replacer",beforeRegisterRemote:function r(r){var e=(typeof window==="undefined"?"undefined":u(window))<"u"?window[p]:void 0;if(!e||(typeof e==="undefined"?"undefined":u(e))!="object")return r;var t=r.remote;if(!t)return r;var n=m(t);if(!n)return r;var o=t[n],i=t.alias?e[t.alias]:void 0,f=O(e),a=o?j(o,f):void 0;if(a&&a!==o)return t[n]=a,r;var l=h(i);return l&&(t[n]=l),r}}}//# sourceMappingURL=forceRemote.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/rspack/runtimePlugin/forceRemote.ts","../src/helper/config.ts"],"sourcesContent":["/**\n * 运行时插件:根据 window[EMP_FORCE_REMOTES] 配置,在注册 remote 前拦截并改写其 entry/url。\n * 支持两种方式二选一:指定完整 entry 地址,或仅指定 version 做 URL 内版本号替换。\n */\nimport {type ModuleFederationRuntimePlugin} from '@module-federation/runtime'\nimport {shareForceRemote} from 'src/helper/config'\nimport {type ForceRemoteItem, type ForceRemoteOptions, type RemoteInfoForForce} from '../types'\n\ndeclare global {\n interface Window {\n [shareForceRemote]?: ForceRemoteOptions\n }\n}\n\n/** remote 上可能表示入口地址的字段,按优先级 */\nconst REMOTE_ENTRY_FIELD_KEYS = ['entry', 'url', 'manifest'] as const\n\n/**\n * 取当前 remote 用于表示入口的字段名(entry / url / manifest 中第一个为字符串的)\n */\nfunction getRemoteEntryFieldKey(remote: RemoteInfoForForce): (typeof REMOTE_ENTRY_FIELD_KEYS)[number] | undefined {\n return REMOTE_ENTRY_FIELD_KEYS.find((k) => typeof remote[k] === 'string')\n}\n\nfunction hasEntryConfig(config: ForceRemoteItem): boolean {\n return typeof config === 'object' && config !== null && 'entry' in config && typeof (config as {entry?: string}).entry === 'string'\n}\n\nfunction getVersionFromConfig(config: ForceRemoteItem): string | undefined {\n if (typeof config === 'string') return config\n const v = (config as {version?: string})?.version\n return typeof v === 'string' ? v : undefined\n}\n\nfunction getEntryFromConfig(config: ForceRemoteItem | undefined): string | undefined {\n return config && hasEntryConfig(config) ? (config as {entry: string}).entry : undefined\n}\n\n/**\n * 从 forceRemotes 提取「仅 version」项的映射(有 entry 的项不参与,二选一)。\n */\nfunction buildVersionReplaceMap(forceRemotes: ForceRemoteOptions): Record<string, string> {\n return Object.fromEntries(\n Object.entries(forceRemotes).flatMap(([remoteKey, config]) => {\n if (hasEntryConfig(config)) return []\n const version = getVersionFromConfig(config)\n return version ? [[remoteKey, version]] : []\n }),\n )\n}\n\n/**\n * 在 URL 中按 versionMap 替换 common 版本号(匹配 `remoteKey@原版本` -> `remoteKey@新版本`)\n */\nfunction replaceUrlVersions(url: string, versionMap: Record<string, string>): string {\n if (!Object.keys(versionMap).length) return url\n let result = url\n for (const [remoteKey, version] of Object.entries(versionMap)) {\n if (!version) continue\n const regex = new RegExp(`(${remoteKey.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}@)([^/]+)`)\n result = result.replace(regex, `$1${version}`)\n }\n return result\n}\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'emp-remotes-replacer',\n beforeRegisterRemote(args) {\n const forceRemotes = typeof window !== 'undefined' ? window[shareForceRemote] : undefined\n if (!forceRemotes || typeof forceRemotes !== 'object') return args\n\n const remote = args.remote as unknown as RemoteInfoForForce\n if (!remote) return args\n\n const entryFieldKey = getRemoteEntryFieldKey(remote)\n if (!entryFieldKey) return args\n\n const currentEntryUrl = remote[entryFieldKey] as string | undefined\n const forceConfig = remote.alias ? forceRemotes[remote.alias] : undefined\n\n // 优先 version:有则替换并直接 return,不再走 entry\n const versionMap = buildVersionReplaceMap(forceRemotes)\n const versionedEntryUrl = currentEntryUrl ? replaceUrlVersions(currentEntryUrl, versionMap) : undefined\n if (versionedEntryUrl && versionedEntryUrl !== currentEntryUrl) {\n remote[entryFieldKey] = versionedEntryUrl\n return args\n }\n\n // 否则判断 entry:有则改写并 return\n const forcedEntryUrl = getEntryFromConfig(forceConfig)\n if (forcedEntryUrl) {\n remote[entryFieldKey] = forcedEntryUrl\n return args\n }\n\n return args\n },\n }\n}\n","export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GCEO,IAAMI,EAAmB,oBDahC,IAAMC,EAA0B,CAAC,QAAS,MAAO,UAAU,EAK3D,SAASC,EAAuBC,EAAkF,CAChH,OAAOF,EAAwB,KAAMG,GAAM,OAAOD,EAAOC,CAAC,GAAM,QAAQ,CAC1E,CAEA,SAASC,EAAeC,EAAkC,CACxD,OAAO,OAAOA,GAAW,UAAYA,IAAW,MAAQ,UAAWA,GAAU,OAAQA,EAA4B,OAAU,QAC7H,CAEA,SAASC,EAAqBD,EAA6C,CACzE,GAAI,OAAOA,GAAW,SAAU,OAAOA,EACvC,IAAME,EAAKF,GAAA,YAAAA,EAA+B,QAC1C,OAAO,OAAOE,GAAM,SAAWA,EAAI,MACrC,CAEA,SAASC,EAAmBH,EAAyD,CACnF,OAAOA,GAAUD,EAAeC,CAAM,EAAKA,EAA2B,MAAQ,MAChF,CAKA,SAASI,EAAuBC,EAA0D,CACxF,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAY,EAAE,QAAQ,CAAC,CAACC,EAAWN,CAAM,IAAM,CAC5D,GAAID,EAAeC,CAAM,EAAG,MAAO,CAAC,EACpC,IAAMO,EAAUN,EAAqBD,CAAM,EAC3C,OAAOO,EAAU,CAAC,CAACD,EAAWC,CAAO,CAAC,EAAI,CAAC,CAC7C,CAAC,CACH,CACF,CAKA,SAASC,EAAmBC,EAAaC,EAA4C,CACnF,GAAI,CAAC,OAAO,KAAKA,CAAU,EAAE,OAAQ,OAAOD,EAC5C,IAAIE,EAASF,EACb,OAAW,CAACH,EAAWC,CAAO,IAAK,OAAO,QAAQG,CAAU,EAAG,CAC7D,GAAI,CAACH,EAAS,SACd,IAAMK,EAAQ,IAAI,OAAO,IAAIN,EAAU,QAAQ,wBAAyB,MAAM,CAAC,WAAW,EAC1FK,EAASA,EAAO,QAAQC,EAAO,KAAKL,CAAO,EAAE,CAC/C,CACA,OAAOI,CACT,CAEe,SAARE,GAAmD,CACxD,MAAO,CACL,KAAM,uBACN,qBAAqBC,EAAM,CACzB,IAAMT,EAAe,OAAO,QAAW,YAAc,OAAOU,CAAgB,EAAI,OAChF,GAAI,CAACV,GAAgB,OAAOA,GAAiB,SAAU,OAAOS,EAE9D,IAAMjB,EAASiB,EAAK,OACpB,GAAI,CAACjB,EAAQ,OAAOiB,EAEpB,IAAME,EAAgBpB,EAAuBC,CAAM,EACnD,GAAI,CAACmB,EAAe,OAAOF,EAE3B,IAAMG,EAAkBpB,EAAOmB,CAAa,EACtCE,EAAcrB,EAAO,MAAQQ,EAAaR,EAAO,KAAK,EAAI,OAG1Da,EAAaN,EAAuBC,CAAY,EAChDc,EAAoBF,EAAkBT,EAAmBS,EAAiBP,CAAU,EAAI,OAC9F,GAAIS,GAAqBA,IAAsBF,EAC7C,OAAApB,EAAOmB,CAAa,EAAIG,EACjBL,EAIT,IAAMM,EAAiBjB,EAAmBe,CAAW,EACrD,OAAIE,IACFvB,EAAOmB,CAAa,EAAII,GACjBN,CAIX,CACF,CACF","names":["forceRemote_exports","__export","forceRemote_default","__toCommonJS","shareForceRemote","REMOTE_ENTRY_FIELD_KEYS","getRemoteEntryFieldKey","remote","k","hasEntryConfig","config","getVersionFromConfig","v","getEntryFromConfig","buildVersionReplaceMap","forceRemotes","remoteKey","version","replaceUrlVersions","url","versionMap","result","regex","forceRemote_default","args","shareForceRemote","entryFieldKey","currentEntryUrl","forceConfig","versionedEntryUrl","forcedEntryUrl"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/forceRemote.cjs","../src/plugins/rspack/runtimePlugin/forceRemote.ts","../src/helper/config.ts"],"names":["c","Object","defineProperty","l","getOwnPropertyDescriptor","a","getOwnPropertyNames","p","prototype","hasOwnProperty","R","e","t","n","get","enumerable","y","r","o","call","E","value","forceRemote_exports","__export","default","forceRemote_default","module","exports","__toCommonJS","shareForceRemote","REMOTE_ENTRY_FIELD_KEYS","getRemoteEntryFieldKey","remote","find","k","hasEntryConfig","config","entry","getVersionFromConfig","v","version","getEntryFromConfig","buildVersionReplaceMap","forceRemotes","fromEntries","entries","flatMap","remoteKey","replaceUrlVersions","url","versionMap","keys","length","result","regex","RegExp","replace","name","beforeRegisterRemote","args","window","entryFieldKey","currentEntryUrl","forceConfig","alias","versionedEntryUrl","forcedEntryUrl"],"mappings":"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","sourcesContent":["\"use strict\";var c=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var R=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of a(t))!p.call(e,o)&&o!==n&&c(e,o,{get:()=>t[o],enumerable:!(r=l(t,o))||r.enumerable});return e};var E=e=>y(c({},\"__esModule\",{value:!0}),e);var h={};R(h,{default:()=>_});module.exports=E(h);var u=\"EMP_FORCE_REMOTES\";var F=[\"entry\",\"url\",\"manifest\"];function g(e){return F.find(t=>typeof e[t]==\"string\")}function m(e){return typeof e==\"object\"&&e!==null&&\"entry\"in e&&typeof e.entry==\"string\"}function b(e){if(typeof e==\"string\")return e;let t=e?.version;return typeof t==\"string\"?t:void 0}function M(e){return e&&m(e)?e.entry:void 0}function O(e){return Object.fromEntries(Object.entries(e).flatMap(([t,n])=>{if(m(n))return[];let r=b(n);return r?[[t,r]]:[]}))}function I(e,t){if(!Object.keys(t).length)return e;let n=e;for(let[r,o]of Object.entries(t)){if(!o)continue;let i=new RegExp(`(${r.replace(/[-/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}@)([^/]+)`);n=n.replace(i,`$1${o}`)}return n}function _(){return{name:\"emp-remotes-replacer\",beforeRegisterRemote(e){let t=typeof window<\"u\"?window[u]:void 0;if(!t||typeof t!=\"object\")return e;let n=e.remote;if(!n)return e;let r=g(n);if(!r)return e;let o=n[r],i=n.alias?t[n.alias]:void 0,d=O(t),s=o?I(o,d):void 0;if(s&&s!==o)return n[r]=s,e;let f=M(i);return f&&(n[r]=f),e}}}\n","/**\n * 运行时插件:根据 window[EMP_FORCE_REMOTES] 配置,在注册 remote 前拦截并改写其 entry/url。\n * 支持两种方式二选一:指定完整 entry 地址,或仅指定 version 做 URL 内版本号替换。\n */\nimport {type ModuleFederationRuntimePlugin} from '@module-federation/runtime'\nimport {shareForceRemote} from 'src/helper/config'\nimport {type ForceRemoteItem, type ForceRemoteOptions, type RemoteInfoForForce} from '../types'\n\ndeclare global {\n interface Window {\n [shareForceRemote]?: ForceRemoteOptions\n }\n}\n\n/** remote 上可能表示入口地址的字段,按优先级 */\nconst REMOTE_ENTRY_FIELD_KEYS = ['entry', 'url', 'manifest'] as const\n\n/**\n * 取当前 remote 用于表示入口的字段名(entry / url / manifest 中第一个为字符串的)\n */\nfunction getRemoteEntryFieldKey(remote: RemoteInfoForForce): (typeof REMOTE_ENTRY_FIELD_KEYS)[number] | undefined {\n return REMOTE_ENTRY_FIELD_KEYS.find((k) => typeof remote[k] === 'string')\n}\n\nfunction hasEntryConfig(config: ForceRemoteItem): boolean {\n return typeof config === 'object' && config !== null && 'entry' in config && typeof (config as {entry?: string}).entry === 'string'\n}\n\nfunction getVersionFromConfig(config: ForceRemoteItem): string | undefined {\n if (typeof config === 'string') return config\n const v = (config as {version?: string})?.version\n return typeof v === 'string' ? v : undefined\n}\n\nfunction getEntryFromConfig(config: ForceRemoteItem | undefined): string | undefined {\n return config && hasEntryConfig(config) ? (config as {entry: string}).entry : undefined\n}\n\n/**\n * 从 forceRemotes 提取「仅 version」项的映射(有 entry 的项不参与,二选一)。\n */\nfunction buildVersionReplaceMap(forceRemotes: ForceRemoteOptions): Record<string, string> {\n return Object.fromEntries(\n Object.entries(forceRemotes).flatMap(([remoteKey, config]) => {\n if (hasEntryConfig(config)) return []\n const version = getVersionFromConfig(config)\n return version ? [[remoteKey, version]] : []\n }),\n )\n}\n\n/**\n * 在 URL 中按 versionMap 替换 common 版本号(匹配 `remoteKey@原版本` -> `remoteKey@新版本`)\n */\nfunction replaceUrlVersions(url: string, versionMap: Record<string, string>): string {\n if (!Object.keys(versionMap).length) return url\n let result = url\n for (const [remoteKey, version] of Object.entries(versionMap)) {\n if (!version) continue\n const regex = new RegExp(`(${remoteKey.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}@)([^/]+)`)\n result = result.replace(regex, `$1${version}`)\n }\n return result\n}\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'emp-remotes-replacer',\n beforeRegisterRemote(args) {\n const forceRemotes = typeof window !== 'undefined' ? window[shareForceRemote] : undefined\n if (!forceRemotes || typeof forceRemotes !== 'object') return args\n\n const remote = args.remote as unknown as RemoteInfoForForce\n if (!remote) return args\n\n const entryFieldKey = getRemoteEntryFieldKey(remote)\n if (!entryFieldKey) return args\n\n const currentEntryUrl = remote[entryFieldKey] as string | undefined\n const forceConfig = remote.alias ? forceRemotes[remote.alias] : undefined\n\n // 优先 version:有则替换并直接 return,不再走 entry\n const versionMap = buildVersionReplaceMap(forceRemotes)\n const versionedEntryUrl = currentEntryUrl ? replaceUrlVersions(currentEntryUrl, versionMap) : undefined\n if (versionedEntryUrl && versionedEntryUrl !== currentEntryUrl) {\n remote[entryFieldKey] = versionedEntryUrl\n return args\n }\n\n // 否则判断 entry:有则改写并 return\n const forcedEntryUrl = getEntryFromConfig(forceConfig)\n if (forcedEntryUrl) {\n remote[entryFieldKey] = forcedEntryUrl\n return args\n }\n\n return args\n },\n }\n}\n","export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n"]}
@@ -1,2 +1 @@
1
- var c="EMP_FORCE_REMOTES";var d=["entry","url","manifest"];function l(e){return d.find(t=>typeof e[t]=="string")}function f(e){return typeof e=="object"&&e!==null&&"entry"in e&&typeof e.entry=="string"}function a(e){if(typeof e=="string")return e;let t=e==null?void 0:e.version;return typeof t=="string"?t:void 0}function p(e){return e&&f(e)?e.entry:void 0}function R(e){return Object.fromEntries(Object.entries(e).flatMap(([t,n])=>{if(f(n))return[];let r=a(n);return r?[[t,r]]:[]}))}function y(e,t){if(!Object.keys(t).length)return e;let n=e;for(let[r,o]of Object.entries(t)){if(!o)continue;let i=new RegExp(`(${r.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}@)([^/]+)`);n=n.replace(i,`$1${o}`)}return n}function b(){return{name:"emp-remotes-replacer",beforeRegisterRemote(e){let t=typeof window!="undefined"?window[c]:void 0;if(!t||typeof t!="object")return e;let n=e.remote;if(!n)return e;let r=l(n);if(!r)return e;let o=n[r],i=n.alias?t[n.alias]:void 0,m=R(t),s=o?y(o,m):void 0;if(s&&s!==o)return n[r]=s,e;let u=p(i);return u&&(n[r]=u),e}}}export{b as default};
2
- //# sourceMappingURL=forceRemote.js.map
1
+ function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var i=true;var o=false;var u,f;try{for(t=t.call(r);!(i=(u=t.next()).done);i=true){n.push(u.value);if(e&&n.length===e)break}}catch(r){o=true;f=r}finally{try{if(!i&&t["return"]!=null)t["return"]()}finally{if(o)throw f}}return n}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(r,i){return e(r)||t(r,i)||u(r,i)||n()}function o(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function u(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var f="EMP_FORCE_REMOTES";var a=["entry","url","manifest"];function l(r){return a.find(function(e){return typeof r[e]=="string"})}function c(r){return(typeof r==="undefined"?"undefined":o(r))=="object"&&r!==null&&"entry"in r&&typeof r.entry=="string"}function y(r){if(typeof r=="string")return r;var e=r===null||r===void 0?void 0:r.version;return typeof e=="string"?e:void 0}function d(r){return r&&c(r)?r.entry:void 0}function v(r){return Object.fromEntries(Object.entries(r).flatMap(function(r){var e=i(r,2),t=e[0],n=e[1];if(c(n))return[];var o=y(n);return o?[[t,o]]:[]}))}function s(r,e){if(!Object.keys(e).length)return r;var t=r;var n=true,o=false,u=undefined;try{for(var f=Object.entries(e)[Symbol.iterator](),a;!(n=(a=f.next()).done);n=true){var l=i(a.value,2),c=l[0],y=l[1];if(!y)continue;var d=new RegExp("(".concat(c.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"@)([^/]+)"));t=t.replace(d,"$1".concat(y))}}catch(r){o=true;u=r}finally{try{if(!n&&f.return!=null){f.return()}}finally{if(o){throw u}}}return t}function p(){return{name:"emp-remotes-replacer",beforeRegisterRemote:function r(r){var e=(typeof window==="undefined"?"undefined":o(window))<"u"?window[f]:void 0;if(!e||(typeof e==="undefined"?"undefined":o(e))!="object")return r;var t=r.remote;if(!t)return r;var n=l(t);if(!n)return r;var i=t[n],u=t.alias?e[t.alias]:void 0,a=v(e),c=i?s(i,a):void 0;if(c&&c!==i)return t[n]=c,r;var y=d(u);return y&&(t[n]=y),r}}}export{p as default};//# sourceMappingURL=forceRemote.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helper/config.ts","../src/plugins/rspack/runtimePlugin/forceRemote.ts"],"sourcesContent":["export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n","/**\n * 运行时插件:根据 window[EMP_FORCE_REMOTES] 配置,在注册 remote 前拦截并改写其 entry/url。\n * 支持两种方式二选一:指定完整 entry 地址,或仅指定 version 做 URL 内版本号替换。\n */\nimport {type ModuleFederationRuntimePlugin} from '@module-federation/runtime'\nimport {shareForceRemote} from 'src/helper/config'\nimport {type ForceRemoteItem, type ForceRemoteOptions, type RemoteInfoForForce} from '../types'\n\ndeclare global {\n interface Window {\n [shareForceRemote]?: ForceRemoteOptions\n }\n}\n\n/** remote 上可能表示入口地址的字段,按优先级 */\nconst REMOTE_ENTRY_FIELD_KEYS = ['entry', 'url', 'manifest'] as const\n\n/**\n * 取当前 remote 用于表示入口的字段名(entry / url / manifest 中第一个为字符串的)\n */\nfunction getRemoteEntryFieldKey(remote: RemoteInfoForForce): (typeof REMOTE_ENTRY_FIELD_KEYS)[number] | undefined {\n return REMOTE_ENTRY_FIELD_KEYS.find((k) => typeof remote[k] === 'string')\n}\n\nfunction hasEntryConfig(config: ForceRemoteItem): boolean {\n return typeof config === 'object' && config !== null && 'entry' in config && typeof (config as {entry?: string}).entry === 'string'\n}\n\nfunction getVersionFromConfig(config: ForceRemoteItem): string | undefined {\n if (typeof config === 'string') return config\n const v = (config as {version?: string})?.version\n return typeof v === 'string' ? v : undefined\n}\n\nfunction getEntryFromConfig(config: ForceRemoteItem | undefined): string | undefined {\n return config && hasEntryConfig(config) ? (config as {entry: string}).entry : undefined\n}\n\n/**\n * 从 forceRemotes 提取「仅 version」项的映射(有 entry 的项不参与,二选一)。\n */\nfunction buildVersionReplaceMap(forceRemotes: ForceRemoteOptions): Record<string, string> {\n return Object.fromEntries(\n Object.entries(forceRemotes).flatMap(([remoteKey, config]) => {\n if (hasEntryConfig(config)) return []\n const version = getVersionFromConfig(config)\n return version ? [[remoteKey, version]] : []\n }),\n )\n}\n\n/**\n * 在 URL 中按 versionMap 替换 common 版本号(匹配 `remoteKey@原版本` -> `remoteKey@新版本`)\n */\nfunction replaceUrlVersions(url: string, versionMap: Record<string, string>): string {\n if (!Object.keys(versionMap).length) return url\n let result = url\n for (const [remoteKey, version] of Object.entries(versionMap)) {\n if (!version) continue\n const regex = new RegExp(`(${remoteKey.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}@)([^/]+)`)\n result = result.replace(regex, `$1${version}`)\n }\n return result\n}\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'emp-remotes-replacer',\n beforeRegisterRemote(args) {\n const forceRemotes = typeof window !== 'undefined' ? window[shareForceRemote] : undefined\n if (!forceRemotes || typeof forceRemotes !== 'object') return args\n\n const remote = args.remote as unknown as RemoteInfoForForce\n if (!remote) return args\n\n const entryFieldKey = getRemoteEntryFieldKey(remote)\n if (!entryFieldKey) return args\n\n const currentEntryUrl = remote[entryFieldKey] as string | undefined\n const forceConfig = remote.alias ? forceRemotes[remote.alias] : undefined\n\n // 优先 version:有则替换并直接 return,不再走 entry\n const versionMap = buildVersionReplaceMap(forceRemotes)\n const versionedEntryUrl = currentEntryUrl ? replaceUrlVersions(currentEntryUrl, versionMap) : undefined\n if (versionedEntryUrl && versionedEntryUrl !== currentEntryUrl) {\n remote[entryFieldKey] = versionedEntryUrl\n return args\n }\n\n // 否则判断 entry:有则改写并 return\n const forcedEntryUrl = getEntryFromConfig(forceConfig)\n if (forcedEntryUrl) {\n remote[entryFieldKey] = forcedEntryUrl\n return args\n }\n\n return args\n },\n }\n}\n"],"mappings":"AAEO,IAAMA,EAAmB,oBCahC,IAAMC,EAA0B,CAAC,QAAS,MAAO,UAAU,EAK3D,SAASC,EAAuBC,EAAkF,CAChH,OAAOF,EAAwB,KAAMG,GAAM,OAAOD,EAAOC,CAAC,GAAM,QAAQ,CAC1E,CAEA,SAASC,EAAeC,EAAkC,CACxD,OAAO,OAAOA,GAAW,UAAYA,IAAW,MAAQ,UAAWA,GAAU,OAAQA,EAA4B,OAAU,QAC7H,CAEA,SAASC,EAAqBD,EAA6C,CACzE,GAAI,OAAOA,GAAW,SAAU,OAAOA,EACvC,IAAME,EAAKF,GAAA,YAAAA,EAA+B,QAC1C,OAAO,OAAOE,GAAM,SAAWA,EAAI,MACrC,CAEA,SAASC,EAAmBH,EAAyD,CACnF,OAAOA,GAAUD,EAAeC,CAAM,EAAKA,EAA2B,MAAQ,MAChF,CAKA,SAASI,EAAuBC,EAA0D,CACxF,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAY,EAAE,QAAQ,CAAC,CAACC,EAAWN,CAAM,IAAM,CAC5D,GAAID,EAAeC,CAAM,EAAG,MAAO,CAAC,EACpC,IAAMO,EAAUN,EAAqBD,CAAM,EAC3C,OAAOO,EAAU,CAAC,CAACD,EAAWC,CAAO,CAAC,EAAI,CAAC,CAC7C,CAAC,CACH,CACF,CAKA,SAASC,EAAmBC,EAAaC,EAA4C,CACnF,GAAI,CAAC,OAAO,KAAKA,CAAU,EAAE,OAAQ,OAAOD,EAC5C,IAAIE,EAASF,EACb,OAAW,CAACH,EAAWC,CAAO,IAAK,OAAO,QAAQG,CAAU,EAAG,CAC7D,GAAI,CAACH,EAAS,SACd,IAAMK,EAAQ,IAAI,OAAO,IAAIN,EAAU,QAAQ,wBAAyB,MAAM,CAAC,WAAW,EAC1FK,EAASA,EAAO,QAAQC,EAAO,KAAKL,CAAO,EAAE,CAC/C,CACA,OAAOI,CACT,CAEe,SAARE,GAAmD,CACxD,MAAO,CACL,KAAM,uBACN,qBAAqBC,EAAM,CACzB,IAAMT,EAAe,OAAO,QAAW,YAAc,OAAOU,CAAgB,EAAI,OAChF,GAAI,CAACV,GAAgB,OAAOA,GAAiB,SAAU,OAAOS,EAE9D,IAAMjB,EAASiB,EAAK,OACpB,GAAI,CAACjB,EAAQ,OAAOiB,EAEpB,IAAME,EAAgBpB,EAAuBC,CAAM,EACnD,GAAI,CAACmB,EAAe,OAAOF,EAE3B,IAAMG,EAAkBpB,EAAOmB,CAAa,EACtCE,EAAcrB,EAAO,MAAQQ,EAAaR,EAAO,KAAK,EAAI,OAG1Da,EAAaN,EAAuBC,CAAY,EAChDc,EAAoBF,EAAkBT,EAAmBS,EAAiBP,CAAU,EAAI,OAC9F,GAAIS,GAAqBA,IAAsBF,EAC7C,OAAApB,EAAOmB,CAAa,EAAIG,EACjBL,EAIT,IAAMM,EAAiBjB,EAAmBe,CAAW,EACrD,OAAIE,IACFvB,EAAOmB,CAAa,EAAII,GACjBN,CAIX,CACF,CACF","names":["shareForceRemote","REMOTE_ENTRY_FIELD_KEYS","getRemoteEntryFieldKey","remote","k","hasEntryConfig","config","getVersionFromConfig","v","getEntryFromConfig","buildVersionReplaceMap","forceRemotes","remoteKey","version","replaceUrlVersions","url","versionMap","result","regex","forceRemote_default","args","shareForceRemote","entryFieldKey","currentEntryUrl","forceConfig","versionedEntryUrl","forcedEntryUrl"]}
1
+ {"version":3,"sources":["../src/helper/config.ts","../src/plugins/rspack/runtimePlugin/forceRemote.ts"],"names":["shareForceRemote","REMOTE_ENTRY_FIELD_KEYS","getRemoteEntryFieldKey","remote","find","k","hasEntryConfig","config","entry","getVersionFromConfig","v","version","getEntryFromConfig","buildVersionReplaceMap","forceRemotes","Object","fromEntries","entries","flatMap","remoteKey","replaceUrlVersions","url","versionMap","keys","length","result","regex","RegExp","replace","forceRemote_default","name","beforeRegisterRemote","args","window","entryFieldKey","currentEntryUrl","forceConfig","alias","versionedEntryUrl","forcedEntryUrl","g","default"],"mappings":"snCAEO,IAAMA,EAAmB,oBCahC,IAAMC,EAA0B,CAAC,QAAS,MAAO,WAAU,CAK3D,SAASC,EAAuBC,CAAAA,EAC9B,OAAOF,EAAwBG,IAAA,CAAMC,SAAAA,UAAM,OAAOF,CAAAA,CAAOE,EAAC,EAAM,UAClE,CAEA,SAASC,EAAeC,CAAAA,EACtB,MAAO,CAAA,OAAOA,4BAAP,EAAOA,EAAAA,GAAW,UAAYA,IAAW,MAAQ,UAAWA,GAAU,OAAQA,EAA4BC,KAAA,EAAU,QAC7H,CAEA,SAASC,EAAqBF,CAAAA,EAC5B,GAAI,OAAOA,GAAW,SAAU,OAAOA,EACvC,IAAMG,EAAKH,UAAAA,kBAAAA,EAA+BI,OAAA,CAC1C,OAAO,OAAOD,GAAM,SAAWA,EAAI,KAAA,CACrC,CAEA,SAASE,EAAmBL,CAAAA,EAC1B,OAAOA,GAAUD,EAAeC,GAAWA,EAA2BC,KAAA,CAAQ,KAAA,CAChF,CAKA,SAASK,EAAuBC,CAAAA,EAC9B,OAAOC,OAAOC,WAAA,CACZD,OAAOE,OAAA,CAAQH,GAAcI,OAAA,CAAQ,yBAAEC,OAAWZ,OAChD,GAAID,EAAeC,GAAS,MAAO,EAAC,CACpC,IAAMI,EAAUF,EAAqBF,GACrC,OAAOI,EAAU,CAAC,CAACQ,EAAWR,EAAQ,CAAA,CAAI,EAC5C,GAEJ,CAKA,SAASS,EAAmBC,CAAAA,CAAaC,CAAAA,EACvC,GAAI,CAACP,OAAOQ,IAAA,CAAKD,GAAYE,MAAA,CAAQ,OAAOH,EAC5C,IAAII,EAASJ,MACb,OAAA,QAAA,gBAAA,QAAA,EAAmCN,OAAOE,OAAA,CAAQK,sBAAlD,IAAA,GAAA,EAAA,gBAAA,OAA+D,CAA/D,QAAA,WAAYH,OAAWR,OACrB,GAAI,CAACA,EAAS,SACd,IAAMe,EAAQ,IAAIC,OAAO,IAAsD,OAAlDR,EAAUS,OAAA,CAAQ,wBAAyB,QAAO,cAC/EH,EAASA,EAAOG,OAAA,CAAQF,EAAO,KAAY,OAAPf,GACtC,WAJA,OAAA,oBAAA,GAAA,gBAAA,uBAAA,SAAA,IAKA,OAAOc,CACT,CAEe,SAARI,IACL,MAAO,CACLC,KAAM,uBACNC,qBAAAA,SAAAA,EAAqBC,CAAAA,EACnB,IAAMlB,EAAe,CAAA,OAAOmB,iCAAP,EAAOA,OAAA,EAAW,IAAcA,MAAA,CAAOjC,EAAgB,CAAI,KAAA,EAChF,GAAI,CAACc,GAAgB,CAAA,OAAOA,4BAAP,EAAOA,EAAAA,GAAiB,SAAU,OAAOkB,EAE9D,IAAM7B,EAAS6B,EAAK7B,MAAA,CACpB,GAAI,CAACA,EAAQ,OAAO6B,EAEpB,IAAME,EAAgBhC,EAAuBC,GAC7C,GAAI,CAAC+B,EAAe,OAAOF,EAE3B,IAAMG,EAAkBhC,CAAAA,CAAO+B,EAAa,CACtCE,EAAcjC,EAAOkC,KAAA,CAAQvB,CAAAA,CAAaX,EAAOkC,KAAK,CAAA,CAAI,KAAA,EAG1Df,EAAaT,EAAuBC,GACpCwB,EAAoBH,EAAkBf,EAAmBe,EAAiBb,GAAc,KAAA,EAC9F,GAAIgB,GAAqBA,IAAsBH,EAC7C,OAAAhC,CAAAA,CAAO+B,EAAa,CAAII,EACjBN,EAIT,IAAMO,EAAiB3B,EAAmBwB,GAC1C,OAAIG,GACFpC,CAAAA,CAAAA,CAAO+B,EAAa,CAAIK,CAAAA,EACjBP,CAIX,CACF,CACF,QAAAQ,KAAAC,OAAA","sourcesContent":["export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n","/**\n * 运行时插件:根据 window[EMP_FORCE_REMOTES] 配置,在注册 remote 前拦截并改写其 entry/url。\n * 支持两种方式二选一:指定完整 entry 地址,或仅指定 version 做 URL 内版本号替换。\n */\nimport {type ModuleFederationRuntimePlugin} from '@module-federation/runtime'\nimport {shareForceRemote} from 'src/helper/config'\nimport {type ForceRemoteItem, type ForceRemoteOptions, type RemoteInfoForForce} from '../types'\n\ndeclare global {\n interface Window {\n [shareForceRemote]?: ForceRemoteOptions\n }\n}\n\n/** remote 上可能表示入口地址的字段,按优先级 */\nconst REMOTE_ENTRY_FIELD_KEYS = ['entry', 'url', 'manifest'] as const\n\n/**\n * 取当前 remote 用于表示入口的字段名(entry / url / manifest 中第一个为字符串的)\n */\nfunction getRemoteEntryFieldKey(remote: RemoteInfoForForce): (typeof REMOTE_ENTRY_FIELD_KEYS)[number] | undefined {\n return REMOTE_ENTRY_FIELD_KEYS.find((k) => typeof remote[k] === 'string')\n}\n\nfunction hasEntryConfig(config: ForceRemoteItem): boolean {\n return typeof config === 'object' && config !== null && 'entry' in config && typeof (config as {entry?: string}).entry === 'string'\n}\n\nfunction getVersionFromConfig(config: ForceRemoteItem): string | undefined {\n if (typeof config === 'string') return config\n const v = (config as {version?: string})?.version\n return typeof v === 'string' ? v : undefined\n}\n\nfunction getEntryFromConfig(config: ForceRemoteItem | undefined): string | undefined {\n return config && hasEntryConfig(config) ? (config as {entry: string}).entry : undefined\n}\n\n/**\n * 从 forceRemotes 提取「仅 version」项的映射(有 entry 的项不参与,二选一)。\n */\nfunction buildVersionReplaceMap(forceRemotes: ForceRemoteOptions): Record<string, string> {\n return Object.fromEntries(\n Object.entries(forceRemotes).flatMap(([remoteKey, config]) => {\n if (hasEntryConfig(config)) return []\n const version = getVersionFromConfig(config)\n return version ? [[remoteKey, version]] : []\n }),\n )\n}\n\n/**\n * 在 URL 中按 versionMap 替换 common 版本号(匹配 `remoteKey@原版本` -> `remoteKey@新版本`)\n */\nfunction replaceUrlVersions(url: string, versionMap: Record<string, string>): string {\n if (!Object.keys(versionMap).length) return url\n let result = url\n for (const [remoteKey, version] of Object.entries(versionMap)) {\n if (!version) continue\n const regex = new RegExp(`(${remoteKey.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}@)([^/]+)`)\n result = result.replace(regex, `$1${version}`)\n }\n return result\n}\n\nexport default function (): ModuleFederationRuntimePlugin {\n return {\n name: 'emp-remotes-replacer',\n beforeRegisterRemote(args) {\n const forceRemotes = typeof window !== 'undefined' ? window[shareForceRemote] : undefined\n if (!forceRemotes || typeof forceRemotes !== 'object') return args\n\n const remote = args.remote as unknown as RemoteInfoForForce\n if (!remote) return args\n\n const entryFieldKey = getRemoteEntryFieldKey(remote)\n if (!entryFieldKey) return args\n\n const currentEntryUrl = remote[entryFieldKey] as string | undefined\n const forceConfig = remote.alias ? forceRemotes[remote.alias] : undefined\n\n // 优先 version:有则替换并直接 return,不再走 entry\n const versionMap = buildVersionReplaceMap(forceRemotes)\n const versionedEntryUrl = currentEntryUrl ? replaceUrlVersions(currentEntryUrl, versionMap) : undefined\n if (versionedEntryUrl && versionedEntryUrl !== currentEntryUrl) {\n remote[entryFieldKey] = versionedEntryUrl\n return args\n }\n\n // 否则判断 entry:有则改写并 return\n const forcedEntryUrl = getEntryFromConfig(forceConfig)\n if (forcedEntryUrl) {\n remote[entryFieldKey] = forcedEntryUrl\n return args\n }\n\n return args\n },\n }\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,3 +1 @@
1
- "use strict";var L=Object.create;var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var H=(t,e,i)=>e in t?c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var $=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},y=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of v(e))!N.call(t,r)&&r!==i&&c(t,r,{get:()=>e[r],enumerable:!(n=T(e,r))||n.enumerable});return t};var F=(t,e,i)=>(i=t!=null?L(w(t)):{},y(e||!t||!t.__esModule?c(i,"default",{value:t,enumerable:!0}):i,t)),G=t=>y(c({},"__esModule",{value:!0}),t);var l=(t,e,i)=>H(t,typeof e!="symbol"?e+"":e,i);var g=(t,e,i)=>new Promise((n,r)=>{var a=m=>{try{o(i.next(m))}catch(p){r(p)}},s=m=>{try{o(i.throw(m))}catch(p){r(p)}},o=m=>m.done?n(m.value):Promise.resolve(m.value).then(a,s);o((i=i.apply(t,e)).next())});var q={};$(q,{default:()=>D,externalReact:()=>C,externalVue:()=>_,pluginRspackEmpShare:()=>M});module.exports=G(q);var R=t=>`data:text/javascript,${t}`;function h(t,...e){for(let i of e)for(let n in i){let r=i[n],a=t[n];if(Object(r)==r&&Object(a)===a){t[n]=h(a,r);continue}t[n]=i[n]}return t}var A=!1,J=A?console.log.bind(console,"[EMP Share]"):()=>{};var j="EMP_SHARE_RUNTIME",k="EMPShareGlobalVal",d="EMP_FORCE_REMOTES";var b=require("@empjs/module-federation-rspack");var V=t=>{let e=[`import '${t}'`].join(`
2
- `);return R(e)},u=class{constructor(e){l(this,"options");this.options=e}apply(e){let{webpack:i}=e,n=V("@empjs/share/library");new i.EntryPlugin(e.context,n,{name:void 0}).apply(e)}};var x=(t,e)=>{Object.keys(e).length>0&&t.injectTags([{innerHTML:`window.${d} = ${JSON.stringify(e)};`,tagName:"script",pos:"head"}],"EMP_FORCE_REMOTES")};function E(t,e,i="runtime"){return typeof t=="string"?i==="runtime"?`${t}/runtime${e==="development"?".development":""}.umd.js`:`${t}/${i}.${e}.umd.js`:typeof t=="object"?e==="development"?t.dev:t.prod:""}var S=/^([0-9a-zA-Z_\s]+)@(.*)/,f=class{constructor(e,i){l(this,"op");l(this,"store");l(this,"injectHtml",[]);l(this,"externalsLib",[]);l(this,"fk");l(this,"rt");this.op=e||{},this.store=i}setup(){this.resetRuntime(),this.resetFramework(),this.setMfName(),this.setMF(),this.injectGlobalVal(),this.injectFramework(),this.setShareLib(),this.setRuntimeLib(),this.injectToHtml(),this.setExternal()}injectToHtml(){let{store:e,injectHtml:i}=this;i.length>0&&e.injectTags(i,"EMPShare")}injectFramework(){if(this.fk&&this.fk.libs.length>0)return this.injectFkLibs(this.fk.libs);if(!this.op.empRuntime||!this.fk.lib)return;let{store:e,injectHtml:i}=this;if(this.fk.lib){let n=E(this.fk.lib,e.mode,this.fk.entry);i.push({attributes:{src:n},tagName:"script"})}}injectFkLibs(e){e.map(i=>{if(i.endsWith(".css"))return this.injectHtml.push({attributes:{href:i,rel:"stylesheet"},tagName:"link"});this.injectHtml.push({attributes:{src:i},tagName:"script"})})}injectGlobalVal(){if(!this.op.empRuntime)return;let{empRuntime:e}=this.op,{injectHtml:i}=this,n=this.fk.global||(e.shareLib?"window":"");if(!(e.injectGlobalValToHtml===!1||!this.rt.lib)){let a={frameworkLib:n,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!=="none"&&(a.framework=this.fk.name),i.push({tagName:"script",innerHTML:`window.${k}=${JSON.stringify(a)}`})}}resetFramework(){if(!this.op.empRuntime)return;let{framework:e,frameworkGlobal:i,frameworkLib:n}=this.op.empRuntime;this.fk={name:"none",version:0,entry:"",global:i||"",lib:n||"",libs:[]},typeof e=="string"?this.fk.name=e:typeof e=="object"&&Object.keys(e).length>0&&(e.entry=e.entry?e.entry:e.name,this.fk=h(this.fk,e))}resetRuntime(){var r;let{empRuntime:e}=this.op;if(!e)return;let i=e.runtimeGlobal||j,n=e.runtimeLib?e.runtimeLib:(r=e.runtime)!=null&&r.lib?e.runtime.lib:"";this.rt={lib:n,global:i}}setExternal(){if(!this.op.empRuntime)return;let{store:e,externalsLib:i}=this,{empRuntime:n}=this.op,{shareLib:r}=n,a=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},s={};for(let[o,m]of Object.entries(a))s[o]=`${this.rt.global}.${m}`;if(this.fk.name==="react"&&!r&&this.fk.global){let o=this.fk.version,m={react:"React","react-dom":"ReactDOM"};this.fk.entry==="reactRouter"&&(m["react-router-dom"]="ReactRouterDOM");for(let[p,P]of Object.entries(m))s[p]=`${this.fk.global}.${P}`;[17,18,19].includes(o)&&(s["react-dom/client"]=this.fk.global,s["react/jsx-runtime"]=this.fk.global,s["react/jsx-dev-runtime"]=this.fk.global)}r&&i.map(o=>{o.type==="js"&&o.module&&o.global&&(s[o.module]=`${this.fk.global}.${o.global}`)}),n.setExternals&&n.setExternals(s,this.fk.global,this.rt.global),e.chain.merge({externals:s})}setRuntimeLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{store:i,injectHtml:n}=this,{empRuntime:r}=this.op;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!e||n.push({tagName:"script",pos:"head",attributes:{src:this.rt.lib}}):i.chain.plugin("plugin-emp-share-framework").use(u,[r])}setMfName(){this.op.name?(this.op.name=this.store.encodeVarName(this.op.name),this.op.name!==this.store.empConfig.output.uniqueName&&this.store.chain.output.set("uniqueName",this.op.name)):this.op.name=this.store.empConfig.output.uniqueName}setMF(){var n;let e=this.op,{store:i}=this;if(e.name){let r=i.deepAssign({filename:"emp.js"},e);r.empRuntime&&delete r.empRuntime,e.forceRemotes&&(x(i,e.forceRemotes),delete e.forceRemotes,(n=r.runtimePlugins)==null||n.push(require.resolve("@empjs/share/forceRemote"))),i.chain.plugin("plugin-emp-share").use(b.ModuleFederationPlugin,[r])}}setShareLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{externalsLib:i,injectHtml:n}=this;if(e&&typeof e=="object"){for(let[r,a]of Object.entries(e)){let s={};if(s.module=r,typeof a=="string"){let o=a.match(S)||[];o.length>0?(s.global=o[1],s.entry=o[2],s.type="js",i.push(s),s={}):(s.global="",s.entry=a,s.type="js",i.push(s),s={})}else Array.isArray(a)?a.map(o=>{if(!o)return;if(o.split("?")[0].endsWith(".css"))s.entry=o,s.type="css";else{let p=o.match(S)||[];p.length>0?(s.global=p[1],s.entry=p[2],s.type="js"):(s.global="",s.entry=o,s.type="js")}i.push(s),s={}}):typeof a=="object"&&a.entry&&(s.entry=a.entry,s.global=a.global,s.type=a.type,i.push(s),s={})}i.map(r=>{r.type==="js"?n.push({attributes:{src:r.entry},tagName:"script"}):r.type==="css"&&n.push({attributes:{href:r.entry,rel:"stylesheet"},tagName:"link"})})}}};var C=(t,e)=>(t=Object.assign(t,{react:`${e}.React`,"react-dom":`${e}.ReactDOM`,"react-dom/client":e,"react/jsx-runtime":e,"react/jsx-dev-runtime":e,"react-router-dom":`${e}.ReactRouterDOM`}),t);var _=(t,e)=>(t=Object.assign(t,{vue:`${e}.Vue`,"vue-router":`${e}.VueRouter`}),t);var M=(t={})=>({name:"@empjs/share",rsConfig(i){return g(this,null,function*(){t.manifest===!0?t.manifest={fileName:"emp.json"}:typeof t.manifest=="object"?t.manifest=i.deepAssign({fileName:"emp.json"},t.manifest):t.exposes&&Object.keys(t.exposes).length>0?t.manifest={fileName:"emp.json"}:t.manifest=!1,new f(t,i).setup()})}}),O=M;var D=O;0&&(module.exports={externalReact,externalVue,pluginRspackEmpShare});
3
- //# sourceMappingURL=index.cjs.map
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e,t,r,n,i,a,o){try{var u=e[a](o);var s=u.value}catch(e){r(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(n,i)}}function n(e){return function(){var t=this,n=arguments;return new Promise(function(i,a){var o=e.apply(t,n);function u(e){r(o,i,a,u,s,"next",e)}function s(e){r(o,i,a,u,s,"throw",e)}u(undefined)})}}function i(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function o(e,t,r){if(t)a(e.prototype,t);if(r)a(e,r);return e}function u(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var i=true;var a=false;var o,u;try{for(r=r.call(e);!(i=(o=r.next()).done);i=true){n.push(o.value);if(t&&n.length===t)break}}catch(e){a=true;u=e}finally{try{if(!i&&r["return"]!=null)r["return"]()}finally{if(a)throw u}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e,r){return t(e)||u(e,r)||f(e,r)||s()}function c(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function f(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,i,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=u(0),o["throw"]=u(1),o["return"]=u(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function u(e){return function(t){return s([e,t])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(o&&(o=0,u[0]&&(a=0)),a)try{if(r=1,n&&(i=u[0]&2?n["return"]:u[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,u[1])).done)return i;if(n=0,i)u=[u[0]&2,i.value];switch(u[0]){case 0:case 1:i=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(i=a.trys,i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){a.label=u[1];break}if(u[0]===6&&a.label<i[1]){a.label=i[1];i=u;break}if(i&&a.label<i[2]){a.label=i[2];a.ops.push(u);break}if(i[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var h=Object.create;var p=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var g=function(e,t,r){return t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r};var j=function(e,t){for(var r in t)p(e,r,{get:t[r],enumerable:!0})},k=function(e,t,r,n){var i=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":c(t))=="object"||typeof t=="function")try{var u=function(){var i=l.value;!d.call(e,i)&&i!==r&&p(e,i,{get:function(){return t[i]},enumerable:!(n=b(t,i))||n.enumerable})};for(var s=y(t)[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true)u()}catch(e){a=true;o=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(a){throw o}}}return e};var w=function(e,t,r){return r=e!=null?h(v(e)):{},k(t||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e)},R=function(e){return k(p({},"__esModule",{value:!0}),e)};var O=function(e,t,r){return g(e,(typeof t==="undefined"?"undefined":c(t))!="symbol"?t+"":t,r)};var x={};j(x,{default:function(){return J},externalReact:function(){return D},externalVue:function(){return I},pluginRspackEmpShare:function(){return q}});module.exports=R(x);var S=function(e){return"data:text/javascript,".concat(e)};function E(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}var i=true,a=false,o=undefined;try{for(var u=r[Symbol.iterator](),s;!(i=(s=u.next()).done);i=true){var l=s.value;for(var c in l){var f=l[c],m=e[c];if(Object(f)==f&&Object(m)===m){e[c]=E(m,f);continue}e[c]=l[c]}}}catch(e){a=true;o=e}finally{try{if(!i&&u.return!=null){u.return()}}finally{if(a){throw o}}}return e}var M=!1,L=M?console.log.bind(console,"[EMP Share]"):function(){};var N="EMP_SHARE_RUNTIME",P="EMPShareGlobalVal",_="EMP_FORCE_REMOTES";var F=require("@empjs/module-federation-rspack");var H=function(e){var t=["import '".concat(e,"'")].join("\n");return S(t)},A=/*#__PURE__*/function(){function e(t){i(this,e);O(this,"options");this.options=t}o(e,[{key:"apply",value:function e(e){var t=e.webpack,r=H("@empjs/share/library");new t.EntryPlugin(e.context,r,{name:void 0}).apply(e)}}]);return e}();var T=function(e,t){Object.keys(t).length>0&&e.injectTags([{innerHTML:"window.".concat(_," = ").concat(JSON.stringify(t),";"),tagName:"script",pos:"head"}],"EMP_FORCE_REMOTES")};function V(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"runtime";return typeof e=="string"?r==="runtime"?"".concat(e,"/runtime").concat(t==="development"?".development":"",".umd.js"):"".concat(e,"/").concat(r,".").concat(t,".umd.js"):(typeof e==="undefined"?"undefined":c(e))=="object"?t==="development"?e.dev:e.prod:""}var C=/^([0-9a-zA-Z_\s]+)@(.*)/,G=/*#__PURE__*/function(){function e(t,r){i(this,e);O(this,"op");O(this,"store");O(this,"injectHtml",[]);O(this,"externalsLib",[]);O(this,"fk");O(this,"rt");this.op=t||{},this.store=r}o(e,[{key:"setup",value:function e(){this.resetRuntime(),this.resetFramework(),this.setMfName(),this.setMF(),this.injectGlobalVal(),this.injectFramework(),this.setShareLib(),this.setRuntimeLib(),this.injectToHtml(),this.setExternal()}},{key:"injectToHtml",value:function e(){var e=this,t=e.store,r=e.injectHtml;r.length>0&&t.injectTags(r,"EMPShare")}},{key:"injectFramework",value:function e(){if(this.fk&&this.fk.libs.length>0)return this.injectFkLibs(this.fk.libs);if(!this.op.empRuntime||!this.fk.lib)return;var e=this,t=e.store,r=e.injectHtml;if(this.fk.lib){var n=V(this.fk.lib,t.mode,this.fk.entry);r.push({attributes:{src:n},tagName:"script"})}}},{key:"injectFkLibs",value:function e(e){var t=this;e.map(function(e){if(e.endsWith(".css"))return t.injectHtml.push({attributes:{href:e,rel:"stylesheet"},tagName:"link"});t.injectHtml.push({attributes:{src:e},tagName:"script"})})}},{key:"injectGlobalVal",value:function e(){if(!this.op.empRuntime)return;var e=this.op,t=e.empRuntime,r=this,n=r.injectHtml,i=this.fk.global||(t.shareLib?"window":"");if(!(t.injectGlobalValToHtml===!1||!this.rt.lib)){var a={frameworkLib:i,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!=="none"&&(a.framework=this.fk.name),n.push({tagName:"script",innerHTML:"window.".concat(P,"=").concat(JSON.stringify(a))})}}},{key:"resetFramework",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.framework,r=e.frameworkGlobal,n=e.frameworkLib;this.fk={name:"none",version:0,entry:"",global:r||"",lib:n||"",libs:[]},typeof t=="string"?this.fk.name=t:(typeof t==="undefined"?"undefined":c(t))=="object"&&Object.keys(t).length>0&&(t.entry=t.entry?t.entry:t.name,this.fk=E(this.fk,t))}},{key:"resetRuntime",value:function e(){var e;var t=this.op,r=t.empRuntime;if(!r)return;var n=r.runtimeGlobal||N,i=r.runtimeLib?r.runtimeLib:((e=r.runtime)===null||e===void 0?void 0:e.lib)?r.runtime.lib:"";this.rt={lib:i,global:n}}},{key:"setExternal",value:function e(){var e=this;if(!this.op.empRuntime)return;var t=this,r=t.store,n=t.externalsLib,i=this.op,a=i.empRuntime,o=a.shareLib,u=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},s={};var c=true,f=false,m=undefined;try{for(var h=Object.entries(u)[Symbol.iterator](),p;!(c=(p=h.next()).done);c=true){var b=l(p.value,2),y=b[0],v=b[1];s[y]="".concat(this.rt.global,".").concat(v)}}catch(e){f=true;m=e}finally{try{if(!c&&h.return!=null){h.return()}}finally{if(f){throw m}}}if(this.fk.name==="react"&&!o&&this.fk.global){var d=this.fk.version,g={react:"React","react-dom":"ReactDOM"};this.fk.entry==="reactRouter"&&(g["react-router-dom"]="ReactRouterDOM");var j=true,k=false,w=undefined;try{for(var R=Object.entries(g)[Symbol.iterator](),O;!(j=(O=R.next()).done);j=true){var x=l(O.value,2),S=x[0],E=x[1];s[S]="".concat(this.fk.global,".").concat(E)}}catch(e){k=true;w=e}finally{try{if(!j&&R.return!=null){R.return()}}finally{if(k){throw w}}}[17,18,19].includes(d)&&(s["react-dom/client"]=this.fk.global,s["react/jsx-runtime"]=this.fk.global,s["react/jsx-dev-runtime"]=this.fk.global)}o&&n.map(function(t){t.type==="js"&&t.module&&t.global&&(s[t.module]="".concat(e.fk.global,".").concat(t.global))}),a.setExternals&&a.setExternals(s,this.fk.global,this.rt.global),r.chain.merge({externals:s})}},{key:"setRuntimeLib",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.shareLib,r=this,n=r.store,i=r.injectHtml,a=this.op,o=a.empRuntime;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!t||i.push({tagName:"script",pos:"head",attributes:{src:this.rt.lib}}):n.chain.plugin("plugin-emp-share-framework").use(A,[o])}},{key:"setMfName",value:function e(){this.op.name?(this.op.name=this.store.encodeVarName(this.op.name),this.op.name!==this.store.empConfig.output.uniqueName&&this.store.chain.output.set("uniqueName",this.op.name)):this.op.name=this.store.empConfig.output.uniqueName}},{key:"setMF",value:function e(){var e=this.op,t=this,r=t.store;if(e.name){var n;var i=r.deepAssign({filename:"emp.js"},e);i.empRuntime&&delete i.empRuntime,e.forceRemotes&&(T(r,e.forceRemotes),delete e.forceRemotes,(n=i.runtimePlugins)===null||n===void 0?void 0:n.push(require.resolve("@empjs/share/forceRemote"))),r.chain.plugin("plugin-emp-share").use(F.ModuleFederationPlugin,[i])}}},{key:"setShareLib",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.shareLib,r=this,n=r.externalsLib,i=r.injectHtml;if(t&&(typeof t==="undefined"?"undefined":c(t))=="object"){var a=true,o=false,u=undefined;try{var s=function(){var e=l(m.value,2),t=e[0],r=e[1];var i={};if(i.module=t,typeof r=="string"){var a=r.match(C)||[];a.length>0?(i.global=a[1],i.entry=a[2],i.type="js",n.push(i),i={}):(i.global="",i.entry=r,i.type="js",n.push(i),i={})}else Array.isArray(r)?r.map(function(e){if(!e)return;if(e.split("?")[0].endsWith(".css"))i.entry=e,i.type="css";else{var t=e.match(C)||[];t.length>0?(i.global=t[1],i.entry=t[2],i.type="js"):(i.global="",i.entry=e,i.type="js")}n.push(i),i={}}):(typeof r==="undefined"?"undefined":c(r))=="object"&&r.entry&&(i.entry=r.entry,i.global=r.global,i.type=r.type,n.push(i),i={})};for(var f=Object.entries(t)[Symbol.iterator](),m;!(a=(m=f.next()).done);a=true)s()}catch(e){o=true;u=e}finally{try{if(!a&&f.return!=null){f.return()}}finally{if(o){throw u}}}n.map(function(e){e.type==="js"?i.push({attributes:{src:e.entry},tagName:"script"}):e.type==="css"&&i.push({attributes:{href:e.entry,rel:"stylesheet"},tagName:"link"})})}}}]);return e}();var D=function(e,t){return e=Object.assign(e,{react:"".concat(t,".React"),"react-dom":"".concat(t,".ReactDOM"),"react-dom/client":t,"react/jsx-runtime":t,"react/jsx-dev-runtime":t,"react-router-dom":"".concat(t,".ReactRouterDOM")}),e};var I=function(e,t){return e=Object.assign(e,{vue:"".concat(t,".Vue"),"vue-router":"".concat(t,".VueRouter")}),e};var q=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{name:"@empjs/share",rsConfig:function t(t){return n(function(){return m(this,function(r){e.manifest===!0?e.manifest={fileName:"emp.json"}:c(e.manifest)=="object"?e.manifest=t.deepAssign({fileName:"emp.json"},e.manifest):e.exposes&&Object.keys(e.exposes).length>0?e.manifest={fileName:"emp.json"}:e.manifest=!1,new G(e,t).setup();return[2]})})()}}},U=q;var J=U;0&&(module.exports={externalReact:externalReact,externalVue:externalVue,pluginRspackEmpShare:pluginRspackEmpShare});//# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/helper/index.ts","../src/helper/config.ts","../src/helper/rspack.ts","../src/plugins/rspack/plugin.ts","../src/plugins/rspack/runtimePlugin/registerRemotes.ts","../src/plugins/rspack/utils.ts","../src/plugins/rspack/share.ts","../src/framework/react/config.ts","../src/framework/vue/config.ts","../src/plugins/rspack/index.ts"],"sourcesContent":["import {default as pluginRspackEmpShare} from 'src/plugins/rspack'\nexport default pluginRspackEmpShare\nexport * from 'src/plugins/rspack'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n","// export {ModuleFederationPlugin} from '@module-federation/rspack'\nexport {ModuleFederationPlugin} from '@empjs/module-federation-rspack'\n","import {Compiler} from '@empjs/cli'\nimport {importJsVm} from 'src/helper'\nimport type {EMPSHARERuntimeOptions} from './types'\n\nconst getShareRuntimeEntry = url => {\n const content = [`import '${url}'`].join('\\n')\n return importJsVm(content)\n}\n// 当没有设置 runtimeLib 时候需要内置\nexport class EmpShareRemoteLibPlugin {\n options: EMPSHARERuntimeOptions\n constructor(op: EMPSHARERuntimeOptions) {\n this.options = op\n }\n apply(compiler: Compiler) {\n const {webpack} = compiler\n const entry = getShareRuntimeEntry('@empjs/share/library')\n new webpack.EntryPlugin(compiler.context, entry, {\n name: undefined,\n }).apply(compiler)\n }\n}\n","import {type GlobalStore} from '@empjs/cli'\nimport {shareForceRemote} from 'src/helper/config'\nimport {ForceRemoteOptions} from '../types'\n\nexport const registerRemotes = (store: GlobalStore, forceRemotes: ForceRemoteOptions) => {\n if (Object.keys(forceRemotes).length > 0) {\n store.injectTags(\n [\n {\n innerHTML: `window.${shareForceRemote} = ${JSON.stringify(forceRemotes)};`,\n tagName: 'script',\n pos: 'head',\n },\n ],\n 'EMP_FORCE_REMOTES',\n )\n }\n}\n","import type {EMPSHARERuntimeOptions} from './types'\nexport function getRuntimeLib(host: EMPSHARERuntimeOptions['frameworkLib'], mode: string, entry = 'runtime') {\n if (typeof host === 'string') {\n if (entry === 'runtime') {\n return `${host}/runtime${mode === 'development' ? '.development' : ''}.umd.js`\n } else {\n return `${host}/${entry}.${mode}.umd.js`\n }\n } else if (typeof host === 'object') {\n if (mode === 'development') return host.dev\n else return host.prod\n }\n return ''\n}\n","import type {GlobalStore} from '@empjs/cli'\nimport {deepAssign} from 'src/helper'\nimport {shareGlobalName, shareGlobalVal} from 'src/helper/config'\nimport {ModuleFederationPlugin} from 'src/helper/rspack'\nimport {EmpShareRemoteLibPlugin} from './plugin'\nimport {registerRemotes} from './runtimePlugin/registerRemotes'\nimport type {\n EMPPluginShareType,\n ExternalsItemType,\n frameworkOptions,\n ModuleFederationPluginOptions,\n runtimeLibType,\n} from './types'\nimport {getRuntimeLib} from './utils'\n\nconst exp = /^([0-9a-zA-Z_\\s]+)@(.*)/\nexport class EmpShare {\n private op: EMPPluginShareType\n private store: GlobalStore\n /**\n * 注入资源\n */\n private injectHtml: any[] = []\n /**\n * 兼容 shareLib\n */\n private externalsLib: ExternalsItemType[] = []\n constructor(op: EMPPluginShareType, store: GlobalStore) {\n this.op = op || {}\n this.store = store\n }\n setup() {\n this.resetRuntime()\n this.resetFramework()\n this.setMfName() //设置 mfName 默认为 uniqueName\n this.setMF() // 设置 MF 配置\n this.injectGlobalVal() // 插入全局变量 方便emp外的项目调用\n this.injectFramework() // 插入ui框架库\n this.setShareLib() //兼容 emp Sharelib的共享模型设置\n this.setRuntimeLib() // 设置 MF SDK\n this.injectToHtml() //触发插入动作\n this.setExternal() // 设置 external 降低包体\n }\n private injectToHtml() {\n const {store, injectHtml} = this\n if (injectHtml.length > 0) {\n store.injectTags(injectHtml, 'EMPShare')\n }\n }\n private injectFramework() {\n if (this.fk && this.fk.libs.length > 0) {\n return this.injectFkLibs(this.fk.libs)\n }\n if (!this.op.empRuntime || !this.fk.lib) return\n const {store, injectHtml} = this\n if (this.fk.lib) {\n const url = getRuntimeLib(this.fk.lib, store.mode, this.fk.entry)\n injectHtml.push({\n attributes: {\n src: url,\n },\n tagName: 'script',\n })\n }\n }\n private injectFkLibs(libs: string[]) {\n libs.map(url => {\n if (url.endsWith('.css')) {\n return this.injectHtml.push({\n attributes: {\n href: url,\n rel: 'stylesheet',\n },\n tagName: 'link',\n })\n }\n this.injectHtml.push({\n attributes: {\n src: url,\n },\n tagName: 'script',\n })\n })\n }\n private injectGlobalVal() {\n if (!this.op.empRuntime) return\n const {empRuntime} = this.op\n const {injectHtml} = this\n const frameworkGlobal = this.fk.global || (empRuntime.shareLib ? 'window' : '')\n const injectGlobalValToHtml = empRuntime.injectGlobalValToHtml === false || !this.rt.lib ? false : true\n // 插入全局引用变量 让 empRuntime 可以提前实例化 不需要在页面重复实例化\n if (injectGlobalValToHtml) {\n const injectData: any = {frameworkLib: frameworkGlobal, runtimeLib: this.rt.global}\n if (this.fk.name && this.fk.name !== 'none') injectData.framework = this.fk.name\n injectHtml.push({\n // type: 'js',\n tagName: 'script',\n innerHTML: `window.${shareGlobalVal}=${JSON.stringify(injectData)}`,\n })\n }\n }\n public fk!: Required<frameworkOptions>\n private resetFramework() {\n if (!this.op.empRuntime) return\n const {framework, frameworkGlobal, frameworkLib} = this.op.empRuntime\n //\n this.fk = {\n name: 'none',\n version: 0,\n entry: '',\n global: frameworkGlobal || '',\n lib: frameworkLib || '',\n libs: [],\n }\n //\n if (typeof framework === 'string') {\n this.fk.name = framework as any\n }\n // TODO 通用 CDN 的适配方案\n else if (typeof framework === 'object' && Object.keys(framework).length > 0) {\n // 默认 框架名 为入口\n framework.entry = framework.entry ? framework.entry : framework.name\n this.fk = deepAssign(this.fk, framework)\n }\n }\n public rt!: Required<runtimeLibType>\n private resetRuntime() {\n const {empRuntime} = this.op\n if (!empRuntime) return\n const global = empRuntime.runtimeGlobal || shareGlobalName\n const lib = empRuntime.runtimeLib ? empRuntime.runtimeLib : empRuntime.runtime?.lib ? empRuntime.runtime.lib : ''\n this.rt = {\n lib,\n global,\n }\n }\n private setExternal() {\n if (!this.op.empRuntime) return\n const {store, externalsLib} = this\n const {empRuntime} = this.op\n const {shareLib} = empRuntime\n //\n const externalRuntime = this.rt.lib\n ? {\n '@module-federation/runtime': `MFRuntime`,\n '@module-federation/sdk': `MFSDK`,\n }\n : {}\n const externals = {}\n for (const [key, value] of Object.entries(externalRuntime)) {\n externals[key] = `${this.rt.global}.${value}`\n }\n /**\n * TODO\n * 框架相关内容需要移除 share 由外部简化配置实现\n */\n if (this.fk.name === 'react' && !shareLib && this.fk.global) {\n const version = this.fk.version\n const externalReact = {\n react: `React`,\n 'react-dom': `ReactDOM`,\n }\n if (this.fk.entry === 'reactRouter') {\n externalReact['react-router-dom'] = 'ReactRouterDOM'\n }\n for (const [key, value] of Object.entries(externalReact)) {\n externals[key] = `${this.fk.global}.${value}`\n }\n if ([17, 18, 19].includes(version)) {\n externals['react-dom/client'] = this.fk.global\n externals['react/jsx-runtime'] = this.fk.global\n externals['react/jsx-dev-runtime'] = this.fk.global\n }\n }\n if (shareLib) {\n externalsLib.map(v => {\n if (v.type === 'js' && v.module && v.global) {\n externals[v.module] = `${this.fk.global}.${v.global}`\n }\n })\n }\n if (empRuntime.setExternals) empRuntime.setExternals(externals, this.fk.global, this.rt.global)\n //\n // console.log('externals in plugin', externals)\n store.chain.merge({externals})\n }\n private setRuntimeLib() {\n if (!this.op.empRuntime) return\n\n const {shareLib} = this.op.empRuntime\n const {store, injectHtml} = this\n const {empRuntime} = this.op\n if (!this.rt.lib) {\n // 内置 this.rt.lib\n store.chain.plugin('plugin-emp-share-framework').use(EmpShareRemoteLibPlugin, [empRuntime])\n }\n // 统一封装到 frameworkLib\n else if (this.rt.lib === 'useFrameworkLib' && !shareLib) {\n } else {\n // 插入 runtime\n injectHtml.push({tagName: 'script', pos: 'head', attributes: {src: this.rt.lib}})\n }\n }\n private setMfName() {\n if (this.op.name) {\n this.op.name = this.store.encodeVarName(this.op.name)\n if (this.op.name !== this.store.empConfig.output.uniqueName) {\n this.store.chain.output.set('uniqueName', this.op.name)\n }\n } else {\n this.op.name = this.store.empConfig.output.uniqueName\n }\n }\n private setMF() {\n const o = this.op\n const {store} = this\n if (o.name) {\n const op = store.deepAssign<ModuleFederationPluginOptions & {empRuntime: any}>(\n {\n filename: 'emp.js',\n // manifest: false,\n // dts: false,\n // dev: {\n // disableDynamicRemoteTypeHints: true,\n // },\n },\n o,\n )\n //\n // if (o.dev === false) op.dev = false\n //\n if (op.empRuntime) {\n delete op.empRuntime\n }\n /**\n * 注册 forceRemotes\n */\n if (o.forceRemotes) {\n registerRemotes(store, o.forceRemotes)\n delete o.forceRemotes\n op.runtimePlugins?.push(require.resolve('@empjs/share/forceRemote'))\n }\n // console.log('op', op)\n store.chain.plugin('plugin-emp-share').use(ModuleFederationPlugin, [op])\n }\n }\n private setShareLib() {\n if (!this.op.empRuntime) return\n const {shareLib} = this.op.empRuntime\n const {externalsLib, injectHtml} = this\n if (shareLib && typeof shareLib === 'object') {\n for (const [k, v] of Object.entries(shareLib)) {\n let externalsItem: ExternalsItemType = {}\n externalsItem.module = k\n //增加下划线 支持lodash 等特殊符号的问题 如 _@http\n\n if (typeof v === 'string') {\n const cb: any = v.match(exp) || []\n if (cb.length > 0) {\n externalsItem.global = cb[1]\n externalsItem.entry = cb[2]\n externalsItem.type = 'js'\n externalsLib.push(externalsItem)\n externalsItem = {}\n } else {\n externalsItem.global = ''\n externalsItem.entry = v\n externalsItem.type = 'js'\n externalsLib.push(externalsItem)\n externalsItem = {}\n }\n } else if (Array.isArray(v)) {\n v.map(vo => {\n if (!vo) return\n const isCSS = vo.split('?')[0].endsWith('.css')\n if (isCSS) {\n externalsItem.entry = vo\n externalsItem.type = 'css'\n } else {\n const cb: any = vo.match(exp) || []\n if (cb.length > 0) {\n externalsItem.global = cb[1]\n externalsItem.entry = cb[2]\n externalsItem.type = 'js'\n } else {\n externalsItem.global = ''\n externalsItem.entry = vo\n externalsItem.type = 'js'\n }\n }\n externalsLib.push(externalsItem)\n externalsItem = {}\n })\n } else if (typeof v === 'object' && v.entry) {\n externalsItem.entry = v.entry\n externalsItem.global = v.global\n externalsItem.type = v.type\n externalsLib.push(externalsItem)\n externalsItem = {}\n }\n }\n // console.log(externalsLib)\n externalsLib.map(v => {\n if (v.type === 'js') {\n injectHtml.push({\n attributes: {\n src: v.entry,\n },\n tagName: 'script',\n })\n } else if (v.type === 'css') {\n injectHtml.push({\n attributes: {\n href: v.entry,\n rel: 'stylesheet',\n },\n tagName: 'link',\n })\n }\n })\n }\n }\n}\n","export const externalReact = (o: any, globalVal: string) => {\n o = Object.assign(o, {\n react: `${globalVal}.React`,\n 'react-dom': `${globalVal}.ReactDOM`,\n 'react-dom/client': globalVal,\n 'react/jsx-runtime': globalVal,\n 'react/jsx-dev-runtime': globalVal,\n 'react-router-dom': `${globalVal}.ReactRouterDOM`,\n })\n return o\n}\n","export const externalVue = (o: any, globalVal: string) => {\n o = Object.assign(o, {\n vue: `${globalVal}.Vue`,\n 'vue-router': `${globalVal}.VueRouter`,\n })\n return o\n}\n","import type {GlobalStore} from '@empjs/cli'\nimport {EmpShare} from './share'\nimport type {EMPPluginShareType} from './types'\nexport type {EMPPluginShareType}\n//\nexport * from 'src/framework/react/config'\nexport * from 'src/framework/vue/config'\nexport * from './types'\n//\nexport const pluginRspackEmpShare = (o: EMPPluginShareType = {}) => {\n return {\n name: '@empjs/share',\n async rsConfig(store: GlobalStore) {\n //\n if (o.manifest === true) {\n o.manifest = {\n fileName: 'emp.json',\n }\n } else if (typeof o.manifest === 'object') {\n o.manifest = store.deepAssign({fileName: 'emp.json'}, o.manifest)\n } else {\n // 默认情况下,如果 exposes 为空则不生成 manifest 避免冲突\n const hasExposes = o.exposes && Object.keys(o.exposes).length > 0\n if (hasExposes) {\n o.manifest = {\n fileName: 'emp.json',\n }\n } else {\n o.manifest = false\n }\n }\n const empShare = new EmpShare(o, store)\n empShare.setup()\n },\n }\n}\nexport default pluginRspackEmpShare\n"],"mappings":"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","names":["src_exports","__export","src_default","externalReact","externalVue","pluginRspackEmpShare","__toCommonJS","importJsVm","content","deepAssign","target","sources","source","k","vs","vt","isDev","log","shareGlobalName","shareGlobalVal","shareForceRemote","import_module_federation_rspack","getShareRuntimeEntry","url","content","importJsVm","EmpShareRemoteLibPlugin","op","__publicField","compiler","webpack","entry","registerRemotes","store","forceRemotes","shareForceRemote","getRuntimeLib","host","mode","entry","exp","EmpShare","op","store","__publicField","injectHtml","url","getRuntimeLib","libs","empRuntime","frameworkGlobal","injectData","shareGlobalVal","framework","frameworkLib","deepAssign","_a","global","shareGlobalName","lib","externalsLib","shareLib","externalRuntime","externals","key","value","version","externalReact","v","EmpShareRemoteLibPlugin","o","registerRemotes","k","externalsItem","cb","vo","externalReact","o","globalVal","externalVue","o","globalVal","pluginRspackEmpShare","o","store","__async","EmpShare","rspack_default","src_default","rspack_default"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/index.cjs","../src/index.ts","../src/helper/index.ts","../src/helper/config.ts","../src/helper/rspack.ts","../src/plugins/rspack/plugin.ts","../src/plugins/rspack/runtimePlugin/registerRemotes.ts","../src/plugins/rspack/utils.ts","../src/plugins/rspack/share.ts","../src/framework/react/config.ts","../src/framework/vue/config.ts","../src/plugins/rspack/index.ts"],"names":["P","Object","create","c","defineProperty","L","getOwnPropertyDescriptor","T","getOwnPropertyNames","v","getPrototypeOf","w","prototype","hasOwnProperty","N","t","e","i","enumerable","configurable","writable","value","H","get","y","r","n","call","$","__esModule","F","m","src_exports","__export","default","src_default","externalReact","externalVue","pluginRspackEmpShare","module","exports","__toCommonJS","importJsVm","content","deepAssign","target","sources","source","k","vs","vt","isDev","log","console","bind","shareGlobalName","shareGlobalVal","shareForceRemote","import_module_federation_rspack","require","getShareRuntimeEntry","url","join","EmpShareRemoteLibPlugin","op","__publicField","options","apply","compiler","webpack","entry","EntryPlugin","context","name","registerRemotes","store","forceRemotes","keys","length","injectTags","innerHTML","JSON","stringify","tagName","pos","getRuntimeLib","host","mode","dev","prod","exp","EmpShare","setup","resetRuntime","resetFramework","setMfName","setMF","injectGlobalVal","injectFramework","setShareLib","setRuntimeLib","injectToHtml","setExternal","injectHtml","fk","libs","injectFkLibs","empRuntime","lib","push","attributes","src","map","endsWith","href","rel","frameworkGlobal","global","shareLib","injectGlobalValToHtml","rt","injectData","frameworkLib","runtimeLib","framework","version","runtimeGlobal","runtime","externalsLib","externalRuntime","externals","entries","key","react","includes","type","setExternals","chain","merge","plugin","use","encodeVarName","empConfig","output","uniqueName","set","o","filename","runtimePlugins","resolve","b","ModuleFederationPlugin","externalsItem","cb","match","Array","isArray","vo","split","globalVal","assign","vue","rsConfig","manifest","fileName","exposes","rspack_default"],"mappings":"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","sourcesContent":["\"use strict\";var P=Object.create;var c=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var N=(t,e,i)=>e in t?c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var H=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},y=(t,e,i,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of T(e))!w.call(t,n)&&n!==i&&c(t,n,{get:()=>e[n],enumerable:!(r=L(e,n))||r.enumerable});return t};var $=(t,e,i)=>(i=t!=null?P(v(t)):{},y(e||!t||!t.__esModule?c(i,\"default\",{value:t,enumerable:!0}):i,t)),F=t=>y(c({},\"__esModule\",{value:!0}),t);var m=(t,e,i)=>N(t,typeof e!=\"symbol\"?e+\"\":e,i);var D={};H(D,{default:()=>_,externalReact:()=>V,externalVue:()=>C,pluginRspackEmpShare:()=>S});module.exports=F(D);var g=t=>`data:text/javascript,${t}`;function h(t,...e){for(let i of e)for(let r in i){let n=i[r],o=t[r];if(Object(n)==n&&Object(o)===o){t[r]=h(o,n);continue}t[r]=i[r]}return t}var G=!1,I=G?console.log.bind(console,\"[EMP Share]\"):()=>{};var R=\"EMP_SHARE_RUNTIME\",j=\"EMPShareGlobalVal\",k=\"EMP_FORCE_REMOTES\";var b=require(\"@empjs/module-federation-rspack\");var A=t=>{let e=[`import '${t}'`].join(`\n`);return g(e)},u=class{constructor(e){m(this,\"options\");this.options=e}apply(e){let{webpack:i}=e,r=A(\"@empjs/share/library\");new i.EntryPlugin(e.context,r,{name:void 0}).apply(e)}};var d=(t,e)=>{Object.keys(e).length>0&&t.injectTags([{innerHTML:`window.${k} = ${JSON.stringify(e)};`,tagName:\"script\",pos:\"head\"}],\"EMP_FORCE_REMOTES\")};function x(t,e,i=\"runtime\"){return typeof t==\"string\"?i===\"runtime\"?`${t}/runtime${e===\"development\"?\".development\":\"\"}.umd.js`:`${t}/${i}.${e}.umd.js`:typeof t==\"object\"?e===\"development\"?t.dev:t.prod:\"\"}var E=/^([0-9a-zA-Z_\\s]+)@(.*)/,f=class{constructor(e,i){m(this,\"op\");m(this,\"store\");m(this,\"injectHtml\",[]);m(this,\"externalsLib\",[]);m(this,\"fk\");m(this,\"rt\");this.op=e||{},this.store=i}setup(){this.resetRuntime(),this.resetFramework(),this.setMfName(),this.setMF(),this.injectGlobalVal(),this.injectFramework(),this.setShareLib(),this.setRuntimeLib(),this.injectToHtml(),this.setExternal()}injectToHtml(){let{store:e,injectHtml:i}=this;i.length>0&&e.injectTags(i,\"EMPShare\")}injectFramework(){if(this.fk&&this.fk.libs.length>0)return this.injectFkLibs(this.fk.libs);if(!this.op.empRuntime||!this.fk.lib)return;let{store:e,injectHtml:i}=this;if(this.fk.lib){let r=x(this.fk.lib,e.mode,this.fk.entry);i.push({attributes:{src:r},tagName:\"script\"})}}injectFkLibs(e){e.map(i=>{if(i.endsWith(\".css\"))return this.injectHtml.push({attributes:{href:i,rel:\"stylesheet\"},tagName:\"link\"});this.injectHtml.push({attributes:{src:i},tagName:\"script\"})})}injectGlobalVal(){if(!this.op.empRuntime)return;let{empRuntime:e}=this.op,{injectHtml:i}=this,r=this.fk.global||(e.shareLib?\"window\":\"\");if(!(e.injectGlobalValToHtml===!1||!this.rt.lib)){let o={frameworkLib:r,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!==\"none\"&&(o.framework=this.fk.name),i.push({tagName:\"script\",innerHTML:`window.${j}=${JSON.stringify(o)}`})}}resetFramework(){if(!this.op.empRuntime)return;let{framework:e,frameworkGlobal:i,frameworkLib:r}=this.op.empRuntime;this.fk={name:\"none\",version:0,entry:\"\",global:i||\"\",lib:r||\"\",libs:[]},typeof e==\"string\"?this.fk.name=e:typeof e==\"object\"&&Object.keys(e).length>0&&(e.entry=e.entry?e.entry:e.name,this.fk=h(this.fk,e))}resetRuntime(){let{empRuntime:e}=this.op;if(!e)return;let i=e.runtimeGlobal||R,r=e.runtimeLib?e.runtimeLib:e.runtime?.lib?e.runtime.lib:\"\";this.rt={lib:r,global:i}}setExternal(){if(!this.op.empRuntime)return;let{store:e,externalsLib:i}=this,{empRuntime:r}=this.op,{shareLib:n}=r,o=this.rt.lib?{\"@module-federation/runtime\":\"MFRuntime\",\"@module-federation/sdk\":\"MFSDK\"}:{},s={};for(let[a,p]of Object.entries(o))s[a]=`${this.rt.global}.${p}`;if(this.fk.name===\"react\"&&!n&&this.fk.global){let a=this.fk.version,p={react:\"React\",\"react-dom\":\"ReactDOM\"};this.fk.entry===\"reactRouter\"&&(p[\"react-router-dom\"]=\"ReactRouterDOM\");for(let[l,O]of Object.entries(p))s[l]=`${this.fk.global}.${O}`;[17,18,19].includes(a)&&(s[\"react-dom/client\"]=this.fk.global,s[\"react/jsx-runtime\"]=this.fk.global,s[\"react/jsx-dev-runtime\"]=this.fk.global)}n&&i.map(a=>{a.type===\"js\"&&a.module&&a.global&&(s[a.module]=`${this.fk.global}.${a.global}`)}),r.setExternals&&r.setExternals(s,this.fk.global,this.rt.global),e.chain.merge({externals:s})}setRuntimeLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{store:i,injectHtml:r}=this,{empRuntime:n}=this.op;this.rt.lib?this.rt.lib===\"useFrameworkLib\"&&!e||r.push({tagName:\"script\",pos:\"head\",attributes:{src:this.rt.lib}}):i.chain.plugin(\"plugin-emp-share-framework\").use(u,[n])}setMfName(){this.op.name?(this.op.name=this.store.encodeVarName(this.op.name),this.op.name!==this.store.empConfig.output.uniqueName&&this.store.chain.output.set(\"uniqueName\",this.op.name)):this.op.name=this.store.empConfig.output.uniqueName}setMF(){let e=this.op,{store:i}=this;if(e.name){let r=i.deepAssign({filename:\"emp.js\"},e);r.empRuntime&&delete r.empRuntime,e.forceRemotes&&(d(i,e.forceRemotes),delete e.forceRemotes,r.runtimePlugins?.push(require.resolve(\"@empjs/share/forceRemote\"))),i.chain.plugin(\"plugin-emp-share\").use(b.ModuleFederationPlugin,[r])}}setShareLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{externalsLib:i,injectHtml:r}=this;if(e&&typeof e==\"object\"){for(let[n,o]of Object.entries(e)){let s={};if(s.module=n,typeof o==\"string\"){let a=o.match(E)||[];a.length>0?(s.global=a[1],s.entry=a[2],s.type=\"js\",i.push(s),s={}):(s.global=\"\",s.entry=o,s.type=\"js\",i.push(s),s={})}else Array.isArray(o)?o.map(a=>{if(!a)return;if(a.split(\"?\")[0].endsWith(\".css\"))s.entry=a,s.type=\"css\";else{let l=a.match(E)||[];l.length>0?(s.global=l[1],s.entry=l[2],s.type=\"js\"):(s.global=\"\",s.entry=a,s.type=\"js\")}i.push(s),s={}}):typeof o==\"object\"&&o.entry&&(s.entry=o.entry,s.global=o.global,s.type=o.type,i.push(s),s={})}i.map(n=>{n.type===\"js\"?r.push({attributes:{src:n.entry},tagName:\"script\"}):n.type===\"css\"&&r.push({attributes:{href:n.entry,rel:\"stylesheet\"},tagName:\"link\"})})}}};var V=(t,e)=>(t=Object.assign(t,{react:`${e}.React`,\"react-dom\":`${e}.ReactDOM`,\"react-dom/client\":e,\"react/jsx-runtime\":e,\"react/jsx-dev-runtime\":e,\"react-router-dom\":`${e}.ReactRouterDOM`}),t);var C=(t,e)=>(t=Object.assign(t,{vue:`${e}.Vue`,\"vue-router\":`${e}.VueRouter`}),t);var S=(t={})=>({name:\"@empjs/share\",async rsConfig(e){t.manifest===!0?t.manifest={fileName:\"emp.json\"}:typeof t.manifest==\"object\"?t.manifest=e.deepAssign({fileName:\"emp.json\"},t.manifest):t.exposes&&Object.keys(t.exposes).length>0?t.manifest={fileName:\"emp.json\"}:t.manifest=!1,new f(t,e).setup()}}),M=S;var _=M;0&&(module.exports={externalReact,externalVue,pluginRspackEmpShare});\n","import {default as pluginRspackEmpShare} from 'src/plugins/rspack'\nexport default pluginRspackEmpShare\nexport * from 'src/plugins/rspack'\n","export const importJsVm = (content: string) => `data:text/javascript,${content}`\n\nexport function deepAssign<T>(target: any, ...sources: any): T {\n for (const source of sources) {\n for (const k in source) {\n const vs = source[k],\n vt = target[k]\n if (Object(vs) == vs && Object(vt) === vt) {\n target[k] = deepAssign(vt, vs)\n continue\n }\n target[k] = source[k]\n }\n }\n return target\n}\n\nexport const checkVersion = (version: string) => (version ? Number(version.split('.')[0]) : 0)\nexport const isPromise = (p: any) => p && Object.prototype.toString.call(p) === '[object Promise]'\n\n//\nexport const isDev = process.env.EMPSHARE_ENV === 'dev'\nexport const log = isDev ? console.log.bind(console, '[EMP Share]') : () => {}\n","export const shareGlobalName = 'EMP_SHARE_RUNTIME'\nexport const shareGlobalVal = 'EMPShareGlobalVal'\nexport const shareForceRemote = 'EMP_FORCE_REMOTES'\n","// export {ModuleFederationPlugin} from '@module-federation/rspack'\nexport {ModuleFederationPlugin} from '@empjs/module-federation-rspack'\n","import {Compiler} from '@empjs/cli'\nimport {importJsVm} from 'src/helper'\nimport type {EMPSHARERuntimeOptions} from './types'\n\nconst getShareRuntimeEntry = url => {\n const content = [`import '${url}'`].join('\\n')\n return importJsVm(content)\n}\n// 当没有设置 runtimeLib 时候需要内置\nexport class EmpShareRemoteLibPlugin {\n options: EMPSHARERuntimeOptions\n constructor(op: EMPSHARERuntimeOptions) {\n this.options = op\n }\n apply(compiler: Compiler) {\n const {webpack} = compiler\n const entry = getShareRuntimeEntry('@empjs/share/library')\n new webpack.EntryPlugin(compiler.context, entry, {\n name: undefined,\n }).apply(compiler)\n }\n}\n","import {type GlobalStore} from '@empjs/cli'\nimport {shareForceRemote} from 'src/helper/config'\nimport {ForceRemoteOptions} from '../types'\n\nexport const registerRemotes = (store: GlobalStore, forceRemotes: ForceRemoteOptions) => {\n if (Object.keys(forceRemotes).length > 0) {\n store.injectTags(\n [\n {\n innerHTML: `window.${shareForceRemote} = ${JSON.stringify(forceRemotes)};`,\n tagName: 'script',\n pos: 'head',\n },\n ],\n 'EMP_FORCE_REMOTES',\n )\n }\n}\n","import type {EMPSHARERuntimeOptions} from './types'\nexport function getRuntimeLib(host: EMPSHARERuntimeOptions['frameworkLib'], mode: string, entry = 'runtime') {\n if (typeof host === 'string') {\n if (entry === 'runtime') {\n return `${host}/runtime${mode === 'development' ? '.development' : ''}.umd.js`\n } else {\n return `${host}/${entry}.${mode}.umd.js`\n }\n } else if (typeof host === 'object') {\n if (mode === 'development') return host.dev\n else return host.prod\n }\n return ''\n}\n","import type {GlobalStore} from '@empjs/cli'\nimport {deepAssign} from 'src/helper'\nimport {shareGlobalName, shareGlobalVal} from 'src/helper/config'\nimport {ModuleFederationPlugin} from 'src/helper/rspack'\nimport {EmpShareRemoteLibPlugin} from './plugin'\nimport {registerRemotes} from './runtimePlugin/registerRemotes'\nimport type {\n EMPPluginShareType,\n ExternalsItemType,\n frameworkOptions,\n ModuleFederationPluginOptions,\n runtimeLibType,\n} from './types'\nimport {getRuntimeLib} from './utils'\n\nconst exp = /^([0-9a-zA-Z_\\s]+)@(.*)/\nexport class EmpShare {\n private op: EMPPluginShareType\n private store: GlobalStore\n /**\n * 注入资源\n */\n private injectHtml: any[] = []\n /**\n * 兼容 shareLib\n */\n private externalsLib: ExternalsItemType[] = []\n constructor(op: EMPPluginShareType, store: GlobalStore) {\n this.op = op || {}\n this.store = store\n }\n setup() {\n this.resetRuntime()\n this.resetFramework()\n this.setMfName() //设置 mfName 默认为 uniqueName\n this.setMF() // 设置 MF 配置\n this.injectGlobalVal() // 插入全局变量 方便emp外的项目调用\n this.injectFramework() // 插入ui框架库\n this.setShareLib() //兼容 emp Sharelib的共享模型设置\n this.setRuntimeLib() // 设置 MF SDK\n this.injectToHtml() //触发插入动作\n this.setExternal() // 设置 external 降低包体\n }\n private injectToHtml() {\n const {store, injectHtml} = this\n if (injectHtml.length > 0) {\n store.injectTags(injectHtml, 'EMPShare')\n }\n }\n private injectFramework() {\n if (this.fk && this.fk.libs.length > 0) {\n return this.injectFkLibs(this.fk.libs)\n }\n if (!this.op.empRuntime || !this.fk.lib) return\n const {store, injectHtml} = this\n if (this.fk.lib) {\n const url = getRuntimeLib(this.fk.lib, store.mode, this.fk.entry)\n injectHtml.push({\n attributes: {\n src: url,\n },\n tagName: 'script',\n })\n }\n }\n private injectFkLibs(libs: string[]) {\n libs.map(url => {\n if (url.endsWith('.css')) {\n return this.injectHtml.push({\n attributes: {\n href: url,\n rel: 'stylesheet',\n },\n tagName: 'link',\n })\n }\n this.injectHtml.push({\n attributes: {\n src: url,\n },\n tagName: 'script',\n })\n })\n }\n private injectGlobalVal() {\n if (!this.op.empRuntime) return\n const {empRuntime} = this.op\n const {injectHtml} = this\n const frameworkGlobal = this.fk.global || (empRuntime.shareLib ? 'window' : '')\n const injectGlobalValToHtml = empRuntime.injectGlobalValToHtml === false || !this.rt.lib ? false : true\n // 插入全局引用变量 让 empRuntime 可以提前实例化 不需要在页面重复实例化\n if (injectGlobalValToHtml) {\n const injectData: any = {frameworkLib: frameworkGlobal, runtimeLib: this.rt.global}\n if (this.fk.name && this.fk.name !== 'none') injectData.framework = this.fk.name\n injectHtml.push({\n // type: 'js',\n tagName: 'script',\n innerHTML: `window.${shareGlobalVal}=${JSON.stringify(injectData)}`,\n })\n }\n }\n public fk!: Required<frameworkOptions>\n private resetFramework() {\n if (!this.op.empRuntime) return\n const {framework, frameworkGlobal, frameworkLib} = this.op.empRuntime\n //\n this.fk = {\n name: 'none',\n version: 0,\n entry: '',\n global: frameworkGlobal || '',\n lib: frameworkLib || '',\n libs: [],\n }\n //\n if (typeof framework === 'string') {\n this.fk.name = framework as any\n }\n // TODO 通用 CDN 的适配方案\n else if (typeof framework === 'object' && Object.keys(framework).length > 0) {\n // 默认 框架名 为入口\n framework.entry = framework.entry ? framework.entry : framework.name\n this.fk = deepAssign(this.fk, framework)\n }\n }\n public rt!: Required<runtimeLibType>\n private resetRuntime() {\n const {empRuntime} = this.op\n if (!empRuntime) return\n const global = empRuntime.runtimeGlobal || shareGlobalName\n const lib = empRuntime.runtimeLib ? empRuntime.runtimeLib : empRuntime.runtime?.lib ? empRuntime.runtime.lib : ''\n this.rt = {\n lib,\n global,\n }\n }\n private setExternal() {\n if (!this.op.empRuntime) return\n const {store, externalsLib} = this\n const {empRuntime} = this.op\n const {shareLib} = empRuntime\n //\n const externalRuntime = this.rt.lib\n ? {\n '@module-federation/runtime': `MFRuntime`,\n '@module-federation/sdk': `MFSDK`,\n }\n : {}\n const externals = {}\n for (const [key, value] of Object.entries(externalRuntime)) {\n externals[key] = `${this.rt.global}.${value}`\n }\n /**\n * TODO\n * 框架相关内容需要移除 share 由外部简化配置实现\n */\n if (this.fk.name === 'react' && !shareLib && this.fk.global) {\n const version = this.fk.version\n const externalReact = {\n react: `React`,\n 'react-dom': `ReactDOM`,\n }\n if (this.fk.entry === 'reactRouter') {\n externalReact['react-router-dom'] = 'ReactRouterDOM'\n }\n for (const [key, value] of Object.entries(externalReact)) {\n externals[key] = `${this.fk.global}.${value}`\n }\n if ([17, 18, 19].includes(version)) {\n externals['react-dom/client'] = this.fk.global\n externals['react/jsx-runtime'] = this.fk.global\n externals['react/jsx-dev-runtime'] = this.fk.global\n }\n }\n if (shareLib) {\n externalsLib.map(v => {\n if (v.type === 'js' && v.module && v.global) {\n externals[v.module] = `${this.fk.global}.${v.global}`\n }\n })\n }\n if (empRuntime.setExternals) empRuntime.setExternals(externals, this.fk.global, this.rt.global)\n //\n // console.log('externals in plugin', externals)\n store.chain.merge({externals})\n }\n private setRuntimeLib() {\n if (!this.op.empRuntime) return\n\n const {shareLib} = this.op.empRuntime\n const {store, injectHtml} = this\n const {empRuntime} = this.op\n if (!this.rt.lib) {\n // 内置 this.rt.lib\n store.chain.plugin('plugin-emp-share-framework').use(EmpShareRemoteLibPlugin, [empRuntime])\n }\n // 统一封装到 frameworkLib\n else if (this.rt.lib === 'useFrameworkLib' && !shareLib) {\n } else {\n // 插入 runtime\n injectHtml.push({tagName: 'script', pos: 'head', attributes: {src: this.rt.lib}})\n }\n }\n private setMfName() {\n if (this.op.name) {\n this.op.name = this.store.encodeVarName(this.op.name)\n if (this.op.name !== this.store.empConfig.output.uniqueName) {\n this.store.chain.output.set('uniqueName', this.op.name)\n }\n } else {\n this.op.name = this.store.empConfig.output.uniqueName\n }\n }\n private setMF() {\n const o = this.op\n const {store} = this\n if (o.name) {\n const op = store.deepAssign<ModuleFederationPluginOptions & {empRuntime: any}>(\n {\n filename: 'emp.js',\n // manifest: false,\n // dts: false,\n // dev: {\n // disableDynamicRemoteTypeHints: true,\n // },\n },\n o,\n )\n //\n // if (o.dev === false) op.dev = false\n //\n if (op.empRuntime) {\n delete op.empRuntime\n }\n /**\n * 注册 forceRemotes\n */\n if (o.forceRemotes) {\n registerRemotes(store, o.forceRemotes)\n delete o.forceRemotes\n op.runtimePlugins?.push(require.resolve('@empjs/share/forceRemote'))\n }\n // console.log('op', op)\n store.chain.plugin('plugin-emp-share').use(ModuleFederationPlugin, [op])\n }\n }\n private setShareLib() {\n if (!this.op.empRuntime) return\n const {shareLib} = this.op.empRuntime\n const {externalsLib, injectHtml} = this\n if (shareLib && typeof shareLib === 'object') {\n for (const [k, v] of Object.entries(shareLib)) {\n let externalsItem: ExternalsItemType = {}\n externalsItem.module = k\n //增加下划线 支持lodash 等特殊符号的问题 如 _@http\n\n if (typeof v === 'string') {\n const cb: any = v.match(exp) || []\n if (cb.length > 0) {\n externalsItem.global = cb[1]\n externalsItem.entry = cb[2]\n externalsItem.type = 'js'\n externalsLib.push(externalsItem)\n externalsItem = {}\n } else {\n externalsItem.global = ''\n externalsItem.entry = v\n externalsItem.type = 'js'\n externalsLib.push(externalsItem)\n externalsItem = {}\n }\n } else if (Array.isArray(v)) {\n v.map(vo => {\n if (!vo) return\n const isCSS = vo.split('?')[0].endsWith('.css')\n if (isCSS) {\n externalsItem.entry = vo\n externalsItem.type = 'css'\n } else {\n const cb: any = vo.match(exp) || []\n if (cb.length > 0) {\n externalsItem.global = cb[1]\n externalsItem.entry = cb[2]\n externalsItem.type = 'js'\n } else {\n externalsItem.global = ''\n externalsItem.entry = vo\n externalsItem.type = 'js'\n }\n }\n externalsLib.push(externalsItem)\n externalsItem = {}\n })\n } else if (typeof v === 'object' && v.entry) {\n externalsItem.entry = v.entry\n externalsItem.global = v.global\n externalsItem.type = v.type\n externalsLib.push(externalsItem)\n externalsItem = {}\n }\n }\n // console.log(externalsLib)\n externalsLib.map(v => {\n if (v.type === 'js') {\n injectHtml.push({\n attributes: {\n src: v.entry,\n },\n tagName: 'script',\n })\n } else if (v.type === 'css') {\n injectHtml.push({\n attributes: {\n href: v.entry,\n rel: 'stylesheet',\n },\n tagName: 'link',\n })\n }\n })\n }\n }\n}\n","export const externalReact = (o: any, globalVal: string) => {\n o = Object.assign(o, {\n react: `${globalVal}.React`,\n 'react-dom': `${globalVal}.ReactDOM`,\n 'react-dom/client': globalVal,\n 'react/jsx-runtime': globalVal,\n 'react/jsx-dev-runtime': globalVal,\n 'react-router-dom': `${globalVal}.ReactRouterDOM`,\n })\n return o\n}\n","export const externalVue = (o: any, globalVal: string) => {\n o = Object.assign(o, {\n vue: `${globalVal}.Vue`,\n 'vue-router': `${globalVal}.VueRouter`,\n })\n return o\n}\n","import type {GlobalStore} from '@empjs/cli'\nimport {EmpShare} from './share'\nimport type {EMPPluginShareType} from './types'\nexport type {EMPPluginShareType}\n//\nexport * from 'src/framework/react/config'\nexport * from 'src/framework/vue/config'\nexport * from './types'\n//\nexport const pluginRspackEmpShare = (o: EMPPluginShareType = {}) => {\n return {\n name: '@empjs/share',\n async rsConfig(store: GlobalStore) {\n //\n if (o.manifest === true) {\n o.manifest = {\n fileName: 'emp.json',\n }\n } else if (typeof o.manifest === 'object') {\n o.manifest = store.deepAssign({fileName: 'emp.json'}, o.manifest)\n } else {\n // 默认情况下,如果 exposes 为空则不生成 manifest 避免冲突\n const hasExposes = o.exposes && Object.keys(o.exposes).length > 0\n if (hasExposes) {\n o.manifest = {\n fileName: 'emp.json',\n }\n } else {\n o.manifest = false\n }\n }\n const empShare = new EmpShare(o, store)\n empShare.setup()\n },\n }\n}\nexport default pluginRspackEmpShare\n"]}
package/dist/index.js CHANGED
@@ -1,3 +1 @@
1
- var O=Object.defineProperty;var P=(i,e,t)=>e in i?O(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var h=(i=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(i,{get:(e,t)=>(typeof require!="undefined"?require:e)[t]}):i)(function(i){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var l=(i,e,t)=>P(i,typeof e!="symbol"?e+"":e,t);var b=(i,e,t)=>new Promise((r,n)=>{var a=m=>{try{o(t.next(m))}catch(p){n(p)}},s=m=>{try{o(t.throw(m))}catch(p){n(p)}},o=m=>m.done?r(m.value):Promise.resolve(m.value).then(a,s);o((t=t.apply(i,e)).next())});var y=i=>`data:text/javascript,${i}`;function f(i,...e){for(let t of e)for(let r in t){let n=t[r],a=i[r];if(Object(n)==n&&Object(a)===a){i[r]=f(a,n);continue}i[r]=t[r]}return i}var L=!1,N=L?console.log.bind(console,"[EMP Share]"):()=>{};var g="EMP_SHARE_RUNTIME",R="EMPShareGlobalVal",j="EMP_FORCE_REMOTES";import{ModuleFederationPlugin as k}from"@empjs/module-federation-rspack";var T=i=>{let e=[`import '${i}'`].join(`
2
- `);return y(e)},c=class{constructor(e){l(this,"options");this.options=e}apply(e){let{webpack:t}=e,r=T("@empjs/share/library");new t.EntryPlugin(e.context,r,{name:void 0}).apply(e)}};var d=(i,e)=>{Object.keys(e).length>0&&i.injectTags([{innerHTML:`window.${j} = ${JSON.stringify(e)};`,tagName:"script",pos:"head"}],"EMP_FORCE_REMOTES")};function x(i,e,t="runtime"){return typeof i=="string"?t==="runtime"?`${i}/runtime${e==="development"?".development":""}.umd.js`:`${i}/${t}.${e}.umd.js`:typeof i=="object"?e==="development"?i.dev:i.prod:""}var E=/^([0-9a-zA-Z_\s]+)@(.*)/,u=class{constructor(e,t){l(this,"op");l(this,"store");l(this,"injectHtml",[]);l(this,"externalsLib",[]);l(this,"fk");l(this,"rt");this.op=e||{},this.store=t}setup(){this.resetRuntime(),this.resetFramework(),this.setMfName(),this.setMF(),this.injectGlobalVal(),this.injectFramework(),this.setShareLib(),this.setRuntimeLib(),this.injectToHtml(),this.setExternal()}injectToHtml(){let{store:e,injectHtml:t}=this;t.length>0&&e.injectTags(t,"EMPShare")}injectFramework(){if(this.fk&&this.fk.libs.length>0)return this.injectFkLibs(this.fk.libs);if(!this.op.empRuntime||!this.fk.lib)return;let{store:e,injectHtml:t}=this;if(this.fk.lib){let r=x(this.fk.lib,e.mode,this.fk.entry);t.push({attributes:{src:r},tagName:"script"})}}injectFkLibs(e){e.map(t=>{if(t.endsWith(".css"))return this.injectHtml.push({attributes:{href:t,rel:"stylesheet"},tagName:"link"});this.injectHtml.push({attributes:{src:t},tagName:"script"})})}injectGlobalVal(){if(!this.op.empRuntime)return;let{empRuntime:e}=this.op,{injectHtml:t}=this,r=this.fk.global||(e.shareLib?"window":"");if(!(e.injectGlobalValToHtml===!1||!this.rt.lib)){let a={frameworkLib:r,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!=="none"&&(a.framework=this.fk.name),t.push({tagName:"script",innerHTML:`window.${R}=${JSON.stringify(a)}`})}}resetFramework(){if(!this.op.empRuntime)return;let{framework:e,frameworkGlobal:t,frameworkLib:r}=this.op.empRuntime;this.fk={name:"none",version:0,entry:"",global:t||"",lib:r||"",libs:[]},typeof e=="string"?this.fk.name=e:typeof e=="object"&&Object.keys(e).length>0&&(e.entry=e.entry?e.entry:e.name,this.fk=f(this.fk,e))}resetRuntime(){var n;let{empRuntime:e}=this.op;if(!e)return;let t=e.runtimeGlobal||g,r=e.runtimeLib?e.runtimeLib:(n=e.runtime)!=null&&n.lib?e.runtime.lib:"";this.rt={lib:r,global:t}}setExternal(){if(!this.op.empRuntime)return;let{store:e,externalsLib:t}=this,{empRuntime:r}=this.op,{shareLib:n}=r,a=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},s={};for(let[o,m]of Object.entries(a))s[o]=`${this.rt.global}.${m}`;if(this.fk.name==="react"&&!n&&this.fk.global){let o=this.fk.version,m={react:"React","react-dom":"ReactDOM"};this.fk.entry==="reactRouter"&&(m["react-router-dom"]="ReactRouterDOM");for(let[p,M]of Object.entries(m))s[p]=`${this.fk.global}.${M}`;[17,18,19].includes(o)&&(s["react-dom/client"]=this.fk.global,s["react/jsx-runtime"]=this.fk.global,s["react/jsx-dev-runtime"]=this.fk.global)}n&&t.map(o=>{o.type==="js"&&o.module&&o.global&&(s[o.module]=`${this.fk.global}.${o.global}`)}),r.setExternals&&r.setExternals(s,this.fk.global,this.rt.global),e.chain.merge({externals:s})}setRuntimeLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{store:t,injectHtml:r}=this,{empRuntime:n}=this.op;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!e||r.push({tagName:"script",pos:"head",attributes:{src:this.rt.lib}}):t.chain.plugin("plugin-emp-share-framework").use(c,[n])}setMfName(){this.op.name?(this.op.name=this.store.encodeVarName(this.op.name),this.op.name!==this.store.empConfig.output.uniqueName&&this.store.chain.output.set("uniqueName",this.op.name)):this.op.name=this.store.empConfig.output.uniqueName}setMF(){var r;let e=this.op,{store:t}=this;if(e.name){let n=t.deepAssign({filename:"emp.js"},e);n.empRuntime&&delete n.empRuntime,e.forceRemotes&&(d(t,e.forceRemotes),delete e.forceRemotes,(r=n.runtimePlugins)==null||r.push(h.resolve("@empjs/share/forceRemote"))),t.chain.plugin("plugin-emp-share").use(k,[n])}}setShareLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{externalsLib:t,injectHtml:r}=this;if(e&&typeof e=="object"){for(let[n,a]of Object.entries(e)){let s={};if(s.module=n,typeof a=="string"){let o=a.match(E)||[];o.length>0?(s.global=o[1],s.entry=o[2],s.type="js",t.push(s),s={}):(s.global="",s.entry=a,s.type="js",t.push(s),s={})}else Array.isArray(a)?a.map(o=>{if(!o)return;if(o.split("?")[0].endsWith(".css"))s.entry=o,s.type="css";else{let p=o.match(E)||[];p.length>0?(s.global=p[1],s.entry=p[2],s.type="js"):(s.global="",s.entry=o,s.type="js")}t.push(s),s={}}):typeof a=="object"&&a.entry&&(s.entry=a.entry,s.global=a.global,s.type=a.type,t.push(s),s={})}t.map(n=>{n.type==="js"?r.push({attributes:{src:n.entry},tagName:"script"}):n.type==="css"&&r.push({attributes:{href:n.entry,rel:"stylesheet"},tagName:"link"})})}}};var Q=(i,e)=>(i=Object.assign(i,{react:`${e}.React`,"react-dom":`${e}.ReactDOM`,"react-dom/client":e,"react/jsx-runtime":e,"react/jsx-dev-runtime":e,"react-router-dom":`${e}.ReactRouterDOM`}),i);var Y=(i,e)=>(i=Object.assign(i,{vue:`${e}.Vue`,"vue-router":`${e}.VueRouter`}),i);var v=(i={})=>({name:"@empjs/share",rsConfig(t){return b(this,null,function*(){i.manifest===!0?i.manifest={fileName:"emp.json"}:typeof i.manifest=="object"?i.manifest=t.deepAssign({fileName:"emp.json"},i.manifest):i.exposes&&Object.keys(i.exposes).length>0?i.manifest={fileName:"emp.json"}:i.manifest=!1,new u(i,t).setup()})}}),S=v;var me=S;export{me as default,Q as externalReact,Y as externalVue,v as pluginRspackEmpShare};
3
- //# sourceMappingURL=index.js.map
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e,t,r,n,i,a,o){try{var u=e[a](o);var s=u.value}catch(e){r(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(n,i)}}function n(e){return function(){var t=this,n=arguments;return new Promise(function(i,a){var o=e.apply(t,n);function u(e){r(o,i,a,u,s,"next",e)}function s(e){r(o,i,a,u,s,"throw",e)}u(undefined)})}}function i(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function o(e,t,r){if(t)a(e.prototype,t);if(r)a(e,r);return e}function u(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var i=true;var a=false;var o,u;try{for(r=r.call(e);!(i=(o=r.next()).done);i=true){n.push(o.value);if(t&&n.length===t)break}}catch(e){a=true;u=e}finally{try{if(!i&&r["return"]!=null)r["return"]()}finally{if(a)throw u}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e,r){return t(e)||u(e,r)||c(e,r)||s()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function c(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,i,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=u(0),o["throw"]=u(1),o["return"]=u(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function u(e){return function(t){return s([e,t])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(o&&(o=0,u[0]&&(a=0)),a)try{if(r=1,n&&(i=u[0]&2?n["return"]:u[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,u[1])).done)return i;if(n=0,i)u=[u[0]&2,i.value];switch(u[0]){case 0:case 1:i=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(i=a.trys,i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){a.label=u[1];break}if(u[0]===6&&a.label<i[1]){a.label=i[1];i=u;break}if(i&&a.label<i[2]){a.label=i[2];a.ops.push(u);break}if(i[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var h=Object.defineProperty;var p=function(e,t,r){return t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r};var y=function(e){return(typeof require==="undefined"?"undefined":f(require))<"u"?require:(typeof Proxy==="undefined"?"undefined":f(Proxy))<"u"?new Proxy(e,{get:function(e,t){return((typeof require==="undefined"?"undefined":f(require))<"u"?require:e)[t]}}):e}(function(e){if((typeof require==="undefined"?"undefined":f(require))<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=function(e,t,r){return p(e,(typeof t==="undefined"?"undefined":f(t))!="symbol"?t+"":t,r)};var d=function(e){return"data:text/javascript,".concat(e)};function v(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}var i=true,a=false,o=undefined;try{for(var u=r[Symbol.iterator](),s;!(i=(s=u.next()).done);i=true){var l=s.value;for(var f in l){var c=l[f],m=e[f];if(Object(c)==c&&Object(m)===m){e[f]=v(m,c);continue}e[f]=l[f]}}}catch(e){a=true;o=e}finally{try{if(!i&&u.return!=null){u.return()}}finally{if(a){throw o}}}return e}var g=!1,k=g?console.log.bind(console,"[EMP Share]"):function(){};var j="EMP_SHARE_RUNTIME",w="EMPShareGlobalVal",R="EMP_FORCE_REMOTES";import{ModuleFederationPlugin as x}from"@empjs/module-federation-rspack";var E=function(e){var t=["import '".concat(e,"'")].join("\n");return d(t)},O=/*#__PURE__*/function(){"use strict";function e(t){i(this,e);b(this,"options");this.options=t}o(e,[{key:"apply",value:function e(e){var t=e.webpack,r=E("@empjs/share/library");new t.EntryPlugin(e.context,r,{name:void 0}).apply(e)}}]);return e}();var S=function(e,t){Object.keys(t).length>0&&e.injectTags([{innerHTML:"window.".concat(R," = ").concat(JSON.stringify(t),";"),tagName:"script",pos:"head"}],"EMP_FORCE_REMOTES")};function M(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"runtime";return typeof e=="string"?r==="runtime"?"".concat(e,"/runtime").concat(t==="development"?".development":"",".umd.js"):"".concat(e,"/").concat(r,".").concat(t,".umd.js"):(typeof e==="undefined"?"undefined":f(e))=="object"?t==="development"?e.dev:e.prod:""}var L=/^([0-9a-zA-Z_\s]+)@(.*)/,N=/*#__PURE__*/function(){"use strict";function e(t,r){i(this,e);b(this,"op");b(this,"store");b(this,"injectHtml",[]);b(this,"externalsLib",[]);b(this,"fk");b(this,"rt");this.op=t||{},this.store=r}o(e,[{key:"setup",value:function e(){this.resetRuntime(),this.resetFramework(),this.setMfName(),this.setMF(),this.injectGlobalVal(),this.injectFramework(),this.setShareLib(),this.setRuntimeLib(),this.injectToHtml(),this.setExternal()}},{key:"injectToHtml",value:function e(){var e=this,t=e.store,r=e.injectHtml;r.length>0&&t.injectTags(r,"EMPShare")}},{key:"injectFramework",value:function e(){if(this.fk&&this.fk.libs.length>0)return this.injectFkLibs(this.fk.libs);if(!this.op.empRuntime||!this.fk.lib)return;var e=this,t=e.store,r=e.injectHtml;if(this.fk.lib){var n=M(this.fk.lib,t.mode,this.fk.entry);r.push({attributes:{src:n},tagName:"script"})}}},{key:"injectFkLibs",value:function e(e){var t=this;e.map(function(e){if(e.endsWith(".css"))return t.injectHtml.push({attributes:{href:e,rel:"stylesheet"},tagName:"link"});t.injectHtml.push({attributes:{src:e},tagName:"script"})})}},{key:"injectGlobalVal",value:function e(){if(!this.op.empRuntime)return;var e=this.op,t=e.empRuntime,r=this,n=r.injectHtml,i=this.fk.global||(t.shareLib?"window":"");if(!(t.injectGlobalValToHtml===!1||!this.rt.lib)){var a={frameworkLib:i,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!=="none"&&(a.framework=this.fk.name),n.push({tagName:"script",innerHTML:"window.".concat(w,"=").concat(JSON.stringify(a))})}}},{key:"resetFramework",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.framework,r=e.frameworkGlobal,n=e.frameworkLib;this.fk={name:"none",version:0,entry:"",global:r||"",lib:n||"",libs:[]},typeof t=="string"?this.fk.name=t:(typeof t==="undefined"?"undefined":f(t))=="object"&&Object.keys(t).length>0&&(t.entry=t.entry?t.entry:t.name,this.fk=v(this.fk,t))}},{key:"resetRuntime",value:function e(){var e;var t=this.op,r=t.empRuntime;if(!r)return;var n=r.runtimeGlobal||j,i=r.runtimeLib?r.runtimeLib:((e=r.runtime)===null||e===void 0?void 0:e.lib)?r.runtime.lib:"";this.rt={lib:i,global:n}}},{key:"setExternal",value:function e(){var e=this;if(!this.op.empRuntime)return;var t=this,r=t.store,n=t.externalsLib,i=this.op,a=i.empRuntime,o=a.shareLib,u=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},s={};var f=true,c=false,m=undefined;try{for(var h=Object.entries(u)[Symbol.iterator](),p;!(f=(p=h.next()).done);f=true){var y=l(p.value,2),b=y[0],d=y[1];s[b]="".concat(this.rt.global,".").concat(d)}}catch(e){c=true;m=e}finally{try{if(!f&&h.return!=null){h.return()}}finally{if(c){throw m}}}if(this.fk.name==="react"&&!o&&this.fk.global){var v=this.fk.version,g={react:"React","react-dom":"ReactDOM"};this.fk.entry==="reactRouter"&&(g["react-router-dom"]="ReactRouterDOM");var k=true,j=false,w=undefined;try{for(var R=Object.entries(g)[Symbol.iterator](),x;!(k=(x=R.next()).done);k=true){var E=l(x.value,2),O=E[0],S=E[1];s[O]="".concat(this.fk.global,".").concat(S)}}catch(e){j=true;w=e}finally{try{if(!k&&R.return!=null){R.return()}}finally{if(j){throw w}}}[17,18,19].includes(v)&&(s["react-dom/client"]=this.fk.global,s["react/jsx-runtime"]=this.fk.global,s["react/jsx-dev-runtime"]=this.fk.global)}o&&n.map(function(t){t.type==="js"&&t.module&&t.global&&(s[t.module]="".concat(e.fk.global,".").concat(t.global))}),a.setExternals&&a.setExternals(s,this.fk.global,this.rt.global),r.chain.merge({externals:s})}},{key:"setRuntimeLib",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.shareLib,r=this,n=r.store,i=r.injectHtml,a=this.op,o=a.empRuntime;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!t||i.push({tagName:"script",pos:"head",attributes:{src:this.rt.lib}}):n.chain.plugin("plugin-emp-share-framework").use(O,[o])}},{key:"setMfName",value:function e(){this.op.name?(this.op.name=this.store.encodeVarName(this.op.name),this.op.name!==this.store.empConfig.output.uniqueName&&this.store.chain.output.set("uniqueName",this.op.name)):this.op.name=this.store.empConfig.output.uniqueName}},{key:"setMF",value:function e(){var e=this.op,t=this,r=t.store;if(e.name){var n;var i=r.deepAssign({filename:"emp.js"},e);i.empRuntime&&delete i.empRuntime,e.forceRemotes&&(S(r,e.forceRemotes),delete e.forceRemotes,(n=i.runtimePlugins)===null||n===void 0?void 0:n.push(y.resolve("@empjs/share/forceRemote"))),r.chain.plugin("plugin-emp-share").use(x,[i])}}},{key:"setShareLib",value:function e(){if(!this.op.empRuntime)return;var e=this.op.empRuntime,t=e.shareLib,r=this,n=r.externalsLib,i=r.injectHtml;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"){var a=true,o=false,u=undefined;try{var s=function(){var e=l(m.value,2),t=e[0],r=e[1];var i={};if(i.module=t,typeof r=="string"){var a=r.match(L)||[];a.length>0?(i.global=a[1],i.entry=a[2],i.type="js",n.push(i),i={}):(i.global="",i.entry=r,i.type="js",n.push(i),i={})}else Array.isArray(r)?r.map(function(e){if(!e)return;if(e.split("?")[0].endsWith(".css"))i.entry=e,i.type="css";else{var t=e.match(L)||[];t.length>0?(i.global=t[1],i.entry=t[2],i.type="js"):(i.global="",i.entry=e,i.type="js")}n.push(i),i={}}):(typeof r==="undefined"?"undefined":f(r))=="object"&&r.entry&&(i.entry=r.entry,i.global=r.global,i.type=r.type,n.push(i),i={})};for(var c=Object.entries(t)[Symbol.iterator](),m;!(a=(m=c.next()).done);a=true)s()}catch(e){o=true;u=e}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(o){throw u}}}n.map(function(e){e.type==="js"?i.push({attributes:{src:e.entry},tagName:"script"}):e.type==="css"&&i.push({attributes:{href:e.entry,rel:"stylesheet"},tagName:"link"})})}}}]);return e}();var P=function(e,t){return e=Object.assign(e,{react:"".concat(t,".React"),"react-dom":"".concat(t,".ReactDOM"),"react-dom/client":t,"react/jsx-runtime":t,"react/jsx-dev-runtime":t,"react-router-dom":"".concat(t,".ReactRouterDOM")}),e};var _=function(e,t){return e=Object.assign(e,{vue:"".concat(t,".Vue"),"vue-router":"".concat(t,".VueRouter")}),e};var F=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{name:"@empjs/share",rsConfig:function t(t){return n(function(){return m(this,function(r){e.manifest===!0?e.manifest={fileName:"emp.json"}:f(e.manifest)=="object"?e.manifest=t.deepAssign({fileName:"emp.json"},e.manifest):e.exposes&&Object.keys(e.exposes).length>0?e.manifest={fileName:"emp.json"}:e.manifest=!1,new N(e,t).setup();return[2]})})()}}},H=F;var T=H;export{T as default,P as externalReact,_ as externalVue,F as pluginRspackEmpShare};//# sourceMappingURL=index.js.map