npm-upgrade
Version:
Interactive CLI utility to easily update outdated NPM dependencies
55 lines (54 loc) • 2.43 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.handler = exports.describe = exports.command = void 0;
var _omit2 = _interopRequireDefault(require("lodash/omit"));
var _includes2 = _interopRequireDefault(require("lodash/includes"));
var _partition2 = _interopRequireDefault(require("lodash/partition"));
var _keys2 = _interopRequireDefault(require("lodash/keys"));
var _catchAsyncError = _interopRequireDefault(require("../../catchAsyncError"));
var _askUser = _interopRequireDefault(require("../../askUser"));
var _cliStyles = require("../../cliStyles");
var _ignore = require("../ignore");
var _Config = _interopRequireDefault(require("../../Config"));
const command = exports.command = 'reset [modules...]';
const describe = exports.describe = 'Reset ignored modules';
const handler = exports.handler = (0, _catchAsyncError.default)(async opts => {
let {
modules: modulesToReset
} = opts;
let invalidModules = [];
const config = new _Config.default();
const ignoredModules = (0, _keys2.default)(config.ignore);
console.log(`Currently ignored modules:\n\n${(0, _ignore.createIgnoredModulesTable)(config.ignore)}\n`);
if (modulesToReset.length) {
[modulesToReset, invalidModules] = (0, _partition2.default)(modulesToReset, moduleName => (0, _includes2.default)(ignoredModules, moduleName));
if (invalidModules.length) {
console.log((0, _cliStyles.attention)(`These modules are not in the ignored list: ${(0, _cliStyles.strong)(invalidModules.join(', '))}\n`));
}
}
if (!modulesToReset.length || invalidModules.length) {
modulesToReset = await (0, _askUser.default)({
type: 'checkbox',
message: 'Select ignored modules to reset:',
choices: ignoredModules,
default: modulesToReset
});
console.log();
}
if (!modulesToReset.length) {
return console.log((0, _cliStyles.attention)('Nothing to reset'));
}
console.log(`These ignored modules will be reset:\n\n${(0, _ignore.createIgnoredModulesTable)(config.ignore, modulesToReset)}\n`);
const confirm = await (0, _askUser.default)({
message: 'Are you sure?',
type: 'confirm',
default: false
});
if (!confirm) return;
config.ignore = (0, _omit2.default)(config.ignore, modulesToReset);
config.save();
console.log((0, _cliStyles.success)('\nDone!'));
});