From ab45ab1f8d0d0f728fb026a92ec191bcc88f51f1 Mon Sep 17 00:00:00 2001 From: Matt Travi Date: Sat, 2 Apr 2022 17:33:08 -0500 Subject: [PATCH] chore(lint): disabled rules that dont apply to this project (#2408) the performance and readability of reduce is not a concern in this project since maintainers are familiar with the idiom and are iterating over small lists. the filter rule is disabled selectively since the filter being identified is not Array.filter closes #2403 --- lib/branches/index.js | 1 + lib/definitions/branches.js | 1 + lib/get-git-auth-url.js | 2 +- lib/git.js | 4 ++-- package.json | 1 + test/definitions/branches.test.js | 6 ++++++ test/helpers/mockserver.js | 2 +- test/helpers/npm-registry.js | 2 +- 8 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/branches/index.js b/lib/branches/index.js index 0b5f397f8c..951500dc47 100644 --- a/lib/branches/index.js +++ b/lib/branches/index.js @@ -27,6 +27,7 @@ module.exports = async (repositoryUrl, ciBranch, context) => { const errors = []; const branchesByType = Object.entries(DEFINITIONS).reduce( + // eslint-disable-next-line unicorn/no-fn-reference-in-iterator (branchesByType, [type, {filter}]) => ({[type]: branches.filter(filter), ...branchesByType}), {} ); diff --git a/lib/definitions/branches.js b/lib/definitions/branches.js index c447661948..c47fc65683 100644 --- a/lib/definitions/branches.js +++ b/lib/definitions/branches.js @@ -16,6 +16,7 @@ const prerelease = { }; const release = { + // eslint-disable-next-line unicorn/no-fn-reference-in-iterator filter: (branch) => !maintenance.filter(branch) && !prerelease.filter(branch), branchesValidator: (branches) => branches.length <= 3 && branches.length > 0, }; diff --git a/lib/get-git-auth-url.js b/lib/get-git-auth-url.js index 0c35cd299d..56b5fc6932 100644 --- a/lib/get-git-auth-url.js +++ b/lib/get-git-auth-url.js @@ -89,7 +89,7 @@ module.exports = async (context) => { try { debug('Verifying ssh auth by attempting to push to %s', repositoryUrl); await verifyAuth(repositoryUrl, branch.name, {cwd, env}); - } catch (_) { + } catch { debug('SSH key auth failed, falling back to https.'); const envVars = Object.keys(GIT_TOKENS).filter((envVar) => !isNil(env[envVar])); diff --git a/lib/git.js b/lib/git.js index 8aaf884a34..c4e7ff4c3d 100644 --- a/lib/git.js +++ b/lib/git.js @@ -116,7 +116,7 @@ async function fetch(repositoryUrl, branch, ciBranch, execaOptions) { ], execaOptions ); - } catch (_) { + } catch { await execa( 'git', [ @@ -144,7 +144,7 @@ async function fetchNotes(repositoryUrl, execaOptions) { ['fetch', '--unshallow', repositoryUrl, `+refs/notes/${GIT_NOTE_REF}:refs/notes/${GIT_NOTE_REF}`], execaOptions ); - } catch (_) { + } catch { await execa('git', ['fetch', repositoryUrl, `+refs/notes/${GIT_NOTE_REF}:refs/notes/${GIT_NOTE_REF}`], { ...execaOptions, reject: false, diff --git a/package.json b/package.json index dc5cd5bcc8..13d7278078 100644 --- a/package.json +++ b/package.json @@ -129,6 +129,7 @@ "prettier": true, "space": true, "rules": { + "unicorn/no-reduce": "off", "unicorn/string-content": "off" } }, diff --git a/test/definitions/branches.test.js b/test/definitions/branches.test.js index 8ab6396dc3..db5cbe38c5 100644 --- a/test/definitions/branches.test.js +++ b/test/definitions/branches.test.js @@ -2,6 +2,7 @@ const test = require('ava'); const {maintenance, prerelease, release} = require('../../lib/definitions/branches'); test('A "maintenance" branch is identified by having a "range" property or a "name" formatted like "N.x", "N.x.x" or "N.N.x"', (t) => { + /* eslint-disable unicorn/no-fn-reference-in-iterator */ t.true(maintenance.filter({name: '1.x.x'})); t.true(maintenance.filter({name: '1.0.x'})); t.true(maintenance.filter({name: '1.x'})); @@ -15,6 +16,7 @@ test('A "maintenance" branch is identified by having a "range" property or a "na t.false(maintenance.filter({name: 'some-name'})); t.false(maintenance.filter({name: '1.0.0'})); t.false(maintenance.filter({name: 'x.x.x'})); + /* eslint-enable unicorn/no-fn-reference-in-iterator */ }); test('A "maintenance" branches must have a "range" property formatted like "N.x", "N.x.x" or "N.N.x"', (t) => { @@ -37,6 +39,7 @@ test('The "maintenance" branches must have unique ranges', (t) => { }); test('A "prerelease" branch is identified by having a thruthy "prerelease" property', (t) => { + /* eslint-disable unicorn/no-fn-reference-in-iterator */ t.true(prerelease.filter({name: 'some-name', prerelease: true})); t.true(prerelease.filter({name: 'some-name', prerelease: 'beta'})); t.true(prerelease.filter({name: 'some-name', prerelease: ''})); @@ -44,6 +47,7 @@ test('A "prerelease" branch is identified by having a thruthy "prerelease" prope t.false(prerelease.filter({name: 'some-name', prerelease: null})); t.false(prerelease.filter({name: 'some-name', prerelease: false})); t.false(prerelease.filter({name: 'some-name'})); + /* eslint-enable unicorn/no-fn-reference-in-iterator */ }); test('A "prerelease" branch must have a valid prerelease detonation in "prerelease" property or in "name" if "prerelease" is "true"', (t) => { @@ -66,6 +70,7 @@ test('The "prerelease" branches must have unique "prerelease" property', (t) => }); test('A "release" branch is identified by not havin a "range" or "prerelease" property or a "name" formatted like "N.x", "N.x.x" or "N.N.x"', (t) => { + /* eslint-disable unicorn/no-fn-reference-in-iterator */ t.true(release.filter({name: 'some-name'})); t.false(release.filter({name: '1.x.x'})); @@ -74,6 +79,7 @@ test('A "release" branch is identified by not havin a "range" or "prerelease" pr t.false(release.filter({name: 'some-name', range: '1.1.x'})); t.false(release.filter({name: 'some-name', prerelease: true})); t.false(release.filter({name: 'some-name', prerelease: 'beta'})); + /* eslint-enable unicorn/no-fn-reference-in-iterator */ }); test('There must be between 1 and 3 release branches', (t) => { diff --git a/test/helpers/mockserver.js b/test/helpers/mockserver.js index 51db154525..777eab46df 100644 --- a/test/helpers/mockserver.js +++ b/test/helpers/mockserver.js @@ -30,7 +30,7 @@ async function start() { minTimeout: 1000, factor: 2, }); - } catch (_) { + } catch { throw new Error(`Couldn't start mock-server after 2 min`); } } diff --git a/test/helpers/npm-registry.js b/test/helpers/npm-registry.js index c70933c7fb..2b05fd9a41 100644 --- a/test/helpers/npm-registry.js +++ b/test/helpers/npm-registry.js @@ -37,7 +37,7 @@ async function start() { minTimeout: 1000, factor: 2, }); - } catch (_) { + } catch { throw new Error(`Couldn't start npm-registry-docker after 2 min`); }