From 6714a03b9b7c393c1feaa8ce5307733117d401fe Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 2 Oct 2018 12:14:42 +0200 Subject: [PATCH] fix(yarn): write yarn.lock only once --- lib/manager/npm/post-update/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js index 99efe63987..89c2d7e72c 100644 --- a/lib/manager/npm/post-update/index.js +++ b/lib/manager/npm/post-update/index.js @@ -112,6 +112,7 @@ async function writeExistingFiles(config, packageFiles) { { packageFiles: npmFiles.map(n => n.packageFile) }, 'Writing package.json files' ); + const writtenLockFiles = []; for (const packageFile of npmFiles) { const basedir = upath.join( config.localDir, @@ -225,10 +226,11 @@ async function writeExistingFiles(config, packageFiles) { if (config.reuseLockFiles === false) { logger.debug(`Ensuring ${yarnLock} is removed`); await fs.remove(yarnLockPath); - } else { + } else if (!writtenLockFiles[yarnLock]) { logger.debug(`Writing ${yarnLock}`); const existingYarnLock = await platform.getFile(yarnLock); await fs.outputFile(yarnLockPath, existingYarnLock); + writtenLockFiles[yarnLock] = true; } } // TODO: Update the below with this once https://github.com/pnpm/pnpm/issues/992 is fixed -- GitLab