From 1e1c7512e39d5932963407675c6b2d45f09dcc66 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 20 Dec 2021 08:48:05 +0100
Subject: [PATCH] fix(npm): don't coerce npm constraint if already an exact
 version (#13202)

---
 lib/manager/npm/extract/locked-versions.ts | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/manager/npm/extract/locked-versions.ts b/lib/manager/npm/extract/locked-versions.ts
index 6d3f797554..1c1c4cab43 100644
--- a/lib/manager/npm/extract/locked-versions.ts
+++ b/lib/manager/npm/extract/locked-versions.ts
@@ -55,7 +55,10 @@ export async function getLockedVersions(
       const { lockfileVersion } = lockFileCache[npmLock];
       if (lockfileVersion === 1) {
         if (packageFile.constraints.npm) {
-          packageFile.constraints.npm += ' <7';
+          // Add a <7 constraint if it's not already a fixed version
+          if (!valid(packageFile.constraints.npm)) {
+            packageFile.constraints.npm += ' <7';
+          }
         } else {
           packageFile.constraints.npm = '<7';
         }
-- 
GitLab