@remotex-labs/xbuild 2.3.0 → 2.3.2

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/bash.js CHANGED
@@ -21,7 +21,7 @@ __ _| |_/ /_ _ _| | __| |
21
21
  /_/\\_\\____/ \\__,_|_|_|\\__,_|
22
22
  `;function Pt(){return`
23
23
  \r${Qe.burntOrange(ti)}
24
- \rVersion: ${Qe.brightPink("2.3.0")}
24
+ \rVersion: ${Qe.brightPink("2.3.2")}
25
25
  \r`}function I(){return Qe.lightCoral("[xBuild]")}import{readdir as ii,stat as oi,readFile as ni}from"fs/promises";import{xterm as Ie}from"@remotex-labs/xansi/xterm.component";var ge=class{constructor(e,t){this.config=e;this.rootDir=ri(t),this.config.port||=0,this.config.host||="localhost"}server;rootDir;framework=u(b);async start(){if(this.config.https)return await this.startHttpsServer();await this.startHttpServer()}async stop(){if(!this.server){console.log(I(),Ie.gray("No server is currently running."));return}await new Promise((e,t)=>{this.server.close(i=>{i?t(i):e()})}),console.log(I(),Ie.dim("Server stopped.")),this.server=void 0}async restart(){console.log(I(),Ie.burntOrange("Restarting server...")),await this.stop(),await this.start()}setActualPort(){if(this.config.port===0){let e=this.server.address();e&&typeof e=="object"&&e.port&&(this.config.port=e.port)}}startHttpServer(){return new Promise(e=>{this.server=$t.createServer((t,i)=>{this.handleRequest(t,i,()=>this.defaultResponse(t,i))}),this.server.listen(this.config.port,this.config.host,()=>{this.setActualPort(),this.config.onStart?.({host:this.config.host,port:this.config.port,url:`http://${this.config.host}:${this.config.port}`}),e()})})}startHttpsServer(){return new Promise(e=>{let t={key:Mt(this.config.key??Ce(this.framework.distPath,"..","certs","server.key")),cert:Mt(this.config.cert??Ce(this.framework.distPath,"..","certs","server.crt"))};this.server=Bt.createServer(t,(i,o)=>{this.handleRequest(i,o,()=>this.defaultResponse(i,o))}),this.server.listen(this.config.port,this.config.host,()=>{this.setActualPort(),this.config.onStart?.({host:this.config.host,port:this.config.port,url:`https://${this.config.host}:${this.config.port}`}),e()})})}handleRequest(e,t,i){try{this.config.verbose&&console.log(`${I()} Request ${Ie.lightCoral(e.url?.toString()??"")}`),this.config.onRequest?this.config.onRequest(e,t,i):i()}catch(o){this.sendError(t,o)}}getContentType(e){return{html:"text/html",css:"text/css",js:"application/javascript",cjs:"application/javascript",mjs:"application/javascript",ts:"text/plain",map:"application/json",json:"application/json",png:"image/png",jpg:"image/jpeg",gif:"image/gif",txt:"text/plain"}[e]||"application/octet-stream"}async defaultResponse(e,t){let i=e.url==="/"?"":e.url?.replace(/^\/+/,"")||"",o=Ce(this.rootDir,i);if(!o.startsWith(this.rootDir)){t.statusCode=403,t.end();return}try{let n=await oi(o);n.isDirectory()?await this.handleDirectory(o,i,t):n.isFile()&&await this.handleFile(o,t)}catch(n){let s=n.message;s.includes("favicon")||console.log(I(),s),this.sendNotFound(t)}}async handleDirectory(e,t,i){let n=(await ii(e)).map(l=>{let p=Ce(t,l),f=Rt(l).slice(1)||"folder";return f==="folder"?`
26
26
  <a href="/${p}" class="folder-row">
27
27
  <div class="icon"><i class="fa-solid fa-folder"></i></div>
@@ -49,7 +49,7 @@ __ _| |_/ /_ _ _| | __| |
49
49
  `),e.join(`
50
50
  `)}function at(){let r=Math.max(0,st.rows-2);r>0&&console.log(`
