UNPKG

npm-upgrade

Version:

Interactive CLI utility to easily update outdated NPM dependencies

40 lines (38 loc) 1.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.askIgnoreFields = askIgnoreFields; exports.command = exports.builder = void 0; exports.createIgnoredModulesTable = createIgnoredModulesTable; exports.describe = void 0; var _keys2 = _interopRequireDefault(require("lodash/keys")); var _semver = _interopRequireDefault(require("semver")); var _askUser = _interopRequireDefault(require("../askUser")); var _cliTable = require("../cliTable"); var _cliStyles = require("../cliStyles"); const command = exports.command = 'ignore <command>'; const describe = exports.describe = 'Manage ignored modules'; const builder = yargs => yargs.commandDir('ignore').demandCommand(1, 'Provide valid command'); exports.builder = builder; function createIgnoredModulesTable(ignoredModulesConfig, moduleNames = (0, _keys2.default)(ignoredModulesConfig)) { const rows = moduleNames.map(moduleName => [(0, _cliStyles.strong)(moduleName), (0, _cliStyles.attention)(ignoredModulesConfig[moduleName].versions), ignoredModulesConfig[moduleName].reason]); // Table header rows.unshift(['', 'Ignored versions', 'Reason'].map(header => (0, _cliStyles.strong)(header))); return (0, _cliTable.createSimpleTable)(rows, { colAligns: 'lcl' }); } async function askIgnoreFields(defaultVersions) { return { versions: await (0, _askUser.default)({ message: 'Input version or version range to ignore', default: defaultVersions, validate: input => _semver.default.validRange(input) ? true : 'Input valid semver version range' }), reason: await (0, _askUser.default)({ message: 'Ignore reason' }) }; }