@northflank/cli 0.8.3-beta.0 → 0.8.3-beta.1
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 -273
- package/dist/cli.js +1 -630
- package/dist/command-overview.js +1 -93
- package/dist/console-format-helpers.js +1 -113
- package/dist/context/contextCommands.js +1 -522
- package/dist/defaults.js +1 -10238
- package/dist/exec/index.js +1 -262
- package/dist/inquirer-helper.js +1 -1049
- package/dist/login/browser-login.js +1 -204
- package/dist/pagination/inquirer-pagination-prompt.js +1 -156
- package/dist/port-forward/index.js +1 -271
- package/dist/utils.js +1 -201
- package/package.json +3 -3
|
@@ -1,271 +1 @@
|
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
-
if (ar || !(i in from)) {
|
|
41
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
-
ar[i] = from[i];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
-
};
|
|
47
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
|
-
};
|
|
50
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.CliPortForward = void 0;
|
|
52
|
-
var js_client_1 = require("@northflank/js-client");
|
|
53
|
-
var chalk_1 = __importDefault(require("chalk"));
|
|
54
|
-
var utils_1 = require("../utils");
|
|
55
|
-
var inquirer_helper_1 = require("../inquirer-helper");
|
|
56
|
-
var CliPortForward = /** @class */ (function () {
|
|
57
|
-
function CliPortForward(apiContext) {
|
|
58
|
-
var _this = this;
|
|
59
|
-
this.noDefaultsText = "Don't use context default values, explicitly use options or ask.";
|
|
60
|
-
this.apiClient = new js_client_1.ApiClient(apiContext, {
|
|
61
|
-
throwErrorOnHttpErrorCode: true,
|
|
62
|
-
customUserAgent: utils_1.customUserAgent,
|
|
63
|
-
});
|
|
64
|
-
var inquirerHelper = new inquirer_helper_1.InquirerHelper(this.apiClient);
|
|
65
|
-
this.portFwdCmd = (0, utils_1.getCommand)()
|
|
66
|
-
.name('forward')
|
|
67
|
-
.alias('fwd')
|
|
68
|
-
.description('Port-forwarding for Northflank services and addons.');
|
|
69
|
-
var projectPortFwdCmd = (0, utils_1.getCommand)(true)
|
|
70
|
-
.name('all')
|
|
71
|
-
.description('Port-forwarding for all services and addons in the given project')
|
|
72
|
-
.option('--project --projectId [NAME]', 'project for forwarding')
|
|
73
|
-
.option('--noDefaults', this.noDefaultsText, false)
|
|
74
|
-
.action(function (_a) {
|
|
75
|
-
var noDefaults = _a.noDefaults, projectId = _a.projectId;
|
|
76
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
77
|
-
var fwd, projectFromContext, project, _b, _c, services, addons, e_1;
|
|
78
|
-
return __generator(this, function (_d) {
|
|
79
|
-
switch (_d.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
(0, utils_1.assertContextExisting)(this.apiClient);
|
|
82
|
-
fwd = this.getProxyForwarder();
|
|
83
|
-
projectFromContext = noDefaults ? undefined : apiContext.getCurrentProjectName();
|
|
84
|
-
_b = projectId || projectFromContext;
|
|
85
|
-
if (_b) return [3 /*break*/, 2];
|
|
86
|
-
return [4 /*yield*/, inquirerHelper.askForProject()];
|
|
87
|
-
case 1:
|
|
88
|
-
_b = (_d.sent());
|
|
89
|
-
_d.label = 2;
|
|
90
|
-
case 2:
|
|
91
|
-
project = _b;
|
|
92
|
-
_d.label = 3;
|
|
93
|
-
case 3:
|
|
94
|
-
_d.trys.push([3, 8, , 9]);
|
|
95
|
-
return [4 /*yield*/, fwd.forwardProject({ projectId: project }, false)];
|
|
96
|
-
case 4:
|
|
97
|
-
_c = _d.sent(), services = _c.services, addons = _c.addons;
|
|
98
|
-
if (!(services.length + addons.length <= 0)) return [3 /*break*/, 5];
|
|
99
|
-
(0, utils_1.warning)("No services and addons to forward found in project ".concat(chalk_1.default.bold(project)));
|
|
100
|
-
return [3 /*break*/, 7];
|
|
101
|
-
case 5:
|
|
102
|
-
console.log("Forwarding ".concat(chalk_1.default.green.bold("".concat(services.length, " service ports")), " and ").concat(chalk_1.default.green.bold("".concat(addons.length, " addon ports")), " in project ").concat(chalk_1.default.bold(project)));
|
|
103
|
-
return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], services, true), addons, true))];
|
|
104
|
-
case 6:
|
|
105
|
-
_d.sent();
|
|
106
|
-
_d.label = 7;
|
|
107
|
-
case 7: return [3 /*break*/, 9];
|
|
108
|
-
case 8:
|
|
109
|
-
e_1 = _d.sent();
|
|
110
|
-
(0, utils_1.error)("Failed: ".concat(e_1.message));
|
|
111
|
-
return [3 /*break*/, 9];
|
|
112
|
-
case 9: return [2 /*return*/];
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
var servicePortFwdCmd = (0, utils_1.getCommand)(true)
|
|
118
|
-
.name('service')
|
|
119
|
-
.description('Port-forwarding for the specified service')
|
|
120
|
-
.option('--project --projectId [NAME]', 'Project for forwarding')
|
|
121
|
-
.option('--service --serviceId [NAME]', 'Service to forward')
|
|
122
|
-
.option('--noDefaults', this.noDefaultsText, false)
|
|
123
|
-
.action(function (_a) {
|
|
124
|
-
var noDefaults = _a.noDefaults, projectId = _a.projectId, serviceId = _a.serviceId;
|
|
125
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
126
|
-
var fwd, projectFromContext, project, _b, serviceFromContext, service, _c, e_2;
|
|
127
|
-
return __generator(this, function (_d) {
|
|
128
|
-
switch (_d.label) {
|
|
129
|
-
case 0:
|
|
130
|
-
(0, utils_1.assertContextExisting)(this.apiClient);
|
|
131
|
-
fwd = this.getProxyForwarder();
|
|
132
|
-
projectFromContext = noDefaults ? undefined : apiContext.getCurrentProjectName();
|
|
133
|
-
_b = projectId || projectFromContext;
|
|
134
|
-
if (_b) return [3 /*break*/, 2];
|
|
135
|
-
return [4 /*yield*/, inquirerHelper.askForProject()];
|
|
136
|
-
case 1:
|
|
137
|
-
_b = (_d.sent());
|
|
138
|
-
_d.label = 2;
|
|
139
|
-
case 2:
|
|
140
|
-
project = _b;
|
|
141
|
-
serviceFromContext = noDefaults ? undefined : apiContext.getCurrentServiceName();
|
|
142
|
-
_c = serviceId || serviceFromContext;
|
|
143
|
-
if (_c) return [3 /*break*/, 4];
|
|
144
|
-
return [4 /*yield*/, inquirerHelper.askForService(project)()];
|
|
145
|
-
case 3:
|
|
146
|
-
_c = (_d.sent());
|
|
147
|
-
_d.label = 4;
|
|
148
|
-
case 4:
|
|
149
|
-
service = _c;
|
|
150
|
-
console.log("Forwarding service ".concat(chalk_1.default.bold(service), " in project ").concat(chalk_1.default.bold(project)));
|
|
151
|
-
_d.label = 5;
|
|
152
|
-
case 5:
|
|
153
|
-
_d.trys.push([5, 7, , 8]);
|
|
154
|
-
return [4 /*yield*/, fwd.forwardService({ projectId: project, serviceId: service }, false)];
|
|
155
|
-
case 6:
|
|
156
|
-
_d.sent();
|
|
157
|
-
return [3 /*break*/, 8];
|
|
158
|
-
case 7:
|
|
159
|
-
e_2 = _d.sent();
|
|
160
|
-
(0, utils_1.error)("Failed: ".concat(e_2.message));
|
|
161
|
-
return [3 /*break*/, 8];
|
|
162
|
-
case 8: return [2 /*return*/];
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
var addonPortFwdCmd = (0, utils_1.getCommand)(true)
|
|
168
|
-
.name('addon')
|
|
169
|
-
.description('Port-forwarding for the specified addon')
|
|
170
|
-
.option('--project --projectId [NAME]', 'Project for forwarding')
|
|
171
|
-
.option('--addon --addonId [NAME]', 'Addon to forward')
|
|
172
|
-
.option('--noDefaults', this.noDefaultsText, false)
|
|
173
|
-
.action(function (_a) {
|
|
174
|
-
var projectId = _a.projectId, addonId = _a.addonId, noDefaults = _a.noDefaults;
|
|
175
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
176
|
-
var projectFromContext, project, _b, addon, _c, fwd, e_3;
|
|
177
|
-
return __generator(this, function (_d) {
|
|
178
|
-
switch (_d.label) {
|
|
179
|
-
case 0:
|
|
180
|
-
(0, utils_1.assertContextExisting)(this.apiClient);
|
|
181
|
-
projectFromContext = noDefaults ? undefined : apiContext.getCurrentProjectName();
|
|
182
|
-
_b = projectId || projectFromContext;
|
|
183
|
-
if (_b) return [3 /*break*/, 2];
|
|
184
|
-
return [4 /*yield*/, inquirerHelper.askForProject()];
|
|
185
|
-
case 1:
|
|
186
|
-
_b = (_d.sent());
|
|
187
|
-
_d.label = 2;
|
|
188
|
-
case 2:
|
|
189
|
-
project = _b;
|
|
190
|
-
_c = addonId;
|
|
191
|
-
if (_c) return [3 /*break*/, 4];
|
|
192
|
-
return [4 /*yield*/, inquirerHelper.askForAddon(project)()];
|
|
193
|
-
case 3:
|
|
194
|
-
_c = (_d.sent());
|
|
195
|
-
_d.label = 4;
|
|
196
|
-
case 4:
|
|
197
|
-
addon = _c;
|
|
198
|
-
console.log("Forwarding addon ".concat(chalk_1.default.bold(addon), " in project ").concat(chalk_1.default.bold(project)));
|
|
199
|
-
fwd = this.getProxyForwarder();
|
|
200
|
-
_d.label = 5;
|
|
201
|
-
case 5:
|
|
202
|
-
_d.trys.push([5, 7, , 8]);
|
|
203
|
-
return [4 /*yield*/, fwd.forwardAddon({ projectId: project, addonId: addon }, false)];
|
|
204
|
-
case 6:
|
|
205
|
-
_d.sent();
|
|
206
|
-
return [3 /*break*/, 8];
|
|
207
|
-
case 7:
|
|
208
|
-
e_3 = _d.sent();
|
|
209
|
-
(0, utils_1.error)("Failed: ".concat(e_3.message));
|
|
210
|
-
return [3 /*break*/, 8];
|
|
211
|
-
case 8: return [2 /*return*/];
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
this.portFwdCmd.addCommand(projectPortFwdCmd);
|
|
217
|
-
this.portFwdCmd.addCommand(servicePortFwdCmd);
|
|
218
|
-
this.portFwdCmd.addCommand(addonPortFwdCmd);
|
|
219
|
-
}
|
|
220
|
-
CliPortForward.prototype.getProxyForwarder = function () {
|
|
221
|
-
var _this = this;
|
|
222
|
-
var fwd = this.apiClient.forwarding;
|
|
223
|
-
var isAdmin = fwd.canExecuteWithHostnames();
|
|
224
|
-
if (isAdmin.error)
|
|
225
|
-
throw new Error(isAdmin.message);
|
|
226
|
-
fwd.on('tunnel-open', function (_tunnel, data) {
|
|
227
|
-
var identifier = chalk_1.default.greenBright.bold("".concat(data.type, " '").concat(data.id, "'"));
|
|
228
|
-
var prefix = data.protocol === 'HTTP' ? 'http://' : '';
|
|
229
|
-
(0, utils_1.success)("Exposing ".concat(identifier, " on ").concat(data.address, ":").concat(data.port, " (").concat(data.protocol, ") with these hostnames:"));
|
|
230
|
-
data.hostnames.forEach(function (hostname) {
|
|
231
|
-
(0, utils_1.success)(" ".concat(prefix).concat(hostname, ":").concat(data.port));
|
|
232
|
-
});
|
|
233
|
-
(0, utils_1.success)('');
|
|
234
|
-
});
|
|
235
|
-
fwd.on('tunnel-close', function (_tunnel, data) {
|
|
236
|
-
var identifier = chalk_1.default.greenBright.bold("".concat(data.type, " '").concat(data.id, "'"));
|
|
237
|
-
(0, utils_1.warning)("Stop forwarding traffic from ".concat(data.address, ":").concat(data.port, " to ").concat(identifier, " for these hostnames:"));
|
|
238
|
-
data.hostnames.forEach(function (hostname) {
|
|
239
|
-
(0, utils_1.warning)(" ".concat(hostname, ":").concat(data.port));
|
|
240
|
-
});
|
|
241
|
-
(0, utils_1.warning)('');
|
|
242
|
-
});
|
|
243
|
-
fwd.on('connection-error', function (_tunnel, info, err) {
|
|
244
|
-
(0, utils_1.warning)("Connection error occurred when forwarding '".concat(info.address, ":").concat(info.port, "': \"").concat(err === null || err === void 0 ? void 0 : err.message, "\""));
|
|
245
|
-
});
|
|
246
|
-
process.on('SIGINT', function () { return __awaiter(_this, void 0, void 0, function () {
|
|
247
|
-
var e_4;
|
|
248
|
-
return __generator(this, function (_a) {
|
|
249
|
-
switch (_a.label) {
|
|
250
|
-
case 0:
|
|
251
|
-
_a.trys.push([0, 2, 3, 4]);
|
|
252
|
-
return [4 /*yield*/, fwd.stop()];
|
|
253
|
-
case 1:
|
|
254
|
-
_a.sent();
|
|
255
|
-
return [3 /*break*/, 4];
|
|
256
|
-
case 2:
|
|
257
|
-
e_4 = _a.sent();
|
|
258
|
-
(0, utils_1.error)("Cleaning up open connections failed: ".concat(e_4.message));
|
|
259
|
-
return [3 /*break*/, 4];
|
|
260
|
-
case 3:
|
|
261
|
-
process.exit();
|
|
262
|
-
return [7 /*endfinally*/];
|
|
263
|
-
case 4: return [2 /*return*/];
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
}); });
|
|
267
|
-
return fwd;
|
|
268
|
-
};
|
|
269
|
-
return CliPortForward;
|
|
270
|
-
}());
|
|
271
|
-
exports.CliPortForward = CliPortForward;
|
|
1
|
+
'use strict';var a10X=a10N;(function(y,N){var x=a10N,U=y();while(!![]){try{var q=parseInt(x(0x15e))/0x1*(-parseInt(x(0x1b9))/0x2)+-parseInt(x(0x172))/0x3+-parseInt(x(0x176))/0x4+-parseInt(x(0x15d))/0x5+parseInt(x(0x155))/0x6+-parseInt(x(0x162))/0x7*(parseInt(x(0x182))/0x8)+parseInt(x(0x16b))/0x9*(parseInt(x(0x18e))/0xa);if(q===N)break;else U['push'](U['shift']());}catch(G){U['push'](U['shift']());}}}(a10y,0xd830f));function a10N(y,N){var U=a10y();return a10N=function(q,G){q=q-0x14c;var v=U[q];return v;},a10N(y,N);}function a10y(){var H=['askForProject','pop','CliPortForward','action','then','askForService','forEach','Forwarding\x20addon\x20','Addon\x20to\x20forward','default','portFwdCmd','apply','getCurrentProjectName','throw','concat','return','services','--service\x20--serviceId\x20[NAME]','alias','--addon\x20--addonId\x20[NAME]','\x20on\x20','green','Forwarding\x20service\x20','getCurrentServiceName','\x20addon\x20ports',')\x20with\x20these\x20hostnames:','addCommand','\x20for\x20these\x20hostnames:','__esModule','apiClient','forwardAddon','name','trys','HTTP','__importDefault','2HMuqPt','__spreadArray','all','forwardProject','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','call','address','bold','InquirerHelper','description','\x20and\x20','--project\x20--projectId\x20[NAME]','log','forwardService','3848550qAkHwC','label','message','getCommand','iterator','__generator','projectId','Service\x20to\x20forward','1530035lnTtzk','933458fDtrtt','askForAddon','value','\x27:\x20\x22','376019tsKYYw','next','canExecuteWithHostnames','option','\x20service\x20ports','prototype','tunnel-close','error','ops','9HVvKun','connection-error','\x20to\x20','assertContextExisting','protocol','greenBright','Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','5060574haqVEu','forward','../inquirer-helper','push','2326388OKMNhT','\x20in\x20project\x20','getProxyForwarder','project\x20for\x20forwarding','sent','warning','done','length','SIGINT','Port-forwarding\x20for\x20the\x20specified\x20addon','slice','noDefaults','8etKZlU','Failed:\x20','addon','addonId','type','__awaiter','--noDefaults','serviceId','hostnames','chalk','http://','port','38057310YtUPQg','addons','tunnel-open','Cleaning\x20up\x20open\x20connections\x20failed:\x20','Project\x20for\x20forwarding','noDefaultsText','forwarding','success'];a10y=function(){return H;};return a10y();}var __awaiter=this&&this[a10X(0x187)]||function(y,N,U,q){function G(v){return v instanceof U?v:new U(function(i){i(v);});}return new(U||(U=Promise))(function(v,i){var z=a10N;function n(M){var C=a10N;try{r(q[C(0x163)](M));}catch(J){i(J);}}function e(M){var p=a10N;try{r(q[p(0x1a3)](M));}catch(J){i(J);}}function r(M){var Q=a10N;M[Q(0x17c)]?v(M[Q(0x160)]):G(M[Q(0x160)])[Q(0x19a)](n,e);}r((q=q[z(0x1a1)](y,N||[]))[z(0x163)]());});},__generator=this&&this[a10X(0x15a)]||function(N,U){var L=a10X,q={'label':0x0,'sent':function(){if(i[0x0]&0x1)throw i[0x1];return i[0x1];},'trys':[],'ops':[]},G,v,i,n;return n={'next':e(0x0),'throw':e(0x1),'return':e(0x2)},typeof Symbol==='function'&&(n[Symbol[L(0x159)]]=function(){return this;}),n;function e(P){return function(M){return r([P,M]);};}function r(P){var h=L;if(G)throw new TypeError('Generator\x20is\x20already\x20executing.');while(q)try{if(G=0x1,v&&(i=P[0x0]&0x2?v[h(0x1a5)]:P[0x0]?v[h(0x1a3)]||((i=v[h(0x1a5)])&&i[h(0x14c)](v),0x0):v[h(0x163)])&&!(i=i[h(0x14c)](v,P[0x1]))[h(0x17c)])return i;if(v=0x0,i)P=[P[0x0]&0x2,i[h(0x160)]];switch(P[0x0]){case 0x0:case 0x1:i=P;break;case 0x4:q[h(0x156)]++;return{'value':P[0x1],'done':![]};case 0x5:q[h(0x156)]++,v=P[0x1],P=[0x0];continue;case 0x7:P=q[h(0x16a)][h(0x197)](),q['trys'][h(0x197)]();continue;default:if(!(i=q[h(0x1b6)],i=i['length']>0x0&&i[i[h(0x17d)]-0x1])&&(P[0x0]===0x6||P[0x0]===0x2)){q=0x0;continue;}if(P[0x0]===0x3&&(!i||P[0x1]>i[0x0]&&P[0x1]<i[0x3])){q[h(0x156)]=P[0x1];break;}if(P[0x0]===0x6&&q['label']<i[0x1]){q[h(0x156)]=i[0x1],i=P;break;}if(i&&q[h(0x156)]<i[0x2]){q[h(0x156)]=i[0x2],q['ops'][h(0x175)](P);break;}if(i[0x2])q[h(0x16a)][h(0x197)]();q[h(0x1b6)][h(0x197)]();continue;}P=U[h(0x14c)](N,q);}catch(M){P=[0x6,M],v=0x0;}finally{G=i=0x0;}if(P[0x0]&0x5)throw P[0x1];return{'value':P[0x0]?P[0x1]:void 0x0,'done':!![]};}},__spreadArray=this&&this[a10X(0x1ba)]||function(y,N,U){var I=a10X;if(U||arguments[I(0x17d)]===0x2)for(var q=0x0,G=N[I(0x17d)],v;q<G;q++){if(v||!(q in N)){if(!v)v=Array[I(0x167)][I(0x180)][I(0x14c)](N,0x0,q);v[q]=N[q];}}return y[I(0x1a4)](v||Array[I(0x167)][I(0x180)][I(0x14c)](N));},__importDefault=this&&this[a10X(0x1b8)]||function(y){var a=a10X;return y&&y[a(0x1b2)]?y:{'default':y};};Object['defineProperty'](exports,a10X(0x1b2),{'value':!![]}),exports[a10X(0x198)]=void 0x0;var js_client_1=require('@northflank/js-client'),chalk_1=__importDefault(require(a10X(0x18b))),utils_1=require('../utils'),inquirer_helper_1=require(a10X(0x174)),CliPortForward=(function(){var j=a10X;function y(N){var A=a10N,U=this;this['noDefaultsText']=A(0x1bd),this[A(0x1b3)]=new js_client_1['ApiClient'](N,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent']});var q=new inquirer_helper_1[(A(0x14f))](this[A(0x1b3)]);this[A(0x1a0)]=(0x0,utils_1[A(0x158)])()['name'](A(0x173))[A(0x1a8)]('fwd')['description']('Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.');var G=(0x0,utils_1[A(0x158)])(!![])['name'](A(0x1bb))[A(0x150)]('Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project')['option'](A(0x152),A(0x179))[A(0x165)](A(0x188),this[A(0x193)],![])['action'](function(n){var o=A,e=n[o(0x181)],r=n['projectId'];return __awaiter(U,void 0x0,void 0x0,function(){var P,M,J,b,V,t,f,w;return __generator(this,function(g){var l=a10N;switch(g[l(0x156)]){case 0x0:(0x0,utils_1[l(0x16e)])(this[l(0x1b3)]),P=this['getProxyForwarder'](),M=e?undefined:N['getCurrentProjectName'](),b=r||M;if(b)return[0x3,0x2];return[0x4,q[l(0x196)]()];case 0x1:b=g['sent'](),g['label']=0x2;case 0x2:J=b,g[l(0x156)]=0x3;case 0x3:g[l(0x1b6)][l(0x175)]([0x3,0x8,,0x9]);return[0x4,P[l(0x1bc)]({'projectId':J},![])];case 0x4:V=g[l(0x17a)](),t=V[l(0x1a6)],f=V[l(0x18f)];if(!(t[l(0x17d)]+f[l(0x17d)]<=0x0))return[0x3,0x5];(0x0,utils_1['warning'])('No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20'['concat'](chalk_1[l(0x19f)][l(0x14e)](J)));return[0x3,0x7];case 0x5:console['log']('Forwarding\x20'['concat'](chalk_1[l(0x19f)][l(0x1ab)][l(0x14e)](''[l(0x1a4)](t[l(0x17d)],l(0x166))),l(0x151))[l(0x1a4)](chalk_1['default']['green']['bold'](''['concat'](f[l(0x17d)],l(0x1ae))),l(0x177))[l(0x1a4)](chalk_1[l(0x19f)][l(0x14e)](J)));return[0x4,Promise['all'](__spreadArray(__spreadArray([],t,!![]),f,!![]))];case 0x6:g[l(0x17a)](),g[l(0x156)]=0x7;case 0x7:return[0x3,0x9];case 0x8:w=g[l(0x17a)](),(0x0,utils_1[l(0x169)])(l(0x183)[l(0x1a4)](w[l(0x157)]));return[0x3,0x9];case 0x9:return[0x2];}});});}),v=(0x0,utils_1[A(0x158)])(!![])[A(0x1b5)]('service')[A(0x150)]('Port-forwarding\x20for\x20the\x20specified\x20service')[A(0x165)](A(0x152),A(0x192))[A(0x165)](A(0x1a7),A(0x15c))['option'](A(0x188),this[A(0x193)],![])[A(0x199)](function(n){var B=A,e=n['noDefaults'],r=n['projectId'],P=n[B(0x189)];return __awaiter(U,void 0x0,void 0x0,function(){var M,J,b,V,t,f,w,g;return __generator(this,function(k){var Y=a10N;switch(k[Y(0x156)]){case 0x0:(0x0,utils_1['assertContextExisting'])(this[Y(0x1b3)]),M=this[Y(0x178)](),J=e?undefined:N[Y(0x1a2)](),V=r||J;if(V)return[0x3,0x2];return[0x4,q[Y(0x196)]()];case 0x1:V=k['sent'](),k[Y(0x156)]=0x2;case 0x2:b=V,t=e?undefined:N[Y(0x1ad)](),w=P||t;if(w)return[0x3,0x4];return[0x4,q[Y(0x19b)](b)()];case 0x3:w=k['sent'](),k[Y(0x156)]=0x4;case 0x4:f=w,console['log'](Y(0x1ac)[Y(0x1a4)](chalk_1[Y(0x19f)]['bold'](f),Y(0x177))[Y(0x1a4)](chalk_1[Y(0x19f)][Y(0x14e)](b))),k[Y(0x156)]=0x5;case 0x5:k[Y(0x1b6)]['push']([0x5,0x7,,0x8]);return[0x4,M[Y(0x154)]({'projectId':b,'serviceId':f},![])];case 0x6:k['sent']();return[0x3,0x8];case 0x7:g=k[Y(0x17a)](),(0x0,utils_1[Y(0x169)])('Failed:\x20'[Y(0x1a4)](g[Y(0x157)]));return[0x3,0x8];case 0x8:return[0x2];}});});}),i=(0x0,utils_1[A(0x158)])(!![])[A(0x1b5)](A(0x184))[A(0x150)](A(0x17f))[A(0x165)]('--project\x20--projectId\x20[NAME]',A(0x192))[A(0x165)](A(0x1a9),A(0x19e))[A(0x165)]('--noDefaults',this[A(0x193)],![])[A(0x199)](function(n){var T=A,e=n[T(0x15b)],r=n[T(0x185)],P=n[T(0x181)];return __awaiter(U,void 0x0,void 0x0,function(){var M,J,b,V,t,f,w;return __generator(this,function(g){var F=a10N;switch(g[F(0x156)]){case 0x0:(0x0,utils_1[F(0x16e)])(this[F(0x1b3)]),M=P?undefined:N[F(0x1a2)](),b=e||M;if(b)return[0x3,0x2];return[0x4,q[F(0x196)]()];case 0x1:b=g[F(0x17a)](),g[F(0x156)]=0x2;case 0x2:J=b,t=r;if(t)return[0x3,0x4];return[0x4,q[F(0x15f)](J)()];case 0x3:t=g[F(0x17a)](),g[F(0x156)]=0x4;case 0x4:V=t,console[F(0x153)](F(0x19d)[F(0x1a4)](chalk_1[F(0x19f)][F(0x14e)](V),F(0x177))[F(0x1a4)](chalk_1['default']['bold'](J))),f=this['getProxyForwarder'](),g[F(0x156)]=0x5;case 0x5:g[F(0x1b6)][F(0x175)]([0x5,0x7,,0x8]);return[0x4,f[F(0x1b4)]({'projectId':J,'addonId':V},![])];case 0x6:g['sent']();return[0x3,0x8];case 0x7:w=g[F(0x17a)](),(0x0,utils_1['error'])(F(0x183)[F(0x1a4)](w['message']));return[0x3,0x8];case 0x8:return[0x2];}});});});this[A(0x1a0)][A(0x1b0)](G),this[A(0x1a0)][A(0x1b0)](v),this[A(0x1a0)][A(0x1b0)](i);}return y[j(0x167)][j(0x178)]=function(){var W=j,N=this,U=this[W(0x1b3)][W(0x194)],q=U[W(0x164)]();if(q[W(0x169)])throw new Error(q[W(0x157)]);return U['on'](W(0x190),function(G,v){var R=W,i=chalk_1[R(0x19f)]['greenBright'][R(0x14e)](''['concat'](v[R(0x186)],'\x20\x27')['concat'](v['id'],'\x27')),n=v['protocol']===R(0x1b7)?R(0x18c):'';(0x0,utils_1[R(0x195)])('Exposing\x20'['concat'](i,R(0x1aa))[R(0x1a4)](v[R(0x14d)],':')['concat'](v[R(0x18d)],'\x20(')['concat'](v[R(0x16f)],R(0x1af))),v[R(0x18a)]['forEach'](function(e){var D=R;(0x0,utils_1[D(0x195)])('\x20\x20'[D(0x1a4)](n)[D(0x1a4)](e,':')[D(0x1a4)](v['port']));}),(0x0,utils_1[R(0x195)])('');}),U['on'](W(0x168),function(G,v){var c=W,i=chalk_1[c(0x19f)][c(0x170)][c(0x14e)](''[c(0x1a4)](v[c(0x186)],'\x20\x27')[c(0x1a4)](v['id'],'\x27'));(0x0,utils_1[c(0x17b)])('Stop\x20forwarding\x20traffic\x20from\x20'['concat'](v[c(0x14d)],':')['concat'](v[c(0x18d)],c(0x16d))[c(0x1a4)](i,c(0x1b1))),v[c(0x18a)][c(0x19c)](function(n){var O=c;(0x0,utils_1[O(0x17b)])('\x20\x20'[O(0x1a4)](n,':')[O(0x1a4)](v[O(0x18d)]));}),(0x0,utils_1['warning'])('');}),U['on'](W(0x16c),function(G,v,i){var m=W;(0x0,utils_1[m(0x17b)])(m(0x171)[m(0x1a4)](v[m(0x14d)],':')['concat'](v[m(0x18d)],m(0x161))[m(0x1a4)](i===null||i===void 0x0?void 0x0:i[m(0x157)],'\x22'));}),process['on'](W(0x17e),function(){return __awaiter(N,void 0x0,void 0x0,function(){var G;return __generator(this,function(v){var E=a10N;switch(v[E(0x156)]){case 0x0:v['trys'][E(0x175)]([0x0,0x2,0x3,0x4]);return[0x4,U['stop']()];case 0x1:v['sent']();return[0x3,0x4];case 0x2:G=v['sent'](),(0x0,utils_1[E(0x169)])(E(0x191)['concat'](G[E(0x157)]));return[0x3,0x4];case 0x3:process['exit']();return[0x7];case 0x4:return[0x2];}});});}),U;},y;}());exports[a10X(0x198)]=CliPortForward;
|
package/dist/utils.js
CHANGED
|
@@ -1,201 +1 @@
|
|
|
1
|
-
|
|
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.assertContextExisting = exports.isValidJSON = exports.asyncSequential = exports.retry = exports.getCommand = exports.success = exports.warning = exports.error = exports.checkUpdate = exports.customUserAgent = void 0;
|
|
43
|
-
var node_fetch_1 = __importDefault(require("node-fetch"));
|
|
44
|
-
var chalk_1 = __importDefault(require("chalk"));
|
|
45
|
-
var commander_1 = require("commander");
|
|
46
|
-
var pgk = require('../package.json');
|
|
47
|
-
exports.customUserAgent = "northflank-cli/".concat(pgk === null || pgk === void 0 ? void 0 : pgk.version);
|
|
48
|
-
/**
|
|
49
|
-
* Checks if there is a newer version of the package and prints a notice to the command line if this is the case.
|
|
50
|
-
*/
|
|
51
|
-
function checkUpdate(contextProvider) {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
-
function addDays(date, days) {
|
|
54
|
-
var copy = new Date(Number(date));
|
|
55
|
-
copy.setDate(copy.getDate() + days);
|
|
56
|
-
return copy;
|
|
57
|
-
}
|
|
58
|
-
var currentVersion, name_1, packageVersionUrl, response, latestVersion, e_1;
|
|
59
|
-
return __generator(this, function (_a) {
|
|
60
|
-
switch (_a.label) {
|
|
61
|
-
case 0:
|
|
62
|
-
_a.trys.push([0, 4, , 5]);
|
|
63
|
-
if (addDays(contextProvider.getLastUpdateCheck(), 1) > new Date()) {
|
|
64
|
-
return [2 /*return*/];
|
|
65
|
-
}
|
|
66
|
-
currentVersion = pgk.version;
|
|
67
|
-
name_1 = pgk.name;
|
|
68
|
-
if (!currentVersion) {
|
|
69
|
-
return [2 /*return*/];
|
|
70
|
-
}
|
|
71
|
-
packageVersionUrl = "https://registry.npmjs.org/".concat(name_1, "/latest");
|
|
72
|
-
return [4 /*yield*/, (0, node_fetch_1.default)(packageVersionUrl, { method: 'GET', timeout: 5000 })];
|
|
73
|
-
case 1:
|
|
74
|
-
response = _a.sent();
|
|
75
|
-
return [4 /*yield*/, response.json()];
|
|
76
|
-
case 2:
|
|
77
|
-
latestVersion = (_a.sent()).version;
|
|
78
|
-
if (needsUpdate(currentVersion, latestVersion)) {
|
|
79
|
-
warning("** You're running on version ".concat(currentVersion, ", the latest version of the cli is ").concat(latestVersion, ".") +
|
|
80
|
-
" Consider updating using 'npm i ".concat(name_1, " -g' or 'yarn global add ").concat(name_1, "' **"));
|
|
81
|
-
}
|
|
82
|
-
return [4 /*yield*/, contextProvider.setLastUpdateCheck(new Date())];
|
|
83
|
-
case 3:
|
|
84
|
-
_a.sent();
|
|
85
|
-
return [3 /*break*/, 5];
|
|
86
|
-
case 4:
|
|
87
|
-
e_1 = _a.sent();
|
|
88
|
-
return [3 /*break*/, 5];
|
|
89
|
-
case 5: return [2 /*return*/];
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
exports.checkUpdate = checkUpdate;
|
|
95
|
-
/** @return true if currentVersion is smaller than latestVersion
|
|
96
|
-
*/
|
|
97
|
-
function needsUpdate(currentVersion, latestVersion) {
|
|
98
|
-
var regExStrip0 = /(\.0+)+$/;
|
|
99
|
-
var segmentsCurrent = currentVersion.replace(regExStrip0, '').split('.');
|
|
100
|
-
var segmentsLatest = latestVersion.replace(regExStrip0, '').split('.');
|
|
101
|
-
for (var i = 0; i < Math.min(segmentsCurrent.length, segmentsLatest.length); i += 1) {
|
|
102
|
-
var diff = parseInt(segmentsLatest[i], 10) - parseInt(segmentsCurrent[i], 10);
|
|
103
|
-
if (diff > 0) {
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
if (diff < 0) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return segmentsLatest.length > segmentsCurrent.length;
|
|
111
|
-
}
|
|
112
|
-
/** Printer helpers */
|
|
113
|
-
function error(msg) {
|
|
114
|
-
console.error(chalk_1.default.redBright("Failed: ".concat(msg)));
|
|
115
|
-
}
|
|
116
|
-
exports.error = error;
|
|
117
|
-
function warning(msg) {
|
|
118
|
-
console.error(chalk_1.default.yellow("".concat(msg)));
|
|
119
|
-
}
|
|
120
|
-
exports.warning = warning;
|
|
121
|
-
function success(msg) {
|
|
122
|
-
console.log(chalk_1.default.green("".concat(msg)));
|
|
123
|
-
}
|
|
124
|
-
exports.success = success;
|
|
125
|
-
function getCommand(withOptions) {
|
|
126
|
-
if (withOptions === void 0) { withOptions = false; }
|
|
127
|
-
var command = new commander_1.Command();
|
|
128
|
-
command.storeOptionsAsProperties(false);
|
|
129
|
-
command.allowUnknownOption(false);
|
|
130
|
-
command.allowExcessArguments(false);
|
|
131
|
-
command.enablePositionalOptions(true); // Avoid properties clash with --name option
|
|
132
|
-
if (withOptions) {
|
|
133
|
-
command.option('--verbose', 'Verbose output', false);
|
|
134
|
-
command.option('--quiet', 'No console output', false);
|
|
135
|
-
}
|
|
136
|
-
return command;
|
|
137
|
-
}
|
|
138
|
-
exports.getCommand = getCommand;
|
|
139
|
-
var retry = function (retries, retryDelay) {
|
|
140
|
-
if (retryDelay === void 0) { retryDelay = 50; }
|
|
141
|
-
return function (action) {
|
|
142
|
-
var retriesCounter = retries;
|
|
143
|
-
var retryRecursive = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
144
|
-
var e_2;
|
|
145
|
-
return __generator(this, function (_a) {
|
|
146
|
-
switch (_a.label) {
|
|
147
|
-
case 0:
|
|
148
|
-
_a.trys.push([0, 2, , 4]);
|
|
149
|
-
return [4 /*yield*/, action()];
|
|
150
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
151
|
-
case 2:
|
|
152
|
-
e_2 = _a.sent();
|
|
153
|
-
if (retriesCounter <= 0) {
|
|
154
|
-
throw e_2;
|
|
155
|
-
}
|
|
156
|
-
retriesCounter -= 1;
|
|
157
|
-
return [4 /*yield*/, new Promise(function (r) { return setTimeout(function () { return r(); }, retryDelay); })];
|
|
158
|
-
case 3:
|
|
159
|
-
_a.sent();
|
|
160
|
-
return [2 /*return*/, retryRecursive()];
|
|
161
|
-
case 4: return [2 /*return*/];
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
}); };
|
|
165
|
-
return retryRecursive();
|
|
166
|
-
};
|
|
167
|
-
};
|
|
168
|
-
exports.retry = retry;
|
|
169
|
-
var asyncSequential = function (elements, op) { return __awaiter(void 0, void 0, void 0, function () {
|
|
170
|
-
var empty;
|
|
171
|
-
return __generator(this, function (_a) {
|
|
172
|
-
empty = Promise.resolve([]);
|
|
173
|
-
return [2 /*return*/, elements.reduce(function (prevPromise, element) {
|
|
174
|
-
return prevPromise.then(function (result) {
|
|
175
|
-
return op(element).then(function (r) {
|
|
176
|
-
result.push(r);
|
|
177
|
-
return result;
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
}, empty)];
|
|
181
|
-
});
|
|
182
|
-
}); };
|
|
183
|
-
exports.asyncSequential = asyncSequential;
|
|
184
|
-
function isValidJSON(str) {
|
|
185
|
-
try {
|
|
186
|
-
return JSON.parse(str);
|
|
187
|
-
}
|
|
188
|
-
catch (e) {
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
exports.isValidJSON = isValidJSON;
|
|
193
|
-
function assertContextExisting(apiClient) {
|
|
194
|
-
if (apiClient.contextProvider.getCurrentContext() === undefined)
|
|
195
|
-
throw new Error("No CLI context present. Create context with 'northflank login'");
|
|
196
|
-
if (apiClient.contextProvider.getCurrentBaseUrl() === undefined)
|
|
197
|
-
throw new Error("No API URL present in context. Create new context with 'northflank login'");
|
|
198
|
-
if (apiClient.contextProvider.getCurrentToken() === undefined)
|
|
199
|
-
throw new Error("No token in CLI context. Add token with 'northflank set-token'");
|
|
200
|
-
}
|
|
201
|
-
exports.assertContextExisting = assertContextExisting;
|
|
1
|
+
'use strict';var a11V=a11N;(function(y,N){var b=a11N,U=y();while(!![]){try{var q=-parseInt(b(0xd1))/0x1*(parseInt(b(0x97))/0x2)+parseInt(b(0xd0))/0x3*(-parseInt(b(0xbb))/0x4)+-parseInt(b(0xc8))/0x5+-parseInt(b(0xb8))/0x6*(-parseInt(b(0xb1))/0x7)+-parseInt(b(0xd3))/0x8+parseInt(b(0xa1))/0x9*(parseInt(b(0xb2))/0xa)+-parseInt(b(0x8f))/0xb*(-parseInt(b(0xb6))/0xc);if(q===N)break;else U['push'](U['shift']());}catch(G){U['push'](U['shift']());}}}(a11y,0x8474d));function a11N(y,N){var U=a11y();return a11N=function(q,G){q=q-0x89;var v=U[q];return v;},a11N(y,N);}var __awaiter=this&&this[a11V(0x9a)]||function(y,N,U,q){function G(v){return v instanceof U?v:new U(function(i){i(v);});}return new(U||(U=Promise))(function(v,i){var g=a11N;function n(M){var t=a11N;try{r(q[t(0xad)](M));}catch(J){i(J);}}function e(M){var f=a11N;try{r(q[f(0x9e)](M));}catch(J){i(J);}}function r(M){var w=a11N;M[w(0xa9)]?v(M[w(0xc2)]):G(M['value'])[w(0x98)](n,e);}r((q=q[g(0xb3)](y,N||[]))[g(0xad)]());});},__generator=this&&this['__generator']||function(N,U){var k=a11V,q={'label':0x0,'sent':function(){if(i[0x0]&0x1)throw i[0x1];return i[0x1];},'trys':[],'ops':[]},G,v,i,n;return n={'next':e(0x0),'throw':e(0x1),'return':e(0x2)},typeof Symbol==='function'&&(n[Symbol[k(0xaf)]]=function(){return this;}),n;function e(P){return function(M){return r([P,M]);};}function r(P){var x=k;if(G)throw new TypeError(x(0xbd));while(q)try{if(G=0x1,v&&(i=P[0x0]&0x2?v[x(0xd5)]:P[0x0]?v[x(0x9e)]||((i=v[x(0xd5)])&&i[x(0xcd)](v),0x0):v[x(0xad)])&&!(i=i[x(0xcd)](v,P[0x1]))[x(0xa9)])return i;if(v=0x0,i)P=[P[0x0]&0x2,i[x(0xc2)]];switch(P[0x0]){case 0x0:case 0x1:i=P;break;case 0x4:q[x(0xa4)]++;return{'value':P[0x1],'done':![]};case 0x5:q[x(0xa4)]++,v=P[0x1],P=[0x0];continue;case 0x7:P=q[x(0x9d)]['pop'](),q[x(0xcf)][x(0xcc)]();continue;default:if(!(i=q['trys'],i=i['length']>0x0&&i[i[x(0xa0)]-0x1])&&(P[0x0]===0x6||P[0x0]===0x2)){q=0x0;continue;}if(P[0x0]===0x3&&(!i||P[0x1]>i[0x0]&&P[0x1]<i[0x3])){q[x(0xa4)]=P[0x1];break;}if(P[0x0]===0x6&&q[x(0xa4)]<i[0x1]){q[x(0xa4)]=i[0x1],i=P;break;}if(i&&q[x(0xa4)]<i[0x2]){q[x(0xa4)]=i[0x2],q['ops'][x(0xb9)](P);break;}if(i[0x2])q[x(0x9d)][x(0xcc)]();q['trys'][x(0xcc)]();continue;}P=U[x(0xcd)](N,q);}catch(M){P=[0x6,M],v=0x0;}finally{G=i=0x0;}if(P[0x0]&0x5)throw P[0x1];return{'value':P[0x0]?P[0x1]:void 0x0,'done':!![]};}},__importDefault=this&&this[a11V(0xac)]||function(y){var X=a11V;return y&&y[X(0x8a)]?y:{'default':y};};Object['defineProperty'](exports,a11V(0x8a),{'value':!![]}),exports['assertContextExisting']=exports[a11V(0xae)]=exports[a11V(0xce)]=exports[a11V(0xc3)]=exports[a11V(0xbe)]=exports[a11V(0xc5)]=exports[a11V(0x8c)]=exports[a11V(0xb4)]=exports[a11V(0x93)]=exports[a11V(0xca)]=void 0x0;var node_fetch_1=__importDefault(require(a11V(0x92))),chalk_1=__importDefault(require('chalk')),commander_1=require(a11V(0x9b)),pgk=require(a11V(0xd8));exports['customUserAgent']=a11V(0xc0)['concat'](pgk===null||pgk===void 0x0?void 0x0:pgk[a11V(0x89)]);function checkUpdate(y){return __awaiter(this,void 0x0,void 0x0,function(){function N(e,r){var C=a11N,P=new Date(Number(e));return P[C(0xba)](P[C(0xaa)]()+r),P;}var U,q,G,v,i,n;return __generator(this,function(e){var p=a11N;switch(e['label']){case 0x0:e[p(0xcf)][p(0xb9)]([0x0,0x4,,0x5]);if(N(y[p(0xd9)](),0x1)>new Date())return[0x2];U=pgk[p(0x89)],q=pgk[p(0x9f)];if(!U)return[0x2];G=p(0xb5)[p(0xd4)](q,p(0x95));return[0x4,(0x0,node_fetch_1[p(0x8e)])(G,{'method':p(0x90),'timeout':0x1388})];case 0x1:v=e[p(0x9c)]();return[0x4,v[p(0xab)]()];case 0x2:i=e['sent']()[p(0x89)];needsUpdate(U,i)&&warning(p(0xd6)[p(0xd4)](U,p(0xa6))[p(0xd4)](i,'.')+p(0x94)[p(0xd4)](q,p(0xd7))[p(0xd4)](q,p(0xbc)));return[0x4,y[p(0xc7)](new Date())];case 0x3:e[p(0x9c)]();return[0x3,0x5];case 0x4:n=e[p(0x9c)]();return[0x3,0x5];case 0x5:return[0x2];}});});}exports['checkUpdate']=checkUpdate;function needsUpdate(y,N){var Q=a11V,U=/(\.0+)+$/,q=y[Q(0xdb)](U,'')['split']('.'),G=N[Q(0xdb)](U,'')[Q(0x8b)]('.');for(var v=0x0;v<Math[Q(0x96)](q[Q(0xa0)],G['length']);v+=0x1){var n=parseInt(G[v],0xa)-parseInt(q[v],0xa);if(n>0x0)return!![];if(n<0x0)return![];}return G[Q(0xa0)]>q['length'];}function error(y){var z=a11V;console['error'](chalk_1[z(0x8e)][z(0xa8)](z(0xc4)[z(0xd4)](y)));}exports[a11V(0xb4)]=error;function warning(y){var L=a11V;console[L(0xb4)](chalk_1[L(0x8e)][L(0xd2)](''[L(0xd4)](y)));}exports[a11V(0x8c)]=warning;function success(y){var h=a11V;console[h(0x99)](chalk_1[h(0x8e)]['green'](''['concat'](y)));}exports[a11V(0xc5)]=success;function getCommand(y){var I=a11V;y===void 0x0&&(y=![]);var N=new commander_1['Command']();return N[I(0xbf)](![]),N[I(0x8d)](![]),N[I(0xa7)](![]),N['enablePositionalOptions'](!![]),y&&(N[I(0xcb)](I(0xc6),I(0x91),![]),N[I(0xcb)](I(0xb0),I(0xc1),![])),N;}exports[a11V(0xbe)]=getCommand;var retry=function(y,N){return N===void 0x0&&(N=0x32),function(U){var q=y,G=function(){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var v;return __generator(this,function(i){var a=a11N;switch(i[a(0xa4)]){case 0x0:i[a(0xcf)][a(0xb9)]([0x0,0x2,,0x4]);return[0x4,U()];case 0x1:return[0x2,i[a(0x9c)]()];case 0x2:v=i['sent']();if(q<=0x0)throw v;q-=0x1;return[0x4,new Promise(function(n){return setTimeout(function(){return n();},N);})];case 0x3:i[a(0x9c)]();return[0x2,G()];case 0x4:return[0x2];}});});};return G();};};exports[a11V(0xc3)]=retry;var asyncSequential=function(y,N){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var U;return __generator(this,function(q){var A=a11N;return U=Promise['resolve']([]),[0x2,y[A(0xc9)](function(G,v){var o=A;return G[o(0x98)](function(i){return N(v)['then'](function(n){var l=a11N;return i[l(0xb9)](n),i;});});},U)];});});};function a11y(){var Y=['success','--verbose','setLastUpdateCheck','4634855vnSLHN','reduce','customUserAgent','option','pop','call','asyncSequential','trys','978417zBeNeO','6xxtcor','yellow','260808ccNAbt','concat','return','**\x20You\x27re\x20running\x20on\x20version\x20','\x20-g\x27\x20or\x20\x27yarn\x20global\x20add\x20','../package.json','getLastUpdateCheck','getCurrentContext','replace','version','__esModule','split','warning','allowUnknownOption','default','11UDgNdA','GET','Verbose\x20output','node-fetch','checkUpdate','\x20Consider\x20updating\x20using\x20\x27npm\x20i\x20','/latest','min','5426SGUKdG','then','log','__awaiter','commander','sent','ops','throw','name','length','1874484imiQyD','assertContextExisting','getCurrentToken','label','getCurrentBaseUrl',',\x20the\x20latest\x20version\x20of\x20the\x20cli\x20is\x20','allowExcessArguments','redBright','done','getDate','json','__importDefault','next','isValidJSON','iterator','--quiet','2779yPvmmM','10GaLVuH','apply','error','https://registry.npmjs.org/','13725348LNDnNg','contextProvider','12372jxdZVJ','push','setDate','8wkRtqq','\x27\x20**','Generator\x20is\x20already\x20executing.','getCommand','storeOptionsAsProperties','northflank-cli/','No\x20console\x20output','value','retry','Failed:\x20'];a11y=function(){return Y;};return a11y();}exports[a11V(0xce)]=asyncSequential;function isValidJSON(y){try{return JSON['parse'](y);}catch(N){return![];}}exports[a11V(0xae)]=isValidJSON;function assertContextExisting(y){var B=a11V;if(y[B(0xb7)][B(0xda)]()===undefined)throw new Error('No\x20CLI\x20context\x20present.\x20Create\x20context\x20with\x20\x27northflank\x20login\x27');if(y['contextProvider'][B(0xa5)]()===undefined)throw new Error('No\x20API\x20URL\x20present\x20in\x20context.\x20Create\x20new\x20context\x20with\x20\x27northflank\x20login\x27');if(y['contextProvider'][B(0xa3)]()===undefined)throw new Error('No\x20token\x20in\x20CLI\x20context.\x20Add\x20token\x20with\x20\x27northflank\x20set-token\x27');}exports[a11V(0xa2)]=assertContextExisting;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northflank/cli",
|
|
3
|
-
"version": "0.8.3-beta.
|
|
3
|
+
"version": "0.8.3-beta.1",
|
|
4
4
|
"author": "Marco Suter",
|
|
5
5
|
"description": "Provides a command-line interface to the Northflank platform.",
|
|
6
6
|
"homepage": "https://www.northflank.com",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"inquirer-search-list": "^1.2.6",
|
|
36
36
|
"js-yaml": "^3.14.0",
|
|
37
37
|
"lodash": "^4.17.15",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
38
|
+
"node-fetch": "2.6.7",
|
|
39
|
+
"open": "^8.4.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@fig/complete-commander": "^2.0.0",
|