@dot-event/version
Version:
dot-event package version operation
91 lines (77 loc) • 2.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addDeps = addDeps;
exports.addDep = addDep;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _semver = _interopRequireDefault(require("semver"));
// Packages
function addDeps(_x) {
return _addDeps.apply(this, arguments);
}
function _addDeps() {
_addDeps = (0, _asyncToGenerator2.default)(function* (options) {
const {
events,
props
} = options;
const {
deps,
devDeps,
name,
version
} = events.get(props);
yield addDep((0, _objectSpread2.default)({}, options, {
name,
version
}));
const dependencies = Object.keys(deps).concat(Object.keys(devDeps));
yield Promise.all(dependencies.map(
/*#__PURE__*/
function () {
var _ref = (0, _asyncToGenerator2.default)(function* (dep) {
const prod = fixDep(deps[dep]);
const dev = fixDep(devDeps[dep]);
const version = _semver.default.gt(prod, dev) ? prod : dev;
yield addDep((0, _objectSpread2.default)({}, options, {
name: dep,
version
}));
});
return function (_x3) {
return _ref.apply(this, arguments);
};
}()));
});
return _addDeps.apply(this, arguments);
}
function addDep(_x2) {
return _addDep.apply(this, arguments);
}
function _addDep() {
_addDep = (0, _asyncToGenerator2.default)(function* (options) {
const {
events,
name,
version
} = options;
if (!name || !version) {
return;
}
yield events.set(["deps", name], () => {
const current = fixDep(events.get(["deps", name]));
return fixDep(_semver.default.gt(current, version) ? current : version);
});
});
return _addDep.apply(this, arguments);
}
function fixDep(dep) {
return dep ? _semver.default.coerce(dep).version + depHyphen(dep) : "0.0.0";
}
function depHyphen(dep) {
return dep && dep.indexOf("-") > -1 ? "-" + dep.split(/-/)[1] : "";
}
//# sourceMappingURL=deps.js.map