From f85ee2680c0b51c9d468edcc61fee91e8dfbc468 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Wed, 11 Jan 2023 18:25:48 +0100 Subject: [PATCH] fix(yarn): try/catch .yarnrc.yml parsing (#19787) --- lib/modules/manager/npm/extract/yarn.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/modules/manager/npm/extract/yarn.ts b/lib/modules/manager/npm/extract/yarn.ts index a01d6f857c..0465a9ce52 100644 --- a/lib/modules/manager/npm/extract/yarn.ts +++ b/lib/modules/manager/npm/extract/yarn.ts @@ -51,14 +51,22 @@ export async function getYarnLock(filePath: string): Promise<LockFile> { } export function getZeroInstallPaths(yarnrcYml: string): string[] { - const conf = parseSyml(yarnrcYml); + let conf: any; + try { + conf = parseSyml(yarnrcYml); + } catch (err) /* istanbul ignore next */ { + logger.warn({ err }, 'Error parsing .yarnrc.yml'); + } const paths = [ - conf.cacheFolder || './.yarn/cache', + conf?.cacheFolder || './.yarn/cache', '.pnp.cjs', '.pnp.js', '.pnp.loader.mjs', ]; - if (miscUtils.tryParseOptionalBoolean(conf.pnpEnableInlining) === false) { + if ( + conf && + miscUtils.tryParseOptionalBoolean(conf.pnpEnableInlining) === false + ) { paths.push(conf.pnpDataPath || './.pnp.data.json'); } return paths; -- GitLab