51
51
  `.repeat(r)),ct.cursorTo(st,0,0),ct.clearScreenDown(st)}function ho(r){let e=fr[uo]??"xdg-open";po(`${e} ${r}`)}function yo(r,e,t,i,o){if(e?.name)switch((e.sequence===w.QUIT||r===nt.SIGINT||r===nt.SIGQUIT)&&(console.log(`
52
- \u{1F44B} Exiting...`),mo(1)),e.name){case w.CLEAR:at();break;case w.VERBOSE:let n=u(x).getValue(s=>s.verbose);console.log(`\u{1F41E} Debug mode: ${n?"DISABLED":"ENABLED"}`),lr({verbose:!n});break;case w.RELOAD:at(),t();break;case w.HELP:at(),console.log(i);break;case w.SHOW_URL:o&&console.log(`${I()} ${Be.canaryYellow(o)}`);break;case w.OPEN_BROWSER:o&&ho(o);break}}function pr(r,e){if(!$e.isTTY)return;let t=go(!!e);console.log(t),$e.setRawMode(!0),ct.emitKeypressEvents($e),$e.on("keypress",(i,o)=>{yo(i,o,r,t,e)})}import{existsSync as vo}from"fs";import{runInThisContext as xo}from"vm";import{createRequire as bo}from"module";import{resolve as So}from"@remotex-labs/xmap";var Eo={minify:!1,format:"cjs",platform:"node",logLevel:"silent",packages:"external",minifySyntax:!0,preserveSymlinks:!0,minifyWhitespace:!0,minifyIdentifiers:!1};async function lt(r){if(!r||!vo(r))return{};u(v).touchFile(r);let[e,t]=(await Ut([r],{...Eo,outdir:"tmp"})).outputFiles;u(b).setSource(e.text,r),globalThis.module={exports:{}},globalThis.require=bo(So(r)),await xo(t.text,{filename:r});let i=module.exports.config??module.exports.default;return i||{}}import{relative as wo}from"@remotex-labs/xmap";var Ne=class r extends y{constructor(t,i){if(t instanceof y)return t;super(t.message,"VMRuntimeError");this.originalError=t;this.originalError instanceof AggregateError&&Array.isArray(this.originalError.errors)&&(this.errors=this.originalError.errors.map(o=>new r(o,i))),this.stack=this.originalError.stack,this.message=this.originalError.message,this.reformatStack(this.originalError,i)}errors=[];[Symbol.for("nodejs.util.inspect.custom")](){if(this.errors&&this.errors.length>0){let t=this.errors.map(i=>`${i.formattedStack??i.stack}`).join("");return`VMRuntimeError Contains ${this.errors.length} nested errors:
52
+ \u{1F44B} Exiting...`),mo(0)),e.name){case w.CLEAR:at();break;case w.VERBOSE:let n=u(x).getValue(s=>s.verbose);console.log(`\u{1F41E} Debug mode: ${n?"DISABLED":"ENABLED"}`),lr({verbose:!n});break;case w.RELOAD:at(),t();break;case w.HELP:at(),console.log(i);break;case w.SHOW_URL:o&&console.log(`${I()} ${Be.canaryYellow(o)}`);break;case w.OPEN_BROWSER:o&&ho(o);break}}function pr(r,e){if(!$e.isTTY)return;let t=go(!!e);console.log(t),$e.setRawMode(!0),ct.emitKeypressEvents($e),$e.on("keypress",(i,o)=>{yo(i,o,r,t,e)})}import{existsSync as vo}from"fs";import{runInThisContext as xo}from"vm";import{createRequire as bo}from"module";import{resolve as So}from"@remotex-labs/xmap";var Eo={minify:!1,format:"cjs",platform:"node",logLevel:"silent",packages:"external",minifySyntax:!0,preserveSymlinks:!0,minifyWhitespace:!0,minifyIdentifiers:!1};async function lt(r){if(!r||!vo(r))return{};u(v).touchFile(r);let[e,t]=(await Ut([r],{...Eo,outdir:"tmp"})).outputFiles;u(b).setSource(e.text,r),globalThis.module={exports:{}},globalThis.require=bo(So(r)),await xo(t.text,{filename:r});let i=module.exports.config??module.exports.default;return i||{}}import{relative as wo}from"@remotex-labs/xmap";var Ne=class r extends y{constructor(t,i){if(t instanceof y)return t;super(t.message,"VMRuntimeError");this.originalError=t;this.originalError instanceof AggregateError&&Array.isArray(this.originalError.errors)&&(this.errors=this.originalError.errors.map(o=>new r(o,i))),this.stack=this.originalError.stack,this.message=this.originalError.message,this.reformatStack(this.originalError,i)}errors=[];[Symbol.for("nodejs.util.inspect.custom")](){if(this.errors&&this.errors.length>0){let t=this.errors.map(i=>`${i.formattedStack??i.stack}`).join("");return`VMRuntimeError Contains ${this.errors.length} nested errors:
53
53
  ${t}
