diff --git a/lib/config-validator.ts b/lib/config-validator.ts index bd659398db5ca943cdee83609bbb4fc0e9a1a78e..2c6ddc237f04e18ad4275fb39bbfe8e4f92a5f69 100644 --- a/lib/config-validator.ts +++ b/lib/config-validator.ts @@ -11,8 +11,6 @@ import { validateConfig } from './config/validation'; import { logger } from './logger'; import { getConfig as getFileConfig } from './workers/global/config/parse/file'; -/* eslint-disable no-console */ - let returnVal = 0; async function validate( diff --git a/lib/config/decrypt.spec.ts b/lib/config/decrypt.spec.ts index 18c2c3808dbaa660807374c4584c4020d8a10418..2d6d2151255cc56eb07376403e15dbf47de67a2a 100644 --- a/lib/config/decrypt.spec.ts +++ b/lib/config/decrypt.spec.ts @@ -41,7 +41,7 @@ describe('config/decrypt', () => { it('replaces npm token placeholder in npmrc', async () => { setGlobalConfig({ privateKey: 'invalid-key', privateKeyOld: privateKey }); // test old key failover config.npmrc = - '//registry.npmjs.org/:_authToken=${NPM_TOKEN}\n//registry.npmjs.org/:_authToken=${NPM_TOKEN}\n'; // eslint-disable-line no-template-curly-in-string + '//registry.npmjs.org/:_authToken=${NPM_TOKEN}\n//registry.npmjs.org/:_authToken=${NPM_TOKEN}\n'; config.encrypted = { npmToken: 'FLA9YHIzpE7YetAg/P0X46npGRCMqn7hgyzwX5ZQ9wYgu9BRRbTiBVsUIFTyM5BuP1Q22slT2GkWvFvum7GU236Y6QiT7Nr8SLvtsJn2XUuq8H7REFKzdy3+wqyyWbCErYTFyY1dcPM7Ht+CaGDWdd8u/FsoX7AdMRs/X1jNUo6iSmlUiyGlYDKF+QMnCJom1VPVgZXWsGKdjI2MLny991QMaiv0VajmFIh4ENv4CtXOl/1twvIl/6XTXAaqpJJKDTPZEuydi+PHDZmal2RAOfrkH4m0UURa7SlfpUlIg+EaqbNGp85hCYXLwRcEET1OnYr3rH1oYkcYJ40any1tvQ==', @@ -55,7 +55,7 @@ describe('config/decrypt', () => { }); it('appends npm token in npmrc', async () => { setGlobalConfig({ privateKey }); - config.npmrc = 'foo=bar\n'; // eslint-disable-line no-template-curly-in-string + config.npmrc = 'foo=bar\n'; config.encrypted = { npmToken: 'FLA9YHIzpE7YetAg/P0X46npGRCMqn7hgyzwX5ZQ9wYgu9BRRbTiBVsUIFTyM5BuP1Q22slT2GkWvFvum7GU236Y6QiT7Nr8SLvtsJn2XUuq8H7REFKzdy3+wqyyWbCErYTFyY1dcPM7Ht+CaGDWdd8u/FsoX7AdMRs/X1jNUo6iSmlUiyGlYDKF+QMnCJom1VPVgZXWsGKdjI2MLny991QMaiv0VajmFIh4ENv4CtXOl/1twvIl/6XTXAaqpJJKDTPZEuydi+PHDZmal2RAOfrkH4m0UURa7SlfpUlIg+EaqbNGp85hCYXLwRcEET1OnYr3rH1oYkcYJ40any1tvQ==', diff --git a/lib/config/decrypt.ts b/lib/config/decrypt.ts index 86a51a435b78c7ec2ae8632101b35cf45fc9175c..e17c1b9b1e9c759decaf97e57ba4963c4ef95a9f 100644 --- a/lib/config/decrypt.ts +++ b/lib/config/decrypt.ts @@ -179,7 +179,6 @@ export async function decryptConfig( 'Migrating npmToken to npmrc' ); if (is.string(decryptedConfig.npmrc)) { - /* eslint-disable no-template-curly-in-string */ if (decryptedConfig.npmrc.includes('${NPM_TOKEN}')) { logger.debug('Replacing ${NPM_TOKEN} with decrypted token'); decryptedConfig.npmrc = decryptedConfig.npmrc.replace( diff --git a/lib/config/global.ts b/lib/config/global.ts index 0d17dd3992d23eb6a220df0132c2efd59e5b171f..38f557c52fdb9ce31ca8e187cb7b05e81970af12 100644 --- a/lib/config/global.ts +++ b/lib/config/global.ts @@ -29,7 +29,7 @@ export function setGlobalConfig( const result = { ...config }; for (const option of repoGlobalOptions) { repoGlobalConfig[option] = config[option]; - delete result[option]; // eslint-disable-line no-param-reassign + delete result[option]; } return result; } diff --git a/lib/config/migration.ts b/lib/config/migration.ts index d0482ef5aa566b60fe8388bf743974edbb34efb2..6b548e4f665b53d8eaa4f5b530f0a9ef917c47ba 100644 --- a/lib/config/migration.ts +++ b/lib/config/migration.ts @@ -316,11 +316,11 @@ export function migrateConfig( migratedConfig.automergeType = 'branch'; } else if (key === 'automergeMinor') { migratedConfig.minor = migratedConfig.minor || {}; - migratedConfig.minor.automerge = val == true; // eslint-disable-line eqeqeq + migratedConfig.minor.automerge = val == true; delete migratedConfig[key]; } else if (key === 'automergeMajor') { migratedConfig.major = migratedConfig.major || {}; - migratedConfig.major.automerge = val == true; // eslint-disable-line eqeqeq + migratedConfig.major.automerge = val == true; delete migratedConfig[key]; } else if (key === 'multipleMajorPrs') { delete migratedConfig.multipleMajorPrs; @@ -336,7 +336,7 @@ export function migrateConfig( migratedConfig.separateMinorPatch = val; } else if (key === 'automergePatch') { migratedConfig.patch = migratedConfig.patch || {}; - migratedConfig.patch.automerge = val == true; // eslint-disable-line eqeqeq + migratedConfig.patch.automerge = val == true; delete migratedConfig[key]; } else if (key === 'ignoreNodeModules') { delete migratedConfig.ignoreNodeModules; diff --git a/lib/config/presets/index.ts b/lib/config/presets/index.ts index 21298a144797cc853fe2c92d84f3c173ebc54429..8ad679445e81bd5f79d42ca11b37bb998183e214 100644 --- a/lib/config/presets/index.ts +++ b/lib/config/presets/index.ts @@ -255,7 +255,7 @@ export async function resolveConfigPresets( existingPresets: string[] = [] ): Promise<AllConfig> { if (!ignorePresets || ignorePresets.length === 0) { - ignorePresets = inputConfig.ignorePresets || []; // eslint-disable-line + ignorePresets = inputConfig.ignorePresets || []; } logger.trace( { config: inputConfig, existingPresets }, diff --git a/lib/config/presets/util.ts b/lib/config/presets/util.ts index 8b044b5a33e236302fe9e71b21706b92f0cab545..4f701cb4ed7e94d30a2cceba60de1c630f9cd1c9 100644 --- a/lib/config/presets/util.ts +++ b/lib/config/presets/util.ts @@ -18,7 +18,6 @@ export async function fetchPreset({ packageTag = null, fetch, }: FetchPresetConfig): Promise<Preset | undefined> { - // eslint-disable-next-line no-param-reassign endpoint = ensureTrailingSlash(endpoint); const [fileName, presetName, subPresetName] = filePreset.split('/'); const pathPrefix = presetPath ? `${presetPath}/` : ''; diff --git a/lib/config/validation.ts b/lib/config/validation.ts index 3faa3dbd77a292eaf32bb52e2dd596d801be20c8..7ca765b547fed4886c5ad0a5247239724637fe7a 100644 --- a/lib/config/validation.ts +++ b/lib/config/validation.ts @@ -122,7 +122,7 @@ export async function validateConfig( topic: 'Config security error', message: '__proto__', }); - continue; // eslint-disable-line + continue; } if (parentPath && topLevelObjects.includes(key)) { errors.push({ diff --git a/lib/datasource/cdnjs/index.ts b/lib/datasource/cdnjs/index.ts index cac132885f6c675dd3760acc265394f3038720f3..7fbce6cb9fcfa59c2ed51910cb795b8aad8a8c32 100644 --- a/lib/datasource/cdnjs/index.ts +++ b/lib/datasource/cdnjs/index.ts @@ -17,7 +17,7 @@ export class CdnJsDatasource extends Datasource { override readonly caching = true; // this.handleErrors will always throw - // eslint-disable-next-line consistent-return + async getReleases({ lookupName, registryUrl, diff --git a/lib/datasource/clojure/index.spec.ts b/lib/datasource/clojure/index.spec.ts index 66aab7a7ecbf7fccb2503ae04e6dcc10fb22c5ed..d6b4d312aa7e5343dd5aa8da350b61ee2cf7ae38 100644 --- a/lib/datasource/clojure/index.spec.ts +++ b/lib/datasource/clojure/index.spec.ts @@ -294,7 +294,7 @@ describe('datasource/clojure/index', () => { it('returns null for invalid registryUrls', async () => { const res = await get( 'org.example:package', - // eslint-disable-next-line no-template-curly-in-string + '${project.baseUri}../../repository/' ); expect(res).toBeNull(); diff --git a/lib/datasource/clojure/index.ts b/lib/datasource/clojure/index.ts index 79b2c8cf034a46808c586b9f4f30c44d6381d658..513909ab9a8598a56ece92939e3548c5e45ce085 100644 --- a/lib/datasource/clojure/index.ts +++ b/lib/datasource/clojure/index.ts @@ -17,7 +17,6 @@ export class ClojureDatasource extends Datasource { MAVEN_REPO, ]; - // eslint-disable-next-line class-methods-use-this getReleases({ lookupName, registryUrl, diff --git a/lib/datasource/datasource.ts b/lib/datasource/datasource.ts index 033557c6d66d3c9bc551969c6ccb830b1efdc2d9..84b21952797f48970d9df6c00787d8b82fa7f583 100644 --- a/lib/datasource/datasource.ts +++ b/lib/datasource/datasource.ts @@ -33,7 +33,7 @@ export abstract class Datasource implements DatasourceApi { getDigest?(config: DigestConfig, newValue?: string): Promise<string>; - // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function + // eslint-disable-next-line @typescript-eslint/no-empty-function handleSpecificErrors(err: HttpError): void {} protected handleGenericErrors(err: HttpError): never { diff --git a/lib/datasource/git-refs/index.ts b/lib/datasource/git-refs/index.ts index dcd2e603506bfc4e3fcea39b9d171384b7c8420c..6567ece8ff47f6249e2d8d12b16d0531caae8f66 100644 --- a/lib/datasource/git-refs/index.ts +++ b/lib/datasource/git-refs/index.ts @@ -22,7 +22,6 @@ export class GitRefsDatasource extends Datasource { namespace: `datasource-${GitRefsDatasource.id}`, key: ({ lookupName }: GetReleasesConfig) => lookupName, }) - // eslint-disable-next-line class-methods-use-this override async getReleases({ lookupName, }: GetReleasesConfig): Promise<ReleaseResult | null> { @@ -54,7 +53,6 @@ export class GitRefsDatasource extends Datasource { return result; } - // eslint-disable-next-line class-methods-use-this override async getDigest( { lookupName }: DigestConfig, newValue?: string diff --git a/lib/datasource/git-tags/index.ts b/lib/datasource/git-tags/index.ts index f48a66fc10b9a4c5871dad8b95def1aa4da88476..e155a4d2e61bfb10132eddfef86d9ba770a14543 100644 --- a/lib/datasource/git-tags/index.ts +++ b/lib/datasource/git-tags/index.ts @@ -18,7 +18,6 @@ export class GitTagsDatasource extends Datasource { namespace: `datasource-${GitTagsDatasource.id}`, key: ({ lookupName }: GetReleasesConfig) => lookupName, }) - // eslint-disable-next-line class-methods-use-this async getReleases({ lookupName, }: GetReleasesConfig): Promise<ReleaseResult | null> { @@ -48,7 +47,6 @@ export class GitTagsDatasource extends Datasource { return result; } - // eslint-disable-next-line class-methods-use-this override async getDigest( { lookupName }: DigestConfig, newValue?: string diff --git a/lib/datasource/index.ts b/lib/datasource/index.ts index 7e1adab369a6748928c78d494a9aa9f2a2fa2b58..e77b06d45361e50b8c711a65b6218d063df3f3f6 100644 --- a/lib/datasource/index.ts +++ b/lib/datasource/index.ts @@ -354,7 +354,7 @@ export async function getPkgReleases( } // Strip constraints from releases result res.releases.forEach((release) => { - delete release.constraints; // eslint-disable-line no-param-reassign + delete release.constraints; }); return res; } diff --git a/lib/datasource/jenkins-plugins/get.ts b/lib/datasource/jenkins-plugins/get.ts index 14b517d6a8928fcce2e6b1ea0af786c7e076003a..a80c96ef2c32a71633b1b120dbf18052b448de62 100644 --- a/lib/datasource/jenkins-plugins/get.ts +++ b/lib/datasource/jenkins-plugins/get.ts @@ -28,13 +28,12 @@ async function updateJenkinsCache( updateHandler: () => Promise<void> ): Promise<void> { if (hasCacheExpired(cache)) { - // eslint-disable-next-line no-param-reassign cache.updatePromise = // eslint-disable-next-line @typescript-eslint/no-misused-promises cache.updatePromise || updateHandler(); await cache.updatePromise; - cache.updatePromise = null; // eslint-disable-line no-param-reassign + cache.updatePromise = null; } } @@ -43,7 +42,6 @@ function updateJenkinsPluginInfoCacheCallback( cache: JenkinsCache<ReleaseResult> ): void { for (const name of Object.keys(response.plugins || [])) { - // eslint-disable-next-line no-param-reassign cache.cache[name] = { releases: [], // releases are stored in another cache sourceUrl: response.plugins[name]?.scm, @@ -57,7 +55,6 @@ function updateJenkinsPluginVersionsCacheCallback( ): void { const plugins = response.plugins; for (const name of Object.keys(plugins || [])) { - // eslint-disable-next-line no-param-reassign cache.cache[name] = Object.keys(plugins[name]).map((version) => ({ version, downloadUrl: plugins[name][version]?.url, @@ -89,7 +86,6 @@ async function getJenkinsUpdateCenterResponse<T>( `jenkins-plugins: Fetched Jenkins plugins ${cache.name}` ); } catch (err) /* istanbul ignore next */ { - // eslint-disable-next-line no-param-reassign cache.cache = Object.create(null); throw new ExternalHostError( new Error(`jenkins-plugins: Fetch plugins ${cache.name} error`) @@ -101,14 +97,14 @@ async function getJenkinsUpdateCenterResponse<T>( async function updateJenkinsPluginCache<T>( cache: JenkinsCache<JenkinsCacheTypes>, - // eslint-disable-next-line @typescript-eslint/no-shadow + callback: (resp: T, cache: JenkinsCache<any>) => void ): Promise<void> { const response = await getJenkinsUpdateCenterResponse<T>(cache); if (response) { callback(response, cache); } - cache.lastSync = new Date(); // eslint-disable-line no-param-reassign + cache.lastSync = new Date(); } const pluginInfoCache: JenkinsCache<ReleaseResult> = { @@ -169,9 +165,8 @@ export function getReleases({ } function resetJenkinsCache(cache: JenkinsCache<JenkinsCacheTypes>): void { - // eslint-disable-next-line no-param-reassign cache.lastSync = new Date('2000-01-01'); - cache.cache = Object.create(null); // eslint-disable-line no-param-reassign + cache.cache = Object.create(null); } // Note: use only for tests diff --git a/lib/datasource/maven/index.spec.ts b/lib/datasource/maven/index.spec.ts index c6812fd6dbf054b46d05abfabed657852d378c5c..523ddc153ffe2c5f5d46da0eb95bf981dd1a6f78 100644 --- a/lib/datasource/maven/index.spec.ts +++ b/lib/datasource/maven/index.spec.ts @@ -315,7 +315,7 @@ describe('datasource/maven/index', () => { it('returns null for invalid registryUrls', async () => { const res = await get( 'org.example:package', - // eslint-disable-next-line no-template-curly-in-string + '${project.baseUri}../../repository/' ); expect(res).toBeNull(); diff --git a/lib/datasource/metadata.ts b/lib/datasource/metadata.ts index cd92345a504a468f691958becae0fb39b766177d..25103f1927058ae2e46a4936969fd28d689935b7 100644 --- a/lib/datasource/metadata.ts +++ b/lib/datasource/metadata.ts @@ -175,7 +175,6 @@ function massageTimestamps(dep: ReleaseResult): void { } } -/* eslint-disable no-param-reassign */ export function addMetaData( dep?: ReleaseResult, datasource?: string, diff --git a/lib/datasource/npm/index.spec.ts b/lib/datasource/npm/index.spec.ts index d685608c9c46959239532c1b47589b9028818dd7..21d15880aaba9baa1835beb04a783c4a7bac0bf8 100644 --- a/lib/datasource/npm/index.spec.ts +++ b/lib/datasource/npm/index.spec.ts @@ -358,7 +358,7 @@ describe('datasource/npm/index', () => { process.env.REGISTRY = 'https://registry.from-env.com'; process.env.RENOVATE_CACHE_NPM_MINUTES = '15'; setGlobalConfig({ exposeAllEnv: true }); - // eslint-disable-next-line no-template-curly-in-string + const npmrc = 'registry=${REGISTRY}'; const res = await getPkgReleases({ datasource, depName: 'foobar', npmrc }); expect(res).toMatchSnapshot(); @@ -367,7 +367,7 @@ describe('datasource/npm/index', () => { it('should throw error if necessary env var is not present', () => { setGlobalConfig({ exposeAllEnv: true }); - // eslint-disable-next-line no-template-curly-in-string + expect(() => setNpmrc('registry=${REGISTRY_MISSING}')).toThrow( Error('env-replace') ); diff --git a/lib/datasource/npm/npmrc.spec.ts b/lib/datasource/npm/npmrc.spec.ts index 6e70054cc249b9814f256ad08234ab6bf8e3226f..1bd3e86e84c59b91702bb64c92d6a8b4a4931686 100644 --- a/lib/datasource/npm/npmrc.spec.ts +++ b/lib/datasource/npm/npmrc.spec.ts @@ -21,7 +21,6 @@ describe('datasource/npm/npmrc', () => { }); it('sanitize _authtoken', () => { - // eslint-disable-next-line no-template-curly-in-string setNpmrc('//registry.test.com:_authToken=test\n_authToken=${NPM_TOKEN}'); expect(sanitize.add).toHaveBeenCalledWith('test'); expect(sanitize.add).toHaveBeenCalledTimes(1); @@ -41,7 +40,6 @@ describe('datasource/npm/npmrc', () => { setGlobalConfig({ exposeAllEnv: true }); process.env.TEST_TOKEN = 'test'; setNpmrc( - // eslint-disable-next-line no-template-curly-in-string '//registry.test.com:_authToken=${TEST_TOKEN}\n_authToken=\nregistry=http://localhost' ); expect(sanitize.add).toHaveBeenCalledWith('test'); diff --git a/lib/datasource/ruby-version/index.ts b/lib/datasource/ruby-version/index.ts index c5c845b7b7031727510a9111a71ecba1f7a110c6..ca7646277cdcb9849e3d3b75f0e34df0aa37ba12 100644 --- a/lib/datasource/ruby-version/index.ts +++ b/lib/datasource/ruby-version/index.ts @@ -56,7 +56,6 @@ export class RubyVersionDatasource extends Datasource { return res; } - // eslint-disable-next-line class-methods-use-this override handleSpecificErrors(err: HttpError): never | void { throw new ExternalHostError(err); } diff --git a/lib/datasource/terraform-module/index.ts b/lib/datasource/terraform-module/index.ts index 84f287d57b4b80f9e57764a06dc2cd062fddcd20..0c6d4a44da6496f1846b95b410036e40f3d5ae3c 100644 --- a/lib/datasource/terraform-module/index.ts +++ b/lib/datasource/terraform-module/index.ts @@ -83,7 +83,6 @@ export class TerraformModuleDatasource extends TerraformDatasource { return dep; } - // eslint-disable-next-line class-methods-use-this override handleSpecificErrors(err: HttpError): void { const failureCodes = ['EAI_AGAIN']; // istanbul ignore if diff --git a/lib/logger/config-serializer.ts b/lib/logger/config-serializer.ts index 9f6a33dd180669015338c8d7673d15ded1168d3a..240cbd2f73c22df529ba62a868e8ddfd3f6fecb2 100644 --- a/lib/logger/config-serializer.ts +++ b/lib/logger/config-serializer.ts @@ -13,19 +13,16 @@ export default function configSerializer( ]; const arrayFields = ['packageFiles', 'upgrades']; - return traverse(config).map( - // eslint-disable-next-line array-callback-return - function scrub(val: string) { - if (val && templateFields.includes(this.key)) { - this.update('[Template]'); - } - if (val && contentFields.includes(this.key)) { - this.update('[content]'); - } - // istanbul ignore if - if (val && arrayFields.includes(this.key)) { - this.update('[Array]'); - } + return traverse(config).map(function scrub(val: string) { + if (val && templateFields.includes(this.key)) { + this.update('[Template]'); } - ); + if (val && contentFields.includes(this.key)) { + this.update('[content]'); + } + // istanbul ignore if + if (val && arrayFields.includes(this.key)) { + this.update('[Array]'); + } + }); } diff --git a/lib/logger/utils.ts b/lib/logger/utils.ts index 0f9abe39c50d3635b604e2c8610704d530d7cdb1..ed605e9193b73bf1dedce2d5a5d51ba3d6f2583e 100644 --- a/lib/logger/utils.ts +++ b/lib/logger/utils.ts @@ -108,7 +108,6 @@ export function sanitizeValue(value: unknown, seen = new WeakMap()): any { } if (value instanceof Error) { - // eslint-disable-next-line no-param-reassign value = prepareError(value); } diff --git a/lib/manager/ansible-galaxy/collections.ts b/lib/manager/ansible-galaxy/collections.ts index adf6f4cd65697ce1905cb79a3baa006e0a7c28b3..ed6877f4c451698b098bd9d31e131d3f38f3b40d 100644 --- a/lib/manager/ansible-galaxy/collections.ts +++ b/lib/manager/ansible-galaxy/collections.ts @@ -49,7 +49,6 @@ function handleGitDep( dep: PackageDependency, nameMatch: RegExpExecArray ): void { - /* eslint-disable no-param-reassign */ dep.datasource = GitTagsDatasource.id; if (nameMatch) { @@ -80,7 +79,6 @@ function handleGitDep( } function handleGalaxyDep(dep: PackageDependency): void { - /* eslint-disable no-param-reassign */ dep.datasource = GalaxyCollectionDatasource.id; dep.depName = dep.managerData.name; dep.registryUrls = dep.managerData.source ? [dep.managerData.source] : []; diff --git a/lib/manager/bundler/extract.ts b/lib/manager/bundler/extract.ts index 19b5fe5c5d05086056fb61bdbab8eaf6ebda4fe1..228be6f5f26c3f7fce12c15d0154ad123741c31b 100644 --- a/lib/manager/bundler/extract.ts +++ b/lib/manager/bundler/extract.ts @@ -141,7 +141,6 @@ export async function extractPackageFile( const platformsRes = await extractPackageFile(platformsContent); if (platformsRes) { res.deps = res.deps.concat( - // eslint-disable-next-line no-loop-func platformsRes.deps.map((dep) => ({ ...dep, managerData: { @@ -167,7 +166,6 @@ export async function extractPackageFile( const ifRes = await extractPackageFile(ifContent); if (ifRes) { res.deps = res.deps.concat( - // eslint-disable-next-line no-loop-func ifRes.deps.map((dep) => ({ ...dep, managerData: { diff --git a/lib/manager/circleci/extract.ts b/lib/manager/circleci/extract.ts index 5b76e9cd3e2087b05cb9997de2f435f143d57b0f..800c1eafdbebbefd1e0e2bcc59dd3c69940fc4ee 100644 --- a/lib/manager/circleci/extract.ts +++ b/lib/manager/circleci/extract.ts @@ -24,7 +24,7 @@ export function extractPackageFile(content: string): PackageFile | null { logger.debug('orbNoop'); foundOrbOrNoop = true; lineNumber += 1; - continue; // eslint-disable-line no-continue + continue; } const orbMatch = regEx(/^\s+([^:]+):\s(.+)$/).exec(orbLine); // TODO #12071 if (orbMatch) { diff --git a/lib/manager/composer/extract.ts b/lib/manager/composer/extract.ts index 754109701c918f13cbb2a182d68002e24779b2ad..c6f85f9bbe630ec90d18bf87995bad3cd96fa7fa 100644 --- a/lib/manager/composer/extract.ts +++ b/lib/manager/composer/extract.ts @@ -41,11 +41,10 @@ function parseRepositories( Object.entries(repoJson).forEach(([key, repo]) => { if (is.object(repo)) { const name = is.array(repoJson) ? repo.name : key; - // eslint-disable-next-line default-case + switch (repo.type) { case 'vcs': case 'git': - // eslint-disable-next-line no-param-reassign repositories[name] = repo; break; case 'composer': @@ -131,7 +130,6 @@ export async function extractPackageFile( // Check custom repositories by type if (repositories[depName]) { - // eslint-disable-next-line default-case switch (repositories[depName].type) { case 'vcs': case 'git': diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts index 4caefc8777945bb458e44de7e946090f0d66b66e..6861578bd3842ed7ec7555b025ee2b6e6ee024ab 100644 --- a/lib/manager/dockerfile/extract.spec.ts +++ b/lib/manager/dockerfile/extract.spec.ts @@ -619,7 +619,6 @@ describe('manager/dockerfile/extract', () => { }); it('handles default environment variable values', () => { - // eslint-disable-next-line no-template-curly-in-string const res = getDep('${REDIS_IMAGE:-redis:5.0.0@sha256:abcd}'); expect(res).toMatchInlineSnapshot(` Object { @@ -632,7 +631,6 @@ Object { } `); - // eslint-disable-next-line no-template-curly-in-string const res2 = getDep('${REDIS_IMAGE:-redis:5.0.0}'); expect(res2).toMatchInlineSnapshot(` Object { @@ -644,7 +642,6 @@ Object { } `); - // eslint-disable-next-line no-template-curly-in-string const res3 = getDep('${REDIS_IMAGE:-redis@sha256:abcd}'); expect(res3).toMatchInlineSnapshot(` Object { @@ -658,7 +655,6 @@ Object { }); it('skips tag containing a variable', () => { - // eslint-disable-next-line no-template-curly-in-string const res = getDep('mcr.microsoft.com/dotnet/sdk:5.0${IMAGESUFFIX}'); expect(res).toMatchInlineSnapshot(` Object { diff --git a/lib/manager/github-actions/extract.ts b/lib/manager/github-actions/extract.ts index d5a7bbd234c63831121a8c4bc6be1930248ee81b..42e8c4789ee216b39f96906c0009065d37190c49 100644 --- a/lib/manager/github-actions/extract.ts +++ b/lib/manager/github-actions/extract.ts @@ -19,7 +19,7 @@ export function extractPackageFile(content: string): PackageFile | null { const deps: PackageDependency[] = []; for (const line of content.split('\n')) { if (line.trim().startsWith('#')) { - continue; // eslint-disable-line no-continue + continue; } const dockerMatch = dockerRe.exec(line); @@ -29,7 +29,7 @@ export function extractPackageFile(content: string): PackageFile | null { dep.depType = 'docker'; dep.versioning = dockerVersioning.id; deps.push(dep); - continue; // eslint-disable-line no-continue + continue; } const tagMatch = actionRe.exec(line); diff --git a/lib/manager/gitlabci/extract.ts b/lib/manager/gitlabci/extract.ts index 2d0fee6ce64442792c38113ce4b2752a6749e6cc..23d98d30ac7799c5ae251e561edcf0db6207595e 100644 --- a/lib/manager/gitlabci/extract.ts +++ b/lib/manager/gitlabci/extract.ts @@ -105,7 +105,7 @@ export async function extractAllPackageFiles( const content = await readLocalFile(file, 'utf8'); if (!content) { logger.debug({ file }, 'Empty or non existent gitlabci file'); - // eslint-disable-next-line no-continue + continue; } let doc: GitlabPipeline; diff --git a/lib/manager/gradle-wrapper/utils.ts b/lib/manager/gradle-wrapper/utils.ts index eb3f75966de5d3f9e2b306c633b99a45bc71590b..5dd3ebce553e53fc8552c3bf8919bea77d2f5dc9 100644 --- a/lib/manager/gradle-wrapper/utils.ts +++ b/lib/manager/gradle-wrapper/utils.ts @@ -30,7 +30,6 @@ export async function prepareGradleCommand( gradlew: Stats | null, args: string | null ): Promise<string> { - /* eslint-disable no-bitwise */ // istanbul ignore if if (gradlew?.isFile() === true) { // if the file is not executable by others diff --git a/lib/manager/gradle/deep/build-gradle.spec.ts b/lib/manager/gradle/deep/build-gradle.spec.ts index 639a906c5c3609492ddd00a9a876ff32661ef2d3..a0db8c000347a86445706e6639a89b1630eacabb 100644 --- a/lib/manager/gradle/deep/build-gradle.spec.ts +++ b/lib/manager/gradle/deep/build-gradle.spec.ts @@ -560,7 +560,7 @@ describe('manager/gradle/deep/build-gradle', () => { it('should replace a external groovy variable assigned to a specific dependency', () => { const gradleFile = - 'runtime ( "mysql:mysql-connector-java:${mysqlVersion}" )'; // eslint-disable-line no-template-curly-in-string + 'runtime ( "mysql:mysql-connector-java:${mysqlVersion}" )'; const mysqlDependency = { group: 'mysql', depGroup: 'mysql', @@ -580,7 +580,7 @@ describe('manager/gradle/deep/build-gradle', () => { it('should replace a external groovy map variable assigned to a specific dependency', () => { const gradleFile = - 'runtime ( "mysql:mysql-connector-java:${versions.mysqlVersion}" )'; // eslint-disable-line no-template-curly-in-string + 'runtime ( "mysql:mysql-connector-java:${versions.mysqlVersion}" )'; const mysqlDependency = { group: 'mysql', depGroup: 'mysql', @@ -600,7 +600,7 @@ describe('manager/gradle/deep/build-gradle', () => { it('should replace a external groovy map nested variable assigned to a specific dependency', () => { const gradleFile = - 'runtime ( "mysql:mysql-connector-java:${versions.nested.mysqlVersion}" )'; // eslint-disable-line no-template-curly-in-string + 'runtime ( "mysql:mysql-connector-java:${versions.nested.mysqlVersion}" )'; const mysqlDependency = { group: 'mysql', depGroup: 'mysql', @@ -623,7 +623,7 @@ describe('manager/gradle/deep/build-gradle', () => { it('should replace a external property variable assigned to a specific dependency', () => { const gradleFile = - 'runtime ( "mysql:mysql-connector-java:${mysqlVersion}" )'; // eslint-disable-line no-template-curly-in-string + 'runtime ( "mysql:mysql-connector-java:${mysqlVersion}" )'; const mysqlDependency = { group: 'mysql', depGroup: 'mysql', @@ -643,7 +643,7 @@ describe('manager/gradle/deep/build-gradle', () => { it('should replace a external property variable assigned to a specific dependency parenthesis syntax', () => { const gradleFile = - "implementation platform(group: 'mysql', name: 'mysql-connector-java', version: mysqlVersion)"; // eslint-disable-line no-template-curly-in-string + "implementation platform(group: 'mysql', name: 'mysql-connector-java', version: mysqlVersion)"; const mysqlDependency = { group: 'mysql', depGroup: 'mysql', diff --git a/lib/manager/gradle/deep/build-gradle.ts b/lib/manager/gradle/deep/build-gradle.ts index ef68ad46b18cc9e145c792fc17b6a789a045f90e..5f27d4271d6531b61520ff4554a87b4ad3a64c62 100644 --- a/lib/manager/gradle/deep/build-gradle.ts +++ b/lib/manager/gradle/deep/build-gradle.ts @@ -157,7 +157,6 @@ function dependencyStringVariableExpressionFormatMatch( ): RegExp { return regEx( `\\s*dependency\\s+['"]${dependency.group}:${dependency.name}:` + - // eslint-disable-next-line no-template-curly-in-string '${([^}]*)}' + `['"](?:\\s|;|})` ); diff --git a/lib/manager/gradle/shallow/parser.spec.ts b/lib/manager/gradle/shallow/parser.spec.ts index 4c962d4600d6640651e983760d8f2ba7c8b8e59f..dbeaefb3e2d232294dee432c043ff91c2a860359 100644 --- a/lib/manager/gradle/shallow/parser.spec.ts +++ b/lib/manager/gradle/shallow/parser.spec.ts @@ -48,7 +48,6 @@ describe('manager/gradle/shallow/parser', () => { expect(deps).toBeEmpty(); ({ deps } = parseGradle( - // eslint-disable-next-line no-template-curly-in-string ['versions.foobar = "1.2.3"', '"foo:bar:${versions.foobar}"'].join('\n') )); expect(deps).toMatchObject([ diff --git a/lib/manager/gradle/shallow/tokenizer.spec.ts b/lib/manager/gradle/shallow/tokenizer.spec.ts index 98af7fcb29b6a4ad3379ceb651df0fbdba538a0f..7e4d6bac87f266a997b98b3ada3cfdbead8bb9ba 100644 --- a/lib/manager/gradle/shallow/tokenizer.spec.ts +++ b/lib/manager/gradle/shallow/tokenizer.spec.ts @@ -112,19 +112,19 @@ describe('manager/gradle/shallow/tokenizer', () => { TokenType.Chars, TokenType.DoubleQuotedFinish, ], - // eslint-disable-next-line no-template-curly-in-string + '"${x}"': [ TokenType.DoubleQuotedStart, TokenType.Variable, TokenType.DoubleQuotedFinish, ], - // eslint-disable-next-line no-template-curly-in-string + '"${foo}"': [ TokenType.DoubleQuotedStart, TokenType.Variable, TokenType.DoubleQuotedFinish, ], - // eslint-disable-next-line no-template-curly-in-string + '"${x()}"': [ TokenType.DoubleQuotedStart, TokenType.IgnoredInterpolationStart, @@ -132,7 +132,7 @@ describe('manager/gradle/shallow/tokenizer', () => { TokenType.RightBrace, TokenType.DoubleQuotedFinish, ], - // eslint-disable-next-line no-template-curly-in-string + '"${x{}}"': [ TokenType.DoubleQuotedStart, TokenType.IgnoredInterpolationStart, @@ -162,7 +162,7 @@ describe('manager/gradle/shallow/tokenizer', () => { children: [{ type: TokenType.Variable }], }, ], - // eslint-disable-next-line no-template-curly-in-string + '" foo ${ bar } baz "': [ { type: TokenType.StringInterpolation, @@ -173,7 +173,7 @@ describe('manager/gradle/shallow/tokenizer', () => { ], }, ], - // eslint-disable-next-line no-template-curly-in-string + '"${ x + y }"': [{ type: TokenType.StringInterpolation, isValid: false }], }; for (const [str, result] of Object.entries(samples)) { diff --git a/lib/manager/helmfile/extract.ts b/lib/manager/helmfile/extract.ts index 39544b7456c5ef0a697bea9ee6ca31bd10595588..c071b9d2e855346748cea6abd08061164d649cfe 100644 --- a/lib/manager/helmfile/extract.ts +++ b/lib/manager/helmfile/extract.ts @@ -26,7 +26,7 @@ export function extractPackageFile( } for (const doc of docs) { if (!(doc && is.array(doc.releases))) { - continue; // eslint-disable-line no-continue + continue; } if (doc.repositories) { diff --git a/lib/manager/maven/extract.spec.ts b/lib/manager/maven/extract.spec.ts index 84961fc53878a116419c954f2e3ab5f14fd7a9b7..e850cd1808c6b27b30b00c51d5e9f286f1d3bde6 100644 --- a/lib/manager/maven/extract.spec.ts +++ b/lib/manager/maven/extract.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-template-curly-in-string */ import { loadFixture } from '../../../test/util'; import { extractPackage } from './extract'; diff --git a/lib/manager/maven/extract.ts b/lib/manager/maven/extract.ts index 28e72a80540a4e36e85a839cfd35937d7a844fb2..82642719a399722ad2128fa9784ee2e302312200 100644 --- a/lib/manager/maven/extract.ts +++ b/lib/manager/maven/extract.ts @@ -273,7 +273,7 @@ export function resolveParents(packages: PackageFile[]): PackageFile[] { const pkg = extractedPackages[name]; pkg.deps.forEach((rawDep) => { const urlsSet = new Set([...rawDep.registryUrls, ...registryUrls[name]]); - rawDep.registryUrls = [...urlsSet]; // eslint-disable-line no-param-reassign + rawDep.registryUrls = [...urlsSet]; }); }); @@ -297,9 +297,9 @@ function cleanResult( packageFiles: PackageFile<Record<string, any>>[] ): PackageFile<Record<string, any>>[] { packageFiles.forEach((packageFile) => { - delete packageFile.mavenProps; // eslint-disable-line no-param-reassign + delete packageFile.mavenProps; packageFile.deps.forEach((dep) => { - delete dep.propSource; // eslint-disable-line no-param-reassign + delete dep.propSource; }); }); return packageFiles; diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts index fffedd425eb14936c55970dc41f7bab8dd27740d..3202922bac9595f7e4114e68b00af8648507cb9b 100644 --- a/lib/manager/maven/index.spec.ts +++ b/lib/manager/maven/index.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-template-curly-in-string */ import { fs, loadFixture } from '../../../test/util'; import type { PackageDependency, PackageFile } from '../types'; import { extractPackage, resolveParents } from './extract'; diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts index 7226b7cc7687bc2af450105227ae0f27d22072dd..c9c74ae51d4cf68354cc0be48b72abdb724d015f 100644 --- a/lib/manager/npm/extract/index.spec.ts +++ b/lib/manager/npm/extract/index.spec.ts @@ -153,7 +153,6 @@ describe('manager/npm/extract/index', () => { it('finds and filters .npmrc with variables', async () => { fs.readLocalFile = jest.fn((fileName) => { if (fileName === '.npmrc') { - // eslint-disable-next-line return 'registry=https://registry.npmjs.org\n//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}\n'; } return null; diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts index 1702c419c76809d4e18d3d0b7dbdfa28a25a853a..6ec6352b38f0fb2c81a3f1003cde393ffe583ed4 100644 --- a/lib/manager/npm/extract/index.ts +++ b/lib/manager/npm/extract/index.ts @@ -49,7 +49,7 @@ export async function extractPackageFile( logger.debug({ fileName }, 'Invalid JSON'); return null; } - // eslint-disable-next-line no-underscore-dangle + if (packageJson._id && packageJson._args && packageJson._from) { logger.debug('Ignoring vendorised package.json'); return null; diff --git a/lib/manager/npm/extract/monorepo.ts b/lib/manager/npm/extract/monorepo.ts index f8128902e7fb63ba769c79d92464a9225929b252..a33a21f8bb52728f734fac580b909b403d172348 100644 --- a/lib/manager/npm/extract/monorepo.ts +++ b/lib/manager/npm/extract/monorepo.ts @@ -42,7 +42,7 @@ export async function detectMonorepos( if (!updateInternalDeps) { p.deps?.forEach((dep) => { if (internalPackageNames.includes(dep.depName)) { - dep.skipReason = SkipReason.InternalPackage; // eslint-disable-line no-param-reassign + dep.skipReason = SkipReason.InternalPackage; } }); } @@ -61,7 +61,7 @@ export async function detectMonorepos( if (!updateInternalDeps) { subPackage.deps?.forEach((dep) => { if (internalPackageNames.includes(dep.depName)) { - dep.skipReason = SkipReason.InternalPackage; // eslint-disable-line no-param-reassign + dep.skipReason = SkipReason.InternalPackage; } }); } diff --git a/lib/manager/npm/extract/pnpm.ts b/lib/manager/npm/extract/pnpm.ts index a394c6aafe09b13a99a749b66eb5d2ee1807e961..64475e6eba31f2bfbb5d712f3d6d19db9e4a7dd7 100644 --- a/lib/manager/npm/extract/pnpm.ts +++ b/lib/manager/npm/extract/pnpm.ts @@ -85,13 +85,13 @@ export async function detectPnpmWorkspaces( { packageFile, pnpmShrinkwrap }, 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.' ); - continue; // eslint-disable-line no-continue + continue; } // search for corresponding pnpm workspace const pnpmWorkspace = await findPnpmWorkspace(packageFile); if (pnpmWorkspace === null) { - continue; // eslint-disable-line no-continue + continue; } const { workspaceYamlPath, lockFilePath } = pnpmWorkspace; diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts index 636ca8b5cb355a61839b1f716240f2eb94e12775..4a827520894f5e5b5cad5b7c42a8434614d46a84 100644 --- a/lib/manager/npm/post-update/index.ts +++ b/lib/manager/npm/post-update/index.ts @@ -64,7 +64,7 @@ export function determineLockFileDirs( npmLockDirs.push(upgrade.npmLock); pnpmShrinkwrapDirs.push(upgrade.pnpmShrinkwrap); } - continue; // eslint-disable-line no-continue + continue; } if (upgrade.isLockfileUpdate) { yarnLockDirs.push(upgrade.yarnLock); @@ -244,10 +244,10 @@ export async function writeUpdatedPackageFiles( upath.join(localDir, packageFile.name), packageFile.contents ); - continue; // eslint-disable-line + continue; } if (!packageFile.name.endsWith('package.json')) { - continue; // eslint-disable-line + continue; } logger.debug(`Writing ${String(packageFile.name)}`); const massagedFile = JSON.parse(packageFile.contents.toString()); diff --git a/lib/manager/npm/update/dependency/index.ts b/lib/manager/npm/update/dependency/index.ts index 67d2a211ae17c28f47270b52fe0a95a621e9303d..838e461105f12aae9afa479708fd17a1a6846d25 100644 --- a/lib/manager/npm/update/dependency/index.ts +++ b/lib/manager/npm/update/dependency/index.ts @@ -14,10 +14,8 @@ function replaceAsString( ): string | null { // Update the file = this is what we want if (depType === 'packageManager') { - // eslint-disable-next-line no-param-reassign parsedContents[depType] = newValue; } else { - // eslint-disable-next-line no-param-reassign parsedContents[depType][depName] = newValue; } // Look for the old version number diff --git a/lib/manager/pip_requirements/extract.spec.ts b/lib/manager/pip_requirements/extract.spec.ts index 8f28c14fcb1c74e1cfb18a786e03b9c410aa8805..551aec84e366acfb254e6a127c076ff137f81e51 100644 --- a/lib/manager/pip_requirements/extract.spec.ts +++ b/lib/manager/pip_requirements/extract.spec.ts @@ -115,10 +115,10 @@ describe('manager/pip_requirements/extract', () => { expect(res.registryUrls).toEqual([ 'https://pypi.org/pypi/', 'http://$PIP_TEST_TOKEN:example.com/private-pypi/', - // eslint-disable-next-line no-template-curly-in-string + 'http://${PIP_TEST_TOKEN}:example.com/private-pypi/', 'http://$PIP_TEST_TOKEN:example.com/private-pypi/', - // eslint-disable-next-line no-template-curly-in-string + 'http://${PIP_TEST_TOKEN}:example.com/private-pypi/', ]); }); diff --git a/lib/manager/swift/extract.ts b/lib/manager/swift/extract.ts index cff2eceb9cf2b9ca525504f64d59f98cc85e19af..14476c5f559d7159ac4ee24ecb9709718cec4994 100644 --- a/lib/manager/swift/extract.ts +++ b/lib/manager/swift/extract.ts @@ -166,7 +166,7 @@ export function extractPackageFile( while (match) { const { idx, len, label, substr } = match; - // eslint-disable-next-line default-case + switch (state) { case null: if (deps.length) { diff --git a/lib/manager/terraform/extract.ts b/lib/manager/terraform/extract.ts index cdca8db112ef241ecc76d153042824ac33454b58..3034ab895884b14507d063159fcd62819abf8601 100644 --- a/lib/manager/terraform/extract.ts +++ b/lib/manager/terraform/extract.ts @@ -145,7 +145,7 @@ export async function extractPackageFile( /* istanbul ignore next */ default: } - // eslint-disable-next-line no-param-reassign + delete dep.managerData; }); if (deps.some((dep) => dep.skipReason !== 'local')) { diff --git a/lib/manager/terraform/modules.ts b/lib/manager/terraform/modules.ts index ae24e68fda38aefe5de6f28ee66ddc10d3550085..c734b38122610f820abdf51da62a20ef2253bd13 100644 --- a/lib/manager/terraform/modules.ts +++ b/lib/manager/terraform/modules.ts @@ -24,7 +24,6 @@ export function extractTerraformModule( ): ExtractionResult { const result = extractTerraformProvider(startingLine, lines, moduleName); result.dependencies.forEach((dep) => { - // eslint-disable-next-line no-param-reassign dep.managerData.terraformDependencyType = TerraformDependencyTypes.module; }); return result; @@ -33,7 +32,7 @@ export function extractTerraformModule( export function analyseTerraformModule(dep: PackageDependency): void { const githubRefMatch = githubRefMatchRegex.exec(dep.managerData.source); const gitTagsRefMatch = gitTagsRefMatchRegex.exec(dep.managerData.source); - /* eslint-disable no-param-reassign */ + if (githubRefMatch) { dep.lookupName = githubRefMatch.groups.project.replace(regEx(/\.git$/), ''); dep.depType = 'module'; diff --git a/lib/manager/terraform/providers.ts b/lib/manager/terraform/providers.ts index b0d0a37b7d519154d3fa50231d19e8ab93886b4c..42bdd842367fe77ce9fa319ac6787ba34fe8265f 100644 --- a/lib/manager/terraform/providers.ts +++ b/lib/manager/terraform/providers.ts @@ -75,7 +75,6 @@ export function analyzeTerraformProvider( dep: PackageDependency, locks: ProviderLock[] ): void { - /* eslint-disable no-param-reassign */ dep.depType = 'provider'; dep.depName = dep.managerData.moduleName; dep.datasource = TerraformProviderDatasource.id; diff --git a/lib/manager/terraform/required-providers.ts b/lib/manager/terraform/required-providers.ts index 6ac73de5120b8c340de4989011fbe69c42a240f9..555d2650e9cc9d6bbabdf3b7dc9e2d426c9b9f61 100644 --- a/lib/manager/terraform/required-providers.ts +++ b/lib/manager/terraform/required-providers.ts @@ -20,7 +20,6 @@ function extractBlock( line = lines[lineNumber]; const kvMatch = keyValueExtractionRegex.exec(line); if (kvMatch) { - /* eslint-disable no-param-reassign */ switch (kvMatch.groups.key) { case 'source': dep.managerData.source = kvMatch.groups.value; @@ -78,7 +77,6 @@ export function analyzeTerraformRequiredProvider( dep: PackageDependency, locks: ProviderLock[] ): void { - /* eslint-disable no-param-reassign */ 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 dc16f52211336cb2c08596424ba4e83baab75b8d..23d3bc88f4a940dd166238dff2a59b3a900e4950 100644 --- a/lib/manager/terraform/required-version.ts +++ b/lib/manager/terraform/required-version.ts @@ -45,7 +45,6 @@ export function extractTerraformRequiredVersion( } export function analyseTerraformVersion(dep: PackageDependency): void { - /* eslint-disable no-param-reassign */ dep.depType = 'required_version'; dep.datasource = datasourceGithubTags.id; dep.depName = 'hashicorp/terraform'; diff --git a/lib/manager/terraform/resources.ts b/lib/manager/terraform/resources.ts index 075a1b63b3458984e1161e9706c6e05c72838edb..396fb4459db5d41aca03fee247de2159e60d80c4 100644 --- a/lib/manager/terraform/resources.ts +++ b/lib/manager/terraform/resources.ts @@ -65,8 +65,6 @@ export function extractTerraformResource( export function analyseTerraformResource( dep: PackageDependency<ResourceManagerData> ): void { - /* eslint-disable no-param-reassign */ - switch (dep.managerData.resourceType) { case TerraformResourceTypes.docker_container: if (dep.managerData.image) { diff --git a/lib/manager/terraform/util.ts b/lib/manager/terraform/util.ts index 9793c547c15b22f4a062e18431b7060a93acd23e..e804c5d7cb7f576a7dcdbbbaa51cef55104f5664 100644 --- a/lib/manager/terraform/util.ts +++ b/lib/manager/terraform/util.ts @@ -50,7 +50,6 @@ export function checkIfStringIsPath(path: string): boolean { } export function massageProviderLookupName(dep: PackageDependency): void { - /* eslint-disable no-param-reassign */ if (!dep.lookupName) { dep.lookupName = dep.depName; } diff --git a/lib/manager/terragrunt/extract.ts b/lib/manager/terragrunt/extract.ts index 978359b6a83783825bac6b3e10449a1b56c8b771..aefc1140683eacdb242cd16860f9490776098db4 100644 --- a/lib/manager/terragrunt/extract.ts +++ b/lib/manager/terragrunt/extract.ts @@ -61,7 +61,7 @@ export function extractPackageFile(content: string): PackageFile | null { /* istanbul ignore next */ default: } - // eslint-disable-next-line no-param-reassign + delete dep.managerData; }); return { deps }; diff --git a/lib/manager/terragrunt/modules.ts b/lib/manager/terragrunt/modules.ts index f10ba1486ed60ba961910d614557b50a883fa653..3657acdb7ad53d4ba80f7520a02393ad61573300 100644 --- a/lib/manager/terragrunt/modules.ts +++ b/lib/manager/terragrunt/modules.ts @@ -24,7 +24,6 @@ export function extractTerragruntModule( const moduleName = 'terragrunt'; const result = extractTerragruntProvider(startingLine, lines, moduleName); result.dependencies.forEach((dep) => { - // eslint-disable-next-line no-param-reassign dep.managerData.terragruntDependencyType = TerragruntDependencyTypes.terragrunt; }); @@ -34,7 +33,7 @@ export function extractTerragruntModule( export function analyseTerragruntModule(dep: PackageDependency): void { const githubRefMatch = githubRefMatchRegex.exec(dep.managerData.source); const gitTagsRefMatch = gitTagsRefMatchRegex.exec(dep.managerData.source); - /* eslint-disable no-param-reassign */ + if (githubRefMatch) { dep.depType = 'github'; dep.lookupName = githubRefMatch.groups.project.replace(regEx(/\.git$/), ''); diff --git a/lib/platform/azure/azure-helper.spec.ts b/lib/platform/azure/azure-helper.spec.ts index 1476ccfa8fc76243e808de1ef637b46f34a6cd1c..18d3d23e232dacc0960f5198fbf368587684f917 100644 --- a/lib/platform/azure/azure-helper.spec.ts +++ b/lib/platform/azure/azure-helper.spec.ts @@ -78,8 +78,7 @@ describe('platform/azure/azure-helper', () => { let eventCount = 0; const mockEventStream = new Readable({ objectMode: true, - /* eslint-disable func-names */ - /* eslint-disable object-shorthand */ + read: function () { if (eventCount < 1) { eventCount += 1; @@ -108,8 +107,7 @@ describe('platform/azure/azure-helper', () => { let eventCount = 0; const mockEventStream = new Readable({ objectMode: true, - /* eslint-disable func-names */ - /* eslint-disable object-shorthand */ + read: function () { if (eventCount < 1) { eventCount += 1; @@ -138,8 +136,7 @@ describe('platform/azure/azure-helper', () => { let eventCount = 0; const mockEventStream = new Readable({ objectMode: true, - /* eslint-disable func-names */ - /* eslint-disable object-shorthand */ + read: function () { if (eventCount < 1) { eventCount += 1; diff --git a/lib/platform/azure/index.spec.ts b/lib/platform/azure/index.spec.ts index a2a2cf2f42aeaba879b82b2d4623cccdb9ca6734..7dedd447a17e5b7ee622c6a88123d5c949c21056 100644 --- a/lib/platform/azure/index.spec.ts +++ b/lib/platform/azure/index.spec.ts @@ -47,7 +47,7 @@ describe('platform/azure/index', () => { }); // do we need the args? - // eslint-disable-next-line @typescript-eslint/no-unused-vars + function getRepos(_token: string, _endpoint: string) { azureApi.gitApi.mockImplementationOnce( () => diff --git a/lib/platform/azure/index.ts b/lib/platform/azure/index.ts index 079286f474d3685b5d3612c806e205bfcb0b7bb1..83124b4be09d4d62b2ade0d9ff9a5b461552b318 100644 --- a/lib/platform/azure/index.ts +++ b/lib/platform/azure/index.ts @@ -719,7 +719,6 @@ async function getUserIds(users: string[]): Promise<User[]> { const members = await Promise.all( teams.map( async (t) => - /* eslint-disable no-return-await,@typescript-eslint/return-await */ await azureApiCore.getTeamMembersWithExtendedProperties( repo.project.id, t.id diff --git a/lib/platform/azure/util.ts b/lib/platform/azure/util.ts index 20820ccdd9d7bdc3da692096fe71975cc8e68bae..7f0c2498e975a69ef9e9139b55faade2ff727fd7 100644 --- a/lib/platform/azure/util.ts +++ b/lib/platform/azure/util.ts @@ -123,7 +123,7 @@ export async function streamToString( stream: NodeJS.ReadableStream ): Promise<string> { const chunks: Uint8Array[] = []; - /* eslint-disable promise/avoid-new */ + const p = await new Promise<string>((resolve, reject) => { stream.on('data', (chunk) => chunks.push(Buffer.from(chunk))); stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))); diff --git a/lib/platform/bitbucket/index.ts b/lib/platform/bitbucket/index.ts index f203d77e29c7f0bcfa33d1ab440ba04838ced8e8..992b5a053084d765df789e2f88da76496dccda6d 100644 --- a/lib/platform/bitbucket/index.ts +++ b/lib/platform/bitbucket/index.ts @@ -582,7 +582,6 @@ export async function ensureIssueClosing(title: string): Promise<void> { } } -// eslint-disable-next-line @typescript-eslint/no-unused-vars export function addAssignees( _prNr: number, _assignees: string[] diff --git a/lib/platform/index.ts b/lib/platform/index.ts index 8b6a7241dc44d1eefc9439cbb8b5bb9aaf3e66e0..8764d76ae37d0f5ced47da1d78b57cc0c4f34356 100644 --- a/lib/platform/index.ts +++ b/lib/platform/index.ts @@ -13,7 +13,6 @@ export * from './types'; export const getPlatformList = (): string[] => Array.from(platforms.keys()); export const getPlatforms = (): Map<string, Platform> => platforms; -// eslint-disable-next-line @typescript-eslint/naming-convention let _platform: Platform; const handler: ProxyHandler<Platform> = { diff --git a/lib/util/exec/index.spec.ts b/lib/util/exec/index.spec.ts index 6480b8b54cd9ab819eeaddf94663c4e7e018d009..86a61a213ab6872b26e1113a9ffa3c0eebeb765a 100644 --- a/lib/util/exec/index.spec.ts +++ b/lib/util/exec/index.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ import { ExecOptions as ChildProcessExecOptions, exec as _cpExec, diff --git a/lib/util/http/auth.ts b/lib/util/http/auth.ts index 59dba806f715643a4801eaa5474c67c13f42195e..cd182af48d111ff365b3cc0f2661d348dd67fc2e 100644 --- a/lib/util/http/auth.ts +++ b/lib/util/http/auth.ts @@ -86,14 +86,13 @@ export function removeAuthorization(options: NormalizedOptions): void { const portInUrl = options.href.split('/')[2].split(':')[1]; // istanbul ignore next if (!portInUrl) { - // eslint-disable-next-line no-param-reassign delete options.port; // Redirect will instead use 80 or 443 for HTTP or HTTPS respectively } // registry is hosted on Amazon or Azure blob, redirect url includes // authentication which is not required and should be removed - delete options.headers.authorization; // eslint-disable-line no-param-reassign - delete options.username; // eslint-disable-line no-param-reassign - delete options.password; // eslint-disable-line no-param-reassign + delete options.headers.authorization; + delete options.username; + delete options.password; } } diff --git a/lib/util/http/index.ts b/lib/util/http/index.ts index 0dc25d94f381347e3be51f5e3d703987f2f66f80..6baddc7fd377e50a2cd1b24d25cb40e1d31d9a0c 100644 --- a/lib/util/http/index.ts +++ b/lib/util/http/index.ts @@ -72,11 +72,11 @@ function applyDefaultHeaders(options: Options): void { let renovateVersion = 'unknown'; try { // eslint-disable-next-line @typescript-eslint/no-var-requires - renovateVersion = require('../../../package.json').version; // eslint-disable-line global-require + renovateVersion = require('../../../package.json').version; } catch (err) /* istanbul ignore next */ { logger.debug({ err }, 'Error getting renovate version'); } - // eslint-disable-next-line no-param-reassign + options.headers = { ...options.headers, 'user-agent': @@ -295,7 +295,6 @@ export class Http<GetOptions = HttpOptions, PostOptions = HttpPostOptions> { // istanbul ignore else: needs test if (options?.baseUrl) { - // eslint-disable-next-line no-param-reassign url = resolveBaseUrl(options.baseUrl, url); } diff --git a/lib/util/index.ts b/lib/util/index.ts index 0d7c8fbf0f079ab32703f3441143c5be0f1a4918..4dd875664b5f35280a8517a9dc8f4a376938c78a 100644 --- a/lib/util/index.ts +++ b/lib/util/index.ts @@ -3,7 +3,7 @@ export function sampleSize(array: string[], n: number): string[] { if (!length || n < 1) { return []; } - // eslint-disable-next-line no-param-reassign + n = n > length ? length : n; let index = 0; const lastIndex = length - 1; diff --git a/lib/util/regex.spec.ts b/lib/util/regex.spec.ts index b0dad6a8b310e9959316fb9bd18b4d972f2c256d..49951096c33cd9ecc034f8080f62f1bbae4bc6a5 100644 --- a/lib/util/regex.spec.ts +++ b/lib/util/regex.spec.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import RE2 from 're2'; import { CONFIG_VALIDATION } from '../constants/error-messages'; import { regEx } from './regex'; diff --git a/lib/util/regex.ts b/lib/util/regex.ts index 19b203ea51204686b91c67c976563d60564633bd..ac956bf18ce45bf21f6973c6423eaa786544881b 100644 --- a/lib/util/regex.ts +++ b/lib/util/regex.ts @@ -1,6 +1,6 @@ import is from '@sindresorhus/is'; import { CONFIG_VALIDATION } from '../constants/error-messages'; -// eslint-disable-next-line import/no-cycle + import { logger } from '../logger'; let RegEx: RegExpConstructor; diff --git a/lib/versioning/index.spec.ts b/lib/versioning/index.spec.ts index 87f63c9526bb52cba5c97ddb88cbfc85ab9adef6..da1137ccac1e0a5dcb4bed007fb4eb29ad6272c1 100644 --- a/lib/versioning/index.spec.ts +++ b/lib/versioning/index.spec.ts @@ -20,7 +20,6 @@ describe('versioning/index', () => { module: VersioningApi | VersioningApiConstructor, name: string ): boolean { - // eslint-disable-next-line new-cap const mod = isVersioningApiConstructor(module) ? new module() : module; // TODO: test required api (#9715) @@ -81,7 +80,6 @@ describe('versioning/index', () => { props.push(prop); } }); - // eslint-disable-next-line no-cond-assign } while ((o = Object.getPrototypeOf(o))); return props; @@ -112,12 +110,10 @@ describe('versioning/index', () => { it('dummy', () => { class DummyScheme extends GenericVersioningApi { - // eslint-disable-next-line class-methods-use-this protected override _compare(_version: string, _other: string): number { throw new Error('Method not implemented.'); } - // eslint-disable-next-line class-methods-use-this protected _parse(_version: string): GenericVersion { throw new Error('Method not implemented.'); } diff --git a/lib/versioning/index.ts b/lib/versioning/index.ts index a192f8353833cb131d69aa9e543fb131248323b4..0bdc0e7d6c15a211de6351b2df33da7c42e32506 100644 --- a/lib/versioning/index.ts +++ b/lib/versioning/index.ts @@ -35,7 +35,6 @@ export function get(versioning: string): VersioningApi { return versionings.get('semver') as VersioningApi; } if (isVersioningApiConstructor(theVersioning)) { - // eslint-disable-next-line new-cap return new theVersioning(versioningConfig); } return theVersioning; diff --git a/lib/versioning/loose/generic.ts b/lib/versioning/loose/generic.ts index 55646f2b704d5267efa7c07f3ef0461674f550fc..609adec8c144097e8bd2cde43119f42601551c2c 100644 --- a/lib/versioning/loose/generic.ts +++ b/lib/versioning/loose/generic.ts @@ -175,7 +175,7 @@ export abstract class GenericVersioningApi< /* * virtual */ - // eslint-disable-next-line class-methods-use-this + protected _compareOther(_left: T, _right: T): number { return 0; } @@ -235,7 +235,6 @@ export abstract class GenericVersioningApi< return versions.find((v) => this.equals(v, range)) || null; } - // eslint-disable-next-line class-methods-use-this getNewValue(newValueConfig: NewValueConfig): string { const { newVersion } = newValueConfig || {}; return newVersion; diff --git a/lib/versioning/loose/utils.spec.ts b/lib/versioning/loose/utils.spec.ts index 0a2e2652ab98b3996352662f87324529a7d133b3..4b503762d0c9983272a01a5b6cc0e126164aaa18 100644 --- a/lib/versioning/loose/utils.spec.ts +++ b/lib/versioning/loose/utils.spec.ts @@ -23,7 +23,6 @@ describe('versioning/loose/utils', () => { props.push(prop); } }); - // eslint-disable-next-line no-cond-assign } while ((o = Object.getPrototypeOf(o))); return props; @@ -31,12 +30,10 @@ describe('versioning/loose/utils', () => { describe('GenericVersioningApi', () => { class DummyScheme extends GenericVersioningApi { - // eslint-disable-next-line class-methods-use-this protected override _compare(_version: string, _other: string): number { return _version ? _version.localeCompare(_other) : 0; } - // eslint-disable-next-line class-methods-use-this protected _parse(_version: string): GenericVersion { return _version === 'test' ? null : { release: [1, 0, 0] }; } diff --git a/lib/versioning/regex/index.ts b/lib/versioning/regex/index.ts index f597df18a8da167406a1c2adeabe308aba2d8f4a..7c3efde70533345b1356f13ed6f59b50ed17b2fd 100644 --- a/lib/versioning/regex/index.ts +++ b/lib/versioning/regex/index.ts @@ -44,7 +44,6 @@ export class RegExpVersioningApi extends GenericVersioningApi<RegExpVersion> { constructor(new_config: string) { super(); if (!new_config) { - // eslint-disable-next-line no-param-reassign new_config = '^(?<major>\\d+)?$'; } diff --git a/lib/workers/branch/get-updated.ts b/lib/workers/branch/get-updated.ts index 49263f05d830fac2adb08e027b1218cb1d69bd4c..287c705488a3c9ee68ee46234a3e02074b501b0f 100644 --- a/lib/workers/branch/get-updated.ts +++ b/lib/workers/branch/get-updated.ts @@ -120,7 +120,7 @@ export async function getUpdatedPackageFiles( logger.debug({ packageFile, depName }, 'Contents updated'); updatedFileContents[packageFile] = res; } - continue; // eslint-disable-line no-continue + continue; } else if (reuseExistingBranch) { return getUpdatedPackageFiles({ ...config, diff --git a/lib/workers/branch/index.ts b/lib/workers/branch/index.ts index 00d27a9ac4fc8364e4e54aa89acfb51dda0a7123..e6fec35819a432bdc48cac03ae59a95b7acb9844 100644 --- a/lib/workers/branch/index.ts +++ b/lib/workers/branch/index.ts @@ -289,7 +289,7 @@ export async function processBranch( 'Update has not passed stability days' ); config.stabilityStatus = BranchStatus.yellow; - continue; // eslint-disable-line no-continue + continue; } } const { @@ -316,7 +316,7 @@ export async function processBranch( 'Update does not meet minimum confidence scores' ); config.confidenceStatus = BranchStatus.yellow; - continue; // eslint-disable-line no-continue + continue; } } } diff --git a/lib/workers/global/config/parse/cli.ts b/lib/workers/global/config/parse/cli.ts index a318e9944151c1ff3af5f9360101832de767106b..31a3912827d469efd3186f131f4b18c26ab122d5 100644 --- a/lib/workers/global/config/parse/cli.ts +++ b/lib/workers/global/config/parse/cli.ts @@ -87,7 +87,6 @@ export function getConfig(input: string[]): AllConfig { /* istanbul ignore next */ function helpConsole(): void { - /* eslint-disable no-console */ console.log(' Examples:'); console.log(''); console.log(' $ renovate --token 123test singapore/lint-condo'); diff --git a/lib/workers/global/config/parse/env.ts b/lib/workers/global/config/parse/env.ts index f7268d74cb3cdca3cddcabf7e2172b9b84519e44..ca969854314faf99307f6c744b7dbb6c34f021f1 100644 --- a/lib/workers/global/config/parse/env.ts +++ b/lib/workers/global/config/parse/env.ts @@ -129,7 +129,7 @@ export function getConfig(inputEnv: NodeJS.ProcessEnv): AllConfig { 'VSTS_ENDPOINT', 'VSTS_TOKEN', ]; - // eslint-disable-next-line no-param-reassign + unsupportedEnv.forEach((val) => delete env[val]); return config; diff --git a/lib/workers/global/config/parse/file.ts b/lib/workers/global/config/parse/file.ts index 0acf7b0aaebb50d19786794830c63a871e4eb3ed..5cab40ee0e5b6d31ddcc2cfa0b3acb106f4ce7a1 100644 --- a/lib/workers/global/config/parse/file.ts +++ b/lib/workers/global/config/parse/file.ts @@ -11,7 +11,6 @@ export function getConfig(env: NodeJS.ProcessEnv): AllConfig { } let config: AllConfig = {}; try { - // eslint-disable-next-line global-require,import/no-dynamic-require config = require(configFile); } catch (err) { // istanbul ignore if diff --git a/lib/workers/global/config/parse/host-rules-from-env.ts b/lib/workers/global/config/parse/host-rules-from-env.ts index 5f6a8189f6139547789885fefbba3e84eb2d487c..a25475c4b435b2b481e1c9e22b43d39b26932fb9 100644 --- a/lib/workers/global/config/parse/host-rules-from-env.ts +++ b/lib/workers/global/config/parse/host-rules-from-env.ts @@ -13,7 +13,7 @@ export function hostRulesFromEnv(env: NodeJS.ProcessEnv): HostRule[] { for (const envName of Object.keys(env).sort()) { if (npmEnvPrefixes.some((prefix) => envName.startsWith(prefix))) { logger.trace('Ignoring npm env: ' + envName); - continue; // eslint-disable-line no-continue + continue; } // Double underscore __ is used in place of hyphen - const splitEnv = envName.toLowerCase().replace(/__/g, '-').split('_'); @@ -28,7 +28,7 @@ export function hostRulesFromEnv(env: NodeJS.ProcessEnv): HostRule[] { // host-less rule } else if (splitEnv.length === 1) { logger.warn(`Cannot parse ${envName} env`); - continue; // eslint-disable-line no-continue + continue; } else { matchHost = splitEnv.join('.'); } diff --git a/lib/workers/pr/body/index.ts b/lib/workers/pr/body/index.ts index 6aa5a015af8b6452bfdf29a01d8ae72e7c0a5f2f..02944d193cdb4b11428ebee61fc90e4712ae6b2a 100644 --- a/lib/workers/pr/body/index.ts +++ b/lib/workers/pr/body/index.ts @@ -12,7 +12,6 @@ import { getPrUpdatesTable } from './updates-table'; function massageUpdateMetadata(config: BranchConfig): void { config.upgrades.forEach((upgrade) => { - /* eslint-disable no-param-reassign */ const { homepage, sourceUrl, diff --git a/lib/workers/pr/index.ts b/lib/workers/pr/index.ts index 3825a54145a2d1af6f70f6cf17c289ead4157e65..d7f17709a6ad6b287641255f52fd426bd1b2a64c 100644 --- a/lib/workers/pr/index.ts +++ b/lib/workers/pr/index.ts @@ -262,7 +262,7 @@ export async function ensurePr( upgrade.manager }-${upgrade.currentVersion || upgrade.currentValue}-${upgrade.newVersion}`; if (processedUpgrades.includes(upgradeKey)) { - continue; // eslint-disable-line no-continue + continue; } processedUpgrades.push(upgradeKey); diff --git a/lib/workers/repository/changelog/index.ts b/lib/workers/repository/changelog/index.ts index b0c0697b1a9ec01fe5ceaab453d790fff48fea95..feff7e56e5d9b8fee3de80c07d0cb76e33865716 100644 --- a/lib/workers/repository/changelog/index.ts +++ b/lib/workers/repository/changelog/index.ts @@ -4,7 +4,7 @@ import type { BranchUpgradeConfig } from '../../types'; // istanbul ignore next async function embedChangelog(upgrade: BranchUpgradeConfig): Promise<void> { - upgrade.logJSON = await getChangeLogJSON(upgrade); // eslint-disable-line + upgrade.logJSON = await getChangeLogJSON(upgrade); } // istanbul ignore next diff --git a/lib/workers/repository/dependency-dashboard.spec.ts b/lib/workers/repository/dependency-dashboard.spec.ts index ac1c353cbe2202ea10d2948c8ccc59801f886bd4..2b12e6518416df040620d245b7b7945722f6c066 100644 --- a/lib/workers/repository/dependency-dashboard.spec.ts +++ b/lib/workers/repository/dependency-dashboard.spec.ts @@ -26,7 +26,7 @@ beforeEach(() => { async function dryRun( branches: BranchConfig[], - // eslint-disable-next-line @typescript-eslint/no-shadow + platform: jest.Mocked<Platform>, ensureIssueClosingCalls = 0, ensureIssueCalls = 0 diff --git a/lib/workers/repository/dependency-dashboard.ts b/lib/workers/repository/dependency-dashboard.ts index 6dc1dded4dcd2f2242cbd2a403e17da7f7c58d22..b85596b78d5df650b3e79075971ed1eb2c934549 100644 --- a/lib/workers/repository/dependency-dashboard.ts +++ b/lib/workers/repository/dependency-dashboard.ts @@ -35,7 +35,6 @@ function parseDashboardIssue(issueBody: string): DependencyDashboard { } export async function readDashboardBody(config: RenovateConfig): Promise<void> { - /* eslint-disable no-param-reassign */ config.dependencyDashboardChecks = {}; const stringifiedConfig = JSON.stringify(config); if ( diff --git a/lib/workers/repository/error.ts b/lib/workers/repository/error.ts index 65aa292b7530236db6417514cb8c943f75ec123a..381cb6ed10ca2b8c4dfa368b427b3c3abb7b32e2 100644 --- a/lib/workers/repository/error.ts +++ b/lib/workers/repository/error.ts @@ -41,12 +41,12 @@ export default async function handleError( ): Promise<string> { if (err.message === REPOSITORY_UNINITIATED) { logger.info('Repository is uninitiated - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === REPOSITORY_EMPTY) { logger.info('Repository is empty - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } const disabledMessages = [ @@ -61,31 +61,31 @@ export default async function handleError( } if (err.message === REPOSITORY_ARCHIVED) { logger.info('Repository is archived - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === REPOSITORY_MIRRORED) { logger.info('Repository is a mirror - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === REPOSITORY_RENAMED) { logger.info('Repository has been renamed - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === REPOSITORY_BLOCKED) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.info('Repository is blocked - skipping'); return err.message; } if (err.message === REPOSITORY_ACCESS_FORBIDDEN) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.info('Repository is forbidden'); return err.message; } if (err.message === REPOSITORY_NOT_FOUND) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.error('Repository is not found'); return err.message; } @@ -107,17 +107,17 @@ export default async function handleError( } if (err.message === REPOSITORY_CHANGED) { logger.info('Repository has changed during renovation - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === CONFIG_VALIDATION) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.info({ error: err }, 'Repository has invalid config'); await raiseConfigWarningIssue(config, err); return err.message; } if (err.message === CONFIG_SECRETS_EXPOSED) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.warn( { error: err }, 'Repository aborted due to potential secrets exposure' @@ -130,7 +130,7 @@ export default async function handleError( 'Host error' ); logger.info('External host error causing abort - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if ( @@ -138,48 +138,48 @@ export default async function handleError( err.message === SYSTEM_INSUFFICIENT_DISK_SPACE ) { logger.error('Disk space error - skipping'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) { logger.warn('Rate limit exceeded - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === SYSTEM_INSUFFICIENT_MEMORY) { logger.warn('Insufficient memory - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === PLATFORM_BAD_CREDENTIALS) { logger.warn('Bad credentials - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === PLATFORM_INTEGRATION_UNAUTHORIZED) { logger.warn('Integration unauthorized - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === PLATFORM_AUTHENTICATION_ERROR) { logger.warn('Authentication error - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === TEMPORARY_ERROR) { logger.info('Temporary error - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message === MANAGER_LOCKFILE_ERROR) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; logger.info('Lock file error - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return err.message; } if (err.message.includes('The requested URL returned error: 5')) { logger.warn({ err }, 'Git error - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; // rewrite this error return EXTERNAL_HOST_ERROR; } @@ -188,18 +188,18 @@ export default async function handleError( err.message.includes('access denied or repository not exported') ) { logger.warn({ err }, 'Git error - aborting'); - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; // rewrite this error return EXTERNAL_HOST_ERROR; } if (err.message.includes('fatal: not a git repository')) { - delete config.branchList; // eslint-disable-line no-param-reassign + delete config.branchList; return TEMPORARY_ERROR; } // Swallow this error so that other repositories can be processed logger.error({ err }, `Repository has unknown error`); // delete branchList to avoid cleaning up branches - delete config.branchList; // eslint-disable-line no-param-reassign - // eslint-disable-next-line no-undef + delete config.branchList; + return UNKNOWN_ERROR; } diff --git a/lib/workers/repository/index.ts b/lib/workers/repository/index.ts index 5005a9ee5e36bf40b1c935fcc6f2b0589a99e2be..c658082f0f2d3d90e8e17f93f33d5434971595a6 100644 --- a/lib/workers/repository/index.ts +++ b/lib/workers/repository/index.ts @@ -19,7 +19,7 @@ import { printRequestStats } from './stats'; let renovateVersion = 'unknown'; try { // eslint-disable-next-line @typescript-eslint/no-var-requires - renovateVersion = require('../../../package.json').version; // eslint-disable-line global-require + renovateVersion = require('../../../package.json').version; } catch (err) /* istanbul ignore next */ { logger.debug({ err }, 'Error getting renovate version'); } diff --git a/lib/workers/repository/init/vulnerability.ts b/lib/workers/repository/init/vulnerability.ts index 85cbb3744d72ae2f3c3b8147ec7469b0d26701dc..5503daaeead4fb9b8f3dde6eb5279b2138f1d22c 100644 --- a/lib/workers/repository/init/vulnerability.ts +++ b/lib/workers/repository/init/vulnerability.ts @@ -73,18 +73,18 @@ export async function detectVulnerabilityAlerts( (alert.vulnerableRequirements === '= 5.0.0-security.0' || alert.vulnerableRequirements === '= 5.0.1') ) { - continue; // eslint-disable-line no-continue + continue; } try { if (alert.dismissReason) { - continue; // eslint-disable-line no-continue + continue; } if (!alert.securityVulnerability.firstPatchedVersion) { logger.debug( { alert }, 'Vulnerability alert has no firstPatchedVersion - skipping' ); - continue; // eslint-disable-line no-continue + continue; } const datasourceMapping: Record<string, string> = { MAVEN: datasourceMaven.id, @@ -174,7 +174,7 @@ export async function detectVulnerabilityAlerts( } content += heading; content += '\n\n'; - // eslint-disable-next-line no-loop-func + content += sanitizeMarkdown(advisory.description); return content; }) diff --git a/lib/workers/repository/process/fetch.ts b/lib/workers/repository/process/fetch.ts index e4d85cb67c071d078550a62e6fefd4d8a81db4ec..6cd7cd90943e0633dfc4dd26f5d7bc48b5fa78f1 100644 --- a/lib/workers/repository/process/fetch.ts +++ b/lib/workers/repository/process/fetch.ts @@ -59,7 +59,7 @@ async function fetchManagerPackagerFileUpdates( { manager, packageFile, queueLength: queue.length }, 'fetchManagerPackagerFileUpdates starting with concurrency' ); - // eslint-disable-next-line no-param-reassign + pFile.deps = await pAll(queue, { concurrency: 5 }); logger.trace({ packageFile }, 'fetchManagerPackagerFileUpdates finished'); } diff --git a/lib/workers/repository/process/lookup/filter-checks.ts b/lib/workers/repository/process/lookup/filter-checks.ts index 1208a7d716e0e909e2319ef7af9614475f88961d..73c0535fb5c189be24d6607cb39c8bd53f460e93 100644 --- a/lib/workers/repository/process/lookup/filter-checks.ts +++ b/lib/workers/repository/process/lookup/filter-checks.ts @@ -66,7 +66,7 @@ export async function filterInternalChecks( `Release ${candidateRelease.version} is pending status checks` ); pendingReleases.unshift(candidateRelease); - continue; // eslint-disable-line no-continue + continue; } } if (isActiveConfidenceLevel(minimumConfidence)) { @@ -83,7 +83,7 @@ export async function filterInternalChecks( `Release ${candidateRelease.version} is pending status checks` ); pendingReleases.unshift(candidateRelease); - continue; // eslint-disable-line no-continue + continue; } } // If we get to here, then the release is OK and we can stop iterating diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index ad0d46dd9c9619d58dd2f95d584f34abff3b7963..a921b1536c27894fa530e65332614b9922105667 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -258,7 +258,7 @@ export async function lookupUpdates( } if (!update.newValue || update.newValue === currentValue) { if (!lockedVersion) { - continue; // eslint-disable-line no-continue + continue; } // istanbul ignore if if (rangeStrategy === 'bump') { @@ -266,7 +266,7 @@ export async function lookupUpdates( { depName, currentValue, lockedVersion, newVersion }, 'Skipping bump because newValue is the same' ); - continue; // eslint-disable-line no-continue + continue; } res.isSingleVersion = true; } diff --git a/lib/workers/repository/updates/branch-name.ts b/lib/workers/repository/updates/branch-name.ts index 32211dca8760a65e7107f82def49f0059bb5f1d4..15433fb94b2004b129ba231d4445baeeb4e3302c 100644 --- a/lib/workers/repository/updates/branch-name.ts +++ b/lib/workers/repository/updates/branch-name.ts @@ -27,7 +27,6 @@ function cleanBranchName(branchName: string): string { .replace(RE_MULTIPLE_DASH, '-'); // chained dashes } -/* eslint-disable no-param-reassign */ export function generateBranchName(update: RenovateConfig): void { // Check whether to use a group name if (update.groupName) { diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 4ff74aff11938226c98e4f61b9f4eee4b99430b9..ee8ea55354f9d785dbec7d42ae2df954db665298 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -92,7 +92,6 @@ export function generateBranchConfig( toVersions.length > 1 || (!toVersions[0] && newValue.length > 1); if (newValue.length > 1 && !groupEligible) { - // eslint-disable-next-line no-param-reassign branchUpgrades[0].commitMessageExtra = `to v${toVersions[0]}`; } const typesGroup = @@ -235,10 +234,10 @@ export function generateBranchConfig( const existingStamp = DateTime.fromISO(releaseTimestamp); const upgradeStamp = DateTime.fromISO(upgrade.releaseTimestamp); if (upgradeStamp > existingStamp) { - releaseTimestamp = upgrade.releaseTimestamp; // eslint-disable-line + releaseTimestamp = upgrade.releaseTimestamp; } } else { - releaseTimestamp = upgrade.releaseTimestamp; // eslint-disable-line + releaseTimestamp = upgrade.releaseTimestamp; } } } diff --git a/package.json b/package.json index 960b6ec5940201c7786a63ad8dd8992171cef2c4..cda3f5f196b7d8fb24aa9d27c709ffd771be1c5c 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "create-json-schema": "node -r ts-node/register/transpile-only -- bin/create-json-schema.js && prettier --write \"renovate-schema.json\"", "debug": "node --inspect-brk -r ts-node/register/transpile-only -- lib/renovate.ts", "doc-fix": "run-s markdown-lint-fix prettier-fix", - "eslint": "eslint --ext .js,.mjs,.ts lib/ test/ tools/", - "eslint-fix": "eslint --ext .js,.mjs,.ts --fix lib/ test/ tools/", + "eslint": "eslint --ext .js,.mjs,.ts lib/ test/ tools/ --report-unused-disable-directives", + "eslint-fix": "eslint --ext .js,.mjs,.ts --fix lib/ test/ tools/ --report-unused-disable-directives", "generate": "run-s generate:*", "generate:imports": "node tools/generate-imports.mjs", "git-check": "node tools/check-git-version.mjs", diff --git a/test/exec-util.ts b/test/exec-util.ts index 7e4d4e14972a4f058befa2302fd7cf44ad012930..0a0b5d8bdb656413547b572ce2b433d9771b58bf 100644 --- a/test/exec-util.ts +++ b/test/exec-util.ts @@ -27,7 +27,6 @@ export function execSnapshot(cmd: string, options?: CallOptions): ExecSnapshot { const cwd = toUnix(process.cwd()); - // eslint-disable-next-line array-callback-return return traverse(snapshot).map(function fixup(v) { if (is.string(v)) { const val = v diff --git a/tools/check-re2.mjs b/tools/check-re2.mjs index 04a90c4c3a2a95e6e4d3b7374545d5e194d6a6aa..0d55da98a28bd49fc22cb6d49edf1341171470aa 100644 --- a/tools/check-re2.mjs +++ b/tools/check-re2.mjs @@ -4,7 +4,7 @@ import shell from 'shelljs'; (async () => { shell.echo('-n', 'Checking re2 ... '); try { - const { default: RE2 } = await import('re2'); // eslint-disable-line import/no-extraneous-dependencies + const { default: RE2 } = await import('re2'); new RE2('.*').exec('test'); shell.echo(`ok.`); } catch (e) {