diff --git a/lib/routes/ali213/namespace.ts b/lib/routes/ali213/namespace.ts new file mode 100644 index 00000000000000..14cec63452d684 --- /dev/null +++ b/lib/routes/ali213/namespace.ts @@ -0,0 +1,9 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: '游侠网', + url: 'ali213.net', + categories: ['game'], + description: '', + lang: 'zh-CN', +}; diff --git a/lib/routes/ali213/news.ts b/lib/routes/ali213/news.ts new file mode 100644 index 00000000000000..2a1387b7966983 --- /dev/null +++ b/lib/routes/ali213/news.ts @@ -0,0 +1,269 @@ +import path from 'node:path'; + +import { type CheerioAPI, type Cheerio, type Element, load } from 'cheerio'; +import { type Context } from 'hono'; + +import { type DataItem, type Route, type Data, ViewType } from '@/types'; + +import { art } from '@/utils/render'; +import cache from '@/utils/cache'; +import { getCurrentPath } from '@/utils/helpers'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; +import timezone from '@/utils/timezone'; + +const __dirname = getCurrentPath(import.meta.url); + +export const handler = async (ctx: Context): Promise => { + const { category = 'new' } = ctx.req.param(); + const limit: number = Number.parseInt(ctx.req.query('limit') ?? '30', 10); + + const rootUrl: string = 'https://www.ali213.net'; + const targetUrl: string = new URL(`news/${category.endsWith('/') ? category : `${category}/`}`, rootUrl).href; + + const response = await ofetch(targetUrl); + const $: CheerioAPI = load(response); + const language: string = $('html').prop('lang') ?? 'zh-CN'; + + let items: DataItem[] = $('div.n_lone') + .slice(0, limit) + .toArray() + .map((item): DataItem => { + const $item: Cheerio = $(item); + + const aEl: Cheerio = $item.find('h2.lone_t a'); + + const title: string = aEl.prop('title') || aEl.text(); + const link: string | undefined = aEl.prop('href'); + + const imageEl: Cheerio = $item.find('img'); + const imageSrc: string | undefined = imageEl?.prop('src'); + const imageAlt: string | undefined = imageEl?.prop('alt'); + + const intro: string = $item.find('div.lone_f_r_t').text(); + + const description: string = art(path.join(__dirname, 'templates/description.art'), { + images: imageEl + ? [ + { + src: imageSrc, + alt: imageAlt, + }, + ] + : undefined, + intro, + }); + + const author: DataItem['author'] = $item.find('div.lone_f_r_f span').last().text().split(/:/).pop(); + + return { + title, + description, + pubDate: parseDate($item.find('div.lone_f_r_f span').first().text()), + link, + author, + content: { + html: description, + text: $item.find('div.lone_f_r_t').text(), + }, + image: imageSrc, + banner: imageSrc, + language, + }; + }); + + items = ( + await Promise.all( + items.map((item) => { + if (!item.link && typeof item.link !== 'string') { + return item; + } + + return cache.tryGet(item.link, async (): Promise => { + try { + const detailResponse = await ofetch(item.link); + const $$: CheerioAPI = load(detailResponse); + + const title: string = $$('h1.newstit').text(); + const image: string | undefined = $$('div#Content img').first().prop('src'); + + const mediaContent: Cheerio = $$('div#Content p span img'); + const media: Record> = {}; + + if (mediaContent.length) { + mediaContent.each((_, el) => { + const $$el: Cheerio = $$(el); + + const pEl: Cheerio = $$el.closest('p'); + + const mediaUrl: string | undefined = $$el.prop('src'); + const mediaType: string | undefined = mediaUrl?.split(/\./).pop(); + + if (mediaType && mediaUrl) { + media[mediaType] = { url: mediaUrl }; + + pEl.replaceWith( + art(path.join(__dirname, 'templates/description.art'), { + images: [ + { + src: mediaUrl, + }, + ], + }) + ); + } + }); + } + + const description: string = art(path.join(__dirname, 'templates/description.art'), { + description: $$('div#Content').html() ?? '', + }); + + const extraLinks = $$('div.extend_read ul li a') + .toArray() + .map((el) => { + const $$el: Cheerio = $$(el); + + return { + url: $$el.prop('href'), + type: 'related', + content_html: $$el.prop('title') || $$el.text(), + }; + }) + .filter((_): _ is { url: string; type: string; content_html: string } => true); + + return { + title, + description, + pubDate: timezone(parseDate($$('div.newstag_l').text().split(/\s/)[0]), +8), + author: item.author, + content: { + html: description, + text: $$('div#Content').html() ?? '', + }, + image, + banner: image, + language, + media: Object.keys(media).length > 0 ? media : undefined, + _extra: { + links: extraLinks.length > 0 ? extraLinks : undefined, + }, + }; + } catch { + return item; + } + }); + }) + ) + ).filter((_): _ is DataItem => true); + + const author = '游侠网'; + const title = $('div.news-list-title').text(); + const feedImage = new URL('news/images/ali213_app_big.png', rootUrl).href; + + return { + title: `${author} - ${title}`, + description: title, + link: targetUrl, + item: items, + allowEmpty: true, + image: feedImage, + author, + language, + id: targetUrl, + }; +}; + +export const route: Route = { + path: '/news/:category?', + name: '资讯', + url: 'www.ali213.net', + maintainers: ['nczitzk'], + handler, + example: '/ali213/news/new', + parameters: { + category: '分类,默认为 `new`,即最新资讯,可在对应分类页 URL 中找到', + }, + description: `:::tip +若订阅 [游戏资讯](https://www.ali213.net/news/game/),网址为 \`https://www.ali213.net/news/game/\`,请截取 \`https://www.ali213.net/news/\` 到末尾 \`/\` 的部分 \`game\` 作为 \`category\` 参数填入,此时目标路由为 [\`/ali213/news/game\`](https://rsshub.app/ali213/news/game)。 +::: + +| 分类名称 | 分类 ID | +| -------- | ------- | +| 最新资讯 | new | +| 评测 | pingce | +| 游戏 | game | +| 动漫 | comic | +| 影视 | movie | +| 科技 | tech | +| 电竞 | esports | +| 娱乐 | amuse | +| 手游 | mobile | +`, + categories: ['game'], + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportRadar: true, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['www.ali213.net/news/:category'], + target: (params) => { + const category = params.category; + + return `/news/${category ? `/${category}` : ''}`; + }, + }, + { + title: '最新资讯', + source: ['www.ali213.net/news/new'], + target: '/news/new', + }, + { + title: '评测', + source: ['www.ali213.net/news/pingce'], + target: '/news/pingce', + }, + { + title: '游戏', + source: ['www.ali213.net/news/game'], + target: '/news/game', + }, + { + title: '动漫', + source: ['www.ali213.net/news/comic'], + target: '/news/comic', + }, + { + title: '影视', + source: ['www.ali213.net/news/movie'], + target: '/news/movie', + }, + { + title: '科技', + source: ['www.ali213.net/news/tech'], + target: '/news/tech', + }, + { + title: '电竞', + source: ['www.ali213.net/news/esports'], + target: '/news/esports', + }, + { + title: '娱乐', + source: ['www.ali213.net/news/amuse'], + target: '/news/amuse', + }, + { + title: '手游', + source: ['www.ali213.net/news/mobile'], + target: '/news/mobile', + }, + ], + view: ViewType.Articles, +}; diff --git a/lib/routes/ali213/templates/description.art b/lib/routes/ali213/templates/description.art new file mode 100644 index 00000000000000..249654e7e618a4 --- /dev/null +++ b/lib/routes/ali213/templates/description.art @@ -0,0 +1,21 @@ +{{ if images }} + {{ each images image }} + {{ if image?.src }} +
+ {{ image.alt }} +
+ {{ /if }} + {{ /each }} +{{ /if }} + +{{ if intro }} +
{{ intro }}
+{{ /if }} + +{{ if description }} + {{@ description }} +{{ /if }} \ No newline at end of file diff --git a/lib/routes/duckdb/news.ts b/lib/routes/duckdb/news.ts index d4cde64a9ffd6b..eece112c560854 100644 --- a/lib/routes/duckdb/news.ts +++ b/lib/routes/duckdb/news.ts @@ -36,8 +36,9 @@ async function handler() { item = $(item); return { title: item.find('h3').text().trim(), - link: `https://duckdb.org${item.find('a').eq(2).attr('href')}`, + link: `https://duckdb.org${item.find('a.blocklink').attr('href')}`, pubDate: timezone(parseDate(item.find('.date').text(), 'YYYY-MM-DD'), 0), + author: item.find('.author').text().trim(), }; }); @@ -46,9 +47,7 @@ async function handler() { cache.tryGet(item.link, async () => { const response = await got(item.link); const $ = load(response.body); - item.author = $('.author').text(); - item.description = $('.singleentry').html(); - + item.description = $('.contentwidth').find('h1, .infoline').remove().end().html(); // 上面每个列表项的每个属性都在此重用, // 并增加了一个新属性“description” return item; diff --git a/lib/routes/github/repos.ts b/lib/routes/github/repos.ts index 57e02e3ec704d8..edf19af5c40dbc 100644 --- a/lib/routes/github/repos.ts +++ b/lib/routes/github/repos.ts @@ -1,13 +1,16 @@ import { Route } from '@/types'; import got from '@/utils/got'; import { config } from '@/config'; -import queryString from 'query-string'; export const route: Route = { - path: '/repos/:user', + path: '/repos/:user/:type?/:sort?', categories: ['programming'], example: '/github/repos/DIYgod', - parameters: { user: 'GitHub username' }, + parameters: { + user: 'GitHub username', + type: 'Type of repository, can be `all`, `owner`, `member`, `public`, `private`, `forks`, `sources`', + sort: 'Sort by `created`, `updated`, `pushed`, `full_name`', + }, features: { requireConfig: false, requirePuppeteer: false, @@ -28,20 +31,44 @@ export const route: Route = { async function handler(ctx) { const user = ctx.req.param('user'); - - const headers = {}; + const type = ctx.req.param('type') || 'all'; + const sort = ctx.req.param('sort') || 'created'; + let headers = {}; if (config.github && config.github.access_token) { - headers.Authorization = `token ${config.github.access_token}`; + headers = { + ...headers, + Authorization: `token ${config.github.access_token}`, + }; } const response = await got({ method: 'get', url: `https://api.github.com/users/${user}/repos`, - searchParams: queryString.stringify({ - sort: 'created', - }), + searchParams: { + type, + sort, + }, headers, }); - const data = response.data; + const data = response.data.filter((item) => { + switch (type) { + case 'all': + return true; + case 'owner': + return item.owner.login === user; + case 'member': + return item.owner.login !== user; + case 'public': + return item.private === false; + case 'private': + return item.private === true; + case 'forks': + return item.fork === true; + case 'sources': + return item.fork === false; + default: + return true; + } + }); return { allowEmpty: true, title: `${user}'s GitHub repositories`, diff --git a/lib/routes/isct/namespace.ts b/lib/routes/isct/namespace.ts index 2dbb6fcf8387ae..0eb118cc1dbacb 100644 --- a/lib/routes/isct/namespace.ts +++ b/lib/routes/isct/namespace.ts @@ -4,10 +4,10 @@ export const namespace: Namespace = { name: 'Institute of Science Tokyo', url: 'isct.ac.jp', lang: 'ja', - description: ` -:::tip - 支持通过category参数筛选新闻类别。详情请查看[指南](https://docs.rsshub.app/zh/guide/parameters#%E5%86%85%E5%AE%B9%E8%BF%87%E6%BB%A4)。 - You can filter news by category through the category parameter. For more information, please refer to the [guide](https://docs.rsshub.app/guide/parameters#filtering). + description: `:::tip +支持通过 category 参数筛选新闻类别。详情请查看 [指南](https://docs.rsshub.app/zh/guide/parameters#%E5%86%85%E5%AE%B9%E8%BF%87%E6%BB%A4) 。 + +You can filter news by category through the category parameter. For more information, please refer to the [guide](https://docs.rsshub.app/guide/parameters#filtering). :::`, ja: { name: '東京科学大学', diff --git a/lib/routes/sohu/mp.ts b/lib/routes/sohu/mp.ts index 92bd976515d492..b720719a38ebc7 100644 --- a/lib/routes/sohu/mp.ts +++ b/lib/routes/sohu/mp.ts @@ -8,6 +8,7 @@ import * as cheerio from 'cheerio'; import { parseDate } from '@/utils/parse-date'; import path from 'node:path'; import { art } from '@/utils/render'; +import CryptoJS from 'crypto-js'; export const route: Route = { path: '/mp/:xpt', @@ -39,6 +40,15 @@ function randomString(length = 32) { } const defaultSUV = '1612268936507kas0gk'; +function decryptImageUrl(cipherText) { + const key = CryptoJS.enc.Utf8.parse('www.sohu.com6666'); + const cipher = CryptoJS.AES.decrypt(cipherText, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7, + }); + return cipher.toString(CryptoJS.enc.Utf8); +} + function fetchArticle(item) { return cache.tryGet(item.link, async () => { const response = await ofetch(item.link); @@ -64,6 +74,13 @@ function fetchArticle(item) { article.find('#backsohucom, p[data-role="editor-name"]').each((i, e) => { $(e).remove(); }); + article.find('img').each((_, e) => { + const $e = $(e); + if ($e.attr('data-src') && !$e.attr('src')) { + $e.attr('src', decryptImageUrl($e.attr('data-src'))); + $e.removeAttr('data-src'); + } + }); item.description = article.html(); } diff --git a/lib/routes/twitter/api/web-api/constants.ts b/lib/routes/twitter/api/web-api/constants.ts index 059dc0f85de496..ade5b768c35c38 100644 --- a/lib/routes/twitter/api/web-api/constants.ts +++ b/lib/routes/twitter/api/web-api/constants.ts @@ -15,6 +15,8 @@ const graphQLEndpointsPlain = [ const gqlMap = Object.fromEntries(graphQLEndpointsPlain.map((endpoint) => [endpoint.split('/')[3].replace(/V2$|Query$|QueryV2$/, ''), endpoint])); +const thirdPartySupportedAPI = ['UserByScreenName', 'UserByRestId', 'UserTweets', 'UserTweetsAndReplies']; + const gqlFeatureUser = { hidden_profile_subscriptions_enabled: true, rweb_tipjar_consumption_enabled: true, @@ -112,4 +114,4 @@ const timelineParams = { const bearerToken = 'Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA'; -export { baseUrl, gqlMap, gqlFeatures, timelineParams, bearerToken }; +export { baseUrl, gqlMap, gqlFeatures, timelineParams, bearerToken, thirdPartySupportedAPI }; diff --git a/lib/routes/twitter/api/web-api/utils.ts b/lib/routes/twitter/api/web-api/utils.ts index a8632757ddb09f..1a34023c123b95 100644 --- a/lib/routes/twitter/api/web-api/utils.ts +++ b/lib/routes/twitter/api/web-api/utils.ts @@ -1,5 +1,5 @@ import ConfigNotFoundError from '@/errors/types/config-not-found'; -import { baseUrl, gqlFeatures, bearerToken, gqlMap } from './constants'; +import { baseUrl, gqlFeatures, bearerToken, gqlMap, thirdPartySupportedAPI } from './constants'; import { config } from '@/config'; import queryString from 'query-string'; import { Cookie, CookieJar } from 'tough-cookie'; @@ -228,7 +228,7 @@ export const paginationTweets = async (endpoint: string, userId: number | undefi }; const fetchData = async () => { - if (config.twitter.thirdPartyApi) { + if (config.twitter.thirdPartyApi && thirdPartySupportedAPI.includes(endpoint)) { const { data } = await ofetch(`${config.twitter.thirdPartyApi}${gqlMap[endpoint]}`, { method: 'GET', params, diff --git a/lib/routes/twitter/keyword.ts b/lib/routes/twitter/keyword.ts index 990ead5a4d7730..596ff5b9312d17 100644 --- a/lib/routes/twitter/keyword.ts +++ b/lib/routes/twitter/keyword.ts @@ -22,6 +22,10 @@ export const route: Route = { name: 'TWITTER_AUTH_TOKEN', description: 'Please see above for details.', }, + { + name: 'TWITTER_THIRD_PARTY_API', + description: 'Please see above for details.', + }, ], requirePuppeteer: false, antiCrawler: false, @@ -30,7 +34,7 @@ export const route: Route = { supportScihub: false, }, name: 'Keyword', - maintainers: ['DIYgod', 'yindaheng98', 'Rongronggg9'], + maintainers: ['DIYgod', 'yindaheng98', 'Rongronggg9', 'pseudoyu'], handler, radar: [ { diff --git a/lib/routes/twitter/user.ts b/lib/routes/twitter/user.ts index eebff2a7b685b9..137d70687de07b 100644 --- a/lib/routes/twitter/user.ts +++ b/lib/routes/twitter/user.ts @@ -2,7 +2,6 @@ import { Route, ViewType } from '@/types'; import utils from './utils'; import api from './api'; import logger from '@/utils/logger'; -import { config } from '@/config'; export const route: Route = { path: '/user/:id/:routeParams?', @@ -60,15 +59,9 @@ async function handler(ctx) { const id = ctx.req.param('id'); // For compatibility - const { count, exclude_replies: initialExcludeReplies, include_rts } = utils.parseRouteParams(ctx.req.param('routeParams')); + const { count, exclude_replies, include_rts } = utils.parseRouteParams(ctx.req.param('routeParams')); const params = count ? { count } : {}; - // Third party API does not support replies for now - let exclude_replies = initialExcludeReplies; - if (config.twitter.thirdPartyApi) { - exclude_replies = true; - } - await api.init(); const userInfo = await api.getUser(id); let data; diff --git a/package.json b/package.json index f431216a434c8c..3a5854c29ba744 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "hono": "4.6.13", "html-to-text": "9.0.5", "http-cookie-agent": "6.0.6", - "https-proxy-agent": "7.0.5", + "https-proxy-agent": "7.0.6", "iconv-lite": "0.6.3", "imapflow": "1.0.171", "instagram-private-api": "1.46.1", @@ -106,7 +106,7 @@ "oauth-1.0a": "2.2.6", "ofetch": "1.4.1", "otplib": "12.0.1", - "pac-proxy-agent": "7.0.2", + "pac-proxy-agent": "7.1.0", "proxy-chain": "2.5.6", "puppeteer": "22.6.2", "puppeteer-extra": "3.3.6", @@ -120,12 +120,12 @@ "rss-parser": "3.13.0", "sanitize-html": "2.13.1", "simplecc-wasm": "1.1.0", - "socks-proxy-agent": "8.0.4", + "socks-proxy-agent": "8.0.5", "source-map": "0.7.4", "telegram": "2.26.8", "tiny-async-pool": "2.1.0", "title": "4.0.1", - "tldts": "6.1.65", + "tldts": "6.1.66", "tosource": "2.0.0-alpha.3", "tough-cookie": "5.0.0", "tsx": "4.19.2", @@ -144,7 +144,7 @@ "@eslint/eslintrc": "3.2.0", "@eslint/js": "9.16.0", "@microsoft/eslint-formatter-sarif": "3.1.0", - "@stylistic/eslint-plugin": "2.11.0", + "@stylistic/eslint-plugin": "2.12.0", "@types/aes-js": "3.1.4", "@types/babel__preset-env": "7.9.7", "@types/crypto-js": "4.2.2", @@ -167,15 +167,15 @@ "@types/tiny-async-pool": "2.0.3", "@types/title": "3.4.3", "@types/uuid": "10.0.0", - "@typescript-eslint/eslint-plugin": "8.17.0", - "@typescript-eslint/parser": "8.17.0", - "@vercel/nft": "0.27.7", + "@typescript-eslint/eslint-plugin": "8.18.0", + "@typescript-eslint/parser": "8.18.0", + "@vercel/nft": "0.27.9", "@vitest/coverage-v8": "2.0.5", - "discord-api-types": "0.37.110", + "discord-api-types": "0.37.111", "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", "eslint-nibble": "8.1.0", - "eslint-plugin-n": "17.14.0", + "eslint-plugin-n": "17.15.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-unicorn": "56.0.1", "eslint-plugin-yml": "1.16.0", @@ -193,7 +193,7 @@ "supertest": "7.0.0", "typescript": "5.7.2", "unified": "11.0.5", - "vite-tsconfig-paths": "5.1.3", + "vite-tsconfig-paths": "5.1.4", "vitest": "2.0.5", "yaml-eslint-parser": "1.2.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a1139821ab0ee..44dc6cc04c1e34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -127,8 +127,8 @@ importers: specifier: 6.0.6 version: 6.0.6(tough-cookie@5.0.0)(undici@6.21.0) https-proxy-agent: - specifier: 7.0.5 - version: 7.0.5 + specifier: 7.0.6 + version: 7.0.6 iconv-lite: specifier: 0.6.3 version: 0.6.3 @@ -184,8 +184,8 @@ importers: specifier: 12.0.1 version: 12.0.1 pac-proxy-agent: - specifier: 7.0.2 - version: 7.0.2 + specifier: 7.1.0 + version: 7.1.0 proxy-chain: specifier: 2.5.6 version: 2.5.6 @@ -226,8 +226,8 @@ importers: specifier: 1.1.0 version: 1.1.0 socks-proxy-agent: - specifier: 8.0.4 - version: 8.0.4 + specifier: 8.0.5 + version: 8.0.5 source-map: specifier: 0.7.4 version: 0.7.4 @@ -241,8 +241,8 @@ importers: specifier: 4.0.1 version: 4.0.1 tldts: - specifier: 6.1.65 - version: 6.1.65 + specifier: 6.1.66 + version: 6.1.66 tosource: specifier: 2.0.0-alpha.3 version: 2.0.0-alpha.3 @@ -293,8 +293,8 @@ importers: specifier: 3.1.0 version: 3.1.0 '@stylistic/eslint-plugin': - specifier: 2.11.0 - version: 2.11.0(eslint@9.16.0)(typescript@5.7.2) + specifier: 2.12.0 + version: 2.12.0(eslint@9.16.0)(typescript@5.7.2) '@types/aes-js': specifier: 3.1.4 version: 3.1.4 @@ -362,20 +362,20 @@ importers: specifier: 10.0.0 version: 10.0.0 '@typescript-eslint/eslint-plugin': - specifier: 8.17.0 - version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + specifier: 8.18.0 + version: 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) '@typescript-eslint/parser': - specifier: 8.17.0 - version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) + specifier: 8.18.0 + version: 8.18.0(eslint@9.16.0)(typescript@5.7.2) '@vercel/nft': - specifier: 0.27.7 - version: 0.27.7(rollup@4.24.4) + specifier: 0.27.9 + version: 0.27.9(rollup@4.24.4) '@vitest/coverage-v8': specifier: 2.0.5 version: 2.0.5(vitest@2.0.5(@types/node@22.10.1)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))) discord-api-types: - specifier: 0.37.110 - version: 0.37.110 + specifier: 0.37.111 + version: 0.37.111 eslint: specifier: 9.16.0 version: 9.16.0 @@ -386,8 +386,8 @@ importers: specifier: 8.1.0 version: 8.1.0(eslint@9.16.0) eslint-plugin-n: - specifier: 17.14.0 - version: 17.14.0(eslint@9.16.0) + specifier: 17.15.0 + version: 17.15.0(eslint@9.16.0) eslint-plugin-prettier: specifier: 5.2.1 version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(prettier@3.4.2) @@ -440,8 +440,8 @@ importers: specifier: 11.0.5 version: 11.0.5 vite-tsconfig-paths: - specifier: 5.1.3 - version: 5.1.3(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)) + specifier: 5.1.4 + version: 5.1.4(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)) vitest: specifier: 2.0.5 version: 2.0.5(@types/node@22.10.1)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)) @@ -1434,6 +1434,10 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -1459,8 +1463,9 @@ packages: '@lifeomic/attempt@3.1.0': resolution: {integrity: sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw==} - '@mapbox/node-pre-gyp@1.0.11': - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + '@mapbox/node-pre-gyp@2.0.0-rc.0': + resolution: {integrity: sha512-nhSMNprz3WmeRvd8iUs5JqkKr0Ncx46JtPxM3AhXes84XpSJfmIwKeWXRpsr53S7kqPkQfPhzrMFUxSNb23qSA==} + engines: {node: '>=18'} hasBin: true '@microsoft/eslint-formatter-sarif@3.1.0': @@ -1826,8 +1831,8 @@ packages: resolution: {integrity: sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ==} engines: {node: '>=18'} - '@stylistic/eslint-plugin@2.11.0': - resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} + '@stylistic/eslint-plugin@2.12.0': + resolution: {integrity: sha512-IvD2WXbOoSp0zNpyYbjdSyEjZtut78RYfj2WIlbChE7HFuposTK5X1hc5+4AyqYcjLXYdD5oo/sJtqMGFNRb1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -1990,61 +1995,43 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.17.0': - resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} + '@typescript-eslint/eslint-plugin@8.18.0': + resolution: {integrity: sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.17.0': - resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} + '@typescript-eslint/parser@8.18.0': + resolution: {integrity: sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@8.14.0': - resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/scope-manager@8.17.0': resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.17.0': - resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} + '@typescript-eslint/scope-manager@8.18.0': + resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/types@8.14.0': - resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} + '@typescript-eslint/type-utils@8.18.0': + resolution: {integrity: sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/types@8.17.0': resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.14.0': - resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} + '@typescript-eslint/types@8.18.0': + resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true '@typescript-eslint/typescript-estree@8.17.0': resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} @@ -2055,11 +2042,11 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.14.0': - resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} + '@typescript-eslint/typescript-estree@8.18.0': + resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/utils@8.17.0': resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} @@ -2071,22 +2058,29 @@ packages: typescript: optional: true - '@typescript-eslint/visitor-keys@8.14.0': - resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} + '@typescript-eslint/utils@8.18.0': + resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/visitor-keys@8.17.0': resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.18.0': + resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} '@unhead/schema@1.11.11': resolution: {integrity: sha512-xSGsWHPBYcMV/ckQeImbrVu6ddeRnrdDCgXUKv3xIjGBY+ob/96V80lGX8FKWh8GwdFSwhblISObKlDAt5K9ZQ==} - '@vercel/nft@0.27.7': - resolution: {integrity: sha512-FG6H5YkP4bdw9Ll1qhmbxuE8KwW2E/g8fJpM183fWQLeVDGqzeywMIeJ9h2txdWZ03psgWMn6QymTxaDLmdwUg==} + '@vercel/nft@0.27.9': + resolution: {integrity: sha512-pTs7OchHQmSYJPR0puVQCWw/NqzuvAtnAhBurz21lq4Y4KqWoMpYKqmikkETG5r1bHNCM/hQMZ5JiRr9mhOkyg==} engines: {node: '>=16'} hasBin: true @@ -2116,9 +2110,6 @@ packages: '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2146,14 +2137,14 @@ packages: aes-js@3.1.2: resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -2197,14 +2188,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - - are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -2453,9 +2436,9 @@ packages: resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} engines: {node: '>=18.17'} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chromium-bidi@0.5.16: resolution: {integrity: sha512-IT5lnR44h/qZQ4GaCHvBxYIl4cQL2i9UvFyYeRyVdcpY04hx5H720HQfe/7Oz7ndxaYVLQFGpCO71J4X2Ye/Gw==} @@ -2544,10 +2527,6 @@ packages: color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} @@ -2584,8 +2563,9 @@ packages: config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -2756,9 +2736,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} @@ -2791,8 +2768,8 @@ packages: resolution: {integrity: sha512-d9paCbverdqmuwR+B40phSqiHhgPKiP8dpsMz5WT9U6ug2VVQ3tqXNCedpa6iGHg6mgv9lHaoq5DJUu2IXMjsQ==} engines: {node: '>=18.17.0'} - discord-api-types@0.37.110: - resolution: {integrity: sha512-wVaAJkrSgNRo8nd523qKYPqkClTNHhjKOk/g6265rzHuc7TNS6Ivz06DPW4iZvnhFobbH95hKlgsRf6jcAbtlA==} + discord-api-types@0.37.111: + resolution: {integrity: sha512-22O4/mjfcLaQ8bbJorGpzFThnjhd8/exQxFscP3fnyJPo9Fk9O5GkWDIremYbvuw4YiwMfssWFniIb/iAwRqTg==} doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -2999,8 +2976,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-n@17.14.0: - resolution: {integrity: sha512-maxPLMEA0rPmRpoOlxEclKng4UpDe+N5BJS4t24I3UKnN109Qcivnfs37KMy84G0af3bxjog5lKctP5ObsvcTA==} + eslint-plugin-n@17.15.0: + resolution: {integrity: sha512-xF3zJkOfLlFOm5TvmqmsnA9/fO+/z2pYs0dkuKXKN/ymS6UB1yEcaoIkqxLKQ9Dw/WmLX/Tdh6/5ZS5azVixFQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -3281,10 +3258,6 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3293,11 +3266,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - gaxios@6.7.1: resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} engines: {node: '>=14'} @@ -3434,9 +3402,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -3521,12 +3486,8 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - https-proxy-agent@7.0.5: - resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} human-signals@5.0.0: @@ -4040,10 +4001,6 @@ packages: mailsplit@5.4.2: resolution: {integrity: sha512-4cczG/3Iu3pyl8JgQ76dKkisurZTmxMrA4dj/e8d2jKYcFTZ7MxOzg1gTioTDMPuFXwTrVuN/gxhkrO7wLg7qA==} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -4210,21 +4167,13 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - - minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minizlib@3.0.1: + resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} + engines: {node: '>= 18'} mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -4233,8 +4182,8 @@ packages: resolution: {integrity: sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==} engines: {node: '>=0.10.0'} - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} hasBin: true @@ -4276,8 +4225,8 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -4330,16 +4279,16 @@ packages: resolution: {integrity: sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==} engines: {node: '>=6.0.0'} - nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true + nopt@8.0.0: + resolution: {integrity: sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -4355,10 +4304,6 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - deprecated: This package is no longer supported. - nth-check@1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} @@ -4374,10 +4319,6 @@ packages: oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} @@ -4466,8 +4407,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pac-proxy-agent@7.0.2: - resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} + pac-proxy-agent@7.1.0: + resolution: {integrity: sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==} engines: {node: '>= 14'} pac-resolver@7.0.1: @@ -4899,6 +4840,10 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + rollup@4.24.4: resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4959,9 +4904,6 @@ packages: engines: {node: '>=10'} hasBin: true - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - shallow-clone@0.1.2: resolution: {integrity: sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==} engines: {node: '>=0.10.0'} @@ -5009,8 +4951,8 @@ packages: resolution: {integrity: sha512-CjU5pyRfwOtaOITYv5C8DzpZ8XA/ieRsDpr93HI2r6e3YInC6moZpSQbmUtg8cTk58tq2x3jcG2gv+p1IZGmMA==} engines: {node: '>=8'} - socks-proxy-agent@8.0.4: - resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} socks@2.8.3: @@ -5199,9 +5141,9 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} telegram@2.26.8: resolution: {integrity: sha512-5sIb43Fd7HxjXQZqKWMhNTmdMOlG3QkuhR2xPleUA5B8BxOZl9IwrDwFdiC7aezGVTcD6oJ1d4cloUySjmCX/A==} @@ -5255,11 +5197,11 @@ packages: resolution: {integrity: sha512-tcwMRIioTcF/FcxLev8MJWxCp+GUALRhFEqbDoZrnowmKSGqPrl5pqS+Sut2m8BgJ6S4FExCSSpGffZ0Tks6Aw==} hasBin: true - tldts-core@6.1.65: - resolution: {integrity: sha512-Uq5t0N0Oj4nQSbU8wFN1YYENvMthvwU13MQrMJRspYCGLSAZjAfoBOJki5IQpnBM/WFskxxC/gIOTwaedmHaSg==} + tldts-core@6.1.66: + resolution: {integrity: sha512-s07jJruSwndD2X8bVjwioPfqpIc1pDTzszPe9pL1Skbh4bjytL85KNQ3tolqLbCvpQHawIsGfFi9dgerWjqW4g==} - tldts@6.1.65: - resolution: {integrity: sha512-xU9gLTfAGsADQ2PcWee6Hg8RFAv0DnjMGVJmDnUmI8a9+nYmapMQix4afwrdaCtT+AqP4MaxEzu7cCrYmBPbzQ==} + tldts@6.1.66: + resolution: {integrity: sha512-l3ciXsYFel/jSRfESbyKYud1nOw7WfhrBEF9I3UiarYk/qEaOOwu3qXNECHw4fHGHGTEOuhf/VdKgoDX5M/dhQ==} hasBin: true tmp@0.0.33: @@ -5539,8 +5481,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-tsconfig-paths@5.1.3: - resolution: {integrity: sha512-0bz+PDlLpGfP2CigeSKL9NFTF1KtXkeHGZSSaGQSuPZH77GhoiQaA8IjYgOaynSuwlDTolSUEU0ErVvju3NURg==} + vite-tsconfig-paths@5.1.4: + resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -5646,9 +5588,6 @@ packages: engines: {node: '>=8'} hasBin: true - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - winston-transport@4.9.0: resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} engines: {node: '>= 12.0.0'} @@ -5742,6 +5681,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml-eslint-parser@1.2.3: resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} @@ -6849,6 +6792,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@istanbuljs/schema@0.1.3': {} '@jridgewell/gen-mapping@0.3.5': @@ -6870,17 +6817,15 @@ snapshots: '@lifeomic/attempt@3.1.0': {} - '@mapbox/node-pre-gyp@1.0.11': + '@mapbox/node-pre-gyp@2.0.0-rc.0': dependencies: + consola: 3.2.3 detect-libc: 2.0.3 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 + https-proxy-agent: 7.0.6 node-fetch: 2.7.0 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 + nopt: 8.0.0 semver: 7.6.3 - tar: 6.2.1 + tar: 7.4.3 transitivePeerDependencies: - encoding - supports-color @@ -7254,9 +7199,9 @@ snapshots: '@sindresorhus/is@7.0.1': {} - '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0)(typescript@5.7.2)': + '@stylistic/eslint-plugin@2.12.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.14.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -7426,67 +7371,64 @@ snapshots: '@types/node': 22.10.1 optional: true - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/type-utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 eslint: 9.16.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.4.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7 eslint: 9.16.0 - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.14.0': - dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 - '@typescript-eslint/scope-manager@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/scope-manager@8.18.0': dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 + + '@typescript-eslint/type-utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) debug: 4.3.7 eslint: 9.16.0 ts-api-utils: 1.4.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.14.0': {} - '@typescript-eslint/types@8.17.0': {} - '@typescript-eslint/typescript-estree@8.14.0(typescript@5.7.2)': + '@typescript-eslint/types@8.18.0': {} + + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -7498,32 +7440,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.4.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.14.0(eslint@9.16.0)(typescript@5.7.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.7.2) - eslint: 9.16.0 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) @@ -7536,16 +7466,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.14.0': + '@typescript-eslint/utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.14.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + eslint: 9.16.0 + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color '@typescript-eslint/visitor-keys@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 + '@typescript-eslint/visitor-keys@8.18.0': + dependencies: + '@typescript-eslint/types': 8.18.0 + eslint-visitor-keys: 4.2.0 + '@ungap/structured-clone@1.2.0': {} '@unhead/schema@1.11.11': @@ -7553,9 +7494,9 @@ snapshots: hookable: 5.5.3 zhead: 2.2.4 - '@vercel/nft@0.27.7(rollup@4.24.4)': + '@vercel/nft@0.27.9(rollup@4.24.4)': dependencies: - '@mapbox/node-pre-gyp': 1.0.11 + '@mapbox/node-pre-gyp': 2.0.0-rc.0 '@rollup/pluginutils': 5.1.3(rollup@4.24.4) acorn: 8.14.0 acorn-import-attributes: 1.9.5(acorn@8.14.0) @@ -7564,8 +7505,8 @@ snapshots: estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - micromatch: 4.0.8 node-gyp-build: 4.8.2 + picomatch: 4.0.2 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -7627,8 +7568,6 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - abbrev@1.1.1: {} - abbrev@2.0.0: {} acorn-import-attributes@1.9.5(acorn@8.14.0): @@ -7645,18 +7584,14 @@ snapshots: aes-js@3.1.2: {} - agent-base@6.0.2: - dependencies: - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - agent-base@7.1.1: dependencies: debug: 4.3.7 transitivePeerDependencies: - supports-color + agent-base@7.1.3: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -7692,13 +7627,6 @@ snapshots: ansi-styles@6.2.1: {} - aproba@2.0.0: {} - - are-we-there-yet@2.0.0: - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - arg@5.0.2: {} argparse@2.0.1: {} @@ -7996,7 +7924,7 @@ snapshots: undici: 6.21.0 whatwg-mimetype: 4.0.0 - chownr@2.0.0: {} + chownr@3.0.0: {} chromium-bidi@0.5.16(devtools-protocol@0.0.1262051): dependencies: @@ -8085,8 +8013,6 @@ snapshots: color-name: 1.1.4 simple-swizzle: 0.2.2 - color-support@1.1.3: {} - color@3.2.1: dependencies: color-convert: 1.9.3 @@ -8120,7 +8046,7 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - console-control-strings@1.1.0: {} + consola@3.2.3: {} convert-source-map@2.0.0: {} @@ -8263,8 +8189,6 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: {} - denque@2.1.0: {} dequal@2.0.3: {} @@ -8290,7 +8214,7 @@ snapshots: directory-import@3.3.1: {} - discord-api-types@0.37.110: {} + discord-api-types@0.37.111: {} doctrine@3.0.0: dependencies: @@ -8556,7 +8480,7 @@ snapshots: eslint: 9.16.0 eslint-compat-utils: 0.5.1(eslint@9.16.0) - eslint-plugin-n@17.14.0(eslint@9.16.0): + eslint-plugin-n@17.15.0(eslint@9.16.0): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) enhanced-resolve: 5.17.1 @@ -8942,31 +8866,15 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - fs.realpath@1.0.0: {} fsevents@2.3.3: optional: true - gauge@3.0.2: - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - gaxios@6.7.1: dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 is-stream: 2.0.1 node-fetch: 2.7.0 uuid: 9.0.1 @@ -9145,8 +9053,6 @@ snapshots: has-flag@4.0.0: {} - has-unicode@2.0.1: {} - he@1.2.0: {} headers-polyfill@4.0.3: {} @@ -9230,7 +9136,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.1 + agent-base: 7.1.3 debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -9252,16 +9158,9 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - - https-proxy-agent@7.0.5: + https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.1 + agent-base: 7.1.3 debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -9528,7 +9427,7 @@ snapshots: form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.13 parse5: 7.2.1 @@ -9799,10 +9698,6 @@ snapshots: libmime: 5.3.6 libqp: 2.1.1 - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - make-dir@4.0.0: dependencies: semver: 7.6.3 @@ -10035,18 +9930,12 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - - minipass@5.0.0: {} - minipass@7.1.2: {} - minizlib@2.1.2: + minizlib@3.0.1: dependencies: - minipass: 3.3.6 - yallist: 4.0.0 + minipass: 7.1.2 + rimraf: 5.0.10 mitt@3.0.1: {} @@ -10055,7 +9944,7 @@ snapshots: for-in: 0.1.8 is-extendable: 0.1.1 - mkdirp@1.0.4: {} + mkdirp@3.0.1: {} mockdate@3.0.5: {} @@ -10097,7 +9986,7 @@ snapshots: mute-stream@1.0.0: {} - nanoid@3.3.7: {} + nanoid@3.3.8: {} narou@1.0.0: dependencies: @@ -10139,11 +10028,11 @@ snapshots: nodemailer@6.9.16: {} - nopt@5.0.0: + nopt@7.2.1: dependencies: - abbrev: 1.1.1 + abbrev: 2.0.0 - nopt@7.2.1: + nopt@8.0.0: dependencies: abbrev: 2.0.0 @@ -10167,13 +10056,6 @@ snapshots: dependencies: path-key: 4.0.0 - npmlog@5.0.1: - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - nth-check@1.0.2: dependencies: boolbase: 1.0.0 @@ -10188,8 +10070,6 @@ snapshots: oauth-sign@0.9.0: {} - object-assign@4.1.1: {} - ofetch@1.4.1: dependencies: destr: 2.0.3 @@ -10296,16 +10176,16 @@ snapshots: p-try@2.2.0: {} - pac-proxy-agent@7.0.2: + pac-proxy-agent@7.1.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.1 + agent-base: 7.1.3 debug: 4.3.7 get-uri: 6.0.3 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 pac-resolver: 7.0.1 - socks-proxy-agent: 8.0.4 + socks-proxy-agent: 8.0.5 transitivePeerDependencies: - supports-color @@ -10414,7 +10294,7 @@ snapshots: postcss@8.4.47: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.8 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -10476,21 +10356,21 @@ snapshots: proxy-agent@6.4.0: dependencies: - agent-base: 7.1.1 + agent-base: 7.1.3 debug: 4.3.7 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 lru-cache: 7.18.3 - pac-proxy-agent: 7.0.2 + pac-proxy-agent: 7.1.0 proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.4 + socks-proxy-agent: 8.0.5 transitivePeerDependencies: - supports-color proxy-chain@2.5.6: dependencies: socks: 2.8.3 - socks-proxy-agent: 8.0.4 + socks-proxy-agent: 8.0.5 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -10773,6 +10653,10 @@ snapshots: dependencies: glob: 7.2.3 + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + rollup@4.24.4: dependencies: '@types/estree': 1.0.6 @@ -10849,8 +10733,6 @@ snapshots: semver@7.6.3: {} - set-blocking@2.0.0: {} - shallow-clone@0.1.2: dependencies: is-extendable: 0.1.1 @@ -10895,9 +10777,9 @@ snapshots: map-obj: 4.3.0 to-snake-case: 1.0.0 - socks-proxy-agent@8.0.4: + socks-proxy-agent@8.0.5: dependencies: - agent-base: 7.1.1 + agent-base: 7.1.3 debug: 4.3.7 socks: 2.8.3 transitivePeerDependencies: @@ -11092,14 +10974,14 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.20.1 - tar@6.2.1: + tar@7.4.3: dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.1 + mkdirp: 3.0.1 + yallist: 5.0.0 telegram@2.26.8: dependencies: @@ -11161,11 +11043,11 @@ snapshots: tlds@1.255.0: {} - tldts-core@6.1.65: {} + tldts-core@6.1.66: {} - tldts@6.1.65: + tldts@6.1.66: dependencies: - tldts-core: 6.1.65 + tldts-core: 6.1.66 tmp@0.0.33: dependencies: @@ -11201,7 +11083,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.65 + tldts: 6.1.66 tr46@0.0.3: {} @@ -11412,7 +11294,7 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@5.1.3(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)): + vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)): dependencies: debug: 4.3.7 globrex: 0.1.2 @@ -11514,10 +11396,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - winston-transport@4.9.0: dependencies: logform: 2.7.0 @@ -11607,6 +11485,8 @@ snapshots: yallist@4.0.0: {} + yallist@5.0.0: {} + yaml-eslint-parser@1.2.3: dependencies: eslint-visitor-keys: 3.4.3