From 98e9198c8e275f6ca7251cfd3afa735b9ea89e6a Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 4 Jun 2018 20:44:32 +0200
Subject: [PATCH] refactor: replace indexOfs

---
 lib/config/migration.js                                   | 8 ++++----
 lib/config/presets.js                                     | 6 +++---
 lib/config/validation.js                                  | 2 +-
 lib/logger/config-serializer.js                           | 4 ++--
 lib/logger/pretty-stdout.js                               | 2 +-
 lib/platform/github/gh-got-wrapper.js                     | 3 +--
 lib/platform/github/index.js                              | 2 +-
 lib/workers/branch/schedule.js                            | 2 +-
 lib/workers/pr/index.js                                   | 2 +-
 lib/workers/repository/finalise/prune.js                  | 2 +-
 .../repository/onboarding/pr/config-description.js        | 4 +---
 11 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/lib/config/migration.js b/lib/config/migration.js
index 558c48408f..bcdad02fbb 100644
--- a/lib/config/migration.js
+++ b/lib/config/migration.js
@@ -167,7 +167,7 @@ function migrateConfig(config) {
       } else if (
         key === 'automerge' &&
         is.string(val) &&
-        ['none', 'patch', 'minor', 'any'].indexOf(val) !== -1
+        ['none', 'patch', 'minor', 'any'].includes(val)
       ) {
         delete migratedConfig.automerge;
         isMigrated = true;
@@ -253,14 +253,14 @@ function migrateConfig(config) {
           }
         }
         for (let i = 0; i < schedules.length; i += 1) {
-          if (schedules[i].indexOf('on the last day of the month') !== -1) {
+          if (schedules[i].includes('on the last day of the month')) {
             isMigrated = true;
             schedules[i] = schedules[i].replace(
               'on the last day of the month',
               'on the first day of the month'
             );
           }
-          if (schedules[i].indexOf('on every weekday') !== -1) {
+          if (schedules[i].includes('on every weekday')) {
             isMigrated = true;
             schedules[i] = schedules[i].replace(
               'on every weekday',
@@ -291,7 +291,7 @@ function migrateConfig(config) {
             migratedConfig.schedule = schedules;
           }
         }
-      } else if (is.string(val) && val.indexOf('{{semanticPrefix}}') === 0) {
+      } else if (is.string(val) && val.startsWith('{{semanticPrefix}}')) {
         isMigrated = true;
         migratedConfig[key] = val.replace(
           '{{semanticPrefix}}',
diff --git a/lib/config/presets.js b/lib/config/presets.js
index 5cbc6a24d9..7f6062cdf0 100644
--- a/lib/config/presets.js
+++ b/lib/config/presets.js
@@ -21,7 +21,7 @@ async function resolveConfigPresets(inputConfig, existingPresets = []) {
   if (inputConfig.extends && inputConfig.extends.length) {
     for (const preset of inputConfig.extends) {
       // istanbul ignore if
-      if (existingPresets.indexOf(preset) !== -1) {
+      if (existingPresets.includes(preset)) {
         logger.warn(`Already seen preset ${preset} in ${existingPresets}`);
       } else {
         logger.trace(`Resolving preset "${preset}"`);
@@ -78,7 +78,7 @@ async function resolveConfigPresets(inputConfig, existingPresets = []) {
           config[key].push(element);
         }
       }
-    } else if (is.object(val) && ignoredKeys.indexOf(key) === -1) {
+    } else if (is.object(val) && !ignoredKeys.includes(key)) {
       // Resolve nested objects
       logger.trace(`Resolving object "${key}"`);
       config[key] = await resolveConfigPresets(val, existingPresets);
@@ -146,7 +146,7 @@ function parsePreset(input) {
     // non-scoped namespace
     [, packageName] = str.match(/(.*?)(:|$)/);
     presetName = str.slice(packageName.length + 1);
-    if (packageName.indexOf('renovate-config-') !== 0) {
+    if (!packageName.startsWith('renovate-config-')) {
       packageName = `renovate-config-${packageName}`;
     }
     if (presetName === '') {
diff --git a/lib/config/validation.js b/lib/config/validation.js
index a590592af0..6b2099514f 100644
--- a/lib/config/validation.js
+++ b/lib/config/validation.js
@@ -41,7 +41,7 @@ async function validateConfig(config, isPreset, parentPath) {
       'forkToken',
       'repository',
     ];
-    return ignoredNodes.indexOf(key) !== -1;
+    return ignoredNodes.includes(key);
   }
 
   for (const [key, val] of Object.entries(config)) {
diff --git a/lib/logger/config-serializer.js b/lib/logger/config-serializer.js
index 56a6f70707..7c67090c52 100644
--- a/lib/logger/config-serializer.js
+++ b/lib/logger/config-serializer.js
@@ -24,10 +24,10 @@ function configSerializer(config) {
   const arrayFields = ['packageFiles', 'upgrades'];
   // eslint-disable-next-line array-callback-return
   return traverse(config).map(function scrub(val) {
-    if (val && redactedFields.indexOf(this.key) !== -1) {
+    if (val && redactedFields.includes(this.key)) {
       this.update('***********');
     }
-    if (val && templateFields.indexOf(this.key) !== -1) {
+    if (val && templateFields.includes(this.key)) {
       this.update('[Template]');
     }
     if (val && contentFields.includes(this.key)) {
diff --git a/lib/logger/pretty-stdout.js b/lib/logger/pretty-stdout.js
index f054450849..601a01bcc6 100644
--- a/lib/logger/pretty-stdout.js
+++ b/lib/logger/pretty-stdout.js
@@ -59,7 +59,7 @@ function getDetails(rec) {
   }
   const recFiltered = { ...rec };
   Object.keys(recFiltered).forEach(key => {
-    if (bunyanFields.indexOf(key) !== -1 || metaFields.indexOf(key) !== -1) {
+    if (bunyanFields.includes(key) || metaFields.includes(key)) {
       delete recFiltered[key];
     }
   });
diff --git a/lib/platform/github/gh-got-wrapper.js b/lib/platform/github/gh-got-wrapper.js
index 1628ddc0de..14f0af5e66 100644
--- a/lib/platform/github/gh-got-wrapper.js
+++ b/lib/platform/github/gh-got-wrapper.js
@@ -77,8 +77,7 @@ async function get(path, opts, retries = 5) {
       retries > 0 &&
       err.statusCode === 403 &&
       err.message &&
-      err.message.indexOf('You have triggered an abuse detection mechanism') ===
-        0
+      err.message.startsWith('You have triggered an abuse detection mechanism')
     ) {
       logger.info(
         { statusCode: err.statusCode, message: err.message },
diff --git a/lib/platform/github/index.js b/lib/platform/github/index.js
index 0d6f615565..f9c48aade8 100644
--- a/lib/platform/github/index.js
+++ b/lib/platform/github/index.js
@@ -396,7 +396,7 @@ async function getAllRenovateBranches(branchPrefix) {
       }
     )).body;
     return allBranches.reduce((arr, branch) => {
-      if (branch.ref.indexOf(`refs/heads/${branchPrefix}`) === 0) {
+      if (branch.ref.startsWith(`refs/heads/${branchPrefix}`)) {
         arr.push(branch.ref.substring('refs/heads/'.length));
       }
       if (
diff --git a/lib/workers/branch/schedule.js b/lib/workers/branch/schedule.js
index 50fa348cba..41384c04a8 100644
--- a/lib/workers/branch/schedule.js
+++ b/lib/workers/branch/schedule.js
@@ -121,7 +121,7 @@ function isScheduledNow(config) {
         ];
         const scheduledDays = schedule.d.map(day => dowMap[day]);
         logger.debug({ scheduledDays }, `scheduledDays`);
-        if (scheduledDays.indexOf(currentDay) === -1) {
+        if (!scheduledDays.includes(currentDay)) {
           logger.debug(
             `Does not match schedule because ${currentDay} is not in ${scheduledDays}`
           );
diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index 7b93f86ada..f39462fb35 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -108,7 +108,7 @@ async function ensurePr(prConfig) {
     const upgradeKey = `${upgrade.depName}-${upgrade.manager}-${
       upgrade.fromVersion
     }-${upgrade.toVersion}`;
-    if (processedUpgrades.indexOf(upgradeKey) !== -1) {
+    if (processedUpgrades.includes(upgradeKey)) {
       continue; // eslint-disable-line no-continue
     }
     processedUpgrades.push(upgradeKey);
diff --git a/lib/workers/repository/finalise/prune.js b/lib/workers/repository/finalise/prune.js
index a357c567ae..dba4bfba99 100644
--- a/lib/workers/repository/finalise/prune.js
+++ b/lib/workers/repository/finalise/prune.js
@@ -33,7 +33,7 @@ async function pruneStaleBranches(config, branchList) {
     );
   }
   const remainingBranches = renovateBranches.filter(
-    branch => branchList.indexOf(branch) === -1
+    branch => !branchList.includes(branch)
   );
   logger.debug(`remainingBranches=${remainingBranches}`);
   if (remainingBranches.length === 0) {
diff --git a/lib/workers/repository/onboarding/pr/config-description.js b/lib/workers/repository/onboarding/pr/config-description.js
index 5e89e3e748..7563e2c61f 100644
--- a/lib/workers/repository/onboarding/pr/config-description.js
+++ b/lib/workers/repository/onboarding/pr/config-description.js
@@ -26,9 +26,7 @@ function getConfigDesc(config, packageFiles) {
   logger.debug({ length: descriptionArr.length }, 'Found description array');
   const managers = packageFiles ? Object.keys(packageFiles) : [];
   if (!(managers.includes('docker') || managers.includes('docker-compose'))) {
-    descriptionArr = descriptionArr.filter(
-      val => val.indexOf('Docker-only') === -1
-    );
+    descriptionArr = descriptionArr.filter(val => !val.includes('Docker-only'));
   }
   let desc = `\n## Configuration Summary\n\nBased on the currently configured presets, Renovate will:\n\n`;
   desc +=
-- 
GitLab