diff --git a/lib/manager/npm/extract/index.js b/lib/manager/npm/extract/index.js index bf147185dd9789392cab233bd183cfb9851455c2..8ab423c9fc75f2d5925c23d0e91c1fc9c320d010 100644 --- a/lib/manager/npm/extract/index.js +++ b/lib/manager/npm/extract/index.js @@ -9,7 +9,7 @@ module.exports = { postExtract, }; -async function extractDependencies(content, packageFile) { +async function extractDependencies(content, packageFile, config) { logger.debug(`npm.extractDependencies(${packageFile})`); logger.trace({ content }); const deps = []; @@ -46,11 +46,14 @@ async function extractDependencies(content, packageFile) { delete lockFiles.packageLock; delete lockFiles.shrinkwrapJson; - let npmrc = await platform.getFile( - upath.join(path.dirname(packageFile), '.npmrc') - ); - if (!npmrc) { - npmrc = undefined; + let npmrc; + if (!config.ignoreNpmrcFile) { + npmrc = await platform.getFile( + upath.join(path.dirname(packageFile), '.npmrc') + ); + if (!npmrc) { + npmrc = undefined; + } } let lernaDir; diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js index 1594cd58556918743e737d9fc4d0fedc337d204e..f9ae03ad91332c46501d7d310e0287c6c780270e 100644 --- a/lib/manager/npm/post-update/index.js +++ b/lib/manager/npm/post-update/index.js @@ -169,11 +169,7 @@ async function writeExistingFiles(config, packageFiles) { ); } } - let { npmrc } = config; - if (packageFile.npmrc && !config.ignoreNpmrc) { - logger.debug('Using package.json .npmrc'); - npmrc = npmrc || packageFile.npmrc; - } + const npmrc = packageFile.npmrc || config.npmrc; if (npmrc) { await fs.outputFile(upath.join(basedir, '.npmrc'), npmrc); } diff --git a/lib/workers/repository/extract/manager-files.js b/lib/workers/repository/extract/manager-files.js index 4f118298eff7e8c0e2819b783a647e99d1a4901a..f54d3ed3dffd4ee6dbeb0454e2f0b9bd0df53799 100644 --- a/lib/workers/repository/extract/manager-files.js +++ b/lib/workers/repository/extract/manager-files.js @@ -41,7 +41,12 @@ async function getManagerPackageFiles(config, managerConfig) { const packageFiles = []; for (const packageFile of matchedFiles) { const content = await platform.getFile(packageFile); - const res = await extractDependencies(manager, content, packageFile); + const res = await extractDependencies( + manager, + content, + packageFile, + config + ); if (res) { packageFiles.push({ packageFile, diff --git a/lib/workers/repository/init/config.js b/lib/workers/repository/init/config.js index 432a392992ba3113d2651b1b312ab2dda3eef623..a2d1d28969df103cd6bc88eabbf7fbb479e01d70 100644 --- a/lib/workers/repository/init/config.js +++ b/lib/workers/repository/init/config.js @@ -22,7 +22,7 @@ async function mergeRenovateConfig(config) { const migratedConfig = await migrateAndValidate(config, renovateJson); const resolvedConfig = await presets.resolveConfigPresets(migratedConfig); if (resolvedConfig.npmrc) { - resolvedConfig.ignoreNpmrc = true; + resolvedConfig.ignoreNpmrcFile = true; } returnConfig = mergeChildConfig(returnConfig, resolvedConfig); returnConfig.renovateJsonPresent = true; diff --git a/test/manager/npm/extract/index.spec.js b/test/manager/npm/extract/index.spec.js index d10e126b655bceefc03fc20069ebd5c0c9b02a69..64d62bbf6bf57a74b35a0adc1346a1d997ecaf2b 100644 --- a/test/manager/npm/extract/index.spec.js +++ b/test/manager/npm/extract/index.spec.js @@ -19,25 +19,32 @@ describe('manager/npm/extract', () => { it('returns null if cannot parse', async () => { const res = await npmExtract.extractDependencies( 'not json', - 'package.json' + 'package.json', + {} ); expect(res).toBe(null); }); it('returns null if no deps', async () => { - const res = await npmExtract.extractDependencies('{}', 'package.json'); + const res = await npmExtract.extractDependencies( + '{}', + 'package.json', + {} + ); expect(res).toBe(null); }); it('handles invalid', async () => { const res = await npmExtract.extractDependencies( '{"dependencies": true, "devDependencies": []}', - 'package.json' + 'package.json', + {} ); expect(res).toBe(null); }); it('returns an array of dependencies', async () => { const res = await npmExtract.extractDependencies( input01Content, - 'package.json' + 'package.json', + {} ); expect(res).toMatchSnapshot(); }); @@ -50,7 +57,8 @@ describe('manager/npm/extract', () => { }); const res = await npmExtract.extractDependencies( input01Content, - 'package.json' + 'package.json', + {} ); expect(res).toMatchSnapshot(); }); @@ -63,7 +71,8 @@ describe('manager/npm/extract', () => { }); const res = await npmExtract.extractDependencies( input01Content, - 'package.json' + 'package.json', + {} ); expect(res).toMatchSnapshot(); });