From 48d3ebab1db309f7a29344c1d6b015de377dcadd Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Thu, 27 Jul 2023 15:53:08 +0200
Subject: [PATCH] fix(lerna): detect lerna in dependencies (#23575)

---
 lib/modules/manager/npm/post-update/lerna.spec.ts | 6 ++++--
 lib/modules/manager/npm/post-update/lerna.ts      | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/modules/manager/npm/post-update/lerna.spec.ts b/lib/modules/manager/npm/post-update/lerna.spec.ts
index f061b4344f..c56f39a345 100644
--- a/lib/modules/manager/npm/post-update/lerna.spec.ts
+++ b/lib/modules/manager/npm/post-update/lerna.spec.ts
@@ -219,7 +219,9 @@ describe('modules/manager/npm/post-update/lerna', () => {
     it('returns specified version', () => {
       const pkg = {};
       expect(
-        lernaHelper.getLernaVersion(pkg, { engines: { lerna: '2.0.0' } })
+        lernaHelper.getLernaVersion(pkg, {
+          devDependencies: { lerna: '2.0.0' },
+        })
       ).toBe('2.0.0');
     });
 
@@ -227,7 +229,7 @@ describe('modules/manager/npm/post-update/lerna', () => {
       const pkg = {};
       expect(
         lernaHelper.getLernaVersion(pkg, {
-          engines: { lerna: '1.x || >=2.5.0 || 5.0.0 - 7.2.3' },
+          dependencies: { lerna: '1.x || >=2.5.0 || 5.0.0 - 7.2.3' },
         })
       ).toBe('1.x || >=2.5.0 || 5.0.0 - 7.2.3');
     });
diff --git a/lib/modules/manager/npm/post-update/lerna.ts b/lib/modules/manager/npm/post-update/lerna.ts
index f65a052d47..0557889be0 100644
--- a/lib/modules/manager/npm/post-update/lerna.ts
+++ b/lib/modules/manager/npm/post-update/lerna.ts
@@ -24,9 +24,10 @@ import { getPackageManagerVersion, lazyLoadPackageJson } from './utils';
 // Exported for testability
 export function getLernaVersion(
   lernaPackageFile: Partial<PackageFile<NpmManagerData>>,
-  lazyPgkJson: PackageJsonSchema
+  lazyPkgJson: PackageJsonSchema
 ): string | null {
-  const constraint = getPackageManagerVersion('lerna', lazyPgkJson);
+  const constraint =
+    lazyPkgJson.dependencies?.lerna ?? lazyPkgJson.devDependencies?.lerna;
   if (!constraint || !semver.validRange(constraint)) {
     logger.warn(
       // TODO: types (#7154)
-- 
GitLab