5
0
mirror of https://github.com/astral-sh/setup-uv.git synced 2026-03-29 01:49:53 +00:00

Shortcircuit latest version from manifest (#828)

The first version is guaranteed to be the latest
This commit is contained in:
Kevin Stillhammer
2026-03-28 17:43:22 +01:00
committed by GitHub
parent 4dd8ab4520
commit cec208311d
4 changed files with 98 additions and 114 deletions

View File

@@ -17,11 +17,12 @@ const {
fetchManifest, fetchManifest,
getAllVersions, getAllVersions,
getArtifact, getArtifact,
getLatestVersion,
parseManifest, parseManifest,
} = await import("../../src/download/manifest"); } = await import("../../src/download/manifest");
const sampleManifestResponse = `{"version":"0.9.25","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.25/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"606b3c6949d971709f2526fa0d9f0fd23ccf60e09f117999b406b424af18a6a6"}]} const sampleManifestResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f"},{"platform":"x86_64-pc-windows-msvc","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip","archive_format":"zip","sha256":"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036"}]}
{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"fcf0a9ea6599c6ae28a4c854ac6da76f2c889354d7c36ce136ef071f7ab9721f"},{"platform":"x86_64-pc-windows-msvc","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-x86_64-pc-windows-msvc.zip","archive_format":"zip","sha256":"eb02fd95d8e0eed462b4a67ecdd320d865b38c560bffcda9a0b87ec944bdf036"}]}`; {"version":"0.9.25","artifacts":[{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.25/uv-aarch64-apple-darwin.tar.gz","archive_format":"tar.gz","sha256":"606b3c6949d971709f2526fa0d9f0fd23ccf60e09f117999b406b424af18a6a6"}]}`;
const multiVariantManifestResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"python-managed","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin-managed.tar.gz","archive_format":"tar.gz","sha256":"managed-checksum"},{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.zip","archive_format":"zip","sha256":"default-checksum"}]}`; const multiVariantManifestResponse = `{"version":"0.9.26","artifacts":[{"platform":"aarch64-apple-darwin","variant":"python-managed","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin-managed.tar.gz","archive_format":"tar.gz","sha256":"managed-checksum"},{"platform":"aarch64-apple-darwin","variant":"default","url":"https://github.com/astral-sh/uv/releases/download/0.9.26/uv-aarch64-apple-darwin.zip","archive_format":"zip","sha256":"default-checksum"}]}`;
@@ -54,8 +55,8 @@ describe("manifest", () => {
const versions = await fetchManifest(); const versions = await fetchManifest();
expect(versions).toHaveLength(2); expect(versions).toHaveLength(2);
expect(versions[0]?.version).toBe("0.9.25"); expect(versions[0]?.version).toBe("0.9.26");
expect(versions[1]?.version).toBe("0.9.26"); expect(versions[1]?.version).toBe("0.9.25");
}); });
it("throws on a failed fetch", async () => { it("throws on a failed fetch", async () => {
@@ -90,7 +91,19 @@ describe("manifest", () => {
"https://example.com/custom.ndjson", "https://example.com/custom.ndjson",
); );
expect(versions).toEqual(["0.9.25", "0.9.26"]); expect(versions).toEqual(["0.9.26", "0.9.25"]);
});
});
describe("getLatestVersion", () => {
it("returns the first version string", async () => {
mockFetch.mockResolvedValue(
createMockResponse(true, 200, "OK", sampleManifestResponse),
);
await expect(
getLatestVersion("https://example.com/custom.ndjson"),
).resolves.toBe("0.9.26");
}); });
}); });

144
dist/setup/index.cjs generated vendored
View File

