runlify 0.0.1 → 0.0.4
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/bin/runlify +0 -3
- package/build/package.json +72 -0
- package/build/{cli.js → src/cli.js} +14 -2
- package/build/src/commands/availableEnvironments.js +74 -0
- package/build/src/commands/env.js +84 -0
- package/build/{commands → src/commands}/generate.js +1 -1
- package/build/src/commands/init.js +70 -0
- package/build/src/commands/login.js +67 -0
- package/build/src/commands/logout.js +67 -0
- package/build/src/commands/readEnv.js +60 -0
- package/build/{commands → src/commands}/runlify.js +2 -2
- package/build/src/commands/showEnvironmentVariables.js +62 -0
- package/build/src/commands/showToken.js +62 -0
- package/build/src/commands/tryGetMeta.js +59 -0
- package/build/src/commands/writeToken.js +86 -0
- package/build/{extensions → src/extensions}/cli-extension.js +1 -1
- package/build/src/services/getConfigService.js +53 -0
- package/build/src/services/getEnvService.js +122 -0
- package/build/src/services/getMetaService.js +83 -0
- package/build/{types.js → src/types.js} +1 -1
- package/build/src/utils/TermSignals.js +117 -0
- package/build/src/utils/getAuth.js +122 -0
- package/build/src/utils/getPkgManager.js +29 -0
- package/build/src/utils/notifyUpdate.js +69 -0
- package/build/templates/src/templates/runlify.developer.example.json.ejs +3 -0
- package/build/templates/src/templates/runlify.json.ejs +6 -0
- package/build/types/{cli.d.ts → src/cli.d.ts} +0 -0
- package/build/types/{commands/generate.d.ts → src/commands/availableEnvironments.d.ts} +0 -0
- package/build/types/{commands/runlify.d.ts → src/commands/env.d.ts} +0 -0
- package/build/types/{extensions/cli-extension.d.ts → src/commands/generate.d.ts} +0 -0
- package/build/types/src/commands/init.d.ts +1 -0
- package/build/types/src/commands/login.d.ts +1 -0
- package/build/types/src/commands/logout.d.ts +1 -0
- package/build/types/src/commands/readEnv.d.ts +1 -0
- package/build/types/src/commands/runlify.d.ts +1 -0
- package/build/types/src/commands/showEnvironmentVariables.d.ts +1 -0
- package/build/types/src/commands/showToken.d.ts +1 -0
- package/build/types/src/commands/tryGetMeta.d.ts +1 -0
- package/build/types/src/commands/writeToken.d.ts +1 -0
- package/build/types/src/extensions/cli-extension.d.ts +1 -0
- package/build/types/src/services/getConfigService.d.ts +10 -0
- package/build/types/src/services/getEnvService.d.ts +8 -0
- package/build/types/src/services/getMetaService.d.ts +5 -0
- package/build/types/{types.d.ts → src/types.d.ts} +0 -0
- package/build/types/src/utils/TermSignals.d.ts +28 -0
- package/build/types/src/utils/getAuth.d.ts +7 -0
- package/build/types/src/utils/getPkgManager.d.ts +3 -0
- package/build/types/src/utils/notifyUpdate.d.ts +2 -0
- package/package.json +16 -7
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// file from env-cmd package
|
|
4
|
+
var SIGNALS_TO_HANDLE = ['SIGINT', 'SIGTERM', 'SIGHUP'];
|
|
5
|
+
var TermSignals = /** @class */ (function () {
|
|
6
|
+
function TermSignals(options) {
|
|
7
|
+
if (options === void 0) { options = {}; }
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
this.terminateSpawnedProcessFuncHandlers = {};
|
|
10
|
+
this.verbose = false;
|
|
11
|
+
this._exitCalled = false;
|
|
12
|
+
this.verbose = options.verbose === true;
|
|
13
|
+
}
|
|
14
|
+
TermSignals.prototype.handleTermSignals = function (proc) {
|
|
15
|
+
var _this = this;
|
|
16
|
+
// Terminate child process if parent process receives termination events
|
|
17
|
+
SIGNALS_TO_HANDLE.forEach(function (signal) {
|
|
18
|
+
_this.terminateSpawnedProcessFuncHandlers[signal] = function (signal, code) {
|
|
19
|
+
_this._removeProcessListeners();
|
|
20
|
+
if (!_this._exitCalled) {
|
|
21
|
+
if (_this.verbose) {
|
|
22
|
+
console.info('Parent process exited with signal: ' +
|
|
23
|
+
signal.toString() +
|
|
24
|
+
'. Terminating child process...');
|
|
25
|
+
}
|
|
26
|
+
// Mark shared state so we do not run into a signal/exit loop
|
|
27
|
+
_this._exitCalled = true;
|
|
28
|
+
// Use the signal code if it is an error code
|
|
29
|
+
var correctSignal = void 0;
|
|
30
|
+
if (typeof signal === 'number') {
|
|
31
|
+
if (signal > (code !== null && code !== void 0 ? code : 0)) {
|
|
32
|
+
code = signal;
|
|
33
|
+
correctSignal = 'SIGINT';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
correctSignal = signal;
|
|
38
|
+
}
|
|
39
|
+
// Kill the child process
|
|
40
|
+
proc.kill(correctSignal !== null && correctSignal !== void 0 ? correctSignal : code);
|
|
41
|
+
// Terminate the parent process
|
|
42
|
+
_this._terminateProcess(code, correctSignal);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
process.once(signal, _this.terminateSpawnedProcessFuncHandlers[signal]);
|
|
46
|
+
});
|
|
47
|
+
process.once('exit', this.terminateSpawnedProcessFuncHandlers.SIGTERM);
|
|
48
|
+
// Terminate parent process if child process receives termination events
|
|
49
|
+
proc.on('exit', function (code, signal) {
|
|
50
|
+
_this._removeProcessListeners();
|
|
51
|
+
if (!_this._exitCalled) {
|
|
52
|
+
if (_this.verbose) {
|
|
53
|
+
console.info("Child process exited with code: ".concat((code !== null && code !== void 0 ? code : '').toString(), " and signal:") +
|
|
54
|
+
(signal !== null && signal !== void 0 ? signal : '').toString() +
|
|
55
|
+
'. Terminating parent process...');
|
|
56
|
+
}
|
|
57
|
+
// Mark shared state so we do not run into a signal/exit loop
|
|
58
|
+
_this._exitCalled = true;
|
|
59
|
+
// Use the signal code if it is an error code
|
|
60
|
+
var correctSignal = void 0;
|
|
61
|
+
if (typeof signal === 'number') {
|
|
62
|
+
if (signal > (code !== null && code !== void 0 ? code : 0)) {
|
|
63
|
+
code = signal;
|
|
64
|
+
correctSignal = 'SIGINT';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
correctSignal = signal !== null && signal !== void 0 ? signal : undefined;
|
|
69
|
+
}
|
|
70
|
+
// Terminate the parent process
|
|
71
|
+
_this._terminateProcess(code, correctSignal);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Enables catching of unhandled exceptions
|
|
77
|
+
*/
|
|
78
|
+
TermSignals.prototype.handleUncaughtExceptions = function () {
|
|
79
|
+
var _this = this;
|
|
80
|
+
process.on('uncaughtException', function (e) {
|
|
81
|
+
return _this._uncaughtExceptionHandler(e);
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Terminate parent process helper
|
|
86
|
+
*/
|
|
87
|
+
TermSignals.prototype._terminateProcess = function (code, signal) {
|
|
88
|
+
if (signal !== undefined) {
|
|
89
|
+
process.kill(process.pid, signal);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (code !== undefined) {
|
|
93
|
+
return process.exit(code);
|
|
94
|
+
}
|
|
95
|
+
throw new Error('Unable to terminate parent process successfully');
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Exit event listener clean up helper
|
|
99
|
+
*/
|
|
100
|
+
TermSignals.prototype._removeProcessListeners = function () {
|
|
101
|
+
var _this = this;
|
|
102
|
+
SIGNALS_TO_HANDLE.forEach(function (signal) {
|
|
103
|
+
process.removeListener(signal, _this.terminateSpawnedProcessFuncHandlers[signal]);
|
|
104
|
+
});
|
|
105
|
+
process.removeListener('exit', this.terminateSpawnedProcessFuncHandlers.SIGTERM);
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* General exception handler
|
|
109
|
+
*/
|
|
110
|
+
TermSignals.prototype._uncaughtExceptionHandler = function (e) {
|
|
111
|
+
console.error(e.message);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
};
|
|
114
|
+
return TermSignals;
|
|
115
|
+
}());
|
|
116
|
+
exports.default = TermSignals;
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVybVNpZ25hbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvVGVybVNpZ25hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSw0QkFBNEI7QUFFNUIsSUFBTSxpQkFBaUIsR0FBcUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBRTNFO0lBTUUscUJBQVksT0FBbUM7UUFBbkMsd0JBQUEsRUFBQSxZQUFtQztRQUwvQyw4REFBOEQ7UUFDN0Msd0NBQW1DLEdBQXdCLEVBQUUsQ0FBQTtRQUM3RCxZQUFPLEdBQVksS0FBSyxDQUFBO1FBQ2xDLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBR3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUE7SUFDekMsQ0FBQztJQUVNLHVDQUFpQixHQUF4QixVQUF5QixJQUFrQjtRQUEzQyxpQkF5RUM7UUF4RUMsd0VBQXdFO1FBQ3hFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUFDLE1BQU07WUFDL0IsS0FBSSxDQUFDLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQ2pELE1BQStCLEVBQy9CLElBQVk7Z0JBRVosS0FBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7Z0JBQzlCLElBQUksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFO29CQUNyQixJQUFJLEtBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQ1YscUNBQXFDOzRCQUNuQyxNQUFNLENBQUMsUUFBUSxFQUFFOzRCQUNqQixnQ0FBZ0MsQ0FDbkMsQ0FBQTtxQkFDRjtvQkFDRCw2REFBNkQ7b0JBQzdELEtBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO29CQUN2Qiw2Q0FBNkM7b0JBQzdDLElBQUksYUFBYSxTQUE0QixDQUFBO29CQUM3QyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTt3QkFDOUIs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
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var getConfigService_1 = require("../services/getConfigService");
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
41
|
+
var getAuth = function (toolbox) {
|
|
42
|
+
var _a = (0, getConfigService_1.default)(toolbox), setConfigValue = _a.setConfigValue, getConfigValue = _a.getConfigValue;
|
|
43
|
+
var _b = toolbox.print, info = _b.info, error = _b.error;
|
|
44
|
+
var login = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
+
var login, password, endpoint, http, res, tokenEntity;
|
|
46
|
+
return __generator(this, function (_a) {
|
|
47
|
+
switch (_a.label) {
|
|
48
|
+
case 0: return [4 /*yield*/, toolbox.prompt.ask({
|
|
49
|
+
name: 'login',
|
|
50
|
+
type: 'input',
|
|
51
|
+
message: 'login',
|
|
52
|
+
})];
|
|
53
|
+
case 1:
|
|
54
|
+
login = (_a.sent()).login;
|
|
55
|
+
info(login);
|
|
56
|
+
return [4 /*yield*/, toolbox.prompt.ask({
|
|
57
|
+
name: 'password',
|
|
58
|
+
type: 'password',
|
|
59
|
+
message: 'password',
|
|
60
|
+
})];
|
|
61
|
+
case 2:
|
|
62
|
+
password = (_a.sent()).password;
|
|
63
|
+
info(password);
|
|
64
|
+
endpoint = 'http://localhost:3000';
|
|
65
|
+
info(endpoint);
|
|
66
|
+
return [4 /*yield*/, toolbox.http.create({ baseURL: endpoint })];
|
|
67
|
+
case 3:
|
|
68
|
+
http = _a.sent();
|
|
69
|
+
return [4 /*yield*/, http.post('/rest/cli/login', {
|
|
70
|
+
login: login,
|
|
71
|
+
password: password,
|
|
72
|
+
name: 'runlify',
|
|
73
|
+
})];
|
|
74
|
+
case 4:
|
|
75
|
+
res = _a.sent();
|
|
76
|
+
if (res.status === 401) {
|
|
77
|
+
error('Wrong login, password or you do not have permission to login by cli');
|
|
78
|
+
process.exit();
|
|
79
|
+
}
|
|
80
|
+
tokenEntity = res.data.data;
|
|
81
|
+
info('tokenEntity');
|
|
82
|
+
info(tokenEntity);
|
|
83
|
+
setConfigValue('token', tokenEntity.token);
|
|
84
|
+
return [2 /*return*/];
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}); };
|
|
88
|
+
var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
89
|
+
var token, endpoint, http, res;
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
switch (_a.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
token = getConfigValue('token');
|
|
94
|
+
info("token: ".concat(token));
|
|
95
|
+
endpoint = 'http://localhost:3000';
|
|
96
|
+
return [4 /*yield*/, toolbox.http.create({ baseURL: endpoint })];
|
|
97
|
+
case 1:
|
|
98
|
+
http = _a.sent();
|
|
99
|
+
return [4 /*yield*/, http.post('/rest/cli/logout', {}, {
|
|
100
|
+
headers: {
|
|
101
|
+
authorization: token,
|
|
102
|
+
},
|
|
103
|
+
})];
|
|
104
|
+
case 2:
|
|
105
|
+
res = _a.sent();
|
|
106
|
+
info(res);
|
|
107
|
+
removeToken();
|
|
108
|
+
return [2 /*return*/];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}); };
|
|
112
|
+
var removeToken = function () {
|
|
113
|
+
setConfigValue('token', undefined);
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
login: login,
|
|
117
|
+
logout: logout,
|
|
118
|
+
removeToken: removeToken,
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
exports.default = getAuth;
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZXRBdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsaUVBQTJEO0FBRTNELDZFQUE2RTtBQUM3RSxJQUFNLE9BQU8sR0FBRyxVQUFDLE9BQXVCO0lBQ2hDLElBQUEsS0FBcUMsSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsRUFBNUQsY0FBYyxvQkFBQSxFQUFFLGNBQWMsb0JBQThCLENBQUE7SUFFbEUsSUFBQSxLQUNFLE9BQU8sTUFEYSxFQUFiLElBQUksVUFBQSxFQUFFLEtBQUssV0FBRSxDQUNiO0lBRVgsSUFBTSxLQUFLLEdBQUc7Ozs7d0JBQ00scUJBQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7d0JBQ3pDLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRSxPQUFPO3FCQUNqQixDQUFDLEVBQUE7O29CQUpNLEtBQUssR0FBSyxDQUFBLFNBSWhCLENBQUEsTUFKVztvQkFLYixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBRVUscUJBQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7NEJBQzVDLElBQUksRUFBRSxVQUFVOzRCQUNoQixJQUFJLEVBQUUsVUFBVTs0QkFDaEIsT0FBTyxFQUFFLFVBQVU7eUJBQ3BCLENBQUMsRUFBQTs7b0JBSk0sUUFBUSxHQUFLLENBQUEsU0FJbkIsQ0FBQSxTQUpjO29CQUtoQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBRVIsUUFBUSxHQUFHLHVCQUF1QixDQUFBO29CQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBRUQscUJBQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBQTs7b0JBQXZELElBQUksR0FBRyxTQUFnRDtvQkFDakQscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBTSxpQkFBaUIsRUFBRTs0QkFDbEQsS0FBSyxPQUFBOzRCQUNMLFFBQVEsVUFBQTs0QkFDUixJQUFJLEVBQUUsU0FBUzt5QkFDaEIsQ0FBQyxFQUFBOztvQkFKSSxHQUFHLEdBQUcsU0FJVjtvQkFFRixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO3dCQUN0QixLQUFLLENBQ0gscUVBQXFFLENBQ3RFLENBQUE7d0JBQ0QsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO3FCQUNmO29CQUVLLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtvQkFFakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO29CQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7b0JBRWpCLGNBQWMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBOzs7O1NBQzNDLENBQUE7SUFFRCxJQUFNLE1BQU0sR0FBRzs7Ozs7b0JBQ1AsS0FBSyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDckMsSUFBSSxDQUFDLGlCQUFVLEtBQUssQ0FBRSxDQUFDLENBQUE7b0JBRWpCLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQTtvQkFDM0IscUJBQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBQTs7b0JBQXZELElBQUksR0FBRyxTQUFnRDtvQkFDakQscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FDekIsa0JBQWtCLEVBQ2xCLEVBQUUsRUFDRjs0QkFDRSxPQUFPLEVBQUU7Z0NBQ1AsYUFBYSxFQUFFLEtBQUs7NkJBQ3JCO3lCQUNGLENBQ0YsRUFBQTs7b0JBUkssR0FBRyxHQUFHLFNBUVg7b0JBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUVULFdBQVcsRUFBRSxDQUFBOzs7O1NBQ2QsQ0FBQTtJQUVELElBQU0sV0FBVyxHQUFHO1FBQ2xCLGNBQWMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDcEMsQ0FBQyxDQUFBO0lBRUQsT0FBTztRQUNMLEtBQUssT0FBQTtRQUNMLE1BQU0sUUFBQTtRQUNOLFdBQVcsYUFBQTtLQUNaLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSxPQUFPLENBQUEifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var child_process_1 = require("child_process");
|
|
4
|
+
var getPkgManager = function () {
|
|
5
|
+
try {
|
|
6
|
+
var userAgent = process.env.npm_config_user_agent;
|
|
7
|
+
if (userAgent) {
|
|
8
|
+
if (userAgent.startsWith('yarn')) {
|
|
9
|
+
return 'yarn';
|
|
10
|
+
}
|
|
11
|
+
else if (userAgent.startsWith('pnpm')) {
|
|
12
|
+
return 'pnpm';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
(0, child_process_1.execSync)('yarn --version', { stdio: 'ignore' });
|
|
17
|
+
return 'yarn';
|
|
18
|
+
}
|
|
19
|
+
catch (_a) {
|
|
20
|
+
(0, child_process_1.execSync)('pnpm --version', { stdio: 'ignore' });
|
|
21
|
+
return 'pnpm';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (_b) {
|
|
25
|
+
return 'npm';
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.default = getPkgManager;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGtnTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZXRQa2dNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQXdDO0FBTXhDLElBQU0sYUFBYSxHQUFHO0lBQ3BCLElBQUk7UUFDRixJQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFBO1FBQ25ELElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLE1BQU0sQ0FBQTthQUNkO2lCQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkMsT0FBTyxNQUFNLENBQUE7YUFDZDtTQUNGO1FBQ0QsSUFBSTtZQUNGLElBQUEsd0JBQVEsRUFBQyxnQkFBZ0IsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQy9DLE9BQU8sTUFBTSxDQUFBO1NBQ2Q7UUFBQyxXQUFNO1lBQ04sSUFBQSx3QkFBUSxFQUFDLGdCQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDL0MsT0FBTyxNQUFNLENBQUE7U0FDZDtLQUNGO0lBQUMsV0FBTTtRQUNOLE9BQU8sS0FBSyxDQUFBO0tBQ2I7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSxhQUFhLENBQUEifQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var checkForUpdate = require("update-check");
|
|
40
|
+
var packageJson = require("../../package.json");
|
|
41
|
+
var getPkgManager_1 = require("./getPkgManager");
|
|
42
|
+
// based on function from runlify package
|
|
43
|
+
var update = checkForUpdate(packageJson).catch(function () { return null; });
|
|
44
|
+
var notifyUpdate = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
+
var res, pkgManager, _a;
|
|
46
|
+
return __generator(this, function (_b) {
|
|
47
|
+
switch (_b.label) {
|
|
48
|
+
case 0:
|
|
49
|
+
_b.trys.push([0, 2, , 3]);
|
|
50
|
+
return [4 /*yield*/, update];
|
|
51
|
+
case 1:
|
|
52
|
+
res = _b.sent();
|
|
53
|
+
if (res === null || res === void 0 ? void 0 : res.latest) {
|
|
54
|
+
pkgManager = (0, getPkgManager_1.default)();
|
|
55
|
+
console.log("\nA new version of `runlify` is available!\nYou can update by running: ".concat(pkgManager === 'yarn'
|
|
56
|
+
? 'yarn global add runlify'
|
|
57
|
+
: "".concat(pkgManager, " install --global runlify"), "\n"));
|
|
58
|
+
process.exit();
|
|
59
|
+
}
|
|
60
|
+
return [3 /*break*/, 3];
|
|
61
|
+
case 2:
|
|
62
|
+
_a = _b.sent();
|
|
63
|
+
return [3 /*break*/, 3];
|
|
64
|
+
case 3: return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); };
|
|
68
|
+
exports.default = notifyUpdate;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5VXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL25vdGlmeVVwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUE4QztBQUM5QyxnREFBaUQ7QUFDakQsaURBQTJDO0FBRTNDLHlDQUF5QztBQUV6QyxJQUFNLE1BQU0sR0FBSSxjQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksQ0FBQyxDQUFBO0FBRXJFLElBQU0sWUFBWSxHQUFHOzs7Ozs7Z0JBRUwscUJBQU0sTUFBTSxFQUFBOztnQkFBbEIsR0FBRyxHQUFHLFNBQVk7Z0JBQ3hCLElBQUksR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sRUFBRTtvQkFDVCxVQUFVLEdBQUcsSUFBQSx1QkFBYSxHQUFFLENBQUE7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUZBR1YsVUFBVSxLQUFLLE1BQU07d0JBQ25CLENBQUMsQ0FBQyx5QkFBeUI7d0JBQzNCLENBQUMsQ0FBQyxVQUFHLFVBQVUsOEJBQTJCLE9BRW5ELENBQUMsQ0FBQTtvQkFDSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7aUJBQ2Y7Ozs7Ozs7O0tBSUosQ0FBQTtBQUVELGtCQUFlLFlBQVksQ0FBQSJ9
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GluegunToolbox } from 'gluegun';
|
|
2
|
+
declare const getConfigService: (toolbox: GluegunToolbox) => {
|
|
3
|
+
getConfigPath: () => string;
|
|
4
|
+
writeConfig: (config: Record<string, any>) => void;
|
|
5
|
+
initConfig: () => void;
|
|
6
|
+
getConfig: () => any;
|
|
7
|
+
setConfigValue: (key: string, value: string) => void;
|
|
8
|
+
getConfigValue: (key: string) => any;
|
|
9
|
+
};
|
|
10
|
+
export default getConfigService;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GluegunToolbox } from 'gluegun';
|
|
2
|
+
declare const getEnvService: (toolbox: GluegunToolbox) => {
|
|
3
|
+
getEnvVariables: (projectId: string, environmentId: string, scopes: string[]) => Promise<{
|
|
4
|
+
[index: string]: unknown;
|
|
5
|
+
}>;
|
|
6
|
+
getAvailableEnvironments: (projectId: string) => Promise<any>;
|
|
7
|
+
};
|
|
8
|
+
export default getEnvService;
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ChildProcess } from 'child_process';
|
|
3
|
+
declare class TermSignals {
|
|
4
|
+
private readonly terminateSpawnedProcessFuncHandlers;
|
|
5
|
+
private readonly verbose;
|
|
6
|
+
_exitCalled: boolean;
|
|
7
|
+
constructor(options?: {
|
|
8
|
+
verbose?: boolean;
|
|
9
|
+
});
|
|
10
|
+
handleTermSignals(proc: ChildProcess): void;
|
|
11
|
+
/**
|
|
12
|
+
* Enables catching of unhandled exceptions
|
|
13
|
+
*/
|
|
14
|
+
handleUncaughtExceptions(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Terminate parent process helper
|
|
17
|
+
*/
|
|
18
|
+
_terminateProcess(code?: number, signal?: NodeJS.Signals): void;
|
|
19
|
+
/**
|
|
20
|
+
* Exit event listener clean up helper
|
|
21
|
+
*/
|
|
22
|
+
_removeProcessListeners(): void;
|
|
23
|
+
/**
|
|
24
|
+
* General exception handler
|
|
25
|
+
*/
|
|
26
|
+
_uncaughtExceptionHandler(e: Error): void;
|
|
27
|
+
}
|
|
28
|
+
export default TermSignals;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "runlify",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "runlify CLI",
|
|
5
5
|
"private": false,
|
|
6
6
|
"types": "build/types/types.d.ts",
|
|
@@ -28,16 +28,22 @@
|
|
|
28
28
|
],
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"
|
|
31
|
+
"appdata-path": "^1.0.0",
|
|
32
|
+
"change-case": "^4.1.2",
|
|
33
|
+
"cross-spawn": "^7.0.3",
|
|
34
|
+
"gluegun": "latest",
|
|
35
|
+
"nconf": "^0.12.0",
|
|
36
|
+
"ramda": "^0.28.0",
|
|
37
|
+
"update-check": "^1.5.4"
|
|
32
38
|
},
|
|
33
39
|
"devDependencies": {
|
|
34
|
-
"@types/
|
|
40
|
+
"@types/cross-spawn": "^6.0.2",
|
|
35
41
|
"@types/jest": "^26.0.20",
|
|
42
|
+
"@types/nconf": "^0.10.2",
|
|
43
|
+
"@types/node": "^12.7.11",
|
|
44
|
+
"@types/ramda": "^0.28.13",
|
|
36
45
|
"@typescript-eslint/eslint-plugin": "^4.17.0",
|
|
37
46
|
"@typescript-eslint/parser": "^4.17.0",
|
|
38
|
-
"ts-jest": "^26.5.3",
|
|
39
|
-
"ts-node": "^9.1.1",
|
|
40
|
-
"typescript": "^4.2.3",
|
|
41
47
|
"copyfiles": "^2.4.1",
|
|
42
48
|
"eslint": "^7.22.0",
|
|
43
49
|
"eslint-config-prettier": "^8.1.0",
|
|
@@ -45,7 +51,10 @@
|
|
|
45
51
|
"husky": "^5.1.3",
|
|
46
52
|
"jest": "^26.6.3",
|
|
47
53
|
"prettier": "^2.2.1",
|
|
48
|
-
"pretty-quick": "^3.1.0"
|
|
54
|
+
"pretty-quick": "^3.1.0",
|
|
55
|
+
"ts-jest": "^26.5.3",
|
|
56
|
+
"ts-node": "^9.1.1",
|
|
57
|
+
"typescript": "^4.2.3"
|
|
49
58
|
},
|
|
50
59
|
"jest": {
|
|
51
60
|
"preset": "ts-jest",
|