diff --git a/.eslintrc.js b/.eslintrc.js
index 6c9228c3ebef8efa253c23588b9eb88e7fb7c73a..e57f1d1c0a9a4cefa09580ea48bde47a147434f1 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -36,6 +36,7 @@ module.exports = {
 
     // other rules
     'import/prefer-default-export': 0, // no benefit
+    'no-param-reassign': 'error',
     'no-restricted-syntax': 0,
     'no-await-in-loop': 0,
     'prefer-destructuring': 0,
diff --git a/lib/config/presets/index.ts b/lib/config/presets/index.ts
index 8ad679445e81bd5f79d42ca11b37bb998183e214..29e57868156ea856b9d2c0164c917aa799ada668 100644
--- a/lib/config/presets/index.ts
+++ b/lib/config/presets/index.ts
@@ -5,6 +5,7 @@ import {
 } from '../../constants/error-messages';
 import { logger } from '../../logger';
 import { ExternalHostError } from '../../types/errors/external-host-error';
+import { clone } from '../../util/clone';
 import { regEx } from '../../util/regex';
 import * as massage from '../massage';
 import * as migration from '../migration';
@@ -251,9 +252,10 @@ export async function getPreset(
 export async function resolveConfigPresets(
   inputConfig: AllConfig,
   baseConfig?: RenovateConfig,
-  ignorePresets?: string[],
+  _ignorePresets?: string[],
   existingPresets: string[] = []
 ): Promise<AllConfig> {
+  let ignorePresets = clone(_ignorePresets);
   if (!ignorePresets || ignorePresets.length === 0) {
     ignorePresets = inputConfig.ignorePresets || [];
   }
diff --git a/lib/config/presets/util.ts b/lib/config/presets/util.ts
index 4f701cb4ed7e94d30a2cceba60de1c630f9cd1c9..f0a014409600a6cf7aea5413ef49b8cc6724bf28 100644
--- a/lib/config/presets/util.ts
+++ b/lib/config/presets/util.ts
@@ -14,11 +14,11 @@ export async function fetchPreset({
   pkgName,
   filePreset,
   presetPath,
-  endpoint,
+  endpoint: _endpoint,
   packageTag = null,
   fetch,
 }: FetchPresetConfig): Promise<Preset | undefined> {
-  endpoint = ensureTrailingSlash(endpoint);
+  const endpoint = ensureTrailingSlash(_endpoint);
   const [fileName, presetName, subPresetName] = filePreset.split('/');
   const pathPrefix = presetPath ? `${presetPath}/` : '';
   const buildFilePath = (name: string): string => `${pathPrefix}${name}`;
diff --git a/lib/logger/utils.ts b/lib/logger/utils.ts
index ed605e9193b73bf1dedce2d5a5d51ba3d6f2583e..03604ac2a03f483804350e93d7e990bef277840e 100644
--- a/lib/logger/utils.ts
+++ b/lib/logger/utils.ts
@@ -89,7 +89,8 @@ export default function prepareError(err: Error): Record<string, unknown> {
   return response;
 }
 
-export function sanitizeValue(value: unknown, seen = new WeakMap()): any {
+export function sanitizeValue(_value: unknown, seen = new WeakMap()): any {
+  let value = _value;
   if (Array.isArray(value)) {
     const length = value.length;
     const arrayResult = Array(length);
diff --git a/lib/manager/ansible-galaxy/collections.ts b/lib/manager/ansible-galaxy/collections.ts
index ed6877f4c451698b098bd9d31e131d3f38f3b40d..8bf6f2bdebc63fb357cacacd8f7f90ce475f5500 100644
--- a/lib/manager/ansible-galaxy/collections.ts
+++ b/lib/manager/ansible-galaxy/collections.ts
@@ -75,7 +75,6 @@ function handleGitDep(
       dep.currentValue = dep.managerData.version;
     }
   }
-  /* eslint-enable no-param-reassign */
 }
 
 function handleGalaxyDep(dep: PackageDependency): void {
@@ -83,7 +82,6 @@ function handleGalaxyDep(dep: PackageDependency): void {
   dep.depName = dep.managerData.name;
   dep.registryUrls = dep.managerData.source ? [dep.managerData.source] : [];
   dep.currentValue = dep.managerData.version;
-  /* eslint-enable no-param-reassign */
 }
 
 function finalize(dependency: PackageDependency): boolean {
diff --git a/lib/manager/terraform/modules.ts b/lib/manager/terraform/modules.ts
index c734b38122610f820abdf51da62a20ef2253bd13..810c614c0ed0f9c09789e2bfe79a95501a88d263 100644
--- a/lib/manager/terraform/modules.ts
+++ b/lib/manager/terraform/modules.ts
@@ -69,5 +69,4 @@ export function analyseTerraformModule(dep: PackageDependency): void {
     logger.debug({ dep }, 'terraform dep has no source');
     dep.skipReason = SkipReason.NoSource;
   }
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/manager/terraform/providers.ts b/lib/manager/terraform/providers.ts
index 42bdd842367fe77ce9fa319ac6787ba34fe8265f..229395dc1d3bd3a721c181f27d704a182f85c9fa 100644
--- a/lib/manager/terraform/providers.ts
+++ b/lib/manager/terraform/providers.ts
@@ -99,5 +99,4 @@ export function analyzeTerraformProvider(
   massageProviderLookupName(dep);
 
   dep.lockedVersion = getLockedVersion(dep, locks);
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/manager/terraform/required-providers.ts b/lib/manager/terraform/required-providers.ts
index 555d2650e9cc9d6bbabdf3b7dc9e2d426c9b9f61..b59956d46b66d0a0234d70f970792c0905d07967 100644
--- a/lib/manager/terraform/required-providers.ts
+++ b/lib/manager/terraform/required-providers.ts
@@ -33,7 +33,6 @@ function extractBlock(
         default:
           break;
       }
-      /* eslint-enable no-param-reassign */
     }
   } while (line.trim() !== '}');
   return lineNumber;
@@ -79,5 +78,4 @@ export function analyzeTerraformRequiredProvider(
 ): void {
   analyzeTerraformProvider(dep, locks);
   dep.depType = `required_provider`;
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/manager/terraform/required-version.ts b/lib/manager/terraform/required-version.ts
index 23d3bc88f4a940dd166238dff2a59b3a900e4950..1de63c941f06fa41cd950a6d4e62208e704dbf03 100644
--- a/lib/manager/terraform/required-version.ts
+++ b/lib/manager/terraform/required-version.ts
@@ -49,5 +49,4 @@ export function analyseTerraformVersion(dep: PackageDependency): void {
   dep.datasource = datasourceGithubTags.id;
   dep.depName = 'hashicorp/terraform';
   dep.extractVersion = 'v(?<version>.*)$';
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/manager/terraform/resources.ts b/lib/manager/terraform/resources.ts
index 396fb4459db5d41aca03fee247de2159e60d80c4..7b441b5911eedaa428a70d294368fa8e1f180a7c 100644
--- a/lib/manager/terraform/resources.ts
+++ b/lib/manager/terraform/resources.ts
@@ -109,5 +109,4 @@ export function analyseTerraformResource(
       dep.skipReason = SkipReason.InvalidValue;
       break;
   }
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/manager/terraform/util.ts b/lib/manager/terraform/util.ts
index e804c5d7cb7f576a7dcdbbbaa51cef55104f5664..e0f2f08ad1f9e76dc0cbfca04d1c74dc0cbcccab 100644
--- a/lib/manager/terraform/util.ts
+++ b/lib/manager/terraform/util.ts
@@ -59,7 +59,6 @@ export function massageProviderLookupName(dep: PackageDependency): void {
 
   // handle cases like `Telmate/proxmox`
   dep.lookupName = dep.lookupName.toLowerCase();
-  /* eslint-enable no-param-reassign */
 }
 
 export function getLockedVersion(
diff --git a/lib/manager/terragrunt/modules.ts b/lib/manager/terragrunt/modules.ts
index 3657acdb7ad53d4ba80f7520a02393ad61573300..f7a8f3367e64dc350846d7dcb8b36e39554d842a 100644
--- a/lib/manager/terragrunt/modules.ts
+++ b/lib/manager/terragrunt/modules.ts
@@ -70,5 +70,4 @@ export function analyseTerragruntModule(dep: PackageDependency): void {
     logger.debug({ dep }, 'terragrunt dep has no source');
     dep.skipReason = SkipReason.NoSource;
   }
-  /* eslint-enable no-param-reassign */
 }
diff --git a/lib/util/http/index.ts b/lib/util/http/index.ts
index 6baddc7fd377e50a2cd1b24d25cb40e1d31d9a0c..74f85816778772a1ea082002b45081a8e81e7416 100644
--- a/lib/util/http/index.ts
+++ b/lib/util/http/index.ts
@@ -293,12 +293,13 @@ export class Http<GetOptions = HttpOptions, PostOptions = HttpPostOptions> {
       ...options,
     };
 
+    let resolvedUrl = url;
     // istanbul ignore else: needs test
     if (options?.baseUrl) {
-      url = resolveBaseUrl(options.baseUrl, url);
+      resolvedUrl = resolveBaseUrl(options.baseUrl, url);
     }
 
     applyDefaultHeaders(combinedOptions);
-    return got.stream(url, combinedOptions);
+    return got.stream(resolvedUrl, combinedOptions);
   }
 }
diff --git a/lib/util/index.ts b/lib/util/index.ts
index 4dd875664b5f35280a8517a9dc8f4a376938c78a..a8a142dbebef8017488ca5561c5466db9406d64c 100644
--- a/lib/util/index.ts
+++ b/lib/util/index.ts
@@ -4,14 +4,14 @@ export function sampleSize(array: string[], n: number): string[] {
     return [];
   }
 
-  n = n > length ? length : n;
+  const sampleNumber = n > length ? length : n;
   let index = 0;
   const lastIndex = length - 1;
   const result = [...array];
-  while (index < n) {
+  while (index < sampleNumber) {
     const rand = index + Math.floor(Math.random() * (lastIndex - index + 1));
     [result[rand], result[index]] = [result[index], result[rand]];
     index += 1;
   }
-  return result.slice(0, n);
+  return result.slice(0, sampleNumber);
 }
diff --git a/lib/versioning/regex/index.ts b/lib/versioning/regex/index.ts
index 7c3efde70533345b1356f13ed6f59b50ed17b2fd..b5db32580978147e935d9e459d708cba1de1573b 100644
--- a/lib/versioning/regex/index.ts
+++ b/lib/versioning/regex/index.ts
@@ -41,11 +41,9 @@ export class RegExpVersioningApi extends GenericVersioningApi<RegExpVersion> {
   //   RegExp('^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(:?-(?<compatibility>.*-r)(?<build>\\d+))?$');
   private _config: RegExp = null;
 
-  constructor(new_config: string) {
+  constructor(_new_config: string) {
     super();
-    if (!new_config) {
-      new_config = '^(?<major>\\d+)?$';
-    }
+    const new_config = _new_config || '^(?<major>\\d+)?$';
 
     // without at least one of {major, minor, patch} specified in the regex,
     // this versioner will not work properly
diff --git a/lib/workers/pr/body/index.ts b/lib/workers/pr/body/index.ts
index 02944d193cdb4b11428ebee61fc90e4712ae6b2a..0a3f509fc9271140b37b9b0e5148c4c82ef097af 100644
--- a/lib/workers/pr/body/index.ts
+++ b/lib/workers/pr/body/index.ts
@@ -53,7 +53,6 @@ function massageUpdateMetadata(config: BranchConfig): void {
       references.push(`[changelog](${changelogUrl})`);
     }
     upgrade.references = references.join(', ');
-    /* eslint-enable no-param-reassign */
   });
 }
 
diff --git a/lib/workers/repository/dependency-dashboard.ts b/lib/workers/repository/dependency-dashboard.ts
index b85596b78d5df650b3e79075971ed1eb2c934549..6d1e9404e5c618bdf52a3d326893f67606afd0f0 100644
--- a/lib/workers/repository/dependency-dashboard.ts
+++ b/lib/workers/repository/dependency-dashboard.ts
@@ -29,7 +29,6 @@ function parseDashboardIssue(issueBody: string): DependencyDashboard {
   let dependencyDashboardRebaseAllOpen = false;
   if (checkedRebaseAll) {
     dependencyDashboardRebaseAllOpen = true;
-    /* eslint-enable no-param-reassign */
   }
   return { dependencyDashboardChecks, dependencyDashboardRebaseAllOpen };
 }
@@ -50,7 +49,6 @@ export async function readDashboardBody(config: RenovateConfig): Promise<void> {
       Object.assign(config, parseDashboardIssue(issue.body));
     }
   }
-  /* eslint-enable no-param-reassign */
 }
 
 function getListItem(branch: BranchConfig, type: string): string {