@empjs/cli 3.0.0-beta.29 → 3.0.0-beta.30
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/client.d.ts +11 -22
- package/dist/index.js +7 -7
- package/dist/store/rspack/module.d.ts +1 -0
- package/dist/types/config.d.ts +8 -2
- package/package.json +1 -1
package/client.d.ts
CHANGED
|
@@ -41,11 +41,20 @@ declare module '*.webp' {
|
|
|
41
41
|
const src: string
|
|
42
42
|
export default src
|
|
43
43
|
}
|
|
44
|
-
|
|
45
44
|
declare module '*.svg' {
|
|
45
|
+
const src: string
|
|
46
|
+
export default src
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* declare module '*.svg' {
|
|
50
|
+
const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>
|
|
51
|
+
const content: string
|
|
52
|
+
export {ReactComponent}
|
|
53
|
+
export default content
|
|
54
|
+
} */
|
|
55
|
+
declare module '*.svg?react' {
|
|
46
56
|
const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>
|
|
47
57
|
const content: string
|
|
48
|
-
|
|
49
58
|
export {ReactComponent}
|
|
50
59
|
export default content
|
|
51
60
|
}
|
|
@@ -98,23 +107,3 @@ interface ImportMetaEnv {
|
|
|
98
107
|
interface ImportMeta {
|
|
99
108
|
readonly env: ImportMetaEnv
|
|
100
109
|
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* polyfill all `core-js` features, including early-stage proposals:
|
|
104
|
-
*/
|
|
105
|
-
// declare module 'core-js/full'
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* polyfill all actual features - stable ES, web standards and stage 3 ES proposals:
|
|
109
|
-
*/
|
|
110
|
-
// declare module 'core-js/actual'
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* polyfill only stable features - ES and web standards:
|
|
114
|
-
*/
|
|
115
|
-
// declare module 'core-js/stable'
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* polyfill only stable ES features:
|
|
119
|
-
*/
|
|
120
|
-
// declare module 'core-js/es'
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var gt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var
|
|
2
|
-
`);return $e(i)},L=class{constructor(){}apply(e){let{webpack:t}=e;new t.EntryPlugin(e.context,
|
|
1
|
+
var gt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var J=(i,e)=>{for(var t in e)gt(i,t,{get:e[t],enumerable:!0})};import{fileURLToPath as dt}from"node:url";import{dirname as yt}from"node:path";import{readFile as bt}from"node:fs/promises";import ye from"node:module";import N from"node:path";var be,vt,V,j,ve,Ce,_=l(()=>{"use strict";be=dt(import.meta.url),vt=yt(be),V=async i=>{try{let e=await bt(i);return JSON.parse(e)}catch(e){console.error(e)}},j=ye.createRequire(import.meta.url),ve=(i,e)=>{let t=j;return e&&(t=ye.createRequire(e)),t.resolve(i)},Ce=N.resolve(vt,be).replace(`${N.sep}dist${N.sep}index.js`,"")});import E from"@rspack/core";import we from"fs";var W,xe,Se=l(()=>{"use strict";W=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,[{}])}async define(){this.store.chain.plugin("definePlugin").use(E.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");we.existsSync(e)&&we.readdirSync(e).length>0&&this.store.chain.plugin("copyRspackPlugin").use(E.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve("dist")}]}])}async progress(){this.store.empConfig.debug.progress&&this.store.chain.plugin("progressPlugin").use(E.ProgressPlugin,[{prefix:"EMP"}])}async empShare(){let{version:e,isEmpshare:t}=this.store.empConfig.empShareLib;if(!t)return;let{ModuleFederationPluginV1:s,ModuleFederationPlugin:r}=E.container,n=e===1?s:r;this.store.chain.plugin("empShare").use(n,[this.store.empConfig.empShareLib.pluginConfig])}minify(){this.store.chain.optimization.minimize(this.store.mode==="production"),this.store.chain.optimization.minimizer("minJs").use(E.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]),this.store.chain.optimization.minimizer("minCss").use(E.SwcCssMinimizerRspackPlugin,[{}])}},xe=new W});import Ct from"chalk";import wt from"fs-extra";function Oe(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function f(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]=f(n,r);continue}i[s]=t[s]}return i}var Ee,T,Pe,$e,y=l(()=>{"use strict";Ee=i=>{try{let{version:e}=wt.readJSONSync(i);return e}catch{return}};T=(i="",e="")=>{let t=i.replace("^","").split("."),s=e.replace("^","").split("."),r=Math.max(t.length,s.length),n=0;for(let p=0;p<r;p++){let c=t.length>p?t[p]:0,g=isNaN(Number(c))?c.charCodeAt():Number(c),P=s.length>p?s[p]:0,m=isNaN(Number(P))?P.charCodeAt():Number(P);if(g<m){n=-1;break}else if(g>m){n=1;break}}return n},Pe=i=>{i=i/1e3;let e=s=>Ct.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`},$e=i=>`data:text/javascript,${i}`});import ke from"node:path";var X,je,Te=l(()=>{"use strict";_();y();X=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e;let t=[this.react(),this.files(),this.scripts()];await Promise.all(t)}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}}}get swcTransform(){let{isDev:e}=this.store;return this.store.reactVersion?{react:{runtime:this.store.empConfig.reactRuntime,development:e,refresh:e}}:{}}swcJsc(e){let{target:t,externalHelpers:s}=this.store.empConfig.build;return{parser:this.swcParser(e),transform:this.swcTransform,target:t,externalHelpers:s,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:this.swcJsc(e),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=["es.object.values","es.array.flat"])),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build;e&&this.store.chain.resolve.alias.set("@swc/helpers",ke.dirname(j.resolve("@swc/helpers/package.json"))),this.coreJs.path=j.resolve("core-js/package.json");let t=Ee(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=ke.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:[{loader:"builtin:swc-loader",options:this.swcTsOptions}]},javascript:{test:/\.(js|jsx)$/,exclude:t,sideEffects:e,use:[{loader:"builtin:swc-loader",options:this.swcJsOptions}]}}}})}async react(){if(this.store.reactVersion&&this.store.isDev&&this.store.empConfig.react.hmr){let{default:e}=await import("@rspack/plugin-react-refresh"),t={};this.store.empConfig.empShareLib.config.name&&(t.library=this.store.empConfig.empShareLib.config.name),this.store.chain.plugin("plugin-react-refresh").use(e,[t])}}async files(){let e=new RegExp(`${this.store.empConfig.react.svgrQuery}`);this.store.chain.merge({module:{rule:{svg:{test:/\.svg$/,oneOf:[{issuer:/\.[jt]sx?$/,resourceQuery:e,use:[{loader:this.store.importResolve("@svgr/webpack"),options:{}}]},{resourceQuery:{not:[e]},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"}}}})}},je=new X});var q,Re,De=l(()=>{"use strict";q=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization()];await Promise.all(t)}async common(){this.store.merge({node:{global:!0},experiments:{rspackFuture:{newTreeshaking:this.store.empConfig.isESM},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,builtins:{css:{modules:{localIdentName:this.store.isDev?"[path][name]-[local]-[hash:5]":"[local]-[hash:5]"}}},output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals})}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})}},Re=new q});import Me from"html-webpack-plugin";var Le,R,Fe,D,xt,L,Q=l(()=>{"use strict";y();u();Le="HtmlImportMapPlugin",R=class{importMap;constructor(e){this.importMap=e}apply(e){e.hooks.compilation.tap(Le,t=>{Me.getHooks(t).alterAssetTagGroups.tapAsync(Le,(s,r)=>{s.headTags.push({tagName:"script",attributes:{type:"importmap"},innerHTML:`${JSON.stringify(this.importMap,null,2)}`,voidTag:!1,meta:{plugin:void 0}}),r(null,s)})})}},Fe="HtmlEmpShareLibPlugin",D=class{files;constructor(e){this.files=f({js:[],css:[]},e)}apply(e){e.hooks.compilation.tap(Fe,t=>{let s=this.files;Me.getHooks(t).alterAssetTagGroups.tapAsync(Fe,(r,n)=>{s.js.map(p=>{r.headTags.push({tagName:"script",attributes:{src:p},voidTag:!1,meta:{plugin:void 0}})}),s.css.map(p=>{r.headTags.push({tagName:"link",attributes:{rel:"stylesheet",href:p},voidTag:!1,meta:{plugin:void 0}})}),n(null,r)})})}},xt=()=>{let i=[`import 'core-js/${o.empConfig.build.coreJsFeatures}'`].join(`
|
|
2
|
+
`);return $e(i)},L=class{constructor(){}apply(e){let{webpack:t}=e;new t.EntryPlugin(e.context,xt(),{name:void 0}).apply(e)}}});import St from"html-webpack-plugin";import Et from"fast-glob";import x from"node:path";var Y,Ae,Be=l(()=>{"use strict";y();Q();Y=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(x.extname(e),"").replace(`${this.store.empConfig.appSrc}${x.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(x.join("template","index.html"))}setFavicion(e){return e?this.store.resolve(e):this.store.empResolve(x.join("template","favicon.ico"))}setEntryItem(e,t,s){s=s||this.store.resolve(x.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),n=[s];this.entriesConfig[r]={entry:{[r]:n},html:this.setHtmlConfig(t,[r])}}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`html-plugin-${t}`).use(St,[e]),this.store.empConfig.empShareLib&&(e.files=f(e.files,this.store.empConfig.empShareLib.externalAssets)),this.store.chain.plugin(`html-plugin-empShare-${t}`).use(D,[e.files]),this.store.empConfig.empShareLib.useImportMap&&this.store.chain.plugin(`html-plugin-import-map-${t}`).use(R,[this.store.empConfig.empShareLib.importMap])}setRspackEntry(e){this.store.merge({entry:e})}async init(){let e=x.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}").replace(/\\/g,"/"),t=await Et([e]);if(t[0]){let s=x.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])}if(Object.keys(this.store.empConfig.entries).length>0)for(let[s,r]of Object.entries(this.store.empConfig.entries))this.setEntryItem(s,{...this.store.empConfig.html,...r})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},Ae=new Y});var Z,ze,Ge=l(()=>{"use strict";Z=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let e={loader:this.store.importResolve("sass-loader"),options:{}};this.store.chain.merge({module:{rule:{sass:{test:/\.(sass|scss)$/,use:{postcss:this.postcss,sassLoader:e},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:{postcss:this.postcss,lessLoader:e},type:"css/auto"}}}})}async css(){this.store.chain.merge({module:{rule:{css:{test:/\.css$/,use:{postcss:this.postcss},type:"css/auto"}}}})}get postcss(){return{loader:this.store.importResolve("postcss-loader"),options:{postcssOptions:{plugins:this.store.empConfig.css.postcss}}}}},ze=new Z});var K,He,Ie=l(()=>{"use strict";Se();Te();De();Be();Ge();K=class{store;async setup(e){this.store=e;let t=[Re.setup(this.store),je.setup(this.store),xe.setup(this.store),Ae.setup(this.store),ze.setup(this.store)];await Promise.all(t),await this.store.empConfig.plugins(),await this.store.empConfig.chain()}},He=new K});import h from"chalk";import{table as Ot}from"table";var ee,a,b=l(()=>{"use strict";ee=class{pname="";logLevel="debug";setup({pname:e,logLevel:t}){this.pname=e,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(`${h.white.bgBlue(this.pname)}${h.blue.bgWhite(` ${e} `)}
|
|
3
3
|
`)};cyan=e=>{console.log(`${h.white.bgCyan(this.pname)}${h.cyan.bgWhite(` ${e} `)}
|
|
4
4
|
`)};magenta=e=>{console.log(`${h.white.bgMagenta(this.pname)}${h.magenta.bgWhite(` ${e} `)}
|
|
5
5
|
`)};green=e=>{console.log(`${h.white.bgGreen(this.pname)}${h.green.bgWhite(` ${e} `)}
|
|
@@ -7,10 +7,10 @@ var gt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var N=(i,e)=>{fo
|
|
|
7
7
|
`)};red=e=>{console.log(`${h.white.bgRed(this.pname)}${h.red.bgWhite(` ${e} `)}
|
|
8
8
|
`)};sysError=e=>{console.log(`${h.white.bgRed(" System Error Tips ")}${h.red.bgWhite(` ${e} `)}
|
|
9
9
|
`)};link=e=>h.hex("#3498db")(e);title=e=>{console.log(`${h.greenBright.bold(`${this.pname}`)} ${h.bgGreenBright(` ${e} `)}
|
|
10
|
-
`)};tableData=[];tableConfig={border:{topBody:"\u2500",topJoin:"\u252C",topLeft:"\u250C",topRight:"\u2510",bottomBody:"\u2500",bottomJoin:"\u2534",bottomLeft:"\u2514",bottomRight:"\u2518",bodyLeft:"\u2502",bodyRight:"\u2502",bodyJoin:"\u2502",joinBody:"\u2500",joinLeft:"\u251C",joinRight:"\u2524",joinJoin:"\u253C"}};tableInput(e){this.tableData.push(e)}tableOutput(){console.log(Ot(this.tableData,this.tableConfig))}},a=new ee});var M,Ue=l(()=>{"use strict";g();M=class{externals={};externalAssets={js:[],css:[]};exp=/^([0-9a-zA-Z_\s]+)@(.*)/;config;importMap={imports:{}};version;isEmpshare=!1;async setup(){this.config=n.empConfig.empShare,this.version=n.empConfig.empShare.mfVersion,this.isEmpshare=!!n.empConfig.empShare.name,this.config.shareLib&&this.setShareLib(),this.prepareEsm()}get useImportMap(){return this.config.useImportMap&&n.empConfig.isESM}get pluginConfig(){let e={...this.config,implementation:n.importResolve("@module-federation/runtime")};return delete e.mfVersion,delete e.shareLib,delete e.useImportMap,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 p=r.match(this.exp)||[];p.length>0?(o.global=p[1],o.entry=p[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(p=>{if(!p)return;if(p.split("?")[0].endsWith(".css"))o.entry=p,o.type="css";else{let u=p.match(this.exp)||[];u.length>0?(o.global=u[1],o.entry=u[2],o.type="js"):(o.global="",o.entry=p,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)})}}}});import Ne from"url";import Je from"chalk";import{ip as Pt}from"address";import{gateway4sync as $t}from"default-gateway";var te,O,se=l(()=>{"use strict";te=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:Je.gray("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(){let{int:e}=$t();return Pt(e||"")||"127.0.0.1"}formatUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Ne.format({protocol:t,hostname:e,port:s,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Ne.format({protocol:t,hostname:e,port:Je.bold(s),pathname:r})}},O=new te});var ie,A,re=l(()=>{"use strict";se();y();g();ie=class{isADB=!1;isHttps=!1;get isHttpBase(){let e=n.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}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=O.getLanIp(),r=this.isHttps?"https":"http",o=n.empOptions.server?.port||8e3;n.empOptions.base=`${r}://${s}:${o}/`,n.empOptions.server=f({port:o,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${s}:${o}/ws`}},n.empOptions.server)}},A=new ie});var F,Ve=l(()=>{"use strict";re();g();Q();F=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){A.setup(),this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){n.empConfig.build.polyfill==="entry"&&n.chain.plugin("empPolyfill").use(L),this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){console.log(this.op),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 kt from"node:fs";var oe,_e,We=l(()=>{"use strict";y();Ue();Ve();oe=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},f(e,t)}empShareLib=new M;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 F(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"}},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,externalHelpers:!1,browserslist:this.store.browserslistOptions.default},{...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:{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 react(){return this.assign({hmr:!0,svgr:!1},this.store.empOptions.react)}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:{},mfVersion:1.5},this.store.empOptions.empShare)}get css(){return this.assign({postcss:[]},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.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 f({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(!kt.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 reactRuntime(){if(this.store.reactVersion)return this.store.empOptions.reactRuntime?this.store.empOptions.reactRuntime:T(this.store.reactVersion,"17")>-1?"automatic":"classic"}},_e=new oe});import v from"node:path";import jt from"node:fs/promises";import Tt from"webpack-chain";import{pathToFileURL as Rt}from"node:url";import Dt from"node:util";var ne,n,g=l(()=>{"use strict";_();He();b();We();y();ne=class{empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=Ce;empSource=v.resolve(this.empRoot,"dist");resolve=e=>v.isAbsolute(e)?e:v.resolve(this.root,e);empResolve=e=>v.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};cacheDir="";mode="development";cliMode="dev";isDev=!0;reactVersion=void 0;cliOptions;chain;rsConfig;empOptions={};empConfig;async setup(e,t){await this.initVars(e,t),this.empConfig=_e,await this.empConfig.setup(this),this.initPaths(),this.chain=new Tt,await Ie.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";let s=await V(this.empResolve("package.json")),r=await V(this.resolve("package.json"));this.empPkg={...this.empPkg,...s},this.pkg={...this.pkg,...r},this.reactVersion=this.pkg.dependencies.react||this.pkg.devDependencies.react}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=v.join(this.empRoot,"resource"),this.resource.cert=v.join(this.resource.dir,"emp.cert"),this.resource.key=v.join(this.resource.dir,"emp.key")}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.empConfig.debug.loggerLevel&&(e=this.empConfig.debug.loggerLevel),a.setup({pname:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}`,logLevel:e})}merge(e){this.chain.merge(e)}importResolve(e,t){return ve(e,t)}importFileUrl(e){return Rt(e).toString()}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.empConfig.debug.showRsconfig)if(typeof this.empConfig.debug.showRsconfig=="string"){let e=v.join(this.root,this.empConfig.debug.showRsconfig);jt.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{let e={colors:!0,depth:null},t=typeof this.empConfig.debug.showRsconfig=="object"?f(e,this.empConfig.debug.showRsconfig):e;console.log(a.link("[Compile Config]")),console.log(Dt.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 ne});import{exec as Lt}from"node:child_process";import{promisify as Mt}from"node:util";var qe,Xe,At,Ft,Qe,Ye=l(()=>{"use strict";b();g();qe=Mt(Lt),Xe=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],At=async()=>{let i=process.env.BROWSER;if(!i||!Xe.includes(i)){let{stdout:e}=await qe("ps cax");i=Xe.find(t=>e.includes(t))}return i},Ft=async i=>{if(process.platform==="darwin")try{let t=await At();if(t){let s=`osascript openChrome.applescript "${encodeURI(i)}" "${t}"`;return await qe(s,{cwd:n.resource.dir}),!0}}catch(t){a.debug(t)}try{let{default:t}=await import("open");return await t(i),!0}catch(t){return a.error("Failed to open start URL."),a.error(t),!1}},Qe=Ft});import Bt from"net";import zt from"os";async function Ke(i,e="localhost"){if(i!==Gt&&(i<Ze||i>pe))throw new Error(`Port number must lie between ${Ze} and ${pe}`);let t=i,s=It(),r;e&&!s.has(e)?r=new Set([e]):r=s;let o=new Set(["EADDRINUSE","EACCES"]);for(;t<=pe;)try{return await Ut(t,r)}catch(p){if(!o.has(p.code))throw p;t+=1}throw new Error("No available ports found")}var Ze,pe,Gt,It,Ht,Ut,et=l(()=>{"use strict";Ze=1024,pe=65535,Gt=443,It=()=>{let i=zt.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},Ht=(i,e)=>new Promise((t,s)=>{let r=Bt.createServer();r.unref(),r.on("error",s),r.listen(i,e,()=>{let{port:o}=r.address();r.close(()=>{t(o)})})}),Ut=async(i,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let s of e)try{await Ht(i,s)}catch(r){if(!t.has(r.code))throw r}return i}});import tt from"node:fs/promises";import B from"chalk";var C,z=l(()=>{"use strict";b();g();y();se();Ye();et();re();C=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(),O.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=O.prettyPrintUrl("localhost")):(this.sf.urls=O.urls,this.sf.url=this.sf.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this.sf;this.sf.publicHasHttp?(a.info(`${B.greenBright("\u279C")} Local: ${a.link(e.localUrlForTerminal)}`),a.info(`${B.greenBright("\u279C")} Network: ${a.link(this.sf.publicPath)}`)):(a.info(`${B.greenBright("\u279C")} Local: ${a.link(e.localUrlForTerminal)}`),a.info(`${B.greenBright("\u279C")} Network: ${a.link(e.lanUrlForTerminal)}
|
|
11
|
-
`)),this.sf.isOpenBrower&&Qe(this.sf.url)}async setup(e,t){await
|
|
12
|
-
${
|
|
10
|
+
`)};tableData=[];tableConfig={border:{topBody:"\u2500",topJoin:"\u252C",topLeft:"\u250C",topRight:"\u2510",bottomBody:"\u2500",bottomJoin:"\u2534",bottomLeft:"\u2514",bottomRight:"\u2518",bodyLeft:"\u2502",bodyRight:"\u2502",bodyJoin:"\u2502",joinBody:"\u2500",joinLeft:"\u251C",joinRight:"\u2524",joinJoin:"\u253C"}};tableInput(e){this.tableData.push(e)}tableOutput(){console.log(Ot(this.tableData,this.tableConfig))}},a=new ee});var F,Ue=l(()=>{"use strict";u();F=class{externals={};externalAssets={js:[],css:[]};exp=/^([0-9a-zA-Z_\s]+)@(.*)/;config;importMap={imports:{}};version;isEmpshare=!1;async setup(){this.config=o.empConfig.empShare,this.version=o.empConfig.empShare.mfVersion,this.isEmpshare=!!o.empConfig.empShare.name,this.config.shareLib&&this.setShareLib(),this.prepareEsm()}get useImportMap(){return this.config.useImportMap&&o.empConfig.isESM}get pluginConfig(){let e={...this.config,implementation:o.importResolve("@module-federation/runtime")};return delete e.mfVersion,delete e.shareLib,delete e.useImportMap,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 p=r.match(this.exp)||[];p.length>0?(n.global=p[1],n.entry=p[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(p=>{if(!p)return;if(p.split("?")[0].endsWith(".css"))n.entry=p,n.type="css";else{let g=p.match(this.exp)||[];g.length>0?(n.global=g[1],n.entry=g[2],n.type="js"):(n.global="",n.entry=p,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)})}}}});import Je from"url";import Ne from"chalk";import{ip as Pt}from"address";import{gateway4sync as $t}from"default-gateway";var te,O,se=l(()=>{"use strict";te=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:Ne.gray("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(){let{int:e}=$t();return Pt(e||"")||"127.0.0.1"}formatUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Je.format({protocol:t,hostname:e,port:s,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:s,pathname:r}=this.imf;return Je.format({protocol:t,hostname:e,port:Ne.bold(s),pathname:r})}},O=new te});var ie,M,re=l(()=>{"use strict";se();y();u();ie=class{isADB=!1;isHttps=!1;get isHttpBase(){let e=o.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}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=O.getLanIp(),r=this.isHttps?"https":"http",n=o.empOptions.server?.port||8e3;o.empOptions.base=`${r}://${s}:${n}/`,o.empOptions.server=f({port:n,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${s}:${n}/ws`}},o.empOptions.server)}},M=new ie});var A,Ve=l(()=>{"use strict";re();u();Q();A=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){M.setup(),this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){o.empConfig.build.polyfill==="entry"&&o.chain.plugin("empPolyfill").use(L),this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){console.log(this.op),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 kt from"node:fs";var oe,_e,We=l(()=>{"use strict";y();Ue();Ve();oe=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},f(e,t)}empShareLib=new F;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 A(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"}},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,coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default},{...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:{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 react(){return this.assign({hmr:!0,svgrQuery:"react"},this.store.empOptions.react)}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:{},mfVersion:1.5},this.store.empOptions.empShare)}get css(){return this.assign({postcss:[]},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.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 f({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(!kt.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 reactRuntime(){if(this.store.reactVersion)return this.store.empOptions.reactRuntime?this.store.empOptions.reactRuntime:T(this.store.reactVersion,"17")>-1?"automatic":"classic"}},_e=new oe});import v from"node:path";import jt from"node:fs/promises";import Tt from"webpack-chain";import{pathToFileURL as Rt}from"node:url";import Dt from"node:util";var ne,o,u=l(()=>{"use strict";_();Ie();b();We();y();ne=class{empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=Ce;empSource=v.resolve(this.empRoot,"dist");resolve=e=>v.isAbsolute(e)?e:v.resolve(this.root,e);empResolve=e=>v.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};cacheDir="";mode="development";cliMode="dev";isDev=!0;reactVersion=void 0;cliOptions;chain;rsConfig;empOptions={};empConfig;async setup(e,t){await this.initVars(e,t),this.empConfig=_e,await this.empConfig.setup(this),this.initPaths(),this.chain=new Tt,await He.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";let s=await V(this.empResolve("package.json")),r=await V(this.resolve("package.json"));this.empPkg={...this.empPkg,...s},this.pkg={...this.pkg,...r},this.reactVersion=this.pkg.dependencies.react||this.pkg.devDependencies.react}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=v.join(this.empRoot,"resource"),this.resource.cert=v.join(this.resource.dir,"emp.cert"),this.resource.key=v.join(this.resource.dir,"emp.key")}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.empConfig.debug.loggerLevel&&(e=this.empConfig.debug.loggerLevel),a.setup({pname:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}`,logLevel:e})}merge(e){this.chain.merge(e)}importResolve(e,t){return ve(e,t)}importFileUrl(e){return Rt(e).toString()}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.empConfig.debug.showRsconfig)if(typeof this.empConfig.debug.showRsconfig=="string"){let e=v.join(this.root,this.empConfig.debug.showRsconfig);jt.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{let e={colors:!0,depth:null},t=typeof this.empConfig.debug.showRsconfig=="object"?f(e,this.empConfig.debug.showRsconfig):e;console.log(a.link("[Compile Config]")),console.log(Dt.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 ne});import{exec as Lt}from"node:child_process";import{promisify as Ft}from"node:util";var qe,Xe,Mt,At,Qe,Ye=l(()=>{"use strict";b();u();qe=Ft(Lt),Xe=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],Mt=async()=>{let i=process.env.BROWSER;if(!i||!Xe.includes(i)){let{stdout:e}=await qe("ps cax");i=Xe.find(t=>e.includes(t))}return i},At=async i=>{if(process.platform==="darwin")try{let t=await Mt();if(t){let s=`osascript openChrome.applescript "${encodeURI(i)}" "${t}"`;return await qe(s,{cwd:o.resource.dir}),!0}}catch(t){a.debug(t)}try{let{default:t}=await import("open");return await t(i),!0}catch(t){return a.error("Failed to open start URL."),a.error(t),!1}},Qe=At});import Bt from"net";import zt from"os";async function Ke(i,e="localhost"){if(i!==Gt&&(i<Ze||i>pe))throw new Error(`Port number must lie between ${Ze} and ${pe}`);let t=i,s=Ht(),r;e&&!s.has(e)?r=new Set([e]):r=s;let n=new Set(["EADDRINUSE","EACCES"]);for(;t<=pe;)try{return await Ut(t,r)}catch(p){if(!n.has(p.code))throw p;t+=1}throw new Error("No available ports found")}var Ze,pe,Gt,Ht,It,Ut,et=l(()=>{"use strict";Ze=1024,pe=65535,Gt=443,Ht=()=>{let i=zt.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},It=(i,e)=>new Promise((t,s)=>{let r=Bt.createServer();r.unref(),r.on("error",s),r.listen(i,e,()=>{let{port:n}=r.address();r.close(()=>{t(n)})})}),Ut=async(i,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let s of e)try{await It(i,s)}catch(r){if(!t.has(r.code))throw r}return i}});import tt from"node:fs/promises";import B from"chalk";var C,z=l(()=>{"use strict";b();u();y();se();Ye();et();re();C=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(),O.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=O.prettyPrintUrl("localhost")):(this.sf.urls=O.urls,this.sf.url=this.sf.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this.sf;this.sf.publicHasHttp?(a.info(`${B.greenBright("\u279C")} Local: ${a.link(e.localUrlForTerminal)}`),a.info(`${B.greenBright("\u279C")} Network: ${a.link(this.sf.publicPath)}`)):(a.info(`${B.greenBright("\u279C")} Local: ${a.link(e.localUrlForTerminal)}`),a.info(`${B.greenBright("\u279C")} Network: ${a.link(e.lanUrlForTerminal)}
|
|
11
|
+
`)),this.sf.isOpenBrower&&Qe(this.sf.url)}async setup(e,t){await o.setup(e,t),o.empConfig.debug.clearLog&&Oe(),a.title(`${e}`),await this.adaptServer(),await this.run()}async run(){}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([tt.readFile(o.resource.key),tt.readFile(o.resource.cert)])}async serverPort(){if(M.isADB)return;let{port:e,host:t}=this.sf,s=await Ke(e,t);s!==e&&(this.sf.port=s,o.rsConfig.devServer?.port&&(o.rsConfig.devServer.port=s))}}});import d from"chalk";import w from"node:path";import{gzipSizeSync as Jt}from"gzip-size";import Nt from"node:fs";function Yt(i,e){let t=[i,e],s=["File","Size","Gzipped"].reduce((r,n,p)=>{let c=t[p],g=n;return c&&(g=n.length<c?n+" ".repeat(c-n.length):n),`${r+g} `}," ");console.log(d.bold.blue(s))}async function st(i){let e=i.toJson({all:!1,assets:!0,timings:!0});k(e.time);let s=e.assets.filter(m=>Xt(m.name)).map(Qt);s.sort((m,$)=>m.size-$.size);let r=Math.max(...s.map(m=>m.sizeLabel.length)),n=Math.max(...s.map(m=>(m.folder+w.sep+m.name).length));Yt(n,r);let p=0,c=0;s.forEach(m=>{let{sizeLabel:$}=m,{name:ht,folder:ft,gzipSizeLabel:ut}=m,ue=(ft+w.sep+ht).length,ge=$.length;if(p+=m.size,c+=m.gzippedSize,ge<r){let U=" ".repeat(r-ge);$+=U}let de=d.gray(m.folder+w.sep)+Zt(m.name);if(ue<n){let U=" ".repeat(n-ue);de+=U}a.info(` ${de} ${d.gray($)} ${ut}`)});let g=`${d.bold.blue("Total size:")} ${G(p)}`,P=`${d.bold.blue("Gzipped size:")} ${G(c)}`;a.info(`
|
|
12
|
+
${g}
|
|
13
13
|
${P}
|
|
14
|
-
`)}function k(i=0){a.info(`${d.greenBright("\u2713")} Ready in ${Pe(Number(i))}`)}var Vt,_t,Wt,Xt,qt,Qt,G,Zt,
|
|
14
|
+
`)}function k(i=0){a.info(`${d.greenBright("\u2713")} Ready in ${Pe(Number(i))}`)}var Vt,_t,Wt,Xt,qt,Qt,G,Zt,H=l(()=>{"use strict";u();b();y();Vt=/\.html$/,_t=/\.(?:js|mjs|cjs|jsx)$/,Wt=/\.css$/,Xt=i=>!/\.map$/.test(i)&&!/\.LICENSE\.txt$/.test(i),qt=i=>i>300*1e3?d.red:i>100*1e3?d.yellow:d.white,Qt=i=>{let e=i.name.split("?")[0],t=G(i.size),s=w.basename(e),r=w.join(w.basename(o.empConfig.build.outDir),w.dirname(e)),n=Nt.readFileSync(w.join(o.empConfig.build.outDir,e)),p=n.length,c=Jt(n),g=qt(c)(G(c));return{size:p,folder:r,name:s,gzippedSize:c,sizeLabel:t,gzipSizeLabel:g}};G=i=>{let e=i/1e3;return`${e.toFixed(e<1?2:1)} kB`},Zt=i=>_t.test(i)?d.yellowBright(i):Wt.test(i)?d.greenBright(i):Vt.test(i)?d.blueBright(i):d.magenta(i)});var it={};J(it,{default:()=>ts});import{rspack as Kt}from"@rspack/core";import{RspackDevServer as es}from"@rspack/dev-server";var ae,ts,rt=l(()=>{"use strict";u();z();b();y();H();ae=class extends C{async run(){let e=f(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}}),t=Kt(e);if(!o.rsConfig.devServer){a.error("devServer is not defined in config");return}let s=Object.assign({},o.rsConfig.devServer);if(this.isHttps&&(s.https===!0&&delete s.https,!s.server)){let[p,c]=await this.getcert();s.server={type:"https",options:{key:p,cert:c}}}let r=new es(s,t);this.startOpen(),o.empConfig.lifeCycle.beforeDevServe&&await o.empConfig.lifeCycle.beforeDevServe(),await r.start();let n=p=>{let c=p?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});k(c.time)};o.empConfig.debug.showPerformance&&t.hooks.afterDone.tap("done",n),r.middleware?.waitUntilValid(p=>{o.empConfig.debug.showPerformance||n(p),o.empConfig.lifeCycle.afterDevServe&&o.empConfig.lifeCycle.afterDevServe()})}},ts=new ae});var ot={};J(ot,{default:()=>is});import{rspack as ss}from"@rspack/core";var le,is,nt=l(()=>{"use strict";b();u();z();H();le=class extends C{async run(){o.empConfig.lifeCycle.beforeBuild&&await o.empConfig.lifeCycle.beforeBuild(),ss(o.rsConfig,async(e,t)=>{if(e!==null){a.error(e.stack||e),e.message&&a.error(e.message);return}if(!t){a.red("Stats is Undefined.");return}t.hasErrors()&&(a.error(t.toString({colors:!0,children:!0})),a.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(a.yellow("Compiled with warnings."),a.warn(t.toString({colors:!0,children:!0}))),await st(t),o.empConfig.lifeCycle.afterBulid&&await o.empConfig.lifeCycle.afterBulid()})}},is=new le});import rs from"express";import os from"cors";import ns from"compression";import ps from"https";var I,pt=l(()=>{"use strict";z();I=class extends C{app;async init(){let e=rs();e.use(ns()),e.use(os()),this.app=e}async server(){if(this.isHttps){let[e,t]=await this.getcert();ps.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 at={};J(at,{default:()=>hs});import as from"express";import ls from"path";import cs from"node:fs/promises";import ms from"node:fs";var ce,hs,lt=l(()=>{"use strict";pt();u();b();H();ce=class extends I{timing=0;async run(){if(this.timing=Date.now(),!ms.existsSync(o.outDir))return a.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(as.static(e));let t=await cs.readFile(ls.join(e,"index.html"),"utf8");this.app.get("*",(s,r)=>r.send(t))}async onReady(){k(Date.now()-this.timing),o.empConfig.lifeCycle.afterServe&&await o.empConfig.lifeCycle.afterServe()}},hs=new ce});u();u();y();b();import{program as S}from"commander";import me,{exit as fs}from"node:process";function ct(){let i="20.0.0";T(i,me.versions.node)===1&&(a.sysError(`\u5F53\u524D\u7248\u672C\u4E3Av${me.versions.node} \u6700\u4F4E\u8981\u6C42\u4E3Av${i}`),fs(0)),S.version(o.empPkg.version,"-v, --version").usage("<command> [options]"),S.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(()=>(rt(),it));await t.setup("dev",e)}),S.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("-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(()=>(nt(),ot));await t.setup("build",e)}),S.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(()=>(lt(),at));await t.setup("serve",e)}),S.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=>{}),S.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=>{}),S.parse(me.argv)}u();import us from"fast-glob";import mt from"node:fs/promises";import he from"node:path";var gs=/(?:(?:import|export)\s?(?:type)?\s?(?:(?:\{[^;\n]+\})|(?:[^;\n]+))\s?from\s?['"][^;\n]+['"])|(?:import\(['"][^;\n]+?['"]\))/g,ds=/(?:import|export)\s?(?:type)?\s?\{?.+\}?\s?from\s?['"](.+)['"]/,ys=/import\(['"]([^;\n]+?)['"]\)/,fe=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 us([`${o.empConfig.build.outDir}/**/*.d.ts`]);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 mt.readFile(e,{encoding:"utf-8"});return{src:e,code:t}}replaceAliasPath({src:e,code:t}){t=t.replace(gs,r=>{let n=r.match(ds);if(n||(n=r.match(ys)),n&&n[1]){let p=n[1];if(!p.startsWith("."))return r;let c=he.resolve(he.dirname(e),p).replace(this.outDir,this.aliasName);return r.replace(n[1],c)}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
|
|
15
15
|
${t}}\r
|
|
16
|
-
`}async writeCode(e){let t="";e.map(s=>{t+=s.code}),await mt.writeFile(he.join(this.outDir.replace("dist","types"),"type.d.ts"),t)}},bs=new fe;function
|
|
16
|
+
`}async writeCode(e){let t="";e.map(s=>{t+=s.code}),await mt.writeFile(he.join(this.outDir.replace("dist","types"),"type.d.ts"),t)}},bs=new fe;function Qr(i){return i}export{Qr as defineConfig,bs as dts,ct as runScript,o as store};
|
package/dist/types/config.d.ts
CHANGED
|
@@ -98,6 +98,11 @@ export type BuildType = {
|
|
|
98
98
|
* @default false
|
|
99
99
|
*/
|
|
100
100
|
polyfill?: 'entry' | 'usage' | false;
|
|
101
|
+
/**
|
|
102
|
+
* 选择core-js的兼容版本有助于切换适当的代码体积
|
|
103
|
+
* @default stable
|
|
104
|
+
*/
|
|
105
|
+
coreJsFeatures?: 'full' | 'actual' | 'stable' | 'es';
|
|
101
106
|
/**
|
|
102
107
|
* @swc/helpers 外置
|
|
103
108
|
* @default false
|
|
@@ -154,9 +159,10 @@ export type ReactType = {
|
|
|
154
159
|
*/
|
|
155
160
|
hmr: boolean;
|
|
156
161
|
/**
|
|
157
|
-
* 是否启动 Svg React Component
|
|
162
|
+
* 是否启动 Svg React Component
|
|
163
|
+
* @default ?react
|
|
158
164
|
*/
|
|
159
|
-
|
|
165
|
+
svgrQuery: string;
|
|
160
166
|
};
|
|
161
167
|
export type CSSOptions = {
|
|
162
168
|
postcss?: [string, any][];
|