From 9bb30097a40c91fb476af8d6d0480a96b0d111b3 Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Sat, 7 Aug 2021 15:05:20 -0700 Subject: [PATCH] feat: wip: added some stuff --- .vscode/settings.json | 3 - package.json | 40 ++- src/api/apiClient.ts | 2 +- src/api/apiHelper.ts | 30 +- src/client/client.ts | 7 +- src/structures/clientUser.ts | 9 + src/structures/user.ts | 18 ++ src/utils/cacheManager.ts | 51 +++ src/utils/defaults.ts | 4 + src/utils/types.ts | 51 ++- yarn.lock | 595 +++++++++++++++++++++++------------ 11 files changed, 586 insertions(+), 224 deletions(-) delete mode 100644 .vscode/settings.json create mode 100644 src/structures/clientUser.ts create mode 100644 src/structures/user.ts create mode 100644 src/utils/cacheManager.ts diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4d360cb..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib" -} diff --git a/package.json b/package.json index 98b12d4..aa1edac 100644 --- a/package.json +++ b/package.json @@ -38,16 +38,19 @@ "dependencies": { "@sapphire/async-queue": "^1.1.4", "abort-controller": "^3.0.0", + "cache-manager": "^3.4.4", + "cache-manager-ioredis": "^2.1.0", "fast-zlib": "^2.0.1", "form-data": "^4.0.0", + "ioredis": "^4.27.7", "lodash": "^4.17.21", "node-fetch": "^2.6.1", - "ws": "^7.5.3" + "ws": "^8.0.0" }, "devDependencies": { - "@commitlint/cli": "^12.1.4", - "@commitlint/config-conventional": "^12.1.4", - "@commitlint/cz-commitlint": "^12.1.4", + "@commitlint/cli": "^13.1.0", + "@commitlint/config-conventional": "^13.1.0", + "@commitlint/cz-commitlint": "^13.1.0", "@istanbuljs/nyc-config-typescript": "^1.0.1", "@saithodev/semantic-release-gitea": "^2.1.0", "@semantic-release/changelog": "^5.0.1", @@ -55,33 +58,36 @@ "@semantic-release/git": "^9.0.0", "@semantic-release/npm": "^7.1.3", "@semantic-release/release-notes-generator": "^9.0.3", + "@types/cache-manager": "^3.4.2", + "@types/cache-manager-ioredis": "^2.0.2", "@types/chai": "^4.2.21", "@types/eslint": "^7.28.0", - "@types/lodash": "^4.14.171", - "@types/mocha": "^8.2.3", - "@types/node": "^16.3.2", - "@types/node-fetch": "^2.5.11", + "@types/ioredis": "^4.26.7", + "@types/lodash": "^4.14.172", + "@types/mocha": "^9.0.0", + "@types/node": "^16.4.13", + "@types/node-fetch": "^2.5.12", "@types/semantic-release": "^17.2.1", "@types/sinon": "^10.0.2", "@types/source-map-support": "^0.5.4", - "@types/ws": "^7.4.6", - "@typescript-eslint/eslint-plugin": "^4.28.3", - "@typescript-eslint/parser": "^4.28.3", - "@typescript-eslint/typescript-estree": "^4.28.3", + "@types/ws": "^7.4.7", + "@typescript-eslint/eslint-plugin": "^4.29.0", + "@typescript-eslint/parser": "^4.29.0", + "@typescript-eslint/typescript-estree": "^4.29.0", "chai": "^4.3.4", "commitizen": "^4.2.4", - "eslint": "^7.30.0", + "eslint": "^7.32.0", "eslint-formatter-pretty": "^4.1.0", - "eslint-plugin-unicorn": "^34.0.1", + "eslint-plugin-unicorn": "^35.0.0", "husky": "^7.0.1", "inquirer": "^8.1.2", - "lint-staged": "^11.0.1", - "mocha": "^9.0.2", + "lint-staged": "^11.1.2", + "mocha": "^9.0.3", "nyc": "^15.1.0", "pinst": "^2.1.6", "rimraf": "^3.0.2", "semantic-release": "^17.4.4", - "sinon": "^11.1.1", + "sinon": "^11.1.2", "source-map-support": "^0.5.19", "ts-node": "^10.1.0", "tsconfig-paths": "^3.10.1", diff --git a/src/api/apiClient.ts b/src/api/apiClient.ts index 81154c8..5f3528e 100644 --- a/src/api/apiClient.ts +++ b/src/api/apiClient.ts @@ -53,7 +53,7 @@ export class ApiClient { } public async post(options: IRequestOptions): Promise { - return this.manager.createRequest({ + return await this.manager.createRequest({ method: 'POST', body: options.body, headers: options.headers, diff --git a/src/api/apiHelper.ts b/src/api/apiHelper.ts index 3e1aab1..bb943d7 100644 --- a/src/api/apiHelper.ts +++ b/src/api/apiHelper.ts @@ -1,7 +1,7 @@ import { ApiClient } from './apiClient'; import type { Client } from '../client/client'; -import type { IApiCreateMessage } from '../utils/types'; +import type { IApiCreateMessage, IApiCreateSlashCommand, IApiUser, IFile } from '../utils/types'; export class ApiHelper { public apiClient: ApiClient; @@ -16,11 +16,35 @@ export class ApiHelper { this.apiClient = new ApiClient(this.client, this._token); } - public createMessage(channelId: string, options: IApiCreateMessage): void { - this.apiClient.post({ + // TODO: Return message object + public async createMessage(channelId: string, options: IApiCreateMessage, files?: IFile[]): Promise { + await this.apiClient.post({ path: `/channels/${channelId}/messages`, requireAuth: true, body: options, + files: files, + }); + } + + public async getCurrentUser(): Promise { + return await this.apiClient.get({ + path: '/users/@me', + requireAuth: true, + }); + } + + public async createSlashCommand(options: IApiCreateSlashCommand): Promise { + await this.apiClient.post({ + path: `/applications/${this.client.user.id}/commands`, + requireAuth: true, + body: options, + }); + } + + public async getUser(id: string): Promise { + return await this.apiClient.get({ + path: `/users/${id}`, + requireAuth: true, }); } } diff --git a/src/client/client.ts b/src/client/client.ts index 0642e00..b525e4e 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -1,15 +1,17 @@ import _ from 'lodash'; import EventEmitter from 'events'; import { ApiHelper } from '../api/apiHelper'; +import { ClientUser } from '../structures/clientUser'; import { GatewayClient } from '../gateway/gatewayClient'; import { defaults } from '../utils/defaults'; import type { DeepRequired, IClientOptions } from '../utils/types'; export class Client extends EventEmitter { - public api: ApiHelper; + public readonly api: ApiHelper; public readonly options: DeepRequired; - public ws: GatewayClient; + public readonly user: ClientUser; + public readonly ws: GatewayClient; private _token: string; @@ -20,6 +22,7 @@ export class Client extends EventEmitter { this._token = token; this.api = new ApiHelper(this, this._token); + this.user = new ClientUser(this); this.ws = new GatewayClient(this, this._token); } diff --git a/src/structures/clientUser.ts b/src/structures/clientUser.ts new file mode 100644 index 0000000..3e5b3f5 --- /dev/null +++ b/src/structures/clientUser.ts @@ -0,0 +1,9 @@ +import { User } from './user'; + +import type { Client } from '../client/client'; + +export class ClientUser extends User { + public constructor(client: Client) { + super(client); + } +} diff --git a/src/structures/user.ts b/src/structures/user.ts new file mode 100644 index 0000000..bae8950 --- /dev/null +++ b/src/structures/user.ts @@ -0,0 +1,18 @@ +import type { IApiUser } from '..'; +import type { Client } from '../client/client'; + +export class User { + public client: Client; + public id: string; + + private _options: IApiUser; + + public constructor(client: Client, options: IApiUser) { + this.client = client; + this._options = options; + } + + public async fetch(id: string): Promise { + return this.client.api.getUser(id); + } +} diff --git a/src/utils/cacheManager.ts b/src/utils/cacheManager.ts new file mode 100644 index 0000000..0655e4e --- /dev/null +++ b/src/utils/cacheManager.ts @@ -0,0 +1,51 @@ +import cacheManager from 'cache-manager'; +import redisStore from 'cache-manager-ioredis'; + +import type { Client } from '../client/client'; + +export class CacheManager { + public client: Client; + + private readonly _cacheManager: cacheManager.Cache; + + public constructor(client: Client) { + this.client = client; + + if (this.client.options.cache.cache === 'redis') this._cacheManager = cacheManager.caching({ + store: redisStore, + ttl: this.client.options.cache.ttl, + ...this.client.options.cache.options, + }); + else this._cacheManager = cacheManager.caching({ + store: 'memory', + ttl: this.client.options.cache.ttl, + }); + } + + public async del(key: string): Promise { + return new Promise((res, rej) => { + this._cacheManager.del(key, (err) => { + if (err) rej(err); + else res(); + }); + }); + } + + public async get(key: string): Promise { + return new Promise((res, rej) => { + this._cacheManager.get(key, (err, result) => { + if (err) rej(err); + else res(result); + }); + }); + } + + public async set(key: string, value: T): Promise { + return new Promise((res, rej) => { + this._cacheManager.set(key, value, this.client.options.cache.ttl, (err) => { + if (err) rej(err); + else res(value); + }); + }); + } +} diff --git a/src/utils/defaults.ts b/src/utils/defaults.ts index e5541fd..6301916 100644 --- a/src/utils/defaults.ts +++ b/src/utils/defaults.ts @@ -10,6 +10,10 @@ export const defaults: IDefaultOptions = { url: 'https://discord.com/api', version: 9, }, + cache: { + cache: 'memory', + ttl: 60, + }, presence: {}, ws: { compression: true, diff --git a/src/utils/types.ts b/src/utils/types.ts index fcd0d5a..7d8fdc4 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -1,3 +1,5 @@ +import type IORedis from 'ioredis'; + // Interfaces export interface IApiClientOptions { offset?: number; @@ -8,8 +10,20 @@ export interface IApiClientOptions { version?: number; } +export interface ICacheMemoryClientOptions { + cache?: 'memory'; + ttl?: number; +} + +export interface ICacheRedisClientOptions { + cache?: 'redis'; + ttl?: number; + options: IORedis.RedisOptions; +} + export interface IClientOptions { api?: IApiClientOptions; + cache?: ICacheMemoryClientOptions | ICacheRedisClientOptions; presence?: IUpdatePresence; ws?: IWebSocketClientOptions; } @@ -77,9 +91,44 @@ export interface IWebSocketClientOptions { version?: number; } -// Api Rest Request Interfaces +// Api Interfaces // TODO: Add message components +// Dont add the files option. That goes into a separate option when creating a request export interface IApiCreateMessage { + allowed_mentions?: { + parse?: 'everyone' | 'roles' | 'users'[]; + replied_user?: boolean; + roles?: string[]; + users?: string[]; + }; + content?: string; + embeds?: IMessageEmbed[]; + message_reference?: { + channel_id?: string; + fail_if_not_exists?: boolean; + guild_id?: string; + message_id?: string; + }; + tts?: boolean; +} + +export interface IApiUser { + avatar: string; + bot?: boolean; + discriminator: string; + email?: string; + flags?: number; + id: string; + locale?: string; + mfa_enabled?: boolean; + premium_type?: number; + public_flags?: number; + username: string; + system?: boolean; + verified?: boolean; +} + +export interface IApiCreateSlashCommand { allowed_mentions?: { parse?: 'everyone' | 'roles' | 'users'[]; replied_user?: boolean; diff --git a/yarn.lock b/yarn.lock index 46f31c0..75e90f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -201,6 +201,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.14.9": + version: 7.14.9 + resolution: "@babel/helper-validator-identifier@npm:7.14.9" + checksum: 58552531a7674363e74672434c312ddaf1545b8a43308e1a7f38db58bf79c796c095a6dab6a6105eb0d783b97441f6cbb525bb887f29a35f232fcdbd8cb240dc + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-option@npm:7.14.5" @@ -277,57 +284,57 @@ __metadata: languageName: node linkType: hard -"@commitlint/cli@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/cli@npm:12.1.4" +"@commitlint/cli@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/cli@npm:13.1.0" dependencies: - "@commitlint/format": ^12.1.4 - "@commitlint/lint": ^12.1.4 - "@commitlint/load": ^12.1.4 - "@commitlint/read": ^12.1.4 - "@commitlint/types": ^12.1.4 + "@commitlint/format": ^13.1.0 + "@commitlint/lint": ^13.1.0 + "@commitlint/load": ^13.1.0 + "@commitlint/read": ^13.1.0 + "@commitlint/types": ^13.1.0 lodash: ^4.17.19 resolve-from: 5.0.0 resolve-global: 1.0.0 - yargs: ^16.2.0 + yargs: ^17.0.0 bin: commitlint: cli.js - checksum: f5e0827abd19ce1cfece73717fd60d5fef0377f582a6db218f6bcc2e13e84c65595ef50a7870651cc7f00f29205a046f764a54d0b84ff0efdbb6c44414256ea2 + checksum: 70d2a5e083c9362bdc4351125976c6052719c7b59c41ae6837193455ad288af4f92e70e30675777a4ba2e069db7b83462016fa076f961d015a4e294ca62a676b languageName: node linkType: hard -"@commitlint/config-conventional@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/config-conventional@npm:12.1.4" +"@commitlint/config-conventional@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/config-conventional@npm:13.1.0" dependencies: conventional-changelog-conventionalcommits: ^4.3.1 - checksum: e8850cec1d4f5db24e40c6fab958f5770e1c51fe7f3875624c7aca492d0ae2390e3afdcfe0758fa2fe5d4bdbbea73f08576da1632bd3fd92b103d63ba6ee4620 + checksum: c3c5313efa8eb57fa8456537de812cbfcf3406dde7911184dc047c5ed3979788c69f504a31feb0880cf70f1138311a3d52423822e4818783450934a7c5f8fef8 languageName: node linkType: hard -"@commitlint/cz-commitlint@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/cz-commitlint@npm:12.1.4" +"@commitlint/cz-commitlint@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/cz-commitlint@npm:13.1.0" dependencies: - "@commitlint/load": ^12.1.4 - "@commitlint/types": ^12.1.4 + "@commitlint/load": ^13.1.0 + "@commitlint/types": ^13.1.0 chalk: ^4.1.0 lodash: ^4.17.21 word-wrap: ^1.2.3 peerDependencies: commitizen: ^4.0.3 inquirer: ^8.0.0 - checksum: c548d294d09e8e1518b4a29064ea37aad1c636152834e3d2dea40a411ab4bd6545cc346b3fdf7c522701a88820c6a9d84e1246e7fbe66c97dd5da53587d77e93 + checksum: 5173c2d760ff7eb3efe6ee656bfb68b0ffd00672dd584df9f168a917204d0d9e12bd6a2d4a5fdd999976d440565ab29ae27b9e9a8a5058f7b09fe950f8253bf1 languageName: node linkType: hard -"@commitlint/ensure@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/ensure@npm:12.1.4" +"@commitlint/ensure@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/ensure@npm:13.1.0" dependencies: - "@commitlint/types": ^12.1.4 + "@commitlint/types": ^13.1.0 lodash: ^4.17.19 - checksum: c9959665a35d672aa2b319cdb3e3c7de344ec45b26403c6d28c1d54e0081aab855bca4e00ffd6538c98fea735f2ceeff7703e11d180a5098675080f8c7fe0623 + checksum: 7ee82d36302292fae12c223d9d7916cf4e8967bd7e758ec9c1dfa22f20a777bb493f4344ccdcb595e448645143b9ea0132fe4fe11f3a0941da7986bbe53fd2b7 languageName: node linkType: hard @@ -338,39 +345,46 @@ __metadata: languageName: node linkType: hard -"@commitlint/format@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/format@npm:12.1.4" +"@commitlint/execute-rule@npm:^13.0.0": + version: 13.0.0 + resolution: "@commitlint/execute-rule@npm:13.0.0" + checksum: b67f3ac461a31dd7669900d25ccc73751d21ef4da1aaa4993884fd6355a780265f689b8fd70ef5cf2449993e49308c30dc40fb4c49ba99b658105e7ecb49aa4c + languageName: node + linkType: hard + +"@commitlint/format@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/format@npm:13.1.0" dependencies: - "@commitlint/types": ^12.1.4 + "@commitlint/types": ^13.1.0 chalk: ^4.0.0 - checksum: ce96231e53d74d227706a51bb5037defa0b3e44f034629cc11f6e455665addd931b99cf4ad860c8575349de42bdd04ecbd216bad793a4283b40d534f17200d30 + checksum: 1c31cae9dd6d05dc098bfc877441f5657f49c6b7f62db517b3323756725f99ef04fcd4263755a187a898160515cf16e750f68da83c1638060fe0881a013028ba languageName: node linkType: hard -"@commitlint/is-ignored@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/is-ignored@npm:12.1.4" +"@commitlint/is-ignored@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/is-ignored@npm:13.1.0" dependencies: - "@commitlint/types": ^12.1.4 + "@commitlint/types": ^13.1.0 semver: 7.3.5 - checksum: 9e04b389e60881c3695f674ff75ebff78c850be8fb1158bb4decc8e8432857d5bed9c6fb6a6a4352b5254b2e745c66126e9ae932b713ee72a3193f922e61ca1a + checksum: 4a7ff942000046148933498f75dd8dc62324f49754a70b4cf3d7971efc06f4ff06ff8da4f20b83441f7adde4eb48e428fa00e303a60adb173d76d7931a4a2c33 languageName: node linkType: hard -"@commitlint/lint@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/lint@npm:12.1.4" +"@commitlint/lint@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/lint@npm:13.1.0" dependencies: - "@commitlint/is-ignored": ^12.1.4 - "@commitlint/parse": ^12.1.4 - "@commitlint/rules": ^12.1.4 - "@commitlint/types": ^12.1.4 - checksum: bfa5f900ee60f430014ab2bdd21a0c7139a17057e100da3d8dad528708b1414cc347a1a93e0952c82fcddd598308849ce2a3ed827927578f8dfe8bbf84387517 + "@commitlint/is-ignored": ^13.1.0 + "@commitlint/parse": ^13.1.0 + "@commitlint/rules": ^13.1.0 + "@commitlint/types": ^13.1.0 + checksum: a56e2a4dcdf89b133ad21f5b611f6122eaf7371b2b1463cffd4f4a028d99759baea474fb95d8e29ae9311a47a85b1ef4e8c1f83db0bd49b416ef559c3a190d01 languageName: node linkType: hard -"@commitlint/load@npm:>6.1.1, @commitlint/load@npm:^12.1.4": +"@commitlint/load@npm:>6.1.1": version: 12.1.4 resolution: "@commitlint/load@npm:12.1.4" dependencies: @@ -385,33 +399,48 @@ __metadata: languageName: node linkType: hard -"@commitlint/message@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/message@npm:12.1.4" - checksum: dfefa772e1a47fe3943cb0bc490dfbf92fe41edd967671df0af4eeed17b1fee7d4ef6075d6e720cc8e1e50aa4feab39cab67bccbeb352b199bc219d91ae01ce5 +"@commitlint/load@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/load@npm:13.1.0" + dependencies: + "@commitlint/execute-rule": ^13.0.0 + "@commitlint/resolve-extends": ^13.0.0 + "@commitlint/types": ^13.1.0 + chalk: ^4.0.0 + cosmiconfig: ^7.0.0 + lodash: ^4.17.19 + resolve-from: ^5.0.0 + checksum: 10b8ead3ca9fe27b71659de443ce6080e70ac3471740b020fe4a3e398954626a2eaa304e3c4d117b686f19da636acaa3fda654d66be558e7e5c3a3432aa0d32f languageName: node linkType: hard -"@commitlint/parse@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/parse@npm:12.1.4" +"@commitlint/message@npm:^13.0.0": + version: 13.0.0 + resolution: "@commitlint/message@npm:13.0.0" + checksum: 753a6180349f2c158adc47a81d7a17272dd80ec344a1466bcc276a351b93d1aa9058d371861466a8869ad19f0f540803b8cc0546386a9ee879842201ae39b76b + languageName: node + linkType: hard + +"@commitlint/parse@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/parse@npm:13.1.0" dependencies: - "@commitlint/types": ^12.1.4 + "@commitlint/types": ^13.1.0 conventional-changelog-angular: ^5.0.11 conventional-commits-parser: ^3.0.0 - checksum: 0ad2090d05d8135b7b81f2f2032188d5aea56bf96e841c683dc440c1c5bf561b4d544447412842648d94e8b9cf49e2198440f64504d20750737455fe240afaee + checksum: 3522cfbed6ae1d6acbd0dad08c54acbbb1e9f1a816174c691faf815ba5f488c86c714859ab25ef04f43ab2d8f197ced66d50303755950b3e484015e18ad06c3d languageName: node linkType: hard -"@commitlint/read@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/read@npm:12.1.4" +"@commitlint/read@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/read@npm:13.1.0" dependencies: - "@commitlint/top-level": ^12.1.4 - "@commitlint/types": ^12.1.4 - fs-extra: ^9.0.0 + "@commitlint/top-level": ^13.0.0 + "@commitlint/types": ^13.1.0 + fs-extra: ^10.0.0 git-raw-commits: ^2.0.0 - checksum: 2497e447289d7dcde1227965dcd11794d682ecc3d0b55564555115eb78d569e979057835e982dbb5d22e5462fc74083f05f0f0e450525b04c9432f73190deba7 + checksum: bfd1d118efa87483e892bc0e6a77544ed4054741539f95739a060cf5fd2e13941da2ab699682899c2f3597f26c8bf67edcb20fe0ffe3731e358a74ecb2eefb8e languageName: node linkType: hard @@ -427,31 +456,44 @@ __metadata: languageName: node linkType: hard -"@commitlint/rules@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/rules@npm:12.1.4" +"@commitlint/resolve-extends@npm:^13.0.0": + version: 13.0.0 + resolution: "@commitlint/resolve-extends@npm:13.0.0" dependencies: - "@commitlint/ensure": ^12.1.4 - "@commitlint/message": ^12.1.4 - "@commitlint/to-lines": ^12.1.4 - "@commitlint/types": ^12.1.4 - checksum: c7be16960ac7ecf4c9598bf36de7a0c99a7de574607083cb8a11049cbedbc5a7317cc16d394f3b25e2c35b6487bb97e2c3e660d8972d553a3ec04a9360b565e7 + import-fresh: ^3.0.0 + lodash: ^4.17.19 + resolve-from: ^5.0.0 + resolve-global: ^1.0.0 + checksum: 3a66e28ad935cc1294b893e678c7292051100d754d11f8de057778d4e9ac201d2dceac67f3cdda4353a9d48e82aae786fa72634cb2002c509c7ea7f9e36c7a14 languageName: node linkType: hard -"@commitlint/to-lines@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/to-lines@npm:12.1.4" - checksum: 39b3de6b632a717f0ef851179e0c1503c128834e5b608ed8a34d4831dcc7c38482d72e43c5159009a6e3f691532f865d8570ed2bd2b3c9a6ddddf343aa461ef7 +"@commitlint/rules@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/rules@npm:13.1.0" + dependencies: + "@commitlint/ensure": ^13.1.0 + "@commitlint/message": ^13.0.0 + "@commitlint/to-lines": ^13.0.0 + "@commitlint/types": ^13.1.0 + execa: ^5.0.0 + checksum: 2abb5db06455f1a1d534ec48ac8c1ee9880aa46c7787758ee0cff2d0da815cc8e13f24612a7cccfdf34d9117da46f5a28745d7ad278d1f56bd82f81af863736f languageName: node linkType: hard -"@commitlint/top-level@npm:^12.1.4": - version: 12.1.4 - resolution: "@commitlint/top-level@npm:12.1.4" +"@commitlint/to-lines@npm:^13.0.0": + version: 13.0.0 + resolution: "@commitlint/to-lines@npm:13.0.0" + checksum: c85fb8dbb4798b4e861e4dfc4f5622b2bc910886f12b5bb4743fb170ab1b5b0ef6115f1fd76a8302321c293b69f9684593a9006ec7c539d071fb444cdc4c0e71 + languageName: node + linkType: hard + +"@commitlint/top-level@npm:^13.0.0": + version: 13.0.0 + resolution: "@commitlint/top-level@npm:13.0.0" dependencies: find-up: ^5.0.0 - checksum: 29fad9cb86e5ae751e37486daed2bf65b49ef728838ae6828f964cda40dd64cee2d4392c1da094a7f732f482991049cd334bad402cb7f588c5455794d77fef8f + checksum: c42f3e4e237983b0068fbaa8a3551ee8b18f142ba6bb876f07c176683f78502f3205f76e7f85908085ab1bbe48ce702f0ba182554d9f0749814e5a24feb3efca languageName: node linkType: hard @@ -464,9 +506,18 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.2": - version: 0.4.2 - resolution: "@eslint/eslintrc@npm:0.4.2" +"@commitlint/types@npm:^13.1.0": + version: 13.1.0 + resolution: "@commitlint/types@npm:13.1.0" + dependencies: + chalk: ^4.0.0 + checksum: 423ce7af4db4a0e83cd3ad360b7a435915198c0ee6a353975e38761fee60a03a71110c3abe332bd52b0caa0219f5ca8a2ccdba574c0031b838a6ac8994d11623 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" dependencies: ajv: ^6.12.4 debug: ^4.1.1 @@ -477,7 +528,7 @@ __metadata: js-yaml: ^3.13.1 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: 17f90cf07988dd2a5e4f510687c81334141977b8e0fa1b63ef0318b0578466e368fc988c101ddc7df55b6124dff8ecd1be67292c27901265761758ad22608e12 + checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 languageName: node linkType: hard @@ -536,9 +587,9 @@ __metadata: version: 0.0.0-use.local resolution: "@neonjs/library@workspace:." dependencies: - "@commitlint/cli": ^12.1.4 - "@commitlint/config-conventional": ^12.1.4 - "@commitlint/cz-commitlint": ^12.1.4 + "@commitlint/cli": ^13.1.0 + "@commitlint/config-conventional": ^13.1.0 + "@commitlint/cz-commitlint": ^13.1.0 "@istanbuljs/nyc-config-typescript": ^1.0.1 "@saithodev/semantic-release-gitea": ^2.1.0 "@sapphire/async-queue": ^1.1.4 @@ -547,45 +598,51 @@ __metadata: "@semantic-release/git": ^9.0.0 "@semantic-release/npm": ^7.1.3 "@semantic-release/release-notes-generator": ^9.0.3 + "@types/cache-manager": ^3.4.2 + "@types/cache-manager-ioredis": ^2.0.2 "@types/chai": ^4.2.21 "@types/eslint": ^7.28.0 - "@types/lodash": ^4.14.171 - "@types/mocha": ^8.2.3 - "@types/node": ^16.3.2 - "@types/node-fetch": ^2.5.11 + "@types/ioredis": ^4.26.7 + "@types/lodash": ^4.14.172 + "@types/mocha": ^9.0.0 + "@types/node": ^16.4.13 + "@types/node-fetch": ^2.5.12 "@types/semantic-release": ^17.2.1 "@types/sinon": ^10.0.2 "@types/source-map-support": ^0.5.4 - "@types/ws": ^7.4.6 - "@typescript-eslint/eslint-plugin": ^4.28.3 - "@typescript-eslint/parser": ^4.28.3 - "@typescript-eslint/typescript-estree": ^4.28.3 + "@types/ws": ^7.4.7 + "@typescript-eslint/eslint-plugin": ^4.29.0 + "@typescript-eslint/parser": ^4.29.0 + "@typescript-eslint/typescript-estree": ^4.29.0 abort-controller: ^3.0.0 bufferutil: ^4.0.3 + cache-manager: ^3.4.4 + cache-manager-ioredis: ^2.1.0 chai: ^4.3.4 commitizen: ^4.2.4 - eslint: ^7.30.0 + eslint: ^7.32.0 eslint-formatter-pretty: ^4.1.0 - eslint-plugin-unicorn: ^34.0.1 + eslint-plugin-unicorn: ^35.0.0 fast-zlib: ^2.0.1 form-data: ^4.0.0 husky: ^7.0.1 inquirer: ^8.1.2 - lint-staged: ^11.0.1 + ioredis: ^4.27.7 + lint-staged: ^11.1.2 lodash: ^4.17.21 - mocha: ^9.0.2 + mocha: ^9.0.3 node-fetch: ^2.6.1 nyc: ^15.1.0 pinst: ^2.1.6 rimraf: ^3.0.2 semantic-release: ^17.4.4 - sinon: ^11.1.1 + sinon: ^11.1.2 source-map-support: ^0.5.19 ts-node: ^10.1.0 tsconfig-paths: ^3.10.1 typescript: ^4.3.5 utf-8-validate: ^5.0.5 - ws: ^7.5.3 + ws: ^8.0.0 dependenciesMeta: bufferutil: optional: true @@ -1093,7 +1150,7 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^7.0.4, @sinonjs/fake-timers@npm:^7.1.0": +"@sinonjs/fake-timers@npm:^7.0.4, @sinonjs/fake-timers@npm:^7.1.0, @sinonjs/fake-timers@npm:^7.1.2": version: 7.1.2 resolution: "@sinonjs/fake-timers@npm:7.1.2" dependencies: @@ -1164,6 +1221,23 @@ __metadata: languageName: node linkType: hard +"@types/cache-manager-ioredis@npm:^2.0.2": + version: 2.0.2 + resolution: "@types/cache-manager-ioredis@npm:2.0.2" + dependencies: + "@types/cache-manager": "*" + "@types/ioredis": "*" + checksum: 061b3803a139343094e4245ee9a106cd0868ef64126809e8a20cd1429e2ebf1a7b23ada12185f63b5baf9f57bc3d355037d1a168bfa170ea5571a7a49abbef34 + languageName: node + linkType: hard + +"@types/cache-manager@npm:*, @types/cache-manager@npm:^3.4.2": + version: 3.4.2 + resolution: "@types/cache-manager@npm:3.4.2" + checksum: 121cad75d66da5e65aa9096dfe706d2ec696b20b6bd558128606063488dcedebdafaafc16b27ff620e1fd9c860ca64e088866f01e05cbaf0708a4d43b341c9d5 + languageName: node + linkType: hard + "@types/cacheable-request@npm:^6.0.1": version: 6.0.1 resolution: "@types/cacheable-request@npm:6.0.1" @@ -1227,6 +1301,15 @@ __metadata: languageName: node linkType: hard +"@types/ioredis@npm:*, @types/ioredis@npm:^4.26.7": + version: 4.26.7 + resolution: "@types/ioredis@npm:4.26.7" + dependencies: + "@types/node": "*" + checksum: 1b4918e8802716c41531d067cb4b9a2f401e20a857f2815d74c65286885732834b9b7af1c2d53bf1cd053495811b4f4e7c83ecbc9c4952063f9f661e585ac0d7 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.7": version: 7.0.7 resolution: "@types/json-schema@npm:7.0.7" @@ -1243,10 +1326,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.171": - version: 4.14.171 - resolution: "@types/lodash@npm:4.14.171" - checksum: d093d8ff8b31d7829ab5f2625d824bb1f903fb07d4beca50812c99c3d6c6b63155c56eb0ecf14b97f0d4ba5fcb3b13f8259cca6d4313345326f3c48bed6f4b9f +"@types/lodash@npm:^4.14.172": + version: 4.14.172 + resolution: "@types/lodash@npm:4.14.172" + checksum: 5fc51ea40d7e455bd1c760bcc60c9e81f82d85988666d4d4969bd8311367c63bbf1fe2be48755ba87836710e45fff94014ec164ebe6ccaa72815014981152434 languageName: node linkType: hard @@ -1264,20 +1347,20 @@ __metadata: languageName: node linkType: hard -"@types/mocha@npm:^8.2.3": - version: 8.2.3 - resolution: "@types/mocha@npm:8.2.3" - checksum: b43ed1b642a2ee62bf10792a07d5d21d66ab8b4d2cf5d822c8a7643e77b90009aecc000eefab5f6ddc9eb69004192f84119a6f97a8499e1a13ea082e7a5e71bf +"@types/mocha@npm:^9.0.0": + version: 9.0.0 + resolution: "@types/mocha@npm:9.0.0" + checksum: 73e6edaba045bc250b69085a770d5029edfed006ed8e75344435474a2cb8d38064acd7b34b6cc62756caa845a5cf335bde66db11e8c8c6565c62a790e933704a languageName: node linkType: hard -"@types/node-fetch@npm:^2.5.11": - version: 2.5.11 - resolution: "@types/node-fetch@npm:2.5.11" +"@types/node-fetch@npm:^2.5.12": + version: 2.5.12 + resolution: "@types/node-fetch@npm:2.5.12" dependencies: "@types/node": "*" form-data: ^3.0.0 - checksum: a52ee9a205ce3130404a1c8eb0a163aa013fb94c5c93150735dda55bd4d21a556713834b11f6f031721ad7c82d9d7f77d45436010cefc11e851f518dfeeaca3e + checksum: ad63c85ba6a9477b8e057ec8682257738130d98e8ece4e31141789bd99df9d9147985cc8bc0cb5c8983ed5aa6bb95d46df23d1e055f4ad5cf8b82fc69cf626c7 languageName: node linkType: hard @@ -1288,10 +1371,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^16.3.2": - version: 16.3.2 - resolution: "@types/node@npm:16.3.2" - checksum: 242d23b6f9f93afa49eecac179444762000e99667a742c8b1de18c7875c7c952436ab319ea4fe3dca3e66bacb9e4f0ed69a25df9a155c6cedfc8cdaf52cb3453 +"@types/node@npm:^16.4.13": + version: 16.4.13 + resolution: "@types/node@npm:16.4.13" + checksum: 071e86a1d196cf72928a7109e99769dffed93db481032b9ca2f52e6f3ced432e2a179849c85e587e67409202e1ed37bffd0c7a31d38adf35a385d327dfe8bd72 languageName: node linkType: hard @@ -1352,21 +1435,21 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^7.4.6": - version: 7.4.6 - resolution: "@types/ws@npm:7.4.6" +"@types/ws@npm:^7.4.7": + version: 7.4.7 + resolution: "@types/ws@npm:7.4.7" dependencies: "@types/node": "*" - checksum: 500c2f7edcb5bbcb34ecf535c6163aad6c901a04d806089931125eecd630e9f30e41a167a4b9929aaaae9658d4fc4146f3a29762857f0d18a4038b6641ec36f8 + checksum: b4c9b8ad209620c9b21e78314ce4ff07515c0cadab9af101c1651e7bfb992d7fd933bd8b9c99d110738fd6db523ed15f82f29f50b45510288da72e964dedb1a3 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/eslint-plugin@npm:4.28.3" +"@typescript-eslint/eslint-plugin@npm:^4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/eslint-plugin@npm:4.29.0" dependencies: - "@typescript-eslint/experimental-utils": 4.28.3 - "@typescript-eslint/scope-manager": 4.28.3 + "@typescript-eslint/experimental-utils": 4.29.0 + "@typescript-eslint/scope-manager": 4.29.0 debug: ^4.3.1 functional-red-black-tree: ^1.0.1 regexpp: ^3.1.0 @@ -1378,66 +1461,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2ac7113dbb0916ee911c3cee552b31b82c3c286ce4be1d2b5b8fbbe64eb05eb8c5187a64aba2fc5d46f2bc2d391887b33e00edbb65f2f25f41342efa346776ef + checksum: eed42b03c31410126f1cccaf4e97676c2a678ca1ce4d1a5d47b909707fcfc9fd08b398b34fe7bc5919f7b922e1062815a02d7cceef6457a0dbe67c9b30a9b39f languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/experimental-utils@npm:4.28.3" +"@typescript-eslint/experimental-utils@npm:4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/experimental-utils@npm:4.29.0" dependencies: "@types/json-schema": ^7.0.7 - "@typescript-eslint/scope-manager": 4.28.3 - "@typescript-eslint/types": 4.28.3 - "@typescript-eslint/typescript-estree": 4.28.3 + "@typescript-eslint/scope-manager": 4.29.0 + "@typescript-eslint/types": 4.29.0 + "@typescript-eslint/typescript-estree": 4.29.0 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 peerDependencies: eslint: "*" - checksum: 09b1b196318acbf6efbb9ea93fc73b18a77c1fc04efb24bc77d941666b5a0c48828f2d788079bdfd340828045d15054a4c95fba5367e7c8b1fe53de53736a1db + checksum: 1c1daddb9b0464d8df422b598cecd4e931fe40109b9f43067c00aa5fd0a046c2bfc06e82da6ba27d667cb4f12964c21521027c4fec886a97285e6b5a0b3fe943 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/parser@npm:4.28.3" +"@typescript-eslint/parser@npm:^4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/parser@npm:4.29.0" dependencies: - "@typescript-eslint/scope-manager": 4.28.3 - "@typescript-eslint/types": 4.28.3 - "@typescript-eslint/typescript-estree": 4.28.3 + "@typescript-eslint/scope-manager": 4.29.0 + "@typescript-eslint/types": 4.29.0 + "@typescript-eslint/typescript-estree": 4.29.0 debug: ^4.3.1 peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 3a5d64237e7085235f3b27eece73105bd5a7b51f17c868c086a6062bd8ab6901c908270d41c055f44d9f440c6a1bb3203429693a07436905cc60d3a03cd361e9 + checksum: 78d1a558dc92e6baeef3b0bb6850108d3bb792282646678e276626b940b07e601d35abd790f8f02cb4625fe1656c57c9a7ae776c731984f36ab886cb93ed3b26 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/scope-manager@npm:4.28.3" +"@typescript-eslint/scope-manager@npm:4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/scope-manager@npm:4.29.0" dependencies: - "@typescript-eslint/types": 4.28.3 - "@typescript-eslint/visitor-keys": 4.28.3 - checksum: 9ffb955581311ef46d7aebf23ac544c96164bac00f7657f963680ba7b239b1c021733318ea22ca2965ff9b8f2798dff8ae5d7add0dae4207d3dad86d5e4f0f1f + "@typescript-eslint/types": 4.29.0 + "@typescript-eslint/visitor-keys": 4.29.0 + checksum: 3f3d211ae56a0b35e21d16dca4be5d8599928eb97045d191e2ab8065b90312b92c0b15a9c37dc2022056a1be3a2aa83ff704f3ecf41155df772951e12dc341bc languageName: node linkType: hard -"@typescript-eslint/types@npm:4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/types@npm:4.28.3" - checksum: 15f052f92ee429056e7bdd4b0ff3750d72a6ab6c202a46f394dcd7490da7f670d7b516fc5febc96332cced39fdf3fd20c4893ee58fb93ce9b58e2f1e1766d7bb +"@typescript-eslint/types@npm:4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/types@npm:4.29.0" + checksum: ce42a50ba69f6eaa83661b752132ddd058a619025dfccf16f1cc4e21dcfda57787e2bce106b2396cc7ebf6b29473460f90ac12d277a2115c1a9000b6236fcfcb languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:4.28.3, @typescript-eslint/typescript-estree@npm:^4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/typescript-estree@npm:4.28.3" +"@typescript-eslint/typescript-estree@npm:4.29.0, @typescript-eslint/typescript-estree@npm:^4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/typescript-estree@npm:4.29.0" dependencies: - "@typescript-eslint/types": 4.28.3 - "@typescript-eslint/visitor-keys": 4.28.3 + "@typescript-eslint/types": 4.29.0 + "@typescript-eslint/visitor-keys": 4.29.0 debug: ^4.3.1 globby: ^11.0.3 is-glob: ^4.0.1 @@ -1446,17 +1529,17 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 674cdd5e3c24306f906d6479ede454d5f5a2100e22cd5aa08f9bc27953cdb4930384ad3b4434937e31e8e92e6b3cc867f8d56c3b65e2254f7042662deafef583 + checksum: e1f893c2dff1bb2eb800039871ba08a9d96d8d3ca976389426df8e75438031afa443b863925582fa610d19c40d4b9a787d130ed8bcf11c4aeb2cb63c78d592c3 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:4.28.3": - version: 4.28.3 - resolution: "@typescript-eslint/visitor-keys@npm:4.28.3" +"@typescript-eslint/visitor-keys@npm:4.29.0": + version: 4.29.0 + resolution: "@typescript-eslint/visitor-keys@npm:4.29.0" dependencies: - "@typescript-eslint/types": 4.28.3 + "@typescript-eslint/types": 4.29.0 eslint-visitor-keys: ^2.0.0 - checksum: b570740ae16901df85febde13b5e34b95dfa13fc51b035875bc087fef356f2db1284ff045812ace06b0e8f821171a7ddaf7606cee672d35df486989e79a0c7df + checksum: 3be974c6b2dd4eee3dbe01409bd6bf0e175bac5fe42df4256782ad1a4b05aded64bee711f0b6e597f732b1b506f72c25f7415370211af4b526557e872fc7f94b languageName: node linkType: hard @@ -1788,6 +1871,13 @@ __metadata: languageName: node linkType: hard +"async@npm:3.2.0": + version: 3.2.0 + resolution: "async@npm:3.2.0" + checksum: 6739fae769e6c9f76b272558f118ef041d45c979c573a8fe93f8cfbc32eb9c92da032e9effe6bbcc9b1131292cde6c4a9e61a442894aa06a262addd8dd3adda1 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -1999,6 +2089,26 @@ __metadata: languageName: node linkType: hard +"cache-manager-ioredis@npm:^2.1.0": + version: 2.1.0 + resolution: "cache-manager-ioredis@npm:2.1.0" + dependencies: + ioredis: ^4.14.1 + checksum: b917d231dce6339f13f35bedd6ec02ca529987d32bd547bf84948fbc824737860f133a718af5de9d7ac9f1d875c63820c5eaf3f71e93d1c7e778395a004e5c38 + languageName: node + linkType: hard + +"cache-manager@npm:^3.4.4": + version: 3.4.4 + resolution: "cache-manager@npm:3.4.4" + dependencies: + async: 3.2.0 + lodash: ^4.17.21 + lru-cache: 6.0.0 + checksum: f0a298ab8ade153441248d7df1f74120e80896560123dacf287350a53118bd873902b008ffb497ac5b98b4aa2e96f2208fcec7abcf14956ceda5b7eaba137381 + languageName: node + linkType: hard + "cacheable-lookup@npm:^2.0.0": version: 2.0.1 resolution: "cacheable-lookup@npm:2.0.1" @@ -2328,6 +2438,13 @@ __metadata: languageName: node linkType: hard +"cluster-key-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "cluster-key-slot@npm:1.1.0" + checksum: fc953c75209b1ef9088081bab4e40a0b2586491c974ab93460569c014515ca5a2e31c043f185285e177007162fc353d07836d98f570c171dbe055775430e495b + languageName: node + linkType: hard + "cmd-shim@npm:^4.0.1": version: 4.1.0 resolution: "cmd-shim@npm:4.1.0" @@ -2721,7 +2838,7 @@ __metadata: languageName: node linkType: hard -"dedent@npm:0.7.0, dedent@npm:^0.7.0": +"dedent@npm:0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 @@ -2806,6 +2923,13 @@ __metadata: languageName: node linkType: hard +"denque@npm:^1.1.0": + version: 1.5.0 + resolution: "denque@npm:1.5.0" + checksum: 9c0d07a3a6789bccc24f7023a54c83b8850b36c8fbc3aff4bf43b01b76a93ae11c88139502913534fe913bac1b0418dbc30e487ce3d176cbbc001a7a18627c56 + languageName: node + linkType: hard + "depd@npm:^1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" @@ -3029,10 +3153,11 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-unicorn@npm:^34.0.1": - version: 34.0.1 - resolution: "eslint-plugin-unicorn@npm:34.0.1" +"eslint-plugin-unicorn@npm:^35.0.0": + version: 35.0.0 + resolution: "eslint-plugin-unicorn@npm:35.0.0" dependencies: + "@babel/helper-validator-identifier": ^7.14.9 ci-info: ^3.2.0 clean-regexp: ^1.0.0 eslint-template-visitor: ^2.3.2 @@ -3042,12 +3167,11 @@ __metadata: pluralize: ^8.0.0 read-pkg-up: ^7.0.1 regexp-tree: ^0.1.23 - reserved-words: ^0.1.2 safe-regex: ^2.1.1 semver: ^7.3.5 peerDependencies: eslint: ">=7.28.0" - checksum: c0dd20f62f78104d21cb897bdee13f88277fc08ccaaad35382470e5d626af075e48bd7d0da564b7d656d3237fa7d3eee3063d07f5af4091bdce400c8b9c47601 + checksum: d7ba6f5b80a527f0a2c16572922b325009418086a53cdfcbcca711c1f4f863e4eae8692b046c10e6213beeee208f880f88b140806207a68a7d04cf8680677d19 languageName: node linkType: hard @@ -3117,12 +3241,12 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.30.0": - version: 7.30.0 - resolution: "eslint@npm:7.30.0" +"eslint@npm:^7.32.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" dependencies: "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.2 + "@eslint/eslintrc": ^0.4.3 "@humanwhocodes/config-array": ^0.5.0 ajv: ^6.10.0 chalk: ^4.0.0 @@ -3163,7 +3287,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 872f90844b164dd61ec1bb949d2e33e7fbd189e0652fabe2cbbd0bdce1e4cd7ed08e72fa213795a453ae39fe24460771800608e765febb9e778deb28b9db3cc1 + checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 languageName: node linkType: hard @@ -4295,6 +4419,25 @@ fsevents@~2.3.2: languageName: node linkType: hard +"ioredis@npm:^4.14.1, ioredis@npm:^4.27.7": + version: 4.27.7 + resolution: "ioredis@npm:4.27.7" + dependencies: + cluster-key-slot: ^1.1.0 + debug: ^4.3.1 + denque: ^1.1.0 + lodash.defaults: ^4.2.0 + lodash.flatten: ^4.4.0 + lodash.isarguments: ^3.1.0 + p-map: ^2.1.0 + redis-commands: 1.7.0 + redis-errors: ^1.2.0 + redis-parser: ^3.0.0 + standard-as-callback: ^2.1.0 + checksum: 42c2f242b3c91202578415dc39fbc9e9ecff58f19acbd91b654cbe12877181e18dbeb6c12b3e71225a7cc928cc4e34f536953375978093c7c1a6f7417a9dfd84 + languageName: node + linkType: hard + "ip-regex@npm:^4.1.0": version: 4.3.0 resolution: "ip-regex@npm:4.3.0" @@ -4999,16 +5142,15 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lint-staged@npm:^11.0.1": - version: 11.0.1 - resolution: "lint-staged@npm:11.0.1" +"lint-staged@npm:^11.1.2": + version: 11.1.2 + resolution: "lint-staged@npm:11.1.2" dependencies: chalk: ^4.1.1 cli-truncate: ^2.1.0 commander: ^7.2.0 cosmiconfig: ^7.0.0 debug: ^4.3.1 - dedent: ^0.7.0 enquirer: ^2.3.6 execa: ^5.0.0 listr2: ^3.8.2 @@ -5020,7 +5162,7 @@ fsevents@~2.3.2: stringify-object: ^3.3.0 bin: lint-staged: bin/lint-staged.js - checksum: 5046fbaa020e573ca31a4b7a3819cdd5383912c53dc55f5e68db4a525eba1fc23312f4cf0162742ef6a358464394e584b718049cd62b883b1d4f06fdfb163022 + checksum: 0050d1836dda879c58561fa4efd100f5cd14fcbf8ee3fdeab7e89ec4219c019543bb5bf2442f760557ebe4bb8b7bfc56a9c98b9384acecfe0f8553f091723e36 languageName: node linkType: hard @@ -5095,6 +5237,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"lodash.defaults@npm:^4.2.0": + version: 4.2.0 + resolution: "lodash.defaults@npm:4.2.0" + checksum: 84923258235592c8886e29de5491946ff8c2ae5c82a7ac5cddd2e3cb697e6fbdfbbb6efcca015795c86eec2bb953a5a2ee4016e3735a3f02720428a40efbb8f1 + languageName: node + linkType: hard + "lodash.escaperegexp@npm:^4.1.2": version: 4.1.2 resolution: "lodash.escaperegexp@npm:4.1.2" @@ -5102,6 +5251,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"lodash.flatten@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flatten@npm:4.4.0" + checksum: 0ac34a393d4b795d4b7421153d27c13ae67e08786c9cbb60ff5b732210d46f833598eee3fb3844bb10070e8488efe390ea53bb567377e0cb47e9e630bf0811cb + languageName: node + linkType: hard + "lodash.flattendeep@npm:^4.4.0": version: 4.4.0 resolution: "lodash.flattendeep@npm:4.4.0" @@ -5116,6 +5272,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"lodash.isarguments@npm:^3.1.0": + version: 3.1.0 + resolution: "lodash.isarguments@npm:3.1.0" + checksum: ae1526f3eb5c61c77944b101b1f655f846ecbedcb9e6b073526eba6890dc0f13f09f72e11ffbf6540b602caee319af9ac363d6cdd6be41f4ee453436f04f13b5 + languageName: node + linkType: hard + "lodash.ismatch@npm:^4.4.0": version: 4.4.0 resolution: "lodash.ismatch@npm:4.4.0" @@ -5215,7 +5378,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": +"lru-cache@npm:6.0.0, lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" dependencies: @@ -5563,9 +5726,9 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mocha@npm:^9.0.2": - version: 9.0.2 - resolution: "mocha@npm:9.0.2" +"mocha@npm:^9.0.3": + version: 9.0.3 + resolution: "mocha@npm:9.0.3" dependencies: "@ungap/promise-all-settled": 1.1.2 ansi-colors: 4.1.1 @@ -5595,7 +5758,7 @@ fsevents@~2.3.2: bin: _mocha: bin/_mocha mocha: bin/mocha - checksum: 70c637f7dc7aab6f609864cc9c85a3c5cf506c9eb19ef0abacd436e024f7f59bcf70ac2773c7d441a11b3cb4182a1ae47f490fba1f8a12d7b78658cfc5954498 + checksum: 60e5769550140b71fb36bda5728db3131cfbfee9f0bb6226110e813119fbeed63e2c8b1bdbba1b947b4742e1247f4098fd7d6ce37a32f156a30d7d4944f4ac0c languageName: node linkType: hard @@ -6256,7 +6419,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"p-map@npm:^2.0.0": +"p-map@npm:^2.0.0, p-map@npm:^2.1.0": version: 2.1.0 resolution: "p-map@npm:2.1.0" checksum: 9e3ad3c9f6d75a5b5661bcad78c91f3a63849189737cd75e4f1225bf9ac205194e5c44aac2ef6f09562b1facdb9bd1425584d7ac375bfaa17b3f1a142dab936d @@ -6840,6 +7003,29 @@ fsevents@~2.3.2: languageName: node linkType: hard +"redis-commands@npm:1.7.0": + version: 1.7.0 + resolution: "redis-commands@npm:1.7.0" + checksum: d1ff7fbcb5e54768c77f731f1d49679d2a62c3899522c28addb4e2e5813aea8bcac3f22519d71d330224c3f2937f935dfc3d8dc65e90db0f5fe22dc2c1515aa7 + languageName: node + linkType: hard + +"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0": + version: 1.2.0 + resolution: "redis-errors@npm:1.2.0" + checksum: f28ac2692113f6f9c222670735aa58aeae413464fd58ccf3fce3f700cae7262606300840c802c64f2b53f19f65993da24dc918afc277e9e33ac1ff09edb394f4 + languageName: node + linkType: hard + +"redis-parser@npm:^3.0.0": + version: 3.0.0 + resolution: "redis-parser@npm:3.0.0" + dependencies: + redis-errors: ^1.0.0 + checksum: 89290ae530332f2ae37577647fa18208d10308a1a6ba750b9d9a093e7398f5e5253f19855b64c98757f7129cccce958e4af2573fdc33bad41405f87f1943459a + languageName: node + linkType: hard + "regexp-tree@npm:^0.1.23, regexp-tree@npm:~0.1.1": version: 0.1.23 resolution: "regexp-tree@npm:0.1.23" @@ -6923,13 +7109,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"reserved-words@npm:^0.1.2": - version: 0.1.2 - resolution: "reserved-words@npm:0.1.2" - checksum: 72e80f71dcde1e2d697e102473ad6d597e1659118836092c63cc4db68a64857f07f509176d239c8675b24f7f03574336bf202a780cc1adb39574e2884d1fd1fa - languageName: node - linkType: hard - "resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1": version: 1.0.1 resolution: "resolve-dir@npm:1.0.1" @@ -7248,17 +7427,17 @@ fsevents@~2.3.2: languageName: node linkType: hard -"sinon@npm:^11.1.1": - version: 11.1.1 - resolution: "sinon@npm:11.1.1" +"sinon@npm:^11.1.2": + version: 11.1.2 + resolution: "sinon@npm:11.1.2" dependencies: "@sinonjs/commons": ^1.8.3 - "@sinonjs/fake-timers": ^7.1.0 + "@sinonjs/fake-timers": ^7.1.2 "@sinonjs/samsam": ^6.0.2 diff: ^5.0.0 nise: ^5.1.0 supports-color: ^7.2.0 - checksum: 1c060b8d4c7b6307c67a06f96409e338fb4e23d4046557ec3ebd40836060c1f7dd0ac376069eb110799d9843bda66354edb45042d11eeff4cfe8a6cef36c95be + checksum: 1d01377e230c9ba976bf33f28b588bae7901b0b5a503d2f6b2a7914b0dbaa9f09823481926c6f2abed820123c7fa865519695af3ae2e9ba18d8b025616163501 languageName: node linkType: hard @@ -7462,6 +7641,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"standard-as-callback@npm:^2.1.0": + version: 2.1.0 + resolution: "standard-as-callback@npm:2.1.0" + checksum: 88bec83ee220687c72d94fd86a98d5272c91d37ec64b66d830dbc0d79b62bfa6e47f53b71646011835fc9ce7fae62739545d13124262b53be4fbb3e2ebad551c + languageName: node + linkType: hard + "stream-combiner2@npm:~1.1.1": version: 1.1.1 resolution: "stream-combiner2@npm:1.1.1" @@ -8279,9 +8465,9 @@ typescript@^4.3.5: languageName: node linkType: hard -"ws@npm:^7.5.3": - version: 7.5.3 - resolution: "ws@npm:7.5.3" +"ws@npm:^8.0.0": + version: 8.0.0 + resolution: "ws@npm:8.0.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -8290,7 +8476,7 @@ typescript@^4.3.5: optional: true utf-8-validate: optional: true - checksum: 423dc0d859fa74020f5555140905b862470a60ea1567bb9ad55a087263d7718b9c94f69678be1cee9868925c570f1e6fc79d09f90c39057bc63fa2edbb2c547b + checksum: 8f1b802f9c0da799aecf26cfdc498f93e903b822dcad83bd75f98c26d67d0f15354841c895ba647a0ba443e10cb6043934f2b9c9ff8139c52efc8745c3965420 languageName: node linkType: hard @@ -8399,6 +8585,21 @@ typescript@^4.3.5: languageName: node linkType: hard +"yargs@npm:^17.0.0": + version: 17.1.0 + resolution: "yargs@npm:17.1.0" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: 259d496db8fd499debfb0e8676c1d4c0a8259c730ca31a4ca1047841c407aa4099f5f008c16b1adcf04b6015a4aa6c758a59d583aab9df89a288c75ce8a621e1 + languageName: node + linkType: hard + "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1"