From 157c07a0a1810b10d7ac110ed2b3a16b67a147b1 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 9 Aug 2022 07:28:14 +0200 Subject: [PATCH] fix(yarn): check stdout for disk space error (#17056) Closes #16536 --- lib/modules/manager/npm/post-update/yarn.ts | 24 +++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/modules/manager/npm/post-update/yarn.ts b/lib/modules/manager/npm/post-update/yarn.ts index f46075e125..4b7b269ee0 100644 --- a/lib/modules/manager/npm/post-update/yarn.ts +++ b/lib/modules/manager/npm/post-update/yarn.ts @@ -281,17 +281,19 @@ export async function generateLockFile( }, 'lock file error' ); - if (err.stderr) { - if (err.stderr.includes('ENOSPC: no space left on device')) { - throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE); - } - if ( - err.stderr.includes('The registry may be down.') || - err.stderr.includes('getaddrinfo ENOTFOUND registry.yarnpkg.com') || - err.stderr.includes('getaddrinfo ENOTFOUND registry.npmjs.org') - ) { - throw new ExternalHostError(err, NpmDatasource.id); - } + const stdouterr = String(err.stdout) + String(err.stderr); + if ( + stdouterr.includes('ENOSPC: no space left on device') || + stdouterr.includes('Out of diskspace') + ) { + throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE); + } + if ( + stdouterr.includes('The registry may be down.') || + stdouterr.includes('getaddrinfo ENOTFOUND registry.yarnpkg.com') || + stdouterr.includes('getaddrinfo ENOTFOUND registry.npmjs.org') + ) { + throw new ExternalHostError(err, NpmDatasource.id); } return { error: true, stderr: err.stderr, stdout: err.stdout }; } -- GitLab