@visulima/cerebro
Version:
A delightful toolkit for building cross-runtime CLIs for Node.js, Deno, and Bun.
2 lines (1 loc) • 2.46 kB
JavaScript
var a=Object.defineProperty;var l=(e,s)=>a(e,"name",{value:s,configurable:!0});var g=Object.defineProperty,r=l((e,s)=>g(e,"name",{value:s,configurable:!0}),"r");const t=r(e=>"Deno"in e,"hasDeno"),i=r(e=>"Bun"in e,"hasBun"),h=r(()=>{if(t(globalThis)){const e=globalThis.Deno,s=e.execPath();let o=s;try{const{importMeta:n}=globalThis;n?.url&&(o=n.url)}catch{}return[s,o,...e.args]}return i(globalThis)?globalThis.Bun.process.argv:process.argv},"getArgv"),b=r(()=>t(globalThis)?globalThis.Deno.cwd():i(globalThis)?globalThis.Bun.process.cwd():process.cwd(),"getCwd"),u=r(()=>{if(t(globalThis)){const e=globalThis.Deno;return new Proxy(e.env.toObject(),{get:r((s,o)=>typeof o=="string"?e.env.get(o):s[o],"get"),has:r((s,o)=>typeof o=="string"?e.env.has(o):o in s,"has"),set:r((s,o,n)=>typeof o=="string"?(n===void 0||e.env.set(o,n),!0):!1,"set")})}return i(globalThis)?globalThis.Bun.process.env:process.env},"getEnv"),T=r(()=>t(globalThis)?[]:i(globalThis)?globalThis.Bun.process.execArgv:process.execArgv,"getExecArgv"),v=r(()=>t(globalThis)?globalThis.Deno.execPath():i(globalThis)?globalThis.Bun.process.execPath:process.execPath,"getExecPath"),p=r(()=>{if(t(globalThis)){const e=globalThis.Deno.build?.os??"unknown";return e==="windows"?"win32":e}return i(globalThis)?globalThis.Bun.platform??"unknown":process.platform},"getPlatform"),f=r(()=>{if(t(globalThis)){const e=globalThis.Deno.build?.arch??"unknown";return e==="x86_64"?"x64":e==="aarch64"?"arm64":e}return i(globalThis)?globalThis.Bun.process.arch:process.arch},"getArch"),x=r(()=>{if(t(globalThis)){const e=globalThis.Deno,s={};return e.version?.deno&&(s.deno=e.version.deno),e.version?.v8&&(s.v8=e.version.v8),e.version?.typescript&&(s.typescript=e.version.typescript),s}if(i(globalThis)){const e=globalThis.Bun,s={...e.process.versions};return e.version&&(s.bun=e.version),s}return process.versions},"getVersions"),d=r((e=0)=>{if(t(globalThis))throw globalThis.Deno.exit(e),new Error("Deno exit failed");if(i(globalThis))throw globalThis.Bun.process.exit(e),new Error("Bun exit failed");process.exit(e)},"exitProcess"),w=r((e,s)=>{if(t(globalThis))return()=>{};if(i(globalThis)){try{const n=globalThis.Bun;if(n.process?.on)return n.process.on(e,s),()=>{n.process?.removeListener&&n.process.removeListener(e,s)}}catch{}return()=>{}}const o=process;return o.on(e,s),()=>{o.removeListener(e,s)}},"onProcessEvent");export{b as a,p as b,f as c,u as d,d as e,h as f,x as g,v as h,T as i,w as o};