diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts index a61147a19391d6..8a4f2cc684a1d9 100644 --- a/lib/manager/npm/extract/index.spec.ts +++ b/lib/manager/npm/extract/index.spec.ts @@ -125,7 +125,7 @@ describe('manager/npm/extract', () => { 'package.json', {} ); - expect(res.npmrc).toBeUndefined(); + expect(res.npmrc).toEqual(''); }); it('finds lerna', async () => { fs.readLocalFile = jest.fn((fileName) => { diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts index 864d347acdc305..6bcf65e0df4bd7 100644 --- a/lib/manager/npm/extract/index.ts +++ b/lib/manager/npm/extract/index.ts @@ -111,10 +111,14 @@ export async function extractPackageFile( npmrc = npmrc.replace(/(^|\n)package-lock.*?(\n|$)/g, '\n'); } if (npmrc.includes('=${') && getAdminConfig().trustLevel !== 'high') { - logger.debug('Discarding .npmrc file with variables'); - ignoreNpmrcFile = true; - npmrc = undefined; - await deleteLocalFile(npmrcFileName); + logger.debug( + { npmrcFileName }, + 'Discarding .npmrc lines with variables' + ); + npmrc = npmrc + .split('\n') + .filter((line) => !line.includes('=${')) + .join('\n'); } } else { npmrc = undefined;