UNPKG

xcli-fsd

Version:
3 lines (2 loc) 29.1 kB
#!/usr/bin/env node (()=>{"use strict";var e={940:(e,t,n)=>{var r,i,o,s,c,a,l="win32"===process.platform,u="aes-256-cbc",p="sha256",f="The current environment doesn't support interactive reading from TTY.",d=n(147),h=process.binding("tty_wrap").TTY,y=n(81),m=n(17),g={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},b="none",v=!1,S=0,k="",x=[],w=!1,O=!1,C=!1;function E(e){return s.concat((t={display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"},n=[],Object.keys(t).forEach((function(r){"boolean"===t[r]?e[r]&&n.push("--"+r):"string"===t[r]&&e[r]&&n.push("--"+r,e[r].replace(/[^\w\u0080-\uFFFF]/g,(function(e){return"#"+e.charCodeAt(0)+";"})))})),n));var t,n}function I(e){var t="",g=e.display,x=!e.display&&e.keyIn&&e.hideEchoBack&&!e.mask;function I(){var t=function(e){var t,r,i={},a={env:process.env,encoding:e.encoding};if(o||(l?process.env.PSModulePath?(o="powershell.exe",s=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(o="cscript.exe",s=["//nologo",__dirname+"\\read.cs.js"]):(o="/bin/sh",s=[__dirname+"/read.sh"])),l&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),y.execFileSync){t=E(e),C&&C("execFileSync",t);try{i.input=y.execFileSync(o,t,a)}catch(e){r=e.stderr?(e.stderr+"").trim():"",i.error=new Error(f+(r?"\n"+r:"")),i.error.method="execFileSync",i.error.program=o,i.error.args=t,i.error.extMessage=r,i.error.exitCode=e.status,i.error.code=e.code,i.error.signal=e.signal}}else i=function(e,t){function r(e){var t,r,i="";for(c=c||n(37).tmpdir();;){t=m.join(c,e+i);try{r=d.openSync(t,"wx")}catch(e){if("EEXIST"===e.code){i++;continue}throw e}d.closeSync(r);break}return t}var i,s,a,h,g,b,v,k,x={},w=r("readline-sync.stdout"),O=r("readline-sync.stderr"),I=r("readline-sync.exit"),T=r("readline-sync.done"),$=n(113);(b=$.createHash(p)).update(""+process.pid+S+++Math.random()),k=b.digest("hex"),v=$.createDecipher(u,k),i=E(e),l?(s=process.env.ComSpec||"cmd.exe",process.env.Q='"',a=["/V:ON","/S","/C","(%Q%"+s+"%Q% /V:ON /S /C %Q%%Q%"+o+"%Q%"+i.map((function(e){return" %Q%"+e+"%Q%"})).join("")+" & (echo !ERRORLEVEL!)>%Q%"+I+"%Q%%Q%) 2>%Q%"+O+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+u+"%Q% %Q%"+k+"%Q% >%Q%"+w+"%Q% & (echo 1)>%Q%"+T+"%Q%"]):(s="/bin/sh",a=["-c",'("'+o+'"'+i.map((function(e){return" '"+e.replace(/'/g,"'\\''")+"'"})).join("")+'; echo $?>"'+I+'") 2>"'+O+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+u+'" "'+k+'" >"'+w+'"; echo 1 >"'+T+'"']),C&&C("_execFileSync",i);try{y.spawn(s,a,t)}catch(e){x.error=new Error(e.message),x.error.method="_execFileSync - spawn",x.error.program=s,x.error.args=a}for(;"1"!==d.readFileSync(T,{encoding:e.encoding}).trim(););return"0"===(h=d.readFileSync(I,{encoding:e.encoding}).trim())?x.input=v.update(d.readFileSync(w,{encoding:"binary"}),"hex",e.encoding)+v.final(e.encoding):(g=d.readFileSync(O,{encoding:e.encoding}).trim(),x.error=new Error(f+(g?"\n"+g:"")),x.error.method="_execFileSync",x.error.program=s,x.error.args=a,x.error.extMessage=g,x.error.exitCode=+h),d.unlinkSync(w),d.unlinkSync(O),d.unlinkSync(I),d.unlinkSync(T),x}(e,a);return i.error||(i.input=i.input.replace(/^\s*'|'\s*$/g,""),e.display=""),i}(e);if(t.error)throw t.error;return t.input}return O&&O(e),function(){var e,t,n;function o(){return e||(e=process.binding("fs"),t=(t=process.binding("constants"))&&t.fs&&"number"==typeof t.fs.O_RDWR?t.fs:t),e}if("string"==typeof b)if(b=null,l){if((n=function(e){var t=process.version.replace(/^\D+/,"").split("."),n=0;return(t[0]=+t[0])&&(n+=1e4*t[0]),(t[1]=+t[1])&&(n+=100*t[1]),(t[2]=+t[2])&&(n+=t[2]),n}())>=20302&&n<40204||n>=5e4&&n<50100||n>=50600&&n<60200||!process.stdin.isTTY)try{b=o().open("CONIN$",t.O_RDWR,parseInt("0666",8)),i=new h(b,!0)}catch(e){}else process.stdin.pause(),b=process.stdin.fd,i=process.stdin._handle;if(process.stdout.isTTY)r=process.stdout.fd;else{try{r=d.openSync("\\\\.\\CON","w")}catch(e){}if("number"!=typeof r)try{r=o().open("CONOUT$",t.O_RDWR,parseInt("0666",8))}catch(e){}}}else{if(process.stdin.isTTY){process.stdin.pause();try{b=d.openSync("/dev/tty","r"),i=process.stdin._handle}catch(e){}}else try{b=d.openSync("/dev/tty","r"),i=new h(b,!1)}catch(e){}if(process.stdout.isTTY)r=process.stdout.fd;else try{r=d.openSync("/dev/tty","w")}catch(e){}}}(),function(){var n,o,s,c,l,u,p,f=!e.hideEchoBack&&!e.keyIn;function h(e){return e===v||0===i.setRawMode(e)&&(v=e,!0)}if(a="",!w&&i&&("number"==typeof r||!e.display&&f)){if(e.display&&(d.writeSync(r,e.display),e.display=""),!e.displayOnly)if(h(!f)){for(c=e.keyIn?1:e.bufferSize,s=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(c):new Buffer(c),e.keyIn&&e.limit&&(o=new RegExp("[^"+e.limit+"]","g"+(e.caseSensitive?"":"i")));;){l=0;try{l=d.readSync(b,s,0,c)}catch(e){if("EOF"!==e.code)return h(!1),void(t+=I())}if(l>0?(u=s.toString(e.encoding,0,l),a+=u):(u="\n",a+=String.fromCharCode(0)),u&&"string"==typeof(p=(u.match(/^(.*?)[\r\n]/)||[])[1])&&(u=p,n=!0),u&&(u=u.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),u&&o&&(u=u.replace(o,"")),u&&(f||(e.hideEchoBack?e.mask&&d.writeSync(r,new Array(u.length+1).join(e.mask)):d.writeSync(r,u)),t+=u),!e.keyIn&&n||e.keyIn&&t.length>=c)break}f||x||d.writeSync(r,"\n"),h(!1)}else t=I()}else t=I()}(),e.print&&!x&&e.print(g+(e.displayOnly?"":(e.hideEchoBack?new Array(t.length+1).join(e.mask):t)+"\n"),e.encoding),e.displayOnly?"":k=e.keepWhitespace||e.keyIn?t:t.trim()}function T(e){return e.replace(/[\x00-\x7f]/g,(function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)}))}function $(){var e,t,n=Array.prototype.slice.call(arguments);return n.length&&"boolean"==typeof n[0]&&(t=n.shift())&&(e=Object.keys(g),n.unshift(g)),n.reduce((function(n,r){return null==r||(r.hasOwnProperty("noEchoBack")&&!r.hasOwnProperty("hideEchoBack")&&(r.hideEchoBack=r.noEchoBack,delete r.noEchoBack),r.hasOwnProperty("noTrim")&&!r.hasOwnProperty("keepWhitespace")&&(r.keepWhitespace=r.noTrim,delete r.noTrim),t||(e=Object.keys(r)),e.forEach((function(e){var t,i,o,s;if(r.hasOwnProperty(e))switch(t=r[e],e){case"mask":case"limitMessage":case"defaultInput":case"encoding":(t=null!=t?t+"":"")&&"limitMessage"!==e&&(t=t.replace(/[\r\n]/g,"")),n[e]=t;break;case"bufferSize":isNaN(t=parseInt(t,10))||"number"!=typeof t||(n[e]=t);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":n[e]=!!t;break;case"limit":case"trueValue":case"falseValue":n[e]=(i=t,o=function(e){var t=typeof e;return"string"===t||"number"===t||"function"===t||e instanceof RegExp},s=[],function e(t){null!=t&&(Array.isArray(t)?t.forEach(e):o&&!o(t)||s.push(t))}(i),s).map((function(e){return"string"==typeof e?e.replace(/[\r\n]/g,""):e}));break;case"print":case"phContent":case"preCheck":n[e]="function"==typeof t?t:void 0;break;case"prompt":case"display":n[e]=null!=t?t:""}}))),n}),{})}function M(e,t,n){return t.some((function(t){var r=typeof t;return"string"===r?n?e===t:e.toLowerCase()===t.toLowerCase():"number"===r?parseFloat(e)===t:"function"===r?t(e):t instanceof RegExp&&t.test(e)}))}function R(e,t){var n=m.normalize(l?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[/\\]+$/,"");return e=m.normalize(e),t?e.replace(/^~(?=\/|\\|$)/,n):e.replace(new RegExp("^"+T(n)+"(?=\\/|\\\\|$)",l?"i":""),"~")}function A(e,t){var n="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",r=new RegExp("(\\$)?(\\$<"+n+">)","g"),i=new RegExp("(\\$)?(\\$\\{"+n+"\\})","g");function o(e,n,r,i,o,s){var c;return n||"string"!=typeof(c=t(o))?r:c?(i||"")+c+(s||""):""}return e.replace(r,o).replace(i,o)}function B(e,t,n){var r,i,o=[],s=-1,c=0,a="";function l(e,t){return t.length>3?(e.push(t[0]+"..."+t[t.length-1]),i=!0):t.length&&(e=e.concat(t)),e}return r=e.reduce((function(e,t){return e.concat((t+"").split(""))}),[]).reduce((function(e,r){var i,u;return t||(r=r.toLowerCase()),i=/^\d$/.test(r)?1:/^[A-Z]$/.test(r)?2:/^[a-z]$/.test(r)?3:0,n&&0===i?a+=r:(u=r.charCodeAt(0),i&&i===s&&u===c+1?o.push(r):(e=l(e,o),o=[r],s=i),c=u),e}),[]),r=l(r,o),a&&(r.push(a),i=!0),{values:r,suppressed:i}}function _(e,t){return e.join(e.length>2?", ":t?" / ":"/")}function F(e,t){var n,r,i,o={};if(t.phContent&&(n=t.phContent(e,t)),"string"!=typeof n)switch(e){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":n=t.hasOwnProperty(e)?"boolean"==typeof t[e]?t[e]?"on":"off":t[e]+"":"";break;case"limit":case"trueValue":case"falseValue":r=t[t.hasOwnProperty(e+"Src")?e+"Src":e],n=_(r=t.keyIn?(o=B(r,t.caseSensitive)).values:r.filter((function(e){var t=typeof e;return"string"===t||"number"===t})),o.suppressed);break;case"limitCount":case"limitCountNotZero":n=(n=t[t.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length)||"limitCountNotZero"!==e?n+"":"";break;case"lastInput":n=k;break;case"cwd":case"CWD":case"cwdHome":n=process.cwd(),"CWD"===e?n=m.basename(n):"cwdHome"===e&&(n=R(n));break;case"date":case"time":case"localeDate":case"localeTime":n=(new Date)["to"+e.replace(/^./,(function(e){return e.toUpperCase()}))+"String"]();break;default:"string"==typeof(i=(e.match(/^history_m(\d+)$/)||[])[1])&&(n=x[x.length-i]||"")}return n}function P(e){var t,n,r,i,o=/^(.)-(.)$/.exec(e),s="";if(!o)return null;for(i=(t=o[1].charCodeAt(0))<(n=o[2].charCodeAt(0))?1:-1,r=t;r!==n+i;r+=i)s+=String.fromCharCode(r);return s}function N(e){var t,n,r=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),i="",o=[];for(e=e.trim();t=r.exec(e);)n=t[3]||t[4]||"",t[1]&&(o.push(i),i=""),i+=n;return i&&o.push(i),o}function j(e,t){return!(!t.trueValue.length||!M(e,t.trueValue,t.caseSensitive))||(!t.falseValue.length||!M(e,t.falseValue,t.caseSensitive))&&e}function L(e){var t,n,r,i,o,s,c;function a(t){return F(t,e)}function l(t){e.display+=(/[^\r\n]$/.test(e.display)?"\n":"")+t}for(e.limitSrc=e.limit,e.displaySrc=e.display,e.limit="",e.display=A(e.display+"",a);;){if(t=I(e),n=!1,r="",e.defaultInput&&!t&&(t=e.defaultInput),e.history&&((i=/^\s*!(?:!|-1)(:p)?\s*$/.exec(t))?(o=x[0]||"",i[1]?n=!0:t=o,l(o+"\n"),n||(e.displayOnly=!0,I(e),e.displayOnly=!1)):t&&t!==x[x.length-1]&&(x=[t])),!n&&e.cd&&t)switch((s=N(t))[0].toLowerCase()){case"cd":if(s[1])try{process.chdir(R(s[1],!0))}catch(e){l(e+"")}n=!0;break;case"pwd":l(process.cwd()),n=!0}if(!n&&e.preCheck&&(t=(c=e.preCheck(t,e)).res,c.forceNext&&(n=!0)),!n){if(!e.limitSrc.length||M(t,e.limitSrc,e.caseSensitive))break;e.limitMessage&&(r=A(e.limitMessage,a))}l((r?r+"\n":"")+A(e.displaySrc+"",a))}return j(t,e)}function V(e,n,r){var i;return t.question(e,$({limitMessage:"Input valid number, please."},n,{limit:function(e){return i=r(e),!isNaN(i)&&"number"==typeof i},cd:!1})),i}function D(e,t){var n={},r={};return"object"==typeof e?(Object.keys(e).forEach((function(n){"function"==typeof e[n]&&(r[t.caseSensitive?n:n.toLowerCase()]=e[n])})),n.preCheck=function(e){var i;return n.args=N(e),i=n.args[0]||"",t.caseSensitive||(i=i.toLowerCase()),n.hRes="_"!==i&&r.hasOwnProperty(i)?r[i].apply(e,n.args.slice(1)):r.hasOwnProperty("_")?r._.apply(e,n.args):null,{res:e,forceNext:!1}},r.hasOwnProperty("_")||(n.limit=function(){var e=n.args[0]||"";return t.caseSensitive||(e=e.toLowerCase()),r.hasOwnProperty(e)})):n.preCheck=function(t){return n.args=N(t),n.hRes="function"!=typeof e||e.apply(t,n.args),{res:t,forceNext:!1}},n}function q(e,n,r){var i;return null==e&&(e="Are you sure? "),n&&!1===n.guide||!(e+="")||(e=e.replace(/\s*:?\s*$/,"")+" [y/n]: "),"boolean"==typeof(i=t.keyIn(e,$(n,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})))?i:""}function Q(e,n){var r;return n.length&&((r={})[e]=n[0]),t.setDefaultOptions(r)[e]}t._DBG_set_useExt=function(e){w=e},t._DBG_set_checkOptions=function(e){O=e},t._DBG_set_checkMethod=function(e){C=e},t._DBG_clearHistory=function(){k="",x=[]},t.setDefaultOptions=function(e){return g=$(!0,e),$(!0)},t.question=function(e,t){return L($($(!0,t),{display:e}))},t.prompt=function(e){var t=$(!0,e);return t.display=t.prompt,L(t)},t.keyIn=function(e,t){var n=$($(!0,t),{display:e,keyIn:!0,keepWhitespace:!0});return n.limitSrc=n.limit.filter((function(e){var t=typeof e;return"string"===t||"number"===t})).map((function(e){return A(e+"",P)})),n.limit=T(n.limitSrc.join("")),["trueValue","falseValue"].forEach((function(e){n[e]=n[e].reduce((function(e,t){var n=typeof t;return"string"===n||"number"===n?e=e.concat((t+"").split("")):e.push(t),e}),[])})),n.display=A(n.display+"",(function(e){return F(e,n)})),j(I(n),n)},t.questionEMail=function(e,n){return null==e&&(e="Input e-mail address: "),t.question(e,$({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},n,{keepWhitespace:!1,cd:!1}))},t.questionNewPassword=function(e,n){var r,i,o,s,c,a,l,u,p,f,d=$({hideEchoBack:!0,mask:"*",limitMessage:"It can include: $<charlist>\nAnd the length must be: $<length>",trueValue:null,falseValue:null,caseSensitive:!0},n,{history:!1,cd:!1,phContent:function(e){return"charlist"===e?r.text:"length"===e?i+"..."+o:null}});for(s=A((n=n||{}).charlist?n.charlist+"":"$<!-~>",P),(isNaN(i=parseInt(n.min,10))||"number"!=typeof i)&&(i=12),(isNaN(o=parseInt(n.max,10))||"number"!=typeof o)&&(o=24),l=new RegExp("^["+T(s)+"]{"+i+","+o+"}$"),(r=B([s],d.caseSensitive,!0)).text=_(r.values,r.suppressed),c=null!=n.confirmMessage?n.confirmMessage:"Reinput a same one to confirm it: ",a=null!=n.unmatchMessage?n.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",null==e&&(e="Input new password: "),u=d.limitMessage;!f;)d.limit=l,d.limitMessage=u,p=t.question(e,d),d.limit=[p,""],d.limitMessage=a,f=t.question(c,d);return p},t.questionInt=function(e,t){return V(e,t,(function(e){return parseInt(e,10)}))},t.questionFloat=function(e,t){return V(e,t,parseFloat)},t.questionPath=function(e,n){var r,i="",o=$({hideEchoBack:!1,limitMessage:"$<error(\n)>Input valid path, please.$<( Min:)min>$<( Max:)max>",history:!0,cd:!0},n,{keepWhitespace:!1,limit:function(e){var t,o,s;function c(e){e.split(/\/|\\/).reduce((function(e,t){var n=m.resolve(e+=t+m.sep);if(d.existsSync(n)){if(!d.statSync(n).isDirectory())throw new Error("Non directory already exists: "+n)}else d.mkdirSync(n);return e}),"")}e=R(e,!0),i="";try{if(t=d.existsSync(e),r=t?d.realpathSync(e):m.resolve(e),!n.hasOwnProperty("exists")&&!t||"boolean"==typeof n.exists&&n.exists!==t)return i=(t?"Already exists":"No such file or directory")+": "+r,!1;if(!t&&n.create&&(n.isDirectory?c(r):(c(m.dirname(r)),d.closeSync(d.openSync(r,"w"))),r=d.realpathSync(r)),t&&(n.min||n.max||n.isFile||n.isDirectory)){if(o=d.statSync(r),n.isFile&&!o.isFile())return i="Not file: "+r,!1;if(n.isDirectory&&!o.isDirectory())return i="Not directory: "+r,!1;if(n.min&&o.size<+n.min||n.max&&o.size>+n.max)return i="Size "+o.size+" is out of range: "+r,!1}if("function"==typeof n.validate&&!0!==(s=n.validate(r)))return"string"==typeof s&&(i=s),!1}catch(e){return i=e+"",!1}return!0},phContent:function(e){return"error"===e?i:"min"!==e&&"max"!==e?null:n.hasOwnProperty(e)?n[e]+"":""}});return n=n||{},null==e&&(e='Input path (you can "cd" and "pwd"): '),t.question(e,o),r},t.promptCL=function(e,n){var r=$({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},n),i=D(e,r);return r.limit=i.limit,r.preCheck=i.preCheck,t.prompt(r),i.args},t.promptLoop=function(e,n){for(var r=$({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},n);!e(t.prompt(r)););},t.promptCLLoop=function(e,n){var r=$({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},n),i=D(e,r);for(r.limit=i.limit,r.preCheck=i.preCheck;t.prompt(r),!i.hRes;);},t.promptSimShell=function(e){return t.prompt($({hideEchoBack:!1,history:!0},e,{prompt:l?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}))},t.keyInYN=function(e,t){return q(e,t)},t.keyInYNStrict=function(e,t){return q(e,t,"yn")},t.keyInPause=function(e,n){null==e&&(e="Continue..."),n&&!1===n.guide||!(e+="")||(e=e.replace(/\s+$/,"")+" (Hit any key)"),t.keyIn(e,$({limit:null},n,{hideEchoBack:!0,mask:""}))},t.keyInSelect=function(e,n,r){var i=$({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(t){return"itemsCount"===t?e.length+"":"firstItem"===t?(e[0]+"").trim():"lastItem"===t?(e[e.length-1]+"").trim():null}}),o="",s={},c=49,a="\n";if(!Array.isArray(e)||!e.length||e.length>35)throw"`items` must be Array (max length: 35).";return e.forEach((function(e,t){var n=String.fromCharCode(c);o+=n,s[n]=t,a+="["+n+"] "+(e+"").trim()+"\n",c=57===c?97:c+1})),r&&!1===r.cancel||(o+="0",s[0]=-1,a+="[0] "+(r&&null!=r.cancel&&"boolean"!=typeof r.cancel?(r.cancel+"").trim():"CANCEL")+"\n"),i.limit=o,a+="\n",null==n&&(n="Choose one from list: "),(n+="")&&(r&&!1===r.guide||(n=n.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),a+=n),s[t.keyIn(a,i).toLowerCase()]},t.getRawInput=function(){return a},t.setPrint=function(){return Q("print",arguments)},t.setPrompt=function(){return Q("prompt",arguments)},t.setEncoding=function(){return Q("encoding",arguments)},t.setMask=function(){return Q("mask",arguments)},t.setBufferSize=function(){return Q("bufferSize",arguments)}},81:e=>{e.exports=require("child_process")},113:e=>{e.exports=require("crypto")},147:e=>{e.exports=require("fs")},37:e=>{e.exports=require("os")},17:e=>{e.exports=require("path")}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=(e=0)=>t=>`[${t+e}m`,t=(e=0)=>t=>`[${38+e};5;${t}m`,r=(e=0)=>(t,n,r)=>`[${38+e};2;${t};${n};${r}m`,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(i.modifier),Object.keys(i.color),Object.keys(i.bgColor);const o=function(){const n=new Map;for(const[e,t]of Object.entries(i)){for(const[e,r]of Object.entries(t))i[e]={open:`[${r[0]}m`,close:`[${r[1]}m`},t[e]=i[e],n.set(r[0],r[1]);Object.defineProperty(i,e,{value:t,enumerable:!1})}return Object.defineProperty(i,"codes",{value:n,enumerable:!1}),i.color.close="",i.bgColor.close="",i.color.ansi=e(),i.color.ansi256=t(),i.color.ansi16m=r(),i.bgColor.ansi=e(10),i.bgColor.ansi256=t(10),i.bgColor.ansi16m=r(10),Object.defineProperties(i,{rgbToAnsi256:{value:(e,t,n)=>e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;3===n.length&&(n=[...n].map((e=>e+e)).join(""));const r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},enumerable:!1},hexToAnsi256:{value:e=>i.rgbToAnsi256(...i.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,n,r;if(e>=232)t=(10*(e-232)+8)/255,n=t,r=t;else{const i=(e-=16)%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}const i=2*Math.max(t,n,r);if(0===i)return 30;let o=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return 2===i&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>i.ansi256ToAnsi(i.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>i.ansi256ToAnsi(i.hexToAnsi256(e)),enumerable:!1}}),i}(),s=require("node:process"),c=require("node:os"),a=require("node:tty");function l(e,t=(globalThis.Deno?globalThis.Deno.args:s.argv)){const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r<i)}const{env:u}=s;let p;function f(e,t={}){return 0!==(n=function(e,{streamIsTTY:t,sniffFlags:n=!0}={}){const r=function(){if("FORCE_COLOR"in u)return"true"===u.FORCE_COLOR?1:"false"===u.FORCE_COLOR?0:0===u.FORCE_COLOR.length?1:Math.min(Number.parseInt(u.FORCE_COLOR,10),3)}();void 0!==r&&(p=r);const i=n?p:r;if(0===i)return 0;if(n){if(l("color=16m")||l("color=full")||l("color=truecolor"))return 3;if(l("color=256"))return 2}if("TF_BUILD"in u&&"AGENT_NAME"in u)return 1;if(e&&!t&&void 0===i)return 0;const o=i||0;if("dumb"===u.TERM)return o;if("win32"===s.platform){const e=c.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in u)return"GITHUB_ACTIONS"in u||"GITEA_ACTIONS"in u?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((e=>e in u))||"codeship"===u.CI_NAME?1:o;if("TEAMCITY_VERSION"in u)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0;if("truecolor"===u.COLORTERM)return 3;if("xterm-kitty"===u.TERM)return 3;if("TERM_PROGRAM"in u){const e=Number.parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(u.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)||"COLORTERM"in u?1:o}(e,{streamIsTTY:e&&e.isTTY,...t}))&&{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3};var n}l("no-color")||l("no-colors")||l("color=false")||l("color=never")?p=0:(l("color")||l("colors")||l("color=true")||l("color=always"))&&(p=1);const d={stdout:f({isTTY:a.isatty(1)}),stderr:f({isTTY:a.isatty(2)})};function h(e,t,n){let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let o=0,s="";do{s+=e.slice(o,r)+t+n,o=r+i,r=e.indexOf(t,o)}while(-1!==r);return s+=e.slice(o),s}const{stdout:y,stderr:m}=d,g=Symbol("GENERATOR"),b=Symbol("STYLER"),v=Symbol("IS_EMPTY"),S=["ansi","ansi","ansi256","ansi16m"],k=Object.create(null);function x(e){return(e=>{const t=(...e)=>e.join(" ");return((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=y?y.level:0;e.level=void 0===t.level?n:t.level})(t,e),Object.setPrototypeOf(t,x.prototype),t})(e)}Object.setPrototypeOf(x.prototype,Function.prototype);for(const[e,t]of Object.entries(o))k[e]={get(){const n=I(this,E(t.open,t.close,this[b]),this[v]);return Object.defineProperty(this,e,{value:n}),n}};k.visible={get(){const e=I(this,this[b],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const w=(e,t,n,...r)=>"rgb"===e?"ansi16m"===t?o[n].ansi16m(...r):"ansi256"===t?o[n].ansi256(o.rgbToAnsi256(...r)):o[n].ansi(o.rgbToAnsi(...r)):"hex"===e?w("rgb",t,n,...o.hexToRgb(...r)):o[n][e](...r),O=["rgb","hex","ansi256"];for(const e of O)k[e]={get(){const{level:t}=this;return function(...n){const r=E(w(e,S[t],"color",...n),o.color.close,this[b]);return I(this,r,this[v])}}},k["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const r=E(w(e,S[t],"bgColor",...n),o.bgColor.close,this[b]);return I(this,r,this[v])}}};const C=Object.defineProperties((()=>{}),{...k,level:{enumerable:!0,get(){return this[g].level},set(e){this[g].level=e}}}),E=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},I=(e,t,n)=>{const r=(...e)=>T(r,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(r,C),r[g]=e,r[b]=t,r[v]=n,r},T=(e,t)=>{if(e.level<=0||!t)return e[v]?"":t;let n=e[b];if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(t.includes(""))for(;void 0!==n;)t=h(t,n.close,n.open),n=n.parent;const o=t.indexOf("\n");return-1!==o&&(t=function(e,t,n,r){let i=0,o="";do{const s="\r"===e[r-1];o+=e.slice(i,s?r-1:r)+t+(s?"\r\n":"\n")+n,i=r+1,r=e.indexOf("\n",i)}while(-1!==r);return o+=e.slice(i),o}(t,i,r,o)),r+t+i};Object.defineProperties(x.prototype,k);const $=x(),M=(x({level:m?m.level:0}),$),R=e=>console.error(M.red(e));var A=n(147),B=n.n(A);const _=process.cwd(),F=(...e)=>e.reduce(((e,t)=>e+"/"+t),""),P=e=>(...t)=>F(e,...t);var N=n(940);const j=[{title:"Create",desc:"Create an element"},{title:"Move",desc:"Move an element"}],L=[{title:"Shared component",desc:"Create a shared component"},{title:"Slice",desc:"Create a slice"}],V=(e,t)=>{const n=t?M.blue(`${t}.`):"";console.log(n+M.blue(e.title)+"\t"+M.magenta(e.desc))},D=e=>{if(Array.isArray(e))for(let t=0;t<e.length;t++){const n=e[t];V(n,t+1)}else V(e)},q=e=>`import { FC } from 'react';\nimport styles from './${e}.module.scss';\n\ninterface I${e}Props {};\n\nexport const ${e}: FC<I${e}Props> = () => {\n return <div></div>;\n};\n`,Q=e=>`export * from './${e}';\n`,z=e=>{const t=N.question("Component name: ");if(!t)return!1;const n=((e,t)=>{const n=P(e),r=P(`${e}/shared/ui`);try{const i=B().readdirSync(n("shared"));let o=!1;for(const e of i)if("ui"===e){o=!0;break}o||B().mkdirSync(n("shared","ui"));try{B().mkdirSync(r(t))}catch(n){return R(`${t} component already exists`),z(e)}B().writeFileSync(r(t,`${t}.tsx`),q(t)),B().writeFileSync(r(t,`${t}.module.scss`),""),B().writeFileSync(r(t,`${t}.stories.tsx`),(e=>`import { Meta, StoryObj } from '@storybook/react';\nimport { ${e} } from '.';\n\nconst meta: Meta = {\n title: '${e}',\n component: ${e},\n};\n\ntype Story = StoryObj<typeof ${e}>;\n\nexport const Primary: Story = {};\n\nexport default meta;\n`)(t)),B().writeFileSync(r(t,"index.ts"),Q(t));const s=B().readdirSync(n("shared","ui"));let c=!1;for(const e of s)if("index.ts"===e){c=!0;break}return c?B().appendFileSync(n("shared","ui","index.ts"),Q(t)):B().writeFileSync(n("shared","ui","index.ts"),Q(t)),console.log(M.greenBright(`\n${t} component successfully created\n`)),!0}catch(e){return R("Shared dir not found"),!1}})(e,t);return!!n},Y=(e,t,n)=>{let r=t||"";if(!t&&(r=N.question("Layer: "),!r))return H(e);let i=n||"";if(!n&&(i=N.question("Slice name: "),!i))return Y(e);const o=((e,t,n)=>{const r=P(e);try{B().mkdirSync(r(t,n))}catch(e){}try{B().mkdirSync(r(t,n,"ui"))}catch(e){}return!0})(e,r,i);if(!o)return!1;const s=N.question("Component name: ");if(!s)return!0;const c=((e,t,n,r)=>{const i=`${e}/${t}/${n}`,o=P(`${i}/ui`),s=P(i);try{B().mkdirSync(o(r))}catch(e){return R(`${r} component already exists`),!1}B().writeFileSync(o(r,`${r}.tsx`),q(r)),B().writeFileSync(o(r,`${r}.module.scss`),""),B().writeFileSync(o(r,"index.ts"),Q(r));const c=B().readdirSync(o());let a=!1;for(const e of c)if("index.ts"===e){a=!0;break}a?B().appendFileSync(o("index.ts"),Q(r)):B().writeFileSync(o("index.ts"),Q(r));const l=B().readdirSync(s());for(const e of l)if("index.ts"===e){a=!0;break}return B().writeFileSync(s("index.ts"),Q("ui")),console.log(M.greenBright(`\n${r} component successfully created\n`)),!0})(e,r,i,s);return!!c||Y(e,r,i)},W=["1","sc","shared"],G=["2","s","slice"],H=e=>{console.log("\n"),D(L);const t=N.question("\nSelect what u wanna create: ");return W.includes(t.toLowerCase())?z(e)?U(e):H(e):G.includes(t.toLowerCase())?!!Y(e)&&U(e):""===t?U(e):"cls"===t?(console.clear(),H(e)):(R("Incorrect choice"),H(e))},Z=["1","c","create"],U=e=>(D(j),((e,t)=>{Z.includes(t.toLowerCase())?H(e):"cls"===t?(console.clear(),U(e)):(R("Action not found\n"),U(e))})(e,N.question("Select action: ")),!0);(()=>{console.log(M.green("===> FSD SCRIPT <===\n"));const{isSuccess:e,config:t}=(()=>{const e=P(_);try{const t=JSON.parse(B().readFileSync(e("xcli.json"),{encoding:"utf-8"}));return t.path?{isSuccess:!0,config:t}:(R('"path" parameter not found. Set the "path: "fsd-path" '),{isSuccess:!1})}catch(e){return R("xcli.json not found or empty"),{isSuccess:!1}}})();if(!e)return;const n=F(_,(null==t?void 0:t.path)||""),r=(e=>{const t=P(e),n=["app","pages","widgets","features","entities","shared"],r=[];try{const e=B().readdirSync(t());for(const t of e)n.includes(t)&&r.push(t)}catch(t){return R(`${e} not found`),!1}if(r.length===n.length)return!0;if("n"===N.question(M.yellowBright("Initialize FSD architecture? (y/n): ")))return!1;const i=(o=r,n.reduce(((e,t)=>(o.includes(t)||e.push(t),e)),[]));var o;for(const e of i)try{B().mkdirSync(t(e))}catch(t){return R(`Can't create ${e} dir`),!1}return console.log(M.greenBright("\nFSD architecture initialized\n")),!0})(n);r&&U(n)})()})()})();