diff --git a/lib/manager/common.ts b/lib/manager/common.ts index 0d219da80c802c39efc0096c238ce11eeac7aacd..0e7421db5f9707a33634c1817f41614163ab6411 100644 --- a/lib/manager/common.ts +++ b/lib/manager/common.ts @@ -22,7 +22,7 @@ export interface ExtractConfig extends ManagerConfig { gradle?: { timeout?: number }; aliases?: Record<string, string>; ignoreNpmrcFile?: boolean; - + yarnrc?: string; skipInstalls?: boolean; versioning?: string; } diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts index 2e739b24f2f0ed67c38c7a617cae0a3980f8441e..af87571eb37ca8887c998c0d6805ca975bcdd4af 100644 --- a/lib/manager/npm/extract/index.ts +++ b/lib/manager/npm/extract/index.ts @@ -118,7 +118,10 @@ export async function extractPackageFile( } } const yarnrcFileName = getSiblingFileName(fileName, '.yarnrc'); - const yarnrc = (await readLocalFile(yarnrcFileName, 'utf8')) || undefined; + let yarnrc; + if (!is.string(config.yarnrc)) { + yarnrc = (await readLocalFile(yarnrcFileName, 'utf8')) || undefined; + } let lernaDir: string; let lernaPackages: string[]; diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts index c89f361a3603c314e590e8e88cfce3c352cd0c43..b93ac0080d17e8a8e4b2175bbe6aaab1f7bdf8d4 100644 --- a/lib/manager/npm/post-update/index.ts +++ b/lib/manager/npm/post-update/index.ts @@ -1,4 +1,5 @@ import path from 'path'; +import is from '@sindresorhus/is'; import upath from 'upath'; import { SYSTEM_INSUFFICIENT_DISK_SPACE } from '../../../constants/error-messages'; import { id as npmId } from '../../../datasource/npm'; @@ -129,7 +130,7 @@ export async function writeExistingFiles( logger.debug('Removing ignored .npmrc file before artifact generation'); await remove(npmrcFile); } - if (config.yarnrc) { + if (is.string(config.yarnrc)) { logger.debug(`Writing repo .yarnrc (${config.localDir})`); await outputFile(upath.join(config.localDir, '.yarnrc'), config.yarnrc); }