@northflank/cli 0.4.5 → 0.6.0

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.
package/dist/cli.js CHANGED
@@ -1,2 +1,500 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';var a1U=['parseAsync','Command','push','checkUpdate','custom-columns=','getCurrentJobName','Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli','askForJobRun','1AMEknU','VERBOSE:\x20Request\x20body\x20->\x20','addonId','next','sent','request','1072451vpDwcv','runId','addCommand','secretId','delete','message','Unknown\x20input\x20file\x20type:\x20','serviceId','base','retrievePayloadViaInteractiveCli','body','__createBinding','regions','credential','trys','Northflank\x20cli\x20version:\x20','includes','get','chalk','consoleFormat','Get\x20information\x20about\x20Northflank\x20','\x20--','ApiClient','706281CQqxBv','name','lodash','readFileSync','keys','dmn','prototype','opt','argv','update','log','780851hzZDyV','function','pop','isString','path','js-yaml','639TYnolF','verbose','safeDump','askForSubdomain','find','1465229kwvomD','domainId','query','subdomainId','Generator\x20is\x20already\x20executing.','validate','yml','subdomain','endpoints','__assign','return','output','@northflank/js-client','--verbose','secrets','json','Failed\x20to\x20validate\x20input\x20(schema\x20mismatch):\x0a','file','schema','default','underline','InquirerHelper','kebabCase','url','askForSecret','throw','1mieRhJ','version','resource','replace','__esModule','endsWith','list','Update\x20Northflank\x20','CliContext','description','cred','getCommand','-i,\x20--input\x20<resource-def>','.json','set','input','done','getCurrentProjectName','safeLoad','printAsTable','domains','plans','defineProperty','option',',\x20-','alias','portFwdCmd','3617ameXAu','error','commander','domain','ops','adn','asyncSequential','hasOwnProperty','login','__generator','defaults','jobId','askForAddon','OPTIONAL:\x20','rgn','VERBOSE:\x20Using\x20endpoint\x20->\x20','assign','askForCredentials','errors','Resource\x20was\x20not\x20deleted.','__importDefault','required','askForService','should\x20match\x20exactly\x20one\x20schema\x20in\x20oneOf','576YOSAnJ','./defaults','./inquirer-helper','./console-format-helpers','-v,\x20--version','projectId','projects','type','action','split','pln','value','\x20Northflank\x20resources','yaml','Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20','customUserAgent','forEach','quiet','svc','exitCode','join','./port-forward/client','getCurrentServiceName','getOwnPropertyNames','iterator','toString','label','propToType','\x20properties','create','parse','response','deleteWarningPrompt','upperFirst','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','contexts','services','warning','apply','length','askForAddonBackup','askForDomain','call','force','__awaiter','map','JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22','has','CliPortForward','./utils','-f,\x20--file\x20<file-path>','1820131hYybOE','bind','804IDJvYo'];var a1W=a1k;(function(U,k){var E=a1k;while(!![]){try{var G=parseInt(E(0x154))*-parseInt(E(0x149))+-parseInt(E(0x187))+parseInt(E(0x182))*parseInt(E(0x116))+parseInt(E(0x171))+parseInt(E(0x1a1))*-parseInt(E(0x17c))+parseInt(E(0x15a))+parseInt(E(0x14b))*parseInt(E(0xfe));if(G===k)break;else U['push'](U['shift']());}catch(Q){U['push'](U['shift']());}}}(a1U,0xf15ed));function a1k(U,k){U=U-0xfc;var G=a1U[U];return G;}var __assign=this&&this[a1W(0x190)]||function(){var U0=a1W;return __assign=Object[U0(0x10e)]||function(U){var U1=U0;for(var k,G=0x1,Q=arguments[U1(0x13d)];G<Q;G++){k=arguments[G];for(var f in k)if(Object['prototype'][U1(0x105)][U1(0x140)](k,f))U[f]=k[f];}return U;},__assign['apply'](this,arguments);},__createBinding=this&&this[a1W(0x165)]||(Object[a1W(0x133)]?function(U,G,Q,f){var U2=a1W;if(f===undefined)f=Q;Object[U2(0x1b7)](U,f,{'enumerable':!![],'get':function(){return G[Q];}});}:function(U,G,Q,f){if(f===undefined)f=Q;U[f]=G[Q];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object[a1W(0x133)]?function(U,k){var U3=a1W;Object[U3(0x1b7)](U,U3(0x19a),{'enumerable':!![],'value':k});}:function(U,k){U['default']=k;}),__importStar=this&&this['__importStar']||function(U){var U4=a1W;if(U&&U[U4(0x1a5)])return U;var G={};if(U!=null){for(var Q in U)if(Q!==U4(0x19a)&&Object[U4(0x177)]['hasOwnProperty'][U4(0x140)](U,Q))__createBinding(G,U,Q);}return __setModuleDefault(G,U),G;},__awaiter=this&&this[a1W(0x142)]||function(U,k,G,Q){function f(C){return C instanceof G?C:new G(function(y){y(C);});}return new(G||(G=Promise))(function(C,y){var U7=a1k;function e(i){try{s(Q['next'](i));}catch(g){y(g);}}function p(i){var U5=a1k;try{s(Q[U5(0x1a0)](i));}catch(g){y(g);}}function s(i){var U6=a1k;i[U6(0x1b1)]?C(i[U6(0x121)]):f(i[U6(0x121)])['then'](e,p);}s((Q=Q[U7(0x13c)](U,k||[]))[U7(0x157)]());});},__generator=this&&this[a1W(0x107)]||function(U,k){var U8=a1W,G={'label':0x0,'sent':function(){if(e[0x0]&0x1)throw e[0x1];return e[0x1];},'trys':[],'ops':[]},Q,C,e,p;return p={'next':s(0x0),'throw':s(0x1),'return':s(0x2)},typeof Symbol===U8(0x17d)&&(p[Symbol[U8(0x12e)]]=function(){return this;}),p;function s(L){return function(H){return i([L,H]);};}function i(L){var U9=U8;if(Q)throw new TypeError(U9(0x18b));while(G)try{if(Q=0x1,C&&(e=L[0x0]&0x2?C[U9(0x191)]:L[0x0]?C['throw']||((e=C[U9(0x191)])&&e[U9(0x140)](C),0x0):C['next'])&&!(e=e[U9(0x140)](C,L[0x1]))[U9(0x1b1)])return e;if(C=0x0,e)L=[L[0x0]&0x2,e[U9(0x121)]];switch(L[0x0]){case 0x0:case 0x1:e=L;break;case 0x4:G[U9(0x130)]++;return{'value':L[0x1],'done':![]};case 0x5:G[U9(0x130)]++,C=L[0x1],L=[0x0];continue;case 0x7:L=G[U9(0x102)][U9(0x17e)](),G['trys'][U9(0x17e)]();continue;default:if(!(e=G['trys'],e=e['length']>0x0&&e[e[U9(0x13d)]-0x1])&&(L[0x0]===0x6||L[0x0]===0x2)){G=0x0;continue;}if(L[0x0]===0x3&&(!e||L[0x1]>e[0x0]&&L[0x1]<e[0x3])){G[U9(0x130)]=L[0x1];break;}if(L[0x0]===0x6&&G['label']<e[0x1]){G['label']=e[0x1],e=L;break;}if(e&&G[U9(0x130)]<e[0x2]){G[U9(0x130)]=e[0x2],G[U9(0x102)][U9(0x14e)](L);break;}if(e[0x2])G[U9(0x102)][U9(0x17e)]();G[U9(0x168)][U9(0x17e)]();continue;}L=k[U9(0x140)](U,G);}catch(H){L=[0x6,H],C=0x0;}finally{Q=e=0x0;}if(L[0x0]&0x5)throw L[0x1];return{'value':L[0x0]?L[0x1]:void 0x0,'done':!![]};}},__importDefault=this&&this[a1W(0x112)]||function(U){return U&&U['__esModule']?U:{'default':U};};Object['defineProperty'](exports,a1W(0x1a5),{'value':!![]});var js_client_1=require(a1W(0x193)),commander_1=__importDefault(require(a1W(0x100))),fs_1=__importDefault(require('fs')),ajv_1=__importDefault(require('ajv')),chalk_1=__importDefault(require(a1W(0x16c))),_=__importStar(require(a1W(0x173))),client_1=require(a1W(0x12b)),contextCommands_1=require('./context/contextCommands'),utils_1=require(a1W(0x147)),defaults=__importStar(require(a1W(0x117))),inquirer_helper_1=require(a1W(0x118)),console_format_helpers_1=require(a1W(0x119)),command_overview_1=require('./command-overview'),yaml=require(a1W(0x181)),pgk=require('../package.json');(function(){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var U,k,G,Q,f,C;return __generator(this,function(y){var UU=a1k;switch(y['label']){case 0x0:y[UU(0x168)]['push']([0x0,0x3,,0x4]),U=new commander_1[(UU(0x19a))][(UU(0x14d))]('northflank'),U['version'](UU(0x169)+chalk_1[UU(0x19a)][UU(0x19b)](pgk[UU(0x1a2)]),UU(0x11a),UU(0x152)),k=new js_client_1['ApiClientFileContextProvider']();return[0x4,utils_1[UU(0x14f)](k)];case 0x1:y['sent'](),G=new js_client_1[(UU(0x170))](k,{'throwErrorOnHttpErrorCode':![],'customUserAgent':utils_1[UU(0x125)]}),Q=new contextCommands_1[(UU(0x1a9))](G),f=new client_1[(UU(0x146))](k),U[UU(0x15c)](f[UU(0xfd)]),U['addCommand'](Q[UU(0x106)]),U[UU(0x15c)](Q[UU(0x139)]),generateCommands(G,G[UU(0x18f)],U),U[UU(0x15c)](command_overview_1['getCommandOverview'](U));return[0x4,U[UU(0x14c)](process[UU(0x179)])];case 0x2:y[UU(0x158)]();return[0x3,0x4];case 0x3:C=y[UU(0x158)](),utils_1[UU(0xff)](UU(0x138)+C[UU(0x15f)]);process[UU(0x179)][UU(0x186)](function(e){var Uk=UU;return e===Uk(0x194);})&&console[UU(0x17b)](C);process[UU(0x129)]=0x1;return[0x3,0x4];case 0x4:return[0x2];}});});}());function generateCommands(U,k,G,Q,f){var UG=a1W,C=this;Q===void 0x0&&(Q=defaults[UG(0x108)]);f===void 0x0&&(f=[]);var y=new inquirer_helper_1[(UG(0x19c))](new js_client_1[(UG(0x170))](U['contextProvider'],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1[UG(0x125)]}));function e(g,L){var UQ=UG;return g[UQ(0x113)]!==![]&&L===undefined;}function p(g,L){var Uf=UG,H=g[Uf(0x178)],I=g['name'],v=H[Uf(0x19a)],R=e(H,v),b=function(r){var UC=Uf;return r[UC(0x13d)]>0x1?'--'+r:'-'+r;},d=H===null||H===void 0x0?void 0x0:H[Uf(0xfc)],Z=d?_['isArray'](d)?'-'+(d===null||d===void 0x0?void 0x0:d['map'](function(r){return b(r);})['join'](Uf(0x1b9)))+',':''+b(d):'',n=R?'':Uf(0x10b),J=typeof H[Uf(0x11d)]==='boolean'?Z+Uf(0x16f)+I:Z+Uf(0x16f)+I+'\x20<'+I['toUpperCase']()+'>';L[Uf(0x1b8)](J,n+H['description'],v);}return Object[UG(0x12d)](k)[UG(0x126)](function(g){var UI=UG,L,H,I,v,R=k[g],b=Q[g],d=f['concat']([g]);function Z(a,K){var Uy=a1k,h=Object['getOwnPropertyNames'](a||{});h[Uy(0x143)](function(V){return{'name':V,'opt':a[V]};})['sort'](function(V,N){var Ue=Uy;return!e(V[Ue(0x178)])?!e(N[Ue(0x178)])?0x0:0x1:-0x1;})[Uy(0x126)](function(V){p(V,K);});}function n(a,K){var Up=a1k,h={'project':[Up(0x11c),'prj'],'service':[Up(0x13a),Up(0x128)],'credentials':[Up(0x167),Up(0x1ab)],'addon':['addons',Up(0x103)],'job':['jobs'],'plan':[Up(0x1b6),Up(0x120)],'region':[Up(0x166),Up(0x10c)],'domain':[Up(0x1b5),Up(0x176)],'secret':[Up(0x195),'scr']};if(h[K])h[K][Up(0x126)](function(V){return a['alias'](V);});}function J(a){return __awaiter(this,void 0x0,void 0x0,function(){function K(O,j,M){var F,u;return __awaiter(this,void 0x0,void 0x0,function(){var A,l,X;return __generator(this,function(o){var Us=a1k;switch(o[Us(0x130)]){case 0x0:if(!_[Us(0x145)]((u=(F=b['opt'])===null||F===void 0x0?void 0x0:F[Us(0x180)])!==null&&u!==void 0x0?u:{},O))return[0x3,0x3];A=!w&&!N&&M?M():undefined,X=a[O]||A;if(X)return[0x3,0x2];return[0x4,j()];case 0x1:X=o[Us(0x158)](),o['label']=0x2;case 0x2:l=X,_[Us(0x1af)](h,O,l),o[Us(0x130)]=0x3;case 0x3:return[0x2];}});});}var h,V,N,w,q;return __generator(this,function(O){var Ui=a1k;switch(O[Ui(0x130)]){case 0x0:h={},V=U['contextProvider'],N=d['includes'](Ui(0x15e)),w=a['noDefaults']===!![];return[0x4,K('projectId',y['askForProject'][Ui(0x14a)](y),V[Ui(0x1b2)]['bind'](V))];case 0x1:O[Ui(0x158)](),q=h===null||h===void 0x0?void 0x0:h[Ui(0x11b)];return[0x4,K(Ui(0x161),y[Ui(0x114)](q)[Ui(0x14a)](y),V[Ui(0x12c)][Ui(0x14a)](V))];case 0x2:O[Ui(0x158)]();return[0x4,K(Ui(0x156),y[Ui(0x10a)](q)[Ui(0x14a)](y))];case 0x3:O[Ui(0x158)]();return[0x4,K('jobId',y['askForJob'](q)[Ui(0x14a)](y),V[Ui(0x151)][Ui(0x14a)](V))];case 0x4:O[Ui(0x158)]();return[0x4,K(Ui(0x15b),y[Ui(0x153)](h[Ui(0x109)],q)[Ui(0x14a)](y))];case 0x5:O[Ui(0x158)]();return[0x4,K(Ui(0x15d),y[Ui(0x19f)](q)[Ui(0x14a)](y))];case 0x6:O[Ui(0x158)]();return[0x4,K('domain',y[Ui(0x13f)]['bind'](y))];case 0x7:O[Ui(0x158)]();return[0x4,K(Ui(0x188),y[Ui(0x13f)]['bind'](y))];case 0x8:O[Ui(0x158)]();return[0x4,K('credentialId',y[Ui(0x10f)][Ui(0x14a)](y))];case 0x9:O['sent']();return[0x4,K(Ui(0x18e),y['askForSubdomain'](h[Ui(0x101)])['bind'](y))];case 0xa:O['sent']();return[0x4,K(Ui(0x18a),y[Ui(0x185)](h['domainId'])[Ui(0x14a)](y))];case 0xb:O[Ui(0x158)]();return[0x4,K('backupId',y[Ui(0x13e)](q,h[Ui(0x156)])[Ui(0x14a)](y))];case 0xc:O[Ui(0x158)]();return[0x2,h];}});});}function r(a){var K,h;return __awaiter(this,void 0x0,void 0x0,function(){var V,N,w=this;return __generator(this,function(q){var Ug=a1k;switch(q['label']){case 0x0:V={},N=Object[Ug(0x175)]((h=(K=b[Ug(0x178)])===null||K===void 0x0?void 0x0:K[Ug(0x189)])!==null&&h!==void 0x0?h:{});return[0x4,utils_1[Ug(0x104)](N,function(O){return __awaiter(w,void 0x0,void 0x0,function(){var j;return __generator(this,function(M){var UL=a1k;switch(M[UL(0x130)]){case 0x0:j={};return[0x4,y[UL(0x131)]([''+O],b[UL(0x178)][UL(0x189)][O][UL(0x199)],j)];case 0x1:M[UL(0x158)](),_[UL(0x1af)](V,O,j[O]);return[0x2,j];}});});})];case 0x1:q[Ug(0x158)]();return[0x2,V];}});});}function Y(){var UH=a1k;switch(d[0x0]){case UH(0x16b):return UH(0x16e)+(d[0x1]||UH(0x1a3))+'s';case UH(0x17a):return UH(0x1a8)+(d[0x1]||'resource')+UH(0x132);default:return _['upperFirst'](g)+UH(0x122);}}if(!(R instanceof js_client_1['ApiEndpoint'])){var z=utils_1[UI(0x1ac)]()[UI(0x172)](_[UI(0x19d)](g))[UI(0x1aa)](Y());n(z,g),G['addCommand'](z),generateCommands(U,R,z,b,d);}else{var T=R,P=utils_1['getCommand'](!![])[UI(0x172)](_[UI(0x19d)](g))[UI(0x1aa)](T['description']||'');n(P,g),((L=b['opt'])===null||L===void 0x0?void 0x0:L[UI(0x164)])&&(P[UI(0x1b8)](UI(0x148),'File\x20to\x20load\x20resource\x20json\x20from'),P[UI(0x1b8)](UI(0x1ad),UI(0x144))),Z((H=b['opt'])===null||H===void 0x0?void 0x0:H[UI(0x180)],P),Z((I=b[UI(0x178)])===null||I===void 0x0?void 0x0:I['query'],P),Z((v=b['opt'])===null||v===void 0x0?void 0x0:v[UI(0x162)],P),P[UI(0x11e)](function(a){return __awaiter(C,void 0x0,void 0x0,function(){var K,h,V,N,w,q,O,j,M,F,u,A,l,X,o,S,c,D,t,B;return __generator(this,function(m){var Uv=a1k;switch(m['label']){case 0x0:return[0x4,J(a)];case 0x1:K=m['sent'](),y['setPathVars'](K);return[0x4,r(a)];case 0x2:h=m[Uv(0x158)](),V=Object[Uv(0x175)]((t=(D=b[Uv(0x178)])===null||D===void 0x0?void 0x0:D['path'])!==null&&t!==void 0x0?t:{})[Uv(0x143)](function(x){var UR=Uv;return x+'='+chalk_1[UR(0x19a)]['green'](K[x]);})[Uv(0x12a)](',\x20');V[Uv(0x13d)]>0x0&&(N='=>\x20running\x20command\x20with:\x20'+V,console[Uv(0x17b)](N));if(!((B=b[Uv(0x178)])===null||B===void 0x0?void 0x0:B[Uv(0x164)]))return[0x3,0x4];return[0x4,i(a,b,d)];case 0x3:q=m[Uv(0x158)]();return[0x3,0x5];case 0x4:q=undefined,m[Uv(0x130)]=0x5;case 0x5:w=q,O=!a[Uv(0x141)]&&d[Uv(0x16a)](Uv(0x15e));if(!O)return[0x3,0x7];return[0x4,y[Uv(0x136)]()];case 0x6:O=!m[Uv(0x158)](),m['label']=0x7;case 0x7:if(O)return utils_1[Uv(0x13b)](Uv(0x111)),[0x2];return[0x4,R['call']({'parameters':__assign({},K),'options':__assign({},h),'data':w})];case 0x8:j=m['sent'](),M=j[Uv(0x135)],F=j[Uv(0x159)],u=j[Uv(0xff)];(a===null||a===void 0x0?void 0x0:a[Uv(0x183)])&&(console['log'](Uv(0x10d)+F['method']+':'+F[Uv(0x19e)]),console[Uv(0x17b)](Uv(0x155)+F['body']));if(u)throw new Error(''+u['message']);if(!(a===null||a===void 0x0?void 0x0:a[Uv(0x127)])){A=a===null||a===void 0x0?void 0x0:a[Uv(0x192)];if(A===Uv(0x196))console['log'](console_format_helpers_1[Uv(0x16d)](M));else{if(A===Uv(0x123)||A===Uv(0x18d))console[Uv(0x17b)](yaml[Uv(0x184)](M));else d['find'](function(x){var Ub=Uv;return x===Ub(0x1a7);})?(l=(A===null||A===void 0x0?void 0x0:A['startsWith']('custom-columns='))?A[Uv(0x1a4)](Uv(0x150),'')[Uv(0x11f)](',')[Uv(0x143)](function(x){return x['toLowerCase']();}):undefined,X=d[d['length']-0x1],o=''+X+(X['endsWith']('s')?'':'s'),S=_[Uv(0x137)](o),c=_['has'](M,o)?M[o]:M,console_format_helpers_1[Uv(0x1b4)](c,S,l)):console['log'](console_format_helpers_1[Uv(0x16d)](M));}}return[0x2];}});});}),G[UI(0x15c)](P);}});function s(g,L,H){return __awaiter(this,void 0x0,void 0x0,function(){var I,v,R,b;return __generator(this,function(Z){var Ud=a1k;switch(Z['label']){case 0x0:I=g[Ud(0x1b0)],v=g[Ud(0x198)];if(I!==undefined)try{return[0x2,JSON[Ud(0x134)](I)];}catch(n){try{return[0x2,yaml[Ud(0x1b3)](I)];}catch(J){throw new Error('Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.');}}if(v!==undefined){if(!fs_1[Ud(0x19a)]['existsSync'](v))throw new Error('File\x20does\x20not\x20exist:\x20'+v);R=fs_1['default'][Ud(0x174)](v)[Ud(0x12f)](),b=void 0x0;try{if(_[Ud(0x17f)](R)){if(g[Ud(0x198)]['endsWith'](Ud(0x1ae)))b=JSON[Ud(0x134)](R);else{if(g[Ud(0x198)][Ud(0x1a6)]('.yaml')||g[Ud(0x198)][Ud(0x1a6)](Ud(0x18d)))b=yaml[Ud(0x1b3)](R);else throw new Error(Ud(0x160)+g[Ud(0x198)]['split']('.')[Ud(0x17e)]());}}else b=R;return[0x2,b];}catch(r){throw new Error(Ud(0x124)+r[Ud(0x15f)]);}}return[0x4,y[Ud(0x163)](L,{'cmdPath':H})];case 0x1:return[0x2,Z[Ud(0x158)]()];}});});}function i(g,L,H){var I;return __awaiter(this,void 0x0,void 0x0,function(){var v,R,b,d;return __generator(this,function(Z){var UZ=a1k;switch(Z['label']){case 0x0:return[0x4,s(g,L,H)];case 0x1:v=Z['sent'](),R=new ajv_1['default']({'allErrors':!![]}),b=R[UZ(0x18c)](L[UZ(0x178)]['body'],v),d=(I=R===null||R===void 0x0?void 0x0:R[UZ(0x110)])===null||I===void 0x0?void 0x0:I['filter'](function(n){var Un=UZ,J;return!((J=n===null||n===void 0x0?void 0x0:n[Un(0x15f)])===null||J===void 0x0?void 0x0:J[Un(0x16a)](Un(0x115)));});if(!b&&d!==undefined&&(d===null||d===void 0x0?void 0x0:d['length'])>0x0)throw new Error(UZ(0x197)+JSON['stringify'](R['errors'],null,'\x20'));return[0x2,v];}});});}}
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ }) : (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ o[k2] = m[k];
9
+ }));
10
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
11
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
12
+ }) : function(o, v) {
13
+ o["default"] = v;
14
+ });
15
+ var __importStar = (this && this.__importStar) || function (mod) {
16
+ if (mod && mod.__esModule) return mod;
17
+ var result = {};
18
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
19
+ __setModuleDefault(result, mod);
20
+ return result;
21
+ };
22
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
23
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
+ return new (P || (P = Promise))(function (resolve, reject) {
25
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
29
+ });
30
+ };
31
+ var __generator = (this && this.__generator) || function (thisArg, body) {
32
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
33
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
34
+ function verb(n) { return function (v) { return step([n, v]); }; }
35
+ function step(op) {
36
+ if (f) throw new TypeError("Generator is already executing.");
37
+ while (_) try {
38
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
39
+ if (y = 0, t) op = [op[0] & 2, t.value];
40
+ switch (op[0]) {
41
+ case 0: case 1: t = op; break;
42
+ case 4: _.label++; return { value: op[1], done: false };
43
+ case 5: _.label++; y = op[1]; op = [0]; continue;
44
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
45
+ default:
46
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
47
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
48
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
49
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
50
+ if (t[2]) _.ops.pop();
51
+ _.trys.pop(); continue;
52
+ }
53
+ op = body.call(thisArg, _);
54
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
55
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
56
+ }
57
+ };
58
+ var __importDefault = (this && this.__importDefault) || function (mod) {
59
+ return (mod && mod.__esModule) ? mod : { "default": mod };
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ var js_client_1 = require("@northflank/js-client");
63
+ var commander_1 = __importDefault(require("commander"));
64
+ var fs_1 = __importDefault(require("fs"));
65
+ var ajv_1 = __importDefault(require("ajv"));
66
+ var chalk_1 = __importDefault(require("chalk"));
67
+ var _ = __importStar(require("lodash"));
68
+ var contextCommands_1 = require("./context/contextCommands");
69
+ var utils_1 = require("./utils");
70
+ var defaults = __importStar(require("./defaults"));
71
+ var inquirer_helper_1 = require("./inquirer-helper");
72
+ var console_format_helpers_1 = require("./console-format-helpers");
73
+ var command_overview_1 = require("./command-overview");
74
+ var port_forward_1 = require("./port-forward");
75
+ var yaml = require('js-yaml');
76
+ var pgk = require('../package.json');
77
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
78
+ var program, contextProvider, apiClient, contextCmds, portForwardCmds, e_1;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ _a.trys.push([0, 3, , 4]);
83
+ program = new commander_1.default.Command('northflank');
84
+ program.enablePositionalOptions(true);
85
+ program.version("Northflank cli version: " + chalk_1.default.underline(pgk.version), '-v, --version', 'Print the current version of the Northflank cli');
86
+ contextProvider = new js_client_1.ApiClientFileContextProvider();
87
+ return [4 /*yield*/, (0, utils_1.checkUpdate)(contextProvider)];
88
+ case 1:
89
+ _a.sent();
90
+ apiClient = new js_client_1.ApiClient(contextProvider, {
91
+ throwErrorOnHttpErrorCode: false,
92
+ customUserAgent: utils_1.customUserAgent,
93
+ });
94
+ contextCmds = new contextCommands_1.CliContext(apiClient);
95
+ portForwardCmds = new port_forward_1.CliPortForward(contextProvider);
96
+ program.addCommand(portForwardCmds.portFwdCmd);
97
+ program.addCommand(contextCmds.login);
98
+ program.addCommand(contextCmds.contexts);
99
+ generateCommands(apiClient, apiClient.endpoints, program);
100
+ program.addCommand((0, command_overview_1.getCommandOverview)(program));
101
+ return [4 /*yield*/, program.parseAsync(process.argv)];
102
+ case 2:
103
+ _a.sent();
104
+ return [3 /*break*/, 4];
105
+ case 3:
106
+ e_1 = _a.sent();
107
+ (0, utils_1.error)("Error occured while trying to run command, error: " + e_1.message);
108
+ if (process.argv.find(function (arg) { return arg === '--verbose'; })) {
109
+ console.log(e_1);
110
+ }
111
+ process.exitCode = 1;
112
+ return [3 /*break*/, 4];
113
+ case 4: return [2 /*return*/];
114
+ }
115
+ });
116
+ }); })();
117
+ /** Automatically adds commands recursively.
118
+ * @param apiClient
119
+ * @param endpoints
120
+ * @param cmd Root command to add the generated commands to
121
+ * @param currentDefaults
122
+ * @param cliPath
123
+ */
124
+ function generateCommands(apiClient, endpoints, cmd, currentDefaults, cliPath) {
125
+ if (currentDefaults === void 0) { currentDefaults = defaults.defaults; }
126
+ if (cliPath === void 0) { cliPath = []; }
127
+ var inquirerHelper = new inquirer_helper_1.InquirerHelper(new js_client_1.ApiClient(apiClient.contextProvider, {
128
+ throwErrorOnHttpErrorCode: true,
129
+ customUserAgent: utils_1.customUserAgent,
130
+ }));
131
+ function isRequired(opt, defaultVal) {
132
+ return opt.required !== false && defaultVal === undefined;
133
+ }
134
+ function parseOptions(option, leafCommand) {
135
+ var opt = option.opt, name = option.name;
136
+ var defaultVal = opt.default;
137
+ var required = isRequired(opt, defaultVal);
138
+ var toOption = function (alias) { return (alias.length > 1 ? "--" + alias : "-" + alias); };
139
+ var alias = opt === null || opt === void 0 ? void 0 : opt.alias;
140
+ // eslint-disable-next-line no-nested-ternary
141
+ var aliases = alias
142
+ ? _.isArray(alias)
143
+ ? "-" + (alias === null || alias === void 0 ? void 0 : alias.map(function (a) { return toOption(a); }).join(', -')) + ","
144
+ : "" + toOption(alias)
145
+ : '';
146
+ var optionalText = required ? '' : 'OPTIONAL: ';
147
+ var flags = typeof opt.type === 'boolean'
148
+ ? aliases + " --" + name
149
+ : aliases + " --" + name + " <" + name.toUpperCase() + ">";
150
+ var description = optionalText + opt.description;
151
+ leafCommand.option(flags, description, defaultVal);
152
+ }
153
+ return Object.getOwnPropertyNames(currentDefaults).forEach(function (name) {
154
+ var endpoint = endpoints[name];
155
+ var defaultOpt = currentDefaults[name];
156
+ var nextCliPath = cliPath.concat([name]);
157
+ function parseOpts(baseOpts, leafCommand) {
158
+ var baseOptNames = Object.getOwnPropertyNames(baseOpts || {});
159
+ baseOptNames
160
+ .map(function (optString) {
161
+ return { name: optString, opt: baseOpts[optString] };
162
+ })
163
+ // eslint-disable-next-line no-nested-ternary
164
+ .sort(function (opt1, opt2) { return (!isRequired(opt1.opt) ? (!isRequired(opt2.opt) ? 0 : 1) : -1); })
165
+ .forEach(function (option) {
166
+ parseOptions(option, leafCommand);
167
+ });
168
+ }
169
+ function setAliases(nextCmd, cmdName) {
170
+ var aliases = [
171
+ ['project', 'projects', 'prj'],
172
+ ['service', 'services', 'svc'],
173
+ ['credentials', 'credential', 'cred'],
174
+ ['addon', 'addons', 'adn'],
175
+ ['job', 'jobs'],
176
+ ['plan', 'plans', 'pln'],
177
+ ['region', 'regions', 'rgn'],
178
+ ['domain', 'domains', 'dmn'],
179
+ ['secret', 'secrets', 'scrt'],
180
+ ];
181
+ var alias = aliases.find(function (a) { return a.includes(cmdName); });
182
+ if (alias !== undefined)
183
+ nextCmd.aliases(alias.filter(function (a) { return a !== cmdName; }));
184
+ }
185
+ function setPathVariables(opt) {
186
+ return __awaiter(this, void 0, void 0, function () {
187
+ /**
188
+ * @param resource Resource identifier
189
+ * @param ctx Get result from client context
190
+ * @param ask Get result by asking interactively
191
+ */
192
+ function setVar(resource, ask, ctx) {
193
+ var _a, _b;
194
+ return __awaiter(this, void 0, void 0, function () {
195
+ var ctxRes, id, _c;
196
+ return __generator(this, function (_d) {
197
+ switch (_d.label) {
198
+ case 0:
199
+ if (!_.has((_b = (_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : {}, resource)) return [3 /*break*/, 3];
200
+ ctxRes = !askExplicitly && !isDeleteCmd && ctx ? ctx() : undefined;
201
+ _c = opt[resource] || // Always check command arguments first
202
+ ctxRes;
203
+ if (_c) return [3 /*break*/, 2];
204
+ return [4 /*yield*/, ask()];
205
+ case 1:
206
+ _c = (_d.sent());
207
+ _d.label = 2;
208
+ case 2:
209
+ id = _c;
210
+ _.set(parameters, resource, id);
211
+ _d.label = 3;
212
+ case 3: return [2 /*return*/];
213
+ }
214
+ });
215
+ });
216
+ }
217
+ var parameters, contextProvider, isDeleteCmd, askExplicitly, projectId;
218
+ return __generator(this, function (_a) {
219
+ switch (_a.label) {
220
+ case 0:
221
+ parameters = {};
222
+ contextProvider = apiClient.contextProvider;
223
+ isDeleteCmd = nextCliPath.includes('delete');
224
+ askExplicitly = opt.noDefaults === true;
225
+ return [4 /*yield*/, setVar('projectId', inquirerHelper.askForProject.bind(inquirerHelper), contextProvider.getCurrentProjectName.bind(contextProvider))];
226
+ case 1:
227
+ _a.sent();
228
+ projectId = parameters === null || parameters === void 0 ? void 0 : parameters.projectId;
229
+ return [4 /*yield*/, setVar('serviceId', inquirerHelper.askForService(projectId).bind(inquirerHelper), contextProvider.getCurrentServiceName.bind(contextProvider))];
230
+ case 2:
231
+ _a.sent();
232
+ return [4 /*yield*/, setVar('addonId', inquirerHelper.askForAddon(projectId).bind(inquirerHelper))];
233
+ case 3:
234
+ _a.sent();
235
+ return [4 /*yield*/, setVar('jobId', inquirerHelper.askForJob(projectId).bind(inquirerHelper), contextProvider.getCurrentJobName.bind(contextProvider))];
236
+ case 4:
237
+ _a.sent();
238
+ return [4 /*yield*/, setVar('runId', inquirerHelper.askForJobRun(parameters.jobId, projectId).bind(inquirerHelper))];
239
+ case 5:
240
+ _a.sent();
241
+ return [4 /*yield*/, setVar('secretId', inquirerHelper.askForSecret(projectId).bind(inquirerHelper))];
242
+ case 6:
243
+ _a.sent();
244
+ return [4 /*yield*/, setVar('domain', inquirerHelper.askForDomain.bind(inquirerHelper))];
245
+ case 7:
246
+ _a.sent();
247
+ return [4 /*yield*/, setVar('domainId', inquirerHelper.askForDomain.bind(inquirerHelper))];
248
+ case 8:
249
+ _a.sent();
250
+ return [4 /*yield*/, setVar('credentialId', inquirerHelper.askForCredentials.bind(inquirerHelper))];
251
+ case 9:
252
+ _a.sent();
253
+ return [4 /*yield*/, setVar('subdomain', inquirerHelper.askForSubdomain(parameters.domain).bind(inquirerHelper))];
254
+ case 10:
255
+ _a.sent();
256
+ return [4 /*yield*/, setVar('subdomainId', inquirerHelper.askForSubdomain(parameters.domainId).bind(inquirerHelper))];
257
+ case 11:
258
+ _a.sent();
259
+ return [4 /*yield*/, setVar('backupId', inquirerHelper.askForAddonBackup(projectId, parameters.addonId).bind(inquirerHelper))];
260
+ case 12:
261
+ _a.sent();
262
+ return [2 /*return*/, parameters];
263
+ }
264
+ });
265
+ });
266
+ }
267
+ function setQueryVariables(opt) {
268
+ var _a, _b;
269
+ return __awaiter(this, void 0, void 0, function () {
270
+ var options, queryArgs;
271
+ var _this = this;
272
+ return __generator(this, function (_c) {
273
+ switch (_c.label) {
274
+ case 0:
275
+ options = {};
276
+ queryArgs = Object.keys((_b = (_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.query) !== null && _b !== void 0 ? _b : {});
277
+ return [4 /*yield*/, (0, utils_1.asyncSequential)(queryArgs, function (key) { return __awaiter(_this, void 0, void 0, function () {
278
+ var result;
279
+ return __generator(this, function (_a) {
280
+ switch (_a.label) {
281
+ case 0:
282
+ result = {};
283
+ return [4 /*yield*/, inquirerHelper.propToType(["" + key], defaultOpt.opt.query[key].schema, result)];
284
+ case 1:
285
+ _a.sent();
286
+ _.set(options, key, result[key]);
287
+ return [2 /*return*/, result];
288
+ }
289
+ });
290
+ }); })];
291
+ case 1:
292
+ _c.sent();
293
+ return [2 /*return*/, options];
294
+ }
295
+ });
296
+ });
297
+ }
298
+ function getDescription() {
299
+ switch (nextCliPath[0]) {
300
+ case 'get':
301
+ return "Get information about Northflank " + (nextCliPath[1] || 'resource') + "s";
302
+ case 'update':
303
+ return "Update Northflank " + (nextCliPath[1] || 'resource') + " properties";
304
+ default:
305
+ return _.upperFirst(name) + " Northflank resources";
306
+ }
307
+ }
308
+ function constructCommand(currentEndpoint, isEndpointCommand) {
309
+ var _this = this;
310
+ var _a, _b, _c, _d;
311
+ if (!isEndpointCommand) {
312
+ var nextCmd = (0, utils_1.getCommand)().name(_.kebabCase(name)).description(getDescription());
313
+ setAliases(nextCmd, name);
314
+ return nextCmd;
315
+ }
316
+ var leafCommand = (0, utils_1.getCommand)(true)
317
+ .name(_.kebabCase(name))
318
+ .description(currentEndpoint.description || '');
319
+ setAliases(leafCommand, name);
320
+ if ((_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.body) {
321
+ leafCommand.option('-f, --file <file-path>', 'File to load resource json from');
322
+ leafCommand.option('-i, --input <resource-def>', 'JSON-formatted resource definition, takes precedence over "--file"');
323
+ }
324
+ parseOpts((_b = defaultOpt.opt) === null || _b === void 0 ? void 0 : _b.path, leafCommand);
325
+ parseOpts((_c = defaultOpt.opt) === null || _c === void 0 ? void 0 : _c.query, leafCommand);
326
+ parseOpts((_d = defaultOpt.opt) === null || _d === void 0 ? void 0 : _d.base, leafCommand);
327
+ leafCommand.action(function () { return __awaiter(_this, void 0, void 0, function () {
328
+ var opt, parameters, options, contextIndicator, contextInfoMessage, jsonResource, _a, _b, _c, data, request, errorResponse, errorDetails, nfId, id, output, columns, resourceId, resourceDescr, title, tableData;
329
+ var _d, _e, _f;
330
+ return __generator(this, function (_g) {
331
+ switch (_g.label) {
332
+ case 0:
333
+ (0, utils_1.assertContextExisting)(apiClient);
334
+ opt = leafCommand.opts();
335
+ return [4 /*yield*/, setPathVariables(opt)];
336
+ case 1:
337
+ parameters = _g.sent();
338
+ inquirerHelper.setPathVars(parameters);
339
+ return [4 /*yield*/, setQueryVariables(opt)];
340
+ case 2:
341
+ options = _g.sent();
342
+ contextIndicator = Object.keys((_e = (_d = defaultOpt.opt) === null || _d === void 0 ? void 0 : _d.path) !== null && _e !== void 0 ? _e : {})
343
+ .map(function (p) { return p + "=" + chalk_1.default.green(parameters[p]); })
344
+ .join(', ');
345
+ if (contextIndicator.length > 0) {
346
+ contextInfoMessage = "=> running command with: " + contextIndicator;
347
+ console.log(contextInfoMessage);
348
+ }
349
+ if (!((_f = defaultOpt.opt) === null || _f === void 0 ? void 0 : _f.body)) return [3 /*break*/, 4];
350
+ return [4 /*yield*/, parsePayload(opt, defaultOpt, nextCliPath)];
351
+ case 3:
352
+ _a = _g.sent();
353
+ return [3 /*break*/, 5];
354
+ case 4:
355
+ _a = undefined;
356
+ _g.label = 5;
357
+ case 5:
358
+ jsonResource = _a;
359
+ _b = !opt.force &&
360
+ nextCliPath.includes('delete');
361
+ if (!_b) return [3 /*break*/, 7];
362
+ return [4 /*yield*/, inquirerHelper.deleteWarningPrompt()];
363
+ case 6:
364
+ _b = !(_g.sent());
365
+ _g.label = 7;
366
+ case 7:
367
+ if (_b) {
368
+ (0, utils_1.warning)('Resource was not deleted.');
369
+ return [2 /*return*/];
370
+ }
371
+ return [4 /*yield*/, endpoint.call({ parameters: parameters, options: options, data: jsonResource })];
372
+ case 8:
373
+ _c = _g.sent(), data = _c.data, request = _c.request, errorResponse = _c.error;
374
+ if (opt === null || opt === void 0 ? void 0 : opt.verbose) {
375
+ console.log("VERBOSE: Using endpoint -> " + request.method + ":" + request.url);
376
+ console.log("VERBOSE: Request body -> " + request.body);
377
+ }
378
+ if (errorResponse) {
379
+ errorDetails = errorResponse.details
380
+ ? "\n\tdetails :" + JSON.stringify(errorResponse.details)
381
+ : '';
382
+ nfId = (errorResponse === null || errorResponse === void 0 ? void 0 : errorResponse.id) ? ", NF error id: " + errorResponse.id : '';
383
+ id = "(HTTP status code: " + errorResponse.status + nfId + ")";
384
+ throw new Error("API request failed\n\tMessage: " + errorResponse.message + " " + id + errorDetails);
385
+ }
386
+ if (!(opt === null || opt === void 0 ? void 0 : opt.quiet)) {
387
+ output = opt === null || opt === void 0 ? void 0 : opt.output;
388
+ if (output === 'json') {
389
+ console.log((0, console_format_helpers_1.consoleFormat)(data));
390
+ }
391
+ else if (output === 'yaml' || output === 'yml') {
392
+ console.log(yaml.safeDump(data));
393
+ }
394
+ else if (nextCliPath.find(function (p) { return p === 'list'; })) {
395
+ columns = (output === null || output === void 0 ? void 0 : output.startsWith('custom-columns='))
396
+ ? output
397
+ .replace('custom-columns=', '')
398
+ .split(',')
399
+ .map(function (c) { return c.toLowerCase(); })
400
+ : undefined;
401
+ resourceId = nextCliPath[nextCliPath.length - 1];
402
+ resourceDescr = "" + resourceId + (resourceId.endsWith('s') ? '' : 's');
403
+ title = _.upperFirst(resourceDescr);
404
+ tableData = _.has(data, resourceDescr) ? data[resourceDescr] : data;
405
+ (0, console_format_helpers_1.printAsTable)(tableData, title, columns);
406
+ }
407
+ else {
408
+ console.log((0, console_format_helpers_1.consoleFormat)(data));
409
+ }
410
+ }
411
+ return [2 /*return*/];
412
+ }
413
+ });
414
+ }); });
415
+ return leafCommand;
416
+ }
417
+ var isEndpointCommand = _.has(defaultOpt, 'opt');
418
+ var currentEndpoint = endpoint;
419
+ var command = constructCommand(currentEndpoint, isEndpointCommand);
420
+ cmd.addCommand(command);
421
+ var optWithoutOpt = _.omit(defaultOpt, 'opt');
422
+ if (Object.keys(optWithoutOpt).length > 0) {
423
+ // If this command has more subcommands, add them recursively
424
+ generateCommands(apiClient, endpoint, command, optWithoutOpt, nextCliPath);
425
+ }
426
+ });
427
+ function getInput(opt, defaultOpt, cmdPath) {
428
+ return __awaiter(this, void 0, void 0, function () {
429
+ var input, file, fileContent, jsonResource;
430
+ return __generator(this, function (_a) {
431
+ switch (_a.label) {
432
+ case 0:
433
+ input = opt.input, file = opt.file;
434
+ if (input !== undefined) {
435
+ try {
436
+ return [2 /*return*/, JSON.parse(input)];
437
+ }
438
+ catch (e) {
439
+ try {
440
+ return [2 /*return*/, yaml.safeLoad(input)];
441
+ }
442
+ catch (d) {
443
+ throw new Error('Unknown input format. Not valid json and not valid yaml.');
444
+ }
445
+ }
446
+ }
447
+ if (file !== undefined) {
448
+ if (!fs_1.default.existsSync(file)) {
449
+ throw new Error("File does not exist: " + file);
450
+ }
451
+ fileContent = fs_1.default.readFileSync(file).toString();
452
+ jsonResource = void 0;
453
+ try {
454
+ if (_.isString(fileContent)) {
455
+ if (opt.file.endsWith('.json')) {
456
+ jsonResource = JSON.parse(fileContent);
457
+ }
458
+ else if (opt.file.endsWith('.yaml') || opt.file.endsWith('yml')) {
459
+ jsonResource = yaml.safeLoad(fileContent);
460
+ }
461
+ else {
462
+ throw new Error("Unknown input file type: " + opt.file.split('.').pop());
463
+ }
464
+ }
465
+ else {
466
+ jsonResource = fileContent;
467
+ }
468
+ return [2 /*return*/, jsonResource];
469
+ }
470
+ catch (e) {
471
+ throw new Error("Failed to validate input (incorrect format): " + e.message);
472
+ }
473
+ }
474
+ return [4 /*yield*/, inquirerHelper.retrievePayloadViaInteractiveCli(defaultOpt, { cmdPath: cmdPath })];
475
+ case 1: return [2 /*return*/, _a.sent()];
476
+ }
477
+ });
478
+ });
479
+ }
480
+ function parsePayload(opt, defaultOpt, cmdPath) {
481
+ var _a;
482
+ return __awaiter(this, void 0, void 0, function () {
483
+ var bodyObject, ajv, valid, filteredErrors;
484
+ return __generator(this, function (_b) {
485
+ switch (_b.label) {
486
+ case 0: return [4 /*yield*/, getInput(opt, defaultOpt, cmdPath)];
487
+ case 1:
488
+ bodyObject = _b.sent();
489
+ ajv = new ajv_1.default({ allErrors: true });
490
+ valid = ajv.validate(defaultOpt.opt.body, bodyObject);
491
+ filteredErrors = (_a = ajv === null || ajv === void 0 ? void 0 : ajv.errors) === null || _a === void 0 ? void 0 : _a.filter(function (err) { var _a; return !((_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.includes('should match exactly one schema in oneOf')); });
492
+ if (!valid && filteredErrors !== undefined && (filteredErrors === null || filteredErrors === void 0 ? void 0 : filteredErrors.length) > 0) {
493
+ throw new Error("Failed to validate input (schema mismatch):\n" + JSON.stringify(ajv.errors, null, ' '));
494
+ }
495
+ return [2 /*return*/, bodyObject];
496
+ }
497
+ });
498
+ });
499
+ }
500
+ }
@@ -1 +1,93 @@
1
- 'use strict';var a2U=['chalk','length','forEach','defineProperty','__importDefault','getCommand','ops','green','__generator','default','8738IKRNCw','391Hqltnm','description','__awaiter','label','return','verbose','getCommandOverview','bold','trys','Prints\x20a\x20tree\x20view\x20of\x20all\x20available\x20commands','value','--verbose','10186rcTaht','159477vPEKJq','map','1762sMHxSX','iterator','159ojSNTt','7poyMMd','1005656vbVFQb','call','every','next','apply','295501GsTnMX','pop','push','slice','commands','log','action','throw','355898KgBUdU','137SuHiPj','__esModule'];var a2J=a2k;(function(U,k){var n=a2k;while(!![]){try{var G=-parseInt(n(0xf2))*-parseInt(n(0xd6))+parseInt(n(0xd7))*parseInt(n(0x100))+parseInt(n(0xdd))+-parseInt(n(0xe5))+-parseInt(n(0xe6))*parseInt(n(0xff))+-parseInt(n(0xf3))*-parseInt(n(0x102))+-parseInt(n(0xd8));if(G===k)break;else U['push'](U['shift']());}catch(Q){U['push'](U['shift']());}}}(a2U,0xb2fa0));function a2k(U,k){U=U-0xd6;var G=a2U[U];return G;}var __awaiter=this&&this[a2J(0xf5)]||function(U,k,G,Q){function f(C){return C instanceof G?C:new G(function(y){y(C);});}return new(G||(G=Promise))(function(C,y){var T=a2k;function e(i){var r=a2k;try{s(Q[r(0xdb)](i));}catch(g){y(g);}}function p(i){var Y=a2k;try{s(Q[Y(0xe4)](i));}catch(g){y(g);}}function s(i){var z=a2k;i['done']?C(i[z(0xfd)]):f(i['value'])['then'](e,p);}s((Q=Q[T(0xdc)](U,k||[]))[T(0xdb)]());});},__generator=this&&this[a2J(0xf0)]||function(U,k){var P=a2J,G={'label':0x0,'sent':function(){if(e[0x0]&0x1)throw e[0x1];return e[0x1];},'trys':[],'ops':[]},Q,C,e,p;return p={'next':s(0x0),'throw':s(0x1),'return':s(0x2)},typeof Symbol==='function'&&(p[Symbol[P(0x103)]]=function(){return this;}),p;function s(L){return function(H){return i([L,H]);};}function i(L){var a=P;if(Q)throw new TypeError('Generator\x20is\x20already\x20executing.');while(G)try{if(Q=0x1,C&&(e=L[0x0]&0x2?C[a(0xf7)]:L[0x0]?C[a(0xe4)]||((e=C[a(0xf7)])&&e[a(0xd9)](C),0x0):C['next'])&&!(e=e[a(0xd9)](C,L[0x1]))['done'])return e;if(C=0x0,e)L=[L[0x0]&0x2,e[a(0xfd)]];switch(L[0x0]){case 0x0:case 0x1:e=L;break;case 0x4:G[a(0xf6)]++;return{'value':L[0x1],'done':![]};case 0x5:G[a(0xf6)]++,C=L[0x1],L=[0x0];continue;case 0x7:L=G[a(0xee)][a(0xde)](),G[a(0xfb)]['pop']();continue;default:if(!(e=G[a(0xfb)],e=e[a(0xe9)]>0x0&&e[e['length']-0x1])&&(L[0x0]===0x6||L[0x0]===0x2)){G=0x0;continue;}if(L[0x0]===0x3&&(!e||L[0x1]>e[0x0]&&L[0x1]<e[0x3])){G[a(0xf6)]=L[0x1];break;}if(L[0x0]===0x6&&G[a(0xf6)]<e[0x1]){G[a(0xf6)]=e[0x1],e=L;break;}if(e&&G[a(0xf6)]<e[0x2]){G[a(0xf6)]=e[0x2],G[a(0xee)][a(0xdf)](L);break;}if(e[0x2])G[a(0xee)][a(0xde)]();G['trys'][a(0xde)]();continue;}L=k[a(0xd9)](U,G);}catch(H){L=[0x6,H],C=0x0;}finally{Q=e=0x0;}if(L[0x0]&0x5)throw L[0x1];return{'value':L[0x0]?L[0x1]:void 0x0,'done':!![]};}},__importDefault=this&&this[a2J(0xec)]||function(U){var K=a2J;return U&&U[K(0xe7)]?U:{'default':U};};Object[a2J(0xeb)](exports,a2J(0xe7),{'value':!![]}),exports[a2J(0xf9)]=void 0x0;var chalk_1=__importDefault(require(a2J(0xe8))),utils_1=require('./utils');function getCommandOverview(U){var h=a2J,k=this;return utils_1[h(0xed)]()['name']('command-overview')[h(0xf4)](h(0xfc))['option'](h(0xfe),'Print\x20command\x20descriptions')[h(0xe3)](function(G){return __awaiter(k,void 0x0,void 0x0,function(){function Q(C,y){var N=a2k,e=function(d,Z){var V=a2k;return Z===void 0x0&&(Z=!![]),Z?chalk_1[V(0xf1)][V(0xfa)][V(0xef)](d['name']()):d['name']();},p=y['length']===0x0,s=C[N(0xe1)],i='',g=s[N(0xe9)]===0x0;!p&&(i=s&&!g?'┬\x20':'─\x20');var L=f&&g&&C[N(0xf4)]()?':\x20'+C['description']():'';console[N(0xe2)](''+y+i+e(C,g)+L);var H=y;if(!p){var I=y[N(0xe0)](-0x2)==='└─';H=y[N(0xe0)](0x0,-0x2)+(I?'\x20\x20':'│\x20');}var v=H+'├─',R=H+'└─',b=s[N(0xda)](function(d){var w=N;return d[w(0xe1)][w(0xe9)]===0x0;});b&&!g&&!f?console[N(0xe2)](R+'\x20'+s[N(0x101)](function(d){return e(d);})['join'](',\x20')):s[N(0xea)](function(d,Z){var q=N;Q(d,s[q(0xe9)]-0x1===Z?R:v);});}var f;return __generator(this,function(C){var O=a2k;return f=G[O(0xf8)],Q(U,''),[0x2];});});});}exports[a2J(0xf9)]=getCommandOverview;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getCommandOverview = void 0;
43
+ var chalk_1 = __importDefault(require("chalk"));
44
+ var utils_1 = require("./utils");
45
+ function getCommandOverview(root) {
46
+ var _this = this;
47
+ return (0, utils_1.getCommand)()
48
+ .name('command-overview')
49
+ .description('Prints a tree view of all available commands')
50
+ .option('--verbose', 'Print command descriptions')
51
+ .action(function (options) { return __awaiter(_this, void 0, void 0, function () {
52
+ function printBranch(command, indent) {
53
+ var _a;
54
+ var getName = function (cmd, isLeaf) {
55
+ if (isLeaf === void 0) { isLeaf = true; }
56
+ return isLeaf ? chalk_1.default.bold.green(cmd.name()) : cmd.name();
57
+ };
58
+ var isTreeRoot = indent.length === 0;
59
+ var children = command.commands;
60
+ var branchHead = '';
61
+ var leaf = children.length === 0;
62
+ var isEndpointCommand = leaf || ((_a = Object.keys(command === null || command === void 0 ? void 0 : command.opts())) === null || _a === void 0 ? void 0 : _a.length) > 0;
63
+ if (!isTreeRoot) {
64
+ branchHead = children && !leaf ? '┬ ' : '─ ';
65
+ }
66
+ var description = verbose && isEndpointCommand && command.description() ? ": " + command.description() : '';
67
+ console.log("" + indent + branchHead + getName(command, isEndpointCommand) + description);
68
+ var baseBranch = indent;
69
+ if (!isTreeRoot) {
70
+ var isChildOfLastBranch = indent.slice(-2) === '└─';
71
+ baseBranch = indent.slice(0, -2) + (isChildOfLastBranch ? ' ' : '│ ');
72
+ }
73
+ var nextBranch = baseBranch + "\u251C\u2500";
74
+ var lastBranch = baseBranch + "\u2514\u2500";
75
+ var leafLevel = children.every(function (child) { return child.commands.length === 0; });
76
+ if (leafLevel && !leaf && !verbose) {
77
+ console.log(lastBranch + " " + children.map(function (child) { return getName(child); }).join(', '));
78
+ }
79
+ else {
80
+ children.forEach(function (child, index) {
81
+ printBranch(child, children.length - 1 === index ? lastBranch : nextBranch);
82
+ });
83
+ }
84
+ }
85
+ var verbose;
86
+ return __generator(this, function (_a) {
87
+ verbose = options.verbose;
88
+ printBranch(root, '');
89
+ return [2 /*return*/];
90
+ });
91
+ }); });
92
+ }
93
+ exports.getCommandOverview = getCommandOverview;