diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js index 1daebc0ff590a611e1e386f2605e34a0fb2aabc4..c9e52760b64e4e5b89ffcf70657e38bcb7e1437d 100644 --- a/lib/manager/npm/post-update/index.js +++ b/lib/manager/npm/post-update/index.js @@ -33,7 +33,8 @@ function determineLockFileDirs(config, packageFiles) { packageFile.lernaDir && (packageFile.npmLock || packageFile.yarnLock) ) { - lernaDirs.push(packageFile.lernaDir); + logger.info('Skipping lerna lockFileMaintenance - unsupported'); + // TODO: lernaDirs.push(packageFile.lernaDir); } else { yarnLockDirs.push(packageFile.yarnLock); npmLockDirs.push(packageFile.npmLock); @@ -452,10 +453,6 @@ async function getAdditionalFiles(config, packageFiles) { } else { lockFile = config.yarnLock || 'yarn.lock'; } - if (!config.lernaClient) { - logger.debug({ config }, 'lernaClient debug'); - throw new Error('internal-error'); - } logger.debug( { lernaClient: config.lernaClient, lockFile }, 'Generating lock files using lerna' diff --git a/lib/manager/npm/post-update/lerna.js b/lib/manager/npm/post-update/lerna.js index 88d71df61c32e30b4a1eab36ada4ac244bc2a1a0..d497a832699c32b9370f1326abf16c01ace38d6d 100644 --- a/lib/manager/npm/post-update/lerna.js +++ b/lib/manager/npm/post-update/lerna.js @@ -5,6 +5,10 @@ module.exports = { }; async function generateLockFiles(lernaClient, tmpDir, env) { + if (!lernaClient) { + logger.warn('No lernaClient specified - returning'); + return { error: false }; + } logger.debug(`Spawning lerna with ${lernaClient} to create lock files`); let stdout; let stderr; diff --git a/test/workers/branch/lock-files/lerna.spec.js b/test/workers/branch/lock-files/lerna.spec.js index 7c3cae78625d210a746450ab0fd669adc594dff5..576e39d9feb87f01aabb84f50e4b96dc18ced80b 100644 --- a/test/workers/branch/lock-files/lerna.spec.js +++ b/test/workers/branch/lock-files/lerna.spec.js @@ -5,6 +5,10 @@ jest.mock('child-process-promise'); const { exec } = require('child-process-promise'); describe('generateLockFiles()', () => { + it('returns if no lernaClient', async () => { + const res = await lernaHelper.generateLockFiles(undefined, 'some-dir', {}); + expect(res.error).toBe(false); + }); it('generates package-lock.json files', async () => { platform.getFile.mockReturnValueOnce( JSON.stringify({ dependencies: { lerna: '2.0.0' } })