UNPKG

@gdjiami/cli

Version:

CLI for build front end project.

77 lines (76 loc) 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.localUpgrade = exports.globalUpgrade = void 0; var tslib_1 = require("tslib"); /** * upgrade self */ var chalk_1 = tslib_1.__importDefault(require("chalk")); var fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); var child_process_1 = require("child_process"); var paths_1 = tslib_1.__importDefault(require("../paths")); var ora_1 = tslib_1.__importDefault(require("ora")); var upgrade_1 = require("../services/upgrade"); var utils_1 = require("../utils"); function globalUpgrade(useYarn, level, pkg, dryRun) { utils_1.message.info("Current verison: " + pkg.version); var list = useYarn ? upgrade_1.getYarnGlobalInstallPackages() : upgrade_1.getNpmGlobalInstallPackages(); var name = pkg.name, version = pkg.version; if (!(name in list)) { throw new Error(chalk_1.default.red(chalk_1.default.cyan(name) + " is not installed globally in " + (useYarn ? 'yarn' : 'npm'))); } var _a = upgrade_1.getUpgradableVersion(name, version, level), newRange = _a[0], upgradable = _a[1]; if (upgradable) { utils_1.message.info("New version " + chalk_1.default.cyan(newRange) + " founded."); var cmd = useYarn ? "yarn global add \"" + name + "@" + newRange + "\"" : "npm install -g \"" + name + "@" + newRange + "\""; if (dryRun) { return; } var spinner = ora_1.default({ text: 'Upgrading...' }).start(); child_process_1.execSync(cmd, { stdio: ['ignore', 'ignore', 'inherit'] }); spinner.stopAndPersist({ text: '✨ Upgrade Success!' }); } else { utils_1.message.info("Already up-to-date"); } } exports.globalUpgrade = globalUpgrade; function localUpgrade(useYarn, level, pkg, dryRun) { var name = pkg.name; var version = upgrade_1.getLocalVersion(name); utils_1.message.info("Current verison: " + version); var _a = upgrade_1.getUpgradableVersion(name, version, level), newRange = _a[0], upgradable = _a[1]; if (upgradable) { utils_1.message.info("New version " + chalk_1.default.cyan(newRange) + " founded."); if (dryRun) { return; } var cmd = useYarn ? "yarn add \"" + name + "@" + newRange + "\" -D" : "npm install \"" + name + "@" + newRange + "\" --save-dev"; var spinner = ora_1.default({ text: 'Upgrading...' }).start(); child_process_1.execSync(cmd, { stdio: ['ignore', 'ignore', 'inherit'] }); spinner.stopAndPersist({ text: '✨ Upgrade Success!' }); } else { utils_1.message.info("Already up-to-date"); } } exports.localUpgrade = localUpgrade; exports.default = (function (argv) { var useYarn = argv.yarn == null ? utils_1.shouldUseYarn() : argv.yarn; var pkg = fs_extra_1.default.readJsonSync(paths_1.default.ownPackageJson); var global = argv.global; var level = argv.level || (argv.global ? 'major' : 'minor'); try { if (global) { utils_1.message.info("Gathering package infos for global " + chalk_1.default.cyan(pkg.name) + "..."); globalUpgrade(useYarn, level, pkg, !!argv.dryRun); } else { utils_1.message.info("Gathering package infos for local " + chalk_1.default.cyan(pkg.name) + "..."); localUpgrade(useYarn, level, pkg, !!argv.dryRun); } } catch (err) { utils_1.message.error('Failed to upgrade: ${chalk.white(err.message || err)}'); } });