update nvm detection
This commit is contained in:
parent
8736530920
commit
28054b17fc
10
dist/npmci.bash.js
vendored
10
dist/npmci.bash.js
vendored
@ -4,11 +4,15 @@ const plugins = require("./npmci.plugins");
|
|||||||
let nvmSourceString = "";
|
let nvmSourceString = "";
|
||||||
exports.nvmAvailable = false;
|
exports.nvmAvailable = false;
|
||||||
let checkNvm = () => {
|
let checkNvm = () => {
|
||||||
let nvmExecCode = plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`).code;
|
if (plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`, { silent: true }).code === 0) {
|
||||||
if (nvmExecCode === 0) {
|
|
||||||
nvmSourceString = `source /usr/local/nvm/nvm.sh && `;
|
nvmSourceString = `source /usr/local/nvm/nvm.sh && `;
|
||||||
exports.nvmAvailable = true;
|
exports.nvmAvailable = true;
|
||||||
}
|
}
|
||||||
|
else if (plugins.shelljs.exec(`bash -c "source ~/.nvm/nvm.sh"`, { silent: true }).code === 0) {
|
||||||
|
nvmSourceString = `source ~/.nvm/nvm.sh && `;
|
||||||
|
exports.nvmAvailable = true;
|
||||||
|
}
|
||||||
|
;
|
||||||
};
|
};
|
||||||
checkNvm();
|
checkNvm();
|
||||||
exports.bash = (commandArg, retryArg = 2, bareArg = false) => {
|
exports.bash = (commandArg, retryArg = 2, bareArg = false) => {
|
||||||
@ -45,4 +49,4 @@ exports.bash = (commandArg, retryArg = 2, bareArg = false) => {
|
|||||||
exports.bashBare = (commandArg, retryArg = 2) => {
|
exports.bashBare = (commandArg, retryArg = 2) => {
|
||||||
return exports.bash(commandArg, retryArg, true);
|
return exports.bash(commandArg, retryArg, true);
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRzNDLElBQUksZUFBZSxHQUFVLEVBQUUsQ0FBQztBQUNyQixvQkFBWSxHQUFXLEtBQUssQ0FBQztBQUN4QyxJQUFJLFFBQVEsR0FBRztJQUNYLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RGLEVBQUUsQ0FBQSxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQ2xCLGVBQWUsR0FBRyxrQ0FBa0MsQ0FBQTtRQUNwRCxvQkFBWSxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsUUFBUSxFQUFFLENBQUM7QUFFQSxZQUFJLEdBQUcsQ0FBQyxVQUFpQixFQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUMsT0FBTyxHQUFHLEtBQUs7SUFDN0QsSUFBSSxRQUFlLENBQUM7SUFDcEIsSUFBSSxNQUFhLENBQUM7SUFDbEIsSUFBSSxVQUFVLENBQUM7SUFDZixFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDO1lBQ2hDLEVBQUUsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztnQkFDVCxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdCLFlBQVksZUFBZSxJQUFJLFVBQVUsR0FBRyxDQUMvQyxDQUFDO1lBQ04sQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsUUFBUSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0IsRUFBRSxDQUFBLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDO2dCQUNyQixDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFEQUFxRDtZQUMzRSxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2xGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEdBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUYsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFBO0FBRVUsZ0JBQVEsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLEdBQUcsQ0FBQztJQUMxQyxNQUFNLENBQUMsWUFBSSxDQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFBIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRzNDLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQztBQUN0QixvQkFBWSxHQUFZLEtBQUssQ0FBQztBQUN6QyxJQUFJLFFBQVEsR0FBRztJQUNYLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxFQUFDLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsZUFBZSxHQUFHLGtDQUFrQyxDQUFBO1FBQ3BELG9CQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUMsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixlQUFlLEdBQUcsMEJBQTBCLENBQUE7UUFDNUMsb0JBQVksR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUFBLENBQUM7QUFDTixDQUFDLENBQUM7QUFDRixRQUFRLEVBQUUsQ0FBQztBQUVBLFlBQUksR0FBRyxDQUFDLFVBQWtCLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsS0FBSztJQUNoRSxJQUFJLFFBQWdCLENBQUM7SUFDckIsSUFBSSxNQUFjLENBQUM7SUFDbkIsSUFBSSxVQUFVLENBQUM7SUFDZixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDWCxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdCLFlBQVksZUFBZSxJQUFJLFVBQVUsR0FBRyxDQUMvQyxDQUFDO1lBQ04sQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsUUFBUSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0IsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFEQUFxRDtZQUMzRSxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2xGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDekYsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFBO0FBRVUsZ0JBQVEsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQztJQUMzQyxNQUFNLENBQUMsWUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFBIn0=
|
14
dist/npmci.install.js
vendored
14
dist/npmci.install.js
vendored
@ -2,6 +2,7 @@
|
|||||||
require("typings-global");
|
require("typings-global");
|
||||||
const plugins = require("./npmci.plugins");
|
const plugins = require("./npmci.plugins");
|
||||||
const npmci_bash_1 = require("./npmci.bash");
|
const npmci_bash_1 = require("./npmci.bash");
|
||||||
|
const npmci_bash_2 = require("./npmci.bash");
|
||||||
exports.install = (versionArg) => {
|
exports.install = (versionArg) => {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
||||||
@ -19,12 +20,17 @@ exports.install = (versionArg) => {
|
|||||||
version = versionArg;
|
version = versionArg;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
npmci_bash_1.bash("nvm install " + version +
|
if (npmci_bash_2.nvmAvailable) {
|
||||||
" && nvm alias default " + version);
|
npmci_bash_1.bash(`nvm install ${version} && nvm alias default ${version}`);
|
||||||
plugins.beautylog.success("Node version " + version + " successfully installed!");
|
plugins.beautylog.success(`Node version ${version} successfully installed!`);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.warn("Nvm not in path so staying at installed node version!");
|
||||||
|
}
|
||||||
|
;
|
||||||
npmci_bash_1.bash("node -v");
|
npmci_bash_1.bash("node -v");
|
||||||
npmci_bash_1.bash("npm -v");
|
npmci_bash_1.bash("npm -v");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDZCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsQ0FBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztRQUN2QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFBLENBQUM7UUFDM0IsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUFDLElBQUksQ0FBRSxDQUFDO1FBQ0wsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQUEsQ0FBQztJQUNGLGlCQUFJLENBQ0EsY0FBYyxHQUFHLE9BQU87UUFDeEIsd0JBQXdCLEdBQUcsT0FBTyxDQUNyQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGlCQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEIsaUJBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDZCQUFxQixjQUFjLENBQUMsQ0FBQTtBQUNwQyw2QkFBNkIsY0FFN0IsQ0FBQyxDQUYwQztBQUVoQyxlQUFPLEdBQUcsQ0FBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWUsQ0FBQztJQUNwQixFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQUEsQ0FBQztJQUNGLEVBQUUsQ0FBQyxDQUFDLHlCQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2YsaUJBQUksQ0FBQyxlQUFlLE9BQU8seUJBQXlCLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDOUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLE9BQU8sMEJBQTBCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQixpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIn0=
|
8
npmextra.json
Normal file
8
npmextra.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"npmts":{
|
||||||
|
"mode":"default"
|
||||||
|
},
|
||||||
|
"npmdocker":{
|
||||||
|
"baseImage":"hosttoday/ht-docker-node:npmts"
|
||||||
|
}
|
||||||
|
}
|
@ -2,24 +2,26 @@ import "typings-global";
|
|||||||
import * as plugins from "./npmci.plugins";
|
import * as plugins from "./npmci.plugins";
|
||||||
|
|
||||||
|
|
||||||
let nvmSourceString:string = "";
|
let nvmSourceString: string = "";
|
||||||
export let nvmAvailable:boolean = false;
|
export let nvmAvailable: boolean = false;
|
||||||
let checkNvm = () => {
|
let checkNvm = () => {
|
||||||
let nvmExecCode = plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`).code;
|
if (plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`,{silent:true}).code === 0) {
|
||||||
if(nvmExecCode === 0){
|
|
||||||
nvmSourceString = `source /usr/local/nvm/nvm.sh && `
|
nvmSourceString = `source /usr/local/nvm/nvm.sh && `
|
||||||
nvmAvailable = true;
|
nvmAvailable = true;
|
||||||
}
|
} else if (plugins.shelljs.exec(`bash -c "source ~/.nvm/nvm.sh"`,{silent:true}).code === 0) {
|
||||||
|
nvmSourceString = `source ~/.nvm/nvm.sh && `
|
||||||
|
nvmAvailable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
checkNvm();
|
checkNvm();
|
||||||
|
|
||||||
export let bash = (commandArg:string,retryArg = 2,bareArg = false) => {
|
export let bash = (commandArg: string, retryArg = 2, bareArg = false) => {
|
||||||
let exitCode:number;
|
let exitCode: number;
|
||||||
let stdOut:string;
|
let stdOut: string;
|
||||||
let execResult;
|
let execResult;
|
||||||
if(!process.env.NPMTS_TEST){ // NPMTS_TEST is used during testing
|
if (!process.env.NPMTS_TEST) { // NPMTS_TEST is used during testing
|
||||||
for (let i = 0; i <= retryArg; i++){
|
for (let i = 0; i <= retryArg; i++) {
|
||||||
if(!bareArg){
|
if (!bareArg) {
|
||||||
execResult = plugins.shelljs.exec(
|
execResult = plugins.shelljs.exec(
|
||||||
`bash -c "${nvmSourceString} ${commandArg}"`
|
`bash -c "${nvmSourceString} ${commandArg}"`
|
||||||
);
|
);
|
||||||
@ -28,13 +30,13 @@ export let bash = (commandArg:string,retryArg = 2,bareArg = false) => {
|
|||||||
}
|
}
|
||||||
exitCode = execResult.code;
|
exitCode = execResult.code;
|
||||||
stdOut = execResult.stdout;
|
stdOut = execResult.stdout;
|
||||||
if(exitCode !== 0 && i == retryArg){
|
if (exitCode !== 0 && i == retryArg) {
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
} else if(exitCode == 0){
|
} else if (exitCode == 0) {
|
||||||
i = retryArg + 1; // if everything works out ok retrials are not wanted
|
i = retryArg + 1; // if everything works out ok retrials are not wanted
|
||||||
} else {
|
} else {
|
||||||
plugins.beautylog.warn("Something went wrong! Exit Code: " + exitCode.toString());
|
plugins.beautylog.warn("Something went wrong! Exit Code: " + exitCode.toString());
|
||||||
plugins.beautylog.info("Retry " + (i + 1).toString() + " of " + retryArg.toString());
|
plugins.beautylog.info("Retry " + (i + 1).toString() + " of " + retryArg.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -43,6 +45,6 @@ export let bash = (commandArg:string,retryArg = 2,bareArg = false) => {
|
|||||||
return stdOut;
|
return stdOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
export let bashBare = (commandArg,retryArg = 2) => {
|
export let bashBare = (commandArg, retryArg = 2) => {
|
||||||
return bash(commandArg,retryArg,true);
|
return bash(commandArg, retryArg, true);
|
||||||
}
|
}
|
@ -1,25 +1,27 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
import * as plugins from "./npmci.plugins";
|
import * as plugins from "./npmci.plugins";
|
||||||
import {bash} from "./npmci.bash";
|
import { bash } from "./npmci.bash";
|
||||||
|
import { nvmAvailable } from "./npmci.bash"
|
||||||
|
|
||||||
export let install = (versionArg) => {
|
export let install = (versionArg) => {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
||||||
let version:string;
|
let version: string;
|
||||||
if(versionArg == "stable"){
|
if (versionArg == "stable") {
|
||||||
version = "6.3.0";
|
version = "6.3.0";
|
||||||
} else if(versionArg == "lts"){
|
} else if (versionArg == "lts") {
|
||||||
version = "6.3.0";
|
version = "6.3.0";
|
||||||
} else if(versionArg == "legacy"){
|
} else if (versionArg == "legacy") {
|
||||||
version = "6.3.0"
|
version = "6.3.0"
|
||||||
} else {
|
} else {
|
||||||
version = versionArg;
|
version = versionArg;
|
||||||
};
|
};
|
||||||
bash(
|
if (nvmAvailable) {
|
||||||
"nvm install " + version +
|
bash(`nvm install ${version} && nvm alias default ${version}`)
|
||||||
" && nvm alias default " + version
|
plugins.beautylog.success(`Node version ${version} successfully installed!`);
|
||||||
);
|
} else {
|
||||||
plugins.beautylog.success("Node version " + version + " successfully installed!");
|
plugins.beautylog.warn("Nvm not in path so staying at installed node version!");
|
||||||
|
};
|
||||||
bash("node -v");
|
bash("node -v");
|
||||||
bash("npm -v");
|
bash("npm -v");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
|
Loading…
Reference in New Issue
Block a user