import{createRequire} from"node:module";const require=createRequire(import.meta.url); import{a as b}from"./chunk-QIQMJJZ4.js";import{a as $,b as F}from"./chunk-QAYAQNCG.js";var x={name:"du",summary:"estimate file space usage",usage:"du [OPTION]... [FILE]...",options:["-a write counts for all files, not just directories","-h print sizes in human readable format","-s display only a total for each argument","-c produce a grand total","--max-depth=N print total for directory only if N or fewer levels deep"," --help display this help and exit"]},R={allFiles:{short:"a",type:"boolean"},humanReadable:{short:"h",type:"boolean"},summarize:{short:"s",type:"boolean"},grandTotal:{short:"c",type:"boolean"},maxDepth:{long:"max-depth",type:"number"}},_={name:"du",async execute(a,s){if(F(a))return $(x);let n=b("du",a,R);if(!n.ok)return n.error;let r={allFiles:n.result.flags.allFiles,humanReadable:n.result.flags.humanReadable,summarize:n.result.flags.summarize,grandTotal:n.result.flags.grandTotal,maxDepth:n.result.flags.maxDepth??null},l=n.result.positional;l.length===0&&l.push(".");let o="",m="",p=0;for(let u of l){let z=s.fs.resolvePath(s.cwd,u);try{await s.fs.stat(z);let h=await w(s,z,u,r,0);o+=h.output,p+=h.totalSize,m+=h.stderr}catch{m+=`du: cannot access '${u}': No such file or directory `}}return r.grandTotal&&l.length>0&&(o+=`${D(p,r.humanReadable)} total `),{stdout:o,stderr:m,exitCode:m?1:0}}},E=1e3;async function w(a,s,n,r,l){let o={output:"",totalSize:0,stderr:""};if(l>E)return o;try{let m=await a.fs.stat(s);if(!m.isDirectory)return o.totalSize=m.size,(r.allFiles||l===0)&&(o.output=D(m.size,r.humanReadable)+" "+n+` `),o;let p=0,u=[];if(a.fs.readdirWithFileTypes){let t=await a.fs.readdirWithFileTypes(s),i=t.filter(e=>e.isFile),f=t.filter(e=>e.isDirectory);for(let e=0;e{let T=s==="/"?`/${d.name}`:`${s}/${d.name}`;try{let S=await a.fs.stat(T);return{name:d.name,isDirectory:!1,size:S.size}}catch{return{name:d.name,isDirectory:!1,size:0}}}));u.push(...y)}u.push(...f.map(e=>({name:e.name,isDirectory:!0})))}else{let t=await a.fs.readdir(s);for(let i=0;i{let y=s==="/"?`/${c}`:`${s}/${c}`;try{let d=await a.fs.stat(y);return{name:c,isDirectory:d.isDirectory,size:d.isDirectory?void 0:d.size}}catch{return{name:c,isDirectory:!1,size:0}}}));u.push(...e)}}u.sort((t,i)=>t.name.localeCompare(i.name));let z=u.filter(t=>!t.isDirectory);for(let t of z){let i=t.size??0;if(p+=i,r.allFiles&&!r.summarize){let f=n==="."?t.name:`${n}/${t.name}`;o.output+=D(i,r.humanReadable)+" "+f+` `}}let h=u.filter(t=>t.isDirectory);for(let t=0;t{let c=s==="/"?`/${e.name}`:`${s}/${e.name}`,y=n==="."?e.name:`${n}/${e.name}`;return{name:e.name,result:await w(a,c,y,r,l+1)}}));f.sort((e,c)=>e.name.localeCompare(c.name));for(let{result:e}of f)p+=e.totalSize,r.summarize||(r.maxDepth===null||l+1<=r.maxDepth)&&(o.output+=e.output)}o.totalSize=p,(r.summarize||r.maxDepth===null||l<=r.maxDepth)&&(o.output+=`${D(p,r.humanReadable)} ${n} `)}catch{o.stderr=`du: cannot read directory '${n}': Permission denied `}return o}function D(a,s){return s?a<1024?`${a}`:a<1024*1024?`${(a/1024).toFixed(1)}K`:a<1024*1024*1024?`${(a/(1024*1024)).toFixed(1)}M`:`${(a/(1024*1024*1024)).toFixed(1)}G`:String(Math.ceil(a/1024)||1)}var v={name:"du",flags:[{flag:"-a",type:"boolean"},{flag:"-h",type:"boolean"},{flag:"-s",type:"boolean"},{flag:"-c",type:"boolean"},{flag:"--max-depth",type:"value",valueHint:"number"}],needsFiles:!0};export{_ as a,v as b};