From 60b101d22cc06a7c3b3f1bfa97d37c295f3a89ca Mon Sep 17 00:00:00 2001
From: Sergio Zharinov <zharinov@users.noreply.github.com>
Date: Thu, 27 Aug 2020 10:59:23 +0400
Subject: [PATCH] refactor(manager): Fix lint warnings (#7116)

---
 lib/manager/bundler/artifacts.ts            |  4 ++--
 lib/manager/bundler/extract.ts              | 11 +++++++----
 lib/manager/common.ts                       |  2 +-
 lib/manager/composer/artifacts.ts           |  2 +-
 lib/manager/gomod/update.ts                 |  2 +-
 lib/manager/helm-values/extract.ts          | 12 +++++++-----
 lib/manager/homebrew/update.ts              | 14 ++++++++------
 lib/manager/maven/extract.ts                |  2 +-
 lib/manager/npm/post-update/index.ts        |  8 +++++---
 lib/manager/npm/post-update/node-version.ts |  6 ++----
 lib/manager/npm/update.ts                   |  6 +++---
 lib/manager/nuget/extract.ts                |  4 ++--
 lib/manager/pip_requirements/artifacts.ts   |  2 +-
 lib/manager/pip_requirements/extract.ts     |  3 ++-
 lib/manager/pipenv/artifacts.ts             |  7 +++++--
 lib/manager/pipenv/extract.ts               |  2 +-
 lib/manager/poetry/artifacts.ts             |  2 +-
 lib/manager/regex/index.ts                  |  2 +-
 lib/manager/travis/package.ts               | 10 +++++-----
 19 files changed, 56 insertions(+), 45 deletions(-)

diff --git a/lib/manager/bundler/artifacts.ts b/lib/manager/bundler/artifacts.ts
index 56f745b720..c0d0bbd228 100644
--- a/lib/manager/bundler/artifacts.ts
+++ b/lib/manager/bundler/artifacts.ts
@@ -154,7 +154,7 @@ export async function updateArtifacts(
       },
     ];
   } catch (err) /* istanbul ignore next */ {
-    const output = `${err.stdout}\n${err.stderr}`;
+    const output = `${String(err.stdout)}\n${String(err.stderr)}`;
     if (
       err.message.includes('fatal: Could not parse object') ||
       output.includes('but that version could not be found')
@@ -223,7 +223,7 @@ export async function updateArtifacts(
       {
         artifactError: {
           lockFile: lockFileName,
-          stderr: `${err.stdout}\n${err.stderr}`,
+          stderr: `${String(err.stdout)}\n${String(err.stderr)}`,
         },
       },
     ];
diff --git a/lib/manager/bundler/extract.ts b/lib/manager/bundler/extract.ts
index 91096269fb..e59c67c6ce 100644
--- a/lib/manager/bundler/extract.ts
+++ b/lib/manager/bundler/extract.ts
@@ -96,7 +96,8 @@ export async function extractPackageFile(
             ...dep,
             depTypes,
             managerData: {
-              lineNumber: dep.managerData.lineNumber + groupLineNumber + 1,
+              lineNumber:
+                Number(dep.managerData.lineNumber) + groupLineNumber + 1,
             },
           }))
         );
@@ -130,7 +131,8 @@ export async function extractPackageFile(
               ...dep,
               registryUrls: [repositoryUrl],
               managerData: {
-                lineNumber: dep.managerData.lineNumber + sourceLineNumber + 1,
+                lineNumber:
+                  Number(dep.managerData.lineNumber) + sourceLineNumber + 1,
               },
             }))
           );
@@ -156,7 +158,8 @@ export async function extractPackageFile(
           platformsRes.deps.map((dep) => ({
             ...dep,
             managerData: {
-              lineNumber: dep.managerData.lineNumber + platformsLineNumber + 1,
+              lineNumber:
+                Number(dep.managerData.lineNumber) + platformsLineNumber + 1,
             },
           }))
         );
