d2-ui
Version:
113 lines (81 loc) • 3.07 kB
JavaScript
exports.__esModule = true;
var _regenerator = require("babel-runtime/regenerator");
var _regenerator2 = _interopRequireDefault(_regenerator);
var _getIterator2 = require("babel-runtime/core-js/get-iterator");
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(packages) {
var foundDeps, foundDuplicated, duplicatedPackages, checkDep, _iterator, _isArray, _i, _ref2, pkg, msg, name;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
checkDep = function checkDep(name) {
if (name.indexOf("babel-") === 0 && foundDeps[name]) {
foundDuplicated = true;
duplicatedPackages[name] = (duplicatedPackages[name] || 0) + 1;
}
foundDeps[name] = true;
};
foundDeps = {};
foundDuplicated = false;
duplicatedPackages = {};
_iterator = packages, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);
case 5:
if (!_isArray) {
_context.next = 11;
break;
}
if (!(_i >= _iterator.length)) {
_context.next = 8;
break;
}
return _context.abrupt("break", 19);
case 8:
_ref2 = _iterator[_i++];
_context.next = 15;
break;
case 11:
_i = _iterator.next();
if (!_i.done) {
_context.next = 14;
break;
}
return _context.abrupt("break", 19);
case 14:
_ref2 = _i.value;
case 15:
pkg = _ref2;
checkDep(pkg.name);
case 17:
_context.next = 5;
break;
case 19:
if (!foundDuplicated) {
_context.next = 26;
break;
}
msg = "Found these duplicate packages:\n\n";
for (name in duplicatedPackages) {
msg += "- " + name + " x " + duplicatedPackages[name] + "\n";
}
msg += "\nRecommend running `npm dedupe`";
return _context.abrupt("return", [false, msg]);
case 26:
return _context.abrupt("return", [true, "No duplicate babel packages found"]);
case 27:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}();
module.exports = exports["default"];
;