UNPKG

1.69 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6exports.uniq = exports.parseExitCode = exports.lastLine = exports.runInstall = exports.runVersion = exports.runCommand = exports.loadVersion = exports.trim = void 0;
7const then_exec_1 = __importDefault(require("then-exec"));
8function trim(string) {
9 return string.replace(/^\s+|\s+$/g, '');
10}
11exports.trim = trim;
12function loadVersion(version) {
13 return (0, then_exec_1.default)(`unset npm_config_prefix && . ~/.nvm/nvm.sh && nvm use ${version}`);
14}
15exports.loadVersion = loadVersion;
16function runCommand(version, command) {
17 return (0, then_exec_1.default)(`unset npm_config_prefix && . ~/.nvm/nvm.sh && nvm use ${version} && ${command}`);
18}
19exports.runCommand = runCommand;
20function runVersion(version) {
21 return runCommand(version, "node -e 'process.stdout.write(process.versions.node)'");
22}
23exports.runVersion = runVersion;
24function runInstall(version) {
25 return (0, then_exec_1.default)(`unset npm_config_prefix && . ~/.nvm/nvm.sh && nvm install --no-progress ${version}`);
26}
27exports.runInstall = runInstall;
28function lastLine(string) {
29 return string.toString().trim().split('\n').slice(-1)[0].trim();
30}
31exports.lastLine = lastLine;
32function parseExitCode(code) {
33 // needed, as sometimes error codes aren't numbers :angry_face:
34 const number = Number(code);
35 if (isNaN(number))
36 return null;
37 return number;
38}
39exports.parseExitCode = parseExitCode;
40function uniq(array) {
41 return [...new Set(array)];
42}
43exports.uniq = uniq;