UNPKG

@northflank/cli

Version:

Provides a command-line interface to the Northflank platform.

1 lines 12.6 kB
'use strict';const a15N=a15a;(function(S,a){const c=a15a,j=S();while(!![]){try{const v=parseInt(c(0xd2))/0x1*(-parseInt(c(0xa4))/0x2)+-parseInt(c(0x113))/0x3+-parseInt(c(0xa7))/0x4+parseInt(c(0x9b))/0x5+parseInt(c(0x11f))/0x6*(-parseInt(c(0xa9))/0x7)+parseInt(c(0x105))/0x8+-parseInt(c(0xb6))/0x9*(-parseInt(c(0xbc))/0xa);if(v===a)break;else j['push'](j['shift']());}catch(z){j['push'](j['shift']());}}}(a15S,0xcbaa9));function a15S(){const S1=['option','--project\x20--projectId\x20[NAME]','askForProject','3681723oFqhoG','protocol','hasOwnProperty','join','ApiClient','fwd','apply','/etc/hosts','platform','HTTP','hostnames','\x20addon\x20ports','6171726gcPJAl','map','chalk','skipHostnamesText','exit','forwardService','lodash','\x20is\x20exposed\x20on\x20','Services:','green','Project\x20for\x20forwarding','8153875FglCXI','getCurrentProjectName','\x27:\x20\x22','apiClient','Forwarding\x20addon\x20','--skipHostnames','askForService','customUserAgent','assertContextExisting','30MoBhaK','getProxyForwarder','address','1239248nGIiII','skipHostnames','7tzHluy','\x20mode:\x20the\x20locally\x20forwarded\x20port\x20differs\x20from\x20the\x20actual\x20port\x20on\x20the\x20forwarded\x20service/addon.','win32','prototype','Stop\x20forwarding\x20traffic\x20from\x20','forwardProject','getCommand','\x20-\x20','done','printHostsFileHint','warning','filter','\x20\x20\x20No\x20running\x20container\x20found\x20for\x20','20242503GehOYF','greenBright','uniq','\x20\x20-\x20Address:\x20','next','log','10whfyyq','CliPortForward','\x20\x20\x20\x20\x20\x20\x20\x20\x20','port','\x20to\x20','writable','__awaiter','darwin','addon','data.id','--addon\x20--addonId\x20[NAME]','Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','\x20flag\x20or\x20manually\x20append\x20following\x20entry\x20to\x20your\x20hosts\x20file\x20(','ports','\x20\x20If\x20you\x20have\x20added\x20entries\x20to\x20your\x20hosts\x20file,\x20it\x20is\x20recommended\x20to\x20remove\x20them\x20again\x20now.','Port-forwarding\x20for\x20the\x20specified\x20service','repeat','create','--service\x20--serviceId\x20[NAME]','forEach','throw','Running\x20on\x20macOS\x20in\x20','72609lITRhJ','portFwdCmd','data','Service\x20to\x20forward','Error\x20occured\x20while\x20trying\x20to\x20forward\x20','\x20and\x20','message','getOwnPropertyDescriptor','success','flat','--noDefaults','entries','\x20in\x20project\x20','hosts','defineProperty','type','printForwardingInfo','description',',\x20hostname:\x20','groupBy','get','@northflank/js-client','__importDefault','then','Please\x20ensure\x20the\x20','bold','Port-forwarding\x20for\x20the\x20specified\x20addon','configurable','connection-error','default','__setModuleDefault','noDefaultsText','__createBinding','InquirerHelper','capitalize','Running\x20in\x20','forward','Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.','Addon\x20to\x20forward','\x20with\x20these\x20hostnames:','error','\x20\x20-\x20port\x20','length','No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20','\x20is\x20exposed\x20with\x20multiple\x20','stop','askForAddon','Forwarding\x20service\x20','value','name','flatMap','4872672sPADau','service','forwarding','portName','../inquirer-helper','SIGINT','addCommand','Forwarding\x20','action','Failed:\x20','__esModule'];a15S=function(){return S1;};return a15S();}var __createBinding=this&&this[a15N(0xf2)]||(Object[a15N(0xcd)]?function(S,a,j,v){const Z=a15N;if(v===undefined)v=j;var z=Object[Z(0xd9)](a,j);(!z||(Z(0xe6)in z?!a[Z(0x10f)]:z[Z(0xc1)]||z[Z(0xed)]))&&(z={'enumerable':!![],'get':function(){return a[j];}}),Object[Z(0xe0)](S,v,z);}:function(S,a,j,v){if(v===undefined)v=j;S[v]=a[j];}),__setModuleDefault=this&&this[a15N(0xf0)]||(Object[a15N(0xcd)]?function(S,a){const D=a15N;Object['defineProperty'](S,D(0xef),{'enumerable':!![],'value':a});}:function(S,a){const e=a15N;S[e(0xef)]=a;}),__importStar=this&&this['__importStar']||function(S){const C=a15N;if(S&&S[C(0x10f)])return S;var a={};if(S!=null){for(var j in S)if(j!=='default'&&Object[C(0xac)][C(0x115)]['call'](S,j))__createBinding(a,S,j);}return __setModuleDefault(a,S),a;},__awaiter=this&&this[a15N(0xc2)]||function(S,a,j,v){function z(s){return s instanceof j?s:new j(function(u){u(s);});}return new(j||(j=Promise))(function(s,u){const h=a15a;function g(o){const q=a15a;try{i(v[q(0xba)](o));}catch(X){u(X);}}function w(o){const b=a15a;try{i(v[b(0xd0)](o));}catch(X){u(X);}}function i(o){const O=a15a;o[O(0xb1)]?s(o[O(0x102)]):z(o['value'])[O(0xe9)](g,w);}i((v=v[h(0x119)](S,a||[]))[h(0xba)]());});},__importDefault=this&&this[a15N(0xe8)]||function(S){const B=a15N;return S&&S[B(0x10f)]?S:{'default':S};};Object[a15N(0xe0)](exports,a15N(0x10f),{'value':!![]}),exports[a15N(0xbd)]=void 0x0;function a15a(S,a){const j=a15S();return a15a=function(v,z){v=v-0x94;let s=j[v];return s;},a15a(S,a);}const js_client_1=require(a15N(0xe7)),chalk_1=__importDefault(require(a15N(0x121))),utils_1=require('../utils'),inquirer_helper_1=require(a15N(0x109)),os=__importStar(require('os')),lodash_1=require(a15N(0x96)),{EOL}=require('os');class CliPortForward{constructor(S,a){const F=a15N;this[F(0xf1)]='Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',this[F(0x122)]='Only\x20expose\x20on\x20IP\x20address,\x20not\x20on\x20hostnames.\x20With\x20this\x20option,\x20no\x20root\x20permissions\x20are\x20required.',this['apiClient']=new js_client_1[(F(0x117))](S,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1[F(0xa2)],'agent':a});const j=new inquirer_helper_1[(F(0xf3))](this['apiClient']);this['portFwdCmd']=(0x0,utils_1[F(0xaf)])()[F(0x103)](F(0xf6))['alias'](F(0x118))[F(0xe3)](F(0xf7));const v=(0x0,utils_1[F(0xaf)])(!![])[F(0x103)]('all')[F(0xe3)]('Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project')[F(0x110)](F(0x111),'project\x20for\x20forwarding')[F(0x110)](F(0xdc),this[F(0xf1)],![])[F(0x110)](F(0xa0),this[F(0x122)],![])[F(0x10d)](({noDefaults:u,projectId:g,skipHostnames:w})=>__awaiter(this,void 0x0,void 0x0,function*(){const P=F;(0x0,utils_1[P(0xa3)])(this['apiClient']);const i=this[P(0xa5)](w),o=u?undefined:S[P(0x9c)](),X=g||o||(yield j[P(0x112)]());try{const {services:T,addons:H}=yield i[P(0xae)]({'projectId':X},w);if(T[P(0xfc)]+H[P(0xfc)]<=0x0)(0x0,utils_1[P(0xb3)])(P(0xfd)+chalk_1[P(0xef)][P(0xeb)](X));else{const E=T[P(0xb4)](K=>K[P(0xfc)]>0x0)[P(0xfc)],Y=H[P(0xb4)](K=>K[P(0xfc)]>0x0)[P(0xfc)],V=P(0xde)+chalk_1[P(0xef)][P(0xeb)](X);console[P(0xbb)](P(0x10c)+chalk_1[P(0xef)][P(0x99)][P(0xeb)](E+'\x20service\x20ports')+P(0xd7)+chalk_1[P(0xef)]['green'][P(0xeb)](Y+P(0x11e))+V),console[P(0xbb)](),console['log'](chalk_1['default'][P(0xeb)](P(0x98))),T[P(0xcf)](K=>{const m=P;if(K[m(0xfc)]>=0x1&&!K[0x0][m(0xfa)])this['printForwardingInfo'](K,{'type':'service','name':K[0x0]['data']['id']},w);}),console[P(0xbb)](chalk_1[P(0xef)][P(0xeb)]('Addons:')),H[P(0xcf)](K=>{const y=P;if(K[y(0xfc)]>=0x1&&!K[0x0]['error'])this[y(0xe2)](K,{'type':y(0xc4),'name':K[0x0][y(0xd4)]['id']},w);}),this[P(0xb2)]([...T['flat'](),...H[P(0xdb)]()],w);}}catch(K){(0x0,utils_1[P(0xfa)])(P(0x10e)+K[P(0xd8)]);}})),z=(0x0,utils_1[F(0xaf)])(!![])[F(0x103)](F(0x106))[F(0xe3)](F(0xcb))[F(0x110)]('--project\x20--projectId\x20[NAME]',F(0x9a))[F(0x110)](F(0xce),F(0xd5))['option'](F(0xdc),this[F(0xf1)],![])[F(0x110)](F(0xa0),this[F(0x122)],![])[F(0x10d)](({noDefaults:u,projectId:g,serviceId:w,skipHostnames:i})=>__awaiter(this,void 0x0,void 0x0,function*(){const U=F;(0x0,utils_1[U(0xa3)])(this[U(0x9e)]);const o=this['getProxyForwarder'](i),X=u?undefined:S['getCurrentProjectName'](),T=g||X||(yield j[U(0x112)]()),H=u?undefined:S['getCurrentServiceName'](),E=w||H||(yield j[U(0xa1)](T)());console[U(0xbb)](U(0x101)+chalk_1[U(0xef)][U(0xeb)](E)+U(0xde)+chalk_1[U(0xef)][U(0xeb)](T));try{const Y=yield o[U(0x95)]({'projectId':T,'serviceId':E},i);this[U(0xe2)](Y,{'name':E,'type':U(0x106)},i),this[U(0xb2)](Y,i);}catch(V){(0x0,utils_1[U(0xfa)])(U(0x10e)+V[U(0xd8)]);}})),s=(0x0,utils_1[F(0xaf)])(!![])['name'](F(0xc4))[F(0xe3)](F(0xec))[F(0x110)](F(0x111),F(0x9a))[F(0x110)](F(0xc6),F(0xf8))[F(0x110)](F(0xa0),this[F(0x122)],![])[F(0x10d)](({noDefaults:u,projectId:g,addonId:w,skipHostnames:i})=>__awaiter(this,void 0x0,void 0x0,function*(){const J=F;(0x0,utils_1[J(0xa3)])(this[J(0x9e)]);const o=this[J(0xa5)](i),X=u?undefined:S[J(0x9c)](),T=g||X||(yield j[J(0x112)]()),H=w||(yield j[J(0x100)](T)());console['log'](J(0x9f)+chalk_1['default'][J(0xeb)](H)+J(0xde)+chalk_1[J(0xef)]['bold'](T));try{const E={'projectId':T,'addonId':H},Y=yield o['forwardAddon'](E,i);this[J(0xe2)](Y,{'name':H,'type':J(0xc4)},i),this[J(0xb2)](Y,i);}catch(V){(0x0,utils_1[J(0xfa)])(J(0x10e)+V['message']);}}));this['portFwdCmd'][F(0x10b)](v),this[F(0xd3)]['addCommand'](z),this[F(0xd3)][F(0x10b)](s);}[a15N(0xa5)](S=![]){const W=a15N,a=this['apiClient'][W(0x107)];if(!S){const j=a['canExecuteWithHostnames']();if(j[W(0xfa)])throw new Error(j[W(0xd8)]);}return a['on']('tunnel-close',(v,z)=>{const l=W,s=chalk_1[l(0xef)]['bold'](z[l(0xe1)]+'\x20\x27'+z['id']+'\x27'),u=z[l(0x11d)][l(0xfc)]>0x0;(0x0,utils_1[l(0xb3)])(l(0xad)+z['address']+':'+z[l(0xbf)]+l(0xc0)+s),S&&u&&(0x0,utils_1[l(0xb3)])(l(0xca));}),a['on'](W(0xee),(v,z,s)=>{const f=W;(0x0,utils_1[f(0xb3)])(f(0xc7)+z[f(0xa6)]+':'+z[f(0xbf)]+f(0x9d)+(s===null||s===void 0x0?void 0x0:s['message'])+'\x22');}),process['on'](W(0x10a),()=>__awaiter(this,void 0x0,void 0x0,function*(){const I=W;try{yield a[I(0xff)]();}catch(v){(0x0,utils_1[I(0xfa)])('Cleaning\x20up\x20open\x20connections\x20failed:\x20'+v['message']);}finally{process[I(0x94)]();}})),a;}[a15N(0xe2)](S,a,j=![]){const r=a15N,{type:v,name:z}=a;if(S[r(0xfc)]<=0x0){const w=r(0xea)+a[r(0xe1)]+'\x20is\x20running\x20and\x20reachable\x20and\x20that\x20a\x20port\x20is\x20defined\x20on\x20the\x20networking\x20section.';(0x0,utils_1[r(0xb3)])(r(0xb5)+v+'\x20'+chalk_1['default'][r(0xeb)](z)+'.\x20'+w);return;}const s=(0x0,lodash_1[r(0xe5)])(S,r(0xc5)),u=i=>'\x20('+(i[r(0x108)]?i['portName']+r(0xb0):'')+i['protocol']+')';function g(i,o=0x2){const n=r;if(!j){const X=i[n(0x114)]===n(0x11c)?'http://':'';i[n(0x11d)][n(0xcf)](T=>{const k=n;console[k(0xbb)]((0x0,lodash_1[k(0xcc)])('\x20',o)+'-\x20'+X+T+':'+i[k(0xbf)]);});}}Object[r(0xdd)](s)['forEach'](([i,o])=>{const p=r;var X,T;const H='>\x20'+(0x0,lodash_1[p(0xf4)])(v)+'\x20\x27'+chalk_1[p(0xef)][p(0xb7)][p(0xeb)](i)+'\x27';if(v===p(0xc4)){if(o[p(0xfc)]===0x1){const E=o[0x0];if(E[p(0xfa)]){(0x0,utils_1[p(0xfa)])(p(0xd6)+i+':\x20'+E[p(0xfa)]['message']);return;}const Y=E[p(0xd4)],V=!j?'\x20'+chalk_1[p(0xef)]['reset']('with\x20hostname:\x20'+Y[p(0x11d)][p(0x116)](',')):'';(0x0,utils_1[p(0xda)])(H+p(0x97)+Y[p(0xa6)]+':'+Y[p(0xbf)]+u(Y)+V);}else{const K=(0x0,lodash_1['uniqBy'])(o,L=>{const G=p;var A,Q;return(Q=(A=L===null||L===void 0x0?void 0x0:L[G(0xd4)])===null||A===void 0x0?void 0x0:A[G(0x11d)])===null||Q===void 0x0?void 0x0:Q[G(0x116)](',');})[p(0xfc)]>0x1;(0x0,utils_1[p(0xda)])(H+p(0xfe)+(K?p(0xdf):p(0xc9))+':'),o[p(0xcf)](L=>{const d=p;if(L[d(0xfa)]){(0x0,utils_1[d(0xfa)])(d(0xd6)+i+':\x20'+L['error']['message']);return;}const A=L[d(0xd4)],Q=!j?d(0xe4)+A[d(0x11d)]['join'](','):'';console[d(0xbb)](d(0xb9)+A['address']+':'+A[d(0xbf)]+u(A)+Q);});}}if(v===p(0x106)){if(o[p(0xfc)]===0x1){const L=o[0x0];if(L[p(0xfa)]){(0x0,utils_1['error'])(p(0xd6)+i+':\x20'+L[p(0xfa)][p(0xd8)]);return;}const A=L[p(0xd4)],Q=!j?p(0xf9):':',R=A[p(0xa6)]+':'+A['port']+u(A);(0x0,utils_1['success'])(H+p(0x97)+R+Q),g(A);}else(0x0,utils_1[p(0xda)])(H+p(0x97)+((T=(X=o[0x0])===null||X===void 0x0?void 0x0:X[p(0xd4)])===null||T===void 0x0?void 0x0:T[p(0xa6)])+'\x20with\x20multiple\x20ports:'),o[p(0xcf)](M=>{const t=p;if(M[t(0xfa)]){(0x0,utils_1[t(0xfa)])(t(0xd6)+i+':\x20'+M[t(0xfa)][t(0xd8)]);return;}const x=M[t(0xd4)];(0x0,utils_1['success'])(t(0xfb)+x['port']+u(x)),g(x,0x4);});}});}[a15N(0xb2)](S,a=![]){const S0=a15N;if(a){const j=S[S0(0x104)](o=>o[S0(0xd4)])[S0(0xb4)](o=>o!==undefined),v=(process===null||process===void 0x0?void 0x0:process[S0(0x11b)])===S0(0xab),z=os[S0(0x11b)]()===S0(0xc3),s=v?'C:/Windows/System32/drivers/etc/hosts':S0(0x11a),u=chalk_1[S0(0xef)][S0(0xeb)](S0(0xa8)),g=z?EOL+S0(0xd1)+u+S0(0xaa):undefined;let w=S0(0xf5)+u+'\x20mode.\x20If\x20hostname\x20forwarding\x20is\x20required,\x20remove\x20'+S0(0xa0)+S0(0xc8)+s+'):';g!==undefined&&(0x0,utils_1[S0(0xb3)])(g!==null&&g!==void 0x0?g:'');(0x0,utils_1[S0(0xb3)])(w);const i=j[S0(0x120)](o=>o['address']+S0(0xbe)+o[S0(0x11d)][S0(0x116)]('\x20'));console[S0(0xbb)]((0x0,lodash_1[S0(0xb8)])(i)['join'](EOL)),console[S0(0xbb)]();}}}exports[a15N(0xbd)]=CliPortForward;