54
54
  `}return this.formattedStack||this.stack}};import{xterm as pt}from"@remotex-labs/xansi/xterm.component";import{xterm as q}from"@remotex-labs/xansi/xterm.component";var ur=q.hex("#80a36b"),ve=q.hex("#dcdfe4"),ie=q.hex("#5798cd"),M=q.hex("#e5c07b"),oe=q.hex("#56b6c2"),$=q.hex("#e06c75"),ne=q.hex("#c678dd"),se=q.hex("#a5a7ab");var T=" ",ft=1024,dr=ft*1024,gr="\u2014",Q="\u2192",Y="\xD7",Co="\u2022";function Z(r,e=ie.dim(Q)){return`${I()} ${e} ${ie(r)}`}function Io(r){return r<ft?`${r} B`:r<dr?`${(r/ft).toFixed(2)} KB`:`${(r/dr).toFixed(2)} MB`}function hr(r){let e=r.file?wo(process.cwd(),r.file):"(unknown)",t=M(String((r.line??0)+1)),i=M(String((r.column??0)+1));return`${oe(e)}:${t}:${i}`}function To(r,e){if(!e.metadata?.formatCode)return;let t=e.metadata.formatCode.split(`
55
55
  `),i=e.metadata.stack.map(o=>o.format).join(`
@@ -61,12 +61,12 @@ ${e}
61
61
 
62
62
  ${T}Enhanced Stack Trace:
63
63
  ${t}`)}function Oo(r,e,t){let i=hr(r),o=t(`TS${r.code}`),n=se(r.message);return`${T}${e} ${i} ${ve(Q)} ${o} ${ve(gr)} ${n}`}function yr(r,e,t=$){let i=hr(r),o=t(`TS${r.code}`),n=se(r.message);console.log(`${T}${e} ${i}`,ve(Q),`${o} ${ve(gr)} ${n}`)}function ko(r,e,t){let i=e.diagnostics.length;if(i===0)return r.push(`${T}${M(t)} ${M("TypesError")}: ${se(e.message||"Type checking warning")}`),1;r.push("");for(let o of e.diagnostics)r.push(Oo(o,M(t),pt.deepOrange));return i}function Ao(r,e,t,i){let o=`${i(e.name)}: ${e.message}`;r.push(`
64
- ${T}${i(t)} ${o}`),e instanceof y&&To(r,e)}function Po(r,e,t,i){return e instanceof P?ko(r,e,t):(Ao(r,e,t,i),1)}function mr(r,e){if(r.length===0)return;let t=e==="Errors",i=t?Y:Co,o=t?$:M,n=0,s=[""];for(let a of r)n+=Po(s,a,i,o);s[0]=`
64
+ ${T}${i(t)} ${o}`),e instanceof y&&To(r,e)}function Po(r,e,t,i){return e instanceof P?ko(r,e,t):(Ao(r,e,t,i),1)}function mr(r,e){if(r.length===0)return;e==="Errors"&&(process.exitCode=1);let t=e==="Errors",i=t?Y:Co,o=t?$:M,n=0,s=[""];for(let a of r)n+=Po(s,a,i,o);s[0]=`
65
65
  ${o(e)} (${n})`,console.log(s.join(`
