@spree/cli 2.0.0-beta.6 → 2.0.0-beta.7

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.
Files changed (2) hide show
  1. package/dist/index.js +9 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -78,8 +78,8 @@ ${f.default.gray(Dp+bs.repeat(o+2)+hp)}
78
78
  `)}
79
79
  `)},info:t=>{I.message(t,{symbol:f.default.blue(gp)})},success:t=>{I.message(t,{symbol:f.default.green(bp)})},step:t=>{I.message(t,{symbol:f.default.green(zt)})},warn:t=>{I.message(t,{symbol:f.default.yellow(Cp)})},warning:t=>{I.warn(t)},error:t=>{I.message(t,{symbol:f.default.red(Ep)})}},Wy=`${f.default.gray(w)} `;var P=({indicator:t="dots"}={})=>{let e=Pn?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],r=Pn?80:120,n=process.env.CI==="true",o,s,i=!1,a="",u,c=performance.now(),l=y=>{let _=y>1?"Something went wrong":"Canceled";i&&M(_,y)},d=()=>l(2),m=()=>l(1),p=()=>{process.on("uncaughtExceptionMonitor",d),process.on("unhandledRejection",d),process.on("SIGINT",m),process.on("SIGTERM",m),process.on("exit",l)},D=()=>{process.removeListener("uncaughtExceptionMonitor",d),process.removeListener("unhandledRejection",d),process.removeListener("SIGINT",m),process.removeListener("SIGTERM",m),process.removeListener("exit",l)},b=()=>{if(u===void 0)return;n&&process.stdout.write(`
80
80
  `);let y=u.split(`
81
- `);process.stdout.write(Ht.cursor.move(-999,y.length-1)),process.stdout.write(Ht.erase.down(y.length))},S=y=>y.replace(/\.+$/,""),E=y=>{let _=(performance.now()-y)/1e3,B=Math.floor(_/60),k=Math.floor(_%60);return B>0?`[${B}m ${k}s]`:`[${k}s]`},v=(y="")=>{i=!0,o=gs(),a=S(y),c=performance.now(),process.stdout.write(`${f.default.gray(w)}
82
- `);let _=0,B=0;p(),s=setInterval(()=>{if(n&&a===u)return;b(),u=a;let k=f.default.magenta(e[_]);if(n)process.stdout.write(`${k} ${a}...`);else if(t==="timer")process.stdout.write(`${k} ${a} ${E(c)}`);else{let be=".".repeat(Math.floor(B)).slice(0,3);process.stdout.write(`${k} ${a}${be}`)}_=_+1<e.length?_+1:0,B=B<e.length?B+.125:0},r)},M=(y="",_=0)=>{i=!1,clearInterval(s),b();let B=_===0?f.default.green(zt):_===1?f.default.red(Cs):f.default.red(Es);a=S(y??a),t==="timer"?process.stdout.write(`${B} ${a} ${E(c)}
81
+ `);process.stdout.write(Ht.cursor.move(-999,y.length-1)),process.stdout.write(Ht.erase.down(y.length))},S=y=>y.replace(/\.+$/,""),E=y=>{let _=(performance.now()-y)/1e3,B=Math.floor(_/60),j=Math.floor(_%60);return B>0?`[${B}m ${j}s]`:`[${j}s]`},v=(y="")=>{i=!0,o=gs(),a=S(y),c=performance.now(),process.stdout.write(`${f.default.gray(w)}
82
+ `);let _=0,B=0;p(),s=setInterval(()=>{if(n&&a===u)return;b(),u=a;let j=f.default.magenta(e[_]);if(n)process.stdout.write(`${j} ${a}...`);else if(t==="timer")process.stdout.write(`${j} ${a} ${E(c)}`);else{let be=".".repeat(Math.floor(B)).slice(0,3);process.stdout.write(`${j} ${a}${be}`)}_=_+1<e.length?_+1:0,B=B<e.length?B+.125:0},r)},M=(y="",_=0)=>{i=!1,clearInterval(s),b();let B=_===0?f.default.green(zt):_===1?f.default.red(Cs):f.default.red(Es);a=S(y??a),t==="timer"?process.stdout.write(`${B} ${a} ${E(c)}
83
83
  `):process.stdout.write(`${B} ${a}
84
84
  `),D(),o()};return{start:v,stop:M,message:(y="")=>{a=S(y??a)}}};var Ot=W(de(),1);import kn from"fs";import Fs from"path";var Yt="spree@example.com",Kt="spree123";function F(t=process.cwd()){let e=Fs.join(t,"docker-compose.yml");if(!kn.existsSync(e))throw new Error(`Not a Spree project directory. No docker-compose.yml found.
85
85
  Run this command from a directory created with create-spree-app.`);let r=xp(t);return{mode:"docker",projectDir:t,port:r}}function xp(t){let e=Fs.join(t,".env");if(!kn.existsSync(e))return 3e3;let n=kn.readFileSync(e,"utf-8").match(/^SPREE_PORT=(\d+)/m);return n?Number(n[1]):3e3}function T(t){if(typeof t!="object"||t===null)return!1;let e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}import{fileURLToPath as wp}from"url";var Ue=(t,e)=>{let r=Nn(Fp(t));if(typeof r!="string")throw new TypeError(`${e} must be a string or a file URL: ${r}.`);return r},Fp=t=>jn(t)?t.toString():t,jn=t=>typeof t!="string"&&t&&Object.getPrototypeOf(t)===String.prototype,Nn=t=>t instanceof URL?wp(t):t;var Jt=(t,e=[],r={})=>{let n=Ue(t,"First argument"),[o,s]=T(e)?[[],e]:[e,r];if(!Array.isArray(o))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${o}`);if(o.some(u=>typeof u=="object"&&u!==null))throw new TypeError(`Second argument must be an array of strings: ${o}`);let i=o.map(String),a=i.find(u=>u.includes("\0"));if(a!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${a}`);if(!T(s))throw new TypeError(`Last argument must be an options object: ${s}`);return[n,i,s]};import{ChildProcess as $p}from"child_process";import{StringDecoder as Sp}from"string_decoder";var{toString:Ss}=Object.prototype,As=t=>Ss.call(t)==="[object ArrayBuffer]",R=t=>Ss.call(t)==="[object Uint8Array]",pe=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Ap=new TextEncoder,_s=t=>Ap.encode(t),_p=new TextDecoder,Xt=t=>_p.decode(t),Os=(t,e)=>Op(t,e).join(""),Op=(t,e)=>{if(e==="utf8"&&t.every(s=>typeof s=="string"))return t;let r=new Sp(e),n=t.map(s=>typeof s=="string"?_s(s):s).map(s=>r.write(s)),o=r.end();return o===""?n:[...n,o]},dt=t=>t.length===1&&R(t[0])?t[0]:Un(Tp(t)),Tp=t=>t.map(e=>typeof e=="string"?_s(e):e),Un=t=>{let e=new Uint8Array(vp(t)),r=0;for(let n of t)e.set(n,r),r+=n.length;return e},vp=t=>{let e=0;for(let r of t)e+=r.length;return e};var Bs=t=>Array.isArray(t)&&Array.isArray(t.raw),Is=(t,e)=>{let r=[];for(let[s,i]of t.entries())r=Bp({templates:t,expressions:e,tokens:r,index:s,template:i});if(r.length===0)throw new TypeError("Template script must not be empty");let[n,...o]=r;return[n,o,{}]},Bp=({templates:t,expressions:e,tokens:r,index:n,template:o})=>{if(o===void 0)throw new TypeError(`Invalid backslash sequence: ${t.raw[n]}`);let{nextTokens:s,leadingWhitespaces:i,trailingWhitespaces:a}=Ip(o,t.raw[n]),u=vs(r,s,i);if(n===e.length)return u;let c=e[n],l=Array.isArray(c)?c.map(d=>$s(d)):[$s(c)];return vs(u,l,a)},Ip=(t,e)=>{if(e.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],n=0,o=Ts.has(e[0]);for(let i=0,a=0;i<t.length;i+=1,a+=1){let u=e[a];if(Ts.has(u))n!==i&&r.push(t.slice(n,i)),n=i+1;else if(u==="\\"){let c=e[a+1];c===`
@@ -113,26 +113,26 @@ ${n.message}
113
113
  ${t}`}return r.isDirectory()?t:`The "cwd" option is not a directory: ${e}.
114
114
  ${t}`};var Or=(t,e,r)=>{r.cwd=zu(r.cwd);let[n,o,s]=Uu(t,e,r),{command:i,args:a,options:u}=Ju.default._parse(n,o,s),c=Ms(u),l=sh(c);return Lu(l),Hu(l),Wu(l),ou(l),Mu(l),l.shell=Nn(l.shell),l.env=ah(l),l.killSignal=Qa(l.killSignal),l.forceKillAfterDelay=ru(l.forceKillAfterDelay),l.lines=l.lines.map((d,m)=>d&&!G.has(l.encoding)&&l.buffer[m]),Ku.platform==="win32"&&ih.basename(i,".exe")==="cmd"&&a.unshift("/q"),{file:i,commandArguments:a,options:l}},sh=({extendEnv:t=!0,preferLocal:e=!1,cwd:r,localDir:n=r,encoding:o="utf8",reject:s=!0,cleanup:i=!0,all:a=!1,windowsHide:u=!0,killSignal:c="SIGTERM",forceKillAfterDelay:l=!0,gracefulCancel:d=!1,ipcInput:m,ipc:p=m!==void 0||d,serialization:D="advanced",...b})=>({...b,extendEnv:t,preferLocal:e,cwd:r,localDirectory:n,encoding:o,reject:s,cleanup:i,all:a,windowsHide:u,killSignal:c,forceKillAfterDelay:l,gracefulCancel:d,ipcInput:m,ipc:p,serialization:D}),ah=({env:t,extendEnv:e,preferLocal:r,node:n,localDirectory:o,nodePath:s})=>{let i=e?{...Ku.env,...t}:t;return r||n?Wa({env:i,cwd:o,execPath:s,preferLocal:r,addExecPath:n}):i};var Tr=(t,e,r)=>r.shell&&e.length>0?[[t,...e].join(" "),[],r]:[t,e,r];import{inspect as Uh}from"util";function Ke(t){if(typeof t=="string")return uh(t);if(!(ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return ch(t)}var uh=t=>t.at(-1)===Xu?t.slice(0,t.at(-2)===Zu?-2:-1):t,ch=t=>t.at(-1)===lh?t.subarray(0,t.at(-2)===dh?-2:-1):t,Xu=`
115
115
  `,lh=Xu.codePointAt(0),Zu="\r",dh=Zu.codePointAt(0);import{on as Lh}from"events";import{finished as kh}from"stream/promises";function ee(t,{checkOpen:e=!0}={}){return t!==null&&typeof t=="object"&&(t.writable||t.readable||!e||t.writable===void 0&&t.readable===void 0)&&typeof t.pipe=="function"}function ho(t,{checkOpen:e=!0}={}){return ee(t,{checkOpen:e})&&(t.writable||!e)&&typeof t.write=="function"&&typeof t.end=="function"&&typeof t.writable=="boolean"&&typeof t.writableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function Be(t,{checkOpen:e=!0}={}){return ee(t,{checkOpen:e})&&(t.readable||!e)&&typeof t.read=="function"&&typeof t.readable=="boolean"&&typeof t.readableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function go(t,e){return ho(t,e)&&Be(t,e)}var mh=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),bo=class{#t;#r;#e=!1;#n=void 0;constructor(e,r){this.#t=e,this.#r=r}next(){let e=()=>this.#i();return this.#n=this.#n?this.#n.then(e,e):e(),this.#n}return(e){let r=()=>this.#o(e);return this.#n?this.#n.then(r,r):r()}async#i(){if(this.#e)return{done:!0,value:void 0};let e;try{e=await this.#t.read()}catch(r){throw this.#n=void 0,this.#e=!0,this.#t.releaseLock(),r}return e.done&&(this.#n=void 0,this.#e=!0,this.#t.releaseLock()),e}async#o(e){if(this.#e)return{done:!0,value:e};if(this.#e=!0,!this.#r){let r=this.#t.cancel(e);return this.#t.releaseLock(),await r,{done:!0,value:e}}return this.#t.releaseLock(),{done:!0,value:e}}},Co=Symbol();function Qu(){return this[Co].next()}Object.defineProperty(Qu,"name",{value:"next"});function ec(t){return this[Co].return(t)}Object.defineProperty(ec,"name",{value:"return"});var ph=Object.create(mh,{next:{enumerable:!0,configurable:!0,writable:!0,value:Qu},return:{enumerable:!0,configurable:!0,writable:!0,value:ec}});function Eo({preventCancel:t=!1}={}){let e=this.getReader(),r=new bo(e,t),n=Object.create(ph);return n[Co]=r,n}var tc=t=>{if(Be(t,{checkOpen:!1})&&bt.on!==void 0)return Dh(t);if(typeof t?.[Symbol.asyncIterator]=="function")return t;if(fh.call(t)==="[object ReadableStream]")return Eo.call(t);throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},{toString:fh}=Object.prototype,Dh=async function*(t){let e=new AbortController,r={};hh(t,e,r);try{for await(let[n]of bt.on(t,"data",{signal:e.signal}))yield n}catch(n){if(r.error!==void 0)throw r.error;if(!e.signal.aborted)throw n}finally{t.destroy()}},hh=async(t,e,r)=>{try{await bt.finished(t,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(n){r.error=n}finally{e.abort()}},bt={};var Je=async(t,{init:e,convertChunk:r,getSize:n,truncateChunk:o,addChunk:s,getFinalChunk:i,finalize:a},{maxBuffer:u=Number.POSITIVE_INFINITY}={})=>{let c=tc(t),l=e();l.length=0;try{for await(let d of c){let m=bh(d),p=r[m](d,l);oc({convertedChunk:p,state:l,getSize:n,truncateChunk:o,addChunk:s,maxBuffer:u})}return gh({state:l,convertChunk:r,getSize:n,truncateChunk:o,addChunk:s,getFinalChunk:i,maxBuffer:u}),a(l)}catch(d){let m=typeof d=="object"&&d!==null?d:new Error(d);throw m.bufferedData=a(l),m}},gh=({state:t,getSize:e,truncateChunk:r,addChunk:n,getFinalChunk:o,maxBuffer:s})=>{let i=o(t);i!==void 0&&oc({convertedChunk:i,state:t,getSize:e,truncateChunk:r,addChunk:n,maxBuffer:s})},oc=({convertedChunk:t,state:e,getSize:r,truncateChunk:n,addChunk:o,maxBuffer:s})=>{let i=r(t),a=e.length+i;if(a<=s){rc(t,e,o,a);return}let u=n(t,s-e.length);throw u!==void 0&&rc(u,e,o,s),new ie},rc=(t,e,r,n)=>{e.contents=r(t,e,n),e.length=n},bh=t=>{let e=typeof t;if(e==="string")return"string";if(e!=="object"||t===null)return"others";if(globalThis.Buffer?.isBuffer(t))return"buffer";let r=nc.call(t);return r==="[object ArrayBuffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(t.byteLength)&&Number.isInteger(t.byteOffset)&&nc.call(t.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:nc}=Object.prototype,ie=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};var De=t=>t,Ct=()=>{},vr=({contents:t})=>t,$r=t=>{throw new Error(`Streams in object mode are not supported: ${String(t)}`)},Br=t=>t.length;async function Ir(t,e){return Je(t,xh,e)}var Ch=()=>({contents:[]}),Eh=()=>1,yh=(t,{contents:e})=>(e.push(t),e),xh={init:Ch,convertChunk:{string:De,buffer:De,arrayBuffer:De,dataView:De,typedArray:De,others:De},getSize:Eh,truncateChunk:Ct,addChunk:yh,getFinalChunk:Ct,finalize:vr};async function Rr(t,e){return Je(t,$h,e)}var wh=()=>({contents:new ArrayBuffer(0)}),Fh=t=>Sh.encode(t),Sh=new TextEncoder,ic=t=>new Uint8Array(t),sc=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Ah=(t,e)=>t.slice(0,e),_h=(t,{contents:e,length:r},n)=>{let o=cc()?Th(e,n):Oh(e,n);return new Uint8Array(o).set(t,r),o},Oh=(t,e)=>{if(e<=t.byteLength)return t;let r=new ArrayBuffer(uc(e));return new Uint8Array(r).set(new Uint8Array(t),0),r},Th=(t,e)=>{if(e<=t.maxByteLength)return t.resize(e),t;let r=new ArrayBuffer(e,{maxByteLength:uc(e)});return new Uint8Array(r).set(new Uint8Array(t),0),r},uc=t=>ac**Math.ceil(Math.log(t)/Math.log(ac)),ac=2,vh=({contents:t,length:e})=>cc()?t:t.slice(0,e),cc=()=>"resize"in ArrayBuffer.prototype,$h={init:wh,convertChunk:{string:Fh,buffer:ic,arrayBuffer:ic,dataView:sc,typedArray:sc,others:$r},getSize:Br,truncateChunk:Ah,addChunk:_h,getFinalChunk:Ct,finalize:vh};async function Pr(t,e){return Je(t,Ph,e)}var Bh=()=>({contents:"",textDecoder:new TextDecoder}),Mr=(t,{textDecoder:e})=>e.decode(t,{stream:!0}),Ih=(t,{contents:e})=>e+t,Rh=(t,e)=>t.slice(0,e),Mh=({textDecoder:t})=>{let e=t.decode();return e===""?void 0:e},Ph={init:Bh,convertChunk:{string:De,buffer:Mr,arrayBuffer:Mr,dataView:Mr,typedArray:Mr,others:$r},getSize:Br,truncateChunk:Rh,addChunk:Ih,getFinalChunk:Mh,finalize:vr};Object.assign(bt,{on:Lh,finished:kh});var lc=({error:t,stream:e,readableObjectMode:r,lines:n,encoding:o,fdNumber:s})=>{if(!(t instanceof ie))throw t;if(s==="all")return t;let i=jh(r,n,o);throw t.maxBufferInfo={fdNumber:s,unit:i},e.destroy(),t},jh=(t,e,r)=>t?"objects":e?"lines":r==="buffer"?"bytes":"characters",dc=(t,e,r)=>{if(e.length!==r)return;let n=new ie;throw n.maxBufferInfo={fdNumber:"ipc"},n},mc=(t,e)=>{let{streamName:r,threshold:n,unit:o}=Nh(t,e);return`Command's ${r} was larger than ${n} ${o}`},Nh=(t,e)=>{if(t?.maxBufferInfo===void 0)return{streamName:"output",threshold:e[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:r,unit:n}}=t;delete t.maxBufferInfo;let o=fe(e,r);return r==="ipc"?{streamName:"IPC output",threshold:o,unit:"messages"}:{streamName:Qt(r),threshold:o,unit:n}},pc=(t,e,r)=>t?.code==="ENOBUFS"&&e!==null&&e.some(n=>n!==null&&n.length>Lr(r)),fc=(t,e,r)=>{if(!e)return t;let n=Lr(r);return t.length>n?t.slice(0,n):t},Lr=([,t])=>t;var hc=({stdio:t,all:e,ipcOutput:r,originalError:n,signal:o,signalDescription:s,exitCode:i,escapedCommand:a,timedOut:u,isCanceled:c,isGracefullyCanceled:l,isMaxBuffer:d,isForcefullyTerminated:m,forceKillAfterDelay:p,killSignal:D,maxBuffer:b,timeout:S,cwd:E})=>{let v=n?.code,M=Wh({originalError:n,timedOut:u,timeout:S,isMaxBuffer:d,maxBuffer:b,errorCode:v,signal:o,signalDescription:s,exitCode:i,isCanceled:c,isGracefullyCanceled:l,isForcefullyTerminated:m,forceKillAfterDelay:p,killSignal:D}),y=Gh(n,E),_=y===void 0?"":`
116
- ${y}`,B=`${M}: ${a}${_}`,k=e===void 0?[t[2],t[1]]:[e],be=[B,...k,...t.slice(3),r.map(Ce=>Hh(Ce)).join(`
116
+ ${y}`,B=`${M}: ${a}${_}`,j=e===void 0?[t[2],t[1]]:[e],be=[B,...j,...t.slice(3),r.map(Ce=>Hh(Ce)).join(`
117
117
  `)].map(Ce=>mt(Ke(zh(Ce)))).filter(Boolean).join(`
118
118
 
119
119
  `);return{originalMessage:y,shortMessage:B,message:be}},Wh=({originalError:t,timedOut:e,timeout:r,isMaxBuffer:n,maxBuffer:o,errorCode:s,signal:i,signalDescription:a,exitCode:u,isCanceled:c,isGracefullyCanceled:l,isForcefullyTerminated:d,forceKillAfterDelay:m,killSignal:p})=>{let D=Vh(d,m);return e?`Command timed out after ${r} milliseconds${D}`:l?i===void 0?`Command was gracefully canceled with exit code ${u}`:d?`Command was gracefully canceled${D}`:`Command was gracefully canceled with ${i} (${a})`:c?`Command was canceled${D}`:n?`${mc(t,o)}${D}`:s!==void 0?`Command failed with ${s}${D}`:d?`Command was killed with ${p} (${pr(p)})${D}`:i!==void 0?`Command was killed with ${i} (${a})`:u!==void 0?`Command failed with exit code ${u}`:"Command failed"},Vh=(t,e)=>t?` and was forcefully terminated after ${e} milliseconds`:"",Gh=(t,e)=>{if(t instanceof Z)return;let r=Ha(t)?t.originalMessage:String(t?.message??t),n=mt(Yu(r,e));return n===""?void 0:n},Hh=t=>typeof t=="string"?t:Uh(t),zh=t=>Array.isArray(t)?t.map(e=>Ke(Dc(e))).filter(Boolean).join(`
120
- `):Dc(t),Dc=t=>typeof t=="string"?t:R(t)?Xt(t):"";var kr=({command:t,escapedCommand:e,stdio:r,all:n,ipcOutput:o,options:{cwd:s},startTime:i})=>gc({command:t,escapedCommand:e,cwd:s,durationMs:Yn(i),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:r[1],stderr:r[2],all:n,stdio:r,ipcOutput:o,pipedFrom:[]}),Xe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,isSync:i})=>Et({error:t,command:e,escapedCommand:r,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:n.length}),ipcOutput:[],options:o,isSync:i}),Et=({error:t,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,stdio:d,all:m,ipcOutput:p,options:{timeoutDuration:D,timeout:b=D,forceKillAfterDelay:S,killSignal:E,cwd:v,maxBuffer:M},isSync:y})=>{let{exitCode:_,signal:B,signalDescription:k}=Yh(c,l),{originalMessage:be,shortMessage:Ce,message:un}=hc({stdio:d,all:m,ipcOutput:p,originalError:t,signal:B,signalDescription:k,exitCode:_,escapedCommand:r,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,forceKillAfterDelay:S,killSignal:E,maxBuffer:M,timeout:b,cwd:v}),st=Va(t,un,y);return Object.assign(st,qh({error:st,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:_,signal:B,signalDescription:k,stdio:d,all:m,ipcOutput:p,cwd:v,originalMessage:be,shortMessage:Ce})),st},qh=({error:t,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,signalDescription:d,stdio:m,all:p,ipcOutput:D,cwd:b,originalMessage:S,shortMessage:E})=>gc({shortMessage:E,originalMessage:S,command:e,escapedCommand:r,cwd:b,durationMs:Yn(n),failed:!0,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isTerminated:l!==void 0,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,signalDescription:d,code:t.cause?.code,stdout:m[1],stderr:m[2],all:p,stdio:m,ipcOutput:D,pipedFrom:[]}),gc=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Yh=(t,e)=>{let r=t===null?void 0:t,n=e===null?void 0:e,o=n===void 0?void 0:pr(e);return{exitCode:r,signal:n,signalDescription:o}};var bc=t=>Number.isFinite(t)?t:0;function Kh(t){return{days:Math.trunc(t/864e5),hours:Math.trunc(t/36e5%24),minutes:Math.trunc(t/6e4%60),seconds:Math.trunc(t/1e3%60),milliseconds:Math.trunc(t%1e3),microseconds:Math.trunc(bc(t*1e3)%1e3),nanoseconds:Math.trunc(bc(t*1e6)%1e3)}}function Jh(t){return{days:t/86400000n,hours:t/3600000n%24n,minutes:t/60000n%60n,seconds:t/1000n%60n,milliseconds:t%1000n,microseconds:0n,nanoseconds:0n}}function yo(t){switch(typeof t){case"number":{if(Number.isFinite(t))return Kh(t);break}case"bigint":return Jh(t)}throw new TypeError("Expected a finite number or bigint")}var Xh=t=>t===0||t===0n,Zh=(t,e)=>e===1||e===1n?t:`${t}s`,Qh=1e-7,eg=24n*60n*60n*1000n;function xo(t,e){let r=typeof t=="bigint";if(!r&&!Number.isFinite(t))throw new TypeError("Expected a finite number or bigint");e={...e};let n=t<0?"-":"";t=t<0?-t:t,e.colonNotation&&(e.compact=!1,e.formatSubMilliseconds=!1,e.separateMilliseconds=!1,e.verbose=!1),e.compact&&(e.unitCount=1,e.secondsDecimalDigits=0,e.millisecondsDecimalDigits=0);let o=[],s=(l,d)=>{let m=Math.floor(l*10**d+Qh);return(Math.round(m)/10**d).toFixed(d)},i=(l,d,m,p)=>{if(!((o.length===0||!e.colonNotation)&&Xh(l)&&!(e.colonNotation&&m==="m"))){if(p??=String(l),e.colonNotation){let D=p.includes(".")?p.split(".")[0].length:p.length,b=o.length>0?2:1;p="0".repeat(Math.max(0,b-D))+p}else p+=e.verbose?" "+Zh(d,l):m;o.push(p)}},a=yo(t),u=BigInt(a.days);if(e.hideYearAndDays?i(BigInt(u)*24n+BigInt(a.hours),"hour","h"):(e.hideYear?i(u,"day","d"):(i(u/365n,"year","y"),i(u%365n,"day","d")),i(Number(a.hours),"hour","h")),i(Number(a.minutes),"minute","m"),!e.hideSeconds)if(e.separateMilliseconds||e.formatSubMilliseconds||!e.colonNotation&&t<1e3&&!e.subSecondsAsDecimals){let l=Number(a.seconds),d=Number(a.milliseconds),m=Number(a.microseconds),p=Number(a.nanoseconds);if(i(l,"second","s"),e.formatSubMilliseconds)i(d,"millisecond","ms"),i(m,"microsecond","\xB5s"),i(p,"nanosecond","ns");else{let D=d+m/1e3+p/1e6,b=typeof e.millisecondsDecimalDigits=="number"?e.millisecondsDecimalDigits:0,S=D>=1?Math.round(D):Math.ceil(D),E=b?D.toFixed(b):S;i(Number.parseFloat(E),"millisecond","ms",E)}}else{let l=(r?Number(t%eg):t)/1e3%60,d=typeof e.secondsDecimalDigits=="number"?e.secondsDecimalDigits:1,m=s(l,d),p=e.keepDecimalsOnWholeSeconds?m:m.replace(/\.0+$/,"");i(Number.parseFloat(p),"second","s",p)}if(o.length===0)return n+"0"+(e.verbose?" milliseconds":"ms");let c=e.colonNotation?":":" ";return typeof e.unitCount=="number"&&(o=o.slice(0,Math.max(e.unitCount,1))),n+o.join(c)}var Cc=(t,e)=>{t.failed&&re({type:"error",verboseMessage:t.shortMessage,verboseInfo:e,result:t})};var Ec=(t,e)=>{We(e)&&(Cc(t,e),tg(t,e))},tg=(t,e)=>{let r=`(done in ${xo(t.durationMs)})`;re({type:"duration",verboseMessage:r,verboseInfo:e,result:t})};var Ze=(t,e,{reject:r})=>{if(Ec(t,e),t.failed&&r)throw t;return t};import{readFileSync as qc}from"fs";var wc=(t,e)=>Ie(t)?"asyncGenerator":Ac(t)?"generator":jr(t)?"fileUrl":sg(t)?"filePath":cg(t)?"webStream":ee(t,{checkOpen:!1})?"native":R(t)?"uint8Array":lg(t)?"asyncIterable":dg(t)?"iterable":So(t)?Fc({transform:t},e):ig(t)?rg(t,e):"native",rg=(t,e)=>go(t.transform,{checkOpen:!1})?ng(t,e):So(t.transform)?Fc(t,e):og(t,e),ng=(t,e)=>(Sc(t,e,"Duplex stream"),"duplex"),Fc=(t,e)=>(Sc(t,e,"web TransformStream"),"webTransform"),Sc=({final:t,binary:e,objectMode:r},n,o)=>{yc(t,`${n}.final`,o),yc(e,`${n}.binary`,o),wo(r,`${n}.objectMode`)},yc=(t,e,r)=>{if(t!==void 0)throw new TypeError(`The \`${e}\` option can only be defined when using a generator, not a ${r}.`)},og=({transform:t,final:e,binary:r,objectMode:n},o)=>{if(t!==void 0&&!xc(t))throw new TypeError(`The \`${o}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(go(e,{checkOpen:!1}))throw new TypeError(`The \`${o}.final\` option must not be a Duplex stream.`);if(So(e))throw new TypeError(`The \`${o}.final\` option must not be a web TransformStream.`);if(e!==void 0&&!xc(e))throw new TypeError(`The \`${o}.final\` option must be a generator.`);return wo(r,`${o}.binary`),wo(n,`${o}.objectMode`),Ie(t)||Ie(e)?"asyncGenerator":"generator"},wo=(t,e)=>{if(t!==void 0&&typeof t!="boolean")throw new TypeError(`The \`${e}\` option must use a boolean.`)},xc=t=>Ie(t)||Ac(t),Ie=t=>Object.prototype.toString.call(t)==="[object AsyncGeneratorFunction]",Ac=t=>Object.prototype.toString.call(t)==="[object GeneratorFunction]",ig=t=>T(t)&&(t.transform!==void 0||t.final!==void 0),jr=t=>Object.prototype.toString.call(t)==="[object URL]",_c=t=>jr(t)&&t.protocol!=="file:",sg=t=>T(t)&&Object.keys(t).length>0&&Object.keys(t).every(e=>ag.has(e))&&Fo(t.file),ag=new Set(["file","append"]),Fo=t=>typeof t=="string",Oc=(t,e)=>t==="native"&&typeof e=="string"&&!ug.has(e),ug=new Set(["ipc","ignore","inherit","overlapped","pipe"]),Tc=t=>Object.prototype.toString.call(t)==="[object ReadableStream]",Nr=t=>Object.prototype.toString.call(t)==="[object WritableStream]",cg=t=>Tc(t)||Nr(t),So=t=>Tc(t?.readable)&&Nr(t?.writable),lg=t=>vc(t)&&typeof t[Symbol.asyncIterator]=="function",dg=t=>vc(t)&&typeof t[Symbol.iterator]=="function",vc=t=>typeof t=="object"&&t!==null,Y=new Set(["generator","asyncGenerator","duplex","webTransform"]),Ur=new Set(["fileUrl","filePath","fileNumber"]),Ao=new Set(["fileUrl","filePath"]),$c=new Set([...Ao,"webStream","nodeStream"]),Bc=new Set(["webTransform","duplex"]),Se={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};var _o=(t,e,r,n)=>n==="output"?mg(t,e,r):pg(t,e,r),mg=(t,e,r)=>{let n=e!==0&&r[e-1].value.readableObjectMode;return{writableObjectMode:n,readableObjectMode:t??n}},pg=(t,e,r)=>{let n=e===0?t===!0:r[e-1].value.readableObjectMode,o=e!==r.length-1&&(t??n);return{writableObjectMode:n,readableObjectMode:o}},Ic=(t,e)=>{let r=t.findLast(({type:n})=>Y.has(n));return r===void 0?!1:e==="input"?r.value.writableObjectMode:r.value.readableObjectMode};var Rc=(t,e,r,n)=>[...t.filter(({type:o})=>!Y.has(o)),...fg(t,e,r,n)],fg=(t,e,r,{encoding:n})=>{let o=t.filter(({type:i})=>Y.has(i)),s=Array.from({length:o.length});for(let[i,a]of Object.entries(o))s[i]=Dg({stdioItem:a,index:Number(i),newTransforms:s,optionName:e,direction:r,encoding:n});return Cg(s,r)},Dg=({stdioItem:t,stdioItem:{type:e},index:r,newTransforms:n,optionName:o,direction:s,encoding:i})=>e==="duplex"?hg({stdioItem:t,optionName:o}):e==="webTransform"?gg({stdioItem:t,index:r,newTransforms:n,direction:s}):bg({stdioItem:t,index:r,newTransforms:n,direction:s,encoding:i}),hg=({stdioItem:t,stdioItem:{value:{transform:e,transform:{writableObjectMode:r,readableObjectMode:n},objectMode:o=n}},optionName:s})=>{if(o&&!n)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!o&&n)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...t,value:{transform:e,writableObjectMode:r,readableObjectMode:n}}},gg=({stdioItem:t,stdioItem:{value:e},index:r,newTransforms:n,direction:o})=>{let{transform:s,objectMode:i}=T(e)?e:{transform:e},{writableObjectMode:a,readableObjectMode:u}=_o(i,r,n,o);return{...t,value:{transform:s,writableObjectMode:a,readableObjectMode:u}}},bg=({stdioItem:t,stdioItem:{value:e},index:r,newTransforms:n,direction:o,encoding:s})=>{let{transform:i,final:a,binary:u=!1,preserveNewlines:c=!1,objectMode:l}=T(e)?e:{transform:e},d=u||G.has(s),{writableObjectMode:m,readableObjectMode:p}=_o(l,r,n,o);return{...t,value:{transform:i,final:a,binary:d,preserveNewlines:c,writableObjectMode:m,readableObjectMode:p}}},Cg=(t,e)=>e==="input"?t.reverse():t;import Oo from"process";var Mc=(t,e,r)=>{let n=t.map(o=>Eg(o,e));if(n.includes("input")&&n.includes("output"))throw new TypeError(`The \`${r}\` option must not be an array of both readable and writable values.`);return n.find(Boolean)??wg},Eg=({type:t,value:e},r)=>yg[r]??Pc[t](e),yg=["input","output","output"],Qe=()=>{},To=()=>"input",Pc={generator:Qe,asyncGenerator:Qe,fileUrl:Qe,filePath:Qe,iterable:To,asyncIterable:To,uint8Array:To,webStream:t=>Nr(t)?"output":"input",nodeStream(t){return Be(t,{checkOpen:!1})?ho(t,{checkOpen:!1})?void 0:"input":"output"},webTransform:Qe,duplex:Qe,native(t){let e=xg(t);if(e!==void 0)return e;if(ee(t,{checkOpen:!1}))return Pc.nodeStream(t)}},xg=t=>{if([0,Oo.stdin].includes(t))return"input";if([1,2,Oo.stdout,Oo.stderr].includes(t))return"output"},wg="output";var Lc=(t,e)=>e&&!t.includes("ipc")?[...t,"ipc"]:t;var kc=({stdio:t,ipc:e,buffer:r,...n},o,s)=>{let i=Fg(t,n).map((a,u)=>jc(a,u));return s?Ag(i,r,o):Lc(i,e)},Fg=(t,e)=>{if(t===void 0)return q.map(n=>e[n]);if(Sg(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${q.map(n=>`\`${n}\``).join(", ")}`);if(typeof t=="string")return[t,t,t];if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,q.length);return Array.from({length:r},(n,o)=>t[o])},Sg=t=>q.some(e=>t[e]!==void 0),jc=(t,e)=>Array.isArray(t)?t.map(r=>jc(r,e)):t??(e>=q.length?"ignore":"pipe"),Ag=(t,e,r)=>t.map((n,o)=>!e[o]&&o!==0&&!Ve(r,o)&&_g(n)?"ignore":n),_g=t=>t==="pipe"||Array.isArray(t)&&t.every(e=>e==="pipe");import{readFileSync as Og}from"fs";import Tg from"tty";var Uc=({stdioItem:t,stdioItem:{type:e},isStdioArray:r,fdNumber:n,direction:o,isSync:s})=>!r||e!=="native"?t:s?vg({stdioItem:t,fdNumber:n,direction:o}):Ig({stdioItem:t,fdNumber:n}),vg=({stdioItem:t,stdioItem:{value:e,optionName:r},fdNumber:n,direction:o})=>{let s=$g({value:e,optionName:r,fdNumber:n,direction:o});if(s!==void 0)return s;if(ee(e,{checkOpen:!1}))throw new TypeError(`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return t},$g=({value:t,optionName:e,fdNumber:r,direction:n})=>{let o=Bg(t,r);if(o!==void 0){if(n==="output")return{type:"fileNumber",value:o,optionName:e};if(Tg.isatty(o))throw new TypeError(`The \`${e}: ${hr(t)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:pe(Og(o)),optionName:e}}},Bg=(t,e)=>{if(t==="inherit")return e;if(typeof t=="number")return t;let r=Zt.indexOf(t);if(r!==-1)return r},Ig=({stdioItem:t,stdioItem:{value:e,optionName:r},fdNumber:n})=>e==="inherit"?{type:"nodeStream",value:Nc(n,e,r),optionName:r}:typeof e=="number"?{type:"nodeStream",value:Nc(e,e,r),optionName:r}:ee(e,{checkOpen:!1})?{type:"nodeStream",value:e,optionName:r}:t,Nc=(t,e,r)=>{let n=Zt[t];if(n===void 0)throw new TypeError(`The \`${r}: ${e}\` option is invalid: no such standard stream.`);return n};var Wc=({input:t,inputFile:e},r)=>r===0?[...Rg(t),...Pg(e)]:[],Rg=t=>t===void 0?[]:[{type:Mg(t),value:t,optionName:"input"}],Mg=t=>{if(Be(t,{checkOpen:!1}))return"nodeStream";if(typeof t=="string")return"string";if(R(t))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Pg=t=>t===void 0?[]:[{...Lg(t),optionName:"inputFile"}],Lg=t=>{if(jr(t))return{type:"fileUrl",value:t};if(Fo(t))return{type:"filePath",value:{file:t}};throw new Error("The `inputFile` option must be a file path string or a file URL.")};var Vc=t=>t.filter((e,r)=>t.every((n,o)=>e.value!==n.value||r>=o||e.type==="generator"||e.type==="asyncGenerator")),Gc=({stdioItem:{type:t,value:e,optionName:r},direction:n,fileDescriptors:o,isSync:s})=>{let i=kg(o,t);if(i.length!==0){if(s){jg({otherStdioItems:i,type:t,value:e,optionName:r,direction:n});return}if($c.has(t))return Hc({otherStdioItems:i,type:t,value:e,optionName:r,direction:n});Bc.has(t)&&Ug({otherStdioItems:i,type:t,value:e,optionName:r})}},kg=(t,e)=>t.flatMap(({direction:r,stdioItems:n})=>n.filter(o=>o.type===e).map((o=>({...o,direction:r})))),jg=({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})=>{Ao.has(e)&&Hc({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})},Hc=({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})=>{let s=t.filter(a=>Ng(a,r));if(s.length===0)return;let i=s.find(a=>a.direction!==o);return zc(i,n,e),o==="output"?s[0].stream:void 0},Ng=({type:t,value:e},r)=>t==="filePath"?e.file===r.file:t==="fileUrl"?e.href===r.href:e===r,Ug=({otherStdioItems:t,type:e,value:r,optionName:n})=>{let o=t.find(({value:{transform:s}})=>s===r.transform);zc(o,n,e)},zc=(t,e,r)=>{if(t!==void 0)throw new TypeError(`The \`${t.optionName}\` and \`${e}\` options must not target ${Se[r]} that is the same.`)};var Wr=(t,e,r,n)=>{let s=kc(e,r,n).map((a,u)=>Wg({stdioOption:a,fdNumber:u,options:e,isSync:n})),i=Jg({initialFileDescriptors:s,addProperties:t,options:e,isSync:n});return e.stdio=i.map(({stdioItems:a})=>Qg(a)),i},Wg=({stdioOption:t,fdNumber:e,options:r,isSync:n})=>{let o=Qt(e),{stdioItems:s,isStdioArray:i}=Vg({stdioOption:t,fdNumber:e,options:r,optionName:o}),a=Mc(s,e,o),u=s.map(d=>Uc({stdioItem:d,isStdioArray:i,fdNumber:e,direction:a,isSync:n})),c=Rc(u,o,a,r),l=Ic(c,a);return Kg(c,l),{direction:a,objectMode:l,stdioItems:c}},Vg=({stdioOption:t,fdNumber:e,options:r,optionName:n})=>{let s=[...(Array.isArray(t)?t:[t]).map(u=>Gg(u,n)),...Wc(r,e)],i=Vc(s),a=i.length>1;return Hg(i,a,n),qg(i),{stdioItems:i,isStdioArray:a}},Gg=(t,e)=>({type:wc(t,e),value:t,optionName:e}),Hg=(t,e,r)=>{if(t.length===0)throw new TypeError(`The \`${r}\` option must not be an empty array.`);if(e){for(let{value:n,optionName:o}of t)if(zg.has(n))throw new Error(`The \`${o}\` option must not include \`${n}\`.`)}},zg=new Set(["ignore","ipc"]),qg=t=>{for(let e of t)Yg(e)},Yg=({type:t,value:e,optionName:r})=>{if(_c(e))throw new TypeError(`The \`${r}: URL\` option must use the \`file:\` scheme.
120
+ `):Dc(t),Dc=t=>typeof t=="string"?t:R(t)?Xt(t):"";var kr=({command:t,escapedCommand:e,stdio:r,all:n,ipcOutput:o,options:{cwd:s},startTime:i})=>gc({command:t,escapedCommand:e,cwd:s,durationMs:Yn(i),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:r[1],stderr:r[2],all:n,stdio:r,ipcOutput:o,pipedFrom:[]}),Xe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,isSync:i})=>Et({error:t,command:e,escapedCommand:r,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:n.length}),ipcOutput:[],options:o,isSync:i}),Et=({error:t,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,stdio:d,all:m,ipcOutput:p,options:{timeoutDuration:D,timeout:b=D,forceKillAfterDelay:S,killSignal:E,cwd:v,maxBuffer:M},isSync:y})=>{let{exitCode:_,signal:B,signalDescription:j}=Yh(c,l),{originalMessage:be,shortMessage:Ce,message:un}=hc({stdio:d,all:m,ipcOutput:p,originalError:t,signal:B,signalDescription:j,exitCode:_,escapedCommand:r,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,forceKillAfterDelay:S,killSignal:E,maxBuffer:M,timeout:b,cwd:v}),st=Va(t,un,y);return Object.assign(st,qh({error:st,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:_,signal:B,signalDescription:j,stdio:d,all:m,ipcOutput:p,cwd:v,originalMessage:be,shortMessage:Ce})),st},qh=({error:t,command:e,escapedCommand:r,startTime:n,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,signalDescription:d,stdio:m,all:p,ipcOutput:D,cwd:b,originalMessage:S,shortMessage:E})=>gc({shortMessage:E,originalMessage:S,command:e,escapedCommand:r,cwd:b,durationMs:Yn(n),failed:!0,timedOut:o,isCanceled:s,isGracefullyCanceled:i,isTerminated:l!==void 0,isMaxBuffer:a,isForcefullyTerminated:u,exitCode:c,signal:l,signalDescription:d,code:t.cause?.code,stdout:m[1],stderr:m[2],all:p,stdio:m,ipcOutput:D,pipedFrom:[]}),gc=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Yh=(t,e)=>{let r=t===null?void 0:t,n=e===null?void 0:e,o=n===void 0?void 0:pr(e);return{exitCode:r,signal:n,signalDescription:o}};var bc=t=>Number.isFinite(t)?t:0;function Kh(t){return{days:Math.trunc(t/864e5),hours:Math.trunc(t/36e5%24),minutes:Math.trunc(t/6e4%60),seconds:Math.trunc(t/1e3%60),milliseconds:Math.trunc(t%1e3),microseconds:Math.trunc(bc(t*1e3)%1e3),nanoseconds:Math.trunc(bc(t*1e6)%1e3)}}function Jh(t){return{days:t/86400000n,hours:t/3600000n%24n,minutes:t/60000n%60n,seconds:t/1000n%60n,milliseconds:t%1000n,microseconds:0n,nanoseconds:0n}}function yo(t){switch(typeof t){case"number":{if(Number.isFinite(t))return Kh(t);break}case"bigint":return Jh(t)}throw new TypeError("Expected a finite number or bigint")}var Xh=t=>t===0||t===0n,Zh=(t,e)=>e===1||e===1n?t:`${t}s`,Qh=1e-7,eg=24n*60n*60n*1000n;function xo(t,e){let r=typeof t=="bigint";if(!r&&!Number.isFinite(t))throw new TypeError("Expected a finite number or bigint");e={...e};let n=t<0?"-":"";t=t<0?-t:t,e.colonNotation&&(e.compact=!1,e.formatSubMilliseconds=!1,e.separateMilliseconds=!1,e.verbose=!1),e.compact&&(e.unitCount=1,e.secondsDecimalDigits=0,e.millisecondsDecimalDigits=0);let o=[],s=(l,d)=>{let m=Math.floor(l*10**d+Qh);return(Math.round(m)/10**d).toFixed(d)},i=(l,d,m,p)=>{if(!((o.length===0||!e.colonNotation)&&Xh(l)&&!(e.colonNotation&&m==="m"))){if(p??=String(l),e.colonNotation){let D=p.includes(".")?p.split(".")[0].length:p.length,b=o.length>0?2:1;p="0".repeat(Math.max(0,b-D))+p}else p+=e.verbose?" "+Zh(d,l):m;o.push(p)}},a=yo(t),u=BigInt(a.days);if(e.hideYearAndDays?i(BigInt(u)*24n+BigInt(a.hours),"hour","h"):(e.hideYear?i(u,"day","d"):(i(u/365n,"year","y"),i(u%365n,"day","d")),i(Number(a.hours),"hour","h")),i(Number(a.minutes),"minute","m"),!e.hideSeconds)if(e.separateMilliseconds||e.formatSubMilliseconds||!e.colonNotation&&t<1e3&&!e.subSecondsAsDecimals){let l=Number(a.seconds),d=Number(a.milliseconds),m=Number(a.microseconds),p=Number(a.nanoseconds);if(i(l,"second","s"),e.formatSubMilliseconds)i(d,"millisecond","ms"),i(m,"microsecond","\xB5s"),i(p,"nanosecond","ns");else{let D=d+m/1e3+p/1e6,b=typeof e.millisecondsDecimalDigits=="number"?e.millisecondsDecimalDigits:0,S=D>=1?Math.round(D):Math.ceil(D),E=b?D.toFixed(b):S;i(Number.parseFloat(E),"millisecond","ms",E)}}else{let l=(r?Number(t%eg):t)/1e3%60,d=typeof e.secondsDecimalDigits=="number"?e.secondsDecimalDigits:1,m=s(l,d),p=e.keepDecimalsOnWholeSeconds?m:m.replace(/\.0+$/,"");i(Number.parseFloat(p),"second","s",p)}if(o.length===0)return n+"0"+(e.verbose?" milliseconds":"ms");let c=e.colonNotation?":":" ";return typeof e.unitCount=="number"&&(o=o.slice(0,Math.max(e.unitCount,1))),n+o.join(c)}var Cc=(t,e)=>{t.failed&&re({type:"error",verboseMessage:t.shortMessage,verboseInfo:e,result:t})};var Ec=(t,e)=>{We(e)&&(Cc(t,e),tg(t,e))},tg=(t,e)=>{let r=`(done in ${xo(t.durationMs)})`;re({type:"duration",verboseMessage:r,verboseInfo:e,result:t})};var Ze=(t,e,{reject:r})=>{if(Ec(t,e),t.failed&&r)throw t;return t};import{readFileSync as qc}from"fs";var wc=(t,e)=>Ie(t)?"asyncGenerator":Ac(t)?"generator":jr(t)?"fileUrl":sg(t)?"filePath":cg(t)?"webStream":ee(t,{checkOpen:!1})?"native":R(t)?"uint8Array":lg(t)?"asyncIterable":dg(t)?"iterable":So(t)?Fc({transform:t},e):ig(t)?rg(t,e):"native",rg=(t,e)=>go(t.transform,{checkOpen:!1})?ng(t,e):So(t.transform)?Fc(t,e):og(t,e),ng=(t,e)=>(Sc(t,e,"Duplex stream"),"duplex"),Fc=(t,e)=>(Sc(t,e,"web TransformStream"),"webTransform"),Sc=({final:t,binary:e,objectMode:r},n,o)=>{yc(t,`${n}.final`,o),yc(e,`${n}.binary`,o),wo(r,`${n}.objectMode`)},yc=(t,e,r)=>{if(t!==void 0)throw new TypeError(`The \`${e}\` option can only be defined when using a generator, not a ${r}.`)},og=({transform:t,final:e,binary:r,objectMode:n},o)=>{if(t!==void 0&&!xc(t))throw new TypeError(`The \`${o}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(go(e,{checkOpen:!1}))throw new TypeError(`The \`${o}.final\` option must not be a Duplex stream.`);if(So(e))throw new TypeError(`The \`${o}.final\` option must not be a web TransformStream.`);if(e!==void 0&&!xc(e))throw new TypeError(`The \`${o}.final\` option must be a generator.`);return wo(r,`${o}.binary`),wo(n,`${o}.objectMode`),Ie(t)||Ie(e)?"asyncGenerator":"generator"},wo=(t,e)=>{if(t!==void 0&&typeof t!="boolean")throw new TypeError(`The \`${e}\` option must use a boolean.`)},xc=t=>Ie(t)||Ac(t),Ie=t=>Object.prototype.toString.call(t)==="[object AsyncGeneratorFunction]",Ac=t=>Object.prototype.toString.call(t)==="[object GeneratorFunction]",ig=t=>T(t)&&(t.transform!==void 0||t.final!==void 0),jr=t=>Object.prototype.toString.call(t)==="[object URL]",_c=t=>jr(t)&&t.protocol!=="file:",sg=t=>T(t)&&Object.keys(t).length>0&&Object.keys(t).every(e=>ag.has(e))&&Fo(t.file),ag=new Set(["file","append"]),Fo=t=>typeof t=="string",Oc=(t,e)=>t==="native"&&typeof e=="string"&&!ug.has(e),ug=new Set(["ipc","ignore","inherit","overlapped","pipe"]),Tc=t=>Object.prototype.toString.call(t)==="[object ReadableStream]",Nr=t=>Object.prototype.toString.call(t)==="[object WritableStream]",cg=t=>Tc(t)||Nr(t),So=t=>Tc(t?.readable)&&Nr(t?.writable),lg=t=>vc(t)&&typeof t[Symbol.asyncIterator]=="function",dg=t=>vc(t)&&typeof t[Symbol.iterator]=="function",vc=t=>typeof t=="object"&&t!==null,Y=new Set(["generator","asyncGenerator","duplex","webTransform"]),Ur=new Set(["fileUrl","filePath","fileNumber"]),Ao=new Set(["fileUrl","filePath"]),$c=new Set([...Ao,"webStream","nodeStream"]),Bc=new Set(["webTransform","duplex"]),Se={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};var _o=(t,e,r,n)=>n==="output"?mg(t,e,r):pg(t,e,r),mg=(t,e,r)=>{let n=e!==0&&r[e-1].value.readableObjectMode;return{writableObjectMode:n,readableObjectMode:t??n}},pg=(t,e,r)=>{let n=e===0?t===!0:r[e-1].value.readableObjectMode,o=e!==r.length-1&&(t??n);return{writableObjectMode:n,readableObjectMode:o}},Ic=(t,e)=>{let r=t.findLast(({type:n})=>Y.has(n));return r===void 0?!1:e==="input"?r.value.writableObjectMode:r.value.readableObjectMode};var Rc=(t,e,r,n)=>[...t.filter(({type:o})=>!Y.has(o)),...fg(t,e,r,n)],fg=(t,e,r,{encoding:n})=>{let o=t.filter(({type:i})=>Y.has(i)),s=Array.from({length:o.length});for(let[i,a]of Object.entries(o))s[i]=Dg({stdioItem:a,index:Number(i),newTransforms:s,optionName:e,direction:r,encoding:n});return Cg(s,r)},Dg=({stdioItem:t,stdioItem:{type:e},index:r,newTransforms:n,optionName:o,direction:s,encoding:i})=>e==="duplex"?hg({stdioItem:t,optionName:o}):e==="webTransform"?gg({stdioItem:t,index:r,newTransforms:n,direction:s}):bg({stdioItem:t,index:r,newTransforms:n,direction:s,encoding:i}),hg=({stdioItem:t,stdioItem:{value:{transform:e,transform:{writableObjectMode:r,readableObjectMode:n},objectMode:o=n}},optionName:s})=>{if(o&&!n)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!o&&n)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...t,value:{transform:e,writableObjectMode:r,readableObjectMode:n}}},gg=({stdioItem:t,stdioItem:{value:e},index:r,newTransforms:n,direction:o})=>{let{transform:s,objectMode:i}=T(e)?e:{transform:e},{writableObjectMode:a,readableObjectMode:u}=_o(i,r,n,o);return{...t,value:{transform:s,writableObjectMode:a,readableObjectMode:u}}},bg=({stdioItem:t,stdioItem:{value:e},index:r,newTransforms:n,direction:o,encoding:s})=>{let{transform:i,final:a,binary:u=!1,preserveNewlines:c=!1,objectMode:l}=T(e)?e:{transform:e},d=u||G.has(s),{writableObjectMode:m,readableObjectMode:p}=_o(l,r,n,o);return{...t,value:{transform:i,final:a,binary:d,preserveNewlines:c,writableObjectMode:m,readableObjectMode:p}}},Cg=(t,e)=>e==="input"?t.reverse():t;import Oo from"process";var Mc=(t,e,r)=>{let n=t.map(o=>Eg(o,e));if(n.includes("input")&&n.includes("output"))throw new TypeError(`The \`${r}\` option must not be an array of both readable and writable values.`);return n.find(Boolean)??wg},Eg=({type:t,value:e},r)=>yg[r]??Pc[t](e),yg=["input","output","output"],Qe=()=>{},To=()=>"input",Pc={generator:Qe,asyncGenerator:Qe,fileUrl:Qe,filePath:Qe,iterable:To,asyncIterable:To,uint8Array:To,webStream:t=>Nr(t)?"output":"input",nodeStream(t){return Be(t,{checkOpen:!1})?ho(t,{checkOpen:!1})?void 0:"input":"output"},webTransform:Qe,duplex:Qe,native(t){let e=xg(t);if(e!==void 0)return e;if(ee(t,{checkOpen:!1}))return Pc.nodeStream(t)}},xg=t=>{if([0,Oo.stdin].includes(t))return"input";if([1,2,Oo.stdout,Oo.stderr].includes(t))return"output"},wg="output";var Lc=(t,e)=>e&&!t.includes("ipc")?[...t,"ipc"]:t;var kc=({stdio:t,ipc:e,buffer:r,...n},o,s)=>{let i=Fg(t,n).map((a,u)=>jc(a,u));return s?Ag(i,r,o):Lc(i,e)},Fg=(t,e)=>{if(t===void 0)return q.map(n=>e[n]);if(Sg(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${q.map(n=>`\`${n}\``).join(", ")}`);if(typeof t=="string")return[t,t,t];if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,q.length);return Array.from({length:r},(n,o)=>t[o])},Sg=t=>q.some(e=>t[e]!==void 0),jc=(t,e)=>Array.isArray(t)?t.map(r=>jc(r,e)):t??(e>=q.length?"ignore":"pipe"),Ag=(t,e,r)=>t.map((n,o)=>!e[o]&&o!==0&&!Ve(r,o)&&_g(n)?"ignore":n),_g=t=>t==="pipe"||Array.isArray(t)&&t.every(e=>e==="pipe");import{readFileSync as Og}from"fs";import Tg from"tty";var Uc=({stdioItem:t,stdioItem:{type:e},isStdioArray:r,fdNumber:n,direction:o,isSync:s})=>!r||e!=="native"?t:s?vg({stdioItem:t,fdNumber:n,direction:o}):Ig({stdioItem:t,fdNumber:n}),vg=({stdioItem:t,stdioItem:{value:e,optionName:r},fdNumber:n,direction:o})=>{let s=$g({value:e,optionName:r,fdNumber:n,direction:o});if(s!==void 0)return s;if(ee(e,{checkOpen:!1}))throw new TypeError(`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return t},$g=({value:t,optionName:e,fdNumber:r,direction:n})=>{let o=Bg(t,r);if(o!==void 0){if(n==="output")return{type:"fileNumber",value:o,optionName:e};if(Tg.isatty(o))throw new TypeError(`The \`${e}: ${hr(t)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:pe(Og(o)),optionName:e}}},Bg=(t,e)=>{if(t==="inherit")return e;if(typeof t=="number")return t;let r=Zt.indexOf(t);if(r!==-1)return r},Ig=({stdioItem:t,stdioItem:{value:e,optionName:r},fdNumber:n})=>e==="inherit"?{type:"nodeStream",value:Nc(n,e,r),optionName:r}:typeof e=="number"?{type:"nodeStream",value:Nc(e,e,r),optionName:r}:ee(e,{checkOpen:!1})?{type:"nodeStream",value:e,optionName:r}:t,Nc=(t,e,r)=>{let n=Zt[t];if(n===void 0)throw new TypeError(`The \`${r}: ${e}\` option is invalid: no such standard stream.`);return n};var Wc=({input:t,inputFile:e},r)=>r===0?[...Rg(t),...Pg(e)]:[],Rg=t=>t===void 0?[]:[{type:Mg(t),value:t,optionName:"input"}],Mg=t=>{if(Be(t,{checkOpen:!1}))return"nodeStream";if(typeof t=="string")return"string";if(R(t))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Pg=t=>t===void 0?[]:[{...Lg(t),optionName:"inputFile"}],Lg=t=>{if(jr(t))return{type:"fileUrl",value:t};if(Fo(t))return{type:"filePath",value:{file:t}};throw new Error("The `inputFile` option must be a file path string or a file URL.")};var Vc=t=>t.filter((e,r)=>t.every((n,o)=>e.value!==n.value||r>=o||e.type==="generator"||e.type==="asyncGenerator")),Gc=({stdioItem:{type:t,value:e,optionName:r},direction:n,fileDescriptors:o,isSync:s})=>{let i=kg(o,t);if(i.length!==0){if(s){jg({otherStdioItems:i,type:t,value:e,optionName:r,direction:n});return}if($c.has(t))return Hc({otherStdioItems:i,type:t,value:e,optionName:r,direction:n});Bc.has(t)&&Ug({otherStdioItems:i,type:t,value:e,optionName:r})}},kg=(t,e)=>t.flatMap(({direction:r,stdioItems:n})=>n.filter(o=>o.type===e).map((o=>({...o,direction:r})))),jg=({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})=>{Ao.has(e)&&Hc({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})},Hc=({otherStdioItems:t,type:e,value:r,optionName:n,direction:o})=>{let s=t.filter(a=>Ng(a,r));if(s.length===0)return;let i=s.find(a=>a.direction!==o);return zc(i,n,e),o==="output"?s[0].stream:void 0},Ng=({type:t,value:e},r)=>t==="filePath"?e.file===r.file:t==="fileUrl"?e.href===r.href:e===r,Ug=({otherStdioItems:t,type:e,value:r,optionName:n})=>{let o=t.find(({value:{transform:s}})=>s===r.transform);zc(o,n,e)},zc=(t,e,r)=>{if(t!==void 0)throw new TypeError(`The \`${t.optionName}\` and \`${e}\` options must not target ${Se[r]} that is the same.`)};var Wr=(t,e,r,n)=>{let s=kc(e,r,n).map((a,u)=>Wg({stdioOption:a,fdNumber:u,options:e,isSync:n})),i=Jg({initialFileDescriptors:s,addProperties:t,options:e,isSync:n});return e.stdio=i.map(({stdioItems:a})=>Qg(a)),i},Wg=({stdioOption:t,fdNumber:e,options:r,isSync:n})=>{let o=Qt(e),{stdioItems:s,isStdioArray:i}=Vg({stdioOption:t,fdNumber:e,options:r,optionName:o}),a=Mc(s,e,o),u=s.map(d=>Uc({stdioItem:d,isStdioArray:i,fdNumber:e,direction:a,isSync:n})),c=Rc(u,o,a,r),l=Ic(c,a);return Kg(c,l),{direction:a,objectMode:l,stdioItems:c}},Vg=({stdioOption:t,fdNumber:e,options:r,optionName:n})=>{let s=[...(Array.isArray(t)?t:[t]).map(u=>Gg(u,n)),...Wc(r,e)],i=Vc(s),a=i.length>1;return Hg(i,a,n),qg(i),{stdioItems:i,isStdioArray:a}},Gg=(t,e)=>({type:wc(t,e),value:t,optionName:e}),Hg=(t,e,r)=>{if(t.length===0)throw new TypeError(`The \`${r}\` option must not be an empty array.`);if(e){for(let{value:n,optionName:o}of t)if(zg.has(n))throw new Error(`The \`${o}\` option must not include \`${n}\`.`)}},zg=new Set(["ignore","ipc"]),qg=t=>{for(let e of t)Yg(e)},Yg=({type:t,value:e,optionName:r})=>{if(_c(e))throw new TypeError(`The \`${r}: URL\` option must use the \`file:\` scheme.
121
121
  For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(Oc(t,e))throw new TypeError(`The \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},Kg=(t,e)=>{if(!e)return;let r=t.find(({type:n})=>Ur.has(n));if(r!==void 0)throw new TypeError(`The \`${r.optionName}\` option cannot use both files and transforms in objectMode.`)},Jg=({initialFileDescriptors:t,addProperties:e,options:r,isSync:n})=>{let o=[];try{for(let s of t)o.push(Xg({fileDescriptor:s,fileDescriptors:o,addProperties:e,options:r,isSync:n}));return o}catch(s){throw vo(o),s}},Xg=({fileDescriptor:{direction:t,objectMode:e,stdioItems:r},fileDescriptors:n,addProperties:o,options:s,isSync:i})=>{let a=r.map(u=>Zg({stdioItem:u,addProperties:o,direction:t,options:s,fileDescriptors:n,isSync:i}));return{direction:t,objectMode:e,stdioItems:a}},Zg=({stdioItem:t,addProperties:e,direction:r,options:n,fileDescriptors:o,isSync:s})=>{let i=Gc({stdioItem:t,direction:r,fileDescriptors:o,isSync:s});return i!==void 0?{...t,stream:i}:{...t,...e[r][t.type](t,n)}},vo=t=>{for(let{stdioItems:e}of t)for(let{stream:r}of e)r!==void 0&&!X(r)&&r.destroy()},Qg=t=>{if(t.length>1)return t.some(({value:n})=>n==="overlapped")?"overlapped":"pipe";let[{type:e,value:r}]=t;return e==="native"?r:"pipe"};var Kc=(t,e)=>Wr(t0,t,e,!0),se=({type:t,optionName:e})=>{Jc(e,Se[t])},e0=({optionName:t,value:e})=>((e==="ipc"||e==="overlapped")&&Jc(t,`"${e}"`),{}),Jc=(t,e)=>{throw new TypeError(`The \`${t}\` option cannot be ${e} with synchronous methods.`)},Yc={generator(){},asyncGenerator:se,webStream:se,nodeStream:se,webTransform:se,duplex:se,asyncIterable:se,native:e0},t0={input:{...Yc,fileUrl:({value:t})=>({contents:[pe(qc(t))]}),filePath:({value:{file:t}})=>({contents:[pe(qc(t))]}),fileNumber:se,iterable:({value:t})=>({contents:[...t]}),string:({value:t})=>({contents:[t]}),uint8Array:({value:t})=>({contents:[t]})},output:{...Yc,fileUrl:({value:t})=>({path:t}),filePath:({value:{file:t,append:e}})=>({path:t,append:e}),fileNumber:({value:t})=>({path:t}),iterable:se,string:se,uint8Array:se}};var he=(t,{stripFinalNewline:e},r)=>$o(e,r)&&t!==void 0&&!Array.isArray(t)?Ke(t):t,$o=(t,e)=>e==="all"?t[1]||t[2]:t[e];import{Transform as x0,getDefaultHighWaterMark as al}from"stream";var Vr=(t,e,r,n)=>t||r?void 0:Zc(e,n),Io=(t,e,r)=>r?t.flatMap(n=>Xc(n,e)):Xc(t,e),Xc=(t,e)=>{let{transform:r,final:n}=Zc(e,{});return[...r(t),...n()]},Zc=(t,e)=>(e.previousChunks="",{transform:r0.bind(void 0,e,t),final:o0.bind(void 0,e)}),r0=function*(t,e,r){if(typeof r!="string"){yield r;return}let{previousChunks:n}=t,o=-1;for(let s=0;s<r.length;s+=1)if(r[s]===`
122
122
  `){let i=n0(r,s,e,t),a=r.slice(o+1,s+1-i);n.length>0&&(a=Bo(n,a),n=""),yield a,o=s}o!==r.length-1&&(n=Bo(n,r.slice(o+1))),t.previousChunks=n},n0=(t,e,r,n)=>r?0:(n.isWindowsNewline=e!==0&&t[e-1]==="\r",n.isWindowsNewline?2:1),o0=function*({previousChunks:t}){t.length>0&&(yield t)},Qc=({binary:t,preserveNewlines:e,readableObjectMode:r,state:n})=>t||e||r?void 0:{transform:i0.bind(void 0,n)},i0=function*({isWindowsNewline:t=!1},e){let{unixNewline:r,windowsNewline:n,LF:o,concatBytes:s}=typeof e=="string"?s0:u0;if(e.at(-1)===o){yield e;return}yield s(e,t?n:r)},Bo=(t,e)=>`${t}${e}`,s0={windowsNewline:`\r
123
123
  `,unixNewline:`
124
124
  `,LF:`
125
125
  `,concatBytes:Bo},a0=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},u0={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:a0};import{Buffer as c0}from"buffer";var el=(t,e)=>t?void 0:l0.bind(void 0,e),l0=function*(t,e){if(typeof e!="string"&&!R(e)&&!c0.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},tl=(t,e)=>t?d0.bind(void 0,e):m0.bind(void 0,e),d0=function*(t,e){rl(t,e),yield e},m0=function*(t,e){if(rl(t,e),typeof e!="string"&&!R(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},rl=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
126
126
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
127
- if (condition) { yield value; }`)};import{Buffer as p0}from"buffer";import{StringDecoder as f0}from"string_decoder";var Gr=(t,e,r)=>{if(r)return;if(t)return{transform:D0.bind(void 0,new TextEncoder)};let n=new f0(e);return{transform:h0.bind(void 0,n),final:g0.bind(void 0,n)}},D0=function*(t,e){p0.isBuffer(e)?yield pe(e):typeof e=="string"?yield t.encode(e):yield e},h0=function*(t,e){yield R(e)?t.write(e):e},g0=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as nl}from"util";var Ro=nl(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let o of e.currentIterable)n.push(o)}finally{delete e.currentIterable}}),Hr=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=C0}=e[r];for await(let o of n(t))yield*Hr(o,e,r+1)},ol=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*b0(r,Number(e),t)},b0=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Hr(n,r,e+1)},il=nl(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),C0=function*(t){yield t};var Mo=(t,e,r,n)=>{try{for(let o of t(...e))r.push(o);n()}catch(o){n(o)}},sl=(t,e)=>[...e.flatMap(r=>[...Re(r,t,0)]),...yt(t)],Re=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=y0}=e[r];for(let o of n(t))yield*Re(o,e,r+1)},yt=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*E0(r,Number(e),t)},E0=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Re(n,r,e+1)},y0=function*(t){yield t};var Po=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:o},optionName:s},{encoding:i})=>{let a={},u=ul(t,i,s),c=Ie(e),l=Ie(r),d=c?Ro.bind(void 0,Hr,a):Mo.bind(void 0,Re),m=c||l?Ro.bind(void 0,ol,a):Mo.bind(void 0,yt),p=c||l?il.bind(void 0,a):void 0;return{stream:new x0({writableObjectMode:n,writableHighWaterMark:al(n),readableObjectMode:o,readableHighWaterMark:al(o),transform(b,S,E){d([b,u,0],this,E)},flush(b){m([u],this,b)},destroy:p})}},zr=(t,e,r,n)=>{let o=e.filter(({type:i})=>i==="generator"),s=n?o.reverse():o;for(let{value:i,optionName:a}of s){let u=ul(i,r,a);t=sl(u,t)}return t},ul=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:o,preserveNewlines:s},i,a)=>{let u={};return[{transform:el(n,a)},Gr(r,i,n),Vr(r,s,n,u),{transform:t,final:e},{transform:tl(o,a)},Qc({binary:r,preserveNewlines:s,readableObjectMode:o,state:u})].filter(Boolean)};var cl=(t,e)=>{for(let r of w0(t))F0(t,r,e)},w0=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),F0=(t,e,r)=>{let{stdioItems:n}=t[e],o=n.filter(({contents:a})=>a!==void 0);if(o.length===0)return;if(e!==0){let[{type:a,optionName:u}]=o;throw new TypeError(`Only the \`stdin\` option, not \`${u}\`, can be ${Se[a]} with synchronous methods.`)}let i=o.map(({contents:a})=>a).map(a=>S0(a,n));r.input=dt(i)},S0=(t,e)=>{let r=zr(t,e,"utf8",!0);return A0(r),dt(r)},A0=t=>{let e=t.find(r=>typeof r!="string"&&!R(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as v0,appendFileSync as $0}from"fs";var qr=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ve(r,n)&&!G.has(e)&&_0(n)&&(t.some(({type:o,value:s})=>o==="native"&&O0.has(s))||t.every(({type:o})=>Y.has(o))),_0=t=>t===1||t===2,O0=new Set(["pipe","overlapped"]),ll=async(t,e,r,n)=>{for await(let o of t)T0(e)||ml(o,r,n)},dl=(t,e,r)=>{for(let n of t)ml(n,e,r)},T0=t=>t._readableState.pipes.length>0,ml=(t,e,r)=>{let n=ir(t);re({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var pl=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:o})=>{if(e===null)return{output:Array.from({length:3})};let s={},i=new Set([]);return{output:e.map((u,c)=>B0({result:u,fileDescriptors:t,fdNumber:c,state:s,outputFiles:i,isMaxBuffer:n,verboseInfo:o},r)),...s}},B0=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:o,isMaxBuffer:s,verboseInfo:i},{buffer:a,encoding:u,lines:c,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let m=fc(t,s,d),p=pe(m),{stdioItems:D,objectMode:b}=e[r],S=I0([p],D,u,n),{serializedResult:E,finalResult:v=E}=R0({chunks:S,objectMode:b,encoding:u,lines:c,stripFinalNewline:l,fdNumber:r});M0({serializedResult:E,fdNumber:r,state:n,verboseInfo:i,encoding:u,stdioItems:D,objectMode:b});let M=a[r]?v:void 0;try{return n.error===void 0&&P0(E,D,o),M}catch(y){return n.error=y,M}},I0=(t,e,r,n)=>{try{return zr(t,e,r,!1)}catch(o){return n.error=o,t}},R0=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:o,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:dt(t)};let i=Os(t,r);return n[s]?{serializedResult:i,finalResult:Io(i,!o[s],e)}:{serializedResult:i}},M0=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:o,stdioItems:s,objectMode:i})=>{if(!qr({stdioItems:s,encoding:o,verboseInfo:n,fdNumber:e}))return;let a=Io(t,!1,i);try{dl(a,e,n)}catch(u){r.error??=u}},P0=(t,e,r)=>{for(let{path:n,append:o}of e.filter(({type:s})=>Ur.has(s))){let s=typeof n=="string"?n:n.toString();o||r.has(s)?$0(n,t):(r.add(s),v0(n,t))}};var fl=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,he(e,r,"all")]:Array.isArray(e)?[he(t,r,"all"),...e]:R(t)&&R(e)?Un([t,e]):`${t}${e}`};import{once as Lo}from"events";var Dl=async(t,e)=>{let[r,n]=await L0(t);return e.isForcefullyTerminated??=!1,[r,n]},L0=async t=>{let[e,r]=await Promise.allSettled([Lo(t,"spawn"),Lo(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?hl(t):r.value},hl=async t=>{try{return await Lo(t,"exit")}catch{return hl(t)}},gl=async t=>{let[e,r]=await t;if(!k0(e,r)&&ko(e,r))throw new Z;return[e,r]},k0=(t,e)=>t===void 0&&e===void 0,ko=(t,e)=>t!==0||e!==null;var bl=({error:t,status:e,signal:r,output:n},{maxBuffer:o})=>{let s=j0(t,e,r),i=s?.code==="ETIMEDOUT",a=pc(s,n,o);return{resultError:s,exitCode:e,signal:r,timedOut:i,isMaxBuffer:a}},j0=(t,e,r)=>t!==void 0?t:ko(e,r)?new Z:void 0;var Cl=(t,e,r)=>{let{file:n,commandArguments:o,command:s,escapedCommand:i,startTime:a,verboseInfo:u,options:c,fileDescriptors:l}=U0(t,e,r),d=G0({file:n,commandArguments:o,options:c,command:s,escapedCommand:i,verboseInfo:u,fileDescriptors:l,startTime:a});return Ze(d,u,c)},U0=(t,e,r)=>{let{command:n,escapedCommand:o,startTime:s,verboseInfo:i}=ar(t,e,r),a=W0(r),{file:u,commandArguments:c,options:l}=Or(t,e,a);V0(l);let d=Kc(l,i);return{file:u,commandArguments:c,command:n,escapedCommand:o,startTime:s,verboseInfo:i,options:l,fileDescriptors:d}},W0=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,V0=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Yr("ipcInput"),t&&Yr("ipc: true"),r&&Yr("detached: true"),n&&Yr("cancelSignal")},Yr=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},G0=({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,verboseInfo:s,fileDescriptors:i,startTime:a})=>{let u=H0({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,fileDescriptors:i,startTime:a});if(u.failed)return u;let{resultError:c,exitCode:l,signal:d,timedOut:m,isMaxBuffer:p}=bl(u,r),{output:D,error:b=c}=pl({fileDescriptors:i,syncResult:u,options:r,isMaxBuffer:p,verboseInfo:s}),S=D.map((v,M)=>he(v,r,M)),E=he(fl(D,r),r,"all");return q0({error:b,exitCode:l,signal:d,timedOut:m,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:o,startTime:a})},H0=({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,fileDescriptors:s,startTime:i})=>{try{cl(s,r);let a=z0(r);return N0(...Tr(t,e,a))}catch(a){return Xe({error:a,command:n,escapedCommand:o,fileDescriptors:s,options:r,startTime:i,isSync:!0})}},z0=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Lr(e)}),q0=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:o,stdio:s,all:i,options:a,command:u,escapedCommand:c,startTime:l})=>t===void 0?kr({command:u,escapedCommand:c,stdio:s,all:i,ipcOutput:[],options:a,startTime:l}):Et({error:t,command:u,escapedCommand:c,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:o,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:i,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as RC}from"events";import{spawn as MC}from"child_process";import Fl from"process";import{once as jo,on as Y0}from"events";var El=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:o=!0,filter:s}={})=>(ze({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:xr(t)}),K0({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:o})),K0=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:o})=>{br(e,o);let s=Fe(t,e,r),i=new AbortController;try{return await Promise.race([J0(s,n,i),X0(s,r,i),Z0(s,r,i)])}catch(a){throw qe(t),a}finally{i.abort(),Cr(e,o)}},J0=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await jo(t,"message",{signal:r});return n}for await(let[n]of Y0(t,"message",{signal:r}))if(e(n))return n},X0=async(t,e,{signal:r})=>{await jo(t,"disconnect",{signal:r}),su(e)},Z0=async(t,e,{signal:r})=>{let[n]=await jo(t,"strict:error",{signal:r});throw Dr(n,e)};import{once as xl,on as Q0}from"events";var wl=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:o=!0}={})=>No({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:o}),No=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:o,reference:s})=>{ze({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:xr(t)}),br(e,s);let i=Fe(t,e,r),a=new AbortController,u={};return eb(t,i,a),tb({ipcEmitter:i,isSubprocess:r,controller:a,state:u}),rb({anyProcess:t,channel:e,ipcEmitter:i,isSubprocess:r,shouldAwait:o,controller:a,state:u,reference:s})},eb=async(t,e,r)=>{try{await xl(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},tb=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[o]=await xl(t,"strict:error",{signal:r.signal});n.error=Dr(o,e),r.abort()}catch{}},rb=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:o,controller:s,state:i,reference:a}){try{for await(let[u]of Q0(r,"message",{signal:s.signal}))yl(i),yield u}catch{yl(i)}finally{s.abort(),Cr(e,a),n||qe(t),o&&await t}},yl=({error:t})=>{if(t)throw t};var Sl=(t,{ipc:e})=>{Object.assign(t,_l(t,!1,e))},Al=()=>{let t=Fl,e=!0,r=Fl.channel!==void 0;return{..._l(t,e,r),getCancelSignal:Iu.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},_l=(t,e,r)=>({sendMessage:Ar.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:El.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:wl.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as nb}from"child_process";import{PassThrough as ob,Readable as ib,Writable as sb,Duplex as ab}from"stream";var Ol=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,verboseInfo:i})=>{vo(n);let a=new nb;ub(a,n),Object.assign(a,{readable:cb,writable:lb,duplex:db});let u=Xe({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,isSync:!1}),c=mb(u,i,o);return{subprocess:a,promise:c}},ub=(t,e)=>{let r=xt(),n=xt(),o=xt(),s=Array.from({length:e.length-3},xt),i=xt(),a=[r,n,o,...s];Object.assign(t,{stdin:r,stdout:n,stderr:o,all:i,stdio:a})},xt=()=>{let t=new ob;return t.end(),t},cb=()=>new ib({read(){}}),lb=()=>new sb({write(){}}),db=()=>new ab({read(){},write(){}}),mb=async(t,e,r)=>Ze(t,e,r);import{createReadStream as Tl,createWriteStream as vl}from"fs";import{Buffer as pb}from"buffer";import{Readable as wt,Writable as fb,Duplex as Db}from"stream";var Bl=(t,e)=>Wr(hb,t,e,!1),Ft=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Se[t]}.`)},$l={fileNumber:Ft,generator:Po,asyncGenerator:Po,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Db.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},hb={input:{...$l,fileUrl:({value:t})=>({stream:Tl(t)}),filePath:({value:{file:t}})=>({stream:Tl(t)}),webStream:({value:t})=>({stream:wt.fromWeb(t)}),iterable:({value:t})=>({stream:wt.from(t)}),asyncIterable:({value:t})=>({stream:wt.from(t)}),string:({value:t})=>({stream:wt.from(t)}),uint8Array:({value:t})=>({stream:wt.from(pb.from(t))})},output:{...$l,fileUrl:({value:t})=>({stream:vl(t)}),filePath:({value:{file:t,append:e}})=>({stream:vl(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:fb.fromWeb(t)}),iterable:Ft,asyncIterable:Ft,string:Ft,uint8Array:Ft}};import{on as gb,once as Il}from"events";import{PassThrough as bb,getDefaultHighWaterMark as Cb}from"stream";import{finished as Pl}from"stream/promises";function Me(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let o of t)Wo(o);let e=t.some(({readableObjectMode:o})=>o),r=Eb(t,e),n=new Uo({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let o of t)n.add(o);return n}var Eb=(t,e)=>{if(t.length===0)return Cb(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Uo=class extends bb{#t=new Set([]);#r=new Set([]);#e=new Set([]);#n;#i=Symbol("unpipe");#o=new WeakMap;add(e){if(Wo(e),this.#t.has(e))return;this.#t.add(e),this.#n??=yb(this,this.#t,this.#i);let r=Fb({passThroughStream:this,stream:e,streams:this.#t,ended:this.#r,aborted:this.#e,onFinished:this.#n,unpipeEvent:this.#i});this.#o.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(Wo(e),!this.#t.has(e))return!1;let r=this.#o.get(e);return r===void 0?!1:(this.#o.delete(e),e.unpipe(this),await r,!0)}},yb=async(t,e,r)=>{Kr(t,Rl);let n=new AbortController;try{await Promise.race([xb(t,n),wb(t,e,r,n)])}finally{n.abort(),Kr(t,-Rl)}},xb=async(t,{signal:e})=>{try{await Pl(t,{signal:e,cleanup:!0})}catch(r){throw Ll(t,r),r}},wb=async(t,e,r,{signal:n})=>{for await(let[o]of gb(t,"unpipe",{signal:n}))e.has(o)&&o.emit(r)},Wo=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Fb=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,onFinished:s,unpipeEvent:i})=>{Kr(t,Ml);let a=new AbortController;try{await Promise.race([Sb(s,e,a),Ab({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,controller:a}),_b({stream:e,streams:r,ended:n,aborted:o,unpipeEvent:i,controller:a})])}finally{a.abort(),Kr(t,-Ml)}r.size>0&&r.size===n.size+o.size&&(n.size===0&&o.size>0?Vo(t):Ob(t))},Sb=async(t,e,{signal:r})=>{try{await t,r.aborted||Vo(e)}catch(n){r.aborted||Ll(e,n)}},Ab=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,controller:{signal:s}})=>{try{await Pl(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(i){if(s.aborted||!r.has(e))return;kl(i)?o.add(e):jl(t,i)}},_b=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:o,controller:{signal:s}})=>{if(await Il(t,o,{signal:s}),!t.readable)return Il(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Ob=t=>{t.writable&&t.end()},Ll=(t,e)=>{kl(e)?Vo(t):jl(t,e)},kl=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Vo=t=>{(t.readable||t.writable)&&t.destroy()},jl=(t,e)=>{t.destroyed||(t.once("error",Tb),t.destroy(e))},Tb=()=>{},Kr=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Rl=2,Ml=1;import{finished as Nl}from"stream/promises";var et=(t,e)=>{t.pipe(e),vb(t,e),$b(t,e)},vb=async(t,e)=>{if(!(X(t)||X(e))){try{await Nl(t,{cleanup:!0,readable:!0,writable:!1})}catch{}Go(e)}},Go=t=>{t.writable&&t.end()},$b=async(t,e)=>{if(!(X(t)||X(e))){try{await Nl(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Ho(t)}},Ho=t=>{t.readable&&t.destroy()};var Ul=(t,e,r)=>{let n=new Map;for(let[o,{stdioItems:s,direction:i}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:u})=>Y.has(u)))Bb(t,a,i,o);for(let{stream:a}of s.filter(({type:u})=>!Y.has(u)))Rb({subprocess:t,stream:a,direction:i,fdNumber:o,pipeGroups:n,controller:r})}for(let[o,s]of n.entries()){let i=s.length===1?s[0]:Me(s);et(i,o)}},Bb=(t,e,r,n)=>{r==="output"?et(t.stdio[n],e):et(e,t.stdio[n]);let o=Ib[n];o!==void 0&&(t[o]=e),t.stdio[n]=e},Ib=["stdin","stdout","stderr"],Rb=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:o,controller:s})=>{if(e===void 0)return;Mb(e,s);let[i,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],u=o.get(i)??[];o.set(i,[...u,a])},Mb=(t,{signal:e})=>{X(t)&&$e(t,Pb,e)},Pb=2;import{addAbortListener as jb}from"events";var Pe=[];Pe.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Pe.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Pe.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Jr=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",zo=Symbol.for("signal-exit emitter"),qo=globalThis,Lb=Object.defineProperty.bind(Object),Yo=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(qo[zo])return qo[zo];Lb(qo,zo,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],o=n.indexOf(r);o!==-1&&(o===0&&n.length===1?n.length=0:n.splice(o,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let o=!1;for(let s of this.listeners[e])o=s(r,n)===!0||o;return e==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},Xr=class{},kb=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),Ko=class extends Xr{onExit(){return()=>{}}load(){}unload(){}},Jo=class extends Xr{#t=Xo.platform==="win32"?"SIGINT":"SIGHUP";#r=new Yo;#e;#n;#i;#o={};#s=!1;constructor(e){super(),this.#e=e,this.#o={};for(let r of Pe)this.#o[r]=()=>{let n=this.#e.listeners(r),{count:o}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(o+=s.__signal_exit_emitter__.count),n.length===o){this.unload();let i=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#t:r;i||e.kill(e.pid,a)}};this.#i=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Jr(this.#e))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of Pe)try{let r=this.#o[e];r&&this.#e.on(e,r)}catch{}this.#e.emit=(e,...r)=>this.#u(e,...r),this.#e.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,Pe.forEach(e=>{let r=this.#o[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#e.removeListener(e,r)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=this.#i,this.#r.count-=1)}#a(e){return Jr(this.#e)?(this.#e.exitCode=e||0,this.#r.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#u(e,...r){let n=this.#n;if(e==="exit"&&Jr(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let o=n.call(this.#e,e,...r);return this.#r.emit("exit",this.#e.exitCode,null),o}else return n.call(this.#e,e,...r)}},Xo=globalThis.process,{onExit:Wl,load:ZA,unload:QA}=kb(Jr(Xo)?new Jo(Xo):new Ko);var Vl=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let o=Wl(()=>{t.kill()});jb(n,()=>{o()})};var Hl=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...o)=>{let s=sr(),{destination:i,destinationStream:a,destinationError:u,from:c,unpipeSignal:l}=Nb(r,n,o),{sourceStream:d,sourceError:m}=Wb(t,c),{options:p,fileDescriptors:D}=oe.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:m,destination:i,destinationStream:a,destinationError:u,unpipeSignal:l,fileDescriptors:D,startTime:s}},Nb=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:o,to:s,unpipeSignal:i}={}}=Ub(t,e,...r),a=gr(n,s);return{destination:n,destinationStream:a,from:o,unpipeSignal:i}}catch(n){return{destinationError:n}}},Ub=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Gl,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||jn(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[o,s,i]=Jt(r,...n);return{destination:e(Gl)(o,s,i),pipeOptions:i}}if(oe.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},Gl=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Wb=(t,e)=>{try{return{sourceStream:Ye(t,e)}}catch(r){return{sourceError:r}}};var ql=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:o,sourceOptions:s,startTime:i})=>{let a=Vb({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Zo({error:a,fileDescriptors:o,sourceOptions:s,startTime:i})},Vb=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Ho(t),n;if(e!==void 0)return Go(r),e},Zo=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Xe({error:t,command:zl,escapedCommand:zl,fileDescriptors:e,options:r,startTime:n,isSync:!1}),zl="source.pipe(destination)";var Yl=async t=>{let[{status:e,reason:r,value:n=r},{status:o,reason:s,value:i=s}]=await t;if(i.pipedFrom.includes(n)||i.pipedFrom.push(n),o==="rejected")throw i;if(e==="rejected")throw n;return i};import{finished as Gb}from"stream/promises";var Kl=(t,e,r)=>{let n=Zr.has(e)?zb(t,e):Hb(t,e);return $e(t,Yb,r.signal),$e(e,Kb,r.signal),qb(e),n},Hb=(t,e)=>{let r=Me([t]);return et(r,e),Zr.set(e,r),r},zb=(t,e)=>{let r=Zr.get(e);return r.add(t),r},qb=async t=>{try{await Gb(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Zr.delete(t)},Zr=new WeakMap,Yb=2,Kb=1;import{aborted as Jb}from"util";var Jl=(t,e)=>t===void 0?[]:[Xb(t,e)],Xb=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:o,startTime:s})=>{await Jb(t,e),await r.remove(e);let i=new Error("Pipe canceled by `unpipeSignal` option.");throw Zo({error:i,fileDescriptors:n,sourceOptions:o,startTime:s})};var Qr=(t,...e)=>{if(T(e[0]))return Qr.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Hl(t,...e),o=Zb({...n,destination:r});return o.pipe=Qr.bind(void 0,{...t,source:r,sourcePromise:o,boundOptions:{}}),o},Zb=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:o,destinationStream:s,destinationError:i,unpipeSignal:a,fileDescriptors:u,startTime:c})=>{let l=Qb(t,o);ql({sourceStream:e,sourceError:n,destinationStream:s,destinationError:i,fileDescriptors:u,sourceOptions:r,startTime:c});let d=new AbortController;try{let m=Kl(e,s,d);return await Promise.race([Yl(l),...Jl(a,{sourceStream:e,mergedStream:m,sourceOptions:r,fileDescriptors:u,startTime:c})])}finally{d.abort()}},Qb=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as sC}from"timers/promises";import{on as eC}from"events";import{getDefaultHighWaterMark as tC}from"stream";var en=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:o,preserveNewlines:s})=>{let i=new AbortController;return rC(e,i),Zl({stream:t,controller:i,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:o,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},rC=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Qo=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:o,allMixed:s})=>{let i=new AbortController;nC(e,i,t);let a=t.readableObjectMode&&!s;return Zl({stream:t,controller:i,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!o})},nC=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Zl=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i})=>{let a=eC(t,"data",{signal:e.signal,highWaterMark:Xl,highWatermark:Xl});return oC({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i})},ei=tC(!0),Xl=ei,oC=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i}){let a=iC({binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i});try{for await(let[u]of t)yield*Re(u,a,0)}catch(u){if(!e.signal.aborted)throw u}finally{yield*yt(a)}},iC=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:o})=>[Gr(t,r,!e),Vr(t,o,!n,{})].filter(Boolean);var Ql=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:o,maxBuffer:s,lines:i,allMixed:a,stripFinalNewline:u,verboseInfo:c,streamInfo:l})=>{let d=aC({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:c,streamInfo:l});if(!o){await Promise.all([uC(t),d]);return}let m=$o(u,r),p=Qo({stream:t,onStreamEnd:e,lines:i,encoding:n,stripFinalNewline:m,allMixed:a}),[D]=await Promise.all([cC({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:i}),d]);return D},aC=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:o,verboseInfo:s,streamInfo:{fileDescriptors:i}})=>{if(!qr({stdioItems:i[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=Qo({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:o});await ll(a,t,r,s)},uC=async t=>{await sC(),t.readableFlowing===null&&t.resume()},cC=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:o,maxBuffer:s,lines:i})=>{try{return e||i?await Ir(r,{maxBuffer:s}):o==="buffer"?new Uint8Array(await Rr(r,{maxBuffer:s})):await Pr(r,{maxBuffer:s})}catch(a){return ed(lc({error:a,stream:t,readableObjectMode:e,lines:i,encoding:o,fdNumber:n}))}},ti=async t=>{try{return await t}catch(e){return ed(e)}},ed=({bufferedData:t})=>As(t)?new Uint8Array(t):t;import{finished as lC}from"stream/promises";var St=async(t,e,r,{isSameDirection:n,stopOnExit:o=!1}={})=>{let s=dC(t,r),i=new AbortController;try{await Promise.race([...o?[r.exitPromise]:[],lC(t,{cleanup:!0,signal:i.signal})])}catch(a){s.stdinCleanedUp||fC(a,e,r,n)}finally{i.abort()}},dC=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&mC(t,r,n),n},mC=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...o)=>{pC(e,r),n.call(t,...o)}},pC=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},fC=(t,e,r,n)=>{if(!DC(t,e,r,n))throw t},DC=(t,e,r,n=!0)=>r.propagating?td(t)||tn(t):(r.propagating=!0,ri(r,e)===n?td(t):tn(t)),ri=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",tn=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",td=t=>t?.code==="EPIPE";var rd=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:s,verboseInfo:i,streamInfo:a})=>t.stdio.map((u,c)=>ni({stream:u,fdNumber:c,encoding:e,buffer:r[c],maxBuffer:n[c],lines:o[c],allMixed:!1,stripFinalNewline:s,verboseInfo:i,streamInfo:a})),ni=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:o,lines:s,allMixed:i,stripFinalNewline:a,verboseInfo:u,streamInfo:c})=>{if(!t)return;let l=St(t,e,c);if(ri(c,e)){await l;return}let[d]=await Promise.all([Ql({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:o,lines:s,allMixed:i,stripFinalNewline:a,verboseInfo:u,streamInfo:c}),l]);return d};var nd=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Me([t,e].filter(Boolean)):void 0,od=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:s,verboseInfo:i,streamInfo:a})=>ni({...hC(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:o[1]||o[2],allMixed:gC(t),stripFinalNewline:s,verboseInfo:i,streamInfo:a}),hC=({stdout:t,stderr:e,all:r},[,n,o])=>{let s=n||o;return s?n?o?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},gC=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as bC}from"events";var id=t=>Ve(t,"ipc"),sd=(t,e)=>{let r=ir(t);re({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var ad=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:o,verboseInfo:s})=>{if(!n)return o;let i=id(s),a=fe(e,"ipc"),u=fe(r,"ipc");for await(let c of No({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(dc(t,o,u),o.push(c)),i&&sd(c,s);return o},ud=async(t,e)=>(await Promise.allSettled([t]),e);var cd=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:o,timeoutDuration:s,cancelSignal:i,gracefulCancel:a,forceKillAfterDelay:u,stripFinalNewline:c,ipc:l,ipcInput:d},context:m,verboseInfo:p,fileDescriptors:D,originalStreams:b,onInternalError:S,controller:E})=>{let v=Dl(t,m),M={originalStreams:b,fileDescriptors:D,subprocess:t,exitPromise:v,propagating:!1},y=rd({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:c,verboseInfo:p,streamInfo:M}),_=od({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:c,verboseInfo:p,streamInfo:M}),B=[],k=ad({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:B,verboseInfo:p}),be=CC(b,t,M),Ce=EC(D,M);try{return await Promise.race([Promise.all([{},gl(v),Promise.all(y),_,k,Vu(t,d),...be,...Ce]),S,yC(t,E),...ku(t,s,m,E),...iu({subprocess:t,cancelSignal:i,gracefulCancel:a,context:m,controller:E}),...Pu({subprocess:t,cancelSignal:i,gracefulCancel:a,forceKillAfterDelay:u,context:m,controller:E})])}catch(un){return m.terminationReason??="other",Promise.all([{error:un},v,Promise.all(y.map(st=>ti(st))),ti(_),ud(k,B),Promise.allSettled(be),Promise.allSettled(Ce)])}},CC=(t,e,r)=>t.map((n,o)=>n===e.stdio[o]?void 0:St(n,o,r)),EC=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:o,stream:s=o})=>ee(s,{checkOpen:!1})&&!X(s)).map(({type:o,value:s,stream:i=s})=>St(i,n,e,{isSameDirection:Y.has(o),stopOnExit:o==="native"}))),yC=async(t,{signal:e})=>{let[r]=await bC(t,"error",{signal:e});throw r};var ld=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),At=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let o=n.get(e),s=ne();return o.push(s),{resolve:s.resolve.bind(s),promises:o}},tt=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as xC}from"stream";import{callbackify as wC}from"util";import{finished as dd}from"stream/promises";var oi=async t=>{if(t!==void 0)try{await ii(t)}catch{}},md=async t=>{if(t!==void 0)try{await si(t)}catch{}},ii=async t=>{await dd(t,{cleanup:!0,readable:!1,writable:!0})},si=async t=>{await dd(t,{cleanup:!0,readable:!0,writable:!1})},rn=async(t,e)=>{if(await t,e)throw e},nn=(t,e,r)=>{r&&!tn(r)?t.destroy(r):e&&t.destroy()};var pd=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:o=!0,preserveNewlines:s=!0}={})=>{let i=o||G.has(r),{subprocessStdout:a,waitReadableDestroy:u}=ai(t,n,e),{readableEncoding:c,readableObjectMode:l,readableHighWaterMark:d}=ui(a,i),{read:m,onStdoutDataDone:p}=ci({subprocessStdout:a,subprocess:t,binary:i,encoding:r,preserveNewlines:s}),D=new xC({read:m,destroy:wC(di.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:u})),highWaterMark:d,objectMode:l,encoding:c});return li({subprocessStdout:a,onStdoutDataDone:p,readable:D,subprocess:t}),D},ai=(t,e,r)=>{let n=Ye(t,e),o=At(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:o}},ui=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:ei},ci=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:o})=>{let s=ne(),i=en({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:o});return{read(){FC(this,i,s)},onStdoutDataDone:s}},FC=async(t,e,r)=>{try{let{value:n,done:o}=await e.next();o?r.resolve():t.push(n)}catch{}},li=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:o})=>{try{await si(t),await n,await oi(o),await e,r.readable&&r.push(null)}catch(s){await oi(o),fd(r,s)}},di=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await tt(r,e)&&(fd(t,n),await rn(e,n))},fd=(t,e)=>{nn(t,t.readable,e)};import{Writable as SC}from"stream";import{callbackify as Dd}from"util";var hd=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:s}=mi(t,r,e),i=new SC({...pi(n,t,o),destroy:Dd(Di.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:o,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return fi(n,i),i},mi=(t,e,r)=>{let n=gr(t,e),o=At(r,n,"writableFinal"),s=At(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:s}},pi=(t,e,r)=>({write:AC.bind(void 0,t),final:Dd(_C.bind(void 0,t,e,r))}),AC=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},_C=async(t,e,r)=>{await tt(r,e)&&(t.writable&&t.end(),await e)},fi=async(t,e,r)=>{try{await ii(t),e.writable&&e.end()}catch(n){await md(r),gd(e,n)}},Di=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},o)=>{await tt(r,e),await tt(n,e)&&(gd(t,o),await rn(e,o))},gd=(t,e)=>{nn(t,t.writable,e)};import{Duplex as OC}from"stream";import{callbackify as TC}from"util";var bd=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:o,binary:s=!0,preserveNewlines:i=!0}={})=>{let a=s||G.has(r),{subprocessStdout:u,waitReadableDestroy:c}=ai(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:m}=mi(t,o,e),{readableEncoding:p,readableObjectMode:D,readableHighWaterMark:b}=ui(u,a),{read:S,onStdoutDataDone:E}=ci({subprocessStdout:u,subprocess:t,binary:a,encoding:r,preserveNewlines:i}),v=new OC({read:S,...pi(l,t,d),destroy:TC(vC.bind(void 0,{subprocessStdout:u,subprocessStdin:l,subprocess:t,waitReadableDestroy:c,waitWritableFinal:d,waitWritableDestroy:m})),readableHighWaterMark:b,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:D,writableObjectMode:l.writableObjectMode,encoding:p});return li({subprocessStdout:u,onStdoutDataDone:E,readable:v,subprocess:t,subprocessStdin:l}),fi(l,v,u),v},vC=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:o,waitWritableDestroy:s},i)=>{await Promise.all([di({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},i),Di({subprocessStdin:e,subprocess:r,waitWritableFinal:o,waitWritableDestroy:s},i)])};var hi=(t,e,{from:r,binary:n=!1,preserveNewlines:o=!1}={})=>{let s=n||G.has(e),i=Ye(t,r),a=en({subprocessStdout:i,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:o});return $C(a,i,t)},$C=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Cd=(t,{encoding:e})=>{let r=ld();t.readable=pd.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=hd.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=bd.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=hi.bind(void 0,t,e),t[Symbol.asyncIterator]=hi.bind(void 0,t,e,{})};var Ed=(t,e)=>{for(let[r,n]of IC){let o=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:o})}},BC=(async()=>{})().constructor.prototype,IC=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(BC,t)]);var yd=(t,e,r,n)=>{let{file:o,commandArguments:s,command:i,escapedCommand:a,startTime:u,verboseInfo:c,options:l,fileDescriptors:d}=PC(t,e,r),{subprocess:m,promise:p}=kC({file:o,commandArguments:s,options:l,startTime:u,verboseInfo:c,command:i,escapedCommand:a,fileDescriptors:d});return m.pipe=Qr.bind(void 0,{source:m,sourcePromise:p,boundOptions:{},createNested:n}),Ed(m,p),oe.set(m,{options:l,fileDescriptors:d}),m},PC=(t,e,r)=>{let{command:n,escapedCommand:o,startTime:s,verboseInfo:i}=ar(t,e,r),{file:a,commandArguments:u,options:c}=Or(t,e,r),l=LC(c),d=Bl(l,i);return{file:a,commandArguments:u,command:n,escapedCommand:o,startTime:s,verboseInfo:i,options:l,fileDescriptors:d}},LC=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},kC=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:o,command:s,escapedCommand:i,fileDescriptors:a})=>{let u;try{u=MC(...Tr(t,e,r))}catch(D){return Ol({error:D,command:s,escapedCommand:i,fileDescriptors:a,options:r,startTime:n,verboseInfo:o})}let c=new AbortController;RC(Number.POSITIVE_INFINITY,c.signal);let l=[...u.stdio];Ul(u,a,c),Vl(u,r,c);let d={},m=ne();u.kill=nu.bind(void 0,{kill:u.kill.bind(u),options:r,onInternalError:m,context:d,controller:c}),u.all=nd(u,r),Cd(u,r),Sl(u,r);let p=jC({subprocess:u,options:r,startTime:n,verboseInfo:o,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:i,context:d,onInternalError:m,controller:c});return{subprocess:u,promise:p}},jC=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:o,originalStreams:s,command:i,escapedCommand:a,context:u,onInternalError:c,controller:l})=>{let[d,[m,p],D,b,S]=await cd({subprocess:t,options:e,context:u,verboseInfo:n,fileDescriptors:o,originalStreams:s,onInternalError:c,controller:l});l.abort(),c.resolve();let E=D.map((y,_)=>he(y,e,_)),v=he(b,e,"all"),M=NC({errorInfo:d,exitCode:m,signal:p,stdio:E,all:v,ipcOutput:S,context:u,options:e,command:i,escapedCommand:a,startTime:r});return Ze(M,n,e)},NC=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:o,ipcOutput:s,context:i,options:a,command:u,escapedCommand:c,startTime:l})=>"error"in t?Et({error:t.error,command:u,escapedCommand:c,timedOut:i.terminationReason==="timeout",isCanceled:i.terminationReason==="cancel"||i.terminationReason==="gracefulCancel",isGracefullyCanceled:i.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof ie,isForcefullyTerminated:i.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:o,ipcOutput:s,options:a,startTime:l,isSync:!1}):kr({command:u,escapedCommand:c,stdio:n,all:o,ipcOutput:s,options:a,startTime:l});var on=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,o])=>[n,UC(n,t[n],o)]));return{...t,...r}},UC=(t,e,r)=>WC.has(t)&&T(e)&&T(r)?{...e,...r}:r,WC=new Set(["env",...Hn]);var Ae=(t,e,r,n)=>{let o=(i,a,u)=>Ae(i,a,r,u),s=(...i)=>VC({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:o},...i);return n!==void 0&&n(s,o,e),s},VC=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:o},s,...i)=>{if(T(s))return o(t,on(r,s),n);let{file:a,commandArguments:u,options:c,isSync:l}=GC({mapArguments:t,firstArgument:s,nextArguments:i,deepOptions:e,boundOptions:r});return l?Cl(a,u,c):yd(a,u,c,o)},GC=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:o})=>{let s=Bs(e)?Is(e,r):[e,...r],[i,a,u]=Jt(...s),c=on(on(n,o),u),{file:l=i,commandArguments:d=a,options:m=c,isSync:p=!1}=t({file:i,commandArguments:a,options:c});return{file:l,commandArguments:d,options:m,isSync:p}};var xd=({file:t,commandArguments:e})=>Fd(t,e),wd=({file:t,commandArguments:e})=>({...Fd(t,e),isSync:!0}),Fd=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=HC(t);return{file:r,commandArguments:n}},HC=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split(zC)){let o=r.at(-1);o&&o.endsWith("\\")?r[r.length-1]=`${o.slice(0,-1)} ${n}`:r.push(n)}return r},zC=/ +/g;var Sd=(t,e,r)=>{t.sync=e(qC,r),t.s=t.sync},Ad=({options:t})=>_d(t),qC=({options:t})=>({..._d(t),isSync:!0}),_d=t=>({options:{...YC(t),...t}}),YC=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Od={preferLocal:!0};var _t=Ae(()=>({})),WO=Ae(()=>({isSync:!0})),sn=Ae(xd),VO=Ae(wd),GO=Ae(Nu),HO=Ae(Ad,{},Od,Sd),{sendMessage:zO,getOneMessage:qO,getEachMessage:YO,getCancelSignal:KO}=Al();async function H(t,e,r){return _t("docker",["compose",...t],{cwd:e,...r})}async function j(t,e,r){let n=["compose","exec","-T"];if(r)for(let[s,i]of Object.entries(r))n.push("-e",`${s}=${i}`);n.push("web","bin/rails",t);let{stdout:o}=await _t("docker",n,{cwd:e});return o.split(`
127
+ if (condition) { yield value; }`)};import{Buffer as p0}from"buffer";import{StringDecoder as f0}from"string_decoder";var Gr=(t,e,r)=>{if(r)return;if(t)return{transform:D0.bind(void 0,new TextEncoder)};let n=new f0(e);return{transform:h0.bind(void 0,n),final:g0.bind(void 0,n)}},D0=function*(t,e){p0.isBuffer(e)?yield pe(e):typeof e=="string"?yield t.encode(e):yield e},h0=function*(t,e){yield R(e)?t.write(e):e},g0=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as nl}from"util";var Ro=nl(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let o of e.currentIterable)n.push(o)}finally{delete e.currentIterable}}),Hr=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=C0}=e[r];for await(let o of n(t))yield*Hr(o,e,r+1)},ol=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*b0(r,Number(e),t)},b0=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Hr(n,r,e+1)},il=nl(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),C0=function*(t){yield t};var Mo=(t,e,r,n)=>{try{for(let o of t(...e))r.push(o);n()}catch(o){n(o)}},sl=(t,e)=>[...e.flatMap(r=>[...Re(r,t,0)]),...yt(t)],Re=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=y0}=e[r];for(let o of n(t))yield*Re(o,e,r+1)},yt=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*E0(r,Number(e),t)},E0=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Re(n,r,e+1)},y0=function*(t){yield t};var Po=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:o},optionName:s},{encoding:i})=>{let a={},u=ul(t,i,s),c=Ie(e),l=Ie(r),d=c?Ro.bind(void 0,Hr,a):Mo.bind(void 0,Re),m=c||l?Ro.bind(void 0,ol,a):Mo.bind(void 0,yt),p=c||l?il.bind(void 0,a):void 0;return{stream:new x0({writableObjectMode:n,writableHighWaterMark:al(n),readableObjectMode:o,readableHighWaterMark:al(o),transform(b,S,E){d([b,u,0],this,E)},flush(b){m([u],this,b)},destroy:p})}},zr=(t,e,r,n)=>{let o=e.filter(({type:i})=>i==="generator"),s=n?o.reverse():o;for(let{value:i,optionName:a}of s){let u=ul(i,r,a);t=sl(u,t)}return t},ul=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:o,preserveNewlines:s},i,a)=>{let u={};return[{transform:el(n,a)},Gr(r,i,n),Vr(r,s,n,u),{transform:t,final:e},{transform:tl(o,a)},Qc({binary:r,preserveNewlines:s,readableObjectMode:o,state:u})].filter(Boolean)};var cl=(t,e)=>{for(let r of w0(t))F0(t,r,e)},w0=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),F0=(t,e,r)=>{let{stdioItems:n}=t[e],o=n.filter(({contents:a})=>a!==void 0);if(o.length===0)return;if(e!==0){let[{type:a,optionName:u}]=o;throw new TypeError(`Only the \`stdin\` option, not \`${u}\`, can be ${Se[a]} with synchronous methods.`)}let i=o.map(({contents:a})=>a).map(a=>S0(a,n));r.input=dt(i)},S0=(t,e)=>{let r=zr(t,e,"utf8",!0);return A0(r),dt(r)},A0=t=>{let e=t.find(r=>typeof r!="string"&&!R(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as v0,appendFileSync as $0}from"fs";var qr=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ve(r,n)&&!G.has(e)&&_0(n)&&(t.some(({type:o,value:s})=>o==="native"&&O0.has(s))||t.every(({type:o})=>Y.has(o))),_0=t=>t===1||t===2,O0=new Set(["pipe","overlapped"]),ll=async(t,e,r,n)=>{for await(let o of t)T0(e)||ml(o,r,n)},dl=(t,e,r)=>{for(let n of t)ml(n,e,r)},T0=t=>t._readableState.pipes.length>0,ml=(t,e,r)=>{let n=ir(t);re({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var pl=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:o})=>{if(e===null)return{output:Array.from({length:3})};let s={},i=new Set([]);return{output:e.map((u,c)=>B0({result:u,fileDescriptors:t,fdNumber:c,state:s,outputFiles:i,isMaxBuffer:n,verboseInfo:o},r)),...s}},B0=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:o,isMaxBuffer:s,verboseInfo:i},{buffer:a,encoding:u,lines:c,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let m=fc(t,s,d),p=pe(m),{stdioItems:D,objectMode:b}=e[r],S=I0([p],D,u,n),{serializedResult:E,finalResult:v=E}=R0({chunks:S,objectMode:b,encoding:u,lines:c,stripFinalNewline:l,fdNumber:r});M0({serializedResult:E,fdNumber:r,state:n,verboseInfo:i,encoding:u,stdioItems:D,objectMode:b});let M=a[r]?v:void 0;try{return n.error===void 0&&P0(E,D,o),M}catch(y){return n.error=y,M}},I0=(t,e,r,n)=>{try{return zr(t,e,r,!1)}catch(o){return n.error=o,t}},R0=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:o,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:dt(t)};let i=Os(t,r);return n[s]?{serializedResult:i,finalResult:Io(i,!o[s],e)}:{serializedResult:i}},M0=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:o,stdioItems:s,objectMode:i})=>{if(!qr({stdioItems:s,encoding:o,verboseInfo:n,fdNumber:e}))return;let a=Io(t,!1,i);try{dl(a,e,n)}catch(u){r.error??=u}},P0=(t,e,r)=>{for(let{path:n,append:o}of e.filter(({type:s})=>Ur.has(s))){let s=typeof n=="string"?n:n.toString();o||r.has(s)?$0(n,t):(r.add(s),v0(n,t))}};var fl=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,he(e,r,"all")]:Array.isArray(e)?[he(t,r,"all"),...e]:R(t)&&R(e)?Un([t,e]):`${t}${e}`};import{once as Lo}from"events";var Dl=async(t,e)=>{let[r,n]=await L0(t);return e.isForcefullyTerminated??=!1,[r,n]},L0=async t=>{let[e,r]=await Promise.allSettled([Lo(t,"spawn"),Lo(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?hl(t):r.value},hl=async t=>{try{return await Lo(t,"exit")}catch{return hl(t)}},gl=async t=>{let[e,r]=await t;if(!k0(e,r)&&ko(e,r))throw new Z;return[e,r]},k0=(t,e)=>t===void 0&&e===void 0,ko=(t,e)=>t!==0||e!==null;var bl=({error:t,status:e,signal:r,output:n},{maxBuffer:o})=>{let s=j0(t,e,r),i=s?.code==="ETIMEDOUT",a=pc(s,n,o);return{resultError:s,exitCode:e,signal:r,timedOut:i,isMaxBuffer:a}},j0=(t,e,r)=>t!==void 0?t:ko(e,r)?new Z:void 0;var Cl=(t,e,r)=>{let{file:n,commandArguments:o,command:s,escapedCommand:i,startTime:a,verboseInfo:u,options:c,fileDescriptors:l}=U0(t,e,r),d=G0({file:n,commandArguments:o,options:c,command:s,escapedCommand:i,verboseInfo:u,fileDescriptors:l,startTime:a});return Ze(d,u,c)},U0=(t,e,r)=>{let{command:n,escapedCommand:o,startTime:s,verboseInfo:i}=ar(t,e,r),a=W0(r),{file:u,commandArguments:c,options:l}=Or(t,e,a);V0(l);let d=Kc(l,i);return{file:u,commandArguments:c,command:n,escapedCommand:o,startTime:s,verboseInfo:i,options:l,fileDescriptors:d}},W0=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,V0=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Yr("ipcInput"),t&&Yr("ipc: true"),r&&Yr("detached: true"),n&&Yr("cancelSignal")},Yr=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},G0=({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,verboseInfo:s,fileDescriptors:i,startTime:a})=>{let u=H0({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,fileDescriptors:i,startTime:a});if(u.failed)return u;let{resultError:c,exitCode:l,signal:d,timedOut:m,isMaxBuffer:p}=bl(u,r),{output:D,error:b=c}=pl({fileDescriptors:i,syncResult:u,options:r,isMaxBuffer:p,verboseInfo:s}),S=D.map((v,M)=>he(v,r,M)),E=he(fl(D,r),r,"all");return q0({error:b,exitCode:l,signal:d,timedOut:m,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:o,startTime:a})},H0=({file:t,commandArguments:e,options:r,command:n,escapedCommand:o,fileDescriptors:s,startTime:i})=>{try{cl(s,r);let a=z0(r);return N0(...Tr(t,e,a))}catch(a){return Xe({error:a,command:n,escapedCommand:o,fileDescriptors:s,options:r,startTime:i,isSync:!0})}},z0=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Lr(e)}),q0=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:o,stdio:s,all:i,options:a,command:u,escapedCommand:c,startTime:l})=>t===void 0?kr({command:u,escapedCommand:c,stdio:s,all:i,ipcOutput:[],options:a,startTime:l}):Et({error:t,command:u,escapedCommand:c,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:o,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:i,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as RC}from"events";import{spawn as MC}from"child_process";import Fl from"process";import{once as jo,on as Y0}from"events";var El=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:o=!0,filter:s}={})=>(ze({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:xr(t)}),K0({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:o})),K0=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:o})=>{br(e,o);let s=Fe(t,e,r),i=new AbortController;try{return await Promise.race([J0(s,n,i),X0(s,r,i),Z0(s,r,i)])}catch(a){throw qe(t),a}finally{i.abort(),Cr(e,o)}},J0=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await jo(t,"message",{signal:r});return n}for await(let[n]of Y0(t,"message",{signal:r}))if(e(n))return n},X0=async(t,e,{signal:r})=>{await jo(t,"disconnect",{signal:r}),su(e)},Z0=async(t,e,{signal:r})=>{let[n]=await jo(t,"strict:error",{signal:r});throw Dr(n,e)};import{once as xl,on as Q0}from"events";var wl=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:o=!0}={})=>No({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:o}),No=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:o,reference:s})=>{ze({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:xr(t)}),br(e,s);let i=Fe(t,e,r),a=new AbortController,u={};return eb(t,i,a),tb({ipcEmitter:i,isSubprocess:r,controller:a,state:u}),rb({anyProcess:t,channel:e,ipcEmitter:i,isSubprocess:r,shouldAwait:o,controller:a,state:u,reference:s})},eb=async(t,e,r)=>{try{await xl(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},tb=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[o]=await xl(t,"strict:error",{signal:r.signal});n.error=Dr(o,e),r.abort()}catch{}},rb=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:o,controller:s,state:i,reference:a}){try{for await(let[u]of Q0(r,"message",{signal:s.signal}))yl(i),yield u}catch{yl(i)}finally{s.abort(),Cr(e,a),n||qe(t),o&&await t}},yl=({error:t})=>{if(t)throw t};var Sl=(t,{ipc:e})=>{Object.assign(t,_l(t,!1,e))},Al=()=>{let t=Fl,e=!0,r=Fl.channel!==void 0;return{..._l(t,e,r),getCancelSignal:Iu.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},_l=(t,e,r)=>({sendMessage:Ar.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:El.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:wl.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as nb}from"child_process";import{PassThrough as ob,Readable as ib,Writable as sb,Duplex as ab}from"stream";var Ol=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,verboseInfo:i})=>{vo(n);let a=new nb;ub(a,n),Object.assign(a,{readable:cb,writable:lb,duplex:db});let u=Xe({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:o,startTime:s,isSync:!1}),c=mb(u,i,o);return{subprocess:a,promise:c}},ub=(t,e)=>{let r=xt(),n=xt(),o=xt(),s=Array.from({length:e.length-3},xt),i=xt(),a=[r,n,o,...s];Object.assign(t,{stdin:r,stdout:n,stderr:o,all:i,stdio:a})},xt=()=>{let t=new ob;return t.end(),t},cb=()=>new ib({read(){}}),lb=()=>new sb({write(){}}),db=()=>new ab({read(){},write(){}}),mb=async(t,e,r)=>Ze(t,e,r);import{createReadStream as Tl,createWriteStream as vl}from"fs";import{Buffer as pb}from"buffer";import{Readable as wt,Writable as fb,Duplex as Db}from"stream";var Bl=(t,e)=>Wr(hb,t,e,!1),Ft=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Se[t]}.`)},$l={fileNumber:Ft,generator:Po,asyncGenerator:Po,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Db.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},hb={input:{...$l,fileUrl:({value:t})=>({stream:Tl(t)}),filePath:({value:{file:t}})=>({stream:Tl(t)}),webStream:({value:t})=>({stream:wt.fromWeb(t)}),iterable:({value:t})=>({stream:wt.from(t)}),asyncIterable:({value:t})=>({stream:wt.from(t)}),string:({value:t})=>({stream:wt.from(t)}),uint8Array:({value:t})=>({stream:wt.from(pb.from(t))})},output:{...$l,fileUrl:({value:t})=>({stream:vl(t)}),filePath:({value:{file:t,append:e}})=>({stream:vl(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:fb.fromWeb(t)}),iterable:Ft,asyncIterable:Ft,string:Ft,uint8Array:Ft}};import{on as gb,once as Il}from"events";import{PassThrough as bb,getDefaultHighWaterMark as Cb}from"stream";import{finished as Pl}from"stream/promises";function Me(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let o of t)Wo(o);let e=t.some(({readableObjectMode:o})=>o),r=Eb(t,e),n=new Uo({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let o of t)n.add(o);return n}var Eb=(t,e)=>{if(t.length===0)return Cb(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Uo=class extends bb{#t=new Set([]);#r=new Set([]);#e=new Set([]);#n;#i=Symbol("unpipe");#o=new WeakMap;add(e){if(Wo(e),this.#t.has(e))return;this.#t.add(e),this.#n??=yb(this,this.#t,this.#i);let r=Fb({passThroughStream:this,stream:e,streams:this.#t,ended:this.#r,aborted:this.#e,onFinished:this.#n,unpipeEvent:this.#i});this.#o.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(Wo(e),!this.#t.has(e))return!1;let r=this.#o.get(e);return r===void 0?!1:(this.#o.delete(e),e.unpipe(this),await r,!0)}},yb=async(t,e,r)=>{Kr(t,Rl);let n=new AbortController;try{await Promise.race([xb(t,n),wb(t,e,r,n)])}finally{n.abort(),Kr(t,-Rl)}},xb=async(t,{signal:e})=>{try{await Pl(t,{signal:e,cleanup:!0})}catch(r){throw Ll(t,r),r}},wb=async(t,e,r,{signal:n})=>{for await(let[o]of gb(t,"unpipe",{signal:n}))e.has(o)&&o.emit(r)},Wo=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Fb=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,onFinished:s,unpipeEvent:i})=>{Kr(t,Ml);let a=new AbortController;try{await Promise.race([Sb(s,e,a),Ab({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,controller:a}),_b({stream:e,streams:r,ended:n,aborted:o,unpipeEvent:i,controller:a})])}finally{a.abort(),Kr(t,-Ml)}r.size>0&&r.size===n.size+o.size&&(n.size===0&&o.size>0?Vo(t):Ob(t))},Sb=async(t,e,{signal:r})=>{try{await t,r.aborted||Vo(e)}catch(n){r.aborted||Ll(e,n)}},Ab=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:o,controller:{signal:s}})=>{try{await Pl(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(i){if(s.aborted||!r.has(e))return;kl(i)?o.add(e):jl(t,i)}},_b=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:o,controller:{signal:s}})=>{if(await Il(t,o,{signal:s}),!t.readable)return Il(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Ob=t=>{t.writable&&t.end()},Ll=(t,e)=>{kl(e)?Vo(t):jl(t,e)},kl=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Vo=t=>{(t.readable||t.writable)&&t.destroy()},jl=(t,e)=>{t.destroyed||(t.once("error",Tb),t.destroy(e))},Tb=()=>{},Kr=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Rl=2,Ml=1;import{finished as Nl}from"stream/promises";var et=(t,e)=>{t.pipe(e),vb(t,e),$b(t,e)},vb=async(t,e)=>{if(!(X(t)||X(e))){try{await Nl(t,{cleanup:!0,readable:!0,writable:!1})}catch{}Go(e)}},Go=t=>{t.writable&&t.end()},$b=async(t,e)=>{if(!(X(t)||X(e))){try{await Nl(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Ho(t)}},Ho=t=>{t.readable&&t.destroy()};var Ul=(t,e,r)=>{let n=new Map;for(let[o,{stdioItems:s,direction:i}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:u})=>Y.has(u)))Bb(t,a,i,o);for(let{stream:a}of s.filter(({type:u})=>!Y.has(u)))Rb({subprocess:t,stream:a,direction:i,fdNumber:o,pipeGroups:n,controller:r})}for(let[o,s]of n.entries()){let i=s.length===1?s[0]:Me(s);et(i,o)}},Bb=(t,e,r,n)=>{r==="output"?et(t.stdio[n],e):et(e,t.stdio[n]);let o=Ib[n];o!==void 0&&(t[o]=e),t.stdio[n]=e},Ib=["stdin","stdout","stderr"],Rb=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:o,controller:s})=>{if(e===void 0)return;Mb(e,s);let[i,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],u=o.get(i)??[];o.set(i,[...u,a])},Mb=(t,{signal:e})=>{X(t)&&$e(t,Pb,e)},Pb=2;import{addAbortListener as jb}from"events";var Pe=[];Pe.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Pe.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Pe.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Jr=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",zo=Symbol.for("signal-exit emitter"),qo=globalThis,Lb=Object.defineProperty.bind(Object),Yo=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(qo[zo])return qo[zo];Lb(qo,zo,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],o=n.indexOf(r);o!==-1&&(o===0&&n.length===1?n.length=0:n.splice(o,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let o=!1;for(let s of this.listeners[e])o=s(r,n)===!0||o;return e==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},Xr=class{},kb=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),Ko=class extends Xr{onExit(){return()=>{}}load(){}unload(){}},Jo=class extends Xr{#t=Xo.platform==="win32"?"SIGINT":"SIGHUP";#r=new Yo;#e;#n;#i;#o={};#s=!1;constructor(e){super(),this.#e=e,this.#o={};for(let r of Pe)this.#o[r]=()=>{let n=this.#e.listeners(r),{count:o}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(o+=s.__signal_exit_emitter__.count),n.length===o){this.unload();let i=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#t:r;i||e.kill(e.pid,a)}};this.#i=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Jr(this.#e))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of Pe)try{let r=this.#o[e];r&&this.#e.on(e,r)}catch{}this.#e.emit=(e,...r)=>this.#u(e,...r),this.#e.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,Pe.forEach(e=>{let r=this.#o[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#e.removeListener(e,r)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=this.#i,this.#r.count-=1)}#a(e){return Jr(this.#e)?(this.#e.exitCode=e||0,this.#r.emit("exit",this.#e.exitCode,null),this.#i.call(this.#e,this.#e.exitCode)):0}#u(e,...r){let n=this.#n;if(e==="exit"&&Jr(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let o=n.call(this.#e,e,...r);return this.#r.emit("exit",this.#e.exitCode,null),o}else return n.call(this.#e,e,...r)}},Xo=globalThis.process,{onExit:Wl,load:ZA,unload:QA}=kb(Jr(Xo)?new Jo(Xo):new Ko);var Vl=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let o=Wl(()=>{t.kill()});jb(n,()=>{o()})};var Hl=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...o)=>{let s=sr(),{destination:i,destinationStream:a,destinationError:u,from:c,unpipeSignal:l}=Nb(r,n,o),{sourceStream:d,sourceError:m}=Wb(t,c),{options:p,fileDescriptors:D}=oe.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:m,destination:i,destinationStream:a,destinationError:u,unpipeSignal:l,fileDescriptors:D,startTime:s}},Nb=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:o,to:s,unpipeSignal:i}={}}=Ub(t,e,...r),a=gr(n,s);return{destination:n,destinationStream:a,from:o,unpipeSignal:i}}catch(n){return{destinationError:n}}},Ub=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Gl,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||jn(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[o,s,i]=Jt(r,...n);return{destination:e(Gl)(o,s,i),pipeOptions:i}}if(oe.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},Gl=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Wb=(t,e)=>{try{return{sourceStream:Ye(t,e)}}catch(r){return{sourceError:r}}};var ql=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:o,sourceOptions:s,startTime:i})=>{let a=Vb({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Zo({error:a,fileDescriptors:o,sourceOptions:s,startTime:i})},Vb=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Ho(t),n;if(e!==void 0)return Go(r),e},Zo=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Xe({error:t,command:zl,escapedCommand:zl,fileDescriptors:e,options:r,startTime:n,isSync:!1}),zl="source.pipe(destination)";var Yl=async t=>{let[{status:e,reason:r,value:n=r},{status:o,reason:s,value:i=s}]=await t;if(i.pipedFrom.includes(n)||i.pipedFrom.push(n),o==="rejected")throw i;if(e==="rejected")throw n;return i};import{finished as Gb}from"stream/promises";var Kl=(t,e,r)=>{let n=Zr.has(e)?zb(t,e):Hb(t,e);return $e(t,Yb,r.signal),$e(e,Kb,r.signal),qb(e),n},Hb=(t,e)=>{let r=Me([t]);return et(r,e),Zr.set(e,r),r},zb=(t,e)=>{let r=Zr.get(e);return r.add(t),r},qb=async t=>{try{await Gb(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Zr.delete(t)},Zr=new WeakMap,Yb=2,Kb=1;import{aborted as Jb}from"util";var Jl=(t,e)=>t===void 0?[]:[Xb(t,e)],Xb=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:o,startTime:s})=>{await Jb(t,e),await r.remove(e);let i=new Error("Pipe canceled by `unpipeSignal` option.");throw Zo({error:i,fileDescriptors:n,sourceOptions:o,startTime:s})};var Qr=(t,...e)=>{if(T(e[0]))return Qr.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Hl(t,...e),o=Zb({...n,destination:r});return o.pipe=Qr.bind(void 0,{...t,source:r,sourcePromise:o,boundOptions:{}}),o},Zb=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:o,destinationStream:s,destinationError:i,unpipeSignal:a,fileDescriptors:u,startTime:c})=>{let l=Qb(t,o);ql({sourceStream:e,sourceError:n,destinationStream:s,destinationError:i,fileDescriptors:u,sourceOptions:r,startTime:c});let d=new AbortController;try{let m=Kl(e,s,d);return await Promise.race([Yl(l),...Jl(a,{sourceStream:e,mergedStream:m,sourceOptions:r,fileDescriptors:u,startTime:c})])}finally{d.abort()}},Qb=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as sC}from"timers/promises";import{on as eC}from"events";import{getDefaultHighWaterMark as tC}from"stream";var en=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:o,preserveNewlines:s})=>{let i=new AbortController;return rC(e,i),Zl({stream:t,controller:i,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:o,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},rC=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Qo=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:o,allMixed:s})=>{let i=new AbortController;nC(e,i,t);let a=t.readableObjectMode&&!s;return Zl({stream:t,controller:i,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!o})},nC=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Zl=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i})=>{let a=eC(t,"data",{signal:e.signal,highWaterMark:Xl,highWatermark:Xl});return oC({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i})},ei=tC(!0),Xl=ei,oC=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i}){let a=iC({binary:r,shouldEncode:n,encoding:o,shouldSplit:s,preserveNewlines:i});try{for await(let[u]of t)yield*Re(u,a,0)}catch(u){if(!e.signal.aborted)throw u}finally{yield*yt(a)}},iC=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:o})=>[Gr(t,r,!e),Vr(t,o,!n,{})].filter(Boolean);var Ql=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:o,maxBuffer:s,lines:i,allMixed:a,stripFinalNewline:u,verboseInfo:c,streamInfo:l})=>{let d=aC({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:c,streamInfo:l});if(!o){await Promise.all([uC(t),d]);return}let m=$o(u,r),p=Qo({stream:t,onStreamEnd:e,lines:i,encoding:n,stripFinalNewline:m,allMixed:a}),[D]=await Promise.all([cC({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:i}),d]);return D},aC=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:o,verboseInfo:s,streamInfo:{fileDescriptors:i}})=>{if(!qr({stdioItems:i[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=Qo({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:o});await ll(a,t,r,s)},uC=async t=>{await sC(),t.readableFlowing===null&&t.resume()},cC=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:o,maxBuffer:s,lines:i})=>{try{return e||i?await Ir(r,{maxBuffer:s}):o==="buffer"?new Uint8Array(await Rr(r,{maxBuffer:s})):await Pr(r,{maxBuffer:s})}catch(a){return ed(lc({error:a,stream:t,readableObjectMode:e,lines:i,encoding:o,fdNumber:n}))}},ti=async t=>{try{return await t}catch(e){return ed(e)}},ed=({bufferedData:t})=>As(t)?new Uint8Array(t):t;import{finished as lC}from"stream/promises";var St=async(t,e,r,{isSameDirection:n,stopOnExit:o=!1}={})=>{let s=dC(t,r),i=new AbortController;try{await Promise.race([...o?[r.exitPromise]:[],lC(t,{cleanup:!0,signal:i.signal})])}catch(a){s.stdinCleanedUp||fC(a,e,r,n)}finally{i.abort()}},dC=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&mC(t,r,n),n},mC=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...o)=>{pC(e,r),n.call(t,...o)}},pC=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},fC=(t,e,r,n)=>{if(!DC(t,e,r,n))throw t},DC=(t,e,r,n=!0)=>r.propagating?td(t)||tn(t):(r.propagating=!0,ri(r,e)===n?td(t):tn(t)),ri=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",tn=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",td=t=>t?.code==="EPIPE";var rd=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:s,verboseInfo:i,streamInfo:a})=>t.stdio.map((u,c)=>ni({stream:u,fdNumber:c,encoding:e,buffer:r[c],maxBuffer:n[c],lines:o[c],allMixed:!1,stripFinalNewline:s,verboseInfo:i,streamInfo:a})),ni=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:o,lines:s,allMixed:i,stripFinalNewline:a,verboseInfo:u,streamInfo:c})=>{if(!t)return;let l=St(t,e,c);if(ri(c,e)){await l;return}let[d]=await Promise.all([Ql({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:o,lines:s,allMixed:i,stripFinalNewline:a,verboseInfo:u,streamInfo:c}),l]);return d};var nd=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Me([t,e].filter(Boolean)):void 0,od=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:s,verboseInfo:i,streamInfo:a})=>ni({...hC(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:o[1]||o[2],allMixed:gC(t),stripFinalNewline:s,verboseInfo:i,streamInfo:a}),hC=({stdout:t,stderr:e,all:r},[,n,o])=>{let s=n||o;return s?n?o?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},gC=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as bC}from"events";var id=t=>Ve(t,"ipc"),sd=(t,e)=>{let r=ir(t);re({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var ad=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:o,verboseInfo:s})=>{if(!n)return o;let i=id(s),a=fe(e,"ipc"),u=fe(r,"ipc");for await(let c of No({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(dc(t,o,u),o.push(c)),i&&sd(c,s);return o},ud=async(t,e)=>(await Promise.allSettled([t]),e);var cd=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:o,timeoutDuration:s,cancelSignal:i,gracefulCancel:a,forceKillAfterDelay:u,stripFinalNewline:c,ipc:l,ipcInput:d},context:m,verboseInfo:p,fileDescriptors:D,originalStreams:b,onInternalError:S,controller:E})=>{let v=Dl(t,m),M={originalStreams:b,fileDescriptors:D,subprocess:t,exitPromise:v,propagating:!1},y=rd({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:c,verboseInfo:p,streamInfo:M}),_=od({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:c,verboseInfo:p,streamInfo:M}),B=[],j=ad({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:B,verboseInfo:p}),be=CC(b,t,M),Ce=EC(D,M);try{return await Promise.race([Promise.all([{},gl(v),Promise.all(y),_,j,Vu(t,d),...be,...Ce]),S,yC(t,E),...ku(t,s,m,E),...iu({subprocess:t,cancelSignal:i,gracefulCancel:a,context:m,controller:E}),...Pu({subprocess:t,cancelSignal:i,gracefulCancel:a,forceKillAfterDelay:u,context:m,controller:E})])}catch(un){return m.terminationReason??="other",Promise.all([{error:un},v,Promise.all(y.map(st=>ti(st))),ti(_),ud(j,B),Promise.allSettled(be),Promise.allSettled(Ce)])}},CC=(t,e,r)=>t.map((n,o)=>n===e.stdio[o]?void 0:St(n,o,r)),EC=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:o,stream:s=o})=>ee(s,{checkOpen:!1})&&!X(s)).map(({type:o,value:s,stream:i=s})=>St(i,n,e,{isSameDirection:Y.has(o),stopOnExit:o==="native"}))),yC=async(t,{signal:e})=>{let[r]=await bC(t,"error",{signal:e});throw r};var ld=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),At=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let o=n.get(e),s=ne();return o.push(s),{resolve:s.resolve.bind(s),promises:o}},tt=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as xC}from"stream";import{callbackify as wC}from"util";import{finished as dd}from"stream/promises";var oi=async t=>{if(t!==void 0)try{await ii(t)}catch{}},md=async t=>{if(t!==void 0)try{await si(t)}catch{}},ii=async t=>{await dd(t,{cleanup:!0,readable:!1,writable:!0})},si=async t=>{await dd(t,{cleanup:!0,readable:!0,writable:!1})},rn=async(t,e)=>{if(await t,e)throw e},nn=(t,e,r)=>{r&&!tn(r)?t.destroy(r):e&&t.destroy()};var pd=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:o=!0,preserveNewlines:s=!0}={})=>{let i=o||G.has(r),{subprocessStdout:a,waitReadableDestroy:u}=ai(t,n,e),{readableEncoding:c,readableObjectMode:l,readableHighWaterMark:d}=ui(a,i),{read:m,onStdoutDataDone:p}=ci({subprocessStdout:a,subprocess:t,binary:i,encoding:r,preserveNewlines:s}),D=new xC({read:m,destroy:wC(di.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:u})),highWaterMark:d,objectMode:l,encoding:c});return li({subprocessStdout:a,onStdoutDataDone:p,readable:D,subprocess:t}),D},ai=(t,e,r)=>{let n=Ye(t,e),o=At(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:o}},ui=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:ei},ci=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:o})=>{let s=ne(),i=en({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:o});return{read(){FC(this,i,s)},onStdoutDataDone:s}},FC=async(t,e,r)=>{try{let{value:n,done:o}=await e.next();o?r.resolve():t.push(n)}catch{}},li=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:o})=>{try{await si(t),await n,await oi(o),await e,r.readable&&r.push(null)}catch(s){await oi(o),fd(r,s)}},di=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await tt(r,e)&&(fd(t,n),await rn(e,n))},fd=(t,e)=>{nn(t,t.readable,e)};import{Writable as SC}from"stream";import{callbackify as Dd}from"util";var hd=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:s}=mi(t,r,e),i=new SC({...pi(n,t,o),destroy:Dd(Di.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:o,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return fi(n,i),i},mi=(t,e,r)=>{let n=gr(t,e),o=At(r,n,"writableFinal"),s=At(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:s}},pi=(t,e,r)=>({write:AC.bind(void 0,t),final:Dd(_C.bind(void 0,t,e,r))}),AC=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},_C=async(t,e,r)=>{await tt(r,e)&&(t.writable&&t.end(),await e)},fi=async(t,e,r)=>{try{await ii(t),e.writable&&e.end()}catch(n){await md(r),gd(e,n)}},Di=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},o)=>{await tt(r,e),await tt(n,e)&&(gd(t,o),await rn(e,o))},gd=(t,e)=>{nn(t,t.writable,e)};import{Duplex as OC}from"stream";import{callbackify as TC}from"util";var bd=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:o,binary:s=!0,preserveNewlines:i=!0}={})=>{let a=s||G.has(r),{subprocessStdout:u,waitReadableDestroy:c}=ai(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:m}=mi(t,o,e),{readableEncoding:p,readableObjectMode:D,readableHighWaterMark:b}=ui(u,a),{read:S,onStdoutDataDone:E}=ci({subprocessStdout:u,subprocess:t,binary:a,encoding:r,preserveNewlines:i}),v=new OC({read:S,...pi(l,t,d),destroy:TC(vC.bind(void 0,{subprocessStdout:u,subprocessStdin:l,subprocess:t,waitReadableDestroy:c,waitWritableFinal:d,waitWritableDestroy:m})),readableHighWaterMark:b,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:D,writableObjectMode:l.writableObjectMode,encoding:p});return li({subprocessStdout:u,onStdoutDataDone:E,readable:v,subprocess:t,subprocessStdin:l}),fi(l,v,u),v},vC=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:o,waitWritableDestroy:s},i)=>{await Promise.all([di({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},i),Di({subprocessStdin:e,subprocess:r,waitWritableFinal:o,waitWritableDestroy:s},i)])};var hi=(t,e,{from:r,binary:n=!1,preserveNewlines:o=!1}={})=>{let s=n||G.has(e),i=Ye(t,r),a=en({subprocessStdout:i,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:o});return $C(a,i,t)},$C=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Cd=(t,{encoding:e})=>{let r=ld();t.readable=pd.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=hd.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=bd.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=hi.bind(void 0,t,e),t[Symbol.asyncIterator]=hi.bind(void 0,t,e,{})};var Ed=(t,e)=>{for(let[r,n]of IC){let o=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:o})}},BC=(async()=>{})().constructor.prototype,IC=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(BC,t)]);var yd=(t,e,r,n)=>{let{file:o,commandArguments:s,command:i,escapedCommand:a,startTime:u,verboseInfo:c,options:l,fileDescriptors:d}=PC(t,e,r),{subprocess:m,promise:p}=kC({file:o,commandArguments:s,options:l,startTime:u,verboseInfo:c,command:i,escapedCommand:a,fileDescriptors:d});return m.pipe=Qr.bind(void 0,{source:m,sourcePromise:p,boundOptions:{},createNested:n}),Ed(m,p),oe.set(m,{options:l,fileDescriptors:d}),m},PC=(t,e,r)=>{let{command:n,escapedCommand:o,startTime:s,verboseInfo:i}=ar(t,e,r),{file:a,commandArguments:u,options:c}=Or(t,e,r),l=LC(c),d=Bl(l,i);return{file:a,commandArguments:u,command:n,escapedCommand:o,startTime:s,verboseInfo:i,options:l,fileDescriptors:d}},LC=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},kC=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:o,command:s,escapedCommand:i,fileDescriptors:a})=>{let u;try{u=MC(...Tr(t,e,r))}catch(D){return Ol({error:D,command:s,escapedCommand:i,fileDescriptors:a,options:r,startTime:n,verboseInfo:o})}let c=new AbortController;RC(Number.POSITIVE_INFINITY,c.signal);let l=[...u.stdio];Ul(u,a,c),Vl(u,r,c);let d={},m=ne();u.kill=nu.bind(void 0,{kill:u.kill.bind(u),options:r,onInternalError:m,context:d,controller:c}),u.all=nd(u,r),Cd(u,r),Sl(u,r);let p=jC({subprocess:u,options:r,startTime:n,verboseInfo:o,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:i,context:d,onInternalError:m,controller:c});return{subprocess:u,promise:p}},jC=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:o,originalStreams:s,command:i,escapedCommand:a,context:u,onInternalError:c,controller:l})=>{let[d,[m,p],D,b,S]=await cd({subprocess:t,options:e,context:u,verboseInfo:n,fileDescriptors:o,originalStreams:s,onInternalError:c,controller:l});l.abort(),c.resolve();let E=D.map((y,_)=>he(y,e,_)),v=he(b,e,"all"),M=NC({errorInfo:d,exitCode:m,signal:p,stdio:E,all:v,ipcOutput:S,context:u,options:e,command:i,escapedCommand:a,startTime:r});return Ze(M,n,e)},NC=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:o,ipcOutput:s,context:i,options:a,command:u,escapedCommand:c,startTime:l})=>"error"in t?Et({error:t.error,command:u,escapedCommand:c,timedOut:i.terminationReason==="timeout",isCanceled:i.terminationReason==="cancel"||i.terminationReason==="gracefulCancel",isGracefullyCanceled:i.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof ie,isForcefullyTerminated:i.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:o,ipcOutput:s,options:a,startTime:l,isSync:!1}):kr({command:u,escapedCommand:c,stdio:n,all:o,ipcOutput:s,options:a,startTime:l});var on=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,o])=>[n,UC(n,t[n],o)]));return{...t,...r}},UC=(t,e,r)=>WC.has(t)&&T(e)&&T(r)?{...e,...r}:r,WC=new Set(["env",...Hn]);var Ae=(t,e,r,n)=>{let o=(i,a,u)=>Ae(i,a,r,u),s=(...i)=>VC({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:o},...i);return n!==void 0&&n(s,o,e),s},VC=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:o},s,...i)=>{if(T(s))return o(t,on(r,s),n);let{file:a,commandArguments:u,options:c,isSync:l}=GC({mapArguments:t,firstArgument:s,nextArguments:i,deepOptions:e,boundOptions:r});return l?Cl(a,u,c):yd(a,u,c,o)},GC=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:o})=>{let s=Bs(e)?Is(e,r):[e,...r],[i,a,u]=Jt(...s),c=on(on(n,o),u),{file:l=i,commandArguments:d=a,options:m=c,isSync:p=!1}=t({file:i,commandArguments:a,options:c});return{file:l,commandArguments:d,options:m,isSync:p}};var xd=({file:t,commandArguments:e})=>Fd(t,e),wd=({file:t,commandArguments:e})=>({...Fd(t,e),isSync:!0}),Fd=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=HC(t);return{file:r,commandArguments:n}},HC=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split(zC)){let o=r.at(-1);o&&o.endsWith("\\")?r[r.length-1]=`${o.slice(0,-1)} ${n}`:r.push(n)}return r},zC=/ +/g;var Sd=(t,e,r)=>{t.sync=e(qC,r),t.s=t.sync},Ad=({options:t})=>_d(t),qC=({options:t})=>({..._d(t),isSync:!0}),_d=t=>({options:{...YC(t),...t}}),YC=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Od={preferLocal:!0};var _t=Ae(()=>({})),WO=Ae(()=>({isSync:!0})),sn=Ae(xd),VO=Ae(wd),GO=Ae(Nu),HO=Ae(Ad,{},Od,Sd),{sendMessage:zO,getOneMessage:qO,getEachMessage:YO,getCancelSignal:KO}=Al();async function H(t,e,r){return _t("docker",["compose",...t],{cwd:e,...r})}async function k(t,e,r){let n=["compose","exec","-T"];if(r)for(let[s,i]of Object.entries(r))n.push("-e",`${s}=${i}`);n.push("web","bin/rails",t);let{stdout:o}=await _t("docker",n,{cwd:e});return o.split(`
128
128
  `).filter(s=>!s.startsWith("[")).join(`
