From 2ebc0b7718610fe16f71e549f6a3ed842e4a774e Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 9 May 2018 13:38:24 +0200
Subject: [PATCH] =?UTF-8?q?fix:=20don=E2=80=99t=20write=20.npmrc=20if=20co?=
 =?UTF-8?q?ntains=20unexpanded=20variables?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/manager/npm/post-update/index.js | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js
index 929ecd59af..d2d409c25a 100644
--- a/lib/manager/npm/post-update/index.js
+++ b/lib/manager/npm/post-update/index.js
@@ -169,12 +169,11 @@ async function writeExistingFiles(config, packageFiles) {
         );
       }
     }
-    if (packageFile.npmrc) {
-      logger.debug(`Writing .npmrc to ${basedir}`);
-      await fs.outputFile(upath.join(basedir, '.npmrc'), packageFile.npmrc);
-    } else if (config.npmrc) {
-      logger.debug('Writing repo .npmrc to package file dir');
-      await fs.outputFile(upath.join(basedir, '.npmrc'), config.npmrc);
+    const npmrc = packageFile.npmrc || config.npmrc;
+    if (npmrc.includes('=${' && !config.global.exposeEnv)) {
+      logger.info('Skipping .npmrc as it contains variables');
+    } else {
+      await fs.outputFile(upath.join(basedir, '.npmrc'), npmrc);
     }
     if (packageFile.yarnrc) {
       logger.debug(`Writing .yarnrc to ${basedir}`);
-- 
GitLab