npm-upgrade
Version:
Interactive CLI utility to easily update outdated NPM dependencies
40 lines (38 loc) • 1.74 kB
JavaScript
;
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'
})
};
}