UNPKG

mt-changelog

Version:
52 lines (41 loc) 1.41 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.lastSemverTag = lastSemverTag; exports['default'] = latestTag; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _childProcessPromise = require('child-process-promise'); var _semver = require('semver'); var _semver2 = _interopRequireDefault(_semver); function lastSemverTag(tags, excludePreRelease) { var versions = tags.filter(function (tag) { return _semver2['default'].valid(tag); }).map(function (tag) { return { tag: tag, semver: _semver2['default'].parse(tag), toString: function toString() { return tag; } }; }).filter(function (tag) { if (tag.semver.prerelease.length === 0) { return true; } return !excludePreRelease; }).sort(function (t1, t2) { return _semver2['default'].compare(t1.semver, t2.semver); }); if (versions.length === 0) { throw 'No previous semver tag found, tag a commit in the past and try again'; } return versions[versions.length - 1].toString(); } function latestTag() { var excludePreRelease = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0]; return (0, _childProcessPromise.exec)('git tag').then(function (_ref) { var stdout = _ref.stdout; return lastSemverTag(stdout.split('\n'), excludePreRelease); }); }