UNPKG

npm-upgrade

Version:

Interactive CLI utility to easily update outdated NPM dependencies

55 lines (54 loc) 2.43 kB
"use strict"; 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!')); });