fix: tag 回退时更新链接使用原始标签名(v1.0.0,而非清洗后的 1.0.0)
This commit is contained in:
@@ -161,10 +161,9 @@ async function checkUpdate(repoInput) {
|
|||||||
|
|
||||||
const list = Array.isArray(tags.data) ? tags.data : [];
|
const list = Array.isArray(tags.data) ? tags.data : [];
|
||||||
const versions = list
|
const versions = list
|
||||||
.map((t) => normalizeTag(t && t.name))
|
.map((t) => ({ raw: String((t && t.name) || ''), version: normalizeTag(t && t.name) }))
|
||||||
.filter(Boolean)
|
.filter((t) => t.version)
|
||||||
.sort(compareVersions)
|
.sort((a, b) => compareVersions(b.version, a.version)); // 降序
|
||||||
.reverse();
|
|
||||||
|
|
||||||
if (!versions.length) {
|
if (!versions.length) {
|
||||||
return {
|
return {
|
||||||
@@ -177,18 +176,19 @@ async function checkUpdate(repoInput) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const latest = versions[0];
|
const [{ version: latest, raw }] = versions;
|
||||||
return {
|
return {
|
||||||
...base,
|
...base,
|
||||||
ok: true,
|
ok: true,
|
||||||
source: 'tag',
|
source: 'tag',
|
||||||
latest,
|
latest,
|
||||||
tag: latest,
|
// 原始 tag 名留着:链接要用它,用清洗过的版本号会指向不存在的路径
|
||||||
|
tag: raw || latest,
|
||||||
hasUpdate: compareVersions(latest, current) > 0,
|
hasUpdate: compareVersions(latest, current) > 0,
|
||||||
title: '',
|
title: '',
|
||||||
notes: '',
|
notes: '',
|
||||||
publishedAt: null,
|
publishedAt: null,
|
||||||
url: `https://github.com/${repo}/releases/tag/${latest}`
|
url: `https://github.com/${repo}/releases/tag/${encodeURIComponent(raw || latest)}`
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user