129
129
  `).trim()}async function Td(t){await _t("docker",["compose","exec","web","bin/rails","c"],{cwd:t,stdio:"inherit"})}async function rt(t,e){await _t("docker",["compose","logs","-f",t],{cwd:e,stdio:"inherit"})}function vd(t){t.command("dev").description("Start services and stream logs").action(async()=>{let e=F(),r=P();r.start("Starting Docker services..."),await H(["up","-d"],e.projectDir),r.stop("Docker services started."),xe(["",Ot.default.bold("Admin Dashboard"),` ${Ot.default.cyan(`http://localhost:${e.port}/admin`)}`,` Email: ${Yt}`,` Password: ${Kt}`,"",Ot.default.bold("Store API"),` ${Ot.default.cyan(`http://localhost:${e.port}/api/v3/store`)}`,""].join(`
130
130
  `),"Spree Commerce"),I.info(`Streaming logs (Ctrl+C to stop)...
131
- `),await rt("web",e.projectDir)})}function $d(t){t.command("stop").description("Stop services").action(async()=>{let e=F(),r=P();r.start("Stopping services..."),await H(["stop"],e.projectDir),r.stop("Services stopped.")})}function Bd(t){t.command("update").description("Pull latest image and recreate containers").action(async()=>{let e=F();I.step("Pulling latest images..."),await H(["pull"],e.projectDir,{stdio:"inherit"});let r=P();r.start("Recreating containers..."),await H(["up","-d"],e.projectDir),r.stop("Containers recreated."),I.success("Update complete! Migrations will run automatically on startup."),I.info("Run `spree logs` to follow the startup progress.")})}function Id(t){t.command("logs").description("Stream service logs").argument("[service]","service name (web or worker)","web").action(async e=>{let r=F();await rt(e,r.projectDir)})}var Le=W(de(),1);import{platform as KC}from"os";import gi from"fs";import JC from"path";var XC=3e3,Rd=12e4;function Md(t){t.command("init").description("First-run setup: start services, configure API key, load sample data").option("--no-sample-data","skip loading sample data").option("--no-open","skip opening browser").action(async e=>{let r=F();I.step("Pulling latest images..."),await H(["pull"],r.projectDir,{stdio:"inherit"});let n=P();n.start("Starting Docker services..."),await H(["up","-d"],r.projectDir),n.stop("Docker services started."),n.start("Waiting for Spree to be ready..."),await ZC(r.port),n.stop("Spree is ready."),n.start("Seeding database..."),await j("db:seed",r.projectDir),n.stop("Database seeded."),n.start("Configuring API key...");let o=await QC(r.projectDir);eE(r.projectDir,o),n.stop(`API key: ${Le.default.cyan(o)}`),e.sampleData&&(n.start("Loading sample data..."),await j("spree:load_sample_data",r.projectDir),n.stop("Sample data loaded.")),xe(["",Le.default.bold("Admin Dashboard"),` ${Le.default.cyan(`http://localhost:${r.port}/admin`)}`,` Email: ${Yt}`,` Password: ${Kt}`,"",Le.default.bold("Store API"),` ${Le.default.cyan(`http://localhost:${r.port}/api/v3/store`)}`,` API Key: ${Le.default.cyan(o)}`,""].join(`
131
+ `),await rt("web",e.projectDir)})}function $d(t){t.command("stop").description("Stop services").action(async()=>{let e=F(),r=P();r.start("Stopping services..."),await H(["stop"],e.projectDir),r.stop("Services stopped.")})}function Bd(t){t.command("update").description("Pull latest image and recreate containers").action(async()=>{let e=F();I.step("Pulling latest images..."),await H(["pull"],e.projectDir,{stdio:"inherit"});let r=P();r.start("Recreating containers..."),await H(["up","-d"],e.projectDir),r.stop("Containers recreated."),I.success("Update complete! Migrations will run automatically on startup."),I.info("Run `spree logs` to follow the startup progress.")})}function Id(t){t.command("logs").description("Stream service logs").argument("[service]","service name (web or worker)","web").action(async e=>{let r=F();await rt(e,r.projectDir)})}var Le=W(de(),1);import{platform as KC}from"os";import gi from"fs";import JC from"path";var XC=3e3,Rd=12e4;function Md(t){t.command("init").description("First-run setup: start services, configure API key, load sample data").option("--no-sample-data","skip loading sample data").option("--no-open","skip opening browser").action(async e=>{let r=F();I.step("Pulling latest images..."),await H(["pull"],r.projectDir,{stdio:"inherit"});let n=P();n.start("Starting Docker services..."),await H(["up","-d"],r.projectDir),n.stop("Docker services started."),n.start("Waiting for Spree to be ready..."),await ZC(r.port),n.stop("Spree is ready."),n.start("Seeding database..."),await k("db:seed",r.projectDir),n.stop("Database seeded."),n.start("Configuring API key...");let o=await QC(r.projectDir);eE(r.projectDir,o),n.stop(`API key: ${Le.default.cyan(o)}`),e.sampleData&&(n.start("Loading sample data..."),await k("spree:load_sample_data",r.projectDir),n.stop("Sample data loaded.")),n.start("Indexing products for search..."),await k("spree:search:reindex",r.projectDir),n.stop("Search index ready."),xe(["",Le.default.bold("Admin Dashboard"),` ${Le.default.cyan(`http://localhost:${r.port}/admin`)}`,` Email: ${Yt}`,` Password: ${Kt}`,"",Le.default.bold("Store API"),` ${Le.default.cyan(`http://localhost:${r.port}/api/v3/store`)}`,` API Key: ${Le.default.cyan(o)}`,""].join(`
132
132
  `),"Your Spree store is ready!"),e.open&&await tE(`http://localhost:${r.port}/admin`),I.info(`Streaming logs (Ctrl+C to stop)...