@@ -181,7 +184,7 @@ export async function extractPackageFile(
           ifRes.deps.map((dep) => ({
             ...dep,
             managerData: {
-              lineNumber: dep.managerData.lineNumber + ifLineNumber + 1,
+              lineNumber: Number(dep.managerData.lineNumber) + ifLineNumber + 1,
             },
           }))
         );
diff --git a/lib/manager/common.ts b/lib/manager/common.ts
index b9d8acf064..35fba9818a 100644
--- a/lib/manager/common.ts
+++ b/lib/manager/common.ts
@@ -220,7 +220,7 @@ export interface UpdateDependencyConfig {
 }
 
 export interface ManagerApi {
-  defaultConfig: object;
+  defaultConfig: Record<string, unknown>;
   language?: string;
   supportsLockFileMaintenance?: boolean;
 
diff --git a/lib/manager/composer/artifacts.ts b/lib/manager/composer/artifacts.ts
index 98f1342c4d..8c153c4fec 100644
--- a/lib/manager/composer/artifacts.ts
+++ b/lib/manager/composer/artifacts.ts
@@ -128,7 +128,7 @@ export async function updateArtifacts({
       },
     };
     const cmd = 'composer';
-    let args;
+    let args: string;
     if (config.isLockFileMaintenance) {
       args = 'install';
     } else {
diff --git a/lib/manager/gomod/update.ts b/lib/manager/gomod/update.ts
index d723e06c6f..4315c94e47 100644
--- a/lib/manager/gomod/update.ts
+++ b/lib/manager/gomod/update.ts
@@ -75,7 +75,7 @@ export function updateDependency({
         !newLine.includes(`/v${upgrade.newMajor}`)
       ) {
         // If package has no version, pin to latest one.
-        newLine = newLine.replace(depName, depName + '/v' + upgrade.newMajor);
+        newLine = newLine.replace(depName, `${depName}/v${upgrade.newMajor}`);
         if (/^v(0|1)\./.test(upgrade.currentValue)) {
           // Add version
           newLine = newLine.replace(
diff --git a/lib/manager/helm-values/extract.ts b/lib/manager/helm-values/extract.ts
index 1f3e9406ad..12814f2213 100644
--- a/lib/manager/helm-values/extract.ts
+++ b/lib/manager/helm-values/extract.ts
@@ -14,7 +14,7 @@ import {
  * @param parsedContent
  */
 function findDependencies(
-  parsedContent: object | HelmDockerImageDependency,
+  parsedContent: Record<string, unknown> | HelmDockerImageDependency,
   packageDependencies: Array<PackageDependency>
 ): Array<PackageDependency> {
   if (!parsedContent || typeof parsedContent !== 'object') {
@@ -25,10 +25,12 @@ function findDependencies(
     if (matchesHelmValuesDockerHeuristic(key, parsedContent[key])) {
       const currentItem = parsedContent[key];
 
-      const registry = currentItem.registry ? `${currentItem.registry}/` : '';
-      packageDependencies.push(
-        getDep(`${registry}${currentItem.repository}:${currentItem.tag}`, false)
-      );
+      let registry: string = currentItem.registry;
+      registry = registry ? `${registry}/` : '';
+      const repository = String(currentItem.repository);
+      const tag = String(currentItem.tag);
+      const currentFrom = `${registry}${repository}:${tag}`;
+      packageDependencies.push(getDep(currentFrom, false));
     } else {
       findDependencies(parsedContent[key], packageDependencies);
     }
diff --git a/lib/manager/homebrew/update.ts b/lib/manager/homebrew/update.ts
index 3a62dbd628..0f4a40c605 100644
--- a/lib/manager/homebrew/update.ts
+++ b/lib/manager/homebrew/update.ts
@@ -157,11 +157,11 @@ export async function updateDependency({
   }
   let newSha256: string;
   try {
-    newUrl = `https://github.com/${upgrade.managerData.ownerName}/${
-      upgrade.managerData.repoName
-    }/releases/download/${upgrade.newValue}/${
-      upgrade.managerData.repoName
-    }-${coerce(upgrade.newValue)}.tar.gz`;
+    const ownerName = String(upgrade.managerData.ownerName);
+    const repoName = String(upgrade.managerData.repoName);
+    newUrl = `https://github.com/${ownerName}/${repoName}/releases/download/${
+      upgrade.newValue
+    }/${repoName}-${String(coerce(upgrade.newValue))}.tar.gz`;
     newSha256 = await fromStream(http.stream(newUrl), {
       algorithm: 'sha256',
     });
@@ -170,7 +170,9 @@ export async function updateDependency({
       `Failed to download release download for ${upgrade.depName} - trying archive instead`
     );
     try {
-      newUrl = `https://github.com/${upgrade.managerData.ownerName}/${upgrade.managerData.repoName}/archive/${upgrade.newValue}.tar.gz`;
+      const ownerName = String(upgrade.managerData.ownerName);
+      const repoName = String(upgrade.managerData.repoName);
+      newUrl = `https://github.com/${ownerName}/${repoName}/archive/${upgrade.newValue}.tar.gz`;
       newSha256 = await fromStream(http.stream(newUrl), {
         algorithm: 'sha256',
       });
diff --git a/lib/manager/maven/extract.ts b/lib/manager/maven/extract.ts
index b0bc862d7c..083bd6e964 100644
--- a/lib/manager/maven/extract.ts
+++ b/lib/manager/maven/extract.ts
@@ -183,7 +183,7 @@ export function extractPackage(
   if (propsNode?.children) {
     for (const propNode of propsNode.children as XmlElement[]) {
       const key = propNode.name;
-      const val = propNode.val && propNode.val.trim();
+      const val = propNode?.val?.trim();
       if (key && val) {
         const fileReplacePosition = propNode.position;
         props[key] = { val, fileReplacePosition, packageFile };
diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts
index 93f16aced3..2a32d60735 100644
--- a/lib/manager/npm/post-update/index.ts
+++ b/lib/manager/npm/post-update/index.ts
@@ -89,7 +89,7 @@ export function determineLockFileDirs(
   }
 
   for (const p of config.updatedPackageFiles) {
-    logger.trace(`Checking ${p.name} for lock files`);
+    logger.trace(`Checking ${String(p.name)} for lock files`);
     const packageFile = getPackageFile(p.name);
     // lerna first
     if (packageFile.lernaDir && packageFile.npmLock) {
@@ -192,7 +192,9 @@ export async function writeExistingFiles(
           }
         }
         if (widens.length) {
-          logger.debug(`Removing ${widens} from ${npmLock} to force an update`);
+          logger.debug(
+            `Removing ${String(widens)} from ${npmLock} to force an update`
+          );
           try {
             const npmLockParsed = JSON.parse(existingNpmLock);
             if (npmLockParsed.dependencies) {
@@ -236,7 +238,7 @@ export async function writeUpdatedPackageFiles(
     if (!packageFile.name.endsWith('package.json')) {
       continue; // eslint-disable-line
     }
-    logger.debug(`Writing ${packageFile.name}`);
+    logger.debug(`Writing ${String(packageFile.name)}`);
     const massagedFile = JSON.parse(packageFile.contents);
     try {
       const { token } = hostRules.find({
diff --git a/lib/manager/npm/post-update/node-version.ts b/lib/manager/npm/post-update/node-version.ts
index b929499b63..c6391a6cd9 100644
--- a/lib/manager/npm/post-update/node-version.ts
+++ b/lib/manager/npm/post-update/node-version.ts
@@ -18,10 +18,8 @@ async function getNodeFile(filename: string): Promise<string> | null {
   return null;
 }
 
-function getPackageJsonConstraint(
-  config: PostUpdateConfig
-): Promise<string> | null {
-  const constraint = config.compatibility?.node;
+function getPackageJsonConstraint(config: PostUpdateConfig): string | null {
+  const constraint: string = config.compatibility?.node;
   if (constraint && validRange(constraint)) {
     logger.debug(`Using node constraint "${constraint}" from package.json`);
     return constraint;
diff --git a/lib/manager/npm/update.ts b/lib/manager/npm/update.ts
index bd240aef67..7eed581aec 100644
--- a/lib/manager/npm/update.ts
+++ b/lib/manager/npm/update.ts
@@ -62,7 +62,7 @@ export function updateDependency({
   upgrade,
 }: UpdateDependencyConfig): string | null {
   const { depType, managerData } = upgrade;
-  const depName = managerData?.key || upgrade.depName;
+  const depName: string = managerData?.key || upgrade.depName;
   let { newValue } = upgrade;
   if (upgrade.currentRawValue) {
     if (upgrade.currentDigest) {
@@ -86,7 +86,7 @@ export function updateDependency({
   try {
     const parsedContents = JSON.parse(fileContent);
     // Save the old version
-    const oldVersion = parsedContents[depType][depName];
+    const oldVersion: string = parsedContents[depType][depName];
     if (oldVersion === newValue) {
       logger.trace('Version is already updated');
       return bumpPackageVersion(
@@ -152,7 +152,7 @@ export function updateDependency({
           );
         }
         // Look for the old version number
-        const oldResolution = `"${parsedContents.resolutions[depKey]}"`;
+        const oldResolution = `"${String(parsedContents.resolutions[depKey])}"`;
         const newResolution = `"${newValue}"`;
         // Update the file = this is what we want
         parsedContents.resolutions[depKey] = newValue;
diff --git a/lib/manager/nuget/extract.ts b/lib/manager/nuget/extract.ts
index 0b7a2b4228..db0e4af48d 100644
--- a/lib/manager/nuget/extract.ts
+++ b/lib/manager/nuget/extract.ts
@@ -81,7 +81,7 @@ export async function extractPackageFile(
   config: ExtractConfig
 ): Promise<PackageFile | null> {
   logger.trace({ packageFile }, 'nuget.extractPackageFile()');
-  const { isVersion } = get(config.versioning || semverVersioning.id);
+  const versioning = get(config.versioning || semverVersioning.id);
   const deps: PackageDependency[] = [];
 
   const registryUrls = await determineRegistryUrls(
@@ -148,7 +148,7 @@ export async function extractPackageFile(
       if (registryUrls) {
         dep.registryUrls = registryUrls;
       }
-      if (!isVersion(currentValue)) {
+      if (!versioning.isVersion(currentValue)) {
         dep.skipReason = SkipReason.NotAVersion;
       }
       deps.push(dep);
diff --git a/lib/manager/pip_requirements/artifacts.ts b/lib/manager/pip_requirements/artifacts.ts
index ee48290782..72ef2d5092 100644
--- a/lib/manager/pip_requirements/artifacts.ts
+++ b/lib/manager/pip_requirements/artifacts.ts
@@ -57,7 +57,7 @@ export async function updateArtifacts({
       {
         artifactError: {
           lockFile: packageFileName,
-          stderr: `${err.stdout}\n${err.stderr}`,
+          stderr: `${String(err.stdout)}\n${String(err.stderr)}`,
         },
       },
     ];
diff --git a/lib/manager/pip_requirements/extract.ts b/lib/manager/pip_requirements/extract.ts
index 6487664dc5..0ec21b5437 100644
--- a/lib/manager/pip_requirements/extract.ts
+++ b/lib/manager/pip_requirements/extract.ts
@@ -1,5 +1,5 @@
 // based on https://www.python.org/dev/peps/pep-0508/#names
-import { RANGE_PATTERN as rangePattern } from '@renovate/pep440/lib/specifier';
+import { RANGE_PATTERN } from '@renovate/pep440/lib/specifier';
 import * as datasourcePypi from '../../datasource/pypi';
 import { logger } from '../../logger';
 import { SkipReason } from '../../types';
@@ -10,6 +10,7 @@ export const packagePattern =
   '[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]';
 const extrasPattern = '(?:\\s*\\[[^\\]]+\\])?';
 
+const rangePattern: string = RANGE_PATTERN;
 const specifierPartPattern = `\\s*${rangePattern.replace(/\?<\w+>/g, '?:')}`;
 const specifierPattern = `${specifierPartPattern}(?:\\s*,${specifierPartPattern})*`;
 export const dependencyPattern = `(${packagePattern})(${extrasPattern})(${specifierPattern})`;
diff --git a/lib/manager/pipenv/artifacts.ts b/lib/manager/pipenv/artifacts.ts
index 229276c91b..f27b6f6001 100644
--- a/lib/manager/pipenv/artifacts.ts
+++ b/lib/manager/pipenv/artifacts.ts
@@ -27,10 +27,13 @@ function getPythonConstraint(
   try {
     const pipfileLock = JSON.parse(existingLockFileContent);
     if (pipfileLock?._meta?.requires?.python_version) {
-      return `== ${pipfileLock._meta.requires.python_version}.*`;
+      const pythonVersion: string = pipfileLock._meta.requires.python_version;
+      return `== ${pythonVersion}.*`;
     }
     if (pipfileLock?._meta?.requires?.python_full_version) {
-      return `== ${pipfileLock._meta.requires.python_full_version}`;
+      const pythonFullVersion: string =
+        pipfileLock._meta.requires.python_full_version;
+      return `== ${pythonFullVersion}`;
     }
   } catch (err) {
     // Do nothing
diff --git a/lib/manager/pipenv/extract.ts b/lib/manager/pipenv/extract.ts
index e47e08ebe7..ce440b55c1 100644
--- a/lib/manager/pipenv/extract.ts
+++ b/lib/manager/pipenv/extract.ts
@@ -8,7 +8,7 @@ import { PackageDependency, PackageFile } from '../common';
 
 // based on https://www.python.org/dev/peps/pep-0508/#names
 const packageRegex = /^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$/i;
-const rangePattern = RANGE_PATTERN;
+const rangePattern: string = RANGE_PATTERN;
 
 const specifierPartPattern = `\\s*${rangePattern.replace(
   /\?<\w+>/g,
diff --git a/lib/manager/poetry/artifacts.ts b/lib/manager/poetry/artifacts.ts
index b88c42fedd..74e01674c3 100644
--- a/lib/manager/poetry/artifacts.ts
+++ b/lib/manager/poetry/artifacts.ts
@@ -158,7 +158,7 @@ export async function updateArtifacts({
       {
         artifactError: {
           lockFile: lockFileName,
-          stderr: `${err.stdout}\n${err.stderr}`,
+          stderr: `${String(err.stdout)}\n${String(err.stderr)}`,
         },
       },
     ];
diff --git a/lib/manager/regex/index.ts b/lib/manager/regex/index.ts
index 01e5427b5c..8dc7133335 100644
--- a/lib/manager/regex/index.ts
+++ b/lib/manager/regex/index.ts
@@ -44,7 +44,7 @@ export function extractPackageFile(
           dep[field] = groups[field];
         }
       }
-      dep.replaceString = `${matchResult[0]}`;
+      dep.replaceString = String(matchResult[0]);
       deps.push(dep);
     }
   } while (matchResult);
diff --git a/lib/manager/travis/package.ts b/lib/manager/travis/package.ts
index a5d095352b..6f4238f2ad 100644
--- a/lib/manager/travis/package.ts
+++ b/lib/manager/travis/package.ts
@@ -81,7 +81,7 @@ async function checkPolicies(): Promise<void> {
       }
     }
   }
-  logger.debug('Node.js policies refresh date: ' + refreshDate);
+  logger.debug(`Node.js policies refresh date: ${refreshDate.toString()}`);
 }
 
 export async function getPackageUpdates(
@@ -113,12 +113,12 @@ export async function getPackageUpdates(
         depName: 'nodejs/node',
       })
     ).releases.map((release) => release.version);
-    newValue = newValue.map((value) =>
-      maxSatisfyingVersion(versions, `${value}`)
-    );
+    newValue = newValue
+      .map(String)
+      .map((value) => maxSatisfyingVersion(versions, value));
   }
   if (is.string(config.currentValue[0])) {
-    newValue = newValue.map((val) => `${val}`);
+    newValue = newValue.map(String);
   }
   newValue.sort((a, b) => a - b);
 
-- 
GitLab