From 9b6b59dee967b1e1119366f40e5435deac07ad71 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 8 Feb 2022 21:23:00 +0100 Subject: [PATCH] feat(npm): efficient update-lockfile reuse for lockfileVersion>=2 (#14097) --- .../update/locked-dependency/package-lock/index.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/manager/npm/update/locked-dependency/package-lock/index.ts b/lib/manager/npm/update/locked-dependency/package-lock/index.ts index d54dae102306f6..d04035db367e77 100644 --- a/lib/manager/npm/update/locked-dependency/package-lock/index.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/index.ts @@ -39,10 +39,6 @@ export async function updateLockedDependency( logger.warn({ err }, 'Failed to parse files'); return { status: 'update-failed' }; } - if (packageLockJson.lockfileVersion === 2) { - logger.debug('Only lockfileVersion 1 is supported'); - return { status: 'update-failed' }; - } const lockedDeps = getLockedDependencies( packageLockJson, depName, @@ -67,7 +63,12 @@ export async function updateLockedDependency( ); status = 'already-updated'; } else { - if (allowHigherOrRemoved) { + if (packageLockJson.lockfileVersion !== 1) { + logger.debug( + `Found lockfileVersion ${packageLockJson.lockfileVersion}` + ); + status = 'update-failed'; + } else if (allowHigherOrRemoved) { // it's acceptable if the package is no longer present const anyVersionLocked = getLockedDependencies( packageLockJson,