From d7d6d43bf8014f49962191fbe9f2393a5d04f272 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Wed, 1 Feb 2023 14:53:38 +0100 Subject: [PATCH] fix(manager/npm): don't warn for empty `.yarnrc.yml` (#20149) --- lib/modules/manager/npm/extract/yarnrc.spec.ts | 11 +++++++++++ lib/modules/manager/npm/extract/yarnrc.ts | 13 ++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/modules/manager/npm/extract/yarnrc.spec.ts b/lib/modules/manager/npm/extract/yarnrc.spec.ts index 4997416260..0b77d7ccf3 100644 --- a/lib/modules/manager/npm/extract/yarnrc.spec.ts +++ b/lib/modules/manager/npm/extract/yarnrc.spec.ts @@ -43,6 +43,16 @@ describe('modules/manager/npm/extract/yarnrc', () => { }); expect(registryUrl).toBeNull(); }); + + it('ignores missing scope registryServer', () => { + const registryUrl = resolveRegistryUrl('@scope/a-package', { + npmScopes: { + scope: {}, + }, + npmRegistryServer: 'https://private.example.com/npm', + }); + expect(registryUrl).toBeNull(); + }); }); describe('loadConfigFromYarnrcYml()', () => { @@ -91,6 +101,7 @@ describe('modules/manager/npm/extract/yarnrc', () => { `, null, ], + ['', null], ])('produces expected config (%s)', (yarnrcYml, expectedConfig) => { const config = loadConfigFromYarnrcYml(yarnrcYml); diff --git a/lib/modules/manager/npm/extract/yarnrc.ts b/lib/modules/manager/npm/extract/yarnrc.ts index 81f3448518..49e32e2184 100644 --- a/lib/modules/manager/npm/extract/yarnrc.ts +++ b/lib/modules/manager/npm/extract/yarnrc.ts @@ -17,11 +17,14 @@ export type YarnConfig = z.infer<typeof YarnrcYmlSchema>; export function loadConfigFromYarnrcYml(yarnrcYml: string): YarnConfig | null { try { - return YarnrcYmlSchema.parse( - load(yarnrcYml, { - json: true, - }) - ); + const obj = load(yarnrcYml, { + json: true, + }); + if (!obj) { + // emtpy yaml file + return null; + } + return YarnrcYmlSchema.parse(obj); } catch (err) { logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`); return null; -- GitLab