npm-reinstall
Version:
Just reinstall npm package.
91 lines (90 loc) • 3.54 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var chalk_1 = __importDefault(require("chalk"));
var yargs_1 = __importDefault(require("yargs"));
var notifier_1 = __importDefault(require("./lib/notifier"));
var reinstall_1 = __importDefault(require("./reinstall"));
var cyan = chalk_1.default.cyan, green = chalk_1.default.green, yellow = chalk_1.default.yellow;
var COMMAND = green('reinstall');
var repo = 'https://github.com/gluons/npm-reinstall';
notifier_1.default();
function createMutuallyExclusiveError() {
var options = [];
for (var _i = 0; _i < arguments.length; _i++) {
options[_i] = arguments[_i];
}
if (options.length <= 1) {
return null;
}
var coloredOptions = options.map(function (option) { return yellow(option); });
var lastOption = coloredOptions.pop();
var optionsStr = coloredOptions.join(', ') + " and " + lastOption;
var errMsg = "\u2139\uFE0F Options " + optionsStr + " are mutually exclusive";
return new Error(errMsg);
}
var argv = yargs_1.default
.usage("Usage: " + COMMAND + " [options] " + cyan('<package> ...'))
.help()
.alias('help', 'h')
.version()
.alias('version', 'V')
.example(COMMAND, 'Reinstall all local packages in current working directory.')
// Global
.boolean('global')
.group('global', 'Dependency Options:')
.alias('global', 'g')
.describe('global', 'Reinstall global package')
.example(COMMAND + " --global " + cyan('vue-cli'), "Reinstall " + cyan('vue-cli') + " globally")
// Save
.boolean('save')
.group('save', 'Dependency Options:')
.alias('save', 'S')
.describe('save', 'Reinstall package in dependencies')
.example(COMMAND + " --save " + cyan('vue'), "Reinstall " + cyan('vue') + " as dependencies")
// Save Dev
.boolean('save-dev')
.group('save-dev', 'Dependency Options:')
.alias('save-dev', 'D')
.describe('save-dev', 'Reinstall package in devDependencies')
.example(COMMAND + " --save-dev " + cyan('vue-loader'), "Reinstall " + cyan('vue-loader') + " as devDependencies")
.boolean('npm')
.alias('npm', 'n')
.describe('npm', 'Force to use npm')
.boolean('yarn')
.alias('yarn', 'y')
.describe('yarn', 'Force to use Yarn')
.boolean('pnpm')
.alias('pnpm', 'p')
.describe('pnpm', 'Force to use pnpm')
.boolean('verbose')
.alias('verbose', 'v')
.describe('verbose', 'Display more information')
.epilog("\u2B50 Star me at " + repo + " \uD83D\uDE03")
.check(function (parsedArgv) {
var global = parsedArgv.global;
var save = parsedArgv.save;
var saveDev = parsedArgv['save-dev'];
var npm = parsedArgv.npm;
var yarn = parsedArgv.yarn;
if (global && save) {
throw createMutuallyExclusiveError('global', 'save');
}
if (global && saveDev) {
throw createMutuallyExclusiveError('global', 'save-dev');
}
if (save && saveDev) {
throw createMutuallyExclusiveError('save', 'save-dev');
}
if (global && save && saveDev) {
throw createMutuallyExclusiveError('global', 'save', 'save-dev');
}
if (npm && yarn) {
throw createMutuallyExclusiveError('npm', 'yarn');
}
return true;
}).argv;
reinstall_1.default(argv);