@northflank/cli 0.10.9 → 0.10.10
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/api-helpers.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/context/contextCommands.js +1 -1
- package/dist/copy/index.js +1 -1
- package/dist/defaults.js +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/formatting/command-overview.js +1 -1
- package/dist/formatting/console-format-helpers.js +1 -1
- package/dist/formatting/terminal-chart.js +1 -1
- package/dist/inquirer-helper.js +1 -1
- package/dist/login/browser-login.js +1 -1
- package/dist/logs/index.js +1 -1
- package/dist/logs/log-formatter.js +1 -1
- package/dist/metrics/index.js +1 -1
- package/dist/pagination/inquirer-pagination-prompt.js +1 -1
- package/dist/port-forward/index.js +1 -1
- package/dist/utils.js +1 -1
- package/package.json +9 -10
package/dist/metrics/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a13l=a13B;(function(I,B){const c=a13B,J=I();while(!![]){try{const C=-parseInt(c(0x140))/0x1+parseInt(c(0x18e))/0x2+-parseInt(c(0x1c0))/0x3+parseInt(c(0x151))/0x4*(-parseInt(c(0x14b))/0x5)+-parseInt(c(0x1bf))/0x6+-parseInt(c(0x1b4))/0x7+parseInt(c(0x1b1))/0x8*(parseInt(c(0x1a1))/0x9);if(C===B)break;else J['push'](J['shift']());}catch(G){J['push'](J['shift']());}}}(a13I,0x28a7d));function a13B(I,B){const J=a13I();return a13B=function(C,G){C=C-0x140;let F=J[C];return F;},a13B(I,B);}var __awaiter=this&&this[a13l(0x180)]||function(I,B,J,C){function G(F){return F instanceof J?F:new J(function(A){A(F);});}return new(J||(J=Promise))(function(F,A){const j=a13B;function H(X){const n=a13B;try{d(C[n(0x1c6)](X));}catch(S){A(S);}}function t(X){const m=a13B;try{d(C[m(0x19b)](X));}catch(S){A(S);}}function d(X){const E=a13B;X['done']?F(X['value']):G(X[E(0x172)])[E(0x14a)](H,t);}d((C=C[j(0x169)](I,B||[]))[j(0x1c6)]());});},__importDefault=this&&this[a13l(0x195)]||function(I){const U=a13l;return I&&I[U(0x17b)]?I:{'default':I};};Object['defineProperty'](exports,a13l(0x17b),{'value':!![]}),exports['CliMetrics']=void 0x0;const js_client_1=require(a13l(0x167)),utils_1=require(a13l(0x183)),inquirer_helper_1=require(a13l(0x159)),commander_1=require(a13l(0x143)),terminal_chart_1=require('../formatting/terminal-chart'),console_format_helpers_1=require(a13l(0x17e)),chalk_1=__importDefault(require('chalk'));class CliMetrics{constructor(I,B){const D=a13l;this['apiContext']=I,this[D(0x144)]=0x2710,this[D(0x153)]=(J,C)=>{const M=D,G=(0x0,utils_1[M(0x1a4)])(!![])[M(0x1ad)]((C?M(0x178):'')+M(0x1cd))[M(0x19a)]((C?'build-':'')+M(0x14c))[M(0x161)](M(0x18b)+J)[M(0x1c1)]('--project\x20--projectId\x20[NAME]',M(0x15b))[M(0x1c1)]('--'+J+M(0x142)+J+M(0x15d),J['charAt'](0x0)[M(0x170)]()+J[M(0x168)](0x1)+M(0x146))['option'](M(0x16d),'Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)')[M(0x1c1)](M(0x186),M(0x16f)+utils_1[M(0x189)],utils_1[M(0x1b3)])[M(0x1c1)](M(0x1c7),M(0x1ab)+utils_1[M(0x189)],utils_1[M(0x1b3)])[M(0x1c1)](M(0x188),M(0x181))[M(0x1c8)](new commander_1['Option'](M(0x1d2),M(0x1d4))[M(0x16c)](Object[M(0x166)](js_client_1[M(0x1c4)])))['addOption'](new commander_1[(M(0x1c5))](M(0x177),M(0x16b)+utils_1[M(0x189)])[M(0x154)](utils_1[M(0x1b3)])['conflicts']([M(0x17a),M(0x149)]))['option'](M(0x174),M(0x173),![])[M(0x1c8)](new commander_1[(M(0x1c5))](M(0x191),M(0x1ca))[M(0x16c)](Object[M(0x166)]([M(0x19e),M(0x1a8),M(0x150)])));if(C)G[M(0x1c1)](M(0x1a2),M(0x18d));if(J===M(0x1c3))G['option'](M(0x16e),M(0x1b2));if(J===M(0x197))G[M(0x1c1)](M(0x187),M(0x1bc));return G;},this[D(0x18a)]=(J,C)=>{return G=>{const R=a13B,F=Object[R(0x1be)](G)[R(0x198)](A=>{const Y=R,{values:H,metricInfo:t}=G[A],{metricUnit:d,metricResolution:X}=t;return H[Y(0x1a6)](S=>{const P=Y;var f,v;const {metadata:a,data:V}=S,r=C?(C===null||C===void 0x0?void 0x0:C[P(0x1b5)]())>new Date()['getTime']()?new Date():C:undefined,s=new Date((f=V===null||V===void 0x0?void 0x0:V[0x0])===null||f===void 0x0?void 0x0:f['ts']),K=new Date((v=V===null||V===void 0x0?void 0x0:V[V['length']-0x1])===null||v===void 0x0?void 0x0:v['ts']),b=this[P(0x15a)](J,s,X),W=this['getPaddingDataEnd'](r,K,X),u=[...b,...V,...W],h=u[P(0x1a6)](Z=>[new Date(Z['ts'])['valueOf'](),Number(Z[P(0x172)])])[P(0x148)](Z=>!Number[P(0x184)](Z[0x0])),q=Math[P(0x1d0)](Math['max'](process['stdout'][P(0x14d)]-0xa,0xa),0x64),x=Math['min'](Math['max'](process['stdout']['rows']-0x9,0xa),0xf),g=d===P(0x145)?0x64:undefined,o=d===P(0x145)?'%':d,O=(0x0,terminal_chart_1[P(0x165)])(h,q),p=O[P(0x1a6)](Z=>Z[0x1]),w={'min':0x0,'height':x,'max':g,'unit':o,'startTs':J!==null&&J!==void 0x0?J:s,'endTs':r!==null&&r!==void 0x0?r:K};return{'dataSeries':p,'metadata':a,'chartOpts':w,'metricInfo':t};});})['flat']();if(F[R(0x199)]===0x0)(0x0,utils_1[R(0x1ba)])('No\x20metrics\x20found\x20for\x20this\x20query');else F[R(0x1a9)](A=>{const k=R,{dataSeries:H,metadata:t,chartOpts:d,metricInfo:X}=A,{containerId:S,volumeId:f}=t,v=f?k(0x1a3)+f:'';console[k(0x17d)](X['metricId']+k(0x182)+chalk_1[k(0x1d1)][k(0x1b6)](S)+v),console[k(0x17d)]((0x0,terminal_chart_1['getAsciiChart'])(H,d));});};},this[D(0x19f)]=(J,C,G)=>()=>__awaiter(this,void 0x0,void 0x0,function*(){const L=D;try{const F=yield this[L(0x1c2)][L(0x1cd)][L(0x1cc)](J,C,G);console[L(0x14f)]();if(F[L(0x1bd)])(0x0,utils_1[L(0x1bd)])(L(0x1af)+F['error'][L(0x1c9)]);else this[L(0x15f)](F[L(0x1cf)]);}catch(A){console[L(0x14f)](),(0x0,utils_1[L(0x1bd)])(L(0x1af)+A[L(0x1c9)]);}}),this[D(0x14e)]=J=>{const N=D;if(J[N(0x1bd)]){const C=JSON['stringify'](J[N(0x1bd)][N(0x190)]);throw new Error(N(0x1af)+J[N(0x1bd)][N(0x1c9)]+'\x20'+C);}},this[D(0x1b8)]=(J,C,G,F,A)=>{const T=D;if(A===!![])return;const {metricTypes:H,endTime:t,startTime:d,duration:X,containerId:S}=F,f=d?T(0x19c)+d['toISOString']():'',v=t?T(0x1ce)+t[T(0x158)]():'',a=X?T(0x18c)+X+T(0x193):'',V=S?T(0x155)+chalk_1['default'][T(0x1b6)](S):T(0x160),r=J+'\x20'+chalk_1[T(0x1d1)][T(0x1b6)](C)+T(0x1b0)+chalk_1[T(0x1d1)][T(0x1b6)](G),s=''+f+v+a,K=H?T(0x162)+(H===null||H===void 0x0?void 0x0:H[T(0x1b9)](',')):'';console[T(0x17d)](T(0x1bb)+V+T(0x163)+r+K+s);},this[D(0x176)]=new js_client_1['ApiClient'](I,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent'],'agent':B}),this['metricsApiClient']=this[D(0x176)],this['inquirerHelper']=new inquirer_helper_1['InquirerHelper'](this['apiClient']);}['getMetricsCommand'](I,B=![]){const I2=a13l,J=(H,t)=>__awaiter(this,void 0x0,void 0x0,function*(){const y=a13B,d=t[y(0x1ae)],{apiContext:X,inquirerHelper:S}=this;switch(I){case y(0x197):{const f=d?undefined:X[y(0x1b7)]();return t[y(0x1d5)]||f||(yield S[y(0x196)](H)());}case y(0x1c3):{const v=d?undefined:X[y(0x1b7)]();return t[y(0x1aa)]||v||(yield S['askForJob'](H)());}case'addon':{const a=d?undefined:X['getCurrentServiceName']();return t[y(0x156)]||a||(yield S['askForAddon'](H)());}}}),C=(H,t,d)=>__awaiter(this,void 0x0,void 0x0,function*(){const e=a13B;if(B)return d[e(0x1d6)]||(yield this[e(0x1cb)][e(0x152)](H,I===e(0x197)?t:undefined,I===e(0x1c3)?t:undefined,!![])());return undefined;}),G=(H,t,d)=>__awaiter(this,void 0x0,void 0x0,function*(){const i=a13B;if(!B&&d[i(0x18f)]!==undefined){if(d[i(0x18f)]!==!![])return d[i(0x18f)];return yield this[i(0x1cb)][i(0x1a5)](H,I===i(0x197)?t:undefined,I===i(0x1c3)?t:undefined,!![])();}return undefined;}),F=(H,t,d)=>__awaiter(this,void 0x0,void 0x0,function*(){const I0=a13B;if(I==='job')return d[I0(0x1a0)]||(yield this[I0(0x1cb)][I0(0x185)](t,H,!![])());return undefined;}),A=(H,t,d)=>__awaiter(this,void 0x0,void 0x0,function*(){const I1=a13B;if(I===I1(0x197)){if(d[I1(0x194)]!==!![])return d[I1(0x194)];return d[I1(0x194)];}return undefined;});return this['getStandardMetricsCommand'](I,B)[I2(0x1a7)](H=>__awaiter(this,void 0x0,void 0x0,function*(){const I3=I2,{noDefaults:t,projectId:d,duration:X,timestamp:S,output:f,startTime:v,endTime:a,metricTypes:V,quiet:r}=H;(0x0,utils_1[I3(0x147)])(this['apiClient']);if(v&&a&&X)throw new Error('Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.');const {apiContext:s,inquirerHelper:K,metricsApiClient:b}=this,W=t?undefined:s['getCurrentProjectName'](),u=d||W||(yield K[I3(0x17c)]()),h=yield J(u,H),q=yield C(u,h,H),x=yield F(u,h,H),g=yield A(u,h,H),o=yield G(u,h,H),O={'projectId':u,'entityId':h},p={'containerName':o,'startTime':v,'endTime':a,'duration':X,'timestamp':S,'metricTypes':V,'runId':x,'buildId':q,'deploymentId':g,'isBuild':B!==null&&B!==void 0x0?B:![]},w=!(v||a||X);if(!r&&f!==I3(0x150)&&f!==I3(0x15e)&&f!==I3(0x1a8))this[I3(0x1b8)](I,h,u,p,r);if(w){if(f!==undefined){const Z=yield b['metrics'][I3(0x1cc)](O,p,I);this[I3(0x14e)](Z),(0x0,console_format_helpers_1['printResponse'])(f,Z[I3(0x1cf)]);}else[...Array(process[I3(0x1d3)][I3(0x157)]-0x1)][I3(0x1a9)]((z,Q)=>Q===0x0?console[I3(0x17d)]('Fetching\x20data..'):console[I3(0x17d)]()),yield this[I3(0x19f)](O,p,I)(),setInterval(this[I3(0x19f)](O,p,I),this[I3(0x144)]),yield new Promise(z=>setTimeout(z,this[I3(0x144)]*0x64));}else{const z=yield b['metrics']['metricsRange'](O,p,I);this[I3(0x14e)](z),f!==undefined?(0x0,console_format_helpers_1['printResponse'])(f,z[I3(0x1cf)]):this[I3(0x18a)](v,a!==null&&a!==void 0x0?a:new Date())(z[I3(0x1cf)]);}process[I3(0x1ac)]();}));}['printMetricsSingle'](I){const I6=a13l,B=(G,F)=>{const I4=a13B;if(!(F===null||F===void 0x0?void 0x0:F[I4(0x172)]))I4(0x17f);const A=G['metricUnit']===I4(0x145)?'%':G[I4(0x19d)];return''+Number(F===null||F===void 0x0?void 0x0:F[I4(0x172)])[I4(0x15c)](0x3)+A;},J=G=>{const I5=a13B;if(!(G===null||G===void 0x0?void 0x0:G['ts']))'N/A';return G['ts']['toTimeString']()[I5(0x164)]('\x20')[0x0];},C={};Object['keys'](I)[I6(0x1a9)](G=>{const I7=I6,{values:F,metricInfo:A}=I[G];return F[I7(0x1a9)](H=>{const I8=I7;var t,d;const X=H[I8(0x192)][I8(0x18f)];Object[I8(0x171)](C,{[X]:Object['assign'](Object['assign']({},C===null||C===void 0x0?void 0x0:C[X]),{['time']:J((t=H[I8(0x1cf)])===null||t===void 0x0?void 0x0:t[0x0]),'containerId':X,[A[I8(0x141)]]:B(A,(d=H[I8(0x1cf)])===null||d===void 0x0?void 0x0:d[0x0])})});});}),(0x0,console_format_helpers_1[I6(0x175)])(Object[I6(0x166)](C),'Metrics\x20overview');}[a13l(0x15a)](I,B,J){const I9=a13l,C=A=>new Date(A['getTime']()-G),G=J*0x3e8;if(!I)return[];if(!B)return[];if(C(B)['getTime']()<I[I9(0x1b5)]())return[];const F=[{'ts':C(B),'value':0x0}];while(C(F[F[I9(0x199)]-0x1]['ts'])['getTime']()<=I[I9(0x1b5)]()){F['unshift']({'ts':C(F[F[I9(0x199)]-0x1]['ts']),'value':0x0});}return F;}['getPaddingDataEnd'](I,B,J){const II=a13l,C=A=>new Date(A[II(0x1b5)]()+G),G=J*0x3e8;if(!I)return[];if(!B)return[];if(C(B)['getTime']()>I[II(0x1b5)]())return[];const F=[{'ts':C(B),'value':0x0}];while(C(F[F['length']-0x1]['ts'])[II(0x1b5)]()<=I[II(0x1b5)]()){F[II(0x16a)]({'ts':C(F[F[II(0x199)]-0x1]['ts']),'value':0x0});}return F;}}function a13I(){const IB=['--duration\x20[duration]','tsHint','printMetricsGraph','Get\x20metrics\x20for\x20the\x20specified\x20',',\x20duration:\x20','Build\x20to\x20get\x20logs\x20from','222366QEKDxp','containerId','details','-o,\x20--output\x20[output]','metadata','\x20seconds','deploymentId','__importDefault','askForService','service','flatMap','length','alias','throw',',\x20from:\x20','metricUnit','format','printMetricsTable','runId','9qBrSas','--build\x20--buildId\x20[buildId]',',\x20volume:\x20','getCommand','askForContainer','map','action','json','forEach','jobId','Get\x20metrics\x20before\x20this\x20timestamp,\x20','exit','name','noDefaults','Error\x20while\x20fetching\x20metrics\x20entries:\x20','\x20in\x20project\x20','4825264AWkJqz','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','parseDateInput','1420517PspNfL','getTime','bold','getCurrentServiceName','printInitInfo','join','warning','Metrics\x20for\x20','Deployment\x20id,\x20example:\x20my-service-54785f4','error','keys','346188TUBLUY','273831pAcHGl','option','metricsApiClient','job','MetricType','Option','next','--endTime\x20<timestamp>','addOption','message','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','inquirerHelper','metricsSingle','metrics',',\x20to:\x20','data','min','default','-t,\x20--metricTypes\x20<metricTypes...>','stdout','Which\x20metric\x20type\x20to\x20fetch','serviceId','buildId','154116JceaWg','metricId','\x20--','commander','refreshInterval','pct','\x20to\x20get\x20logs\x20from','assertContextExisting','filter','endTime','then','104485TTpSNP','metric','columns','handleError','clear','yaml','8sADRQL','askForBuild','getStandardMetricsCommand','argParser','container\x20','addonId','rows','toISOString','../inquirer-helper','getPaddingDataStart','Project\x20for\x20logs','toFixed','Id\x20[NAME]','yml','printMetricsSingle','all\x20containers','description',',\x20metric\x20types:\x20','\x20of\x20','split','downSampleData','values','@northflank/js-client','slice','apply','push','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','choices','--container\x20--containerId\x20[NAME]','--run\x20--runId\x20[runId]','Get\x20metrics\x20after\x20this\x20timestamp,\x20','toUpperCase','assign','value','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','--noDefaults','printAsTable','apiClient','--timestamp\x20[timestamp]','build-','CliMetrics','startTime','__esModule','askForProject','log','../formatting/console-format-helpers','N/A','__awaiter','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','\x20for\x20container:\x20','../utils','isNaN','askForJobRun','--startTime\x20<timestamp>','--deployment\x20--deploymentId\x20[deploymentId]'];a13I=function(){return IB;};return a13I();}exports[a13l(0x179)]=CliMetrics;
|
|
1
|
+
const a13E=a13R;(function(O,R){const z=a13R,M=O();while(!![]){try{const i=-parseInt(z(0x15d))/0x1*(-parseInt(z(0xee))/0x2)+-parseInt(z(0xf1))/0x3+-parseInt(z(0x138))/0x4*(-parseInt(z(0xf5))/0x5)+-parseInt(z(0x15e))/0x6*(-parseInt(z(0x105))/0x7)+-parseInt(z(0xed))/0x8*(-parseInt(z(0xe9))/0x9)+-parseInt(z(0x131))/0xa+parseInt(z(0x121))/0xb*(-parseInt(z(0x112))/0xc);if(i===R)break;else M['push'](M['shift']());}catch(K){M['push'](M['shift']());}}}(a13O,0x9a24b));import{ApiClient,MetricType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';function a13R(O,R){const M=a13O();return a13R=function(i,K){i=i-0xe4;let U=M[i];return U;},a13R(O,R);}import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';import{downSampleData,getAsciiChart}from'../formatting/terminal-chart.js';import{printAsTable,printResponse}from'../formatting/console-format-helpers.js';import a13M from'chalk';function a13O(){const O5=['deploymentId','apiContext','getPaddingDataStart','N/A','serviceId','log','385dUiMVW','endTime','flatMap','\x20in\x20project\x20','push','apiClient','all\x20containers','Get\x20metrics\x20for\x20the\x20specified\x20','bold','\x20of\x20','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','metricsApiClient','--noDefaults','max','job','flat','2540100xcocfm','jobId','toUpperCase','askForAddon','data','alias','metricsSingle','33364EjixZn','conflicts','yml','Get\x20metrics\x20after\x20this\x20timestamp,\x20','-t,\x20--metricTypes\x20<metricTypes...>','option','columns','addonId','addon','message','--startTime\x20<timestamp>',',\x20duration:\x20','metrics','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','Error\x20while\x20fetching\x20metrics\x20entries:\x20','details','Id\x20[NAME]','No\x20metrics\x20found\x20for\x20this\x20query','pct','Metrics\x20overview','argParser','--container\x20--containerId\x20[NAME]','getCurrentServiceName','service','map','error','split','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','getPaddingDataEnd','Project\x20for\x20logs','metricUnit','printInitInfo','value','forEach','length','--duration\x20[duration]','stdout','15slXBbZ','296178CGrXsX','startTime','toISOString','getCurrentProjectName','-o,\x20--output\x20[output]','--timestamp\x20[timestamp]','clear','Get\x20metrics\x20before\x20this\x20timestamp,\x20','choices','askForProject','printMetricsSingle','printMetricsGraph','21150ZSnLks','addOption','metadata','printMetricsTable','1656pGXrLq','113926JPkFsK','inquirerHelper','containerId','2255781UZvZCa','json','stringify','--project\x20--projectId\x20[NAME]','65gPILRI','\x20--','--run\x20--runId\x20[runId]',',\x20from:\x20','valueOf',',\x20to:\x20','metricId','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','Deployment\x20id,\x20example:\x20my-service-54785f4','build-','askForService','metric','askForJobRun','rows','values','metricsRange','35RECGQB','getTime','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','slice','toFixed','keys','isNaN','--endTime\x20<timestamp>','askForBuild','toTimeString','Fetching\x20data..','--deployment\x20--deploymentId\x20[deploymentId]','time','20172NdzJlv','exit','refreshInterval','getMetricsCommand','format','Metrics\x20for\x20','getStandardMetricsCommand','yaml','name'];a13O=function(){return O5;};return a13O();}export class CliMetrics{[a13E(0x11c)];[a13E(0x126)];[a13E(0x12c)];['inquirerHelper'];[a13E(0x114)]=0x2710;['getStandardMetricsCommand']=(O,R)=>{const T=a13E,M=getCommand(!![])[T(0x11a)]((R?T(0xfe):'')+T(0x144))[T(0x136)]((R?T(0xfe):'')+T(0x100))['description'](T(0x128)+O)['option'](T(0xf4),T(0x155))['option']('--'+O+T(0xf6)+O+T(0x148),O['charAt'](0x0)[T(0x133)]()+O[T(0x108)](0x1)+'\x20to\x20get\x20logs\x20from')[T(0x13d)](T(0x14d),'Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)')[T(0x13d)](T(0x142),T(0x13b)+tsHint,parseDateInput)[T(0x13d)](T(0x10c),T(0xe4)+tsHint,parseDateInput)[T(0x13d)](T(0x15b),'Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set')[T(0xea)](new Option(T(0x13c),'Which\x20metric\x20type\x20to\x20fetch')[T(0xe5)](Object['values'](MetricType)))[T(0xea)](new Option(T(0x163),T(0x12b)+tsHint)[T(0x14c)](parseDateInput)[T(0x139)]([T(0x15f),T(0x122)]))['option'](T(0x12d),T(0x145),![])['addOption'](new Option(T(0x162),T(0x153))[T(0xe5)](Object[T(0x103)]([T(0x116),T(0xf2),T(0x119)])));if(R)M[T(0x13d)]('--build\x20--buildId\x20[buildId]','Build\x20to\x20get\x20logs\x20from');if(O===T(0x12f))M[T(0x13d)](T(0xf7),T(0xfc));if(O==='service')M[T(0x13d)](T(0x110),T(0xfd));return M;};constructor(O,R){const W=a13E;this[W(0x11c)]=O,this[W(0x126)]=new ApiClient(O,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':R}),this[W(0x12c)]=this[W(0x126)],this[W(0xef)]=new InquirerHelper(this[W(0x126)]);}[a13E(0x115)](O,R=![]){const V=a13E,M=async(S,p)=>{const F=a13R,c=p['noDefaults'],{apiContext:l,inquirerHelper:u}=this;switch(O){case F(0x14f):{const r=c?undefined:l[F(0x14e)]();return p[F(0x11f)]||r||await u[F(0xff)](S)();}case F(0x12f):{const n=c?undefined:l[F(0x14e)]();return p[F(0x132)]||n||await u['askForJob'](S)();}case F(0x140):{const Q=c?undefined:l[F(0x14e)]();return p[F(0x13f)]||Q||await u[F(0x134)](S)();}}},i=async(S,p,c)=>{const m=a13R;if(R)return c['buildId']||await this[m(0xef)][m(0x10d)](S,O===m(0x14f)?p:undefined,O===m(0x12f)?p:undefined,!![])();return undefined;},K=async(S,p,c)=>{const w=a13R;if(!R&&c['containerId']!==undefined){if(c[w(0xf0)]!==!![])return c[w(0xf0)];return await this[w(0xef)]['askForContainer'](S,O==='service'?p:undefined,O===w(0x12f)?p:undefined,!![])();}return undefined;},U=async(S,p,c)=>{const e=a13R;if(O===e(0x12f))return c['runId']||await this[e(0xef)][e(0x101)](p,S,!![])();return undefined;},x=async(S,p,c)=>{const B=a13R;if(O==='service'){if(c[B(0x11b)]!==!![])return c[B(0x11b)];return c[B(0x11b)];}return undefined;};return this[V(0x118)](O,R)['action'](async S=>{const v=V,{noDefaults:p,projectId:c,duration:l,timestamp:u,output:r,startTime:n,endTime:Q,metricTypes:L,quiet:A}=S;assertContextExisting(this[v(0x126)]);if(n&&Q&&l)throw new Error(v(0x107));const {apiContext:h,inquirerHelper:t,metricsApiClient:G}=this,s=p?undefined:h[v(0x161)](),y=c||s||await t[v(0xe6)](),C=await M(y,S),d=await i(y,C,S),H=await U(y,C,S),b=await x(y,C,S),I=await K(y,C,S),k={'projectId':y,'entityId':C},q={'containerName':I,'startTime':n,'endTime':Q,'duration':l,'timestamp':u,'metricTypes':L,'runId':H,'buildId':d,'deploymentId':b,'isBuild':R??![]},j=!(n||Q||l);if(!A&&r!==v(0x119)&&r!==v(0x13a)&&r!==v(0xf2))this[v(0x157)](O,C,y,q,A);if(j){if(r!==undefined){const D=await G[v(0x144)]['metricsSingle'](k,q,O);this['handleError'](D),printResponse(r,D[v(0x135)]);}else[...Array(process['stdout'][v(0x102)]-0x1)]['forEach']((Y,N)=>N===0x0?console[v(0x120)](v(0x10f)):console[v(0x120)]()),await this['printMetricsTable'](k,q,O)(),setInterval(this[v(0xec)](k,q,O),this['refreshInterval']),await new Promise(Y=>setTimeout(Y,this[v(0x114)]*0x64));}else{const Y=await G[v(0x144)][v(0x104)](k,q,O);this['handleError'](Y),r!==undefined?printResponse(r,Y['data']):this['printMetricsGraph'](n,Q??new Date())(Y[v(0x135)]);}process[v(0x113)]();});}['printMetricsSingle'](O){const Z=a13E,R=(K,U)=>{const g=a13R;if(!U?.['value'])g(0x11e);const x=K[g(0x156)]===g(0x14a)?'%':K[g(0x156)];return''+Number(U?.[g(0x158)])[g(0x109)](0x3)+x;},M=K=>{const P=a13R;if(!K?.['ts'])P(0x11e);return K['ts'][P(0x10e)]()[P(0x152)]('\x20')[0x0];},i={};Object[Z(0x10a)](O)[Z(0x159)](K=>{const o=Z,{values:U,metricInfo:x}=O[K];return U[o(0x159)](S=>{const J=o,p=S[J(0xeb)][J(0xf0)];Object['assign'](i,{[p]:{...i?.[p],[J(0x111)]:M(S[J(0x135)]?.[0x0]),'containerId':p,[x[J(0xfb)]]:R(x,S[J(0x135)]?.[0x0])}});});}),printAsTable(Object['values'](i),Z(0x14b));}[a13E(0xe8)]=(O,R)=>{return M=>{const X=a13R,i=Object[X(0x10a)](M)[X(0x123)](K=>{const {values:U,metricInfo:x}=M[K],{metricUnit:S,metricResolution:p}=x;return U['map'](c=>{const a=a13R,{metadata:l,data:u}=c,r=R?R?.[a(0x106)]()>new Date()[a(0x106)]()?new Date():R:undefined,n=new Date(u?.[0x0]?.['ts']),Q=new Date(u?.[u['length']-0x1]?.['ts']),L=this['getPaddingDataStart'](O,n,p),A=this[a(0x154)](r,Q,p),h=[...L,...u,...A],t=h[a(0x150)](I=>[new Date(I['ts'])[a(0xf9)](),Number(I[a(0x158)])])['filter'](I=>!Number[a(0x10b)](I[0x0])),G=Math['min'](Math['max'](process[a(0x15c)][a(0x13e)]-0xa,0xa),0x64),s=Math['min'](Math[a(0x12e)](process['stdout'][a(0x102)]-0x9,0xa),0xf),y=S===a(0x14a)?0x64:undefined,C=S===a(0x14a)?'%':S,d=downSampleData(t,G),H=d[a(0x150)](I=>I[0x1]),b={'min':0x0,'height':s,'max':y,'unit':C,'startTs':O??n,'endTs':r??Q};return{'dataSeries':H,'metadata':l,'chartOpts':b,'metricInfo':x};});})[X(0x130)]();if(i[X(0x15a)]===0x0)warning(X(0x149));else i[X(0x159)](K=>{const f=X,{dataSeries:U,metadata:x,chartOpts:S,metricInfo:p}=K,{containerId:c,volumeId:l}=x,u=l?',\x20volume:\x20'+l:'';console[f(0x120)](p[f(0xfb)]+'\x20for\x20container:\x20'+a13M[f(0x129)](c)+u),console[f(0x120)](getAsciiChart(U,S));});};};[a13E(0x11d)](O,R,M){const O0=a13E,i=x=>new Date(x[O0(0x106)]()-K),K=M*0x3e8;if(!O)return[];if(!R)return[];if(i(R)['getTime']()<O[O0(0x106)]())return[];const U=[{'ts':i(R),'value':0x0}];while(i(U[U[O0(0x15a)]-0x1]['ts'])['getTime']()<=O[O0(0x106)]()){U['unshift']({'ts':i(U[U[O0(0x15a)]-0x1]['ts']),'value':0x0});}return U;}['getPaddingDataEnd'](O,R,M){const O1=a13E,i=x=>new Date(x[O1(0x106)]()+K),K=M*0x3e8;if(!O)return[];if(!R)return[];if(i(R)[O1(0x106)]()>O[O1(0x106)]())return[];const U=[{'ts':i(R),'value':0x0}];while(i(U[U[O1(0x15a)]-0x1]['ts'])[O1(0x106)]()<=O[O1(0x106)]()){U[O1(0x125)]({'ts':i(U[U[O1(0x15a)]-0x1]['ts']),'value':0x0});}return U;}[a13E(0xec)]=(O,R,M)=>async()=>{const O2=a13E;try{const i=await this['metricsApiClient'][O2(0x144)][O2(0x137)](O,R,M);console[O2(0x164)]();if(i[O2(0x151)])error(O2(0x146)+i['error'][O2(0x141)]);else this[O2(0xe7)](i[O2(0x135)]);}catch(K){console[O2(0x164)](),error(O2(0x146)+K[O2(0x141)]);}};['handleError']=O=>{const O3=a13E;if(O[O3(0x151)]){const R=JSON[O3(0xf3)](O[O3(0x151)][O3(0x147)]);throw new Error(O3(0x146)+O[O3(0x151)]['message']+'\x20'+R);}};[a13E(0x157)]=(O,R,M,i,K)=>{const O4=a13E;if(K===!![])return;const {metricTypes:U,endTime:x,startTime:S,duration:p,containerId:c}=i,l=S?O4(0xf8)+S[O4(0x160)]():'',u=x?O4(0xfa)+x[O4(0x160)]():'',r=p?O4(0x143)+p+'\x20seconds':'',n=c?'container\x20'+a13M[O4(0x129)](c):O4(0x127),Q=O+'\x20'+a13M[O4(0x129)](R)+O4(0x124)+a13M[O4(0x129)](M),L=''+l+u+r,A=U?',\x20metric\x20types:\x20'+U?.['join'](','):'';console[O4(0x120)](O4(0x117)+n+O4(0x12a)+Q+A+L);};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a14l=a14R;(function(O,R){const p=a14R,M=O();while(!![]){try{const i=-parseInt(p(0x95))/0x1*(-parseInt(p(0x7f))/0x2)+parseInt(p(0x8b))/0x3+-parseInt(p(0x81))/0x4+-parseInt(p(0x91))/0x5*(parseInt(p(0x92))/0x6)+-parseInt(p(0x9b))/0x7*(parseInt(p(0x99))/0x8)+parseInt(p(0x89))/0x9+-parseInt(p(0x8f))/0xa*(-parseInt(p(0x98))/0xb);if(i===R)break;else M['push'](M['shift']());}catch(K){M['push'](M['shift']());}}}(a14O,0xb7ad5));import a14M from'inquirer/lib/prompts/list.js';import a14i from'inquirer/lib/objects/choice.js';import a14K from'chalk';function incrementListIndex(O,R,M){const c=a14R,i=M['choices'][c(0x90)],K=c(0x7d)in M?Boolean(M[c(0x7d)]):!![];if(R==='up'){if(O>0x0)return O-0x1;return K?i-0x1:O;}if(R===c(0x8c)){if(O<i-0x1)return O+0x1;return K?0x0:O;}throw new Error(c(0x8d));}export class DynamicReloadPaginationPrompt extends a14M{[a14l(0x85)]=a14K[a14l(0x97)](a14l(0x88));[a14l(0x8e)];[a14l(0x80)]=![];['nextPageCursor'];constructor(O,R,M){const u=a14l;super(O,R,M),this[u(0x8e)]=this[u(0x93)],this[u(0x7e)]=this['pagOpt']['nextPageCursor'],this['nextPageCursor']!==undefined&&this['opt'][u(0x9a)][u(0x86)](new a14i(this[u(0x85)],this[u(0x85)]));}['onUpKey'](){const r=a14l;if(this[r(0x80)])return;this['selected']=incrementListIndex(this[r(0x82)],'up',this[r(0x93)]),this[r(0x87)]();}async[a14l(0x8a)](){const n=a14l;if(this[n(0x80)])return;this[n(0x82)]=incrementListIndex(this['selected'],n(0x8c),this[n(0x93)]),await this[n(0x96)](),this[n(0x87)]();}async[a14l(0x96)](){const Q=a14l;if(this[Q(0x82)]>=this[Q(0x93)][Q(0x9a)][Q(0x84)]-0x1){if(this[Q(0x7e)]===undefined)return;this['loading']=!![];let O=0x0;const R=setInterval(()=>{const L=Q,x=['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'],S=a14K[L(0x97)](x[O%x[L(0x84)]]+'\x20Loading\x20more\x20options');this[L(0x93)][L(0x9a)][L(0x9a)][this[L(0x82)]]['name']=''+S,O+=0x1,this[L(0x87)]();},0x50),{elements:M,nextPageCursor:K}=await this[Q(0x8e)][Q(0x94)]({'nextPageCursor':this[Q(0x7e)]})[Q(0x83)](()=>({'elements':[],'nextPageCursor':undefined}));this[Q(0x7e)]=K;const U=M['map'](x=>new a14i(x,x));this[Q(0x93)]['choices'][Q(0x9a)]['splice'](this[Q(0x82)],0x1),this['opt'][Q(0x9a)][Q(0x86)](...U),K!==undefined&&this[Q(0x93)][Q(0x9a)]['push'](new a14i(this[Q(0x85)],this['reloadText'])),clearInterval(R),this[Q(0x80)]=![];}}}function a14R(O,R){const M=a14O();return a14R=function(i,K){i=i-0x7d;let U=M[i];return U;},a14R(O,R);}function a14O(){const A=['nextPageCursor','446tcAWbW','loading','3389796cqRtrU','selected','catch','length','reloadText','push','render','..\x20Load\x20more\x20options\x20..','1315485VVcckS','onDownKey','1888596IyiymY','down','dir\x20must\x20be\x20up\x20or\x20down','pagOpt','3060tYJHqs','realLength','1813325vbaIRK','24SxeArp','opt','loadMore','3929zUINzl','handleDynamicPageLoad','italic','55792yNKwQJ','584RDTgPp','choices','14714zgmzvi','loop'];a14O=function(){return A;};return a14O();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a15B(I,B){const J=a15I();return a15B=function(C,G){C=C-0x17e;let F=J[C];return F;},a15B(I,B);}const a15g=a15B;(function(I,B){const x=a15B,J=I();while(!![]){try{const C=-parseInt(x(0x188))/0x1*(parseInt(x(0x1d6))/0x2)+-parseInt(x(0x1a3))/0x3+parseInt(x(0x1b0))/0x4*(parseInt(x(0x1f0))/0x5)+parseInt(x(0x19c))/0x6+-parseInt(x(0x17f))/0x7*(-parseInt(x(0x1dd))/0x8)+-parseInt(x(0x196))/0x9*(parseInt(x(0x1fb))/0xa)+-parseInt(x(0x1d4))/0xb;if(C===B)break;else J['push'](J['shift']());}catch(G){J['push'](J['shift']());}}}(a15I,0x1c739));function a15I(){const I2=['Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','getOwnPropertyNames','configurable','Failed:\x20','--skipHostnames','--service\x20--serviceId\x20[NAME]','portName','getCurrentProjectName','forEach','Services:','then','default','__createBinding','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','create','hosts','bold','warning','Cleaning\x20up\x20open\x20connections\x20failed:\x20','\x20flag\x20or\x20manually\x20append\x20following\x20entry\x20to\x20your\x20hosts\x20file\x20(','assertContextExisting','getCurrentServiceName','service','groupBy','action','../utils','printHostsFileHint','hostnames','chalk','ApiClient','\x20with\x20these\x20hostnames:','error','Forwarding\x20addon\x20','189123TguOAi','\x20mode:\x20the\x20locally\x20forwarded\x20port\x20differs\x20from\x20the\x20actual\x20port\x20on\x20the\x20forwarded\x20service/addon.','132428dFxfhi','\x20\x20If\x20you\x20have\x20added\x20entries\x20to\x20your\x20hosts\x20file,\x20it\x20is\x20recommended\x20to\x20remove\x20them\x20again\x20now.','apiClient','Please\x20ensure\x20the\x20','length','askForProject','addCommand','152GyYuhq','Only\x20expose\x20on\x20IP\x20address,\x20not\x20on\x20hostnames.\x20With\x20this\x20option,\x20no\x20root\x20permissions\x20are\x20required.','data','forwarding','value','--project\x20--projectId\x20[NAME]','__setModuleDefault','\x20-\x20','@northflank/js-client','skipHostnamesText','Addons:','stop','\x20to\x20','with\x20hostname:\x20','flatMap','uniqBy','Error\x20occured\x20while\x20trying\x20to\x20forward\x20','name','\x20is\x20exposed\x20on\x20','1215bPnGSK','success','Project\x20for\x20forwarding','tunnel-close','__importDefault','get','option','HTTP','data.id','addon','\x20with\x20multiple\x20ports:','30vtHQTx','\x20service\x20ports','forwardService','green','win32','ports','__importStar','forwardProject','SIGINT','log','22267ambKzd','\x20is\x20running\x20and\x20reachable\x20and\x20that\x20a\x20port\x20is\x20defined\x20on\x20the\x20networking\x20section.','Service\x20to\x20forward','greenBright','project\x20for\x20forwarding','InquirerHelper','capitalize','CliPortForward','Forwarding\x20service\x20','2TgifMt','No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20','next','port','__esModule','Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project','protocol','getProxyForwarder','\x20\x20-\x20port\x20','address','prototype','description','skipHostnames','darwin','273303myLXUh','join','\x20mode.\x20If\x20hostname\x20forwarding\x20is\x20required,\x20remove\x20','\x27:\x20\x22','\x20in\x20project\x20','Running\x20in\x20','1336194PHFaFO','type','map','printForwardingInfo','throw','filter','defineProperty','358650nUpVIf','portFwdCmd','getCommand','hasOwnProperty','noDefaultsText','message','all','Addon\x20to\x20forward','askForService','forwardAddon','fwd','--noDefaults','reset','3188trvhUT','\x20and\x20','C:/Windows/System32/drivers/etc/hosts'];a15I=function(){return I2;};return a15I();}var __createBinding=this&&this[a15g(0x1bf)]||(Object[a15g(0x1c1)]?function(I,B,J,C){const o=a15g;if(C===undefined)C=J;var G=Object['getOwnPropertyDescriptor'](B,J);(!G||(o(0x1f5)in G?!B['__esModule']:G['writable']||G[o(0x1b5)]))&&(G={'enumerable':!![],'get':function(){return B[J];}}),Object['defineProperty'](I,C,G);}:function(I,B,J,C){if(C===undefined)C=J;I[C]=B[J];}),__setModuleDefault=this&&this[a15g(0x1e3)]||(Object[a15g(0x1c1)]?function(I,B){const O=a15g;Object[O(0x1a2)](I,O(0x1be),{'enumerable':!![],'value':B});}:function(I,B){const p=a15g;I[p(0x1be)]=B;}),__importStar=this&&this[a15g(0x201)]||(function(){var I=function(B){const w=a15B;return I=Object[w(0x1b4)]||function(J){const Z=w;var C=[];for(var G in J)if(Object[Z(0x192)][Z(0x1a6)]['call'](J,G))C[C['length']]=G;return C;},I(B);};return function(B){const z=a15B;if(B&&B[z(0x18c)])return B;var J={};if(B!=null){for(var C=I(B),G=0x0;G<C[z(0x1da)];G++)if(C[G]!==z(0x1be))__createBinding(J,B,C[G]);}return __setModuleDefault(J,B),J;};}()),__awaiter=this&&this['__awaiter']||function(I,B,J,C){function G(F){return F instanceof J?F:new J(function(A){A(F);});}return new(J||(J=Promise))(function(F,A){function H(X){const Q=a15B;try{d(C[Q(0x18a)](X));}catch(S){A(S);}}function t(X){const c=a15B;try{d(C[c(0x1a0)](X));}catch(S){A(S);}}function d(X){const l=a15B;X['done']?F(X[l(0x1e1)]):G(X[l(0x1e1)])[l(0x1bd)](H,t);}d((C=C['apply'](I,B||[]))['next']());});},__importDefault=this&&this[a15g(0x1f4)]||function(I){const n=a15g;return I&&I[n(0x18c)]?I:{'default':I};};Object[a15g(0x1a2)](exports,'__esModule',{'value':!![]}),exports[a15g(0x186)]=void 0x0;const js_client_1=require(a15g(0x1e5)),chalk_1=__importDefault(require(a15g(0x1cf))),utils_1=require(a15g(0x1cc)),inquirer_helper_1=require('../inquirer-helper'),os=__importStar(require('os')),lodash_1=require('lodash'),{EOL}=require('os');class CliPortForward{constructor(I,B){const m=a15g;this[m(0x1a7)]=m(0x1c0),this['skipHostnamesText']=m(0x1de),this[m(0x1d8)]=new js_client_1[(m(0x1d0))](I,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent'],'agent':B});const J=new inquirer_helper_1[(m(0x184))](this[m(0x1d8)]);this[m(0x1a4)]=(0x0,utils_1['getCommand'])()['name']('forward')['alias'](m(0x1ad))[m(0x193)]('Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.');const C=(0x0,utils_1[m(0x1a5)])(!![])[m(0x1ee)](m(0x1a9))[m(0x193)](m(0x18d))[m(0x1f6)](m(0x1e2),m(0x183))[m(0x1f6)](m(0x1ae),this['noDefaultsText'],![])[m(0x1f6)]('--skipHostnames',this[m(0x1e6)],![])['action'](A=>__awaiter(this,[A],void 0x0,function*({noDefaults:H,projectId:t,skipHostnames:d}){const E=m;(0x0,utils_1[E(0x1c7)])(this[E(0x1d8)]);const X=this[E(0x18f)](d),S=H?undefined:I[E(0x1ba)](),f=t||S||(yield J[E(0x1db)]());try{const {services:v,addons:a}=yield X[E(0x202)]({'projectId':f},d);if(v['length']+a[E(0x1da)]<=0x0)(0x0,utils_1[E(0x1c4)])(E(0x189)+chalk_1[E(0x1be)][E(0x1c3)](f));else{const V=v[E(0x1a1)](K=>K['length']>0x0)[E(0x1da)],r=a['filter'](K=>K[E(0x1da)]>0x0)[E(0x1da)],s=E(0x19a)+chalk_1[E(0x1be)][E(0x1c3)](f);console['log']('Forwarding\x20'+chalk_1[E(0x1be)][E(0x1fe)][E(0x1c3)](V+E(0x1fc))+E(0x1b1)+chalk_1[E(0x1be)][E(0x1fe)]['bold'](r+'\x20addon\x20ports')+s),console['log'](),console[E(0x17e)](chalk_1[E(0x1be)][E(0x1c3)](E(0x1bc))),v[E(0x1bb)](K=>{const j=E;if(K[j(0x1da)]>=0x1&&!K[0x0]['error'])this[j(0x19f)](K,{'type':'service','name':K[0x0][j(0x1df)]['id']},d);}),console[E(0x17e)](chalk_1[E(0x1be)]['bold'](E(0x1e7))),a['forEach'](K=>{const U=E;if(K['length']>=0x1&&!K[0x0][U(0x1d2)])this[U(0x19f)](K,{'type':U(0x1f9),'name':K[0x0][U(0x1df)]['id']},d);}),this[E(0x1cd)]([...v['flat'](),...a['flat']()],d);}}catch(K){(0x0,utils_1[E(0x1d2)])(E(0x1b6)+K[E(0x1a8)]);}})),G=(0x0,utils_1[m(0x1a5)])(!![])[m(0x1ee)](m(0x1c9))[m(0x193)]('Port-forwarding\x20for\x20the\x20specified\x20service')[m(0x1f6)]('--project\x20--projectId\x20[NAME]',m(0x1f2))[m(0x1f6)](m(0x1b8),m(0x181))['option'](m(0x1ae),this['noDefaultsText'],![])['option'](m(0x1b7),this['skipHostnamesText'],![])[m(0x1cb)](A=>__awaiter(this,[A],void 0x0,function*({noDefaults:H,projectId:t,serviceId:d,skipHostnames:X}){const D=m;(0x0,utils_1['assertContextExisting'])(this[D(0x1d8)]);const S=this['getProxyForwarder'](X),f=H?undefined:I[D(0x1ba)](),v=t||f||(yield J[D(0x1db)]()),a=H?undefined:I[D(0x1c8)](),V=d||a||(yield J[D(0x1ab)](v)());console[D(0x17e)](D(0x187)+chalk_1[D(0x1be)][D(0x1c3)](V)+'\x20in\x20project\x20'+chalk_1[D(0x1be)][D(0x1c3)](v));try{const r=yield S[D(0x1fd)]({'projectId':v,'serviceId':V},X);this[D(0x19f)](r,{'name':V,'type':'service'},X),this[D(0x1cd)](r,X);}catch(s){(0x0,utils_1[D(0x1d2)])(D(0x1b6)+s[D(0x1a8)]);}})),F=(0x0,utils_1[m(0x1a5)])(!![])[m(0x1ee)]('addon')[m(0x193)]('Port-forwarding\x20for\x20the\x20specified\x20addon')[m(0x1f6)](m(0x1e2),'Project\x20for\x20forwarding')['option']('--addon\x20--addonId\x20[NAME]',m(0x1aa))[m(0x1f6)](m(0x1b7),this[m(0x1e6)],![])[m(0x1cb)](A=>__awaiter(this,[A],void 0x0,function*({noDefaults:H,projectId:t,addonId:d,skipHostnames:X}){const M=m;(0x0,utils_1['assertContextExisting'])(this[M(0x1d8)]);const S=this['getProxyForwarder'](X),f=H?undefined:I[M(0x1ba)](),v=t||f||(yield J['askForProject']()),a=d||(yield J['askForAddon'](v)());console['log'](M(0x1d3)+chalk_1['default'][M(0x1c3)](a)+M(0x19a)+chalk_1[M(0x1be)]['bold'](v));try{const V={'projectId':v,'addonId':a},r=yield S[M(0x1ac)](V,X);this[M(0x19f)](r,{'name':a,'type':'addon'},X),this['printHostsFileHint'](r,X);}catch(s){(0x0,utils_1[M(0x1d2)])(M(0x1b6)+s[M(0x1a8)]);}}));this['portFwdCmd'][m(0x1dc)](C),this[m(0x1a4)][m(0x1dc)](G),this[m(0x1a4)][m(0x1dc)](F);}['getProxyForwarder'](I=![]){const R=a15g,B=this[R(0x1d8)][R(0x1e0)];if(!I){const J=B['canExecuteWithHostnames']();if(J[R(0x1d2)])throw new Error(J[R(0x1a8)]);}return B['on'](R(0x1f3),(C,G)=>{const Y=R,F=chalk_1['default']['bold'](G[Y(0x19d)]+'\x20\x27'+G['id']+'\x27'),A=G['hostnames'][Y(0x1da)]>0x0;(0x0,utils_1['warning'])('Stop\x20forwarding\x20traffic\x20from\x20'+G[Y(0x191)]+':'+G[Y(0x18b)]+Y(0x1e9)+F),I&&A&&(0x0,utils_1[Y(0x1c4)])(Y(0x1d7));}),B['on']('connection-error',(C,G,F)=>{const P=R;(0x0,utils_1[P(0x1c4)])(P(0x1b3)+G[P(0x191)]+':'+G[P(0x18b)]+P(0x199)+(F===null||F===void 0x0?void 0x0:F[P(0x1a8)])+'\x22');}),process['on'](R(0x203),()=>__awaiter(this,void 0x0,void 0x0,function*(){const k=R;try{yield B[k(0x1e8)]();}catch(C){(0x0,utils_1[k(0x1d2)])(k(0x1c5)+C[k(0x1a8)]);}finally{process['exit']();}})),B;}[a15g(0x19f)](I,B,J=![]){const L=a15g,{type:C,name:G}=B;if(I[L(0x1da)]<=0x0){const t=L(0x1d9)+B[L(0x19d)]+L(0x180);(0x0,utils_1[L(0x1c4)])('\x20\x20\x20No\x20running\x20container\x20found\x20for\x20'+C+'\x20'+chalk_1[L(0x1be)][L(0x1c3)](G)+'.\x20'+t);return;}const F=(0x0,lodash_1[L(0x1ca)])(I,L(0x1f8)),A=d=>'\x20('+(d[L(0x1b9)]?d[L(0x1b9)]+L(0x1e4):'')+d[L(0x18e)]+')';function H(d,X=0x2){const N=L;if(!J){const S=d[N(0x18e)]===N(0x1f7)?'http://':'';d[N(0x1ce)]['forEach'](f=>{const T=N;console[T(0x17e)]((0x0,lodash_1['repeat'])('\x20',X)+'-\x20'+S+f+':'+d[T(0x18b)]);});}}Object['entries'](F)[L(0x1bb)](([d,X])=>{const y=L;var S,f;const v='>\x20'+(0x0,lodash_1[y(0x185)])(C)+'\x20\x27'+chalk_1[y(0x1be)][y(0x182)][y(0x1c3)](d)+'\x27';if(C===y(0x1f9)){if(X[y(0x1da)]===0x1){const a=X[0x0];if(a['error']){(0x0,utils_1['error'])(y(0x1ed)+d+':\x20'+a[y(0x1d2)][y(0x1a8)]);return;}const V=a[y(0x1df)],r=!J?'\x20'+chalk_1[y(0x1be)][y(0x1af)](y(0x1ea)+V[y(0x1ce)][y(0x197)](',')):'';(0x0,utils_1[y(0x1f1)])(v+y(0x1ef)+V[y(0x191)]+':'+V[y(0x18b)]+A(V)+r);}else{const s=(0x0,lodash_1[y(0x1ec)])(X,K=>{const e=y;var b,W;return(W=(b=K===null||K===void 0x0?void 0x0:K[e(0x1df)])===null||b===void 0x0?void 0x0:b['hostnames'])===null||W===void 0x0?void 0x0:W[e(0x197)](',');})[y(0x1da)]>0x1;(0x0,utils_1['success'])(v+'\x20is\x20exposed\x20with\x20multiple\x20'+(s?y(0x1c2):y(0x200))+':'),X['forEach'](K=>{const i=y;if(K[i(0x1d2)]){(0x0,utils_1[i(0x1d2)])(i(0x1ed)+d+':\x20'+K[i(0x1d2)][i(0x1a8)]);return;}const b=K['data'],W=!J?',\x20hostname:\x20'+b[i(0x1ce)][i(0x197)](','):'';console[i(0x17e)]('\x20\x20-\x20Address:\x20'+b['address']+':'+b[i(0x18b)]+A(b)+W);});}}if(C===y(0x1c9)){if(X[y(0x1da)]===0x1){const K=X[0x0];if(K[y(0x1d2)]){(0x0,utils_1[y(0x1d2)])(y(0x1ed)+d+':\x20'+K['error'][y(0x1a8)]);return;}const b=K['data'],W=!J?y(0x1d1):':',u=b[y(0x191)]+':'+b[y(0x18b)]+A(b);(0x0,utils_1['success'])(v+y(0x1ef)+u+W),H(b);}else(0x0,utils_1[y(0x1f1)])(v+y(0x1ef)+((f=(S=X[0x0])===null||S===void 0x0?void 0x0:S[y(0x1df)])===null||f===void 0x0?void 0x0:f[y(0x191)])+y(0x1fa)),X[y(0x1bb)](h=>{const I0=y;if(h[I0(0x1d2)]){(0x0,utils_1[I0(0x1d2)])(I0(0x1ed)+d+':\x20'+h['error'][I0(0x1a8)]);return;}const q=h[I0(0x1df)];(0x0,utils_1['success'])(I0(0x190)+q[I0(0x18b)]+A(q)),H(q,0x4);});}});}[a15g(0x1cd)](I,B=![]){const I1=a15g;if(B){const J=I[I1(0x1eb)](X=>X['data'])[I1(0x1a1)](X=>X!==undefined),C=(process===null||process===void 0x0?void 0x0:process['platform'])===I1(0x1ff),G=os['platform']()===I1(0x195),F=C?I1(0x1b2):'/etc/hosts',A=chalk_1[I1(0x1be)][I1(0x1c3)](I1(0x194)),H=G?EOL+'Running\x20on\x20macOS\x20in\x20'+A+I1(0x1d5):undefined;let t=I1(0x19b)+A+I1(0x198)+I1(0x1b7)+I1(0x1c6)+F+'):';H!==undefined&&(0x0,utils_1[I1(0x1c4)])(H!==null&&H!==void 0x0?H:'');(0x0,utils_1[I1(0x1c4)])(t);const d=J[I1(0x19e)](X=>X[I1(0x191)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20'+X[I1(0x1ce)]['join']('\x20'));console['log']((0x0,lodash_1['uniq'])(d)['join'](EOL)),console[I1(0x17e)]();}}}exports[a15g(0x186)]=CliPortForward;
|
|
1
|
+
const a15H=a15R;(function(O,R){const d=a15R,M=O();while(!![]){try{const i=-parseInt(d(0x207))/0x1+parseInt(d(0x205))/0x2*(-parseInt(d(0x1ec))/0x3)+-parseInt(d(0x1e0))/0x4*(parseInt(d(0x1f0))/0x5)+parseInt(d(0x213))/0x6+-parseInt(d(0x1d7))/0x7*(-parseInt(d(0x232))/0x8)+parseInt(d(0x1f7))/0x9*(-parseInt(d(0x203))/0xa)+-parseInt(d(0x1eb))/0xb*(-parseInt(d(0x1da))/0xc);if(i===R)break;else M['push'](M['shift']());}catch(K){M['push'](M['shift']());}}}(a15O,0xb8028));function a15R(O,R){const M=a15O();return a15R=function(i,K){i=i-0x1cf;let U=M[i];return U;},a15R(O,R);}import{ApiClient}from'@northflank/js-client';import a15M from'chalk';import{assertContextExisting,customUserAgent,error,getCommand,success,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';function a15O(){const V=['printForwardingInfo','join','\x27:\x20\x22','Instance\x20to\x20forward','action','reset','platform','printHostsFileHint','21864VoUEAi','port','\x20is\x20exposed\x20on\x20','Services:','description','flat','service','canExecuteWithHostnames','\x20\x20\x20\x20\x20\x20\x20\x20\x20','portFwdCmd','greenBright','forwardProject','entries','Port-forwarding\x20for\x20the\x20specified\x20service','data','\x20mode:\x20the\x20locally\x20forwarded\x20port\x20differs\x20from\x20the\x20actual\x20port\x20on\x20the\x20forwarded\x20service/addon.','Only\x20expose\x20on\x20IP\x20address,\x20not\x20on\x20hostnames.\x20With\x20this\x20option,\x20no\x20root\x20permissions\x20are\x20required.','Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.','fwd','973NeRKCd','askForProject','with\x20hostname:\x20','28495092ARCOOY','address','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','\x20-\x20','Please\x20ensure\x20the\x20','green','2975944ojEZzE','--instance\x20--instanceId\x20[NAME]','\x20flag\x20or\x20manually\x20append\x20following\x20entry\x20to\x20your\x20hosts\x20file\x20(','skipHostnamesText','addon','--addon\x20--addonId\x20[NAME]','project\x20for\x20forwarding','portName',',\x20hostname:\x20','noDefaultsText','getProxyForwarder','11fzwocm','171idFRhe','log','forEach','SIGINT','5IlnSUX','C:/Windows/System32/drivers/etc/hosts','Addon\x20to\x20forward','forward','option','forwarding','\x20service\x20ports','16866hBMqCT','>\x20Instance\x20\x27','\x20\x20\x20No\x20running\x20container\x20found\x20for\x20','protocol','Project\x20for\x20forwarding','Error\x20occured\x20while\x20trying\x20to\x20forward\x20','No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20','\x20and\x20','name','exit','hosts','--project\x20--projectId\x20[NAME]','3070Oocesz','\x20addon\x20ports','7472aLTfGz','Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','601724iyZWOx','forwardService','alias','apiClient','Forwarding\x20addon\x20','Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project','all','filter','data.id','\x20\x20If\x20you\x20have\x20added\x20entries\x20to\x20your\x20hosts\x20file,\x20it\x20is\x20recommended\x20to\x20remove\x20them\x20again\x20now.','--skipHostnames','hostnames','799236yAQfWK','askForAddon','bold','tunnel-close','ports','Forwarding\x20','/etc/hosts','message','length','http://','error','\x20in\x20project\x20','win32','--service\x20--serviceId\x20[NAME]','\x20is\x20exposed\x20with\x20multiple\x20','Failed:\x20','\x20with\x20these\x20hostnames:','addCommand','type','Stop\x20forwarding\x20traffic\x20from\x20','Forwarding\x20service\x20','map','getCurrentProjectName'];a15O=function(){return V;};return a15O();}import*as a15i from'os';import{uniqBy,uniq,repeat,groupBy,capitalize}from'lodash-es';import{EOL}from'os';export class CliPortForward{['portFwdCmd'];['apiClient'];[a15H(0x1e9)]=a15H(0x1dc);['skipHostnamesText']=a15H(0x1d4);constructor(O,R){const b=a15H;this[b(0x20a)]=new ApiClient(O,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':R});const M=new InquirerHelper(this[b(0x20a)]);this[b(0x23b)]=getCommand()[b(0x1ff)](b(0x1f3))[b(0x209)](b(0x1d6))[b(0x236)](b(0x1d5));const i=getCommand(!![])[b(0x1ff)](b(0x20d))[b(0x236)](b(0x20c))[b(0x1f4)](b(0x202),b(0x1e6))[b(0x1f4)]('--noDefaults',this[b(0x1e9)],![])[b(0x1f4)](b(0x211),this[b(0x1e3)],![])[b(0x22e)](async({noDefaults:x,projectId:S,skipHostnames:p})=>{const I=b;assertContextExisting(this[I(0x20a)]);const c=this[I(0x1ea)](p),l=x?undefined:O[I(0x229)](),u=S||l||await M[I(0x1d8)]();try{const {services:r,addons:n}=await c[I(0x1cf)]({'projectId':u},p);if(r['length']+n[I(0x21b)]<=0x0)warning(I(0x1fd)+a15M[I(0x215)](u));else{const Q=r['filter'](h=>h[I(0x21b)]>0x0)['length'],L=n[I(0x20e)](h=>h[I(0x21b)]>0x0)[I(0x21b)],A=I(0x21e)+a15M[I(0x215)](u);console[I(0x1ed)](I(0x218)+a15M['green'][I(0x215)](Q+I(0x1f6))+I(0x1fe)+a15M[I(0x1df)][I(0x215)](L+I(0x204))+A),console['log'](),console[I(0x1ed)](a15M[I(0x215)](I(0x235))),r['forEach'](h=>{const k=I;if(h[k(0x21b)]>=0x1&&!h[0x0][k(0x21d)])this[k(0x22a)](h,{'type':k(0x238),'name':h[0x0][k(0x1d2)]['id']},p);}),console[I(0x1ed)](a15M[I(0x215)]('Addons:')),n[I(0x1ee)](h=>{const q=I;if(h[q(0x21b)]>=0x1&&!h[0x0][q(0x21d)])this[q(0x22a)](h,{'type':'addon','name':h[0x0][q(0x1d2)]['id']},p);}),this[I(0x231)]([...r[I(0x237)](),...n[I(0x237)]()],p);}}catch(h){error('Failed:\x20'+h[I(0x21a)]);}}),K=getCommand(!![])[b(0x1ff)]('service')[b(0x236)](b(0x1d1))[b(0x1f4)](b(0x202),b(0x1fb))[b(0x1f4)](b(0x220),'Service\x20to\x20forward')['option'](b(0x1e1),b(0x22d))['option']('--noDefaults',this[b(0x1e9)],![])[b(0x1f4)]('--skipHostnames',this[b(0x1e3)],![])[b(0x22e)](async({noDefaults:x,projectId:S,serviceId:p,instanceId:c,skipHostnames:l})=>{const j=b;assertContextExisting(this[j(0x20a)]);const u=this[j(0x1ea)](l),r=x?undefined:O['getCurrentProjectName'](),n=S||r||await M[j(0x1d8)](),Q=x?undefined:O['getCurrentServiceName'](),L=p||Q||await M['askForService'](n)();console[j(0x1ed)](j(0x227)+a15M[j(0x215)](L)+j(0x21e)+a15M[j(0x215)](n));try{const A=await u[j(0x208)]({'projectId':n,'serviceId':L,'instanceId':c},l);this[j(0x22a)](A,{'name':L,'type':j(0x238),'instanceId':c},l),this['printHostsFileHint'](A,l);}catch(h){error(j(0x222)+h['message']);}}),U=getCommand(!![])[b(0x1ff)](b(0x1e4))[b(0x236)]('Port-forwarding\x20for\x20the\x20specified\x20addon')['option'](b(0x202),b(0x1fb))[b(0x1f4)](b(0x1e5),b(0x1f2))[b(0x1f4)]('--skipHostnames',this[b(0x1e3)],![])[b(0x22e)](async({noDefaults:x,projectId:S,addonId:p,skipHostnames:c})=>{const D=b;assertContextExisting(this[D(0x20a)]);const l=this[D(0x1ea)](c),u=x?undefined:O[D(0x229)](),r=S||u||await M[D(0x1d8)](),n=p||await M[D(0x214)](r)();console[D(0x1ed)](D(0x20b)+a15M[D(0x215)](n)+D(0x21e)+a15M[D(0x215)](r));try{const Q={'projectId':r,'addonId':n},L=await l['forwardAddon'](Q,c);this['printForwardingInfo'](L,{'name':n,'type':D(0x1e4)},c),this[D(0x231)](L,c);}catch(A){error(D(0x222)+A[D(0x21a)]);}});this[b(0x23b)]['addCommand'](i),this[b(0x23b)][b(0x224)](K),this['portFwdCmd'][b(0x224)](U);}[a15H(0x1ea)](O=![]){const Y=a15H,R=this[Y(0x20a)][Y(0x1f5)];if(!O){const M=R[Y(0x239)]();if(M[Y(0x21d)])throw new Error(M[Y(0x21a)]);}return R['on'](Y(0x216),(i,K)=>{const N=Y,U=a15M[N(0x215)](K['type']+'\x20\x27'+K['id']+'\x27'),x=K['hostnames'][N(0x21b)]>0x0;warning(N(0x226)+K['address']+':'+K['port']+'\x20to\x20'+U),O&&x&&warning(N(0x210));}),R['on']('connection-error',(i,K,U)=>{const z=Y;warning(z(0x206)+K[z(0x1db)]+':'+K[z(0x233)]+z(0x22c)+U?.[z(0x21a)]+'\x22');}),process['on'](Y(0x1ef),async()=>{const E=Y;try{await R['stop']();}catch(i){error('Cleaning\x20up\x20open\x20connections\x20failed:\x20'+i[E(0x21a)]);}finally{process[E(0x200)]();}}),R;}[a15H(0x22a)](O,R,M=![]){const T=a15H,{type:i,name:K,instanceId:U}=R;if(O[T(0x21b)]<=0x0){const c=T(0x1de)+R[T(0x225)]+'\x20is\x20running\x20and\x20reachable\x20and\x20that\x20a\x20port\x20is\x20defined\x20on\x20the\x20networking\x20section.';warning(T(0x1f9)+i+'\x20'+a15M[T(0x215)](K)+'.\x20'+c);return;}const x=groupBy(O,T(0x20f)),S=l=>'\x20('+(l[T(0x1e7)]?l[T(0x1e7)]+T(0x1dd):'')+l['protocol']+')';function p(l,u=0x2){const W=T;if(!M){const r=l[W(0x1fa)]==='HTTP'?W(0x21c):'';l[W(0x212)]['forEach'](n=>{const F=W;console[F(0x1ed)](repeat('\x20',u)+'-\x20'+r+n+':'+l[F(0x233)]);});}}Object[T(0x1d0)](x)[T(0x1ee)](([l,u])=>{const m=T,r=U?m(0x1f8)+a15M['greenBright'][m(0x215)](U)+'\x27\x20of\x20'+i+'\x20\x27'+a15M[m(0x23c)][m(0x215)](l)+'\x27':'>\x20'+capitalize(i)+'\x20\x27'+a15M[m(0x23c)][m(0x215)](l)+'\x27';if(i===m(0x1e4)){if(u[m(0x21b)]===0x1){const n=u[0x0];if(n[m(0x21d)]){error(m(0x1fc)+l+':\x20'+n[m(0x21d)][m(0x21a)]);return;}const Q=n[m(0x1d2)],L=!M?'\x20'+a15M[m(0x22f)](m(0x1d9)+Q['hostnames'][m(0x22b)](',')):'';success(r+m(0x234)+Q[m(0x1db)]+':'+Q['port']+S(Q)+L);}else{const A=uniqBy(u,h=>h?.[m(0x1d2)]?.[m(0x212)]?.[m(0x22b)](','))[m(0x21b)]>0x1;success(r+m(0x221)+(A?m(0x201):m(0x217))+':'),u[m(0x1ee)](h=>{const w=m;if(h['error']){error('Error\x20occured\x20while\x20trying\x20to\x20forward\x20'+l+':\x20'+h[w(0x21d)][w(0x21a)]);return;}const t=h[w(0x1d2)],G=!M?w(0x1e8)+t[w(0x212)][w(0x22b)](','):'';console[w(0x1ed)]('\x20\x20-\x20Address:\x20'+t[w(0x1db)]+':'+t[w(0x233)]+S(t)+G);});}}if(i===m(0x238)){if(u['length']===0x1){const h=u[0x0];if(h['error']){error(m(0x1fc)+l+':\x20'+h['error'][m(0x21a)]);return;}const t=h[m(0x1d2)],G=!M?m(0x223):':',s=t[m(0x1db)]+':'+t[m(0x233)]+S(t);success(r+m(0x234)+s+G),p(t);}else success(r+'\x20is\x20exposed\x20on\x20'+u[0x0]?.[m(0x1d2)]?.[m(0x1db)]+'\x20with\x20multiple\x20ports:'),u[m(0x1ee)](y=>{const e=m;if(y[e(0x21d)]){error('Error\x20occured\x20while\x20trying\x20to\x20forward\x20'+l+':\x20'+y[e(0x21d)]['message']);return;}const C=y[e(0x1d2)];success('\x20\x20-\x20port\x20'+C[e(0x233)]+S(C)),p(C,0x4);});}});}['printHostsFileHint'](O,R=![]){const B=a15H;if(R){const M=O['flatMap'](l=>l[B(0x1d2)])[B(0x20e)](l=>l!==undefined),i=process?.[B(0x230)]===B(0x21f),K=a15i['platform']()==='darwin',U=i?B(0x1f1):B(0x219),x=a15M[B(0x215)]('skipHostnames'),S=K?EOL+'Running\x20on\x20macOS\x20in\x20'+x+B(0x1d3):undefined;let p='Running\x20in\x20'+x+'\x20mode.\x20If\x20hostname\x20forwarding\x20is\x20required,\x20remove\x20'+B(0x211)+B(0x1e2)+U+'):';S!==undefined&&warning(S??'');warning(p);const c=M[B(0x228)](l=>l[B(0x1db)]+B(0x23a)+l[B(0x212)][B(0x22b)]('\x20'));console[B(0x1ed)](uniq(c)[B(0x22b)](EOL)),console[B(0x1ed)]();}}}
|
package/dist/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a16c=a16R;(function(O,R){const p=a16R,M=O();while(!![]){try{const i=-parseInt(p(0xc5))/0x1*(parseInt(p(0xe8))/0x2)+parseInt(p(0xcb))/0x3+-parseInt(p(0xe6))/0x4+parseInt(p(0xe1))/0x5+parseInt(p(0xed))/0x6*(parseInt(p(0xd6))/0x7)+-parseInt(p(0xda))/0x8*(parseInt(p(0xc2))/0x9)+-parseInt(p(0xe4))/0xa*(-parseInt(p(0xf3))/0xb);if(i===R)break;else M['push'](M['shift']());}catch(K){M['push'](M['shift']());}}}(a16O,0x324b9));import a16M from'chalk';import{Command}from'commander';import{ProxyAgent}from'proxy-agent';import a16i from'node-fetch';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';function a16R(O,R){const M=a16O();return a16R=function(i,K){i=i-0xbc;let U=M[i];return U;},a16R(O,R);}const __filename=fileURLToPath(import.meta[a16c(0xe9)]),__dirname=dirname(__filename),pgk=JSON[a16c(0xdc)](readFileSync(join(__dirname,a16c(0xc9)),a16c(0xeb)));export const customUserAgent=a16c(0xc7)+pgk?.[a16c(0xec)];function a16O(){const s=['10Snrfhg','addHelpCommand','986192VRUfWd','option','2JTAOlW','url','HTTP_PROXY','utf-8','version','36fZjFlw','HTTPS_PROXY','No\x20token\x20in\x20CLI\x20context.\x20Add\x20token\x20with\x20\x27northflank\x20set-token\x27','helpOption','Failed:\x20','error','5203319DdaaoN','min','from','example:\x202020-02-02T02:02:02Z\x20(date\x20string)\x20or\x201580608922\x20(unix\x20ts)','No\x20console\x20output','/latest','setLastUpdateCheck','env',',\x20the\x20latest\x20version\x20of\x20the\x20cli\x20is\x20','**\x20You\x27re\x20running\x20on\x20version\x20','contextProvider','padEnd','35172mbJVro','allowExcessArguments','--verbose','280931KSrPsx','getLastUpdateCheck','northflank-cli/','reduce','../package.json','replace','584553kagMvU','length','\x20Consider\x20updating\x20using\x20\x27npm\x20i\x20','enablePositionalOptions','getCurrentBaseUrl','split','https://registry.npmjs.org/','Do\x20not\x20validate\x20input\x20fields\x20on\x20client\x20side','getTime','then','yellow','6727UAKZhM','--quiet',',\x20expected\x20valid\x20date\x20string\x20(example:\x202020-02-02T02:02:02Z)\x20or\x20unix\x20timestamp\x20(example\x201580608922)','No\x20CLI\x20context\x20present.\x20Create\x20context\x20with\x20\x27northflank\x20login\x27','96ZrEhZI','resolve','parse','json','Verbose\x20output','\x20-g\x27\x20or\x20\x27yarn\x20global\x20add\x20','getCurrentToken','533690OMquWE','Invalid\x20date\x20received:\x20','redBright'];a16O=function(){return s;};return a16O();}export const agent=new ProxyAgent();export const proxyEnvsSet=process[a16c(0xbd)][a16c(0xea)]!==undefined||process[a16c(0xbd)][a16c(0xee)]!==undefined;export const decodeJwtPayload=O=>{try{const R=K=>{const l=a16R,U=K['replace'](/-/g,'+')[l(0xca)](/_/g,'/')[l(0xc1)](K[l(0xcc)]+(0x4-K[l(0xcc)]%0x4)%0x4,'=');return JSON[l(0xdc)](Buffer[l(0xf5)](U,'base64')['toString']());},[M,i]=O['split']('.');return R(i);}catch(K){return{};}};export async function checkUpdate(O){const u=a16c;function R(M,i){const K=new Date(Number(M));return K['setDate'](K['getDate']()+i),K;}try{if(R(O[u(0xc6)](),0x1)>new Date())return;const M=pgk[u(0xec)],{name:i}=pgk;if(!M)return;const K=u(0xd1)+i+u(0xf8),U=await a16i(K,{'agent':agent,'method':'GET','signal':AbortSignal['timeout'](0x1388)}),x=(await U[u(0xdd)]())[u(0xec)];needsUpdate(M,x)&&warning(u(0xbf)+M+u(0xbe)+x+'.'+(u(0xcd)+i+u(0xdf)+i+'\x27\x20**')),await O[u(0xbc)](new Date());}catch(S){}}function needsUpdate(O,R){const r=a16c,M=/(\.0+)+$/,K=O[r(0xca)](M,'')[r(0xd0)]('.'),U=R[r(0xca)](M,'')['split']('.');for(let x=0x0;x<Math[r(0xf4)](K[r(0xcc)],U['length']);x+=0x1){const S=parseInt(U[x],0xa)-parseInt(K[x],0xa);if(S>0x0)return!![];if(S<0x0)return![];}return U[r(0xcc)]>K['length'];}export function error(O){const n=a16c;console[n(0xf2)](a16M[n(0xe3)](n(0xf1)+O));}export function warning(O){const Q=a16c;console[Q(0xf2)](a16M[Q(0xd5)](''+O));}export function success(O){console['log'](a16M['green'](''+O));}export function getCommand(O=![]){const L=a16c,R=new Command();return R[L(0xf0)](undefined,'Display\x20help\x20for\x20command'),R[L(0xe5)](![]),R['storeOptionsAsProperties'](![]),R['allowUnknownOption'](![]),R[L(0xc3)](![]),R[L(0xce)](!![]),O&&(R[L(0xe7)](L(0xc4),L(0xde),![]),R['option'](L(0xd7),L(0xf7),![]),R['option']('--skipValidation',L(0xd2),![])),R;}export const retry=(O,R=0x32)=>M=>{let i=O;const K=async()=>{try{return await M();}catch(U){if(i<=0x0)throw U;return i-=0x1,await new Promise(x=>setTimeout(()=>x(),R)),K();}};return K();};export const asyncSequential=async(O,R)=>{const A=a16c,M=Promise[A(0xdb)]([]);return O[A(0xc8)]((i,K)=>i[A(0xd4)](U=>R(K)[A(0xd4)](x=>{return U['push'](x),U;})),M);};export function isValidJSON(O){const h=a16c;try{return JSON[h(0xdc)](O);}catch(R){return![];}}export function assertContextExisting(O){const t=a16c;if(O[t(0xc0)]['getCurrentContext']()===undefined)throw new Error(t(0xd9));if(O['contextProvider'][t(0xcf)]()===undefined)throw new Error('No\x20API\x20URL\x20present\x20in\x20context.\x20Create\x20new\x20context\x20with\x20\x27northflank\x20login\x27');if(O[t(0xc0)][t(0xe0)]()===undefined)throw new Error(t(0xef));}export const parseDateInput=O=>{const G=a16c;try{let R=new Date(O);if(isNaN(R['getTime']())){const M=O[G(0xcc)]===0xd?O/0x3e8:O,i=new Date(0x0);i['setUTCSeconds'](M);if(isNaN(i[G(0xd3)]()))throw new Error();return i;}return R;}catch(K){throw new Error(G(0xe2)+O+G(0xd8));}};export const tsHint=a16c(0xf6);
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northflank/cli",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.10",
|
|
4
4
|
"author": "Marco Suter",
|
|
5
5
|
"description": "Provides a command-line interface to the Northflank platform.",
|
|
6
6
|
"homepage": "https://www.northflank.com",
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"
|
|
8
|
+
"type": "module",
|
|
9
9
|
"main": "./dist/cli.js",
|
|
10
10
|
"engines": {
|
|
11
|
-
"node": ">=
|
|
11
|
+
"node": ">=18.0.0"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc",
|
|
15
15
|
"clin": "node --no-deprecation dist/cli.js",
|
|
16
|
-
"cli": "
|
|
16
|
+
"cli": "tsx src/cli.ts",
|
|
17
17
|
"inq-pag": "ts-node src/pagination/_dev/index.ts",
|
|
18
18
|
"gen-fig-spec": "ts-node src/_dev/gen-fig-spec.ts",
|
|
19
19
|
"lint": "eslint ."
|
|
@@ -27,24 +27,23 @@
|
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@northflank/js-client": "0.8.8",
|
|
31
30
|
"bufferutil": "^4.0.9",
|
|
32
31
|
"chalk": "~5.6.2",
|
|
33
32
|
"columnify": "^1.6.0",
|
|
34
33
|
"commander": "^14.0.2",
|
|
35
|
-
"inquirer": "
|
|
34
|
+
"inquirer": "8.2.7",
|
|
36
35
|
"inquirer-search-list": "^1.2.6",
|
|
37
|
-
"js-yaml": "^4.1.
|
|
38
|
-
"lodash": "^4.17.21",
|
|
36
|
+
"js-yaml": "^4.1.1",
|
|
37
|
+
"lodash-es": "^4.17.21",
|
|
39
38
|
"node-fetch": "^3.3.2",
|
|
40
|
-
"open": "^
|
|
39
|
+
"open": "^11.0.0",
|
|
41
40
|
"proxy-agent": "^6.5.0",
|
|
42
41
|
"utf-8-validate": "^6.0.5",
|
|
43
42
|
"whatwg-url": "14.2.0",
|
|
44
43
|
"ws": "^8.18.3"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"
|
|
46
|
+
"tsx": "^4.21.0",
|
|
48
47
|
"typescript": "^5.9.3"
|
|
49
48
|
},
|
|
50
49
|
"overrides": {
|