133
- `),await rt("web",r.projectDir)})}async function ZC(t){let e=`http://localhost:${t}/up`,r=Date.now();for(;Date.now()-r<Rd;){try{if((await fetch(e)).ok)return}catch{}await new Promise(n=>setTimeout(n,XC))}throw new Error(`Spree did not become healthy within ${Rd/1e3}s`)}async function QC(t){let e=await j("spree:cli:ensure_api_key",t),r=e.match(/pk_[A-Za-z0-9_-]+/);if(!r)throw new Error(`Could not extract API key from Rails output: ${e}`);return r[0]}function eE(t,e){let r=JC.join(t,"apps","storefront",".env.local");if(!gi.existsSync(r))return;let n=gi.readFileSync(r,"utf-8");gi.writeFileSync(r,n.replace(/SPREE_PUBLISHABLE_KEY=.*/,`SPREE_PUBLISHABLE_KEY=${e}`))}async function tE(t){let e=KC(),r=e==="darwin"?"open":e==="win32"?"start":"xdg-open";try{await sn(`${r} ${t}`,{stdio:"ignore"})}catch{}}function Pd(t){t.command("console").description("Open Rails console").action(async()=>{let e=F();await Td(e.projectDir)})}var Ld=W(de(),1);function kd(t){t.command("user").description("Manage admin users").command("create").description("Create an admin user").option("--email <email>","admin email").option("--password <password>","admin password").action(async r=>{let n=F(),o=r.email,s=r.password;if(!o){let a=await qt({message:"Admin email:",placeholder:"admin@example.com",validate(u){if(!u)return"Email is required";if(!u.includes("@"))return"Invalid email"}});ye(a)&&(Ne("Cancelled."),process.exit(0)),o=a}if(!s){let a=await ys({message:"Admin password:",validate(u){if(!u||u.length<6)return"Password must be at least 6 characters"}});ye(a)&&(Ne("Cancelled."),process.exit(0)),s=a}let i=P();i.start("Creating admin user..."),await j("spree:cli:create_admin",n.projectDir,{EMAIL:o,PASSWORD:s}),i.stop("Admin user created."),I.success(`Email: ${Ld.default.cyan(o)}`)})}var Te=W(de(),1),om=W(nm(),1);function im(t){let e=t.command("api-key").description("Manage API keys");e.command("create").description("Create an API key").option("--name <name>","key name").option("--type <type>","key type: publishable or secret").action(async r=>{let n=F(),o=r.name,s=r.type;if(!o){let m=await qt({message:"Key name:",placeholder:"My Storefront",validate(p){if(!p)return"Name is required"}});ye(m)&&(Ne("Cancelled."),process.exit(0)),o=m}if(!s){let m=await xs({message:"Key type:",options:[{value:"publishable",label:"Publishable (for storefronts)"},{value:"secret",label:"Secret (for server-to-server)"}]});ye(m)&&(Ne("Cancelled."),process.exit(0)),s=m}if(s!=="publishable"&&s!=="secret")throw new Error('Key type must be "publishable" or "secret".');let i=P();i.start("Creating API key...");let a=await j("spree:cli:create_api_key",n.projectDir,{NAME:o,KEY_TYPE:s}),u=s==="publishable"?"pk_":"sk_",c=a.match(new RegExp(`${u}[A-Za-z0-9_-]+`)),l=c?c[0]:a.trim();i.stop("API key created.");let d=[`${Te.default.bold("Name:")} ${o}`,`${Te.default.bold("Type:")} ${s}`,`${Te.default.bold("Token:")} ${Te.default.cyan(l)}`];s==="secret"&&(d.push(""),d.push(Te.default.yellow("Save this token now \u2014 secret keys cannot be retrieved later."))),xe(d.join(`
134
- `),"API Key")}),e.command("list").description("List API keys").action(async()=>{let r=F(),n=P();n.start("Fetching API keys...");let o=await j("spree:cli:list_api_keys",r.projectDir);n.stop("");let s=o.trim().split(`
135
- `).filter(Boolean);if(s.length===0){I.info("No API keys found.");return}let i=s.map(a=>{let[u,c,l,d,m,p]=a.split("|");return{ID:u??"",Name:c??"",Type:l??"",Token:d??"",Created:m??"",Status:p==="active"?Te.default.green(p):Te.default.red(p??"")}});(0,om.printTable)(i)}),e.command("revoke").description("Revoke an API key").argument("<id>","ID of the key to revoke (from api-key list)").action(async r=>{let n=F(),o=P();o.start("Revoking API key...");let i=(await j("spree:cli:revoke_api_key",n.projectDir,{ID:r})).trim();o.stop(`API key "${i}" revoked.`)})}function sm(t){t.command("seed").description("Seed the database").action(async()=>{let e=F(),r=P();r.start("Seeding database..."),await j("db:seed",e.projectDir),r.stop("Database seeded.")})}import{platform as ny}from"os";function am(t){t.command("open").description("Open the admin dashboard in the browser").action(async()=>{let r=`http://localhost:${F().port}/admin`,n=ny();await sn(`${n==="darwin"?"open":n==="win32"?"start":"xdg-open"} ${r}`)})}function um(t){t.command("sample-data").description("Load sample data (products, categories, images)").action(async()=>{let e=F(),r=P();r.start("Loading sample data..."),await j("spree:load_sample_data",e.projectDir),r.stop("Sample data loaded.")})}import Mi from"fs";import Pi from"path";var ce=W(de(),1);function cm(t){t.command("eject").description("Switch from prebuilt Docker image to building from local backend/").action(async()=>{let e=F(),r=Pi.join(e.projectDir,"backend");Mi.existsSync(r)||(console.error(`
133
+ `),await rt("web",r.projectDir)})}async function ZC(t){let e=`http://localhost:${t}/up`,r=Date.now();for(;Date.now()-r<Rd;){try{if((await fetch(e)).ok)return}catch{}await new Promise(n=>setTimeout(n,XC))}throw new Error(`Spree did not become healthy within ${Rd/1e3}s`)}async function QC(t){let e=await k("spree:cli:ensure_api_key",t),r=e.match(/pk_[A-Za-z0-9_-]+/);if(!r)throw new Error(`Could not extract API key from Rails output: ${e}`);return r[0]}function eE(t,e){let r=JC.join(t,"apps","storefront",".env.local");if(!gi.existsSync(r))return;let n=gi.readFileSync(r,"utf-8");gi.writeFileSync(r,n.replace(/SPREE_PUBLISHABLE_KEY=.*/,`SPREE_PUBLISHABLE_KEY=${e}`))}async function tE(t){let e=KC(),r=e==="darwin"?"open":e==="win32"?"start":"xdg-open";try{await sn(`${r} ${t}`,{stdio:"ignore"})}catch{}}function Pd(t){t.command("console").description("Open Rails console").action(async()=>{let e=F();await Td(e.projectDir)})}var Ld=W(de(),1);function kd(t){t.command("user").description("Manage admin users").command("create").description("Create an admin user").option("--email <email>","admin email").option("--password <password>","admin password").action(async r=>{let n=F(),o=r.email,s=r.password;if(!o){let a=await qt({message:"Admin email:",placeholder:"admin@example.com",validate(u){if(!u)return"Email is required";if(!u.includes("@"))return"Invalid email"}});ye(a)&&(Ne("Cancelled."),process.exit(0)),o=a}if(!s){let a=await ys({message:"Admin password:",validate(u){if(!u||u.length<6)return"Password must be at least 6 characters"}});ye(a)&&(Ne("Cancelled."),process.exit(0)),s=a}let i=P();i.start("Creating admin user..."),await k("spree:cli:create_admin",n.projectDir,{EMAIL:o,PASSWORD:s}),i.stop("Admin user created."),I.success(`Email: ${Ld.default.cyan(o)}`)})}var Te=W(de(),1),om=W(nm(),1);function im(t){let e=t.command("api-key").description("Manage API keys");e.command("create").description("Create an API key").option("--name <name>","key name").option("--type <type>","key type: publishable or secret").action(async r=>{let n=F(),o=r.name,s=r.type;if(!o){let m=await qt({message:"Key name:",placeholder:"My Storefront",validate(p){if(!p)return"Name is required"}});ye(m)&&(Ne("Cancelled."),process.exit(0)),o=m}if(!s){let m=await xs({message:"Key type:",options:[{value:"publishable",label:"Publishable (for storefronts)"},{value:"secret",label:"Secret (for server-to-server)"}]});ye(m)&&(Ne("Cancelled."),process.exit(0)),s=m}if(s!=="publishable"&&s!=="secret")throw new Error('Key type must be "publishable" or "secret".');let i=P();i.start("Creating API key...");let a=await k("spree:cli:create_api_key",n.projectDir,{NAME:o,KEY_TYPE:s}),u=s==="publishable"?"pk_":"sk_",c=a.match(new RegExp(`${u}[A-Za-z0-9_-]+`)),l=c?c[0]:a.trim();i.stop("API key created.");let d=[`${Te.default.bold("Name:")} ${o}`,`${Te.default.bold("Type:")} ${s}`,`${Te.default.bold("Token:")} ${Te.default.cyan(l)}`];s==="secret"&&(d.push(""),d.push(Te.default.yellow("Save this token now \u2014 secret keys cannot be retrieved later."))),xe(d.join(`
134
+ `),"API Key")}),e.command("list").description("List API keys").action(async()=>{let r=F(),n=P();n.start("Fetching API keys...");let o=await k("spree:cli:list_api_keys",r.projectDir);n.stop("");let s=o.trim().split(`
135
+ `).filter(Boolean);if(s.length===0){I.info("No API keys found.");return}let i=s.map(a=>{let[u,c,l,d,m,p]=a.split("|");return{ID:u??"",Name:c??"",Type:l??"",Token:d??"",Created:m??"",Status:p==="active"?Te.default.green(p):Te.default.red(p??"")}});(0,om.printTable)(i)}),e.command("revoke").description("Revoke an API key").argument("<id>","ID of the key to revoke (from api-key list)").action(async r=>{let n=F(),o=P();o.start("Revoking API key...");let i=(await k("spree:cli:revoke_api_key",n.projectDir,{ID:r})).trim();o.stop(`API key "${i}" revoked.`)})}function sm(t){t.command("seed").description("Seed the database").action(async()=>{let e=F(),r=P();r.start("Seeding database..."),await k("db:seed",e.projectDir),r.stop("Database seeded.")})}import{platform as ny}from"os";function am(t){t.command("open").description("Open the admin dashboard in the browser").action(async()=>{let r=`http://localhost:${F().port}/admin`,n=ny();await sn(`${n==="darwin"?"open":n==="win32"?"start":"xdg-open"} ${r}`)})}function um(t){t.command("sample-data").description("Load sample data (products, categories, images)").action(async()=>{let e=F(),r=P();r.start("Loading sample data..."),await k("spree:load_sample_data",e.projectDir),r.stop("Sample data loaded.")})}import Mi from"fs";import Pi from"path";var ce=W(de(),1);function cm(t){t.command("eject").description("Switch from prebuilt Docker image to building from local backend/").action(async()=>{let e=F(),r=Pi.join(e.projectDir,"backend");Mi.existsSync(r)||(console.error(`
136
136
  ${ce.default.red("Error:")} No backend/ directory found.
137
137
  `),process.exit(1));let n=Pi.join(e.projectDir,"docker-compose.dev.yml");Mi.existsSync(n)||(console.error(`
138
138
  ${ce.default.red("Error:")} No docker-compose.dev.yml found.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spree/cli",
3
- "version": "2.0.0-beta.6",
3
+ "version": "2.0.0-beta.7",
4
4
  "description": "CLI for managing Spree Commerce projects",
5
5
  "type": "module",
6
6
  "bin": {