diff --git a/lib/modules/manager/poetry/__snapshots__/extract.spec.ts.snap b/lib/modules/manager/poetry/__snapshots__/extract.spec.ts.snap index 7b215629568f70..b42a6a577429b6 100644 --- a/lib/modules/manager/poetry/__snapshots__/extract.spec.ts.snap +++ b/lib/modules/manager/poetry/__snapshots__/extract.spec.ts.snap @@ -400,6 +400,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep1", "versioning": "poetry", }, { @@ -410,6 +411,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep2", "versioning": "poetry", }, { @@ -420,6 +422,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep3", "versioning": "poetry", }, ], @@ -438,6 +441,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "dep1-", "versioning": "pep440", }, { @@ -478,6 +482,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "dev-dep1", "versioning": "poetry", }, { @@ -488,6 +493,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "dev-dep2", "skipReason": "unknown-version", }, { @@ -498,6 +504,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep1", "versioning": "poetry", }, { @@ -508,6 +515,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep2", "versioning": "poetry", }, { @@ -518,6 +526,7 @@ exports[`modules/manager/poetry/extract extractPackageFile() extracts multiple d "managerData": { "nestedVersion": false, }, + "packageName": "extra-dep3", "versioning": "poetry", }, ] diff --git a/lib/modules/manager/poetry/extract.spec.ts b/lib/modules/manager/poetry/extract.spec.ts index 423af4f6a301c5..a1a459499491b6 100644 --- a/lib/modules/manager/poetry/extract.spec.ts +++ b/lib/modules/manager/poetry/extract.spec.ts @@ -156,12 +156,14 @@ describe('modules/manager/poetry/extract', () => { datasource: 'pypi', depName: 'dev_dep', depType: 'dev', + packageName: 'dev-dep', }, { currentValue: '^4.0', datasource: 'pypi', depName: 'typing_dep', depType: 'typing', + packageName: 'typing-dep', }, ]); }); diff --git a/lib/modules/manager/poetry/extract.ts b/lib/modules/manager/poetry/extract.ts index aaf74be3aebb4e..535dc0208057a1 100644 --- a/lib/modules/manager/poetry/extract.ts +++ b/lib/modules/manager/poetry/extract.ts @@ -7,6 +7,7 @@ import { localPathExists, readLocalFile, } from '../../../util/fs'; +import { regEx } from '../../../util/regex'; import { PypiDatasource } from '../../datasource/pypi'; import * as pep440Versioning from '../../versioning/pep440'; import * as poetryVersioning from '../../versioning/poetry'; @@ -54,6 +55,10 @@ function extractFromSection( continue; } + const pep503NormalizeRegex = regEx(/[-_.]+/g); + const packageName = depName + .toLowerCase() + .replace(pep503NormalizeRegex, '-'); let skipReason: SkipReason | null = null; let currentValue = sectionContent[depName]; let nestedVersion = false; @@ -85,8 +90,11 @@ function extractFromSection( managerData: { nestedVersion }, datasource: PypiDatasource.id, }; - if (depName in poetryLockfile) { - dep.lockedVersion = poetryLockfile[depName]; + if (packageName in poetryLockfile) { + dep.lockedVersion = poetryLockfile[packageName]; + } + if (depName !== packageName) { + dep.packageName = packageName; } if (skipReason) { dep.skipReason = skipReason;