jesse
Version:
An advanced cryptocurrency trading framework for TypeScript
45 lines • 1.96 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ora_1 = __importDefault(require("ora"));
const exec_1 = __importDefault(require("./../utilities/exec"));
const download_git_repo_1 = __importDefault(require("download-git-repo"));
const loadNvm = 'export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \\. "$NVM_DIR/nvm.sh" && nvm use ';
function upgradeProject() {
let projectDirectory = `${process.env.jesse_path}`;
let branch = 'master';
let hasNvm = '';
const spinner = ora_1.default();
spinner.start(`Upgrading Jesse`);
let startDownload = () => {
download_git_repo_1.default(`jesse-ai/jesse${typeof branch === 'string' ? `#${branch}` : ''}`, projectDirectory, function (err) {
if (err) {
spinner.fail('Failed to download jesse : ' + err.message.trim());
}
else {
spinner.succeed(`Downloaded latest version of Jesse`);
spinner.start('Running npm install.');
exec_1.default(`cd ${projectDirectory} && ${hasNvm ? `${loadNvm} &&` : ''} npm install`).then(() => {
spinner.succeed(`NPM modules installed (ic case there was any new package needed).`);
spinner.succeed('Your instance of Jesse is ready. Enjoy all the new goodies added with this upgrade ;)');
}, err => {
spinner.fail(err);
});
}
});
};
exec_1.default(`${loadNvm} command -v nvm`)
.then(result => {
if (result.trim() === 'nvm') {
hasNvm = `${loadNvm}`;
}
startDownload();
})
.catch(function (e) {
startDownload();
});
}
exports.default = upgradeProject;
//# sourceMappingURL=upgradeProject.js.map