From 846c8670b5d39b8e2196fff77fd916b7ea5a62f3 Mon Sep 17 00:00:00 2001 From: Trim21 <trim21.me@gmail.com> Date: Fri, 17 Jan 2025 23:26:29 +0800 Subject: [PATCH] fix(pep621): pep508 version spec with parens (#33632) --- lib/modules/manager/pep621/utils.spec.ts | 2 ++ lib/modules/manager/pep621/utils.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/pep621/utils.spec.ts b/lib/modules/manager/pep621/utils.spec.ts index 4d1e6edbcb..80d2ca16d8 100644 --- a/lib/modules/manager/pep621/utils.spec.ts +++ b/lib/modules/manager/pep621/utils.spec.ts @@ -10,6 +10,8 @@ describe('modules/manager/pep621/utils', () => { ${null} | ${false} | ${undefined} | ${undefined} | ${undefined} | ${undefined} ${'blinker'} | ${true} | ${'blinker'} | ${undefined} | ${undefined} | ${undefined} ${'packaging==20.0.0'} | ${true} | ${'packaging'} | ${'==20.0.0'} | ${undefined} | ${undefined} + ${'packaging (==20.0.0)'} | ${true} | ${'packaging'} | ${'==20.0.0'} | ${undefined} | ${undefined} + ${'packaging (==20.0.0); python_version < "3.8"'} | ${true} | ${'packaging'} | ${'==20.0.0'} | ${undefined} | ${'python_version < "3.8"'} ${'packaging>=20.9,!=22.0'} | ${true} | ${'packaging'} | ${'>=20.9,!=22.0'} | ${undefined} | ${undefined} ${'cachecontrol[filecache]>=0.12.11'} | ${true} | ${'cachecontrol'} | ${'>=0.12.11'} | ${['filecache']} | ${undefined} ${'private-depB[extra1, extra2]~=2.4'} | ${true} | ${'private-depB'} | ${'~=2.4'} | ${['extra1', 'extra2']} | ${undefined} diff --git a/lib/modules/manager/pep621/utils.ts b/lib/modules/manager/pep621/utils.ts index 1a39606492..6df1b79ae4 100644 --- a/lib/modules/manager/pep621/utils.ts +++ b/lib/modules/manager/pep621/utils.ts @@ -43,8 +43,16 @@ export function parsePEP508( packageName: regExpExec.groups.packageName, }; if (is.nonEmptyString(regExpExec.groups.currentValue)) { - result.currentValue = regExpExec.groups.currentValue; + if ( + regExpExec.groups.currentValue.startsWith('(') && + regExpExec.groups.currentValue.endsWith(')') + ) { + result.currentValue = regExpExec.groups.currentValue.slice(1, -1).trim(); + } else { + result.currentValue = regExpExec.groups.currentValue; + } } + if (is.nonEmptyString(regExpExec.groups.marker)) { result.marker = regExpExec.groups.marker; } -- GitLab