@muppet-kit/shared
Version:
Shared utilities and types for Muppet Kit.
4 lines (3 loc) • 2.41 kB
JavaScript
;var v=Object.defineProperty;var c=(e,r)=>v(e,"name",{value:r,configurable:!0});var b=require("node:readline"),S=require("@hono/node-server"),o=require("ansis"),y=require("c12"),m=require("open");function q(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if(t!=="default"){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:c(function(){return e[t]},"get")})}}),r.default=e,Object.freeze(r)}c(q,"_interopNamespaceDefault");var O=q(b);function T(e=80,r=6){for(let t=0;t<r;t++){let n=" ";for(let s=0;s<e;s++){const i=s/(e-1),u=Math.round(0+i*152),a=Math.round(191+i*64),l=Math.round(255-i*251),f=`#${u.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}${l.toString(16).padStart(2,"0")}`;n+=o.bgHex(f)(" ")}console.log(n)}}c(T,"createGradient");async function w({options:e,app:r}){console.log(),console.log(),T(30,1),console.log(`${o.bold(" muppet")} ${o.blue(`v${e.version}`)}`),console.log();const{config:t,source:n}=await y.loadConfig({dotenv:!0,...e?.config?{configFile:e?.config}:{name:"muppet"},defaultConfig:{port:3553,host:"localhost"}});n&&(console.log(o.dim(" config ")+o.blue(n)),console.log()),e?.port&&(t.port=Number(e?.port)),e?.host&&(t.host=e?.host);let s,i;function u(){clearTimeout(i),i=setTimeout(()=>{console.log(o.yellow(`
restarting...
`)),a()},500)}c(u,"restartServer");function a(){s&&s.close(),s=S.serve({fetch:r(t).fetch,port:t.port,hostname:t.host})}c(a,"initServer");const l=`http://${t.host}:${t.port}`,f=[{name:"r",fullname:"restart",action(){u()}},{name:"o",fullname:"open",action(){m(l)}},{name:"q",fullname:"quit",action(){try{s?.close()}finally{process.exit()}}}];function h(){process.stdin.resume(),process.stdin.setEncoding("utf8"),O.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",($,g)=>{if(g.ctrl&&g.name==="c")process.exit();else{const[d]=f.filter(p=>p.name===$);if(d)try{d.action()}catch(p){console.error(`Failed to execute shortcut ${d.fullname}`,p)}}})}c(h,"bindShortcut"),console.log(`${o.dim(" inspector ")} > ${o.cyan(`${l}/`)}`),h(),a(),t.auto_open&&await m(l,{wait:!1}),console.log(),console.log(`${o.dim(" shortcuts ")} > ${o.underline("r")}${o.dim("estart | ")}${o.underline("o")}${o.dim("pen | ")}${o.underline("q")}${o.dim("uit")}`)}c(w,"inspectorAction"),exports.inspectorAction=w;