From 6d7bbaefcc9b996d20006485a2ec00f3577fe1ad Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 6 Feb 2018 10:56:21 +0100 Subject: [PATCH] fix: detect lerna version in dependencies or devDependencies --- lib/workers/branch/lerna.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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, {