MCPcopy
hub / github.com/openupm/openupm / getVersionFromTag

Function getVersionFromTag

app/utils/semver.js:9–34  ·  view source on GitHub ↗
(tag)

Source from the content-addressed store, hash-verified

7
8// Get version from git tag name.
9const getVersionFromTag = function(tag) {
10 const parseVersion = function(seg) {
11 // Handle upm suffix.
12 const upmRe = /(_|-)(upm|master)$/i;
13 seg = seg.replace(upmRe, "");
14 return semver.clean(seg.toLowerCase(), { loose: true });
15 };
16 const parseSeg = function(tag, separator) {
17 const segs = tag.split(separator);
18 for (let i = 0; i < segs.length; i++) {
19 const arr = segs.slice(segs.length - i - 1, segs.length);
20 const text = arr.join(separator);
21 version = parseVersion(text);
22 if (version) return version;
23 }
24 };
25 // Try parsing the tag.
26 let version = parseVersion(tag);
27 // Try parsing a path-like tag: prefix/{version}.
28 if (!version) version = parseSeg(tag, "/");
29 // Try parsing a hyphen-like tag: prefix-{version}.
30 if (!version) version = parseSeg(tag, "-");
31 // Try parsing a underscore-like tag: prefix_{version}.
32 if (!version) version = parseSeg(tag, "_");
33 return version;
34};
35
36module.exports = {
37 semverRe,

Callers 4

filterRemoteTagsFunction · 0.85
getInvalidTagsFunction · 0.85
updateReleaseRecordsFunction · 0.85

Calls 2

parseVersionFunction · 0.85
parseSegFunction · 0.85

Tested by

no test coverage detected