2016-05-30 00:29:30 +00:00
|
|
|
"use strict";
|
2016-07-18 14:56:53 +00:00
|
|
|
const plugins = require("./npmci.plugins");
|
2016-11-24 22:21:40 +00:00
|
|
|
const configModule = require("./npmci.config");
|
2016-07-18 14:56:53 +00:00
|
|
|
const npmci_bash_1 = require("./npmci.bash");
|
2016-08-02 21:11:42 +00:00
|
|
|
const npmci_bash_2 = require("./npmci.bash");
|
2016-07-18 14:56:53 +00:00
|
|
|
exports.install = (versionArg) => {
|
|
|
|
let done = plugins.q.defer();
|
2016-09-04 11:42:22 +00:00
|
|
|
plugins.beautylog.log(`now installing node version ${versionArg}`);
|
2016-07-18 14:56:53 +00:00
|
|
|
let version;
|
2016-11-15 20:57:18 +00:00
|
|
|
if (versionArg === 'stable') {
|
|
|
|
version = 'stable';
|
2016-06-29 21:18:51 +00:00
|
|
|
}
|
2016-11-15 20:57:18 +00:00
|
|
|
else if (versionArg === 'lts') {
|
|
|
|
version = '6';
|
2016-05-30 00:29:30 +00:00
|
|
|
}
|
2016-11-15 20:57:18 +00:00
|
|
|
else if (versionArg === 'legacy') {
|
2016-11-15 21:47:21 +00:00
|
|
|
version = '6';
|
2016-06-01 03:44:48 +00:00
|
|
|
}
|
2016-05-30 00:29:30 +00:00
|
|
|
else {
|
|
|
|
version = versionArg;
|
|
|
|
}
|
|
|
|
;
|
2016-08-02 21:11:42 +00:00
|
|
|
if (npmci_bash_2.nvmAvailable) {
|
|
|
|
npmci_bash_1.bash(`nvm install ${version} && nvm alias default ${version}`);
|
|
|
|
plugins.beautylog.success(`Node version ${version} successfully installed!`);
|
|
|
|
}
|
|
|
|
else {
|
2016-11-15 20:57:18 +00:00
|
|
|
plugins.beautylog.warn('Nvm not in path so staying at installed node version!');
|
2016-08-02 21:11:42 +00:00
|
|
|
}
|
|
|
|
;
|
2016-11-15 20:57:18 +00:00
|
|
|
npmci_bash_1.bash('node -v');
|
|
|
|
npmci_bash_1.bash('npm -v');
|
2016-11-24 22:21:40 +00:00
|
|
|
// lets look for further config
|
|
|
|
configModule.getConfig()
|
|
|
|
.then(config => {
|
|
|
|
for (let npmTool of config.globalNpmTools) {
|
2016-11-25 21:34:28 +00:00
|
|
|
let whichOutput = npmci_bash_1.bash(`which ${npmTool}`);
|
|
|
|
let toolAvailable = !(/not found/.test(whichOutput));
|
|
|
|
if (toolAvailable) {
|
|
|
|
plugins.beautylog.log(`Tool ${npmTool} is available`);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
plugins.beautylog.info(`globally installing ${npmTool} from npm`);
|
2016-11-25 21:44:49 +00:00
|
|
|
npmci_bash_1.bash(`npm install ${npmTool} -q -g`);
|
2016-11-25 21:34:28 +00:00
|
|
|
}
|
2016-11-24 22:21:40 +00:00
|
|
|
}
|
|
|
|
done.resolve();
|
|
|
|
});
|
2016-05-30 00:29:30 +00:00
|
|
|
return done.promise;
|
|
|
|
};
|
2016-11-25 21:44:49 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJDQUEwQztBQUMxQywrQ0FBOEM7QUFDOUMsNkNBQW1DO0FBQ25DLDZDQUEyQztBQUNoQyxRQUFBLE9BQU8sR0FBRyxDQUFDLFVBQVU7SUFDNUIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM1QixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxJQUFJLE9BQWUsQ0FBQTtJQUNuQixFQUFFLENBQUMsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxQixPQUFPLEdBQUcsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUNqQixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxHQUFHLENBQUE7SUFDakIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBQUEsQ0FBQztJQUNGLEVBQUUsQ0FBQyxDQUFDLHlCQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2YsaUJBQUksQ0FBQyxlQUFlLE9BQU8seUJBQXlCLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDOUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLE9BQU8sMEJBQTBCLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNmLGlCQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFZCwrQkFBK0I7SUFDL0IsWUFBWSxDQUFDLFNBQVMsRUFBRTtTQUNuQixJQUFJLENBQUMsTUFBTTtRQUNSLEdBQUcsQ0FBQyxDQUFDLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksV0FBVyxHQUFHLGlCQUFJLENBQUMsU0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBQzFDLElBQUksYUFBYSxHQUFZLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7WUFDN0QsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxPQUFPLGVBQWUsQ0FBQyxDQUFBO1lBQ3pELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsT0FBTyxXQUFXLENBQUMsQ0FBQTtnQkFDakUsaUJBQUksQ0FBQyxlQUFlLE9BQU8sUUFBUSxDQUFDLENBQUE7WUFDeEMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDbEIsQ0FBQyxDQUFDLENBQUE7SUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUN2QixDQUFDLENBQUEifQ==
|