From b8b435b0fa5a280de0cbf0aa59069aa4e28df2d7 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 23 Jul 2019 10:20:27 +0200 Subject: [PATCH] feat(npm): support binarySource=docker (#4150) --- lib/manager/npm/post-update/npm.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/manager/npm/post-update/npm.js b/lib/manager/npm/post-update/npm.js index c92a99e2e2..6a8765cf0a 100644 --- a/lib/manager/npm/post-update/npm.js +++ b/lib/manager/npm/post-update/npm.js @@ -64,6 +64,20 @@ async function generateLockFile( if (binarySource === 'global') { cmd = 'npm'; } + // istanbul ignore if + if (config.binarySource === 'docker') { + logger.info('Running npm via docker'); + cmd = `docker run --rm `; + const volumes = [cwd]; + if (config.cacheDir) { + volumes.push(config.cacheDir); + } + cmd += volumes.map(v => `-v ${v}:${v} `).join(''); + const envVars = ['NPM_CONFIG_CACHE', 'npm_config_store']; + cmd += envVars.map(e => `-e ${e} `).join(''); + cmd += `-w ${cwd} `; + cmd += `renovate/npm npm`; + } args = `install`; if ( (postUpdateOptions && postUpdateOptions.includes('npmDedupe')) || -- GitLab