@gdjiami/cli
Version:
CLI for build front end project.
77 lines (76 loc) • 3.57 kB
JavaScript
;
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)}');
}
});