diff --git a/__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt b/__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt index 7815491..44ab0bc 100644 --- a/__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt +++ b/__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt @@ -1 +1,2 @@ +uvicorn==0.35.0 uv==0.6.17 diff --git a/__tests__/version/requirements-file.test.ts b/__tests__/version/requirements-file.test.ts new file mode 100644 index 0000000..f72bcae --- /dev/null +++ b/__tests__/version/requirements-file.test.ts @@ -0,0 +1,10 @@ +import { getUvVersionFromFile } from "../../src/version/resolve"; + +import { expect, test } from "@jest/globals"; + +test("ignores dependencies starting with uv", async () => { + const parsedVersion = getUvVersionFromFile( + "__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt", + ); + expect(parsedVersion).toBe("0.6.17"); +}); diff --git a/dist/setup/index.js b/dist/setup/index.js index ddf8eaf..2a4cdfd 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -125802,8 +125802,8 @@ function getUvVersionFromRequirementsFile(filePath) { } function getUvVersionFromAllDependencies(allDependencies) { return allDependencies - .find((dep) => dep.startsWith("uv")) - ?.match(/^uv([^A-Z0-9._-]+.*)$/)?.[1] + .find((dep) => dep.match(/^uv[=<>~!]/)) + ?.match(/^uv([=<>~!]+.*)$/)?.[1] .trim(); } function parsePyprojectDependencies(pyprojectContent) { diff --git a/src/version/requirements-file.ts b/src/version/requirements-file.ts index 8db9697..1a8b722 100644 --- a/src/version/requirements-file.ts +++ b/src/version/requirements-file.ts @@ -15,8 +15,8 @@ function getUvVersionFromAllDependencies( allDependencies: string[], ): string | undefined { return allDependencies - .find((dep: string) => dep.startsWith("uv")) - ?.match(/^uv([^A-Z0-9._-]+.*)$/)?.[1] + .find((dep: string) => dep.match(/^uv[=<>~!]/)) + ?.match(/^uv([=<>~!]+.*)$/)?.[1] .trim(); }