@empjs/cli 3.0.0-beta.13 → 3.0.0-beta.15
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 +1 -1
- package/package.json +4 -5
package/dist/index.js
CHANGED
|
@@ -10,6 +10,6 @@ var Ze=Object.defineProperty;var m=(r,e)=>()=>(r&&(e=r(r=0)),e);var G=(r,e)=>{fo
|
|
|
10
10
|
`),this.localUrl=n.localUrlForBrowser}this.isOpenBrower&&ze(this.localUrl)}async setup(e,t){await a.setup(e,t),a.empConfig.debug.clearLog&&ve(),p.title(`${e}`),this.publicPath=a.rsConfig.output?.publicPath==="auto"?"/":a.rsConfig.output?.publicPath||"/",this.isOpenBrower=!!a.empConfig.server.open,await this.run()}async run(){}get isHttps(){let{server:e,https:t}=a.rsConfig.devServer||{};return e==="https"||typeof e=="object"&&e.type==="https"||t===!0}getcert(){return Promise.all([Be.readFile(a.resource.key),Be.readFile(a.resource.cert)])}}});import yt from"net";import bt from"os";async function L(r,e="localhost"){if(r!==vt&&(r<Me||r>Q))throw new Error(`Port number must lie between ${Me} and ${Q}`);let t=r,s=xt(),i;e&&!s.has(e)?i=new Set([e]):i=s;let o=new Set(["EADDRINUSE","EACCES"]);for(;t<=Q;)try{return await Ct(t,i)}catch(n){if(!o.has(n.code))throw n;t+=1}throw new Error("No available ports found")}var Me,Q,vt,xt,wt,Ct,Y=m(()=>{"use strict";Me=1024,Q=65535,vt=443,xt=()=>{let r=bt.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(r))if(t)for(let s of t)e.add(s.address);return e},wt=(r,e)=>new Promise((t,s)=>{let i=yt.createServer();i.unref(),i.on("error",s),i.listen(r,e,()=>{let{port:o}=i.address();i.close(()=>{t(o)})})}),Ct=async(r,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let s of e)try{await wt(r,s)}catch(i){if(!t.has(i.code))throw i}return r}});import g from"chalk";import w from"node:path";import{gzipSizeSync as St}from"gzip-size";import Et from"node:fs";async function Dt(r,e){let t=[r,e],s=["File","Size","Gzipped"].reduce((i,o,n)=>{let l=t[n],c=o;return l&&(c=o.length<l?o+" ".repeat(l-o.length):o),`${i+c} `}," ");console.log(g.bold.blue(s))}async function Ne(r){let e=r.toJson({all:!1,assets:!0,timings:!0});R(e.time);let s=e.assets.filter(h=>Rt(h.name)).map(jt);s.sort((h,C)=>h.size-C.size);let i=Math.max(...s.map(h=>h.sizeLabel.length)),o=Math.max(...s.map(h=>(h.folder+w.sep+h.name).length));Dt(o,i);let n=0,l=0;s.forEach(h=>{let{sizeLabel:C}=h,{name:b,folder:Qe,gzipSizeLabel:Ye}=h,ie=(Qe+w.sep+b).length,oe=C.length;if(n+=h.size,l+=h.gzippedSize,oe<i){let z=" ".repeat(i-oe);C+=z}let ne=g.gray(h.folder+w.sep)+Lt(h.name);if(ie<o){let z=" ".repeat(o-ie);ne+=z}p.info(` ${ne} ${g.gray(C)} ${Ye}`)});let c=`${g.bold.blue("Total size:")} ${T(n)}`,f=`${g.bold.blue("Gzipped size:")} ${T(l)}`;p.info(`
|
|
11
11
|
${c}
|
|
12
12
|
${f}
|
|
13
|
-
`)}function R(r=0){p.info(`${g.greenBright("\u2713")} Ready in ${xe(Number(r))}`)}var Ot,$t,Pt,Rt,kt,jt,T,Lt,A=m(()=>{"use strict";d();y();S();Ot=/\.html$/,$t=/\.(?:js|mjs|cjs|jsx)$/,Pt=/\.css$/,Rt=r=>!/\.map$/.test(r)&&!/\.LICENSE\.txt$/.test(r),kt=r=>r>300*1e3?g.red:r>100*1e3?g.yellow:g.white,jt=r=>{let e=r.name.split("?")[0],t=T(r.size),s=w.basename(e),i=w.join(w.basename(a.empConfig.build.outDir),w.dirname(e)),o=Et.readFileSync(w.join(a.empConfig.build.outDir,e)),n=o.length,l=St(o),c=kt(l)(T(l));return{size:n,folder:i,name:s,gzippedSize:l,sizeLabel:t,gzipSizeLabel:c}};T=r=>{let e=r/1e3;return`${e.toFixed(e<1?2:1)} kB`},Lt=r=>$t.test(r)?g.yellowBright(r):Pt.test(r)?g.greenBright(r):Ot.test(r)?g.blueBright(r):g.magenta(r)});var Ue={};G(Ue,{default:()=>Ft});import{rspack as Tt}from"@rspack/core";import At
|
|
13
|
+
`)}function R(r=0){p.info(`${g.greenBright("\u2713")} Ready in ${xe(Number(r))}`)}var Ot,$t,Pt,Rt,kt,jt,T,Lt,A=m(()=>{"use strict";d();y();S();Ot=/\.html$/,$t=/\.(?:js|mjs|cjs|jsx)$/,Pt=/\.css$/,Rt=r=>!/\.map$/.test(r)&&!/\.LICENSE\.txt$/.test(r),kt=r=>r>300*1e3?g.red:r>100*1e3?g.yellow:g.white,jt=r=>{let e=r.name.split("?")[0],t=T(r.size),s=w.basename(e),i=w.join(w.basename(a.empConfig.build.outDir),w.dirname(e)),o=Et.readFileSync(w.join(a.empConfig.build.outDir,e)),n=o.length,l=St(o),c=kt(l)(T(l));return{size:n,folder:i,name:s,gzippedSize:l,sizeLabel:t,gzipSizeLabel:c}};T=r=>{let e=r/1e3;return`${e.toFixed(e<1?2:1)} kB`},Lt=r=>$t.test(r)?g.yellowBright(r):Pt.test(r)?g.greenBright(r):Ot.test(r)?g.blueBright(r):g.magenta(r)});var Ue={};G(Ue,{default:()=>Ft});import{rspack as Tt}from"@rspack/core";import{RspackDevServer as At}from"@rspack/dev-server";var Z,Ft,_e=m(()=>{"use strict";d();D();y();Y();S();A();Z=class extends x{async run(){let e=v(a.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=Tt(e);if(!a.rsConfig.devServer){p.error("devServer is not defined in config");return}let s=Object.assign({},a.rsConfig.devServer),{host:i,port:o}=s;if(this.isHttps&&(s.https===!0&&delete s.https,!s.server)){let[c,f]=await this.getcert();s.server={type:"https",options:{key:c,cert:f}}}let n=await L(Number(o),i);n!==o&&(a.rsConfig.devServer.port=n,s.port=n);let l=new At(s,t);this.startOpen({host:i,port:n}),await l.start(),l.middleware?.waitUntilValid(c=>{let f=c?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});R(f.time)})}},Ft=new Z});var Ie={};G(Ie,{default:()=>Gt});import{rspack as zt}from"@rspack/core";var K,Gt,He=m(()=>{"use strict";y();d();D();A();K=class extends x{async run(){zt(a.rsConfig,(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({colors:!0,children:!0})),p.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(p.yellow("Compiled with warnings."),p.warn(t.toString({colors:!0,children:!0}))),Ne(t)})}},Gt=new K});import Bt from"express";import Mt from"cors";import Nt from"compression";import Ut from"https";var F,Je=m(()=>{"use strict";Y();d();D();F=class extends x{app;async init(){let e=Bt();e.use(Nt()),e.use(Mt()),this.app=e}async server(){let e=Object.assign({},a.rsConfig.devServer),{host:t,port:s}=e,i=await L(Number(s),t);if(this.isHttps){let[o,n]=await this.getcert();Ut.createServer(typeof this.isHttps!="boolean"?this.isHttps:{key:o,cert:n},this.app).listen(i,async()=>{this.startOpen({host:t,port:i}),await this.onReady()})}else this.app.listen(i,async()=>{this.startOpen({host:t,port:i}),await this.onReady()})}async onReady(){}async middleware(){}async start(){await this.init(),await this.middleware(),await this.server()}}});var Ve={};G(Ve,{default:()=>Vt});import _t from"express";import It from"path";import Ht from"node:fs/promises";import Jt from"node:fs";var ee,Vt,We=m(()=>{"use strict";Je();d();y();A();ee=class extends F{timing=0;async run(){if(this.timing=Date.now(),!Jt.existsSync(a.outDir))return p.sysError(`emp serve must be executed after emp build,${a.outDir} not exist!`);this.start()}async middleware(){let e=a.resolve(a.rsConfig.output?.path);this.app.use(_t.static(e));let t=await Ht.readFile(It.join(e,"index.html"),"utf8");this.app.get("*",(s,i)=>i.send(t))}async onReady(){R(Date.now()-this.timing)}},Vt=new ee});d();d();S();y();import{program as $}from"commander";import te,{exit as Wt}from"node:process";function Xe(){let r="20.0.0";k(r,te.versions.node)===1&&(p.sysError(`\u5F53\u524D\u7248\u672C\u4E3Av${te.versions.node} \u6700\u4F4E\u8981\u6C42\u4E3Av${r}`),Wt(0)),$.version(a.empPkg.version,"-v, --version").usage("<command> [options]"),$.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,i]=e.split("=");return t[s]=i,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(_e(),Ue));await t.setup("dev",e)}),$.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,i]=e.split("=");return t[s]=i,t},{}).action(async e=>{let{default:t}=await Promise.resolve().then(()=>(He(),Ie));await t.setup("build",e)}),$.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(()=>(We(),Ve));await t.setup("serve",e)}),$.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=>{}),$.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=>{}),$.parse(te.argv)}d();import Xt from"fast-glob";import qe from"node:fs/promises";import se from"node:path";var qt=/(?:(?:import|export)\s?(?:type)?\s?(?:(?:\{[^;\n]+\})|(?:[^;\n]+))\s?from\s?['"][^;\n]+['"])|(?:import\(['"][^;\n]+?['"]\))/g,Qt=/(?:import|export)\s?(?:type)?\s?\{?.+\}?\s?from\s?['"](.+)['"]/,Yt=/import\(['"]([^;\n]+?)['"]\)/,re=class{list=[];outDir=a.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 Xt([`${a.empConfig.build.outDir}/**/*.d.ts`]);let e=[];this.list.map(s=>{s=a.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 qe.readFile(e,{encoding:"utf-8"});return{src:e,code:t}}replaceAliasPath({src:e,code:t}){t=t.replace(qt,i=>{let o=i.match(Qt);if(o||(o=i.match(Yt)),o&&o[1]){let n=o[1];if(!n.startsWith("."))return i;let l=se.resolve(se.dirname(e),n).replace(this.outDir,this.aliasName);return i.replace(o[1],l)}return i});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
14
|
${t}}\r
|
|
15
15
|
`}async writeCode(e){let t="";e.map(s=>{t+=s.code}),await qe.writeFile(se.join(this.outDir.replace("dist","types"),"type.d.ts"),t)}},Zt=new re;function li(r){return r}export{li as defineConfig,Zt as dts,Xe as runScript,a as store};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empjs/cli",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.15",
|
|
4
4
|
"description": "emp",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"tsc-alias": "^1.8.8"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
|
-
"@rspack/core": "0.5.
|
|
85
|
-
"@rspack/dev-server": "0.5.
|
|
86
|
-
"@rspack/plugin-react-refresh": "0.5.
|
|
84
|
+
"@rspack/core": "0.5.7",
|
|
85
|
+
"@rspack/dev-server": "0.5.7",
|
|
86
|
+
"@rspack/plugin-react-refresh": "0.5.7",
|
|
87
87
|
"@svgr/webpack": "^8.1.0",
|
|
88
88
|
"@types/node": "^20.8.7",
|
|
89
89
|
"@types/react": "^18.2.30",
|
|
@@ -111,7 +111,6 @@
|
|
|
111
111
|
"webpack-bundle-analyzer": "^4.9.1",
|
|
112
112
|
"webpack-chain": "^6.5.1",
|
|
113
113
|
"webpack-dev-middleware": "^7.0.0",
|
|
114
|
-
"webpack-dev-server": "^5.0.2",
|
|
115
114
|
"webpack-hot-middleware": "^2.26.1"
|
|
116
115
|
}
|
|
117
116
|
}
|