utils.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. "use strict";
  2. exports.__esModule = true;
  3. exports.prettifyTargets = exports.prettifyVersion = exports.semverify = exports._extends = undefined;
  4. var _semver = require("semver");
  5. var _semver2 = _interopRequireDefault(_semver);
  6. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  7. var _extends = exports._extends = Object.assign || function (target) {
  8. for (var i = 1; i < arguments.length; i++) {
  9. var source = arguments[i];
  10. for (var key in source) {
  11. if (Object.prototype.hasOwnProperty.call(source, key)) {
  12. target[key] = source[key];
  13. }
  14. }
  15. }
  16. return target;
  17. };
  18. // Convert version to a semver value.
  19. // 2.5 -> 2.5.0; 1 -> 1.0.0;
  20. // @flow
  21. var semverify = exports.semverify = function semverify(version) {
  22. if (typeof version === "string" && _semver2.default.valid(version)) {
  23. return version;
  24. }
  25. var split = version.toString().split(".");
  26. while (split.length < 3) {
  27. split.push(0);
  28. }
  29. return split.join(".");
  30. };
  31. var prettifyVersion = exports.prettifyVersion = function prettifyVersion(version) {
  32. if (typeof version !== "string") {
  33. return version;
  34. }
  35. var parts = [_semver2.default.major(version)];
  36. var minor = _semver2.default.minor(version);
  37. var patch = _semver2.default.patch(version);
  38. if (minor || patch) {
  39. parts.push(minor);
  40. }
  41. if (patch) {
  42. parts.push(patch);
  43. }
  44. return parts.join(".");
  45. };
  46. var prettifyTargets = exports.prettifyTargets = function prettifyTargets() {
  47. var targets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  48. return Object.keys(targets).reduce(function (results, target) {
  49. var value = targets[target];
  50. if (typeof value === "string") {
  51. value = prettifyVersion(value);
  52. }
  53. results[target] = value;
  54. return results;
  55. }, {});
  56. };