JezK
Edit File: info.js
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.hasWrapper = hasWrapper; exports.run = run; exports.setFlags = setFlags; function _regenerator() { var data = _interopRequireDefault(require("@babel/runtime/regenerator")); _regenerator = function _regenerator() { return data; }; return data; } function _asyncToGenerator2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); _asyncToGenerator2 = function _asyncToGenerator2() { return data; }; return data; } function _typeof2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); _typeof2 = function _typeof2() { return data; }; return data; } function _npmRegistry() { var data = _interopRequireDefault(require("../../registries/npm-registry.js")); _npmRegistry = function _npmRegistry() { return data; }; return data; } function _parsePackageName2() { var data = _interopRequireDefault(require("../../util/parse-package-name.js")); _parsePackageName2 = function _parsePackageName2() { return data; }; return data; } var semver = require('semver'); function clean(object) { if (Array.isArray(object)) { var result = []; object.forEach(function (item) { item = clean(item); if (item) { result.push(item); } }); return result; } else if ((0, _typeof2()["default"])(object) === 'object') { var _result = {}; for (var key in object) { if (key.startsWith('_')) { continue; } var item = clean(object[key]); if (item) { _result[key] = item; } } return _result; } else if (object) { return object; } else { return null; } } function setFlags(commander) { commander.description('Shows information about a package.'); } function hasWrapper(commander, args) { return true; } function run(_x, _x2, _x3, _x4, _x5) { return _run.apply(this, arguments); } function _run() { _run = (0, _asyncToGenerator2()["default"])( /*#__PURE__*/_regenerator()["default"].mark(function _callee(config, reporter, commander, flags, args) { var packageName, packageInput, _parsePackageName, name, version, result, versions, fieldPath, fields; return _regenerator()["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!(args.length > 2)) { _context.next = 3; break; } reporter.error(reporter.lang('tooManyArguments', 2)); return _context.abrupt("return"); case 3: packageName = args.shift() || '.'; // Handle the case when we are referencing a local package. if (!(packageName === '.')) { _context.next = 8; break; } _context.next = 7; return config.readRootManifest(); case 7: packageName = _context.sent.name; case 8: packageInput = _npmRegistry()["default"].escapeName(packageName); _parsePackageName = (0, _parsePackageName2()["default"])(packageInput), name = _parsePackageName.name, version = _parsePackageName.version; _context.prev = 10; _context.next = 13; return config.registries.npm.request(name, { unfiltered: true }); case 13: result = _context.sent; _context.next = 20; break; case 16: _context.prev = 16; _context.t0 = _context["catch"](10); reporter.error(reporter.lang('infoFail')); return _context.abrupt("return"); case 20: if (result) { _context.next = 23; break; } reporter.error(reporter.lang('infoFail')); return _context.abrupt("return"); case 23: result = clean(result); versions = result.versions; // $FlowFixMe result.versions = Object.keys(versions).sort(semver.compareLoose); result.version = version || result['dist-tags'].latest; result = Object.assign(result, versions[result.version]); fieldPath = args.shift(); fields = fieldPath ? fieldPath.split('.') : []; // Readmes can be long so exclude them unless explicitly asked for. if (fields[0] !== 'readme') { delete result.readme; } result = fields.reduce(function (prev, cur) { return prev && prev[cur]; }, result); reporter.inspect(result); case 33: case "end": return _context.stop(); } }, _callee, null, [[10, 16]]); })); return _run.apply(this, arguments); } //# sourceMappingURL=info.js.map