From 391c667f09b63834fd5a47ca43cd83c0b2fec85c Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 6 May 2022 17:56:12 +0100 Subject: [PATCH] [Dev] Fix linting for JS files (#1864) --- .eslintrc | 3 ++- dev/createStatoscopeComment.js | 2 +- package.json | 4 ++-- src/lib/fastBlur.js | 1 + src/lib/gramjs/Helpers.js | 4 +++- src/lib/gramjs/Password.js | 1 - src/lib/gramjs/Utils.js | 3 +-- src/lib/gramjs/client/MockClient.ts | 2 +- src/lib/gramjs/client/TelegramClient.js | 3 +++ src/lib/gramjs/crypto/Factorizator.js | 1 - src/lib/gramjs/crypto/IGE.js | 1 - src/lib/gramjs/crypto/crypto.js | 4 +--- src/lib/gramjs/errors/Common.js | 1 - src/lib/gramjs/errors/RPCErrorList.js | 2 -- src/lib/gramjs/events/common.js | 1 - src/lib/gramjs/extensions/Logger.js | 1 + src/lib/gramjs/extensions/MessagePacker.js | 3 +-- src/lib/gramjs/network/MTProtoState.js | 3 ++- src/lib/gramjs/sessions/Memory.js | 1 - src/lib/gramjs/sessions/StorageSession.js | 3 ++- src/lib/gramjs/sessions/StringSession.js | 1 - src/lib/gramjs/tl/api.js | 4 ++-- src/lib/gramjs/tl/generationHelpers.js | 1 - src/lib/punycode.js | 1 + 24 files changed, 24 insertions(+), 27 deletions(-) diff --git a/.eslintrc b/.eslintrc index 2c72e2686..16540e6ea 100644 --- a/.eslintrc +++ b/.eslintrc @@ -98,7 +98,8 @@ "teactn/prefer-separate-component-file": "off" }, "settings": { - "import/resolver": "webpack" + "import/resolver": "webpack", + "import/core-modules": ["fs", "path"] }, "parserOptions": { "project": "./tsconfig.json" diff --git a/dev/createStatoscopeComment.js b/dev/createStatoscopeComment.js index 5b8ca925e..8cddf232f 100644 --- a/dev/createStatoscopeComment.js +++ b/dev/createStatoscopeComment.js @@ -2,7 +2,7 @@ const fs = require('fs'); const createPRComment = require('./createPRComment'); -const template = require('../.github/workflows/statoscope-comment.js'); +const template = require('../.github/workflows/statoscope-comment'); module.exports = async ({ github, context }) => { const data = JSON.parse(fs.readFileSync('result.json', 'utf8')); diff --git a/package.json b/package.json index 3c05aee88..297a53f9e 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,10 @@ "print_version": "node -p -e \"require('./package.json').version\"", "inc_version": "echo $((`cat .patch-version` + 1)) > .patch-version && echo \"$(node -p -e \"require('./package.json').version.match(/^\\d+\\.\\d+/)[0]\").$(cat .patch-version)\"", "telegraph:update_changelog": "node ./dev/telegraphChangelog.js", - "check": "tsc && stylelint \"**/*.{css,scss}\" && eslint . --ext .ts,.tsx --ignore-pattern src/lib/gramjs", + "check": "tsc && stylelint \"**/*.{css,scss}\" && eslint . --ext .ts,.tsx,.js --ignore-pattern src/lib/gramjs", "check:fix": "npm run check -- --fix", "gramjs:tl": "node ./src/lib/gramjs/tl/generateModules.js", - "gramjs:lint": "eslint src/lib/gramjs --ext .ts,.tsx", + "gramjs:lint": "eslint src/lib/gramjs --ext .ts,.tsx,.js", "gramjs:lint:fix": "npm run gramjs:lint -- --fix", "test": "cross-env APP_ENV=test jest --verbose --forceExit", "test:playwright": "playwright test", diff --git a/src/lib/fastBlur.js b/src/lib/fastBlur.js index 38d5aaa30..f445a3f5b 100644 --- a/src/lib/fastBlur.js +++ b/src/lib/fastBlur.js @@ -5,6 +5,7 @@ /* eslint-disable no-param-reassign */ /* eslint-disable prefer-const */ /* eslint-disable eqeqeq */ +/* eslint-disable @typescript-eslint/naming-convention */ /* Superfast Blur - a fast Box Blur For Canvas diff --git a/src/lib/gramjs/Helpers.js b/src/lib/gramjs/Helpers.js index f7e68a2e7..f574d2f7c 100644 --- a/src/lib/gramjs/Helpers.js +++ b/src/lib/gramjs/Helpers.js @@ -268,7 +268,9 @@ function getRandomInt(min, max) { * @param ms time in milliseconds * @returns {Promise} */ -const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const sleep = (ms) => new Promise((resolve) => { + setTimeout(resolve, ms); +}); /** * Helper to export two buffers of same length diff --git a/src/lib/gramjs/Password.js b/src/lib/gramjs/Password.js index 36e97ed2c..053aa744c 100644 --- a/src/lib/gramjs/Password.js +++ b/src/lib/gramjs/Password.js @@ -267,7 +267,6 @@ async function computeCheck(request, password) { K, ])); - return new constructors.InputCheckPasswordSRP({ srpId: request.srpId, A: Buffer.from(aForHash), diff --git a/src/lib/gramjs/Utils.js b/src/lib/gramjs/Utils.js index 2f8cf9fff..a210751b3 100644 --- a/src/lib/gramjs/Utils.js +++ b/src/lib/gramjs/Utils.js @@ -4,6 +4,7 @@ const { constructors } = require('./tl'); const JPEG_HEADER = Buffer.from('ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e19282321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aadaad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c353c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc00011080000000003012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00', 'hex'); const JPEG_FOOTER = Buffer.from('ffd9', 'hex'); +// eslint-disable-next-line @typescript-eslint/naming-convention function _raiseCastFail(entity, target) { throw new Error(`Cannot cast ${entity.className} to any kind of ${target}`); } @@ -125,7 +126,6 @@ function getInputChannel(entity) { _raiseCastFail(entity, 'InputChannel') } - if (entity.SUBCLASS_OF_ID === 0x40f202fd) { // crc32(b'InputChannel') return entity } @@ -511,7 +511,6 @@ function getMessageId(message) { throw new Error(`Invalid message type: ${message.constructor.name}`); } - /** Parses the given username or channel access hash, given a string, username or URL. Returns a tuple consisting of diff --git a/src/lib/gramjs/client/MockClient.ts b/src/lib/gramjs/client/MockClient.ts index 95a533daf..29ea7f84c 100644 --- a/src/lib/gramjs/client/MockClient.ts +++ b/src/lib/gramjs/client/MockClient.ts @@ -205,7 +205,7 @@ class TelegramClient { return testChat; } - async invoke(request: Request) { + invoke(request: Request) { // await new Promise(resolve => setTimeout(resolve, 1000)) if (request instanceof GramJs.messages.GetDiscussionMessage) { return new GramJs.messages.DiscussionMessage({ diff --git a/src/lib/gramjs/client/TelegramClient.js b/src/lib/gramjs/client/TelegramClient.js index ebbde2891..4a479797b 100644 --- a/src/lib/gramjs/client/TelegramClient.js +++ b/src/lib/gramjs/client/TelegramClient.js @@ -371,6 +371,7 @@ class TelegramClient { // if we don't already have an auth key we want to use normal DCs not -1 const dc = utils.getDC(dcId, Boolean(sender.authKey.getKey())); + // eslint-disable-next-line no-constant-condition while (true) { try { await sender.connect(new this._connection( @@ -682,6 +683,7 @@ class TelegramClient { try { const buff = []; let offset = 0; + // eslint-disable-next-line no-constant-condition while (true) { const downloaded = new requests.upload.GetWebFile({ location: new constructors.InputWebFileLocation({ @@ -718,6 +720,7 @@ class TelegramClient { try { const buff = []; let offset = 0; + // eslint-disable-next-line no-constant-condition while (true) { try { const downloaded = new requests.upload.GetWebFile({ diff --git a/src/lib/gramjs/crypto/Factorizator.js b/src/lib/gramjs/crypto/Factorizator.js index 98c8a1b8b..10796ee97 100644 --- a/src/lib/gramjs/crypto/Factorizator.js +++ b/src/lib/gramjs/crypto/Factorizator.js @@ -68,7 +68,6 @@ class Factorizator { r = r.multiply(2); } - if (g.eq(pq)) { // eslint-disable-next-line no-constant-condition while (true) { diff --git a/src/lib/gramjs/crypto/IGE.js b/src/lib/gramjs/crypto/IGE.js index deff7c511..2a9707f70 100644 --- a/src/lib/gramjs/crypto/IGE.js +++ b/src/lib/gramjs/crypto/IGE.js @@ -1,7 +1,6 @@ const { IGE: AESIGE } = require('@cryptography/aes'); const Helpers = require('../Helpers'); - class IGENEW { constructor(key, iv) { this.ige = new AESIGE(key, iv); diff --git a/src/lib/gramjs/crypto/crypto.js b/src/lib/gramjs/crypto/crypto.js index aeae06e90..b4984fcd3 100644 --- a/src/lib/gramjs/crypto/crypto.js +++ b/src/lib/gramjs/crypto/crypto.js @@ -95,7 +95,6 @@ class Hash { this.data = new Uint8Array(data); } - async digest() { if (this.algorithm === 'sha1') { // eslint-disable-next-line no-restricted-globals @@ -109,8 +108,7 @@ class Hash { } async function pbkdf2(password, salt, iterations) { - const passwordKey = await crypto.subtle.importKey('raw', password, - { name: 'PBKDF2' }, false, ['deriveBits']); + const passwordKey = await crypto.subtle.importKey('raw', password, { name: 'PBKDF2' }, false, ['deriveBits']); return Buffer.from(await crypto.subtle.deriveBits({ name: 'PBKDF2', hash: 'SHA-512', diff --git a/src/lib/gramjs/errors/Common.js b/src/lib/gramjs/errors/Common.js index 4971cb478..95965896a 100644 --- a/src/lib/gramjs/errors/Common.js +++ b/src/lib/gramjs/errors/Common.js @@ -2,7 +2,6 @@ * Errors not related to the Telegram API itself */ - /** * Occurs when a read operation was cancelled. */ diff --git a/src/lib/gramjs/errors/RPCErrorList.js b/src/lib/gramjs/errors/RPCErrorList.js index c203d7ec3..65ea7dbd6 100644 --- a/src/lib/gramjs/errors/RPCErrorList.js +++ b/src/lib/gramjs/errors/RPCErrorList.js @@ -5,7 +5,6 @@ const { BadRequestError, } = require('./RPCBaseErrors'); - class UserMigrateError extends InvalidDCError { constructor(args) { const newDc = Number(args.capture || 0); @@ -17,7 +16,6 @@ class UserMigrateError extends InvalidDCError { } } - class PhoneMigrateError extends InvalidDCError { constructor(args) { const newDc = Number(args.capture || 0); diff --git a/src/lib/gramjs/events/common.js b/src/lib/gramjs/events/common.js index a2980f0ad..2e5916d65 100644 --- a/src/lib/gramjs/events/common.js +++ b/src/lib/gramjs/events/common.js @@ -16,7 +16,6 @@ class EventBuilder { } } - module.exports = { EventBuilder, }; diff --git a/src/lib/gramjs/extensions/Logger.js b/src/lib/gramjs/extensions/Logger.js index 9267f0c5a..fbd31ebd6 100644 --- a/src/lib/gramjs/extensions/Logger.js +++ b/src/lib/gramjs/extensions/Logger.js @@ -1,3 +1,4 @@ +// eslint-disable-next-line @typescript-eslint/naming-convention let _level; class Logger { diff --git a/src/lib/gramjs/extensions/MessagePacker.js b/src/lib/gramjs/extensions/MessagePacker.js index e3bbd8b03..5ca041f32 100644 --- a/src/lib/gramjs/extensions/MessagePacker.js +++ b/src/lib/gramjs/extensions/MessagePacker.js @@ -83,8 +83,7 @@ class MessagePacker { afterId = state.after.msgId; } state.msgId = await this._state.writeDataAsMessage( - buffer, state.data, state.request.classType === 'request', - afterId, + buffer, state.data, state.request.classType === 'request', afterId, ); this._log.debug(`Assigned msgId = ${state.msgId} to ${state.request.className || state.request.constructor.name}`); diff --git a/src/lib/gramjs/network/MTProtoState.js b/src/lib/gramjs/network/MTProtoState.js index b45b6d06b..576c03974 100644 --- a/src/lib/gramjs/network/MTProtoState.js +++ b/src/lib/gramjs/network/MTProtoState.js @@ -266,7 +266,8 @@ class MTProtoState { if (this.msgIds.length > 500) { this.msgIds.shift(); } - this.msgIds.push(remoteMsgId.toString());const remoteSequence = reader.readInt(); + this.msgIds.push(remoteMsgId.toString()); + const remoteSequence = reader.readInt(); const containerLen = reader.readInt(); // msgLen for the inner object, padding ignored const diff = body.length - containerLen; // We want to check if it's between 12 and 1024 diff --git a/src/lib/gramjs/sessions/Memory.js b/src/lib/gramjs/sessions/Memory.js index 5c2950333..62b4d65aa 100644 --- a/src/lib/gramjs/sessions/Memory.js +++ b/src/lib/gramjs/sessions/Memory.js @@ -48,7 +48,6 @@ class MemorySession extends Session { this._takeoutId = value } - getUpdateState(entityId) { return this._updateStates[entityId] } diff --git a/src/lib/gramjs/sessions/StorageSession.js b/src/lib/gramjs/sessions/StorageSession.js index aef093638..0d65657ce 100644 --- a/src/lib/gramjs/sessions/StorageSession.js +++ b/src/lib/gramjs/sessions/StorageSession.js @@ -149,7 +149,8 @@ class StorageSession extends MemorySession { async delete() { try { - return await this._delete(); + const deleted = await this._delete(); + return deleted; } catch (err) { // eslint-disable-next-line no-console console.warn('Failed to delete session from storage'); diff --git a/src/lib/gramjs/sessions/StringSession.js b/src/lib/gramjs/sessions/StringSession.js index 2f49da376..85dd4ecfa 100644 --- a/src/lib/gramjs/sessions/StringSession.js +++ b/src/lib/gramjs/sessions/StringSession.js @@ -4,7 +4,6 @@ const BinaryReader = require('../extensions/BinaryReader'); const CURRENT_VERSION = '1'; - class StringSession extends MemorySession { /** * This session file can be easily saved and loaded as a string. According diff --git a/src/lib/gramjs/tl/api.js b/src/lib/gramjs/tl/api.js index eedbfaa8a..9d0d96363 100644 --- a/src/lib/gramjs/tl/api.js +++ b/src/lib/gramjs/tl/api.js @@ -7,8 +7,8 @@ const { toSignedLittleBuffer, } = require('../Helpers'); -const tlContent = require('./apiTl.js'); -const schemeContent = require('./schemaTl.js'); +const tlContent = require('./apiTl'); +const schemeContent = require('./schemaTl'); /* CONTEST const NAMED_AUTO_CASTS = new Set([ diff --git a/src/lib/gramjs/tl/generationHelpers.js b/src/lib/gramjs/tl/generationHelpers.js index 7b7d577d2..12c8bccc9 100644 --- a/src/lib/gramjs/tl/generationHelpers.js +++ b/src/lib/gramjs/tl/generationHelpers.js @@ -210,7 +210,6 @@ function buildArgConfig(name, argType) { return currentConfig; } - function* parseTl(content, layer, methods = [], ignoreIds = CORE_TYPES) { (methods || []).reduce((o, m) => ({ ...o, diff --git a/src/lib/punycode.js b/src/lib/punycode.js index 16f519c4f..93af88045 100644 --- a/src/lib/punycode.js +++ b/src/lib/punycode.js @@ -1,5 +1,6 @@ /* eslint-disable no-nested-ternary */ /* eslint-disable no-bitwise */ +/* eslint-disable @typescript-eslint/naming-convention */ const utf16 = { // The utf16-class is necessary to convert from javascripts internal character representation to unicode and back.