From 7c4698a48739ce89999edb71e7127080bdafab87 Mon Sep 17 00:00:00 2001 From: pikokr Date: Wed, 19 Apr 2023 21:45:52 +0900 Subject: [PATCH] fix: regex error checking --- bot/findInvalidRules.mjs | 21 ++ bot/package.json | 2 +- bot/src/modules/rule.ts | 3 +- .../mutation/rule/createRuleElement.ts | 1 + .../resolvers/mutation/ruleElement/update.ts | 3 +- yarn.lock | 230 ++++++++++-------- 6 files changed, 161 insertions(+), 99 deletions(-) create mode 100644 bot/findInvalidRules.mjs diff --git a/bot/findInvalidRules.mjs b/bot/findInvalidRules.mjs new file mode 100644 index 00000000..2eeb19c5 --- /dev/null +++ b/bot/findInvalidRules.mjs @@ -0,0 +1,21 @@ +import { config } from 'dotenv' + +config({ path: '../.env' }) +config({ path: '../shared/.env' }) + +import { PrismaClient } from '@prisma/client' + +const db = new PrismaClient() + +const ruleElements = await db.ruleElement.findMany() + +for (const el of ruleElements) { + try { + await db.$queryRaw`select '' ~* ${el.regex}` + } catch (e) { + console.error('----------------------') + console.error(e.message) + console.error('element:', el) + console.error('rule:', await db.rule.findUnique({where: {id: el.ruleId}})) + } +} diff --git a/bot/package.json b/bot/package.json index 862b99d6..bba525ff 100644 --- a/bot/package.json +++ b/bot/package.json @@ -17,7 +17,7 @@ "@trpc/server": "9.26.2", "axios": "^0.27.2", "discord-hybrid-sharding": "^1.7.2", - "discord.js": "14.1.1", + "discord.js": "14.8.0", "dokdo": "pikokr/dokdo#v14", "dotenv": "16.0.1", "fastify": "4.3.0", diff --git a/bot/src/modules/rule.ts b/bot/src/modules/rule.ts index d77b3f76..c632ddff 100644 --- a/bot/src/modules/rule.ts +++ b/bot/src/modules/rule.ts @@ -7,6 +7,7 @@ import { EmbedBuilder, Interaction, SelectMenuBuilder, + TextBasedChannel } from "discord.js" import { prisma, Rule, RuleType } from "shared" @@ -29,7 +30,7 @@ class RuleModule extends Extension { async tags(i: ChatInputCommandInteraction) { let channel = i.channel if (!channel) return - if (channel.isThread()) channel = channel.parent + if (channel.isThread()) channel = channel.parent as TextBasedChannel if (!channel) return if (channel.isDMBased()) return i.reply("DM 안 받아요") diff --git a/server/src/resolvers/mutation/rule/createRuleElement.ts b/server/src/resolvers/mutation/rule/createRuleElement.ts index dd807b40..a73ce5c7 100644 --- a/server/src/resolvers/mutation/rule/createRuleElement.ts +++ b/server/src/resolvers/mutation/rule/createRuleElement.ts @@ -10,6 +10,7 @@ export const createRuleElement: Resolver< if (info.regex) { try { new RegExp(info.regex) + await prisma.$queryRaw`select '' ~* ${info.regex}` } catch (e) { throw new ValidationError("Invalid regex") } diff --git a/server/src/resolvers/mutation/ruleElement/update.ts b/server/src/resolvers/mutation/ruleElement/update.ts index 95251050..10138b04 100644 --- a/server/src/resolvers/mutation/ruleElement/update.ts +++ b/server/src/resolvers/mutation/ruleElement/update.ts @@ -6,10 +6,11 @@ export const updateRuleElement: Resolver< RuleElement, RuleElement, { info: Partial } -> = (elem, { info }) => { +> = async (elem, { info }) => { if (info.regex) { try { new RegExp(info.regex) + await prisma.$queryRaw`select '' ~* ${info.regex}` } catch (e) { throw new ValidationError("Invalid regex") } diff --git a/yarn.lock b/yarn.lock index 8329ec1b..ea27577c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -117,34 +117,56 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@discordjs/builders@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.1.0.tgz#4366a4fe069238c3e6e674b74404c79f3ba76525" - integrity sha512-EO8TSltiIc9Z1wE854wAFvv5AccqEtvjFmao9PPoxQhRaJ0hEb7FwWRTCA1jGg4ZWI3hcp4m+RET5ufZQz3rOg== - dependencies: - "@sapphire/shapeshift" "^3.5.1" - discord-api-types "^0.36.3" +"@discordjs/builders@^1.5.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.6.1.tgz#5b1447cfa493bc1306671ef18ce3aae13c0af0ba" + integrity sha512-CCcLwn/8ANhlAbhlE18fcaN0hfXTen53/JiwZs1t9oE/Cqa9maA8ZRarkCIsXF4J7J/MYnd0J6IsxeKsq+f6mw== + dependencies: + "@discordjs/formatters" "^0.3.0" + "@discordjs/util" "^0.2.0" + "@sapphire/shapeshift" "^3.8.1" + discord-api-types "^0.37.37" fast-deep-equal "^3.1.3" - ts-mixer "^6.0.1" - tslib "^2.4.0" + ts-mixer "^6.0.3" + tslib "^2.5.0" -"@discordjs/collection@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.0.1.tgz#4acc41dfdacd6a14a7cf3109968044a2d40593dd" - integrity sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw== +"@discordjs/collection@^1.4.0", "@discordjs/collection@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.5.0.tgz#478acd5d510cb5996c5101f47b24959ac7499cc2" + integrity sha512-suyVndkEAAWrGxyw/CPGdtXoRRU6AUNkibtnbJevQzpelkJh3Q1gQqWDpqf5i39CnAn5+LrN0YS+cULeEjq2Yw== -"@discordjs/rest@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.0.1.tgz#5c1c379de9eb4170b4964a11ced8add1d5ae808d" - integrity sha512-w08CTKVzzYYvKxEjXKOs9AdS7KQ1J502TrPfF8eCZ2lF6AfKuMP/32YgDakiwIyYTDjEQS/v0nKLSFcncHRMtg== - dependencies: - "@discordjs/collection" "^1.0.1" - "@sapphire/async-queue" "^1.3.2" - "@sapphire/snowflake" "^3.2.2" - discord-api-types "^0.36.3" - file-type "^17.1.4" - tslib "^2.4.0" - undici "^5.8.0" +"@discordjs/formatters@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.2.0.tgz#a861d9c385dfc6c7294e44c5441beee933820a4f" + integrity sha512-vn4oMSXuMZUm8ITqVOtvE7/fMMISj4cI5oLsR09PEQXHKeKDAMLltG/DWeeIs7Idfy6V8Fk3rn1e69h7NfzuNA== + dependencies: + discord-api-types "^0.37.35" + +"@discordjs/formatters@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.3.0.tgz#8313d158c5e974597eec43b1f381d870a507d133" + integrity sha512-Fc4MomalbP8HMKEMor3qUiboAKDtR7PSBoPjwm7WYghVRwgJlj5WYvUsriLsxeKk8+Qq2oy+HJlGTUkGvX0YnA== + dependencies: + discord-api-types "^0.37.37" + +"@discordjs/rest@^1.6.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.7.0.tgz#c61fcd14e810b44e4821df5dfb5e74fa5fcb6e5d" + integrity sha512-r2HzmznRIo8IDGYBWqQfkEaGN1LrFfWQd3dSyC4tOpMU8nuVvFUEw6V/lwnG44jyOq+vgyDny2fxeUDMt9I4aQ== + dependencies: + "@discordjs/collection" "^1.5.0" + "@discordjs/util" "^0.2.0" + "@sapphire/async-queue" "^1.5.0" + "@sapphire/snowflake" "^3.4.0" + discord-api-types "^0.37.37" + file-type "^18.2.1" + tslib "^2.5.0" + undici "^5.21.0" + +"@discordjs/util@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-0.2.0.tgz#91b590dae3934ffa5fe34530afc5212c569d6751" + integrity sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg== "@fastify/ajv-compiler@^3.1.1": version "3.1.2" @@ -354,23 +376,23 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@sapphire/async-queue@^1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.3.2.tgz" - integrity sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g== +"@sapphire/async-queue@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.0.tgz#2f255a3f186635c4fb5a2381e375d3dfbc5312d8" + integrity sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA== -"@sapphire/shapeshift@^3.5.1": - version "3.5.1" - resolved "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.5.1.tgz" - integrity sha512-7JFsW5IglyOIUQI1eE0g6h06D/Far6HqpcowRScgCiLSqTf3hhkPWCWotVTtVycnDCMYIwPeaw6IEPBomKC8pA== +"@sapphire/shapeshift@^3.8.1": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.8.2.tgz#f9f25cba74c710b56f8790de76a9642a9635e7db" + integrity sha512-NXpnJAsxN3/h9TqQPntOeVWZrpIuucqXI3IWF6tj2fWCoRLCuVK5wx7Dtg7pRrtkYfsMUbDqgKoX26vrC5iYfA== dependencies: fast-deep-equal "^3.1.3" - lodash.uniqwith "^4.5.0" + lodash "^4.17.21" -"@sapphire/snowflake@^3.2.2": - version "3.2.2" - resolved "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.2.2.tgz" - integrity sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ== +"@sapphire/snowflake@^3.4.0": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.4.2.tgz#365af8e7b57ada924ec8e85383b921280f81d128" + integrity sha512-KJwlv5gkGjs1uFV7/xx81n3tqgBwBJvH94n1xDyH3q+JSmtsMeSleJffarEBfG2yAFeJiFA4BnGOK6FFPHc19g== "@sentry/browser@7.7.0": version "7.7.0" @@ -830,10 +852,10 @@ "@types/mime" "^1" "@types/node" "*" -"@types/ws@^8.5.3": - version "8.5.3" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== +"@types/ws@^8.5.4": + version "8.5.4" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== dependencies: "@types/node" "*" @@ -1179,6 +1201,13 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" @@ -1387,10 +1416,10 @@ discord-api-types@0.37.0: resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.0.tgz#c16f0bcc5630edc2b0597d8f273ec8385473a3be" integrity sha512-6LlL0xceiZs/kQ5PeKe5inkcjR73vagt3oACsP/C5IWKjXfzLGKrXn6yRYgiHIeJyFZ1xVPRJYE4W/u8UTT4ig== -discord-api-types@^0.36.3: - version "0.36.3" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.36.3.tgz#a931b7e57473a5c971d6937fa5f392eb30047579" - integrity sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg== +discord-api-types@^0.37.35, discord-api-types@^0.37.37: + version "0.37.39" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.39.tgz#4b103bad3a1547b2106d8e65750ddb0374f9bb6a" + integrity sha512-hkhQsQyzsTJITp311WXvHZh9j4RAMfIk2hPmsWeOTN50QTpg6zqmJNfel9D/8lYNvsU01wzw9281Yke8NhYyHg== discord-hybrid-sharding@^1.7.2: version "1.7.2" @@ -1399,22 +1428,24 @@ discord-hybrid-sharding@^1.7.2: dependencies: node-fetch "^2.6.7" -discord.js@14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.1.1.tgz#7948a2f4e85f67402e7d0b9ff28bdfbb16c3a24a" - integrity sha512-6Oa2f+Y0+s6B5HTTqcAP7Z6tUmguNTKpzbuTmE1JIeT/aUTr9dVe397D/bvcBSRpJERQzMyEWyEiVQnMRHcx4A== - dependencies: - "@discordjs/builders" "^1.1.0" - "@discordjs/collection" "^1.0.1" - "@discordjs/rest" "^1.0.1" - "@sapphire/snowflake" "^3.2.2" - "@types/ws" "^8.5.3" - discord-api-types "^0.36.3" +discord.js@14.8.0: + version "14.8.0" + resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.8.0.tgz#0e5def8a95a22018844cdfc0f63b9806392da79b" + integrity sha512-UOxYtc/YnV7jAJ2gISluJyYeBw4e+j8gWn+IoqG8unaHAVuvZ13DdYN0M1f9fbUgUvSarV798inIrYFtDNDjwQ== + dependencies: + "@discordjs/builders" "^1.5.0" + "@discordjs/collection" "^1.4.0" + "@discordjs/formatters" "^0.2.0" + "@discordjs/rest" "^1.6.0" + "@discordjs/util" "^0.2.0" + "@sapphire/snowflake" "^3.4.0" + "@types/ws" "^8.5.4" + discord-api-types "^0.37.35" fast-deep-equal "^3.1.3" lodash.snakecase "^4.1.1" - tslib "^2.4.0" - undici "^5.8.0" - ws "^8.8.1" + tslib "^2.5.0" + undici "^5.20.0" + ws "^8.12.1" dlv@^1.1.3: version "1.1.3" @@ -1721,14 +1752,14 @@ fastq@^1.6.0, fastq@^1.6.1: dependencies: reusify "^1.0.4" -file-type@^17.1.4: - version "17.1.4" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.4.tgz#e86bd6cc1b727ff2b2bd62f100958e4bcf37a6a3" - integrity sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ== +file-type@^18.2.1: + version "18.2.1" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.2.1.tgz#6d8f1fa3b079606f6ecf89483346f55fcd2c671b" + integrity sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg== dependencies: readable-web-to-node-stream "^3.0.2" - strtok3 "^7.0.0-alpha.9" - token-types "^5.0.0-alpha.2" + strtok3 "^7.0.0" + token-types "^5.0.1" fill-range@^7.0.1: version "7.0.1" @@ -2107,11 +2138,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== -lodash.uniqwith@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz" - integrity sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q== - lodash@4.17.21, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -2368,10 +2394,10 @@ path-to-regexp@0.1.7: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== -peek-readable@^5.0.0-alpha.5: - version "5.0.0-alpha.5" - resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0-alpha.5.tgz" - integrity sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA== +peek-readable@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" + integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== picocolors@^1.0.0: version "1.0.0" @@ -2845,6 +2871,11 @@ statuses@2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" @@ -2859,13 +2890,13 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strtok3@^7.0.0-alpha.9: - version "7.0.0-alpha.9" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0-alpha.9.tgz#a4ad5889e4fb5cea3514298435c6d7e84e595752" - integrity sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA== +strtok3@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" + integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== dependencies: "@tokenizer/token" "^0.3.0" - peek-readable "^5.0.0-alpha.5" + peek-readable "^5.0.0" supports-color@^7.1.0: version "7.2.0" @@ -2997,10 +3028,10 @@ toidentifier@1.0.1: resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -token-types@^5.0.0-alpha.2: - version "5.0.0-alpha.2" - resolved "https://registry.npmjs.org/token-types/-/token-types-5.0.0-alpha.2.tgz" - integrity sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ== +token-types@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" + integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== dependencies: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" @@ -3017,10 +3048,10 @@ ts-invariant@^0.10.3: dependencies: tslib "^2.1.0" -ts-mixer@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.1.tgz" - integrity sha512-hvE+ZYXuINrx6Ei6D6hz+PTim0Uf++dYbK9FFifLNwQj+RwKquhQpn868yZsCtJYiclZF1u8l6WZxxKi+vv7Rg== +ts-mixer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.3.tgz#69bd50f406ff39daa369885b16c77a6194c7cae6" + integrity sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ== ts-node@10.9.1: version "10.9.1" @@ -3051,6 +3082,11 @@ tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tslog@3.3.3, tslog@^3.3.1: version "3.3.3" resolved "https://registry.npmjs.org/tslog/-/tslog-3.3.3.tgz" @@ -3071,10 +3107,12 @@ typescript@*, typescript@4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== -undici@^5.8.0: - version "5.8.0" - resolved "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz" - integrity sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q== +undici@^5.20.0, undici@^5.21.0: + version "5.21.2" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.2.tgz#329f628aaea3f1539a28b9325dccc72097d29acd" + integrity sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ== + dependencies: + busboy "^1.6.0" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -3171,10 +3209,10 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@^8.8.1: - version "8.8.1" - resolved "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz" - integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== +ws@^8.12.1: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== xss@^1.0.8: version "1.0.13"