UNPKG

create-rx-app

Version:
55 lines (54 loc) 2.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PackageManager = void 0; var chalk_1 = __importDefault(require("chalk")); var child_process_1 = require("child_process"); var exit = process.exit; var PackageManager = /** @class */ (function () { function PackageManager(yarn) { this.yarn = yarn; } PackageManager.prototype.install = function (deps, description, saveDev) { if (saveDev === void 0) { saveDev = false; } var command = this.buildCommand(deps, saveDev); console.log(this.buildDescription(description)); console.log(chalk_1.default.grey.bold('%s'), command); try { child_process_1.execSync(command, { stdio: 'inherit' }); } catch (_a) { console.log(chalk_1.default.red.bold('Dependencies were not installed, please try to create a project again.')); exit(1); } }; PackageManager.prototype.buildDescription = function (description) { return [ chalk_1.default.blue.bold(['[', this.yarn ? 'yarn' : 'npm', ']'].join('')), chalk_1.default.white.bold([this.yarn ? 'adding' : 'installing', (description || '') + "..."].join(' ')), ].join(' '); }; PackageManager.prototype.buildCommand = function (deps, saveDev) { var packages = this.normalizeDependencies(deps); if (this.yarn) { return ['yarn', 'add', packages, '--exact', saveDev ? '--dev' : ''].join(' '); } return [ 'npm', 'i', packages, '--save-exact', '--loglevel=error', saveDev ? '--save-dev' : '', ].join(' '); }; PackageManager.prototype.normalizeDependencies = function (deps) { return Object.keys(deps) .map(function (key) { return key + "@" + deps[key]; }) .join(' '); }; return PackageManager; }()); exports.PackageManager = PackageManager;