From 1163c70e4197c814214f0b5f53598ed7e9ddc02c Mon Sep 17 00:00:00 2001 From: Dominik Korsa Date: Sun, 5 Apr 2020 12:58:05 +0200 Subject: [PATCH] Change eslint rules --- .eslintrc.json | 7 +- bot.js | 14 +++- commands/rola.js | 4 +- events/message.js | 4 +- message-handlers/hastebin.js | 2 +- message-handlers/issue-handler.js | 2 +- package-lock.json | 118 +++++++++++++++++++----------- package.json | 6 +- 8 files changed, 97 insertions(+), 60 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 3b14606..3d538dd 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -3,9 +3,10 @@ "rules": { "import/no-dynamic-require": "off", "global-require": "off", - "consistent-return": "off", + "consistent-return": "warn", "no-console": "off", - "no-plusplus": "off", - "no-shadow": "warn" + "no-plusplus": "error", + "no-shadow": "warn", + "import/order": ["error"] } } diff --git a/bot.js b/bot.js index 1fcaf12..f4e3a7a 100644 --- a/bot.js +++ b/bot.js @@ -1,6 +1,6 @@ -const Discord = require('discord.js'); -const Enmap = require('enmap'); const fs = require('fs'); +const Enmap = require('enmap'); +const Discord = require('discord.js'); const config = require('./config.json'); const client = new Discord.Client(); @@ -8,7 +8,10 @@ const client = new Discord.Client(); client.config = config; fs.readdir('./events/', (err, files) => { - if (err) return console.error(err); + if (err) { + console.error(err); + return; + } files.forEach((file) => { const event = require(`./events/${file}`); const eventName = file.split('.')[0]; @@ -19,7 +22,10 @@ fs.readdir('./events/', (err, files) => { client.commands = new Enmap(); fs.readdir('./commands/', (err, files) => { - if (err) return console.error(err); + if (err) { + console.error(err); + return; + } files.forEach((file) => { if (!file.endsWith('.js')) return; const props = require(`./commands/${file}`); diff --git a/commands/rola.js b/commands/rola.js index a6b2cb3..1b52d4a 100644 --- a/commands/rola.js +++ b/commands/rola.js @@ -3,7 +3,7 @@ exports.run = (client, message, args) => { if (args[0].toLowerCase() === 'dodaj' && args[1]) { let found = false; const { roles } = client.config; - for (let i = 0; i < roles.length && !found; i++) { + for (let i = 0; i < roles.length && !found; i += 1) { if (roles[i] === args[1].toLowerCase()) { found = true; const role = message.guild.roles.cache.find((r) => r.name === roles[i]); @@ -30,7 +30,7 @@ exports.run = (client, message, args) => { } else if (args[0].toLowerCase() === 'usun' && args[1]) { let found = false; const { roles } = client.config; - for (let i = 0; i < roles.length && !found; i++) { + for (let i = 0; i < roles.length && !found; i += 1) { console.log(roles[i]); if (roles[i] === args[1].toLowerCase()) { found = true; diff --git a/events/message.js b/events/message.js index c94bb76..5bc4516 100644 --- a/events/message.js +++ b/events/message.js @@ -1,7 +1,7 @@ const commandHandler = require('../message-handlers/command'); -const hastebinHandler = require('../message-handlers/hastebin'); -const repoHandler = require('../message-handlers/repo-handler'); const issueHandler = require('../message-handlers/issue-handler'); +const repoHandler = require('../message-handlers/repo-handler'); +const hastebinHandler = require('../message-handlers/hastebin'); module.exports = async (client, message) => { if (message.author.bot) return; diff --git a/message-handlers/hastebin.js b/message-handlers/hastebin.js index 892f2c4..1028ac9 100644 --- a/message-handlers/hastebin.js +++ b/message-handlers/hastebin.js @@ -1,4 +1,4 @@ -const hastebinSender = require('../utils/hastebin'); +const hastebinSender = require('../utils/hastebin.js'); module.exports = function hastebinHandler(client, message) { if (message.content.startsWith('==') && message.content.slice(-2) === '==') { diff --git a/message-handlers/issue-handler.js b/message-handlers/issue-handler.js index be4a2ae..ddcf554 100644 --- a/message-handlers/issue-handler.js +++ b/message-handlers/issue-handler.js @@ -1,6 +1,6 @@ const Discord = require('discord.js'); -const { prune } = require('voca'); const _ = require('lodash'); +const { prune } = require('voca'); const githubRepoInfo = require('../utils/githubRepoInfo'); module.exports = async function issueHandler(client, message) { diff --git a/package-lock.json b/package-lock.json index 2ff1c9e..59b05c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -327,6 +327,14 @@ "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "css-select": { @@ -565,14 +573,6 @@ "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "eslint-config-airbnb-base": { @@ -614,9 +614,9 @@ } }, "eslint-module-utils": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", - "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -641,9 +641,9 @@ } }, "eslint-plugin-import": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", - "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz", + "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==", "dev": true, "requires": { "array-includes": "^3.0.3", @@ -671,7 +671,7 @@ }, "doctrine": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { @@ -848,9 +848,9 @@ } }, "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "forever-agent": { @@ -1350,9 +1350,9 @@ "dev": true }, "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -1410,6 +1410,14 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "nth-check": { @@ -1507,7 +1515,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -1569,7 +1577,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -1601,7 +1609,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -1787,9 +1795,9 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -1806,9 +1814,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "setimmediate": { @@ -1832,9 +1840,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "slice-ansi": { @@ -1890,7 +1898,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -1944,24 +1952,46 @@ } } }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "string.prototype.trimend": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.0.tgz", + "integrity": "sha512-EEJnGqa/xNfIg05SxiPSqRS7S9qwDhYts1TSLR1BQfYUfPe1stofgGKvwERK9+9yf+PpfBMlpBaCHucXGPQfUA==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" } }, "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.0.tgz", + "integrity": "sha512-iCP8g01NFYiiBOnwG1Xc3WZLyoo+RuBymwIlWncShXDDJYWN6DbnM3odslBJdgCdRlq94B5s63NWAZlcn2CS4w==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, "string_decoder": { @@ -2055,7 +2085,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, diff --git a/package.json b/package.json index 37c9b87..2caf6f3 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "bot.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "lint": "./node_modules/.bin/eslint ./", - "lint:fix": "./node_modules/.bin/eslint ./ --fix", + "lint": "eslint -c .eslintrc.json ./", + "lint:fix": "eslint -c .eslintrc.json ./ --fix", "start": "node ." }, "author": "Dominik Korsa (https://github.com/dominik-korsa)", @@ -30,6 +30,6 @@ "devDependencies": { "eslint": "^6.8.0", "eslint-config-airbnb-base": "^14.1.0", - "eslint-plugin-import": "^2.20.1" + "eslint-plugin-import": "^2.20.2" } }