From db5a87edd4a1270fe628278c2c5b5feaa353b3e6 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 27 Mar 2021 07:08:53 +0100
Subject: [PATCH] fix(npm): is.string check for npmrc

---
 lib/datasource/npm/releases.ts       | 3 ++-
 lib/manager/npm/extract/index.ts     | 2 +-
 lib/manager/npm/post-update/index.ts | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/datasource/npm/releases.ts b/lib/datasource/npm/releases.ts
index e26a83b42d..ef724d708f 100644
--- a/lib/datasource/npm/releases.ts
+++ b/lib/datasource/npm/releases.ts
@@ -1,3 +1,4 @@
+import is from '@sindresorhus/is';
 import type { GetReleasesConfig, ReleaseResult } from '../types';
 import { getDependency } from './get';
 import { setNpmrc } from './npmrc';
@@ -6,7 +7,7 @@ export async function getReleases({
   lookupName,
   npmrc,
 }: GetReleasesConfig): Promise<ReleaseResult | null> {
-  if (npmrc) {
+  if (is.string(npmrc)) {
     setNpmrc(npmrc);
   }
   const res = await getDependency(lookupName);
diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts
index 33dd844c44..ad22069b05 100644
--- a/lib/manager/npm/extract/index.ts
+++ b/lib/manager/npm/extract/index.ts
@@ -106,7 +106,7 @@ export async function extractPackageFile(
       logger.debug('Stripping package-lock setting from npmrc');
       npmrc = npmrc.replace(/(^|\n)package-lock.*?(\n|$)/g, '\n');
     }
-    if (npmrc) {
+    if (is.string(npmrc)) {
       if (npmrc.includes('=${') && getAdminConfig().trustLevel !== 'high') {
         logger.debug('Discarding .npmrc file with variables');
         ignoreNpmrcFile = true;
diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts
index 62305f5d49..083272c161 100644
--- a/lib/manager/npm/post-update/index.ts
+++ b/lib/manager/npm/post-update/index.ts
@@ -138,7 +138,7 @@ export async function writeExistingFiles(
     );
     const npmrc: string = packageFile.npmrc || config.npmrc;
     const npmrcFilename = upath.join(basedir, '.npmrc');
-    if (npmrc) {
+    if (is.string(npmrc)) {
       try {
         await outputFile(npmrcFilename, `${npmrc}\n`);
       } catch (err) /* istanbul ignore next */ {
-- 
GitLab