Atom eve seo
This commit is contained in:
8
.output/server/node_modules/just-bash/dist/bundle/chunks/chunk-WM5IJFMP.js
generated
vendored
Normal file
8
.output/server/node_modules/just-bash/dist/bundle/chunks/chunk-WM5IJFMP.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
||||
import{a as w,b as v,c as $}from"./chunk-QAYAQNCG.js";var R={name:"chmod",summary:"change file mode bits",usage:"chmod [OPTIONS] MODE FILE...",options:["-R change files recursively","-v output a diagnostic for every file processed"," --help display this help and exit"]},C={name:"chmod",async execute(s,a){if(v(s))return w(R);if(s.length<2)return{stdout:"",stderr:`chmod: missing operand
|
||||
`,exitCode:1};let e=!1,c=!1,i=0;for(;i<s.length&&s[i].startsWith("-");){let t=s[i];if(t==="-R"||t==="--recursive")e=!0,i++;else if(t==="-v"||t==="--verbose")c=!0,i++;else if(t==="--"){i++;break}else{if(/^[+-]?[rwxugo]+/.test(t)||/^\d+$/.test(t))break;if(/^-[Rv]+$/.test(t)){t.includes("R")&&(e=!0),t.includes("v")&&(c=!0),i++;continue}return $("chmod",t)}}if(s.length-i<2)return{stdout:"",stderr:`chmod: missing operand
|
||||
`,exitCode:1};let n=s[i],l=s.slice(i+1),r=/^[0-7]+$/.test(n),o;if(r)o=parseInt(n,8);else try{p(n,420)}catch{return{stdout:"",stderr:`chmod: invalid mode: '${n}'
|
||||
`,exitCode:1}}let f="",d="",u=!1;for(let t of l){let h=a.fs.resolvePath(a.cwd,t);try{let m;if(r&&o!==void 0)m=o;else{let g=await a.fs.stat(h);m=p(n,g.mode)}if(await a.fs.chmod(h,m),c&&(f+=`mode of '${t}' changed to ${m.toString(8).padStart(4,"0")}
|
||||
`),e&&(await a.fs.stat(h)).isDirectory){let I=await y(a,h,r?o:void 0,r?void 0:n,c);f+=I}}catch{d+=`chmod: cannot access '${t}': No such file or directory
|
||||
`,u=!0}}return{stdout:f,stderr:d,exitCode:u?1:0}}};async function y(s,a,e,c,i){let n="",l=await s.fs.readdir(a);for(let r of l){let o=a==="/"?`/${r}`:`${a}/${r}`,f;if(e!==void 0)f=e;else if(c!==void 0){let u=await s.fs.stat(o);f=p(c,u.mode)}else f=420;await s.fs.chmod(o,f),i&&(n+=`mode of '${o}' changed to ${f.toString(8).padStart(4,"0")}
|
||||
`),(await s.fs.stat(o)).isDirectory&&(n+=await y(s,o,e,c,i))}return n}function p(s,a=420){if(/^[0-7]+$/.test(s))return parseInt(s,8);let e=a&4095,c=s.split(",");for(let i of c){let n=i.match(/^([ugoa]*)([+\-=])([rwxXst]*)$/);if(!n)throw new Error(`Invalid mode: ${s}`);let l=n[1]||"a",r=n[2],o=n[3];(l==="a"||l==="")&&(l="ugo");let f=0;o.includes("r")&&(f|=4),o.includes("w")&&(f|=2),(o.includes("x")||o.includes("X"))&&(f|=1);let d=0;o.includes("s")&&(l.includes("u")&&(d|=2048),l.includes("g")&&(d|=1024)),o.includes("t")&&(d|=512);for(let u of l){let t=0;u==="u"?t=6:u==="g"?t=3:u==="o"&&(t=0);let h=f<<t;r==="+"?e|=h:r==="-"?e&=~h:r==="="&&(e&=~(7<<t),e|=h)}r==="+"?e|=d:r==="-"?e&=~d:r==="="&&(o.includes("s")&&(l.includes("u")&&(e&=-2049,e|=d&2048),l.includes("g")&&(e&=-1025,e|=d&1024)),o.includes("t")&&(e&=-513,e|=d&512))}return e}var O={name:"chmod",flags:[{flag:"-R",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0,minArgs:2};export{C as a,O as b};
|
||||
Reference in New Issue
Block a user