@empjs/cli 3.0.0-rc.24 → 3.0.0-rc.25
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.d.ts +2 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,12 +3,13 @@ import type { GlobalStore } from './store';
|
|
|
3
3
|
import type { EmpOptions } from './types/config';
|
|
4
4
|
export type { EMP3PluginType, EMP3PluginFnType } from './types/plugin';
|
|
5
5
|
import { rspack } from '@rspack/core';
|
|
6
|
+
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
|
6
7
|
import runScript from './script';
|
|
7
8
|
import dts from './script/dts';
|
|
8
9
|
import store from './store';
|
|
9
10
|
export type EMPConfigFn = (store: GlobalStore) => EmpOptions | Promise<EmpOptions>;
|
|
10
11
|
export type EMPConfigExport = EmpOptions | EMPConfigFn;
|
|
11
12
|
export declare function defineConfig(config: EMPConfigExport): EMPConfigExport;
|
|
12
|
-
export { store, runScript, dts, rspack };
|
|
13
|
+
export { store, runScript, dts, rspack, HtmlWebpackPlugin };
|
|
13
14
|
export type { GlobalStore };
|
|
14
15
|
export * as empHelper from './helper';
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,6 @@ var Pt=Object.defineProperty;var l=(i,e)=>()=>(i&&(e=i(i=0)),e);var M=(i,e)=>{fo
|
|
|
12
12
|
${k}
|
|
13
13
|
`),p.info(`${y("\u2713")} Ready in ${A(Number(e.time))}
|
|
14
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
|
|
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";import xo from"html-webpack-plugin";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(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
|
|
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 Po(i){return i}export{xo as HtmlWebpackPlugin,Po as defineConfig,zs as dts,xt as empHelper,Co as rspack,Ct as runScript,o as store};
|