diff --git a/lib/workers/branch/lerna.js b/lib/workers/branch/lerna.js index 962167b9f7..c10d3afbd4 100644 --- a/lib/workers/branch/lerna.js +++ b/lib/workers/branch/lerna.js @@ -10,17 +10,20 @@ async function generateLockFiles(manager, tmpDir, env) { let stderr; try { const startTime = process.hrtime(); - let lernaVersion = 'latest'; + let lernaVersion; try { - lernaVersion = JSON.parse(await platform.getFile('package.json')) - .devDependencies.lerna; + lernaVersion = + JSON.parse(await platform.getFile('package.json')).dependencies.lerna || + JSON.parse(await platform.getFile('package.json')).devDependencies + .lerna; } catch (err) { - logger.warn('Could not detect lerna in devDependencies'); + logger.warn('Could not detect lerna version in package.json'); } logger.debug('Using lerna version ' + lernaVersion); const params = manager === 'npm' ? '--package-lock-only' : '--ignore-scripts'; - const cmd = `${manager} install ${params} && npx lerna@${lernaVersion} bootstrap -- ${params}`; + const cmd = `${manager} install ${params} && npx lerna@${lernaVersion || + 'latest'} bootstrap -- ${params}`; logger.debug({ cmd }); // TODO: Switch to native util.promisify once using only node 8 ({ stdout, stderr } = await exec(cmd, {