66
66
  `))}function Ro(r){let e=Object.entries(r.outputs),t=e.length,i=[];i.push(`
67
67
  ${ur("Outputs")} (${t})`);for(let[o,n]of e){let s=M.dim(Io(n.bytes));i.push(`${T}${ie(Q)} ${oe(o)}: ${s}`)}i.push(""),console.log(i.join(`
68
68
  `))}function ae(r){if(r instanceof y){let e=`${$(r.name)}: ${r.message}`;console.log(`
69
- ${T}${$(Y)} ${e}`),Fo(r)}else if(V(r))for(let e of r.errors)ae(e);else if(r instanceof P)for(let e of r.diagnostics)yr(e,$(Y));else r instanceof Error?ae(new Ne(r)):ae(new E(String(r)))}function Mo(r,e){let t=e.length>0,i=t?M(r):ne(r),o=t?$(Y):ie.dim(Q),n=Z("completed",o);if(console.log(`${n} ${i}`),t){console.log("");for(let s of e)yr(s,$(Y));console.log("")}}function vr(r){for(let[e,t]of Object.entries(r))Mo(e,t)}function xr({variantName:r}){console.log(`${Z("build")} ${ne(r)}`)}function $o(r,e){if(!u(x).getValue().verbose)return;let t=e?.replacementInfo?.[r];if(!t||!Array.isArray(t)||t.length===0)return;let i=T+oe(Q),o=[Z(`macro ${M("replacement")}`)];for(let{source:n,replacement:s}of t){let a=pt.dim("// "+n).replaceAll(`
69
+ ${T}${$(Y)} ${e}`),Fo(r)}else if(V(r))for(let e of r.errors)ae(e);else if(r instanceof P)for(let e of r.diagnostics)yr(e,$(Y));else r instanceof Error?ae(new Ne(r)):ae(new E(String(r)))}function Mo(r,e){let t=e.length>0,i=t?M(r):ne(r),o=t?$(Y):ie.dim(Q),n=Z("completed",o);if(console.log(`${n} ${i}`),t){process.exitCode=1,console.log("");for(let s of e)yr(s,$(Y));console.log("")}}function vr(r){for(let[e,t]of Object.entries(r))Mo(e,t)}function xr({variantName:r}){console.log(`${Z("build")} ${ne(r)}`)}function $o(r,e){if(!u(x).getValue().verbose)return;let t=e?.replacementInfo?.[r];if(!t||!Array.isArray(t)||t.length===0)return;let i=T+oe(Q),o=[Z(`macro ${M("replacement")}`)];for(let{source:n,replacement:s}of t){let a=pt.dim("// "+n).replaceAll(`
70
70
  `,`
71
71
  ${T}`);if(s&&s!=="undefined"){let c=s.replaceAll(`
72
72
  `,`
@@ -74,7 +74,7 @@ ${T}`);o.push(`
74
74
  ${i} ${c} ${a}`)}else o.push(`
75
75
  ${i} ${a}`)}console.log(o.join(`
