UNPKG

jesse

Version:

An advanced cryptocurrency trading framework for TypeScript

48 lines 2.31 kB
"use strict"; 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 tellUserFolderExists_1 = __importDefault(require("./../utilities/tellUserFolderExists")); const loadNvm = 'export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \\. "$NVM_DIR/nvm.sh" && nvm use '; function makeProject(projectName, branch, force = false) { let projectDirectory = `${process.env.jesse_path}/${projectName}`; tellUserFolderExists_1.default(projectDirectory, 'project folder', force).then(() => { let hasNvm = ''; const spinner = ora_1.default(); spinner.start(`Creating ${projectName}`); 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 { exec_1.default(`cd ${projectDirectory} && cp .env.example .env && touch storage/db.sqlite`); spinner.succeed(`Created ${projectName}`); spinner.start('Running npm install.'); exec_1.default(`cd ${projectDirectory} && ${hasNvm ? `${loadNvm} &&` : ''} npm install`).then(() => { spinner.succeed(`NPM modules installed.`); spinner.succeed('Your instance of Jesse is ready. Happy trading!'); }, 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 = makeProject; //# sourceMappingURL=newProject.js.map