@empjs/cli 3.0.0-rc.23 → 3.0.0-rc.24

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 CHANGED
@@ -1,17 +1,17 @@
1
- var Pt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var M=(i,e)=>{for(var t in e)Pt(i,t,{get:e[t],enumerable:!0})};import u from"chalk";var kt,y,$t,Mt,je,F,j,jt,Lt,S,Le,Dt,ee,L,Y,p,b=l(()=>{"use strict";kt=u.hex("#1abc9c"),y=u.hex("#16a085"),$t=u.hex("#2ecc71"),Mt=u.hex("#27ae60"),je=u.hex("#e74c3c"),F=u.hex("#c0392b"),j=u.hex("#f1c40f"),jt=u.hex("#f39c12"),Lt=u.hex("#3498db"),S=u.hex("#2980b9"),Le=u.hex("#ecf0f1"),Dt=u.hex("#fd79a8"),ee=u.hex("#e84393"),L=u.hex("#7f8c8d"),Y=class{brandName="";fullName="";logLevel="debug";setup({brandName:e,logLevel:t,fullName:s}){this.brandName=` [${e}] `,this.fullName=` ${s} `,this.fullName=y.bold(this.fullName),t&&(this.logLevel=t)}debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${Lt(this.brandName)}${S(` ${e} `)}
1
+ var Pt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var M=(i,e)=>{for(var t in e)Pt(i,t,{get:e[t],enumerable:!0})};import u from"chalk";var kt,y,$t,Mt,De,F,j,jt,Lt,S,Te,Dt,ee,L,Y,p,b=l(()=>{"use strict";kt=u.hex("#1abc9c"),y=u.hex("#16a085"),$t=u.hex("#2ecc71"),Mt=u.hex("#27ae60"),De=u.hex("#e74c3c"),F=u.hex("#c0392b"),j=u.hex("#f1c40f"),jt=u.hex("#f39c12"),Lt=u.hex("#3498db"),S=u.hex("#2980b9"),Te=u.hex("#ecf0f1"),Dt=u.hex("#fd79a8"),ee=u.hex("#e84393"),L=u.hex("#7f8c8d"),Y=class{brandName="";fullName="";logLevel="debug";setup({brandName:e,logLevel:t,fullName:s}){this.brandName=` [${e}] `,this.fullName=` ${s} `,this.fullName=y.bold(this.fullName),t&&(this.logLevel=t)}debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${Lt(this.brandName)}${S(` ${e} `)}
2
2
  `)};cyan=e=>{console.log(`${$t(this.brandName)}${Mt(` ${e} `)}
3
3
  `)};magenta=e=>{console.log(`${Dt(this.brandName)}${ee(` ${e} `)}
4
4
  `)};green=e=>{console.log(`${kt(this.brandName)}${y(` ${e} `)}
5
5
  `)};yellow=e=>{console.log(`${j(this.brandName)}${jt(` ${e} `)}
6
- `)};red=e=>{console.log(`${je(this.brandName)}${F(` ${e} `)}
7
- `)};sysError=e=>{console.log(`${je(" System Error Tips ")}${F(` ${e} `)}
6
+ `)};red=e=>{console.log(`${De(this.brandName)}${F(` ${e} `)}
7
+ `)};sysError=e=>{console.log(`${De(" System Error Tips ")}${F(` ${e} `)}
8
8
  `)};link=e=>S(e);title=e=>{console.log(`${this.fullName}${j.underline(`${e}`)}
9
- `)}},p=new Y});var re={};M(re,{clearConsole:()=>se,deepAssign:()=>m,ensureArray:()=>Nt,getLanIp:()=>D,getPkgVersion:()=>te,importJsVm:()=>ie,jsonFilter:()=>zt,timeFormat:()=>A,vCompare:()=>T});import{ip as Tt}from"address";import Rt from"chalk";import{gateway4sync as Ft}from"default-gateway";import At from"fs-extra";function se(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function m(i,...e){for(let t of e)for(let s in t){let r=t[s],o=i[s];if(Object(r)==r&&Object(o)===o){i[s]=m(o,r);continue}i[s]=t[s]}return i}var D,te,Nt,zt,T,A,ie,d=l(()=>{"use strict";D=()=>{let{int:i}=Ft();return Tt(i||"")||"127.0.0.1"},te=i=>{try{let{version:e}=At.readJSONSync(i);return e}catch{return}};Nt=i=>Array.isArray(i)?i:[i],zt=(i={},e=[])=>Object.keys(i).filter(t=>!e.includes(t)).reduce((t,s)=>(t[s]=i[s],t),{}),T=(i="",e="")=>{let t=i.replace("^","").split("."),s=e.replace("^","").split("."),r=Math.max(t.length,s.length),o=0;for(let a=0;a<r;a++){let f=t.length>a?t[a]:0,g=isNaN(Number(f))?f.charCodeAt():Number(f),k=s.length>a?s[a]:0,c=isNaN(Number(k))?k.charCodeAt():Number(k);if(g<c){o=-1;break}else if(g>c){o=1;break}}return o},A=i=>{i=i/1e3;let e=s=>Rt.bold(s);if(i<1)return`${i*1e3} ms`;if(i<10){let s=i>=.01?2:3;return`${e(i.toFixed(s))} s`}if(i<60)return`${e(i.toFixed(1))} s`;let t=i/60;return`${e(t.toFixed(2))} m`},ie=i=>`data:text/javascript,${i}`});import{readFile as It}from"node:fs/promises";import De from"node:module";import{dirname as Gt}from"node:path";import oe from"node:path";import{fileURLToPath as Ht}from"node:url";var Te,Bt,ne,E,Re,Fe,N=l(()=>{"use strict";Te=Ht(import.meta.url),Bt=Gt(Te),ne=async i=>{try{let e=await It(i);return JSON.parse(e)}catch(e){console.error(e)}},E=De.createRequire(import.meta.url),Re=(i,e)=>{let t=E;return e&&(t=De.createRequire(e)),t.resolve(i)},Fe=oe.resolve(Bt,Te).replace(`${oe.sep}dist${oe.sep}index.js`,"")});var z,Ae=l(()=>{"use strict";h();z=class{externals={};externalAssets={js:[],css:[]};exp=/^([0-9a-zA-Z_\s]+)@(.*)/;config;importMap={imports:{}};isEmpshare=!1;async setup(){this.config=n.empConfig.empShare,this.isEmpshare=!!n.empConfig.empShare.name,n.empConfig.empShare.fastMode&&n.empConfig.empShareFastMode.setup(),this.config.shareLib&&this.setShareLib(),this.prepareEsm()}get useImportMap(){return this.config.useImportMap&&n.empConfig.isESM}get pluginConfig(){let e={...this.config};return delete e.shareLib,delete e.useImportMap,delete e.fastMode,{manifest:!1,dts:!1,...e}}prepareEsm(){if(n.empConfig.isESM){this.config.library={type:"module"};let e=this.config.remotes||{};for(let[t,s]of Object.entries(e))if(typeof s=="string"){let r=s.match(this.exp)||[];r.length>0&&(e[t]=r[2])}this.config.remotes=e}}async setShareLib(){let e=this.config,t=[];if(typeof e.shareLib=="object")for(let[s,r]of Object.entries(e.shareLib)){let o={};if(o.module=s,typeof r=="string"){let a=r.match(this.exp)||[];a.length>0?(o.global=a[1],o.entry=a[2],o.type="js",t.push(o),o={}):(o.global="",o.entry=r,o.type="js",t.push(o),o={})}else Array.isArray(r)?r.map(a=>{if(!a)return;if(a.split("?")[0].endsWith(".css"))o.entry=a,o.type="css";else{let g=a.match(this.exp)||[];g.length>0?(o.global=g[1],o.entry=g[2],o.type="js"):(o.global="",o.entry=a,o.type="js")}t.push(o),o={}}):typeof r=="object"&&r.entry&&(o.entry=r.entry,o.global=r.global,o.type=r.type,t.push(o),o={})}await Promise.all([this.setExternalAssets(t)])}async setExternalAssets(e=[]){if(e.length>0){let t=[];t=t.concat(e),t.map(s=>{s.type=s.type||"js",s.type==="js"&&s.module?(s.global?this.externals[s.module]=s.global:n.empConfig.isESM&&(this.useImportMap?(this.externals[s.module]=s.module,this.importMap.imports[s.module]=s.entry):this.externals[s.module]=s.entry),s.entry&&!n.empConfig.isESM&&this.externalAssets.js.push(s.entry)):s.type==="css"&&s.entry&&this.externalAssets.css.push(s.entry)})}}}});var I,Ne=l(()=>{"use strict";h();I=class{fastMode={runtimeHost:"",runtimeLib:"",externals:{},globalVal:"EmpShareLib",framework:"react"};externalMF={"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"};externalReact={react:"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM"};externals={};getRuntimeLib(e){return`${e}/runtime${n.mode==="development"?".development":""}.umd.js`}setup(){this.fastMode=n.deepAssign(this.fastMode,n.empConfig.empShare.fastMode),this.injectLib(),this.setExternals()}injectLib(){let{runtimeHost:e,runtimeLib:t}=this.fastMode;if(e||t){let s=t||this.getRuntimeLib(e);n.empConfig.empShareLib.externalAssets.js.push(s)}}setExternals(){for(let[e,t]of Object.entries(this.externalMF))this.externals[e]=`${this.fastMode.globalVal}.${t}`;if(this.fastMode.framework==="react")for(let[e,t]of Object.entries(this.externalReact))this.externals[e]=`${this.fastMode.globalVal}.${t}`;Object.entries(this.fastMode.externals).length>0&&(this.externals=n.deepAssign(this.externals,this.fastMode.externals)),n.empConfig.empShareLib.externals=n.deepAssign(n.empConfig.empShareLib.externals,this.externals)}}});import Ut from"net";import Jt from"os";async function G(i,e="localhost"){if(i!==_t&&(i<ze||i>ae))throw new Error(`Port number must lie between ${ze} and ${ae}`);let t=i,s=Vt(),r;e&&!s.has(e)?r=new Set([e]):r=s;let o=new Set(["EADDRINUSE","EACCES"]);for(;t<=ae;)try{return await qt(t,r)}catch(a){if(!o.has(a.code))throw a;t+=1}throw new Error("No available ports found")}var ze,ae,_t,Vt,Wt,qt,pe=l(()=>{"use strict";ze=1024,ae=65535,_t=443,Vt=()=>{let i=Jt.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(i))if(t)for(let s of t)e.add(s.address);return e},Wt=(i,e)=>new Promise((t,s)=>{let r=Ut.createServer();r.unref(),r.on("error",s),r.listen(i,e,()=>{let{port:o}=r.address();r.close(()=>{t(o)})})}),qt=async(i,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let s of e)try{await Wt(i,s)}catch(r){if(!t.has(r.code))throw r}return i}});import Ie from"url";import Xt from"chalk";var le,P,ce=l(()=>{"use strict";b();d();le=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:L("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",s;if(t){s="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else s=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(s),this.urls.localUrlForBrowser=this.formatUrl(s)}getLanIp=D;formatUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Ie.format({protocol:t,hostname:e,port:s,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Ie.format({protocol:t,hostname:e,port:Xt.bold(s),pathname:r})}},P=new le});var me,H,fe=l(()=>{"use strict";pe();ce();d();h();me=class{isADB=!1;isHttps=!1;get isHttpBase(){let e=n.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}async setup(){if(this.isADB=!!n.empOptions.autoDevBase&&n.mode==="development"&&!this.isHttpBase,!this.isADB)return;let{server:e,https:t}=n.empOptions.server||{};this.isHttps=e==="https"||typeof e=="object"&&e.type==="https"||t===!0;let s=P.getLanIp(),r=this.isHttps?"https":"http",o=n.empOptions.server?.port||8e3;o=await G(o,s),n.empOptions.base=`${r}://${s}:${o}/`,n.empOptions.server=m({port:o,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${s}:${o}/ws`}},n.empOptions.server)}},H=new me});import Be from"html-webpack-plugin";var Ge,B,He,U,Kt,J,he=l(()=>{"use strict";d();h();Ge="HtmlImportMapPlugin",B=class{importMap;chunk;constructor(e,t){this.importMap=e,this.chunk=t}apply(e){e.hooks.compilation.tap(Ge,t=>{Be.getHooks(t).alterAssetTagGroups.tapAsync(Ge,(s,r)=>{if(!s.plugin.userOptions.chunks?.includes(this.chunk))return r(null,s);s.headTags.push({tagName:"script",attributes:{type:"importmap"},innerHTML:`${JSON.stringify(this.importMap,null,2)}`,voidTag:!1,meta:{plugin:void 0}}),r(null,s)})})}},He="HtmlEmpShareLibPlugin",U=class{chunk;files;constructor(e,t){this.files=m({js:[],css:[]},e),this.chunk=t}apply(e){e.hooks.compilation.tap(He,t=>{let s=this.files;Be.getHooks(t).alterAssetTagGroups.tapAsync(He,(r,o)=>{if(!r.plugin.userOptions.chunks?.includes(this.chunk))return o(null,r);s.js.map(a=>{r.headTags.push({tagName:"script",attributes:{src:a},voidTag:!1,meta:{plugin:void 0}})}),s.css.map(a=>{r.headTags.push({tagName:"link",attributes:{rel:"stylesheet",href:a},voidTag:!1,meta:{plugin:void 0}})}),o(null,r)})})}},Kt=()=>{let i=[`import 'core-js/${n.empConfig.build.coreJsFeatures}'`].join(`
10
- `);return ie(i)},J=class{constructor(){}apply(e){let{webpack:t}=e;new t.EntryPlugin(e.context,Kt(),{name:void 0}).apply(e)}}});var _,Ue=l(()=>{"use strict";h();fe();he();_=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){await H.setup(),this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){n.empConfig.build.polyfill==="entry"&&n.chain.plugin("empPolyfill").use(J),this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});import Qt from"node:fs";var ue,Je,_e=l(()=>{"use strict";d();Ae();Ne();Ue();ue=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},m(e,t)}empShareFastMode=new I;empShareLib=new z;isESM=!1;async autoDevSet(){this.store.mode==="development"&&this.store.empOptions.autoDevBase}checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),this.lifeCycle=new _(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:s,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),s&&(this.base=s),r&&(this.appEntry=r),this.store.empConfig.empShare&&await this.empShareLib.setup()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){return this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rspackCache:!0,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:!0,minify:!this.store.isDev,minOptions:{},target:"es5",polyfill:!1,polyfillInclude:["es.object.values","es.object.entries","es.array.flat"],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default,swcConfig:{}},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,files:{css:[],js:[]},tags:{headTags:[],bodyTags:[]}},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.assign(e,this.store.empOptions.server)}get empShare(){return this.assign({name:"",filename:"emp.js",shared:{}},this.store.empOptions.empShare)}get css(){return this.assign({sass:{mode:"modern",api:"modern-compiler"}},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:s,staticDir:r}=this.store.empConfig.build,o={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${s}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!0};return this.store.isDev&&this.store.empConfig.empShare.dts!==!1&&(o.clean=!1),this.assign(o,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",s={};return Object.keys(e).map(r=>{(t==="all"||t==="esm")&&(s[`import.meta.env.${r}`]=JSON.stringify(e[r])),(t==="all"||t==="cjs")&&(s[`process.env.${r}`]=JSON.stringify(e[r])),s[`${r}`]=JSON.stringify(e[r])}),s}get externals(){return this.assign(this.empShareLib.externals,this.store.empOptions.externals)}get resolve(){return m({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){let e=this.store.resolve("emp-config.js");if(!Qt.existsSync(e))return;let{default:t}=await import(this.store.importFileUrl(e));typeof t=="function"?this.store.empOptions=await t(this.store):this.store.empOptions=t||{}}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),s={and:[],not:[]};return t.defaultExclude===!0&&s.and.push(/(node_modules|bower_components)/),t?.exclude&&(s.and=s.and.concat(t.exclude)),e?.include&&(s.not=t.include),s}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},Je=new ue});import Zt from"fs-extra";var ge,Ve,We=l(()=>{"use strict";ge=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}async common(){this.store.merge({node:{global:!0},experiments:{outputModule:this.store.empConfig.isESM,topLevelAwait:!0},target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:this.store.empConfig.debug.rspackCache,devtool:this.store.empConfig.build.sourcemap?"source-map":!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await Zt.exists(e)){let s={tsConfigPath:e};this.store.merge({resolve:s})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill&&(e.splitChunks.cacheGroups={}),this.store.chain.merge({optimization:e})}},Ve=new ge});var de,qe,Xe=l(()=>{"use strict";N();de=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let e={},t=this.store.empConfig.css?.sass;t&&t.mode==="modern"&&(e.implementation=t.implementation?t.implementation:E.resolve("sass-embedded"),e.api=t.api,t.sassOptions&&(e.sassOptions=t.sassOptions));let s={loader:E.resolve("sass-loader"),options:e};this.store.chain.merge({module:{rule:{sass:{test:/\.(sass|scss)$/,use:{sassLoader:s},type:"css/auto"}}}})}async less(){let e={loader:this.store.importResolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{less:{test:/\.less$/,use:{lessLoader:e},type:"css/auto"}}}})}async css(){this.store.chain.merge({module:{rule:{css:{test:/\.css$/,use:{},type:"css/auto"}}}})}},qe=new de});import v from"node:path";import{glob as Ke}from"glob";import Yt from"html-webpack-plugin";var ye,Qe,Ze=l(()=>{"use strict";d();he();ye=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),e.tags=e.tags||{},e}setChunk(e){return e.replace(v.extname(e),"").replace(`${this.store.empConfig.appSrc}${v.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(v.join("template","index.html"))}setFavicion(e){return e?this.store.resolve(e):this.store.empResolve(v.join("template","favicon.ico"))}setEntryItem(e,t,s){s=s||this.store.resolve(v.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),o=[s];this.entriesConfig[r]={entry:{[r]:o},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=o}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`html-plugin-${t}`).use(Yt,[e]),this.store.empConfig.empShareLib&&(e.files=m(e.files,this.store.empConfig.empShareLib.externalAssets)),this.store.chain.plugin(`html-plugin-empShare-${t}`).use(U,[e.files,t]),this.store.empConfig.empShareLib.useImportMap&&this.store.chain.plugin(`html-plugin-import-map-${t}`).use(B,[this.store.empConfig.empShareLib.importMap,t])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){let e=this.store.empConfig.autoPages?.path||"pages",t=v.join(this.store.appSrc,e),s=v.join(t,"**","*.{ts,tsx,jsx,js}"),r=await Ke([s],{windowsPathsNoEscape:!0});r=r.map(o=>o.replace(`${t}${v.sep}`,"")),r.map(o=>{let a=this.store.empConfig.entries[o]||{};this.setEntryItem(o,{...this.store.empConfig.html,...a},v.join(t,o))})}async setDefaultEntry(){let e=v.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await Ke([e],{windowsPathsNoEscape:!0});if(t[0]){let s=v.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(s,this.store.empConfig.html,t[0])}}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},Qe=new ye});import Ye from"node:path";var be,et,tt=l(()=>{"use strict";N();d();be=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e;let t=[this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.isDev?"[path][name]-[local]-[hash:5]":"[local]-[hash:5]";this.store.chain.merge({module:{generator:{css:{localIdentName:e},"css/auto":{localIdentName:e},"css/module":{localIdentName:e}}}})}rspackParser(){this.store.chain.merge({module:{parser:{css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return this.store.empConfig.build.polyfill}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,externalHelpers:s}=this.store.empConfig.build;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:s,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:m(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill),this.store.empConfig.build.polyfill==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfillInclude)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build;e&&this.store.chain.resolve.alias.set("@swc/helpers",Ye.dirname(E.resolve("@swc/helpers/package.json"))),this.coreJs.path=E.resolve("core-js/package.json");let t=te(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=Ye.dirname(this.coreJs.path),this.store.empConfig.build.polyfill&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}async scripts(){this.swcInitOptions();let e=!1,t=[];this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{mjs:{test:/\.m?js/,resolve:{fullySpecified:!1}},typescript:{test:/\.(ts|tsx)$/,exclude:t,sideEffects:e,use:{swc:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},javascript:{test:/\.((m|c)?js|jsx)$/,exclude:t,sideEffects:e,use:{swc:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){this.store.chain.merge({module:{rule:{svg:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{inline:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{image:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},fonts:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},svga:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},et=new be});import st from"fs";import{ModuleFederationPlugin as es}from"@module-federation/enhanced/rspack";import R from"@rspack/core";var ve,it,rt=l(()=>{"use strict";ve=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.empShare(),this.minify()];await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin("bundleAnalyzerPlugin").use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}async define(){this.store.chain.plugin("definePlugin").use(R.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");st.existsSync(e)&&st.readdirSync(e).length>0&&this.store.chain.plugin("copyRspackPlugin").use(R.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir)}]}])}async progress(){this.store.empConfig.debug.progress&&this.store.chain.plugin("progressPlugin").use(R.ProgressPlugin,[{prefix:"EMP"}])}async empShare(){let{isEmpshare:e}=this.store.empConfig.empShareLib;if(!e)return;let t=es;this.store.chain.plugin("empShare").use(t,[this.store.empConfig.empShareLib.pluginConfig])}minify(){this.store.chain.optimization.minimize(this.store.mode==="production"),this.store.chain.optimization.minimizer("minJs").use(R.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]),this.store.chain.optimization.minimizer("minCss").use(R.SwcCssMinimizerRspackPlugin,[{}])}},it=new ve});var Ce,ot,nt=l(()=>{"use strict";We();Xe();Ze();tt();rt();Ce=class{store;async setup(e){this.store=e;let t=[Ve.setup(this.store),et.setup(this.store),it.setup(this.store),Qe.setup(this.store),qe.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},ot=new Ce});import ts from"node:fs/promises";import C from"node:path";import{pathToFileURL as ss}from"node:url";import is from"node:util";import rs from"webpack-chain";var we,n,h=l(()=>{"use strict";b();N();d();_e();nt();we=class{empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=Fe;empSource=C.resolve(this.empRoot,"dist");resolve=e=>C.isAbsolute(e)?e:C.resolve(this.root,e);empResolve=e=>C.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};cacheDir="";mode="development";cliMode="dev";isDev=!0;cliOptions;chain;rsConfig;empOptions={};empConfig;vCompare=T;deepAssign=m;getLanIp=D;entries={};debug;async setup(e,t){await this.initVars(e,t),this.empConfig=Je,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new rs,await ot.setup(this),this.setLogger(),this.toConfig(),this.logConfig()}async initVars(e,t){this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let s=await ne(this.empResolve("package.json")),r=await ne(this.resolve("package.json"));this.empPkg={...this.empPkg,...s},this.pkg={...this.pkg,...r}}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir),this.resource.dir=C.join(this.empRoot,"resource"),this.resource.cert=C.join(this.resource.dir,"emp.cert"),this.resource.key=C.join(this.resource.dir,"emp.key")}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),p.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}importResolve(e,t){return Re(e,t)}importFileUrl(e){return ss(e).toString()}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=C.join(this.root,this.debug.showRsconfig);ts.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?m(e,this.debug.showRsconfig):e;console.log(p.link("[Compile Config]")),console.log(is.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 20"]}}},n=new we});import os from"node:fs";import w from"node:path";import{gzipSizeSync as ns}from"gzip-size";function hs(i,e){let t=[i,e],s=["File","Size","Gzipped"].reduce((r,o,a)=>{let f=t[a],g=o;return f&&(g=o.length<f?o+" ".repeat(f-o.length):o),`${r+g} `}," ");console.log(S.bold(s))}async function at(i){let e=i.toJson({all:!1,assets:!0,timings:!0}),s=e.assets.filter(c=>cs(c.name)).map(fs);s.sort((c,$)=>c.size-$.size);let r=Math.max(...s.map(c=>c.sizeLabel.length)),o=Math.max(...s.map(c=>(c.folder+w.sep+c.name).length));hs(o,r);let a=0,f=0;s.forEach(c=>{let{sizeLabel:$}=c,{name:St,folder:Et,gzipSizeLabel:Ot}=c,ke=(Et+w.sep+St).length,$e=$.length;if(a+=c.size,f+=c.gzippedSize,$e<r){let Z=" ".repeat(r-$e);$+=Z}let Me=L(c.folder+w.sep)+us(c.name);if(ke<o){let Z=" ".repeat(o-ke);Me+=Z}p.info(` ${Me} ${L($)} ${Ot}`)});let g=`${S.bold("Total size:")} ${V(a)}`,k=`${S.bold("Gzipped size:")} ${V(f)}`;p.info(`
9
+ `)}},p=new Y});var re={};M(re,{clearConsole:()=>se,deepAssign:()=>m,ensureArray:()=>Nt,getLanIp:()=>D,getPkgVersion:()=>te,importJsVm:()=>ie,jsonFilter:()=>zt,timeFormat:()=>A,vCompare:()=>T});import{ip as Tt}from"address";import Rt from"chalk";import{gateway4sync as Ft}from"default-gateway";import At from"fs-extra";function se(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function m(i,...e){for(let t of e)for(let s in t){let r=t[s],n=i[s];if(Object(r)==r&&Object(n)===n){i[s]=m(n,r);continue}i[s]=t[s]}return i}var D,te,Nt,zt,T,A,ie,d=l(()=>{"use strict";D=()=>{let{int:i}=Ft();return Tt(i||"")||"127.0.0.1"},te=i=>{try{let{version:e}=At.readJSONSync(i);return e}catch{return}};Nt=i=>Array.isArray(i)?i:[i],zt=(i={},e=[])=>Object.keys(i).filter(t=>!e.includes(t)).reduce((t,s)=>(t[s]=i[s],t),{}),T=(i="",e="")=>{let t=i.replace("^","").split("."),s=e.replace("^","").split("."),r=Math.max(t.length,s.length),n=0;for(let a=0;a<r;a++){let f=t.length>a?t[a]:0,g=isNaN(Number(f))?f.charCodeAt():Number(f),k=s.length>a?s[a]:0,c=isNaN(Number(k))?k.charCodeAt():Number(k);if(g<c){n=-1;break}else if(g>c){n=1;break}}return n},A=i=>{i=i/1e3;let e=s=>Rt.bold(s);if(i<1)return`${i*1e3} ms`;if(i<10){let s=i>=.01?2:3;return`${e(i.toFixed(s))} s`}if(i<60)return`${e(i.toFixed(1))} s`;let t=i/60;return`${e(t.toFixed(2))} m`},ie=i=>`data:text/javascript,${i}`});import{readFile as It}from"node:fs/promises";import Re from"node:module";import{dirname as Gt}from"node:path";import oe from"node:path";import{fileURLToPath as Ht}from"node:url";var Fe,Bt,ne,E,Ae,Ne,N=l(()=>{"use strict";Fe=Ht(import.meta.url),Bt=Gt(Fe),ne=async i=>{try{let e=await It(i);return JSON.parse(e)}catch(e){console.error(e)}},E=Re.createRequire(import.meta.url),Ae=(i,e)=>{let t=E;return e&&(t=Re.createRequire(e)),t.resolve(i)},Ne=oe.resolve(Bt,Fe).replace(`${oe.sep}dist${oe.sep}index.js`,"")});var z,ze=l(()=>{"use strict";h();z=class{externals={};externalAssets={js:[],css:[]};exp=/^([0-9a-zA-Z_\s]+)@(.*)/;config;importMap={imports:{}};isEmpshare=!1;async setup(){this.config=o.empConfig.empShare,this.isEmpshare=!!o.empConfig.empShare.name,o.empConfig.empShare.fastMode&&o.empConfig.empShareFastMode.setup(),this.config.shareLib&&this.setShareLib(),this.prepareEsm()}get useImportMap(){return this.config.useImportMap&&o.empConfig.isESM}get pluginConfig(){let e={...this.config};return delete e.shareLib,delete e.useImportMap,delete e.fastMode,{manifest:!1,dts:!1,...e}}prepareEsm(){if(o.empConfig.isESM){this.config.library={type:"module"};let e=this.config.remotes||{};for(let[t,s]of Object.entries(e))if(typeof s=="string"){let r=s.match(this.exp)||[];r.length>0&&(e[t]=r[2])}this.config.remotes=e}}async setShareLib(){let e=this.config,t=[];if(typeof e.shareLib=="object")for(let[s,r]of Object.entries(e.shareLib)){let n={};if(n.module=s,typeof r=="string"){let a=r.match(this.exp)||[];a.length>0?(n.global=a[1],n.entry=a[2],n.type="js",t.push(n),n={}):(n.global="",n.entry=r,n.type="js",t.push(n),n={})}else Array.isArray(r)?r.map(a=>{if(!a)return;if(a.split("?")[0].endsWith(".css"))n.entry=a,n.type="css";else{let g=a.match(this.exp)||[];g.length>0?(n.global=g[1],n.entry=g[2],n.type="js"):(n.global="",n.entry=a,n.type="js")}t.push(n),n={}}):typeof r=="object"&&r.entry&&(n.entry=r.entry,n.global=r.global,n.type=r.type,t.push(n),n={})}await Promise.all([this.setExternalAssets(t)])}async setExternalAssets(e=[]){if(e.length>0){let t=[];t=t.concat(e),t.map(s=>{s.type=s.type||"js",s.type==="js"&&s.module?(s.global?this.externals[s.module]=s.global:o.empConfig.isESM&&(this.useImportMap?(this.externals[s.module]=s.module,this.importMap.imports[s.module]=s.entry):this.externals[s.module]=s.entry),s.entry&&!o.empConfig.isESM&&this.externalAssets.js.push(s.entry)):s.type==="css"&&s.entry&&this.externalAssets.css.push(s.entry)})}}}});var I,Ie=l(()=>{"use strict";h();I=class{fastMode={runtimeHost:"",runtimeLib:"",externals:{},globalVal:"EmpShareLib",framework:"react"};externalMF={"@module-federation/runtime":"MFRuntime","@module-federation/sdk":"MFSDK"};externalReact={react:"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM"};externals={};getRuntimeLib(e){return`${e}/runtime${o.mode==="development"?".development":""}.umd.js`}setup(){this.fastMode=o.deepAssign(this.fastMode,o.empConfig.empShare.fastMode),this.injectLib(),this.setExternals()}injectLib(){let{runtimeHost:e,runtimeLib:t}=this.fastMode;if(e||t){let s=t||this.getRuntimeLib(e);o.empConfig.empShareLib.externalAssets.js.push(s)}}setExternals(){for(let[e,t]of Object.entries(this.externalMF))this.externals[e]=`${this.fastMode.globalVal}.${t}`;if(this.fastMode.framework==="react")for(let[e,t]of Object.entries(this.externalReact))this.externals[e]=`${this.fastMode.globalVal}.${t}`;Object.entries(this.fastMode.externals).length>0&&(this.externals=o.deepAssign(this.externals,this.fastMode.externals)),o.empConfig.empShareLib.externals=o.deepAssign(o.empConfig.empShareLib.externals,this.externals)}}});import Ut from"net";import Jt from"os";async function G(i,e="localhost"){if(i!==_t&&(i<Ge||i>ae))throw new Error(`Port number must lie between ${Ge} and ${ae}`);let t=i,s=Vt(),r;e&&!s.has(e)?r=new Set([e]):r=s;let n=new Set(["EADDRINUSE","EACCES"]);for(;t<=ae;)try{return await qt(t,r)}catch(a){if(!n.has(a.code))throw a;t+=1}throw new Error("No available ports found")}var Ge,ae,_t,Vt,Wt,qt,pe=l(()=>{"use strict";Ge=1024,ae=65535,_t=443,Vt=()=>{let i=Jt.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(i))if(t)for(let s of t)e.add(s.address);return e},Wt=(i,e)=>new Promise((t,s)=>{let r=Ut.createServer();r.unref(),r.on("error",s),r.listen(i,e,()=>{let{port:n}=r.address();r.close(()=>{t(n)})})}),qt=async(i,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let s of e)try{await Wt(i,s)}catch(r){if(!t.has(r.code))throw r}return i}});import He from"url";import Xt from"chalk";var le,P,ce=l(()=>{"use strict";b();d();le=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:L("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",s;if(t){s="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else s=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(s),this.urls.localUrlForBrowser=this.formatUrl(s)}getLanIp=D;formatUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return He.format({protocol:t,hostname:e,port:s,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return He.format({protocol:t,hostname:e,port:Xt.bold(s),pathname:r})}},P=new le});var me,H,fe=l(()=>{"use strict";pe();ce();d();h();me=class{isADB=!1;isHttps=!1;get isHttpBase(){let e=o.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}async setup(){if(this.isADB=!!o.empOptions.autoDevBase&&o.mode==="development"&&!this.isHttpBase,!this.isADB)return;let{server:e,https:t}=o.empOptions.server||{};this.isHttps=e==="https"||typeof e=="object"&&e.type==="https"||t===!0;let s=P.getLanIp(),r=this.isHttps?"https":"http",n=o.empOptions.server?.port||8e3;n=await G(n,s),o.empOptions.base=`${r}://${s}:${n}/`,o.empOptions.server=m({port:n,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${s}:${n}/ws`}},o.empOptions.server)}},H=new me});import Je from"html-webpack-plugin";var Be,B,Ue,U,Kt,J,he=l(()=>{"use strict";d();h();Be="HtmlImportMapPlugin",B=class{importMap;chunk;constructor(e,t){this.importMap=e,this.chunk=t}apply(e){e.hooks.compilation.tap(Be,t=>{Je.getHooks(t).alterAssetTagGroups.tapAsync(Be,(s,r)=>{if(!s.plugin.userOptions.chunks?.includes(this.chunk))return r(null,s);s.headTags.push({tagName:"script",attributes:{type:"importmap"},innerHTML:`${JSON.stringify(this.importMap,null,2)}`,voidTag:!1,meta:{plugin:void 0}}),r(null,s)})})}},Ue="HtmlEmpShareLibPlugin",U=class{chunk;files;constructor(e,t){this.files=m({js:[],css:[]},e),this.chunk=t}apply(e){e.hooks.compilation.tap(Ue,t=>{let s=this.files;Je.getHooks(t).alterAssetTagGroups.tapAsync(Ue,(r,n)=>{if(!r.plugin.userOptions.chunks?.includes(this.chunk))return n(null,r);s.js.map(a=>{r.headTags.push({tagName:"script",attributes:{src:a},voidTag:!1,meta:{plugin:void 0}})}),s.css.map(a=>{r.headTags.push({tagName:"link",attributes:{rel:"stylesheet",href:a},voidTag:!1,meta:{plugin:void 0}})}),n(null,r)})})}},Kt=()=>{let i=[`import 'core-js/${o.empConfig.build.coreJsFeatures}'`].join(`
10
+ `);return ie(i)},J=class{constructor(){}apply(e){let{webpack:t}=e;new t.EntryPlugin(e.context,Kt(),{name:void 0}).apply(e)}}});var _,_e=l(()=>{"use strict";h();fe();he();_=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){await H.setup(),this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){o.empConfig.build.polyfill==="entry"&&o.chain.plugin("empPolyfill").use(J),this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});import Qt from"node:fs";var ue,Ve,We=l(()=>{"use strict";d();ze();Ie();_e();ue=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},m(e,t)}empShareFastMode=new I;empShareLib=new z;isESM=!1;async autoDevSet(){this.store.mode==="development"&&this.store.empOptions.autoDevBase}checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),this.lifeCycle=new _(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:s,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),s&&(this.base=s),r&&(this.appEntry=r),this.store.empConfig.empShare&&await this.empShareLib.setup()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){return this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rspackCache:!0,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:!0,minify:!this.store.isDev,minOptions:{},target:"es5",polyfill:!1,polyfillInclude:["es.object.values","es.object.entries","es.array.flat"],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default,swcConfig:{}},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,files:{css:[],js:[]},tags:{headTags:[],bodyTags:[]}},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.assign(e,this.store.empOptions.server)}get empShare(){return this.assign({name:"",filename:"emp.js",shared:{}},this.store.empOptions.empShare)}get css(){return this.assign({sass:{mode:"modern",api:"modern-compiler"}},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:s,staticDir:r}=this.store.empConfig.build,n={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${s}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!0};return this.store.isDev&&this.store.empConfig.empShare.dts!==!1&&(n.clean=!1),this.assign(n,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",s={};return Object.keys(e).map(r=>{(t==="all"||t==="esm")&&(s[`import.meta.env.${r}`]=JSON.stringify(e[r])),(t==="all"||t==="cjs")&&(s[`process.env.${r}`]=JSON.stringify(e[r])),s[`${r}`]=JSON.stringify(e[r])}),s}get externals(){return this.assign(this.empShareLib.externals,this.store.empOptions.externals)}get resolve(){return m({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){let e=this.store.resolve("emp-config.js");if(!Qt.existsSync(e))return;let{default:t}=await import(this.store.importFileUrl(e));typeof t=="function"?this.store.empOptions=await t(this.store):this.store.empOptions=t||{}}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),s={and:[],not:[]};return t.defaultExclude===!0&&s.and.push(/(node_modules|bower_components)/),t?.exclude&&(s.and=s.and.concat(t.exclude)),e?.include&&(s.not=t.include),s}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},Ve=new ue});import Zt from"fs-extra";var ge,qe,Xe=l(()=>{"use strict";ge=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}async common(){this.store.merge({node:{global:!0},experiments:{outputModule:this.store.empConfig.isESM,topLevelAwait:!0},target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:this.store.empConfig.debug.rspackCache,devtool:this.store.empConfig.build.sourcemap?"source-map":!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await Zt.exists(e)){let s={tsConfigPath:e};this.store.merge({resolve:s})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill&&(e.splitChunks.cacheGroups={}),this.store.chain.merge({optimization:e})}},qe=new ge});var de,Ke,Qe=l(()=>{"use strict";N();de=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let e={},t=this.store.empConfig.css?.sass;t&&t.mode==="modern"&&(e.implementation=t.implementation?t.implementation:E.resolve("sass-embedded"),e.api=t.api,t.sassOptions&&(e.sassOptions=t.sassOptions));let s={loader:E.resolve("sass-loader"),options:e};this.store.chain.merge({module:{rule:{sass:{test:/\.(sass|scss)$/,use:{sassLoader:s},type:"css/auto"}}}})}async less(){let e={loader:this.store.importResolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{less:{test:/\.less$/,use:{lessLoader:e},type:"css/auto"}}}})}async css(){this.store.chain.merge({module:{rule:{css:{test:/\.css$/,use:{},type:"css/auto"}}}})}},Ke=new de});import v from"node:path";import{glob as Ze}from"glob";import Yt from"html-webpack-plugin";var ye,Ye,et=l(()=>{"use strict";d();he();ye=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),e.tags=e.tags||{},e}setChunk(e){return e.replace(v.extname(e),"").replace(`${this.store.empConfig.appSrc}${v.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(v.join("template","index.html"))}setFavicion(e){return e?this.store.resolve(e):this.store.empResolve(v.join("template","favicon.ico"))}setEntryItem(e,t,s){s=s||this.store.resolve(v.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),n=[s];this.entriesConfig[r]={entry:{[r]:n},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=n}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`html-plugin-${t}`).use(Yt,[e]),this.store.empConfig.empShareLib&&(e.files=m(e.files,this.store.empConfig.empShareLib.externalAssets)),this.store.chain.plugin(`html-plugin-empShare-${t}`).use(U,[e.files,t]),this.store.empConfig.empShareLib.useImportMap&&this.store.chain.plugin(`html-plugin-import-map-${t}`).use(B,[this.store.empConfig.empShareLib.importMap,t])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){let e=this.store.empConfig.autoPages?.path||"pages",t=v.join(this.store.appSrc,e),s=v.join(t,"**","*.{ts,tsx,jsx,js}"),r=await Ze([s],{windowsPathsNoEscape:!0});r=r.map(n=>n.replace(`${t}${v.sep}`,"")),r.map(n=>{let a=this.store.empConfig.entries[n]||{};this.setEntryItem(n,{...this.store.empConfig.html,...a},v.join(t,n))})}async setDefaultEntry(){let e=v.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await Ze([e],{windowsPathsNoEscape:!0});if(t[0]){let s=v.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(s,this.store.empConfig.html,t[0])}}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},Ye=new ye});import tt from"node:path";var be,st,it=l(()=>{"use strict";N();d();be=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e;let t=[this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.isDev?"[path][name]-[local]-[hash:5]":"[local]-[hash:5]";this.store.chain.merge({module:{generator:{css:{localIdentName:e},"css/auto":{localIdentName:e},"css/module":{localIdentName:e}}}})}rspackParser(){this.store.chain.merge({module:{parser:{css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return this.store.empConfig.build.polyfill}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,externalHelpers:s}=this.store.empConfig.build;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:s,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:m(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill),this.store.empConfig.build.polyfill==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfillInclude)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build;e&&this.store.chain.resolve.alias.set("@swc/helpers",tt.dirname(E.resolve("@swc/helpers/package.json"))),this.coreJs.path=E.resolve("core-js/package.json");let t=te(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=tt.dirname(this.coreJs.path),this.store.empConfig.build.polyfill&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}async scripts(){this.swcInitOptions();let e=!1,t=[];this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{mjs:{test:/\.m?js/,resolve:{fullySpecified:!1}},typescript:{test:/\.(ts|tsx)$/,exclude:t,sideEffects:e,use:{swc:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},javascript:{test:/\.((m|c)?js|jsx)$/,exclude:t,sideEffects:e,use:{swc:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){this.store.chain.merge({module:{rule:{svg:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{inline:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{image:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},fonts:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},svga:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},st=new be});import rt from"fs";import{ModuleFederationPlugin as es}from"@module-federation/enhanced/rspack";import R from"@rspack/core";var ve,ot,nt=l(()=>{"use strict";ve=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.empShare(),this.minify()];await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin("bundleAnalyzerPlugin").use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}async define(){this.store.chain.plugin("definePlugin").use(R.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");rt.existsSync(e)&&rt.readdirSync(e).length>0&&this.store.chain.plugin("copyRspackPlugin").use(R.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir)}]}])}async progress(){this.store.empConfig.debug.progress&&this.store.chain.plugin("progressPlugin").use(R.ProgressPlugin,[{prefix:"EMP"}])}async empShare(){let{isEmpshare:e}=this.store.empConfig.empShareLib;if(!e)return;let t=es;this.store.chain.plugin("empShare").use(t,[this.store.empConfig.empShareLib.pluginConfig])}minify(){this.store.chain.optimization.minimize(this.store.mode==="production"),this.store.chain.optimization.minimizer("minJs").use(R.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]),this.store.chain.optimization.minimizer("minCss").use(R.SwcCssMinimizerRspackPlugin,[{}])}},ot=new ve});var Ce,at,pt=l(()=>{"use strict";Xe();Qe();et();it();nt();Ce=class{store;async setup(e){this.store=e;let t=[qe.setup(this.store),st.setup(this.store),ot.setup(this.store),Ye.setup(this.store),Ke.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},at=new Ce});import ts from"node:fs/promises";import C from"node:path";import{pathToFileURL as ss}from"node:url";import is from"node:util";import rs from"webpack-chain";var we,o,h=l(()=>{"use strict";b();N();d();We();pt();we=class{empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=Ne;empSource=C.resolve(this.empRoot,"dist");resolve=e=>C.isAbsolute(e)?e:C.resolve(this.root,e);empResolve=e=>C.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};cacheDir="";mode="development";cliMode="dev";isDev=!0;cliOptions;chain;rsConfig;empOptions={};empConfig;vCompare=T;deepAssign=m;getLanIp=D;entries={};debug;async setup(e,t){await this.initVars(e,t),this.empConfig=Ve,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new rs,await at.setup(this),this.setLogger(),this.toConfig(),this.logConfig()}async initVars(e,t){this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let s=await ne(this.empResolve("package.json")),r=await ne(this.resolve("package.json"));this.empPkg={...this.empPkg,...s},this.pkg={...this.pkg,...r}}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir),this.resource.dir=C.join(this.empRoot,"resource"),this.resource.cert=C.join(this.resource.dir,"emp.cert"),this.resource.key=C.join(this.resource.dir,"emp.key")}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),p.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}importResolve(e,t){return Ae(e,t)}importFileUrl(e){return ss(e).toString()}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=C.join(this.root,this.debug.showRsconfig);ts.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?m(e,this.debug.showRsconfig):e;console.log(p.link("[Compile Config]")),console.log(is.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 20"]}}},o=new we});import os from"node:fs";import w from"node:path";import{gzipSizeSync as ns}from"gzip-size";function hs(i,e){let t=[i,e],s=["File","Size","Gzipped"].reduce((r,n,a)=>{let f=t[a],g=n;return f&&(g=n.length<f?n+" ".repeat(f-n.length):n),`${r+g} `}," ");console.log(S.bold(s))}async function lt(i){let e=i.toJson({all:!1,assets:!0,timings:!0}),s=e.assets.filter(c=>cs(c.name)).map(fs);s.sort((c,$)=>c.size-$.size);let r=Math.max(...s.map(c=>c.sizeLabel.length)),n=Math.max(...s.map(c=>(c.folder+w.sep+c.name).length));hs(n,r);let a=0,f=0;s.forEach(c=>{let{sizeLabel:$}=c,{name:St,folder:Et,gzipSizeLabel:Ot}=c,Me=(Et+w.sep+St).length,je=$.length;if(a+=c.size,f+=c.gzippedSize,je<r){let Z=" ".repeat(r-je);$+=Z}let Le=L(c.folder+w.sep)+us(c.name);if(Me<n){let Z=" ".repeat(n-Me);Le+=Z}p.info(` ${Le} ${L($)} ${Ot}`)});let g=`${S.bold("Total size:")} ${V(a)}`,k=`${S.bold("Gzipped size:")} ${V(f)}`;p.info(`
11
11
  ${g}
12
12
  ${k}
13
13
  `),p.info(`${y("\u2713")} Ready in ${A(Number(e.time))}
14
- `)}function W(i=0){p.info(`${y("\u2713")} Ready in ${A(Number(i))}`)}var as,ps,ls,cs,ms,fs,V,us,q=l(()=>{"use strict";h();b();d();as=/\.html$/,ps=/\.(?:js|mjs|cjs|jsx)$/,ls=/\.css$/,cs=i=>!/\.map$/.test(i)&&!/\.LICENSE\.txt$/.test(i),ms=i=>i>300*1e3?F:i>100*1e3?j:Le,fs=i=>{let e=i.name.split("?")[0],t=V(i.size),s=w.basename(e),r=w.join(w.basename(n.empConfig.build.outDir),w.dirname(e)),o=os.readFileSync(w.join(n.empConfig.build.outDir,e)),a=o.length,f=ns(o),g=ms(f)(V(f));return{size:a,folder:r,name:s,gzippedSize:f,sizeLabel:t,gzipSizeLabel:g}};V=i=>{let e=i/1e3;return`${e.toFixed(e<1?2:1)} kB`},us=i=>ps.test(i)?j(i):ls.test(i)?y(i):as.test(i)?S(i):ee(i)});import{exec as gs}from"node:child_process";import{promisify as ds}from"node:util";var lt,pt,ys,bs,ct,mt=l(()=>{"use strict";h();b();lt=ds(gs),pt=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],ys=async()=>{let i=process.env.BROWSER;if(!i||!pt.includes(i)){let{stdout:e}=await lt("ps cax");i=pt.find(t=>e.includes(t))}return i},bs=async i=>{if(process.platform==="darwin")try{let t=await ys();if(t){let s=`osascript openChrome.applescript "${encodeURI(i)}" "${t}"`;return await lt(s,{cwd:n.resource.dir}),!0}}catch(t){p.debug(t)}try{let{default:t}=await import("open");return await t(i),!0}catch(t){return p.error("Failed to open start URL."),p.error(t),!1}},ct=bs});import ft from"node:fs/promises";var x,X=l(()=>{"use strict";pe();ce();b();mt();d();h();fe();x=class{sf={protocol:"http",host:"0.0.0.0",port:8e3,publicPath:"",publicHasHttp:!1,isOpenBrower:!1,url:"",urls:{localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""}};async adaptServer(){this.sf.publicPath=n.rsConfig.output?.publicPath==="auto"?"/":n.rsConfig.output?.publicPath||"/",this.sf.isOpenBrower=!!n.empConfig.server.open,this.sf.protocol=this.isHttps?"https":"http",this.sf.host=n.empConfig.server.host?n.empConfig.server.host:this.sf.host,this.sf.port=n.empConfig.server.port,await this.serverPort(),P.setup(this.sf),this.sf.publicPath&&(this.sf.publicPath.indexOf("http://")>-1||this.sf.publicPath.indexOf("https://")>-1)?(this.sf.url=this.sf.publicPath,this.sf.publicHasHttp=!0,this.sf.urls.localUrlForTerminal=P.prettyPrintUrl("localhost")):(this.sf.urls=P.urls,this.sf.url=this.sf.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this.sf;this.sf.publicHasHttp?(p.info(`${y("\u279C")} Local: ${p.link(e.localUrlForTerminal)}`),p.info(`${y("\u279C")} Network: ${p.link(this.sf.publicPath)}`)):(p.info(`${y("\u279C")} Local: ${p.link(e.localUrlForTerminal)}`),p.info(`${y("\u279C")} Network: ${p.link(e.lanUrlForTerminal)}
15
- `)),this.sf.isOpenBrower&&ct(this.sf.url)}async setup(e,t){await n.setup(e,t),n.debug.clearLog&&se(),p.title(`${e}`),await this.adaptServer(),await this.run(),this.afterRun()}async run(){}afterRun(){process.on("SIGINT",function(){process.exit()})}get isHttps(){let{server:e,https:t}=n.empConfig.server||{};return e==="https"||typeof e=="object"&&e.type==="https"||t===!0}getcert(){return Promise.all([ft.readFile(n.resource.key),ft.readFile(n.resource.cert)])}async serverPort(){if(H.isADB)return;let{port:e,host:t}=this.sf,s=await G(e,t);s!==e&&(this.sf.port=s,n.rsConfig.devServer?.port&&(n.rsConfig.devServer.port=s))}}});var ht={};M(ht,{default:()=>ws});import{rspack as vs}from"@rspack/core";import{RspackDevServer as Cs}from"@rspack/dev-server";var xe,ws,ut=l(()=>{"use strict";q();b();d();X();h();xe=class extends x{get rspackDevConfig(){return m(n.rsConfig,{stats:{all:!1,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0},devServer:{open:!1,setupExitSignals:!0}})}async devServerConfig(){let e=Object.assign({},n.rsConfig.devServer);if(this.isHttps&&(e.https===!0&&delete e.https,!e.server)){let[t,s]=await this.getcert();e.server={type:"https",options:{key:t,cert:s}}}return e}async run(){let e=vs(this.rspackDevConfig);if(!n.rsConfig.devServer){p.error("devServer is not defined in config");return}let t=await this.devServerConfig(),s=new Cs(t,e);this.startOpen(),n.empConfig.lifeCycle.beforeDevServe&&await n.empConfig.lifeCycle.beforeDevServe(),await s.start();let r=o=>{let a=o?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});W(a.time)};n.debug.showPerformance&&e.hooks.afterDone.tap("done",r),s.middleware?.waitUntilValid(o=>{n.debug.showPerformance||r(o),n.empConfig.lifeCycle.afterDevServe&&n.empConfig.lifeCycle.afterDevServe()})}},ws=new xe});var gt={};M(gt,{default:()=>Ss});import{rspack as xs}from"@rspack/core";var Se,Ss,dt=l(()=>{"use strict";q();b();X();h();Se=class extends x{async run(){n.empConfig.lifeCycle.beforeBuild&&await n.empConfig.lifeCycle.beforeBuild(),xs(n.rsConfig,async(e,t)=>{if(e!==null){p.error(e.stack||e),e.message&&p.error(e.message);return}if(!t){p.red("Stats is Undefined.");return}t.hasErrors()&&(p.error(t.toString({all:!1,colors:!0,errors:!0})),p.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(p.yellow("Compiled with warnings."),p.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await at(t),n.empConfig.lifeCycle.afterBulid&&await n.empConfig.lifeCycle.afterBulid()})}},Ss=new Se});import Es from"https";import Os from"compression";import Ps from"cors";import ks from"express";var K,yt=l(()=>{"use strict";X();K=class extends x{app;async init(){let e=ks();e.use(Os()),e.use(Ps()),this.app=e}async server(){if(this.isHttps){let[e,t]=await this.getcert();Es.createServer(typeof this.isHttps!="boolean"?this.isHttps:{key:e,cert:t},this.app).listen(this.sf.port,async()=>{this.startOpen(),await this.onReady()})}else this.app.listen(this.sf.port,async()=>{this.startOpen(),await this.onReady()})}async onReady(){}async middleware(){}async start(){await this.init(),await this.middleware(),await this.server()}}});var bt={};M(bt,{ServeScript:()=>Q,default:()=>Ds});import $s from"node:fs";import Ms from"node:fs/promises";import js from"path";import Ls from"express";var Q,Ds,vt=l(()=>{"use strict";q();b();h();yt();Q=class extends K{timing=0;async run(){if(this.timing=Date.now(),!$s.existsSync(n.outDir))return p.sysError(`emp serve must be executed after emp build,${n.outDir} not exist!`);n.empConfig.lifeCycle.beforeServe&&await n.empConfig.lifeCycle.beforeServe(),this.start()}async middleware(){let e=n.resolve(n.rsConfig.output?.path);this.app.use(Ls.static(e));let t=await Ms.readFile(js.join(e,"index.html"),"utf8");this.app.get("*",(s,r)=>r.send(t))}async onReady(){W(Date.now()-this.timing),n.empConfig.lifeCycle.afterServe&&await n.empConfig.lifeCycle.afterServe()}},Ds=new Q});import{rspack as Co}from"@rspack/core";b();d();h();import Ee,{exit as Ts}from"node:process";import{program as O}from"commander";function Ct(){let i="20.0.0";T(i,Ee.versions.node)===1&&(p.sysError(`\u5F53\u524D\u7248\u672C\u4E3Av${Ee.versions.node} \u6700\u4F4E\u8981\u6C42\u4E3Av${i}`),Ts(0)),O.version(n.empPkg.version,"-v, --version").usage("<command> [options]"),O.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(e,t)=>{let[s,r]=e.split("=");return t[s]=r,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(ut(),ht));await t.setup("dev",e)}),O.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(e,t)=>{let[s,r]=e.split("=");return t[s]=r,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(dt(),gt));await t.setup("build",e)}),O.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").action(async e=>{let{default:t}=await Promise.resolve().then(()=>(vt(),bt));await t.setup("serve",e)}),O.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(e=>{}),O.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(e=>{}),O.parse(Ee.argv)}h();import wt from"node:fs/promises";import Oe from"node:path";import{glob as Rs}from"glob";var Fs=/(?:(?:import|export)\s?(?:type)?\s?(?:(?:\{[^;\n]+\})|(?:[^;\n]+))\s?from\s?['"][^;\n]+['"])|(?:import\(['"][^;\n]+?['"]\))/g,As=/(?:import|export)\s?(?:type)?\s?\{?.+\}?\s?from\s?['"](.+)['"]/,Ns=/import\(['"]([^;\n]+?)['"]\)/,Pe=class{list=[];outDir=n.resolve("dist");aliasName="@empjs/cli";async setup(e,t){e&&(this.outDir=e),t&&(this.aliasName=t);let s=await this.readDts();await this.writeCode(s)}async readDts(){this.list=await Rs([`${n.empConfig.build.outDir}/**/*.d.ts`],{windowsPathsNoEscape:!0});let e=[];this.list.map(s=>{s=n.resolve(s),e.push(this.readFile(s))});let t=await Promise.all(e);return t=t.map(s=>this.replaceAliasPath(s)),t}async readFile(e){let t=await wt.readFile(e,{encoding:"utf-8"});return{src:e,code:t}}replaceAliasPath({src:e,code:t}){t=t.replace(Fs,r=>{let o=r.match(As);if(o||(o=r.match(Ns)),o&&o[1]){let a=o[1];if(!a.startsWith("."))return r;let f=Oe.resolve(Oe.dirname(e),a).replace(this.outDir,this.aliasName);return r.replace(o[1],f)}return r});let s=e.replace(this.outDir,this.aliasName).replace(".d.ts","");return s.endsWith("/index")&&(s=s.replace("/index","")),t=this.warpDeclareModule(s,t),{code:t,src:e,mod:s}}warpDeclareModule(e,t){return`declare module '${e}' {\r
14
+ `)}function W(i=0){p.info(`${y("\u2713")} Ready in ${A(Number(i))}`)}var as,ps,ls,cs,ms,fs,V,us,q=l(()=>{"use strict";h();b();d();as=/\.html$/,ps=/\.(?:js|mjs|cjs|jsx)$/,ls=/\.css$/,cs=i=>!/\.map$/.test(i)&&!/\.LICENSE\.txt$/.test(i),ms=i=>i>300*1e3?F:i>100*1e3?j:Te,fs=i=>{let e=i.name.split("?")[0],t=V(i.size),s=w.basename(e),r=w.join(w.basename(o.empConfig.build.outDir),w.dirname(e)),n=os.readFileSync(w.join(o.empConfig.build.outDir,e)),a=n.length,f=ns(n),g=ms(f)(V(f));return{size:a,folder:r,name:s,gzippedSize:f,sizeLabel:t,gzipSizeLabel:g}};V=i=>{let e=i/1e3;return`${e.toFixed(e<1?2:1)} kB`},us=i=>ps.test(i)?j(i):ls.test(i)?y(i):as.test(i)?S(i):ee(i)});import{exec as gs}from"node:child_process";import{promisify as ds}from"node:util";var mt,ct,ys,bs,ft,ht=l(()=>{"use strict";h();b();mt=ds(gs),ct=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],ys=async()=>{let i=process.env.BROWSER;if(!i||!ct.includes(i)){let{stdout:e}=await mt("ps cax");i=ct.find(t=>e.includes(t))}return i},bs=async i=>{if(process.platform==="darwin")try{let t=await ys();if(t){let s=`osascript openChrome.applescript "${encodeURI(i)}" "${t}"`;return await mt(s,{cwd:o.resource.dir}),!0}}catch(t){p.debug(t)}try{let{default:t}=await import("open");return await t(i),!0}catch(t){return p.error("Failed to open start URL."),p.error(t),!1}},ft=bs});import ut from"node:fs/promises";var x,X=l(()=>{"use strict";pe();ce();b();ht();d();h();fe();x=class{sf={protocol:"http",host:"0.0.0.0",port:8e3,publicPath:"",publicHasHttp:!1,isOpenBrower:!1,url:"",urls:{localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""}};async adaptServer(){this.sf.publicPath=o.rsConfig.output?.publicPath==="auto"?"/":o.rsConfig.output?.publicPath||"/",this.sf.isOpenBrower=!!o.empConfig.server.open,this.sf.protocol=this.isHttps?"https":"http",this.sf.host=o.empConfig.server.host?o.empConfig.server.host:this.sf.host,this.sf.port=o.empConfig.server.port,await this.serverPort(),P.setup(this.sf),this.sf.publicPath&&(this.sf.publicPath.indexOf("http://")>-1||this.sf.publicPath.indexOf("https://")>-1)?(this.sf.url=this.sf.publicPath,this.sf.publicHasHttp=!0,this.sf.urls.localUrlForTerminal=P.prettyPrintUrl("localhost")):(this.sf.urls=P.urls,this.sf.url=this.sf.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this.sf;this.sf.publicHasHttp?(p.info(`${y("\u279C")} Local: ${p.link(e.localUrlForTerminal)}`),p.info(`${y("\u279C")} Network: ${p.link(this.sf.publicPath)}`)):(p.info(`${y("\u279C")} Local: ${p.link(e.localUrlForTerminal)}`),p.info(`${y("\u279C")} Network: ${p.link(e.lanUrlForTerminal)}
15
+ `)),this.sf.isOpenBrower&&ft(this.sf.url)}async setup(e,t){await o.setup(e,t),o.debug.clearLog&&se(),p.title(`${e}`),await this.adaptServer(),await this.run(),this.afterRun()}async run(){}afterRun(){process.on("SIGINT",function(){process.exit()})}get isHttps(){let{server:e,https:t}=o.empConfig.server||{};return e==="https"||typeof e=="object"&&e.type==="https"||t===!0}getcert(){return Promise.all([ut.readFile(o.resource.key),ut.readFile(o.resource.cert)])}async serverPort(){if(H.isADB)return;let{port:e,host:t}=this.sf,s=await G(e,t);s!==e&&(this.sf.port=s,o.rsConfig.devServer?.port&&(o.rsConfig.devServer.port=s))}}});var gt={};M(gt,{default:()=>ws});import{rspack as vs}from"@rspack/core";import{RspackDevServer as Cs}from"@rspack/dev-server";var xe,ws,dt=l(()=>{"use strict";q();b();d();X();h();xe=class extends x{get rspackDevConfig(){return m(o.rsConfig,{stats:{all:!1,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0},devServer:{open:!1,setupExitSignals:!0}})}async devServerConfig(){let e=Object.assign({},o.rsConfig.devServer);if(this.isHttps&&(e.https===!0&&delete e.https,!e.server)){let[t,s]=await this.getcert();e.server={type:"https",options:{key:t,cert:s}}}return e}async run(){let e=vs(this.rspackDevConfig);if(!o.rsConfig.devServer){p.error("devServer is not defined in config");return}let t=await this.devServerConfig(),s=new Cs(t,e);this.startOpen(),o.empConfig.lifeCycle.beforeDevServe&&await o.empConfig.lifeCycle.beforeDevServe(),await s.start();let r=n=>{let a=n?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});W(a.time)};o.debug.showPerformance&&e.hooks.afterDone.tap("done",r),s.middleware?.waitUntilValid(n=>{o.debug.showPerformance||r(n),o.empConfig.lifeCycle.afterDevServe&&o.empConfig.lifeCycle.afterDevServe()})}},ws=new xe});import xs from"https";import Ss from"compression";import Es from"cors";import Os from"express";var K,yt=l(()=>{"use strict";X();K=class extends x{app;async init(){let e=Os();e.use(Ss()),e.use(Es()),this.app=e}async server(){if(this.isHttps){let[e,t]=await this.getcert();xs.createServer(typeof this.isHttps!="boolean"?this.isHttps:{key:e,cert:t},this.app).listen(this.sf.port,async()=>{this.startOpen(),await this.onReady()})}else this.app.listen(this.sf.port,async()=>{this.startOpen(),await this.onReady()})}async onReady(){}async middleware(){}async start(){await this.init(),await this.middleware(),await this.server()}}});var Se={};M(Se,{ServeScript:()=>Q,default:()=>js});import Ps from"node:fs";import ks from"node:fs/promises";import $s from"path";import Ms from"express";var Q,js,Ee=l(()=>{"use strict";q();b();h();yt();Q=class extends K{timing=0;async run(){if(this.timing=Date.now(),!Ps.existsSync(o.outDir))return p.sysError(`emp serve must be executed after emp build,${o.outDir} not exist!`);o.empConfig.lifeCycle.beforeServe&&await o.empConfig.lifeCycle.beforeServe(),this.start()}async middleware(){let e=o.resolve(o.rsConfig.output?.path);this.app.use(Ms.static(e));let t=await ks.readFile($s.join(e,"index.html"),"utf8");this.app.get("*",(s,r)=>r.send(t))}async onReady(){W(Date.now()-this.timing),o.empConfig.lifeCycle.afterServe&&await o.empConfig.lifeCycle.afterServe()}},js=new Q});var bt={};M(bt,{default:()=>Ds});import{rspack as Ls}from"@rspack/core";var Oe,Ds,vt=l(()=>{"use strict";q();b();X();h();Oe=class extends x{isWatchMode=!1;rspackConfig;isStartServe=!1;watchMode(){this.isWatchMode&&this.rspackConfig.optimization&&(this.rspackConfig.optimization.moduleIds="named",this.rspackConfig.optimization.chunkIds="named",this.rspackConfig.watch=!0)}async startServe(){let{default:e}=await Promise.resolve().then(()=>(Ee(),Se));await e.setup("serve",o.cliOptions)}async run(){o.empConfig.lifeCycle.beforeBuild&&await o.empConfig.lifeCycle.beforeBuild(),this.isWatchMode=!!o.cliOptions.watch,this.isStartServe=!!o.cliOptions.serve,this.rspackConfig=o.rsConfig,this.isWatchMode&&this.watchMode(),this.isStartServe&&this.startServe(),Ls(this.rspackConfig,async(e,t)=>{if(e!==null){p.error(e.stack||e),e.message&&p.error(e.message);return}if(!t){p.red("Stats is Undefined.");return}t.hasErrors()&&(p.error(t.toString({all:!1,colors:!0,errors:!0})),p.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(p.yellow("Compiled with warnings."),p.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await lt(t),o.empConfig.lifeCycle.afterBulid&&await o.empConfig.lifeCycle.afterBulid()})}},Ds=new Oe});import{rspack as Co}from"@rspack/core";b();d();h();import Pe,{exit as Ts}from"node:process";import{program as O}from"commander";function Ct(){let i="20.0.0";T(i,Pe.versions.node)===1&&(p.sysError(`\u5F53\u524D\u7248\u672C\u4E3Av${Pe.versions.node} \u6700\u4F4E\u8981\u6C42\u4E3Av${i}`),Ts(0)),O.version(o.empPkg.version,"-v, --version").usage("<command> [options]"),O.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(e,t)=>{let[s,r]=e.split("=");return t[s]=r,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(dt(),gt));await t.setup("dev",e)}),O.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-sv, --serve","watch \u6A21\u5F0F\u4E0B\u542F\u52A8serve").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(e,t)=>{let[s,r]=e.split("=");return t[s]=r,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(vt(),bt));await t.setup("build",e)}),O.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").action(async e=>{let{default:t}=await Promise.resolve().then(()=>(Ee(),Se));await t.setup("serve",e)}),O.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(e=>{}),O.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(e=>{}),O.parse(Pe.argv)}h();import wt from"node:fs/promises";import ke from"node:path";import{glob as Rs}from"glob";var Fs=/(?:(?:import|export)\s?(?:type)?\s?(?:(?:\{[^;\n]+\})|(?:[^;\n]+))\s?from\s?['"][^;\n]+['"])|(?:import\(['"][^;\n]+?['"]\))/g,As=/(?:import|export)\s?(?:type)?\s?\{?.+\}?\s?from\s?['"](.+)['"]/,Ns=/import\(['"]([^;\n]+?)['"]\)/,$e=class{list=[];outDir=o.resolve("dist");aliasName="@empjs/cli";async setup(e,t){e&&(this.outDir=e),t&&(this.aliasName=t);let s=await this.readDts();await this.writeCode(s)}async readDts(){this.list=await Rs([`${o.empConfig.build.outDir}/**/*.d.ts`],{windowsPathsNoEscape:!0});let e=[];this.list.map(s=>{s=o.resolve(s),e.push(this.readFile(s))});let t=await Promise.all(e);return t=t.map(s=>this.replaceAliasPath(s)),t}async readFile(e){let t=await wt.readFile(e,{encoding:"utf-8"});return{src:e,code:t}}replaceAliasPath({src:e,code:t}){t=t.replace(Fs,r=>{let n=r.match(As);if(n||(n=r.match(Ns)),n&&n[1]){let a=n[1];if(!a.startsWith("."))return r;let f=ke.resolve(ke.dirname(e),a).replace(this.outDir,this.aliasName);return r.replace(n[1],f)}return r});let s=e.replace(this.outDir,this.aliasName).replace(".d.ts","");return s.endsWith("/index")&&(s=s.replace("/index","")),t=this.warpDeclareModule(s,t),{code:t,src:e,mod:s}}warpDeclareModule(e,t){return`declare module '${e}' {\r
16
16
  ${t}}\r
17
- `}async writeCode(e){let t="";e.map(s=>{t+=s.code}),await wt.writeFile(Oe.join(this.outDir.replace("dist","types"),"type.d.ts"),t)}},zs=new Pe;h();var xt={};M(xt,{chalk:()=>Is,logger:()=>p,utils:()=>re});d();b();import Is from"chalk";function Eo(i){return i}export{Eo as defineConfig,zs as dts,xt as empHelper,Co as rspack,Ct as runScript,n as store};
17
+ `}async writeCode(e){let t="";e.map(s=>{t+=s.code}),await wt.writeFile(ke.join(this.outDir.replace("dist","types"),"type.d.ts"),t)}},zs=new $e;h();var xt={};M(xt,{chalk:()=>Is,logger:()=>p,utils:()=>re});d();b();import Is from"chalk";function Eo(i){return i}export{Eo as defineConfig,zs as dts,xt as empHelper,Co as rspack,Ct as runScript,o as store};
@@ -1,5 +1,13 @@
1
1
  import { BaseScript } from '../script/base';
2
2
  declare class BuildScript extends BaseScript {
3
+ private isWatchMode;
4
+ private rspackConfig;
5
+ private isStartServe;
6
+ /**
7
+ * 解决 watch mode 报错问题
8
+ */
9
+ private watchMode;
10
+ private startServe;
3
11
  run(): Promise<void>;
4
12
  }
5
13
  declare const _default: BuildScript;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empjs/cli",
3
- "version": "3.0.0-rc.23",
3
+ "version": "3.0.0-rc.24",
4
4
  "description": "emp",
5
5
  "license": "MIT",
6
6
  "type": "module",