@@ -20058,8 +20058,8 @@ var require_gt = __commonJS({
"node_modules/@actions/cache/node_modules/semver/functions/gt.js"(exports2, module2) { "node_modules/@actions/cache/node_modules/semver/functions/gt.js"(exports2, module2) {
"use strict"; "use strict";
var compare = require_compare(); var compare = require_compare();
var gt3 = (a, b, loose) => compare(a, b, loose) > 0; var gt2 = (a, b, loose) => compare(a, b, loose) > 0;
module2.exports = gt3; module2.exports = gt2;
} }
}); });
@@ -20119,7 +20119,7 @@ var require_cmp = __commonJS({
"use strict"; "use strict";
var eq = require_eq(); var eq = require_eq();
var neq = require_neq(); var neq = require_neq();
var gt3 = require_gt(); var gt2 = require_gt();
var gte = require_gte(); var gte = require_gte();
var lt = require_lt(); var lt = require_lt();
var lte = require_lte(); var lte = require_lte();
@@ -20148,7 +20148,7 @@ var require_cmp = __commonJS({
case "!=": case "!=":
return neq(a, b, loose); return neq(a, b, loose);
case ">": case ">":
return gt3(a, b, loose); return gt2(a, b, loose);
case ">=": case ">=":
return gte(a, b, loose); return gte(a, b, loose);
case "<": case "<":
@@ -20828,7 +20828,7 @@ var require_min_version = __commonJS({
"use strict"; "use strict";
var SemVer = require_semver(); var SemVer = require_semver();
var Range = require_range(); var Range = require_range();
var gt3 = require_gt(); var gt2 = require_gt();
var minVersion = (range2, loose) => { var minVersion = (range2, loose) => {
range2 = new Range(range2, loose); range2 = new Range(range2, loose);
let minver = new SemVer("0.0.0"); let minver = new SemVer("0.0.0");
@@ -20856,7 +20856,7 @@ var require_min_version = __commonJS({
/* fallthrough */ /* fallthrough */
case "": case "":
case ">=": case ">=":
if (!setMin || gt3(compver, setMin)) { if (!setMin || gt2(compver, setMin)) {
setMin = compver; setMin = compver;
} }
break; break;
@@ -20868,7 +20868,7 @@ var require_min_version = __commonJS({
throw new Error(`Unexpected operation: ${comparator.operator}`); throw new Error(`Unexpected operation: ${comparator.operator}`);
} }
}); });
if (setMin && (!minver || gt3(minver, setMin))) { if (setMin && (!minver || gt2(minver, setMin))) {
minver = setMin; minver = setMin;
} }
} }
@@ -20906,7 +20906,7 @@ var require_outside = __commonJS({
var { ANY } = Comparator; var { ANY } = Comparator;
var Range = require_range(); var Range = require_range();
var satisfies4 = require_satisfies(); var satisfies4 = require_satisfies();
var gt3 = require_gt(); var gt2 = require_gt();
var lt = require_lt(); var lt = require_lt();
var lte = require_lte(); var lte = require_lte();
var gte = require_gte(); var gte = require_gte();
@@ -20916,7 +20916,7 @@ var require_outside = __commonJS({
let gtfn, ltefn, ltfn, comp26, ecomp; let gtfn, ltefn, ltfn, comp26, ecomp;
switch (hilo) { switch (hilo) {
case ">": case ">":
gtfn = gt3; gtfn = gt2;
ltefn = lte; ltefn = lte;
ltfn = lt; ltfn = lt;
comp26 = ">"; comp26 = ">";
@@ -20925,7 +20925,7 @@ var require_outside = __commonJS({
case "<": case "<":
gtfn = lt; gtfn = lt;
ltefn = gte; ltefn = gte;
ltfn = gt3; ltfn = gt2;
comp26 = "<"; comp26 = "<";
ecomp = "<="; ecomp = "<=";
break; break;
@@ -21103,10 +21103,10 @@ var require_subset = __commonJS({
} }
} }
const eqSet = /* @__PURE__ */ new Set(); const eqSet = /* @__PURE__ */ new Set();
let gt3, lt; let gt2, lt;
for (const c of sub) { for (const c of sub) {
if (c.operator === ">" || c.operator === ">=") { if (c.operator === ">" || c.operator === ">=") {
gt3 = higherGT(gt3, c, options); gt2 = higherGT(gt2, c, options);
} else if (c.operator === "<" || c.operator === "<=") { } else if (c.operator === "<" || c.operator === "<=") {
lt = lowerLT(lt, c, options); lt = lowerLT(lt, c, options);
} else { } else {
@@ -21117,16 +21117,16 @@ var require_subset = __commonJS({
return null; return null;
} }
let gtltComp; let gtltComp;
if (gt3 && lt) { if (gt2 && lt) {
gtltComp = compare(gt3.semver, lt.semver, options); gtltComp = compare(gt2.semver, lt.semver, options);
if (gtltComp > 0) { if (gtltComp > 0) {
return null; return null;
} else if (gtltComp === 0 && (gt3.operator !== ">=" || lt.operator !== "<=")) { } else if (gtltComp === 0 && (gt2.operator !== ">=" || lt.operator !== "<=")) {
return null; return null;
} }
} }
for (const eq of eqSet) { for (const eq of eqSet) {
if (gt3 && !satisfies4(eq, String(gt3), options)) { if (gt2 && !satisfies4(eq, String(gt2), options)) {
return null; return null;
} }
if (lt && !satisfies4(eq, String(lt), options)) { if (lt && !satisfies4(eq, String(lt), options)) {
@@ -21142,25 +21142,25 @@ var require_subset = __commonJS({
let higher, lower; let higher, lower;
let hasDomLT, hasDomGT; let hasDomLT, hasDomGT;
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
let needDomGTPre = gt3 && !options.includePrerelease && gt3.semver.prerelease.length ? gt3.semver : false; let needDomGTPre = gt2 && !options.includePrerelease && gt2.semver.prerelease.length ? gt2.semver : false;
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
needDomLTPre = false; needDomLTPre = false;
} }
for (const c of dom) { for (const c of dom) {
hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
if (gt3) { if (gt2) {
if (needDomGTPre) { if (needDomGTPre) {
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
needDomGTPre = false; needDomGTPre = false;
} }
} }
if (c.operator === ">" || c.operator === ">=") { if (c.operator === ">" || c.operator === ">=") {
higher = higherGT(gt3, c, options); higher = higherGT(gt2, c, options);
if (higher === c && higher !== gt3) { if (higher === c && higher !== gt2) {
return false; return false;
} }
} else if (gt3.operator === ">=" && !satisfies4(gt3.semver, String(c), options)) { } else if (gt2.operator === ">=" && !satisfies4(gt2.semver, String(c), options)) {
return false; return false;
} }
} }
@@ -21179,14 +21179,14 @@ var require_subset = __commonJS({
return false; return false;
} }
} }
if (!c.operator && (lt || gt3) && gtltComp !== 0) { if (!c.operator && (lt || gt2) && gtltComp !== 0) {
return false; return false;
} }
} }
if (gt3 && hasDomLT && !lt && gtltComp !== 0) { if (gt2 && hasDomLT && !lt && gtltComp !== 0) {
return false; return false;
} }
if (lt && hasDomGT && !gt3 && gtltComp !== 0) { if (lt && hasDomGT && !gt2 && gtltComp !== 0) {
return false; return false;
} }
if (needDomGTPre || needDomLTPre) { if (needDomGTPre || needDomLTPre) {
@@ -21235,7 +21235,7 @@ var require_semver2 = __commonJS({
var compareBuild = require_compare_build(); var compareBuild = require_compare_build();
var sort = require_sort(); var sort = require_sort();
var rsort = require_rsort(); var rsort = require_rsort();
var gt3 = require_gt(); var gt2 = require_gt();
var lt = require_lt(); var lt = require_lt();
var eq = require_eq(); var eq = require_eq();
var neq = require_neq(); var neq = require_neq();
@@ -21273,7 +21273,7 @@ var require_semver2 = __commonJS({
compareBuild, compareBuild,
sort, sort,
rsort, rsort,
gt: gt3, gt: gt2,
lt, lt,
eq, eq,
neq, neq,
@@ -27668,8 +27668,8 @@ var require_gt2 = __commonJS({
"node_modules/@actions/tool-cache/node_modules/semver/functions/gt.js"(exports2, module2) { "node_modules/@actions/tool-cache/node_modules/semver/functions/gt.js"(exports2, module2) {
"use strict"; "use strict";
var compare = require_compare2(); var compare = require_compare2();
var gt3 = (a, b, loose) => compare(a, b, loose) > 0; var gt2 = (a, b, loose) => compare(a, b, loose) > 0;
module2.exports = gt3; module2.exports = gt2;
} }
}); });
@@ -27729,7 +27729,7 @@ var require_cmp2 = __commonJS({
"use strict"; "use strict";
var eq = require_eq2(); var eq = require_eq2();
var neq = require_neq2(); var neq = require_neq2();
var gt3 = require_gt2(); var gt2 = require_gt2();
var gte = require_gte2(); var gte = require_gte2();
var lt = require_lt2(); var lt = require_lt2();
var lte = require_lte2(); var lte = require_lte2();
@@ -27758,7 +27758,7 @@ var require_cmp2 = __commonJS({
case "!=": case "!=":
return neq(a, b, loose); return neq(a, b, loose);
case ">": case ">":
return gt3(a, b, loose); return gt2(a, b, loose);
case ">=": case ">=":
return gte(a, b, loose); return gte(a, b, loose);
case "<": case "<":
@@ -28438,7 +28438,7 @@ var require_min_version2 = __commonJS({
"use strict"; "use strict";
var SemVer = require_semver3(); var SemVer = require_semver3();
var Range = require_range2(); var Range = require_range2();
var gt3 = require_gt2(); var gt2 = require_gt2();
var minVersion = (range2, loose) => { var minVersion = (range2, loose) => {
range2 = new Range(range2, loose); range2 = new Range(range2, loose);
let minver = new SemVer("0.0.0"); let minver = new SemVer("0.0.0");
@@ -28466,7 +28466,7 @@ var require_min_version2 = __commonJS({
/* fallthrough */ /* fallthrough */
case "": case "":
case ">=": case ">=":
if (!setMin || gt3(compver, setMin)) { if (!setMin || gt2(compver, setMin)) {
setMin = compver; setMin = compver;
} }
break; break;
@@ -28478,7 +28478,7 @@ var require_min_version2 = __commonJS({
throw new Error(`Unexpected operation: ${comparator.operator}`); throw new Error(`Unexpected operation: ${comparator.operator}`);
} }
}); });
if (setMin && (!minver || gt3(minver, setMin))) { if (setMin && (!minver || gt2(minver, setMin))) {
minver = setMin; minver = setMin;
} }
} }
@@ -28516,7 +28516,7 @@ var require_outside2 = __commonJS({
var { ANY } = Comparator; var { ANY } = Comparator;
var Range = require_range2(); var Range = require_range2();
var satisfies4 = require_satisfies2(); var satisfies4 = require_satisfies2();
var gt3 = require_gt2(); var gt2 = require_gt2();
var lt = require_lt2(); var lt = require_lt2();
var lte = require_lte2(); var lte = require_lte2();
var gte = require_gte2(); var gte = require_gte2();
@@ -28526,7 +28526,7 @@ var require_outside2 = __commonJS({
let gtfn, ltefn, ltfn, comp26, ecomp; let gtfn, ltefn, ltfn, comp26, ecomp;
switch (hilo) { switch (hilo) {
case ">": case ">":
gtfn = gt3; gtfn = gt2;
ltefn = lte; ltefn = lte;
ltfn = lt; ltfn = lt;
comp26 = ">"; comp26 = ">";
@@ -28535,7 +28535,7 @@ var require_outside2 = __commonJS({
case "<": case "<":
gtfn = lt; gtfn = lt;
ltefn = gte; ltefn = gte;
ltfn = gt3; ltfn = gt2;
comp26 = "<"; comp26 = "<";
ecomp = "<="; ecomp = "<=";
break; break;
@@ -28713,10 +28713,10 @@ var require_subset2 = __commonJS({
} }
} }
const eqSet = /* @__PURE__ */ new Set(); const eqSet = /* @__PURE__ */ new Set();
let gt3, lt; let gt2, lt;
for (const c of sub) { for (const c of sub) {
if (c.operator === ">" || c.operator === ">=") { if (c.operator === ">" || c.operator === ">=") {
gt3 = higherGT(gt3, c, options); gt2 = higherGT(gt2, c, options);
} else if (c.operator === "<" || c.operator === "<=") { } else if (c.operator === "<" || c.operator === "<=") {
lt = lowerLT(lt, c, options); lt = lowerLT(lt, c, options);
} else { } else {
@@ -28727,16 +28727,16 @@ var require_subset2 = __commonJS({
return null; return null;
} }
let gtltComp; let gtltComp;
if (gt3 && lt) { if (gt2 && lt) {
gtltComp = compare(gt3.semver, lt.semver, options); gtltComp = compare(gt2.semver, lt.semver, options);
if (gtltComp > 0) { if (gtltComp > 0) {
return null; return null;
} else if (gtltComp === 0 && (gt3.operator !== ">=" || lt.operator !== "<=")) { } else if (gtltComp === 0 && (gt2.operator !== ">=" || lt.operator !== "<=")) {
return null; return null;
} }
} }
for (const eq of eqSet) { for (const eq of eqSet) {
if (gt3 && !satisfies4(eq, String(gt3), options)) { if (gt2 && !satisfies4(eq, String(gt2), options)) {
return null; return null;
} }
if (lt && !satisfies4(eq, String(lt), options)) { if (lt && !satisfies4(eq, String(lt), options)) {
@@ -28752,25 +28752,25 @@ var require_subset2 = __commonJS({
let higher, lower; let higher, lower;
let hasDomLT, hasDomGT; let hasDomLT, hasDomGT;
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
let needDomGTPre = gt3 && !options.includePrerelease && gt3.semver.prerelease.length ? gt3.semver : false; let needDomGTPre = gt2 && !options.includePrerelease && gt2.semver.prerelease.length ? gt2.semver : false;
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
needDomLTPre = false; needDomLTPre = false;
} }
for (const c of dom) { for (const c of dom) {
hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
if (gt3) { if (gt2) {
if (needDomGTPre) { if (needDomGTPre) {
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
needDomGTPre = false; needDomGTPre = false;
} }
} }
if (c.operator === ">" || c.operator === ">=") { if (c.operator === ">" || c.operator === ">=") {
higher = higherGT(gt3, c, options); higher = higherGT(gt2, c, options);
if (higher === c && higher !== gt3) { if (higher === c && higher !== gt2) {
return false; return false;
} }
} else if (gt3.operator === ">=" && !satisfies4(gt3.semver, String(c), options)) { } else if (gt2.operator === ">=" && !satisfies4(gt2.semver, String(c), options)) {
return false; return false;
} }
} }
@@ -28789,14 +28789,14 @@ var require_subset2 = __commonJS({
return false; return false;
} }
} }
if (!c.operator && (lt || gt3) && gtltComp !== 0) { if (!c.operator && (lt || gt2) && gtltComp !== 0) {
return false; return false;
} }
} }
if (gt3 && hasDomLT && !lt && gtltComp !== 0) { if (gt2 && hasDomLT && !lt && gtltComp !== 0) {
return false; return false;
} }
if (lt && hasDomGT && !gt3 && gtltComp !== 0) { if (lt && hasDomGT && !gt2 && gtltComp !== 0) {
return false; return false;
} }
if (needDomGTPre || needDomLTPre) { if (needDomGTPre || needDomLTPre) {
@@ -28845,7 +28845,7 @@ var require_semver4 = __commonJS({
var compareBuild = require_compare_build2(); var compareBuild = require_compare_build2();
var sort = require_sort2(); var sort = require_sort2();
var rsort = require_rsort2(); var rsort = require_rsort2();
var gt3 = require_gt2(); var gt2 = require_gt2();
var lt = require_lt2(); var lt = require_lt2();
var eq = require_eq2(); var eq = require_eq2();
var neq = require_neq2(); var neq = require_neq2();
@@ -28883,7 +28883,7 @@ var require_semver4 = __commonJS({
compareBuild, compareBuild,
sort, sort,
rsort, rsort,
gt: gt3, gt: gt2,
lt, lt,
eq, eq,
neq, neq,
@@ -29114,13 +29114,13 @@ var require_operator = __commonJS({
eq, eq,
ne, ne,
ge, ge,
gt: gt3, gt: gt2,
"<": lt, "<": lt,
"<=": le, "<=": le,
"==": eq, "==": eq,
"!=": ne, "!=": ne,
">=": ge, ">=": ge,
">": gt3, ">": gt2,
"===": arbitrary "===": arbitrary
}; };
function lt(version3, other) { function lt(version3, other) {
@@ -29138,7 +29138,7 @@ var require_operator = __commonJS({
function ge(version3, other) { function ge(version3, other) {
return compare(version3, other) >= 0; return compare(version3, other) >= 0;
} }
function gt3(version3, other) { function gt2(version3, other) {
return compare(version3, other) > 0; return compare(version3, other) > 0;
} }
function arbitrary(version3, other) { function arbitrary(version3, other) {
@@ -29521,7 +29521,7 @@ var require_semantic = __commonJS({
var require_pep440 = __commonJS({ var require_pep440 = __commonJS({
"node_modules/@renovatebot/pep440/index.js"(exports2, module2) { "node_modules/@renovatebot/pep440/index.js"(exports2, module2) {
var { valid: valid2, clean: clean3, explain, parse: parse3 } = require_version(); var { valid: valid2, clean: clean3, explain, parse: parse3 } = require_version();
var { lt, le, eq, ne, ge, gt: gt3, compare, rcompare } = require_operator(); var { lt, le, eq, ne, ge, gt: gt2, compare, rcompare } = require_operator();
var { var {
filter, filter,
maxSatisfying: maxSatisfying3, maxSatisfying: maxSatisfying3,
@@ -29546,7 +29546,7 @@ var require_pep440 = __commonJS({
neq: ne, neq: ne,
ge, ge,
gte: ge, gte: ge,
gt: gt3, gt: gt2,
compare, compare,
rcompare, rcompare,
// range // range
@@ -30046,8 +30046,8 @@ var require_semver5 = __commonJS({
return exports2.compareBuild(b, a, loose); return exports2.compareBuild(b, a, loose);
}); });
} }
exports2.gt = gt3; exports2.gt = gt2;
function gt3(a, b, loose) { function gt2(a, b, loose) {
return compare(a, b, loose) > 0; return compare(a, b, loose) > 0;
} }
exports2.lt = lt; exports2.lt = lt;
@@ -30092,7 +30092,7 @@ var require_semver5 = __commonJS({
case "!=": case "!=":
return neq(a, b, loose); return neq(a, b, loose);
case ">": case ">":
return gt3(a, b, loose); return gt2(a, b, loose);
case ">=": case ">=":
return gte(a, b, loose); return gte(a, b, loose);
case "<": case "<":
@@ -30590,7 +30590,7 @@ var require_semver5 = __commonJS({
/* fallthrough */ /* fallthrough */
case "": case "":
case ">=": case ">=":
if (!minver || gt3(minver, compver)) { if (!minver || gt2(minver, compver)) {
minver = compver; minver = compver;
} }
break; break;
@@ -30631,7 +30631,7 @@ var require_semver5 = __commonJS({
var gtfn, ltefn, ltfn, comp26, ecomp; var gtfn, ltefn, ltfn, comp26, ecomp;
switch (hilo) { switch (hilo) {
case ">": case ">":
gtfn = gt3; gtfn = gt2;
ltefn = lte; ltefn = lte;
ltfn = lt; ltfn = lt;
comp26 = ">"; comp26 = ">";
@@ -30640,7 +30640,7 @@ var require_semver5 = __commonJS({
case "<": case "<":
gtfn = lt; gtfn = lt;
ltefn = gte; ltefn = gte;
ltfn = gt3; ltfn = gt2;
comp26 = "<"; comp26 = "<";
ecomp = "<="; ecomp = "<=";
break; break;
@@ -90965,7 +90965,7 @@ function _getGlobal(key, defaultValue) {
// src/download/download-version.ts // src/download/download-version.ts
var pep440 = __toESM(require_pep440(), 1); var pep440 = __toESM(require_pep440(), 1);
var semver5 = __toESM(require_semver5(), 1); var semver4 = __toESM(require_semver5(), 1);
// src/utils/constants.ts // src/utils/constants.ts
var TOOL_CACHE_NAME = "uv"; var TOOL_CACHE_NAME = "uv";
@@ -95511,9 +95511,6 @@ async function validateFileCheckSum(filePath, expected) {
}); });
} }
// src/download/manifest.ts
var semver4 = __toESM(require_semver5(), 1);
// src/utils/fetch.ts // src/utils/fetch.ts
var import_undici2 = __toESM(require_undici2(), 1); var import_undici2 = __toESM(require_undici2(), 1);
function getProxyAgent() { function getProxyAgent() {
@@ -95615,17 +95612,10 @@ function parseManifest(data, sourceDescription) {
return versions; return versions;
} }
async function getLatestVersion(manifestUrl = VERSIONS_MANIFEST_URL) { async function getLatestVersion(manifestUrl = VERSIONS_MANIFEST_URL) {
const versions = await fetchManifest(manifestUrl); const latestVersion = (await fetchManifest(manifestUrl))[0]?.version;
const [firstVersion, ...remainingVersions] = versions.map( if (latestVersion === void 0) {
(versionData) => versionData.version
);
if (firstVersion === void 0) {
throw new Error("No versions found in manifest data"); throw new Error("No versions found in manifest data");
} }
const latestVersion = remainingVersions.reduce(
(latest, current) => semver4.gt(current, latest) ? current : latest,
firstVersion
);
debug(`Latest version from manifest: ${latestVersion}`); debug(`Latest version from manifest: ${latestVersion}`);
return latestVersion; return latestVersion;
} }
@@ -95833,7 +95823,7 @@ function maxSatisfying2(versions, version3) {
return void 0; return void 0;
} }
function minSatisfying3(versions, version3) { function minSatisfying3(versions, version3) {
const minSemver = semver5.minSatisfying(versions, version3); const minSemver = semver4.minSatisfying(versions, version3);
if (minSemver !== null) { if (minSemver !== null) {
debug(`Found a version that satisfies the semver range: ${minSemver}`); debug(`Found a version that satisfies the semver range: ${minSemver}`);
return minSemver; return minSemver;

View File

@@ -19064,8 +19064,8 @@ var require_semver = __commonJS({
return exports2.compareBuild(b, a, loose); return exports2.compareBuild(b, a, loose);
}); });
} }
exports2.gt = gt2; exports2.gt = gt;
function gt2(a, b, loose) { function gt(a, b, loose) {
return compare(a, b, loose) > 0; return compare(a, b, loose) > 0;
} }
exports2.lt = lt; exports2.lt = lt;
@@ -19110,7 +19110,7 @@ var require_semver = __commonJS({
case "!=": case "!=":
return neq(a, b, loose); return neq(a, b, loose);
case ">": case ">":
return gt2(a, b, loose); return gt(a, b, loose);
case ">=": case ">=":
return gte(a, b, loose); return gte(a, b, loose);
case "<": case "<":
@@ -19608,7 +19608,7 @@ var require_semver = __commonJS({
/* fallthrough */ /* fallthrough */
case "": case "":
case ">=": case ">=":
if (!minver || gt2(minver, compver)) { if (!minver || gt(minver, compver)) {
minver = compver; minver = compver;
} }
break; break;
@@ -19649,7 +19649,7 @@ var require_semver = __commonJS({
var gtfn, ltefn, ltfn, comp, ecomp; var gtfn, ltefn, ltfn, comp, ecomp;
switch (hilo) { switch (hilo) {
case ">": case ">":
gtfn = gt2; gtfn = gt;
ltefn = lte2; ltefn = lte2;
ltfn = lt; ltfn = lt;
comp = ">"; comp = ">";
@@ -19658,7 +19658,7 @@ var require_semver = __commonJS({
case "<": case "<":
gtfn = lt; gtfn = lt;
ltefn = gte; ltefn = gte;
ltfn = gt2; ltfn = gt;
comp = "<"; comp = "<";
ecomp = "<="; ecomp = "<=";
break; break;
@@ -44945,7 +44945,7 @@ function info(message) {
} }
// src/update-known-checksums.ts // src/update-known-checksums.ts
var semver2 = __toESM(require_semver(), 1); var semver = __toESM(require_semver(), 1);
// src/download/checksum/known-checksums.ts // src/download/checksum/known-checksums.ts
var KNOWN_CHECKSUMS = { var KNOWN_CHECKSUMS = {
@@ -49463,9 +49463,6 @@ async function updateChecksums(filePath, checksumEntries) {
await import_node_fs.promises.writeFile(filePath, content); await import_node_fs.promises.writeFile(filePath, content);
} }
// src/download/manifest.ts
var semver = __toESM(require_semver(), 1);
// src/utils/constants.ts // src/utils/constants.ts
var VERSIONS_MANIFEST_URL = "https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson"; var VERSIONS_MANIFEST_URL = "https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson";
@@ -49544,17 +49541,10 @@ function parseManifest(data, sourceDescription) {
return versions; return versions;
} }
async function getLatestVersion(manifestUrl = VERSIONS_MANIFEST_URL) { async function getLatestVersion(manifestUrl = VERSIONS_MANIFEST_URL) {
const versions = await fetchManifest(manifestUrl); const latestVersion = (await fetchManifest(manifestUrl))[0]?.version;
const [firstVersion, ...remainingVersions] = versions.map( if (latestVersion === void 0) {
(versionData) => versionData.version
);
if (firstVersion === void 0) {
throw new Error("No versions found in manifest data"); throw new Error("No versions found in manifest data");
} }
const latestVersion = remainingVersions.reduce(
(latest, current) => semver.gt(current, latest) ? current : latest,
firstVersion
);
debug(`Latest version from manifest: ${latestVersion}`); debug(`Latest version from manifest: ${latestVersion}`);
return latestVersion; return latestVersion;
} }
@@ -49589,7 +49579,7 @@ async function run() {
} }
const latestVersion = await getLatestVersion(); const latestVersion = await getLatestVersion();
const latestKnownVersion = getLatestKnownVersionFromChecksums(); const latestKnownVersion = getLatestKnownVersionFromChecksums();
if (semver2.lte(latestVersion, latestKnownVersion)) { if (semver.lte(latestVersion, latestKnownVersion)) {
info( info(
`Latest release (${latestVersion}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.` `Latest release (${latestVersion}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`
); );
@@ -49608,7 +49598,7 @@ function getLatestKnownVersionFromChecksums() {
versions.add(version); versions.add(version);
} }
} }
const latestVersion = [...versions].sort(semver2.rcompare)[0]; const latestVersion = [...versions].sort(semver.rcompare)[0];
if (!latestVersion) { if (!latestVersion) {
throw new Error("Could not determine latest known version from checksums."); throw new Error("Could not determine latest known version from checksums.");
} }

View File

@@ -1,5 +1,4 @@
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as semver from "semver";
import { VERSIONS_MANIFEST_URL } from "../utils/constants"; import { VERSIONS_MANIFEST_URL } from "../utils/constants";
import { fetch } from "../utils/fetch"; import { fetch } from "../utils/fetch";
import { selectDefaultVariant } from "./variant-selection"; import { selectDefaultVariant } from "./variant-selection";
@@ -99,20 +98,12 @@ export function parseManifest(
export async function getLatestVersion( export async function getLatestVersion(
manifestUrl: string = VERSIONS_MANIFEST_URL, manifestUrl: string = VERSIONS_MANIFEST_URL,
): Promise<string> { ): Promise<string> {
const versions = await fetchManifest(manifestUrl); const latestVersion = (await fetchManifest(manifestUrl))[0]?.version;
const [firstVersion, ...remainingVersions] = versions.map(
(versionData) => versionData.version,
);
if (firstVersion === undefined) { if (latestVersion === undefined) {
throw new Error("No versions found in manifest data"); throw new Error("No versions found in manifest data");
} }
const latestVersion = remainingVersions.reduce(
(latest, current) => (semver.gt(current, latest) ? current : latest),
firstVersion,
);
core.debug(`Latest version from manifest: ${latestVersion}`); core.debug(`Latest version from manifest: ${latestVersion}`);
return latestVersion; return latestVersion;
} }