1 | "use strict";
|
2 | var __read = (this && this.__read) || function (o, n) {
|
3 | var m = typeof Symbol === "function" && o[Symbol.iterator];
|
4 | if (!m) return o;
|
5 | var i = m.call(o), r, ar = [], e;
|
6 | try {
|
7 | while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
8 | }
|
9 | catch (error) { e = { error: error }; }
|
10 | finally {
|
11 | try {
|
12 | if (r && !r.done && (m = i["return"])) m.call(i);
|
13 | }
|
14 | finally { if (e) throw e.error; }
|
15 | }
|
16 | return ar;
|
17 | };
|
18 | var __spread = (this && this.__spread) || function () {
|
19 | for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
20 | return ar;
|
21 | };
|
22 | Object.defineProperty(exports, "__esModule", { value: true });
|
23 | var SEMVER;
|
24 | (function (SEMVER) {
|
25 | SEMVER["major"] = "major";
|
26 | SEMVER["premajor"] = "premajor";
|
27 | SEMVER["minor"] = "minor";
|
28 | SEMVER["preminor"] = "preminor";
|
29 | SEMVER["patch"] = "patch";
|
30 | SEMVER["prepatch"] = "prepatch";
|
31 | SEMVER["noVersion"] = "";
|
32 | })(SEMVER || (SEMVER = {}));
|
33 | exports.default = SEMVER;
|
34 | function getHigherSemverTag(left, right) {
|
35 | if (left === SEMVER.major || right === SEMVER.major) {
|
36 | return SEMVER.major;
|
37 | }
|
38 | if (left === SEMVER.minor || right === SEMVER.minor) {
|
39 | return SEMVER.minor;
|
40 | }
|
41 | return SEMVER.patch;
|
42 | }
|
43 | exports.getHigherSemverTag = getHigherSemverTag;
|
44 | function calculateSemVerBump(labels, labelMap, _a) {
|
45 | var _b = _a === void 0 ? {} : _a, onlyPublishWithReleaseLabel = _b.onlyPublishWithReleaseLabel, _c = _b.skipReleaseLabels, skipReleaseLabels = _c === void 0 ? [] : _c;
|
46 | var labelSet = new Set();
|
47 | if (!skipReleaseLabels.includes(labelMap.get('skip-release'))) {
|
48 | skipReleaseLabels.push(labelMap.get('skip-release'));
|
49 | }
|
50 | labels.map(function (pr) {
|
51 | pr.forEach(function (label) {
|
52 | var userLabel = __spread(labelMap.entries()).find(function (pair) { return pair[1] === label; });
|
53 | labelSet.add(userLabel ? userLabel[0] : label);
|
54 | });
|
55 | });
|
56 | var skipRelease = false;
|
57 | var isPrerelease = false;
|
58 | if (labels.length > 0 && labels[0].length > 0) {
|
59 | isPrerelease = labels[0].includes(labelMap.get('prerelease'));
|
60 | skipRelease = onlyPublishWithReleaseLabel
|
61 | ? !labels[0].includes(labelMap.get('release'))
|
62 | : !!labels[0].find(function (label) { return skipReleaseLabels.includes(label); });
|
63 | }
|
64 | var version = __spread(labelSet).reduce(getHigherSemverTag, SEMVER.patch);
|
65 | if (skipRelease) {
|
66 | return SEMVER.noVersion;
|
67 | }
|
68 | if (isPrerelease) {
|
69 | if (version === SEMVER.major) {
|
70 | return SEMVER.premajor;
|
71 | }
|
72 | if (version === SEMVER.minor) {
|
73 | return SEMVER.preminor;
|
74 | }
|
75 | return SEMVER.prepatch;
|
76 | }
|
77 | return version;
|
78 | }
|
79 | exports.calculateSemVerBump = calculateSemVerBump;
|
80 |
|
\ | No newline at end of file |