76
76
  `))}function br({variantName:r,duration:e,buildResult:t,stage:i}){let{errors:o,warnings:n,metafile:s}=me(t),a=!!s,c=a?ne(r):M(r),l=a?ie.dim(Q):$(Y),p=Z("completed",l);console.log(`${p} ${c} ${pt.dim(`in ${e} ms`)}`),mr(o,"Errors"),mr(n,"Warnings"),(o.length||n.length)&&console.log(""),$o(r,i),a?Ro(s):console.log("")}var jo=["!node_modules/**","!dist/**","!bundle/**","!**/*.d.ts"],Lo=["dist","dist/**",".git/**",".idea/**","node_modules/**"];function Ho(r,e){if(!e.entryPoints)return;let t=[...e.entryPoints,...jo];e.outdir&&t.push(`!${e.outdir}/**`,`!${e.outdir}`),r.common?.esbuild?.outdir&&t.push(`!${r.common.esbuild.outdir}/**`,`!${r.common.esbuild.outdir}`),r.variants={argv:{esbuild:{entryPoints:we(No(),t)}}}}function Vo(r,e){e.verbose!==void 0&&(r.verbose=e.verbose);let t=Object.values(r.variants??{});for(let i of t)e.types!==void 0&&(i.types=e.types),e.outdir!==void 0&&(i.esbuild.outdir=e.outdir),e.bundle!==void 0&&(i.esbuild.minify=e.bundle),e.minify!==void 0&&(i.esbuild.minify=e.minify),e.tsconfig!==void 0&&(i.esbuild.tsconfig=e.tsconfig),e.platform!==void 0&&(i.esbuild.platform=e.platform),e.declaration!==void 0&&(i.declaration=e.declaration),e.failOnError!==void 0&&(i.types={failOnError:e.failOnError})}function _o(r){let e=[...Lo];r.common?.esbuild?.outdir&&e.push(r.common.esbuild.outdir,`${r.common.esbuild.outdir}/**`);let t=Object.values(r.variants??{});for(let i of t)i.esbuild.outdir&&e.push(i.esbuild.outdir,`${i.esbuild.outdir}/**`);return e}async function Uo(r,e){if(!((e.serve??!1)!==!1||r.serve?.start))return;let i,o=r.serve?.dir||e.serve||"dist",n={...r.serve,onStart({host:a,port:c,url:l}){i=l,console.log(`${Z("serve")} ${ne(o)} ${oe(l)}
77
- `),r.serve?.onStart?.({host:a,port:c,url:l})}};return await new ge(n,o).start(),i}async function De(r,e){try{let t=Do(process.cwd(),"dist");if(Bo(t,{recursive:!0,force:!0}),e.typeCheck){let i=await r.typeChack();vr(i)}else{let i=await r.build(e.build);Object.entries(i).forEach(([o,n])=>{let s=n.errors.filter(c=>c?.id==="endHook");if(!s.length)return;let a=Z("onEnd-hook",$(Y));console.log(a,o),s.forEach(c=>ae(c)),console.log("")})}}catch(t){ae(t)}}async function zo(r,e,t,i){if(!(t.watch||t.serve!==void 0||e.serve?.start))return;let n=_o(e),s=new he(n);pr(async()=>{r.reload({clearCache:!0}),await De(r,t)},i),await De(r,t),await s.start(async a=>{if(r.touchFiles(a),a.includes(t.config)){let c=await lt(t.config);r.reload({config:c})}console.log(`
77
+ `),r.serve?.onStart?.({host:a,port:c,url:l})}};return await new ge(n,o).start(),i}async function De(r,e){try{let t=Do(process.cwd(),"dist");if(Bo(t,{recursive:!0,force:!0}),e.typeCheck){let i=await r.typeChack();vr(i)}else{let i=await r.build(e.build);Object.entries(i).forEach(([o,n])=>{let s=n.errors.filter(c=>c?.id==="endHook");if(!s.length)return;let a=Z("onEnd-hook",$(Y));console.log(a,o),s.forEach(c=>ae(c)),console.log("")})}}catch(t){ae(t),process.exitCode=1}}async function zo(r,e,t,i){if(!(t.watch||t.serve!==void 0||e.serve?.start))return;let n=_o(e),s=new he(n);pr(async()=>{r.reload({clearCache:!0}),await De(r,t)},i),await De(r,t),await s.start(async a=>{if(r.touchFiles(a),a.includes(t.config)){let c=await lt(t.config);r.reload({config:c})}console.log(`
78
78
  ${I()} ${se("Rebuilding")}: files (${a.length})
79
79
  `),await De(r,t)})}async function Wo(){console.log(Pt());let r=u(X),e=r.parseConfigFile(process.argv);globalThis.$argv=e;let t=await lt(e.config),i=r.enhancedParse(process.argv,t.userArgv),o=r.parseUserArgv(process.argv,t.userArgv);Ho(t,i),Vo(t,i),cr(t);let n=new ye(o);n.onEnd=br,n.onStart=xr;let s=await Uo(t,i);await zo(n,t,i,s),await De(n,i)}Wo();
80
80
  //# sourceMappingURL=bash.js.map