@empjs/share 3.13.8 → 3.13.9-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../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","../src/index.ts"],"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","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 }\n const empShare = new EmpShare(o, store)\n empShare.setup()\n },\n }\n}\nexport default pluginRspackEmpShare\n","import {default as pluginRspackEmpShare} from 'src/plugins/rspack'\nexport default pluginRspackEmpShare\nexport * from 'src/plugins/rspack'\n"],"mappings":"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","names":["importJsVm","content","deepAssign","target","sources","source","k","vs","vt","isDev","log","shareGlobalName","shareGlobalVal","shareForceRemote","ModuleFederationPlugin","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","__require","ModuleFederationPlugin","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.js","../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","../src/index.ts"],"names":["M","Object","defineProperty","O","t","e","i","enumerable","configurable","writable","value","h","require","Proxy","get","apply","arguments","Error","m","importJsVm","content","deepAssign","target","sources","source","k","vs","vt","isDev","log","console","bind","shareGlobalName","shareGlobalVal","shareForceRemote","ModuleFederationPlugin","getShareRuntimeEntry","url","join","EmpShareRemoteLibPlugin","op","__publicField","options","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","externalReact","react","includes","v","type","module","setExternals","chain","merge","plugin","use","encodeVarName","empConfig","output","uniqueName","set","o","filename","runtimePlugins","__require","resolve","externalsItem","cb","match","Array","isArray","vo","split","globalVal","assign","externalVue","vue","pluginRspackEmpShare","rsConfig","manifest","fileName","exposes","rspack_default","src_default"],"mappings":"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","sourcesContent":["var M=Object.defineProperty;var O=(t,e,i)=>e in t?M(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var h=(t=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(t,{get:(e,i)=>(typeof require<\"u\"?require:e)[i]}):t)(function(t){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+t+'\" is not supported')});var m=(t,e,i)=>O(t,typeof e!=\"symbol\"?e+\"\":e,i);var b=t=>`data:text/javascript,${t}`;function f(t,...e){for(let i of e)for(let r in i){let a=i[r],n=t[r];if(Object(a)==a&&Object(n)===n){t[r]=f(n,a);continue}t[r]=i[r]}return t}var P=!1,w=P?console.log.bind(console,\"[EMP Share]\"):()=>{};var y=\"EMP_SHARE_RUNTIME\",g=\"EMPShareGlobalVal\",R=\"EMP_FORCE_REMOTES\";import{ModuleFederationPlugin as j}from\"@empjs/module-federation-rspack\";var L=t=>{let e=[`import '${t}'`].join(`\n`);return b(e)},c=class{constructor(e){m(this,\"options\");this.options=e}apply(e){let{webpack:i}=e,r=L(\"@empjs/share/library\");new i.EntryPlugin(e.context,r,{name:void 0}).apply(e)}};var k=(t,e)=>{Object.keys(e).length>0&&t.injectTags([{innerHTML:`window.${R} = ${JSON.stringify(e)};`,tagName:\"script\",pos:\"head\"}],\"EMP_FORCE_REMOTES\")};function d(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 x=/^([0-9a-zA-Z_\\s]+)@(.*)/,u=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=d(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 n={frameworkLib:r,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!==\"none\"&&(n.framework=this.fk.name),i.push({tagName:\"script\",innerHTML:`window.${g}=${JSON.stringify(n)}`})}}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=f(this.fk,e))}resetRuntime(){let{empRuntime:e}=this.op;if(!e)return;let i=e.runtimeGlobal||y,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:a}=r,n=this.rt.lib?{\"@module-federation/runtime\":\"MFRuntime\",\"@module-federation/sdk\":\"MFSDK\"}:{},s={};for(let[o,p]of Object.entries(n))s[o]=`${this.rt.global}.${p}`;if(this.fk.name===\"react\"&&!a&&this.fk.global){let o=this.fk.version,p={react:\"React\",\"react-dom\":\"ReactDOM\"};this.fk.entry===\"reactRouter\"&&(p[\"react-router-dom\"]=\"ReactRouterDOM\");for(let[l,S]of Object.entries(p))s[l]=`${this.fk.global}.${S}`;[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)}a&&i.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:i,injectHtml:r}=this,{empRuntime:a}=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(c,[a])}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&&(k(i,e.forceRemotes),delete e.forceRemotes,r.runtimePlugins?.push(h.resolve(\"@empjs/share/forceRemote\"))),i.chain.plugin(\"plugin-emp-share\").use(j,[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[a,n]of Object.entries(e)){let s={};if(s.module=a,typeof n==\"string\"){let o=n.match(x)||[];o.length>0?(s.global=o[1],s.entry=o[2],s.type=\"js\",i.push(s),s={}):(s.global=\"\",s.entry=n,s.type=\"js\",i.push(s),s={})}else Array.isArray(n)?n.map(o=>{if(!o)return;if(o.split(\"?\")[0].endsWith(\".css\"))s.entry=o,s.type=\"css\";else{let l=o.match(x)||[];l.length>0?(s.global=l[1],s.entry=l[2],s.type=\"js\"):(s.global=\"\",s.entry=o,s.type=\"js\")}i.push(s),s={}}):typeof n==\"object\"&&n.entry&&(s.entry=n.entry,s.global=n.global,s.type=n.type,i.push(s),s={})}i.map(a=>{a.type===\"js\"?r.push({attributes:{src:a.entry},tagName:\"script\"}):a.type===\"css\"&&r.push({attributes:{href:a.entry,rel:\"stylesheet\"},tagName:\"link\"})})}}};var B=(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 X=(t,e)=>(t=Object.assign(t,{vue:`${e}.Vue`,\"vue-router\":`${e}.VueRouter`}),t);var T=(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 u(t,e).setup()}}),E=T;var oe=E;export{oe as default,B as externalReact,X as externalVue,T as pluginRspackEmpShare};\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","import {default as pluginRspackEmpShare} from 'src/plugins/rspack'\nexport default pluginRspackEmpShare\nexport * from 'src/plugins/rspack'\n"]}
@@ -1,2 +1 @@
1
- "use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@module-federation/runtime"),module.exports);0&&(module.exports={...require("@module-federation/runtime")});
2
- //# sourceMappingURL=mfRuntime.cjs.map
1
+ "use strict";function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}function t(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var n=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var i=function(e,r,i,l){var a=true,c=false,y=undefined;if(r&&(typeof r==="undefined"?"undefined":t(r))=="object"||typeof r=="function")try{var b=function(){var t=d.value;!f.call(e,t)&&t!==i&&n(e,t,{get:function(){return r[t]},enumerable:!(l=o(r,t))||l.enumerable})};for(var p=u(r)[Symbol.iterator](),d;!(a=(d=p.next()).done);a=true)b()}catch(e){c=true;y=e}finally{try{if(!a&&p.return!=null){p.return()}}finally{if(c){throw y}}}return e},l=function(e,r,t){return i(e,r,"default"),t&&i(t,r,"default")};var a=function(e){return i(n({},"__esModule",{value:!0}),e)};var c={};module.exports=a(c);l(c,require("@module-federation/runtime"),module.exports);0&&(module.exports=r({},require("@module-federation/runtime")));//# sourceMappingURL=mfRuntime.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime/mfRuntime.ts"],"sourcesContent":["export * from '@module-federation/runtime'\n"],"mappings":"iaAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAAAE,EAAAF,EAAc,sCAAd","names":["mfRuntime_exports","__toCommonJS","__reExport"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/mfRuntime.cjs","../src/runtime/mfRuntime.ts"],"names":["a","Object","defineProperty","b","getOwnPropertyDescriptor","c","getOwnPropertyNames","d","prototype","hasOwnProperty","p","r","o","f","x","e","call","get","enumerable","t","g","value","mfRuntime_exports","module","exports","__toCommonJS","__reExport","require"],"mappings":"AAAA,olBAAa,IAAIA,EAAEC,OAAOC,cAAc,CAAC,IAAIC,EAAEF,OAAOG,wBAAwB,CAAC,IAAIC,EAAEJ,OAAOK,mBAAmB,CAAC,IAAIC,EAAEN,OAAOO,SAAS,CAACC,cAAc,CAAC,IAAIC,EAAE,SAACC,EAAEC,EAAEC,EAAEC,OAAwD,OAAA,QAAA,YAAnD,GAAGF,GAAG,CAAA,OAAOA,4BAAP,EAAOA,EAAAA,GAAG,UAAU,OAAOA,GAAG,gCAAe,IAAIG,EAAJ,OAAc,EAACR,EAAES,IAAI,CAACL,EAAEI,IAAIA,IAAIF,GAAGb,EAAEW,EAAEI,EAAE,CAACE,IAAI,kBAAIL,CAAC,CAACG,EAAE,EAACG,WAAW,CAAEJ,CAAAA,EAAEX,EAAES,EAAEG,EAAC,GAAID,EAAEI,UAAU,IAA/F,QAAI,EAASb,EAAEO,sBAAX,IAAA,GAAA,EAAA,gBAAA,oBAAA,OAAA,oBAAA,GAAA,gBAAA,uBAAA,SAAA,IAA8F,OAAOD,CAAC,EAAEQ,EAAE,SAACR,EAAEC,EAAEC,UAAKH,EAAEC,EAAEC,EAAE,WAAWC,GAAGH,EAAEG,EAAED,EAAE,YAAY,IAAIQ,EAAET,SAAAA,UAAGD,EAAEV,EAAE,CAAC,EAAE,aAAa,CAACqB,MAAM,CAAC,CAAC,GAAGV,ICA9Z,IAAAW,EAAA,CAAA,CAAAC,CAAAA,OAAAC,OAAA,CAAAC,EAAAH,GAAAI,EAAAJ,EAAcK,QAAA,8BAAdJ,OAAAC,OAAA,CAAA,CAAA,GAAAD,CAAAA,OAAAC,OAAA,CAAA,KAAAG,QAAA,8BAAA","sourcesContent":["\"use strict\";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o==\"object\"||typeof o==\"function\")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,\"default\"),f&&p(f,o,\"default\"));var g=r=>p(a({},\"__esModule\",{value:!0}),r);var m={};module.exports=g(m);t(m,require(\"@module-federation/runtime\"),module.exports);0&&(module.exports={...require(\"@module-federation/runtime\")});\n","export * from '@module-federation/runtime'\n"]}
package/dist/mfRuntime.js CHANGED
@@ -1,2 +1 @@
1
- export*from"@module-federation/runtime";
2
- //# sourceMappingURL=mfRuntime.js.map
1
+ export*from"@module-federation/runtime";//# sourceMappingURL=mfRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime/mfRuntime.ts"],"sourcesContent":["export * from '@module-federation/runtime'\n"],"mappings":"AAAA,WAAc","names":[]}
1
+ {"version":3,"sources":["../src/runtime/mfRuntime.ts"],"names":[],"mappings":"AAAA,WAAc,4BAAA","sourcesContent":["export * from '@module-federation/runtime'\n"]}
package/dist/react.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var c=(r,e,t)=>e in r?i(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e)=>{for(var t in e||(e={}))m.call(e,t)&&c(r,t,e[t]);if(a)for(var t of a(e))v.call(e,t)&&c(r,t,e[t]);return r};var y=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},M=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of x(e))!m.call(r,n)&&n!==t&&i(r,n,{get:()=>e[n],enumerable:!(s=h(e,n))||s.enumerable});return r};var O=r=>M(i({},"__esModule",{value:!0}),r);var b={};y(b,{external:()=>$,shared:()=>f});module.exports=O(b);var d=(r,e)=>(r=Object.assign(r,{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`}),r);var u=window,R={},{EMPShareGlobalVal:o}=u||{};o&&o.frameworkLib&&(R=u[o.frameworkLib]);var w=p({scope:"default"},R),f=()=>{let{React:r,ReactDOM:e,scope:t}=w;return{react:{lib:()=>r,version:r.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}},"react-dom":{lib:()=>e,version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}}}};var $=d;0&&(module.exports={external,shared});
2
- //# sourceMappingURL=react.cjs.map
1
+ "use strict";function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}function t(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var n=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var u=function(e,r){for(var t in r)n(e,t,{get:r[t],enumerable:!0})},i=function(e,r,u,i){var f=true,l=false,s=undefined;if(r&&(typeof r==="undefined"?"undefined":t(r))=="object"||typeof r=="function")try{var v=function(){var t=d.value;!c.call(e,t)&&t!==u&&n(e,t,{get:function(){return r[t]},enumerable:!(i=o(r,t))||i.enumerable})};for(var b=a(r)[Symbol.iterator](),d;!(f=(d=b.next()).done);f=true)v()}catch(e){l=true;s=e}finally{try{if(!f&&b.return!=null){b.return()}}finally{if(l){throw s}}}return e};var f=function(e){return i(n({},"__esModule",{value:!0}),e)};var l={};u(l,{external:function(){return O},shared:function(){return m}});module.exports=f(l);var s=function(e,r){return e=Object.assign(e,{react:"".concat(r,".React"),"react-dom":"".concat(r,".ReactDOM"),"react-dom/client":r,"react/jsx-runtime":r,"react/jsx-dev-runtime":r,"react-router-dom":"".concat(r,".ReactRouterDOM")}),e};var v=window,b={},d=v||{},y=d.EMPShareGlobalVal;y&&y.frameworkLib&&(b=v[y.frameworkLib]);var p=r({scope:"default"},b),m=function(){var e=p.React,r=p.ReactDOM,t=p.scope;return{react:{lib:function(){return e},version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:"^".concat(e.version)}},"react-dom":{lib:function(){return r},version:r.version,scope:t,shareConfig:{singleton:!0,requiredVersion:"^".concat(e.version)}}}};var O=s;0&&(module.exports={external:external,shared:shared});//# sourceMappingURL=react.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/framework/react/index.ts","../src/framework/react/config.ts","../src/framework/react/shared.ts"],"sourcesContent":["import {externalReact} from './config'\nimport {shared} from './shared'\n\nconst external = externalReact\nexport {shared, external}\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","import {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\n\nconst win: any = window\nlet globalLib = {}\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\nconst libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n}\nexport const shared = (): InitOptionsType['shared'] => {\n const {React, ReactDOM, scope} = libs\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"],"mappings":"4rBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,WAAAC,IAAA,eAAAC,EAAAJ,GCAO,IAAMK,EAAgB,CAACC,EAAQC,KACpCD,EAAI,OAAO,OAAOA,EAAG,CACnB,MAAO,GAAGC,CAAS,SACnB,YAAa,GAAGA,CAAS,YACzB,mBAAoBA,EACpB,oBAAqBA,EACrB,wBAAyBA,EACzB,mBAAoB,GAAGA,CAAS,iBAClC,CAAC,EACMD,GCPT,IAAME,EAAW,OACbC,EAAY,CAAC,EACX,CAAC,kBAAAC,CAAiB,EAAIF,GAAO,CAAC,EAChCE,GAAqBA,EAAkB,eACzCD,EAAYD,EAAIE,EAAkB,YAAY,GAEhD,IAAMC,EAAwCC,EAAA,CAC5C,MAAO,WACJH,GAEQI,EAAS,IAAiC,CACrD,GAAM,CAAC,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAK,EAAIL,EACjC,MAAO,CACL,MAAO,CACL,IAAK,IAAMG,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,EF/BA,IAAMG,EAAWC","names":["react_exports","__export","external","shared","__toCommonJS","externalReact","o","globalVal","win","globalLib","EMPShareGlobalVal","libs","__spreadValues","shared","React","ReactDOM","scope","external","externalReact"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/react.cjs","../src/framework/react/index.ts","../src/framework/react/config.ts","../src/framework/react/shared.ts"],"names":["i","Object","defineProperty","d","getOwnPropertyDescriptor","u","getOwnPropertyNames","R","prototype","hasOwnProperty","f","r","e","t","get","enumerable","h","s","n","call","x","value","react_exports","__export","external","shared","module","exports","__toCommonJS","externalReact","o","globalVal","assign","react","win","window","globalLib","EMPShareGlobalVal","frameworkLib","libs","scope","React","ReactDOM","lib","version","shareConfig","singleton","requiredVersion"],"mappings":"AAAA,olBAAa,IAAIA,EAAEC,OAAOC,cAAc,CAAC,IAAIC,EAAEF,OAAOG,wBAAwB,CAAC,IAAIC,EAAEJ,OAAOK,mBAAmB,CAAC,IAAIC,EAAEN,OAAOO,SAAS,CAACC,cAAc,CAAC,IAAIC,EAAE,SAACC,EAAEC,GAAK,IAAI,IAAIC,KAAKD,EAAEZ,EAAEW,EAAEE,EAAE,CAACC,IAAIF,CAAC,CAACC,EAAE,CAACE,WAAW,CAAC,CAAC,EAAE,EAAEC,EAAE,SAACL,EAAEC,EAAEC,EAAEI,OAAwD,OAAA,QAAA,YAAnD,GAAGL,GAAG,CAAA,OAAOA,4BAAP,EAAOA,EAAAA,GAAG,UAAU,OAAOA,GAAG,gCAAe,IAAIM,EAAJ,OAAc,EAACX,EAAEY,IAAI,CAACR,EAAEO,IAAIA,IAAIL,GAAGb,EAAEW,EAAEO,EAAE,CAACJ,IAAI,kBAAIF,CAAC,CAACM,EAAE,EAACH,WAAW,CAAEE,CAAAA,EAAEd,EAAES,EAAEM,EAAC,GAAID,EAAEF,UAAU,IAA/F,QAAI,EAASV,EAAEO,sBAAX,IAAA,GAAA,EAAA,gBAAA,oBAAA,OAAA,oBAAA,GAAA,gBAAA,uBAAA,SAAA,IAA8F,OAAOD,CAAC,EAAE,IAAIS,EAAET,SAAAA,UAAGK,EAAEhB,EAAE,CAAC,EAAE,aAAa,CAACqB,MAAM,CAAC,CAAC,GAAGV,ICAta,IAAAW,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAAE,SAAA,kBAAAA,GAAAC,OAAA,kBAAAA,EAAAA,EAAAC,CAAAA,OAAAC,OAAA,CAAAC,EAAAN,GCAO,IAAMO,EAAgB,SAACC,EAAQC,UACpCD,EAAI7B,OAAO+B,MAAA,CAAOF,EAAG,CACnBG,MAAO,GAAY,OAATF,EAAS,UACnB,YAAa,GAAY,OAATA,EAAS,aACzB,mBAAoBA,EACpB,oBAAqBA,EACrB,wBAAyBA,EACzB,mBAAoB,GAAY,OAATA,EAAS,kBAClC,GACOD,GCPT,IAAMI,EAAWC,OACbC,EAAY,CAAC,EACWF,EAAAA,GAAO,CAAC,EAA7BG,EAAqBH,EAArBG,iBACHA,CAAAA,GAAqBA,EAAkBC,YAAA,EACzCF,CAAAA,EAAYF,CAAAA,CAAIG,EAAkBC,YAAY,CAAA,EAEhD,IAAMC,EAAwC,GAC5CC,MAAO,WACJJ,GAEQX,EAAS,WACpB,IAAOgB,EAA0BF,EAA1BE,MAAOC,EAAmBH,EAAnBG,SAAUF,EAASD,EAATC,MACxB,MAAO,CACLP,MAAO,CACLU,IAAK,kBAAMF,GACXG,QAASH,EAAMG,OAAA,CACfJ,MAAAA,EACAK,YAAa,CACXC,UAAW,CAAA,EACXC,gBAAiB,IAAiB,OAAbN,EAAMG,OAAO,CACpC,CACF,EACA,YAAa,CACXD,IAAK,kBAAMD,GACXE,QAASF,EAASE,OAAA,CAClBJ,MAAAA,EACAK,YAAa,CACXC,UAAW,CAAA,EACXC,gBAAiB,IAAiB,OAAbN,EAAMG,OAAO,CACpC,CACF,CACF,CACF,EF/BA,IAAMpB,EAAWK,CAAAA,CAAAA,GAAAA,CAAAA,OAAAA,OAAAA,CAAAA,CAAAA,SAAAA,SAAAA,OAAAA,MAAAA,CAAAA","sourcesContent":["\"use strict\";var i=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},h=(r,e,t,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of u(e))!R.call(r,n)&&n!==t&&i(r,n,{get:()=>e[n],enumerable:!(s=d(e,n))||s.enumerable});return r};var x=r=>h(i({},\"__esModule\",{value:!0}),r);var M={};f(M,{external:()=>y,shared:()=>p});module.exports=x(M);var a=(r,e)=>(r=Object.assign(r,{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`}),r);var c=window,m={},{EMPShareGlobalVal:o}=c||{};o&&o.frameworkLib&&(m=c[o.frameworkLib]);var v={scope:\"default\",...m},p=()=>{let{React:r,ReactDOM:e,scope:t}=v;return{react:{lib:()=>r,version:r.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}},\"react-dom\":{lib:()=>e,version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}}}};var y=a;0&&(module.exports={external,shared});\n","import {externalReact} from './config'\nimport {shared} from './shared'\n\nconst external = externalReact\nexport {shared, external}\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","import {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\n\nconst win: any = window\nlet globalLib = {}\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\nconst libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n}\nexport const shared = (): InitOptionsType['shared'] => {\n const {React, ReactDOM, scope} = libs\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"]}
package/dist/react.js CHANGED
@@ -1,2 +1 @@
1
- var p=Object.defineProperty;var i=Object.getOwnPropertySymbols;var d=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;var o=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,s=(r,e)=>{for(var t in e||(e={}))d.call(e,t)&&o(r,t,e[t]);if(i)for(var t of i(e))u.call(e,t)&&o(r,t,e[t]);return r};var a=(r,e)=>(r=Object.assign(r,{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`}),r);var c=window,m={},{EMPShareGlobalVal:n}=c||{};n&&n.frameworkLib&&(m=c[n.frameworkLib]);var R=s({scope:"default"},m),f=()=>{let{React:r,ReactDOM:e,scope:t}=R;return{react:{lib:()=>r,version:r.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}},"react-dom":{lib:()=>e,version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:`^${r.version}`}}}};var w=a;export{w as external,f as shared};
2
- //# sourceMappingURL=react.js.map
1
+ function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}var t=function(e,r){return e=Object.assign(e,{react:"".concat(r,".React"),"react-dom":"".concat(r,".ReactDOM"),"react-dom/client":r,"react/jsx-runtime":r,"react/jsx-dev-runtime":r,"react-router-dom":"".concat(r,".ReactRouterDOM")}),e};var n=window,o={},c=n||{},a=c.EMPShareGlobalVal;a&&a.frameworkLib&&(o=n[a.frameworkLib]);var i=r({scope:"default"},o),u=function(){var e=i.React,r=i.ReactDOM,t=i.scope;return{react:{lib:function(){return e},version:e.version,scope:t,shareConfig:{singleton:!0,requiredVersion:"^".concat(e.version)}},"react-dom":{lib:function(){return r},version:r.version,scope:t,shareConfig:{singleton:!0,requiredVersion:"^".concat(e.version)}}}};var s=t;export{s as external,u as shared};//# sourceMappingURL=react.js.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/framework/react/config.ts","../src/framework/react/shared.ts","../src/framework/react/index.ts"],"sourcesContent":["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","import {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\n\nconst win: any = window\nlet globalLib = {}\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\nconst libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n}\nexport const shared = (): InitOptionsType['shared'] => {\n const {React, ReactDOM, scope} = libs\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","import {externalReact} from './config'\nimport {shared} from './shared'\n\nconst external = externalReact\nexport {shared, external}\n"],"mappings":"yVAAO,IAAMA,EAAgB,CAACC,EAAQC,KACpCD,EAAI,OAAO,OAAOA,EAAG,CACnB,MAAO,GAAGC,CAAS,SACnB,YAAa,GAAGA,CAAS,YACzB,mBAAoBA,EACpB,oBAAqBA,EACrB,wBAAyBA,EACzB,mBAAoB,GAAGA,CAAS,iBAClC,CAAC,EACMD,GCPT,IAAME,EAAW,OACbC,EAAY,CAAC,EACX,CAAC,kBAAAC,CAAiB,EAAIF,GAAO,CAAC,EAChCE,GAAqBA,EAAkB,eACzCD,EAAYD,EAAIE,EAAkB,YAAY,GAEhD,IAAMC,EAAwCC,EAAA,CAC5C,MAAO,WACJH,GAEQI,EAAS,IAAiC,CACrD,GAAM,CAAC,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAK,EAAIL,EACjC,MAAO,CACL,MAAO,CACL,IAAK,IAAMG,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,EC/BA,IAAMG,EAAWC","names":["externalReact","o","globalVal","win","globalLib","EMPShareGlobalVal","libs","__spreadValues","shared","React","ReactDOM","scope","external","externalReact"]}
1
+ {"version":3,"sources":["../src/framework/react/config.ts","../src/framework/react/shared.ts","../src/framework/react/index.ts"],"names":["externalReact","o","globalVal","Object","assign","react","win","window","globalLib","EMPShareGlobalVal","frameworkLib","libs","scope","shared","React","ReactDOM","lib","version","shareConfig","singleton","requiredVersion","external"],"mappings":"idAAO,IAAMA,EAAgB,SAACC,EAAQC,UACpCD,EAAIE,OAAOC,MAAA,CAAOH,EAAG,CACnBI,MAAO,GAAY,OAATH,EAAS,UACnB,YAAa,GAAY,OAATA,EAAS,aACzB,mBAAoBA,EACpB,oBAAqBA,EACrB,wBAAyBA,EACzB,mBAAoB,GAAY,OAATA,EAAS,kBAClC,GACOD,GCPT,IAAMK,EAAWC,OACbC,EAAY,CAAC,EACWF,EAAAA,GAAO,CAAC,EAA7BG,EAAqBH,EAArBG,iBACHA,CAAAA,GAAqBA,EAAkBC,YAAA,EACzCF,CAAAA,EAAYF,CAAAA,CAAIG,EAAkBC,YAAY,CAAA,EAEhD,IAAMC,EAAwC,GAC5CC,MAAO,WACJJ,GAEQK,EAAS,WACpB,IAAOC,EAA0BH,EAA1BG,MAAOC,EAAmBJ,EAAnBI,SAAUH,EAASD,EAATC,MACxB,MAAO,CACLP,MAAO,CACLW,IAAK,kBAAMF,GACXG,QAASH,EAAMG,OAAA,CACfL,MAAAA,EACAM,YAAa,CACXC,UAAW,CAAA,EACXC,gBAAiB,IAAiB,OAAbN,EAAMG,OAAO,CACpC,CACF,EACA,YAAa,CACXD,IAAK,kBAAMD,GACXE,QAASF,EAASE,OAAA,CAClBL,MAAAA,EACAM,YAAa,CACXC,UAAW,CAAA,EACXC,gBAAiB,IAAiB,OAAbN,EAAMG,OAAO,CACpC,CACF,CACF,CACF,EC/BA,IAAMI,EAAWrB,SAAAA,KAAAA,QAAAA,CAAAA,KAAAA,MAAAA","sourcesContent":["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","import {EMPShareRuntimeAdapterReactType, InitOptionsType} from 'src/types'\n\nconst win: any = window\nlet globalLib = {}\nconst {EMPShareGlobalVal} = win || {}\nif (EMPShareGlobalVal && EMPShareGlobalVal.frameworkLib) {\n globalLib = win[EMPShareGlobalVal.frameworkLib]\n}\nconst libs: EMPShareRuntimeAdapterReactType = {\n scope: 'default',\n ...globalLib,\n}\nexport const shared = (): InitOptionsType['shared'] => {\n const {React, ReactDOM, scope} = libs\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","import {externalReact} from './config'\nimport {shared} from './shared'\n\nconst external = externalReact\nexport {shared, external}\n"]}
package/dist/rspack.cjs CHANGED
@@ -1,3 +1 @@
1
- "use strict";var O=Object.create;var c=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var N=(i,e,t)=>e in i?c(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var H=(i,e)=>{for(var t in e)c(i,t,{get:e[t],enumerable:!0})},y=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of T(e))!w.call(i,n)&&n!==t&&c(i,n,{get:()=>e[n],enumerable:!(s=L(e,n))||s.enumerable});return i};var $=(i,e,t)=>(t=i!=null?O(v(i)):{},y(e||!i||!i.__esModule?c(t,"default",{value:i,enumerable:!0}):t,i)),F=i=>y(c({},"__esModule",{value:!0}),i);var l=(i,e,t)=>N(i,typeof e!="symbol"?e+"":e,t);var g=(i,e,t)=>new Promise((s,n)=>{var a=m=>{try{o(t.next(m))}catch(p){n(p)}},r=m=>{try{o(t.throw(m))}catch(p){n(p)}},o=m=>m.done?s(m.value):Promise.resolve(m.value).then(a,r);o((t=t.apply(i,e)).next())});var D={};H(D,{default:()=>_,externalReact:()=>V,externalVue:()=>C,pluginRspackEmpShare:()=>M});module.exports=F(D);var R=i=>`data:text/javascript,${i}`;function h(i,...e){for(let t of e)for(let s in t){let n=t[s],a=i[s];if(Object(n)==n&&Object(a)===a){i[s]=h(a,n);continue}i[s]=t[s]}return i}var G=!1,I=G?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 A=i=>{let e=[`import '${i}'`].join(`
2
- `);return R(e)},u=class{constructor(e){l(this,"options");this.options=e}apply(e){let{webpack:t}=e,s=A("@empjs/share/library");new t.EntryPlugin(e.context,s,{name:void 0}).apply(e)}};var x=(i,e)=>{Object.keys(e).length>0&&i.injectTags([{innerHTML:`window.${d} = ${JSON.stringify(e)};`,tagName:"script",pos:"head"}],"EMP_FORCE_REMOTES")};function E(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 S=/^([0-9a-zA-Z_\s]+)@(.*)/,f=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 s=E(this.fk.lib,e.mode,this.fk.entry);t.push({attributes:{src:s},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,s=this.fk.global||(e.shareLib?"window":"");if(!(e.injectGlobalValToHtml===!1||!this.rt.lib)){let a={frameworkLib:s,runtimeLib:this.rt.global};this.fk.name&&this.fk.name!=="none"&&(a.framework=this.fk.name),t.push({tagName:"script",innerHTML:`window.${k}=${JSON.stringify(a)}`})}}resetFramework(){if(!this.op.empRuntime)return;let{framework:e,frameworkGlobal:t,frameworkLib:s}=this.op.empRuntime;this.fk={name:"none",version:0,entry:"",global:t||"",lib:s||"",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 n;let{empRuntime:e}=this.op;if(!e)return;let t=e.runtimeGlobal||j,s=e.runtimeLib?e.runtimeLib:(n=e.runtime)!=null&&n.lib?e.runtime.lib:"";this.rt={lib:s,global:t}}setExternal(){if(!this.op.empRuntime)return;let{store:e,externalsLib:t}=this,{empRuntime:s}=this.op,{shareLib:n}=s,a=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},r={};for(let[o,m]of Object.entries(a))r[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,P]of Object.entries(m))r[p]=`${this.fk.global}.${P}`;[17,18,19].includes(o)&&(r["react-dom/client"]=this.fk.global,r["react/jsx-runtime"]=this.fk.global,r["react/jsx-dev-runtime"]=this.fk.global)}n&&t.map(o=>{o.type==="js"&&o.module&&o.global&&(r[o.module]=`${this.fk.global}.${o.global}`)}),s.setExternals&&s.setExternals(r,this.fk.global,this.rt.global),e.chain.merge({externals:r})}setRuntimeLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{store:t,injectHtml:s}=this,{empRuntime:n}=this.op;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!e||s.push({tagName:"script",pos:"head",attributes:{src:this.rt.lib}}):t.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(){var s;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&&(x(t,e.forceRemotes),delete e.forceRemotes,(s=n.runtimePlugins)==null||s.push(require.resolve("@empjs/share/forceRemote"))),t.chain.plugin("plugin-emp-share").use(b.ModuleFederationPlugin,[n])}}setShareLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{externalsLib:t,injectHtml:s}=this;if(e&&typeof e=="object"){for(let[n,a]of Object.entries(e)){let r={};if(r.module=n,typeof a=="string"){let o=a.match(S)||[];o.length>0?(r.global=o[1],r.entry=o[2],r.type="js",t.push(r),r={}):(r.global="",r.entry=a,r.type="js",t.push(r),r={})}else Array.isArray(a)?a.map(o=>{if(!o)return;if(o.split("?")[0].endsWith(".css"))r.entry=o,r.type="css";else{let p=o.match(S)||[];p.length>0?(r.global=p[1],r.entry=p[2],r.type="js"):(r.global="",r.entry=o,r.type="js")}t.push(r),r={}}):typeof a=="object"&&a.entry&&(r.entry=a.entry,r.global=a.global,r.type=a.type,t.push(r),r={})}t.map(n=>{n.type==="js"?s.push({attributes:{src:n.entry},tagName:"script"}):n.type==="css"&&s.push({attributes:{href:n.entry,rel:"stylesheet"},tagName:"link"})})}}};var V=(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 C=(i,e)=>(i=Object.assign(i,{vue:`${e}.Vue`,"vue-router":`${e}.VueRouter`}),i);var M=(i={})=>({name:"@empjs/share",rsConfig(t){return g(this,null,function*(){i.manifest===!0?i.manifest={fileName:"emp.json"}:typeof i.manifest=="object"&&(i.manifest=t.deepAssign({fileName:"emp.json"},i.manifest)),new f(i,t).setup()})}}),_=M;0&&(module.exports={externalReact,externalVue,pluginRspackEmpShare});
3
- //# sourceMappingURL=rspack.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 U},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;0&&(module.exports={externalReact:externalReact,externalVue:externalVue,pluginRspackEmpShare:pluginRspackEmpShare});//# sourceMappingURL=rspack.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/rspack/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"],"sourcesContent":["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 }\n const empShare = new EmpShare(o, store)\n empShare.setup()\n },\n }\n}\nexport default pluginRspackEmpShare\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"],"mappings":"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","names":["rspack_exports","__export","rspack_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"]}
1
+ {"version":3,"sources":["/Users/liangxiaoming/Documents/emp/packages/emp-share/dist/rspack.cjs","../src/plugins/rspack/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"],"names":["O","Object","create","c","defineProperty","P","getOwnPropertyDescriptor","L","getOwnPropertyNames","T","getPrototypeOf","v","prototype","hasOwnProperty","w","t","e","i","enumerable","configurable","writable","value","N","get","y","r","n","call","H","__esModule","$","m","rspack_exports","__export","default","rspack_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"],"mappings":"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","sourcesContent":["\"use strict\";var O=Object.create;var c=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var w=(t,e,i)=>e in t?c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var N=(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 L(e))!v.call(t,n)&&n!==i&&c(t,n,{get:()=>e[n],enumerable:!(r=P(e,n))||r.enumerable});return t};var H=(t,e,i)=>(i=t!=null?O(T(t)):{},y(e||!t||!t.__esModule?c(i,\"default\",{value:t,enumerable:!0}):i,t)),$=t=>y(c({},\"__esModule\",{value:!0}),t);var m=(t,e,i)=>w(t,typeof e!=\"symbol\"?e+\"\":e,i);var _={};N(_,{default:()=>C,externalReact:()=>A,externalVue:()=>V,pluginRspackEmpShare:()=>S});module.exports=$(_);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 F=!1,q=F?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 G=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=G(\"@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,M]of Object.entries(p))s[l]=`${this.fk.global}.${M}`;[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 A=(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 V=(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()}}),C=S;0&&(module.exports={externalReact,externalVue,pluginRspackEmpShare});\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","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"]}
package/dist/rspack.js CHANGED
@@ -1,3 +1 @@
1
- var M=Object.defineProperty;var P=(i,e,t)=>e in i?M(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((s,n)=>{var a=m=>{try{o(t.next(m))}catch(p){n(p)}},r=m=>{try{o(t.throw(m))}catch(p){n(p)}},o=m=>m.done?s(m.value):Promise.resolve(m.value).then(a,r);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 s in t){let n=t[s],a=i[s];if(Object(n)==n&&Object(a)===a){i[s]=f(a,n);continue}i[s]=t[s]}return i}var O=!1,w=O?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 L=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,s=L("@empjs/share/library");new t.EntryPlugin(e.context,s,{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 s=x(this.fk.lib,e.mode,this.fk.entry);t.push({attributes:{src:s},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,s=this.fk.global||(e.shareLib?"window":"");if(!(e.injectGlobalValToHtml===!1||!this.rt.lib)){let a={frameworkLib:s,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:s}=this.op.empRuntime;this.fk={name:"none",version:0,entry:"",global:t||"",lib:s||"",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,s=e.runtimeLib?e.runtimeLib:(n=e.runtime)!=null&&n.lib?e.runtime.lib:"";this.rt={lib:s,global:t}}setExternal(){if(!this.op.empRuntime)return;let{store:e,externalsLib:t}=this,{empRuntime:s}=this.op,{shareLib:n}=s,a=this.rt.lib?{"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"}:{},r={};for(let[o,m]of Object.entries(a))r[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,S]of Object.entries(m))r[p]=`${this.fk.global}.${S}`;[17,18,19].includes(o)&&(r["react-dom/client"]=this.fk.global,r["react/jsx-runtime"]=this.fk.global,r["react/jsx-dev-runtime"]=this.fk.global)}n&&t.map(o=>{o.type==="js"&&o.module&&o.global&&(r[o.module]=`${this.fk.global}.${o.global}`)}),s.setExternals&&s.setExternals(r,this.fk.global,this.rt.global),e.chain.merge({externals:r})}setRuntimeLib(){if(!this.op.empRuntime)return;let{shareLib:e}=this.op.empRuntime,{store:t,injectHtml:s}=this,{empRuntime:n}=this.op;this.rt.lib?this.rt.lib==="useFrameworkLib"&&!e||s.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 s;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,(s=n.runtimePlugins)==null||s.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:s}=this;if(e&&typeof e=="object"){for(let[n,a]of Object.entries(e)){let r={};if(r.module=n,typeof a=="string"){let o=a.match(E)||[];o.length>0?(r.global=o[1],r.entry=o[2],r.type="js",t.push(r),r={}):(r.global="",r.entry=a,r.type="js",t.push(r),r={})}else Array.isArray(a)?a.map(o=>{if(!o)return;if(o.split("?")[0].endsWith(".css"))r.entry=o,r.type="css";else{let p=o.match(E)||[];p.length>0?(r.global=p[1],r.entry=p[2],r.type="js"):(r.global="",r.entry=o,r.type="js")}t.push(r),r={}}):typeof a=="object"&&a.entry&&(r.entry=a.entry,r.global=a.global,r.type=a.type,t.push(r),r={})}t.map(n=>{n.type==="js"?s.push({attributes:{src:n.entry},tagName:"script"}):n.type==="css"&&s.push({attributes:{href:n.entry,rel:"stylesheet"},tagName:"link"})})}}};var B=(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 X=(i,e)=>(i=Object.assign(i,{vue:`${e}.Vue`,"vue-router":`${e}.VueRouter`}),i);var T=(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)),new u(i,t).setup()})}}),te=T;export{te as default,B as externalReact,X as externalVue,T as pluginRspackEmpShare};
3
- //# sourceMappingURL=rspack.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;export{H as default,P as externalReact,_ as externalVue,F as pluginRspackEmpShare};//# sourceMappingURL=rspack.js.map