diff --git a/.eslintrc b/.eslintrc index 256c63e4c59502f937824c1379ec7c32dc9ab63e..c5d320bbf14fe9f0fc3915c0a8803af1fa60f9ec 100644 --- a/.eslintrc +++ b/.eslintrc @@ -18,6 +18,7 @@ "no-trailing-spaces": "error", "max-classes-per-file": ["warn", 1], "object-literal-sort-keys": "off", + "@typescript-eslint/naming-convention": "warn", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/prefer-for-of": "error", "@typescript-eslint/typedef": "warn", diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000000000000000000000000000000000000..3b33cee755282f71ed2359f94bda1a7cbc241654 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,28 @@ +name: CI + +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: 14 + - run: yarn + - run: yarn lint + test: + runs-on: ubuntu-latest + strategy: + matrix: + node_version: [12, 14, 16] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node_version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node_version }} + - run: yarn + - run: yarn test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 86f87026586948208cd74e5061d6d61e113567b7..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -dist: xenial -language: node_js -install: yarn - -cache: - directories: - - node_modules - -jobs: - include: - - stage: lint - script: yarn lint - node_js: "14" - - stage: unit tests - script: yarn test - node_js: "12" - - node_js: "14" - - stage: coverage - script: yarn coverage - node_js: "14" - -# NOTE: This is unused atm -# notifications: -# webhooks: -# urls: -# - "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MEhhbGYtU2hvdCUzQWhhbGYtc2hvdC51ay8lMjFxUE5PblVzTnNaclRvRlpxeEIlM0FoYWxmLXNob3QudWs" -# on_success: change # always|never|change -# on_failure: always -# on_start: never diff --git a/package.json b/package.json index 32d6c11e0f0b7b6733f40e3a7e4ef765c9e50466..a42b6ce7fb247f9d08f4aac312fdc3f3803232db 100644 --- a/package.json +++ b/package.json @@ -66,8 +66,8 @@ "@types/mime": "^2.0.2", "@types/mocha": "^7.0.2", "@types/node": "^12", - "@typescript-eslint/eslint-plugin": "^2.14.0", - "@typescript-eslint/parser": "^2.14.0", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", "chai": "^4.2.0", "eslint": "^7.4.0", "mocha": "^8.0.1", diff --git a/src/clientfactory.ts b/src/clientfactory.ts index b8f949fc07d786322ab94e6aa71d6dfe91e4babe..b7fea479d615e7686f0e10ef2623b13ed6ec9119 100644 --- a/src/clientfactory.ts +++ b/src/clientfactory.ts @@ -129,7 +129,7 @@ export class DiscordClientFactory { return; } // Prefix the real functions with _xmet_ - // eslint-disable-next-line @typescript-eslint/camelcase + // eslint-disable-next-line @typescript-eslint/naming-convention flexChan._xmet_send = channel.send; channel.send = (...rest) => { MetricPeg.get.remoteCall("channel.send"); diff --git a/src/db/dbdataemoji.ts b/src/db/dbdataemoji.ts index 6e74bd56aaf37da404b0c231c366712ccea418be..1f8fe7d0db3729e67553644b05b02447726fb014 100644 --- a/src/db/dbdataemoji.ts +++ b/src/db/dbdataemoji.ts @@ -60,14 +60,14 @@ export class DbEmoji implements IDbData { INSERT INTO emoji (emoji_id,name,animated,mxc_url,created_at,updated_at) VALUES ($emoji_id,$name,$animated,$mxc_url,$created_at,$updated_at);`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ animated: Number(this.Animated), created_at: this.CreatedAt, emoji_id: this.EmojiId, mxc_url: this.MxcUrl, name: this.Name, updated_at: this.UpdatedAt, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } @@ -82,13 +82,13 @@ export class DbEmoji implements IDbData { updated_at = $updated_at WHERE emoji_id = $emoji_id`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ animated: Number(this.Animated), emoji_id: this.EmojiId, mxc_url: this.MxcUrl, name: this.Name, updated_at: this.UpdatedAt, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } diff --git a/src/db/dbdataevent.ts b/src/db/dbdataevent.ts index cfe5c3f0fd1e779a727619bcfeef28b98f550ddb..d3fc58f7c90154017884e63bc015b8f386d41174 100644 --- a/src/db/dbdataevent.ts +++ b/src/db/dbdataevent.ts @@ -55,10 +55,10 @@ export class DbEvent implements IDbDataMany { for (const rowM of rowsM) { const row = { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_id: rowM.discord_id, matrix_id: rowM.matrix_id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }; for (const rowD of await store.db.All(` SELECT * @@ -67,11 +67,11 @@ export class DbEvent implements IDbDataMany { id: rowM.discord_id, })) { this.rows.push({ - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ ...row, guild_id: rowD.guild_id, channel_id: rowD.channel_id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } } @@ -95,10 +95,10 @@ export class DbEvent implements IDbDataMany { INSERT INTO event_store (matrix_id,discord_id) VALUES ($matrix_id,$discord_id);`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_id: this.DiscordId, matrix_id: this.MatrixId, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); // Check if the discord item exists? const msgExists = await store.db.Get(` @@ -114,11 +114,11 @@ export class DbEvent implements IDbDataMany { INSERT INTO discord_msg_store (msg_id, guild_id, channel_id) VALUES ($msg_id, $guild_id, $channel_id);`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ channel_id: this.ChannelId, guild_id: this.GuildId, msg_id: this.DiscordId, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } @@ -131,17 +131,17 @@ export class DbEvent implements IDbDataMany { DELETE FROM event_store WHERE matrix_id = $matrix_id AND discord_id = $discord_id;`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_id: this.DiscordId, matrix_id: this.MatrixId, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); return store.db.Run(` DELETE FROM discord_msg_store WHERE msg_id = $discord_id;`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_id: this.DiscordId, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } } diff --git a/src/db/roomstore.ts b/src/db/roomstore.ts index 401e29e7451cc5aef67efea5dcf4da0794776246..a92e03938a89b334953345c6068ef35534dc13cf 100644 --- a/src/db/roomstore.ts +++ b/src/db/roomstore.ts @@ -328,7 +328,7 @@ export class DbRoomStore { ); const data = { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_channel: room.data.discord_channel, discord_guild: room.data.discord_guild, discord_iconurl: room.data.discord_iconurl, @@ -340,7 +340,7 @@ export class DbRoomStore { update_icon: Number(room.data.update_icon || 0), update_name: Number(room.data.update_name || 0), update_topic: Number(room.data.update_topic || 0), - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ } as IRemoteRoomData; if (!existingRow) { diff --git a/src/db/userstore.ts b/src/db/userstore.ts index f922b68a183326c327159452467a42b1b585df02..e8ef4c87b58670503e0851535a7cf67a0e011a54 100644 --- a/src/db/userstore.ts +++ b/src/db/userstore.ts @@ -82,11 +82,11 @@ export class DbUserStore { {remoteId}, ); if (nicks) { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ nicks.forEach(({nick, guild_id}) => { remoteUser.guildNicks.set(guild_id as string, nick as string); }); - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ } this.remoteUserCache.set(remoteId, remoteUser); return remoteUser; @@ -108,12 +108,12 @@ export class DbUserStore { $avatarurl_mxc )`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ avatarurl: user.avatarurl, avatarurl_mxc: user.avatarurlMxc, displayname: user.displayname, remote_id: user.id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } else { await this.db.Run( @@ -121,19 +121,19 @@ export class DbUserStore { avatarurl = $avatarurl, avatarurl_mxc = $avatarurl_mxc WHERE remote_id = $remote_id`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ avatarurl: user.avatarurl, avatarurl_mxc: user.avatarurlMxc, displayname: user.displayname, remote_id: user.id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } const existingNicks = {}; (await this.db.All( "SELECT guild_id, nick FROM remote_user_guild_nicks WHERE remote_id = $remoteId", {remoteId: user.id}, - )).forEach(({guild_id, nick}) => existingNicks[guild_id as string] = nick); // eslint-disable-line @typescript-eslint/camelcase + )).forEach(({guild_id, nick}) => existingNicks[guild_id as string] = nick); // eslint-disable-line @typescript-eslint/naming-convention for (const guildId of user.guildNicks.keys()) { const nick = user.guildNicks.get(guildId) || null; if (existingData) { @@ -145,11 +145,11 @@ avatarurl_mxc = $avatarurl_mxc WHERE remote_id = $remote_id`, WHERE remote_id = $remote_id AND guild_id = $guild_id`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ guild_id: guildId, nick, remote_id: user.id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); return; } @@ -161,11 +161,11 @@ AND guild_id = $guild_id`, $nick )`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ guild_id: guildId, nick, remote_id: user.id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } diff --git a/src/discordas.ts b/src/discordas.ts index e31065bf1aa9c89a74b84e19c42c4277e4d176ef..c863c3e1e1605ce693e97f8649fdba973971b4c0 100644 --- a/src/discordas.ts +++ b/src/discordas.ts @@ -44,7 +44,7 @@ function generateRegistration(opts, registrationPath: string): void { throw Error("'url' not given in command line opts, cannot generate registration file"); } const reg = { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ as_token: uuid(), hs_token: uuid(), id: "discord-bridge", @@ -67,7 +67,7 @@ function generateRegistration(opts, registrationPath: string): void { rate_limited: false, sender_localpart: "_discord_bot", url: opts.url, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ } as IAppserviceRegistration; fs.writeFileSync(registrationPath, yaml.safeDump(reg)); } diff --git a/src/matrixcommandhandler.ts b/src/matrixcommandhandler.ts index 5dfc306e7c506c27030c1239d8a62af0304d9103..9d2ae79b82f27536baea3b95a0cf37dfe3ff3180 100644 --- a/src/matrixcommandhandler.ts +++ b/src/matrixcommandhandler.ts @@ -191,12 +191,12 @@ export class MatrixCommandHandler { const reply = await Util.ParseCommand("!discord", event.content!.body!, actions, parameters, permissionCheck); const formattedReply = markdown(reply); await this.bridge.botClient.sendMessage(event.room_id, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ body: reply, format: "org.matrix.custom.html", formatted_body: formattedReply, msgtype: "m.notice", - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); } diff --git a/src/matrixroomhandler.ts b/src/matrixroomhandler.ts index 6689fa7372c0f6818143d206f458ec229a42197b..812066ebb0616ee2e0a86fe7ff659859bf1ad67d 100644 --- a/src/matrixroomhandler.ts +++ b/src/matrixroomhandler.ts @@ -160,7 +160,7 @@ export class MatrixRoomHandler { const instances = {}; for (const guild of this.discord.GetGuilds()) { instances[guild.name] = { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ bot_user_id: this.botUserId, desc: guild.name, fields: { @@ -168,11 +168,11 @@ export class MatrixRoomHandler { }, icon: guild.iconURL || ICON_URL, network_id: guild.id, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }; } return { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ field_types: { // guild_name: { // regexp: "\S.{0,98}\S", @@ -203,7 +203,7 @@ export class MatrixRoomHandler { instances, location_fields: ["guild_id", "channel_name"], user_fields: ["username", "discriminator"], - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }; } @@ -254,17 +254,17 @@ export class MatrixRoomHandler { aliasLocalpart: string ) { const remote = new RemoteStoreRoom(`discord_${channel.guild.id}_${channel.id}`, { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_channel: channel.id, discord_guild: channel.guild.id, discord_type: "text", update_icon: 1, update_name: 1, update_topic: 1, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }); const creationOpts = { - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ initial_state: [ { content: { @@ -276,7 +276,7 @@ export class MatrixRoomHandler { ], room_alias_name: aliasLocalpart, visibility: this.config.room.defaultVisibility, - /* eslint-enable @typescript-eslint/camelcase */ + /* eslint-enable @typescript-eslint/naming-convention */ }; // We need to tempoarily store this until we know the room_id. await this.roomStore.linkRooms( diff --git a/test/db/test_roomstore.ts b/test/db/test_roomstore.ts index 9263391972bdb845341c920b431669dcf325ac2b..63f8042e3307d3c602daf68f5856bfc40c944548 100644 --- a/test/db/test_roomstore.ts +++ b/test/db/test_roomstore.ts @@ -13,7 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -/* eslint-disable @typescript-eslint/camelcase */ import { expect } from "chai"; import { DiscordStore, CURRENT_SCHEMA } from "../../src/store"; diff --git a/tools/addRoomsToDirectory.ts b/tools/addRoomsToDirectory.ts index b7afc51fc1ded4862ed78e90f223bfaad8336b63..c7e0f7401ed0cd799aa5a578860da1b184456dfd 100644 --- a/tools/addRoomsToDirectory.ts +++ b/tools/addRoomsToDirectory.ts @@ -76,9 +76,9 @@ async function run(): Promise<void> { log.error(`Failed to load database`, e); } let rooms = await store!.roomStore.getEntriesByRemoteRoomData({ - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ discord_type: "text", - /* eslint-disable @typescript-eslint/camelcase */ + /* eslint-disable @typescript-eslint/naming-convention */ }); rooms = rooms.filter((r) => r.remote && r.remote.get("plumbed") !== true ); log.info(`Got ${rooms.length} rooms to set`); diff --git a/yarn.lock b/yarn.lock index 509415894322a244c5b57bd9dc13b1d86c5fbefc..f516e13cb2e1d6bb1f56fe99da4d152fa6054a04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -294,6 +294,27 @@ version "3.2.4" resolved "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz#edc0156a17eb1087df44f6e0b153ef0c9d454495" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@sindresorhus/is@^4.0.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca" @@ -348,11 +369,6 @@ dependencies: "@types/node" "*" -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - "@types/express-serve-static-core@^4.17.18": version "4.17.24" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" @@ -387,7 +403,7 @@ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.7.tgz#330c5d97a3500e9c903210d6e49f02964af04a0e" integrity sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ== -"@types/json-schema@^7.0.3": +"@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -473,48 +489,75 @@ "@types/mime" "^1" "@types/node" "*" -"@typescript-eslint/eslint-plugin@^2.14.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== +"@typescript-eslint/eslint-plugin@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz#05e711a2e7b68342661fde61bccbd1531c19521a" + integrity sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg== dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/experimental-utils" "5.4.0" + "@typescript-eslint/scope-manager" "5.4.0" + debug "^4.3.2" functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^2.14.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz#238a7418d2da3b24874ba35385eb21cc61d2a65e" + integrity sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.4.0" + "@typescript-eslint/types" "5.4.0" + "@typescript-eslint/typescript-estree" "5.4.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.4.0.tgz#3aa83ce349d66e39b84151f6d5464928044ca9e3" + integrity sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw== + dependencies: + "@typescript-eslint/scope-manager" "5.4.0" + "@typescript-eslint/types" "5.4.0" + "@typescript-eslint/typescript-estree" "5.4.0" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz#aaab08415f4a9cf32b870c7750ae8ba4607126a1" + integrity sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA== + dependencies: + "@typescript-eslint/types" "5.4.0" + "@typescript-eslint/visitor-keys" "5.4.0" + +"@typescript-eslint/types@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.4.0.tgz#b1c130f4b381b77bec19696c6e3366f9781ce8f2" + integrity sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA== + +"@typescript-eslint/typescript-estree@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz#fe524fb308973c68ebeb7428f3b64499a6ba5fc0" + integrity sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA== + dependencies: + "@typescript-eslint/types" "5.4.0" + "@typescript-eslint/visitor-keys" "5.4.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz#09bc28efd3621f292fe88c86eef3bf4893364c8c" + integrity sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg== + dependencies: + "@typescript-eslint/types" "5.4.0" + eslint-visitor-keys "^3.0.0" "@ungap/promise-all-settled@1.1.2": version "1.1.2" @@ -683,6 +726,11 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -851,7 +899,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1233,7 +1281,7 @@ debug@4.3.1: dependencies: ms "2.1.2" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -1338,6 +1386,13 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + "discord-markdown@git://github.com/Sorunome/discord-markdown.git#7958a03a952ed02cbd588b09eb04bc070b3a11f2": version "2.3.1" resolved "git://github.com/Sorunome/discord-markdown.git#7958a03a952ed02cbd588b09eb04bc070b3a11f2" @@ -1467,7 +1522,7 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -1475,13 +1530,20 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" @@ -1492,6 +1554,11 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" + integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== + eslint@^7.4.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" @@ -1571,11 +1638,16 @@ estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -1657,6 +1729,17 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -1667,6 +1750,13 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + fecha@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" @@ -1967,6 +2057,18 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" +globby@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + got@^11.6.0: version "11.8.2" resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" @@ -2162,6 +2264,11 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4, ignore@^5.1.8: + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -2247,7 +2354,7 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -2558,7 +2665,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash@4, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: +lodash@4, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -2717,11 +2824,24 @@ merge-descriptors@1.0.1, merge-descriptors@~1.0.0: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + mime-db@1.50.0: version "1.50.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" @@ -3201,6 +3321,11 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pathval@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" @@ -3282,7 +3407,7 @@ picocolors@^0.2.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -3442,6 +3567,11 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + quick-lru@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" @@ -3518,7 +3648,7 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regexpp@^3.0.0, regexpp@^3.1.0: +regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -3615,6 +3745,11 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -3622,6 +3757,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -3672,7 +3814,7 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2: +semver@^7.2.1, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -3789,6 +3931,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -4121,7 +4268,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tsutils@^3.17.1: +tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==