From 68a110994a69fc3a18e2a728eb46e47fa644ac46 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 20:27:29 +0800 Subject: [PATCH 01/25] fix(radar): link build-routes docs to the route namespace page The docs site only builds pages for namespace keys, so the category links written into radar-rules.json/js pointed at missing pages. 0a3a66a1c fixed the API rules; do the same for the build output. Refs #17785 --- scripts/workflow/build-routes.ts | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/scripts/workflow/build-routes.ts b/scripts/workflow/build-routes.ts index c4d244a2d0..3166f41781 100644 --- a/scripts/workflow/build-routes.ts +++ b/scripts/workflow/build-routes.ts @@ -40,25 +40,10 @@ const allRoutePaths = new Set(); // Use all namespaces for both regular and Worker builds. for (const namespace in namespaces) { const namespaceData = namespaces[namespace]; - let defaultCategory = namespaceData.categories?.[0]; - if (!defaultCategory) { - for (const path in namespaceData.routes) { - if (!namespaceData.routes[path].categories) { - continue; - } - - defaultCategory = namespaceData.routes[path].categories[0]; - break; - } - } - if (!defaultCategory) { - defaultCategory = 'other'; - } for (const path in namespaceData.routes) { const realPath = `/${namespace}${path}`; allRoutePaths.add(realPath); const data = namespaceData.routes[path]; - const categories = data.categories || namespaceData.categories || [defaultCategory]; // maintainers if (data.maintainers) { maintainers[realPath] = data.maintainers; @@ -82,7 +67,7 @@ for (const namespace in namespaces) { } radar[domain][subdomain].push({ title: radarItem.title || data.name, - docs: `https://docs.rsshub.app/routes/${categories[0]}`, + docs: `https://docs.rsshub.app/routes/${namespace}`, source: radarItem.source.map((source) => { const sourceURL = new URL('https://' + source); return sourceURL.pathname + sourceURL.search + sourceURL.hash; From 9071f933f1a68be38a3a169ebbb5280bf4f3ed66 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 21:31:43 +0800 Subject: [PATCH 02/25] style(route/seu): drop the case braces left by the switch autofix The Format workflow rewrote the if/else chain into a switch through unicorn prefer-switch, whose fixer adds braces to every case. The repo config sets unicorn/switch-case-braces to "avoid", and oxlint applies fixes in a single pass, so the braces were committed and every later Format run failed on them without being able to fix them. --- lib/routes/seu/yzb/index.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/routes/seu/yzb/index.ts b/lib/routes/seu/yzb/index.ts index 46f993a04c..4a68411227 100644 --- a/lib/routes/seu/yzb/index.ts +++ b/lib/routes/seu/yzb/index.ts @@ -73,31 +73,32 @@ function catalogJson(script: string, name: string): T { } else if (character === '"') { quoted = false; } - } else + } else { switch (character) { - case '"': { + case '"': quoted = true; break; - } + case '{': - case '[': { + case '[': depth++; break; - } + case '}': - case ']': { + case ']': depth--; if (depth === 0) { return JSON.parse(script.slice(start, index + 1)); } break; - } + default: // Do nothing } + } } throw new Error(`The admissions catalog contains incomplete ${name} data.`); } From 66411e5503c001ebcfe7e25e9d5ec2d01bbf0dfa Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 21:32:04 +0800 Subject: [PATCH 03/25] style(route/wordpress): drop the case braces left by the switch autofix Same autofix as in seu: the prefer-switch fixer left braced cases that unicorn/switch-case-braces "avoid" rejects. The Format workflow fixed these in its own checkout but stopped on the seu errors before committing, so lint without --fix still fails here. --- lib/routes/wordpress/util.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/routes/wordpress/util.ts b/lib/routes/wordpress/util.ts index 45180b5758..90907a8c4a 100644 --- a/lib/routes/wordpress/util.ts +++ b/lib/routes/wordpress/util.ts @@ -166,21 +166,21 @@ const bakeSiteSearchParams = (filterPairs: Record): continue; } switch (key) { - case 'category': { + case 'category': searchParams.set('cat', (value as Filter[]).map((pair) => pair.id).join(',')); break; - } - case 'tag': { + + case 'tag': searchParams.set('tag', (value as Filter[]).map((pair) => pair.slug).join(',')); break; - } - case 'search': { + + case 'search': searchParams.set('s', value.join(',')); break; - } + default: // Do nothing } From ca885902e6972adf8166e82942c027f3d456de67 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 22:45:11 +0800 Subject: [PATCH 04/25] feat(route/douban): follow the last page of long group topics Douban lists replies from oldest to newest, 100 per page, so the route only ever saw the first 100 replies of a long topic and missed every new one. When the topic has more than one page, fetch the page that the paginator's last link points to and use its replies instead. Reply links now open that page (with author=1 in author-only mode), while the guid keeps the old format so existing items are not duplicated. Closes #17743 --- lib/routes/douban/other/group-topic.ts | 56 +++++++++++++++++--------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/lib/routes/douban/other/group-topic.ts b/lib/routes/douban/other/group-topic.ts index 5c5796c56d..a59132cc54 100644 --- a/lib/routes/douban/other/group-topic.ts +++ b/lib/routes/douban/other/group-topic.ts @@ -1,3 +1,4 @@ +import type { CheerioAPI } from 'cheerio'; import { load } from 'cheerio'; import { config } from '@/config'; @@ -27,12 +28,29 @@ export const route: Route = { }, features: { antiCrawler: true, requireConfig: [{ name: 'DOUBAN_COOKIE', optional: true, description: '需要登录才能查看的帖子请配置本人豆瓣 Cookie。' }] }, radar: [{ source: ['www.douban.com/group/topic/:id'], target: '/group/topic/:id' }], - description: - '订阅主帖正文和源页面首屏回帖。主帖标题或正文改变时产生新 GUID,以供阅读器识别更新。只看楼主使用源站的 author=1 页面。源站回帖按从早到晚排序,因此长帖尾页的新回复尚不在本路由范围内。日期保留源站创建时间,不冒充最后更新时间。', + description: '订阅主帖正文和最新一页回帖。源站回帖按从早到晚排序,多页长帖取尾页的回帖。主帖标题或正文改变时产生新 GUID,以供阅读器识别更新。只看楼主使用源站的 author=1 页面。日期保留源站创建时间,不冒充最后更新时间。', handler, }; -export function parseGroupTopic(html: string, link: string): { title: string; item: DataItem[] } { +function parseReplies($: CheerioAPI, link: string, pageUrl = link): DataItem[] { + return $('#comments > .comment-item[id]') + .toArray() + .map((element): DataItem => { + const $reply = $(element); + const pubtime = /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})(?:\s+(\S.*))?$/.exec($reply.find('.pubtime').first().text()); + return { + title: $reply.find('.reply-content').text(), + description: $reply.find('.reply-content').html(), + link: `${pageUrl}#${$reply.attr('id')}`, + guid: `${link}#${$reply.attr('id')}`, + author: $reply.find('h4 > a').first().text(), + pubDate: pubtime ? timezone(parseDate(pubtime[1], 'YYYY-MM-DD HH:mm:ss'), 8) : undefined, + category: pubtime?.[2] ? [`IP属地:${pubtime[2]}`] : undefined, + }; + }); +} + +export function parseGroupTopic(html: string, link: string): { title: string; item: DataItem[]; lastPageStart?: string } { const $ = load(html); const title = $('h1').text(); const content = $('.topic-content .rich-content').html(); @@ -50,21 +68,10 @@ export function parseGroupTopic(html: string, link: string): { title: string; it category: ipLocation ? [`IP属地:${ipLocation}`] : undefined, guid: `${link}#content-${md5(`${title}\n${content}`)}`, }; - const replies = $('#comments > .comment-item[id]') - .toArray() - .map((element): DataItem => { - const $reply = $(element); - const pubtime = /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})(?:\s+(\S.*))?$/.exec($reply.find('.pubtime').first().text()); - return { - title: $reply.find('.reply-content').text(), - description: $reply.find('.reply-content').html(), - link: `${link}#${$reply.attr('id')}`, - author: $reply.find('h4 > a').first().text(), - pubDate: pubtime ? timezone(parseDate(pubtime[1], 'YYYY-MM-DD HH:mm:ss'), 8) : undefined, - category: pubtime?.[2] ? [`IP属地:${pubtime[2]}`] : undefined, - }; - }); - return { title, item: [post, ...replies] }; + // The last direct link of the paginator points to the last page + const lastPage = $('.paginator > a').last().attr('href'); + const lastPageStart = lastPage ? (new URL(lastPage, link).searchParams.get('start') ?? undefined) : undefined; + return { title, item: [post, ...parseReplies($, link)], lastPageStart }; } async function handler(ctx) { @@ -74,7 +81,16 @@ async function handler(ctx) { throw new InvalidParameterError('Use a numeric topic ID and all or author for the reply scope.'); } const link = `https://www.douban.com/group/topic/${id}/`; - const { data } = await got(link, { headers: { Cookie: config.douban.cookie }, searchParams: author === 'author' ? { author: 1 } : undefined }); + const headers = { Cookie: config.douban.cookie }; + const searchParams = author === 'author' ? { author: '1' } : undefined; + const { data } = await got(link, { headers, searchParams }); const result = parseGroupTopic(data, link); - return { title: `${result.title} - 豆瓣小组帖子`, link, item: result.item }; + let item = result.item; + if (result.lastPageStart) { + // Keep the post and replace the oldest replies with those on the last page + const pageUrl = `${link}?${new URLSearchParams({ ...searchParams, start: result.lastPageStart })}`; + const { data: lastPage } = await got(pageUrl, { headers }); + item = [item[0], ...parseReplies(load(lastPage), link, pageUrl)]; + } + return { title: `${result.title} - 豆瓣小组帖子`, link, item }; } From d7a84ed3c770de8a5f31a85e88ff865536d62bf7 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 22:56:37 +0800 Subject: [PATCH 05/25] feat(route/huggingface): add user posts activity Read the posts from the recent-activity API, as requested in the review of #23262. The profile page only server-renders the latest two posts, while the API returns the user's post activity without authentication. Keep the social-post entries (the activity also lists comments and reactions on other posts), render rawContent as Markdown and append the image and video attachments. Closes #23059 Co-authored-by: qqc20043 <147302501+qqc20043@users.noreply.github.com> --- lib/routes/huggingface/user-posts.ts | 91 ++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 lib/routes/huggingface/user-posts.ts diff --git a/lib/routes/huggingface/user-posts.ts b/lib/routes/huggingface/user-posts.ts new file mode 100644 index 0000000000..1d065fb175 --- /dev/null +++ b/lib/routes/huggingface/user-posts.ts @@ -0,0 +1,91 @@ +import MarkdownIt from 'markdown-it'; + +import type { DataItem, Route } from '@/types'; +import { ViewType } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +const md = MarkdownIt({ breaks: true, linkify: true }); + +interface SocialPost { + rawContent: string; + url: string; + publishedAt: string; + author: { + name: string; + fullname?: string; + }; + attachments?: Array<{ + type: string; + url: string; + }>; +} + +interface Activity { + type: string; + socialPost?: SocialPost; +} + +export const route: Route = { + path: '/activity/:user/posts', + categories: ['programming'], + view: ViewType.SocialMedia, + example: '/huggingface/activity/AbstractPhil/posts', + parameters: { + user: 'Hugging Face username', + }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['huggingface.co/:user/activity/posts'], + target: '/activity/:user/posts', + }, + ], + name: 'User Posts Activity', + maintainers: ['qqc20043', 'pseudoyu'], + handler, + url: 'huggingface.co', +}; + +async function handler(ctx) { + const { user } = ctx.req.param(); + const link = `https://huggingface.co/${user}/activity/posts`; + + const { recentActivity } = await ofetch<{ recentActivity: Activity[] }>('https://huggingface.co/api/recent-activity', { + query: { + feedType: 'user', + entity: user, + activityType: 'post', + limit: 100, + }, + }); + + // The post activity also lists the user's comments and reactions on other posts + const items: DataItem[] = recentActivity + .flatMap((activity) => (activity.type === 'social-post' && activity.socialPost ? [activity.socialPost] : [])) + .map((post) => ({ + title: post.rawContent.trim().split('\n', 1)[0], + description: + md.render(post.rawContent) + + (post.attachments ?? []) + .filter((attachment) => attachment.type === 'image' || attachment.type === 'video') + .map((attachment) => (attachment.type === 'video' ? `` : ``)) + .join(''), + link: `https://huggingface.co${post.url}`, + pubDate: parseDate(post.publishedAt), + author: post.author.fullname || post.author.name, + })); + + return { + title: `${user} - Posts Activity`, + link, + item: items, + }; +} From 09594934e212fe474d4f30854be29b64f163dc1f Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Wed, 14 Oct 2026 23:08:00 +0800 Subject: [PATCH 06/25] fix(route/telegram): fall back to the web preview on MTProto flood waits The MTProto path cached the resolved input entity for the default 5 minutes, so every process that started later or missed the cache called contacts.ResolveUsername again for each channel. That method is heavily rate limited, and once the account hit a flood wait the route failed with "A wait of N seconds is required" even for channels that the public web preview serves fine. Keep the channel ID and access hash for 30 days, since they do not change, and fall back to the web preview when MTProto raises a FloodWaitError. Other MTProto errors are still reported. Closes #20454 --- lib/routes/telegram/channel.ts | 12 +++++++++++- lib/routes/telegram/tglib/channel.ts | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/routes/telegram/channel.ts b/lib/routes/telegram/channel.ts index e619702a66..40e1a7c289 100644 --- a/lib/routes/telegram/channel.ts +++ b/lib/routes/telegram/channel.ts @@ -3,11 +3,13 @@ import querystring from 'node:querystring'; import { load } from 'cheerio'; import { FetchError } from 'ofetch'; import pMap from 'p-map'; +import { errors } from 'teleproto'; import { config } from '@/config'; import type { DataItem, Route } from '@/types'; import { ViewType } from '@/types'; import cache from '@/utils/cache'; +import logger from '@/utils/logger'; import ofetch from '@/utils/ofetch'; import { parseDate } from '@/utils/parse-date'; import { fallback, queryToBoolean } from '@/utils/readable-social'; @@ -159,7 +161,15 @@ When a reverse proxy removes a public URL prefix (for example, \`/rss\`), set it async function handler(ctx) { const useWeb = ctx.req.param('routeParams') || !config.telegram.session; if (!useWeb) { - return tglibchannel(ctx); + try { + return await tglibchannel(ctx); + } catch (error) { + // A flood wait blocks the account for minutes to hours, while the public web preview still works + if (!(error instanceof errors.FloodWaitError)) { + throw error; + } + logger.warn(`Telegram MTProto requires a wait of ${error.seconds} seconds, falling back to the web preview`); + } } const username = ctx.req.param('username'); diff --git a/lib/routes/telegram/tglib/channel.ts b/lib/routes/telegram/tglib/channel.ts index 25884e7449..9ef7a9f3f8 100644 --- a/lib/routes/telegram/tglib/channel.ts +++ b/lib/routes/telegram/tglib/channel.ts @@ -148,7 +148,8 @@ export default async function handler(ctx: Context) { if (!peerCache) { const p = await client.getInputEntity(username!); peerCache = JSON.stringify(p.toJSON()); - await cache.set(`telegram:inputEntity:${username}`, peerCache); + // The channel ID and access hash do not change, and contacts.ResolveUsername is heavily rate limited + await cache.set(`telegram:inputEntity:${username}`, peerCache, 30 * 24 * 60 * 60); } const peerData = JSON.parse(peerCache, (k, v) => (k === 'channelId' || k === 'accessHash' ? returnBigInt(v) : v)); const peer = new Api.InputPeerChannel(peerData); From 139b3a1fdd11657307d23542450636bcc85e11bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:47:14 +0000 Subject: [PATCH 07/25] chore(deps): bump p-map from 7.1.0 to 7.1.1 (#23576) Bumps [p-map](https://github.com/sindresorhus/p-map) from 7.1.0 to 7.1.1. - [Release notes](https://github.com/sindresorhus/p-map/releases) - [Commits](https://github.com/sindresorhus/p-map/compare/v7.1.0...v7.1.1) --- updated-dependencies: - dependency-name: p-map dependency-version: 7.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 238 ++++++++++++++++++++++++------------------------- 2 files changed, 120 insertions(+), 120 deletions(-) diff --git a/package.json b/package.json index f08ece1a85..a07a0f1201 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "ofetch": "1.5.1", "otplib": "13.5.0", "oxc-parser": "0.153.0", - "p-map": "7.1.0", + "p-map": "7.1.1", "pac-proxy-agent": "9.1.0", "patchright": "1.63.0", "postal-mime": "4.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4663a65b5c..ad7e589923 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,7 +88,7 @@ importers: version: 0.12.11(hono@4.13.13) '@sentry/node': specifier: 11.6.0 - version: 11.6.0(@babel/core@7.29.7)(rollup@4.64.3) + version: 11.6.0(@babel/core@7.29.7)(rollup@4.64.5) cheerio: specifier: 1.2.0 version: 1.2.0 @@ -192,8 +192,8 @@ importers: specifier: 0.153.0 version: 0.153.0 p-map: - specifier: 7.1.0 - version: 7.1.0 + specifier: 7.1.1 + version: 7.1.1 pac-proxy-agent: specifier: 9.1.0 version: 9.1.0 @@ -365,7 +365,7 @@ importers: version: 8.71.1(@typescript/typescript6@6.0.2)(eslint@10.12.0(jiti@2.7.0)) '@vercel/nft': specifier: 1.11.0 - version: 1.11.0(rollup@4.64.3) + version: 1.11.0(rollup@4.64.5) '@vitest/coverage-v8': specifier: 5.0.3 version: 5.0.3(vitest@5.0.3) @@ -2573,141 +2573,141 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.64.3': - resolution: {integrity: sha512-a31GFbL70GlGUGhn8goVjRLtdDG1urLCJFWLZ7JcxdHK9pPvCohLFtYLgJDdNbtrNZSrJl1u9bK05ISsSC2EpA==} + '@rollup/rollup-android-arm-eabi@4.64.5': + resolution: {integrity: sha512-MrfgRQSpD5hkkRg6XI16B6EDLb+6+xp8xje6bpdSwkYw+qxrBKbUVrRAQu9h82UT+QumSIVQ8HXsXjPd2dlhqw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.64.3': - resolution: {integrity: sha512-IRv757RLiPGlNxAX5JXU0eiUlUPvKiwFRbkqLd+gywptLK4uSEg1qkl6en6r0cXMazSnWUWOBABv+QfuLV3n5Q==} + '@rollup/rollup-android-arm64@4.64.5': + resolution: {integrity: sha512-+uu2p/R9Tzn8GpoQyX1pAo5dmKT1DhXevfaCzqzmPFhnLjHLWw7uWkaVGlxmhwYoRiYYhsGfRcD5cTBpL7rgSw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.64.3': - resolution: {integrity: sha512-UkzI35Fnz6+MJNATdnjnZ3TpdG/rXab8h7oDOD9R0zDVIFmuuYrvgUj8V8mh+A//+LR4TlEQo4ZW4RhyRtWv3A==} + '@rollup/rollup-darwin-arm64@4.64.5': + resolution: {integrity: sha512-17dys+YEmzwzzFVHQAVDONg5FALXY9kd99HFEpfk4gJVHYxoh5bGea3D4t1fXXnwkTcOe25wPyd6nWS0I8IdLQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.64.3': - resolution: {integrity: sha512-C3AyMtAnKQ/jSkZ0chIoWbPXRbFz8JnPLhl1ULecEhcaOGkT19xt7KmO8BulQxt9S/XideHRXvsVQUbGj4JCOg==} + '@rollup/rollup-darwin-x64@4.64.5': + resolution: {integrity: sha512-wg0zQEKkEvFZf1UaaX1UELOoPs//OSKUG7D+yITuqOsAvza7LvHTv5Wu4nmMfzNG7EYI2jp2PJC7Id6OETmsYQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.64.3': - resolution: {integrity: sha512-M8yAdBMyHh14JLeXDNGvEkljzuHdcoLBQ399O4Fp4nvX51lueuEY/5U2G9Ci0D6/bQlBp/3JLiBQH55STwwbwg==} + '@rollup/rollup-freebsd-arm64@4.64.5': + resolution: {integrity: sha512-CoJmWcpEMuwin+TZ/ev/H9uDyF/uxUKQSWXdmIPn/UBx/uGV9+4ebMp0FwnlhWR9PE1AdzYsKf3bZevhif38+A==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.64.3': - resolution: {integrity: sha512-WQjuOKGh2FN98ZK6i0uM6M6YqnPEds85p3oRkrxiEeTQo/p7RpuU8c9MwQ88LfgwVAzohumlzbQQSikz4Zw9rw==} + '@rollup/rollup-freebsd-x64@4.64.5': + resolution: {integrity: sha512-PxZnLAaTUAL5xG0W2BXLeYPKrK2b3LIASV2/e/Kf7PZvSLI1iAQIm9B9aJD+YyFIT7hc6qaMV3+OOO35R28LfA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.64.3': - resolution: {integrity: sha512-5tDLZG5s9WyVKoEHgwos6FpKrgpotl61EYeHSLSVkQzMzTsaClwEr8mok9rm3y734zjiGInG4dfw/56ebWVvEQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.64.5': + resolution: {integrity: sha512-uPo3IvnONjhbFXwWgroBeFwOicuhT7ZwQrnzkzmOtBJzeQbkUJUE1SJDfDI31ijQ5+ZUIA6sPrdUMxTSnxUWAg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.64.3': - resolution: {integrity: sha512-Mh5KbLeplM2HX6lQI18jsxSsqvPW8d+Hyk8HtY6Zl93woMitRSCZ92rBEzq6v8bfZGlpyMgj4P/sKW4KCjhH3A==} + '@rollup/rollup-linux-arm-musleabihf@4.64.5': + resolution: {integrity: sha512-ywI8Jyuc4LyHYTjC0mw4yA1ulvZBkHusdpWnoiEBsmBuHvSnt90btTBGCZ+s/2y+YNNfVAEKy33nPo5UI9zTmg==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.64.3': - resolution: {integrity: sha512-QZrrwHnznTv6y4iiHtCqDN+ZsF4qNFQObMOLgPrbxhh9O5o4rgoUe5OnkqG/ceCObMrAjhQt+eQ6HSDzBFgVMw==} + '@rollup/rollup-linux-arm64-gnu@4.64.5': + resolution: {integrity: sha512-tmuXJoQ/3ovSr637aykZMdQteU/CB2APAz2CrvsbibuoHZi1BS1Db13cVViBdEARGwXCLn1DSJ8wsjoThLJPGA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.64.3': - resolution: {integrity: sha512-4vLehpXSwlkltnvk5ETB+Hz+d3xayZS3NamZ5Vq4bSo+IUoIALovEJF1YgWPMjHwN7R5o/R4BpP9h3q8EK1xAA==} + '@rollup/rollup-linux-arm64-musl@4.64.5': + resolution: {integrity: sha512-5FMjSYNcUOHx7oW8Qu9KB6jGPpvF/8sG7+BDHwU/Ihh1/6FMJ9ySmsFG4tJ1qbNRuP8OLzCBDso4sF0mQaLuFQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.64.3': - resolution: {integrity: sha512-SEN7TTTOdXJKZmsWKOnQeVfgy3Dje/08ISXWwFhTggQ3SxjuIaChvmOB5ZDZqJNlBjaXrV6nAHraqEAvdLGqcw==} + '@rollup/rollup-linux-loong64-gnu@4.64.5': + resolution: {integrity: sha512-K8ZJ+neLDbUkIrL8dqF/5LtuVCrKwo27kREgOlxjBEjlOXwHvDnHLU8Z/UKv/B49qi7e8hsSDOyoJwhwqhvX4w==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.64.3': - resolution: {integrity: sha512-1LDsQMRMCEdGF9Dih5qyh6fF1LK3NnA+pAtE2+9AgZwUdXyd19TOBVC9crSB63iZBHR4vOG7h8gN/LcUH3J7xw==} + '@rollup/rollup-linux-loong64-musl@4.64.5': + resolution: {integrity: sha512-NlVxsq7PFPv0DBKGuNWRDKixQYQCjM53zl04mxEcKMBmJbCBIUm1JdPfIWDRHyOOFzzYPmLQzfeEwh4716ayQg==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.64.3': - resolution: {integrity: sha512-v3D2tAfRriqGOi+5Ac5CiYbBo2NXtLVxJlludTvUZRj502lVMFeVIuvvWbz4qCrotn3e3Uvpvh7FcMpG2QxxXQ==} + '@rollup/rollup-linux-ppc64-gnu@4.64.5': + resolution: {integrity: sha512-ARhRHJYs5eCFet5azfrHD97vOkD8OzNW2RSMlvo5CcBqXaTOLfp0OHDtUQh7/K5AL5fUYoFp2fgC9KDg4vVYMQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.64.3': - resolution: {integrity: sha512-db5q6dP189V2+JkMpsXBl8ym6bC0x8ydZ47fUJZ9YdM6T2OF5uqNzX9HaAZHRP/lqjA9bJeNwi0qw1/2/37dUA==} + '@rollup/rollup-linux-ppc64-musl@4.64.5': + resolution: {integrity: sha512-atSgreM5C7jpxd9aEXN+6vJ5wTd05iYw+S3FiQpw7VsoEl8B90llbq35ARON+GOHj5QlVQEq2vOKWCHTob/BSQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.64.3': - resolution: {integrity: sha512-nArAVDmrL5ix9UoipcKEsYJw4kMUQCIPYRWuYF2POOC7jd9rmN95d/48ewsYFC/OdtwEx6VYYWYxrp8FbMOU2Q==} + '@rollup/rollup-linux-riscv64-gnu@4.64.5': + resolution: {integrity: sha512-vmlmwBFGnjVWxSRoVabNkyYuscSmg52Pd0fM8jEbNT3Jmka4A6HcB84x4uAmuumznWfBVaxKOqU6jbEgomWKCA==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.64.3': - resolution: {integrity: sha512-2dc7LElu7EVSvpQT8epNnBLa02wlqilNYqHN0FA/RaKqCr9U9ZFYQ0Eh4sfgSzLneLDuJsJRjcezR/l2UyYGXA==} + '@rollup/rollup-linux-riscv64-musl@4.64.5': + resolution: {integrity: sha512-hhJrP6S9WkbsbcHgUkvCBS5Cn8IdsG8XjlLZyxjnv9+NdoYfbbZE4TWJYr8apdaj1M5t5Y1id2StnEslxpNFyA==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.64.3': - resolution: {integrity: sha512-9PYq2IEzSwXcvQLERcT9LKXRzw8J05GFTbJHA2anJR2WmlRjA1esgXVYhanp+bmjKsDVoZeU2L7Z2pRClLcZTw==} + '@rollup/rollup-linux-s390x-gnu@4.64.5': + resolution: {integrity: sha512-NNVCyN9pGrwFmQa4bf+Cnf5aVH3g6ZpnlOg1Cs/H9swIHT9bRixijfzUqyEIWm1WtiAuR1LJ+rJH6zpBm8kgQA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.64.3': - resolution: {integrity: sha512-vMh+mt0cw1BHldd8cqaU6A5s1W4EUKl6+8MRsv86mj954L4xyruKD7qPXMUI2icImadAZARK10h0onaGTLmCVg==} + '@rollup/rollup-linux-x64-gnu@4.64.5': + resolution: {integrity: sha512-dR9nd6OKnvSS60Ifz/L7Mj5zzYyoqyRn2NwTuaOONKaa3xsVGXyp8YusMbvFyEOR94DxnwgcbgsFqkHd29ZSzQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.64.3': - resolution: {integrity: sha512-PpiKU+sWbqDGc0U0su8oXiyeyqm0UQjmaaPKHktX+DaLe6YKJwW2YVD0f2AXHdVvblZbRqpwRVClWP2F5HCqrQ==} + '@rollup/rollup-linux-x64-musl@4.64.5': + resolution: {integrity: sha512-1tzsMjaqhsh3bAO6SJiJqh8hIr9sSPRd+i2vPPxJHod8/XYnf9TEnK0z/u3r1z1AkI347X0KbRSg9dWcxeGahw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.64.3': - resolution: {integrity: sha512-/3enY/AmaIt8IS0fWjX4ztYVPBqkj49cQTy/hCryhBFaEzDfJwwEolq9sxvyWAM2qmsmVuPdeRg5JXSrmeqvJg==} + '@rollup/rollup-openbsd-x64@4.64.5': + resolution: {integrity: sha512-01mWMQblKoXXsmk28KXtpbA96w7g/aOWUoV3AC16fdHdqkykGalqyyM+5u8M7uP5/MEMiiPv69Hv7iv/hEH/dA==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.64.3': - resolution: {integrity: sha512-zsEP/QDuet52hhwvi5T1VPg0/Tkms0m3zkVv7CPsznvhdO4pL4oJTMz26EJsiCe18OeLKPgpTu3XVO3C1eq3ew==} + '@rollup/rollup-openharmony-arm64@4.64.5': + resolution: {integrity: sha512-trdnMPb/DNm4V/CgsaoGgr90HfQQ071wfK0KoIs4YpLvjBgVQGXhGabg2Z6nK4EcYNilrb9ZZPcsP6+zpJIdxQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.64.3': - resolution: {integrity: sha512-4ESknW4Db+kqvazVOfsReYJaHxcIsOqcgwjKV2J1tG5Bn4RVf5ocTQKSGuq2HWBJcOLuyim8IWX8DuH6nKmELA==} + '@rollup/rollup-win32-arm64-msvc@4.64.5': + resolution: {integrity: sha512-x2LxZlfdfsw99T6/qb9EqE/Qi84JWzibjyOJyhJsgFJy6CafaTiqIXCCnslCGrV5XWNh7fwrS3FbRENcuKnooA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.64.3': - resolution: {integrity: sha512-3B8VCQyIyv7FQxYYhb3HpR3bIpronR20txjMSffSoz/sm/DDs3/49CFpEueOsvq9qW9sWoI/6pi6mtciD9NXFg==} + '@rollup/rollup-win32-ia32-msvc@4.64.5': + resolution: {integrity: sha512-/Qd/9aDQIo0+jmItgBmPIs8195YVbDxRRApn47GyufgbutCDOh7eP5vSKKlI4QNFeaI+wKQAkSMsPnF3EuMpaA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.64.3': - resolution: {integrity: sha512-YOoDkKh2oQxOxRB5D9AR8sj3qpMShpmyTkjojiBjMGigz3caV7UvCnXWWUQC0TBmrZ5zuHe2pWl8S+cMfvXzRg==} + '@rollup/rollup-win32-x64-gnu@4.64.5': + resolution: {integrity: sha512-ngUJ/XvOWrqbd2IMsfXfh2xXFLTP3sY7sCKvxbGvYdBZ1KmXFd3ewDZ9n3/GNzAUgzRuhLT/UvJRivbNoAQRBw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.64.3': - resolution: {integrity: sha512-qTv4bG+eKJKifzxNJevMUh8L6CjJrz9/Kn1IbP2F5bo0tBzNIR7HMg4vni6XmDzcKUl00lHHY+J5ZgjbGiujOQ==} + '@rollup/rollup-win32-x64-msvc@4.64.5': + resolution: {integrity: sha512-IhV6ew/DuzUWwHaYmlh7MrPCV3lKFUq/amTEwysi4r/mwNPAEfAMh5dYWeTSPTeMy2pFHGMEWYtPkHzfX3tG5A==} cpu: [x64] os: [win32] @@ -5254,8 +5254,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@7.1.0: - resolution: {integrity: sha512-HaSJ9hNZOxTUSATfB48Qi7U2+GF1eECjI39nkeLmCWQrSOYr1z4NepR0rpWiZO77pYwUWU2cJ5NIgsmoFCsYDQ==} + p-map@7.1.1: + resolution: {integrity: sha512-6Lh3jQPLthYujSrlw6ccWXBGZTkoTCz27Hd92g79LH/kjAbgoEu0t442cCCNbegPSJsA0lwDX8z0bcKtkpA32g==} engines: {node: '>=18'} pac-proxy-agent@9.1.0: @@ -5552,8 +5552,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.64.3: - resolution: {integrity: sha512-iIMWbptLYsZdGTJMH8ngApXdsCatE6bCMv2eqGIfGE1++kwh7TCWBdWKK0FKC0yx++196vGK5VdagzRXSLMa8A==} + rollup@4.64.5: + resolution: {integrity: sha512-EAP5ZHcz2ijbgCWwPkpI7zh6bfsri2Ez5FtCy2dCp1k62duXzfG7DLGGh7RU2QQXWwavT+u4qpvDF/TWOiiGTw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7907,87 +7907,87 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@rollup/pluginutils@5.4.0(rollup@4.64.3)': + '@rollup/pluginutils@5.4.0(rollup@4.64.5)': dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.7 optionalDependencies: - rollup: 4.64.3 + rollup: 4.64.5 - '@rollup/rollup-android-arm-eabi@4.64.3': + '@rollup/rollup-android-arm-eabi@4.64.5': optional: true - '@rollup/rollup-android-arm64@4.64.3': + '@rollup/rollup-android-arm64@4.64.5': optional: true - '@rollup/rollup-darwin-arm64@4.64.3': + '@rollup/rollup-darwin-arm64@4.64.5': optional: true - '@rollup/rollup-darwin-x64@4.64.3': + '@rollup/rollup-darwin-x64@4.64.5': optional: true - '@rollup/rollup-freebsd-arm64@4.64.3': + '@rollup/rollup-freebsd-arm64@4.64.5': optional: true - '@rollup/rollup-freebsd-x64@4.64.3': + '@rollup/rollup-freebsd-x64@4.64.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.64.3': + '@rollup/rollup-linux-arm-gnueabihf@4.64.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.64.3': + '@rollup/rollup-linux-arm-musleabihf@4.64.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.64.3': + '@rollup/rollup-linux-arm64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.64.3': + '@rollup/rollup-linux-arm64-musl@4.64.5': optional: true - '@rollup/rollup-linux-loong64-gnu@4.64.3': + '@rollup/rollup-linux-loong64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-loong64-musl@4.64.3': + '@rollup/rollup-linux-loong64-musl@4.64.5': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.64.3': + '@rollup/rollup-linux-ppc64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-ppc64-musl@4.64.3': + '@rollup/rollup-linux-ppc64-musl@4.64.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.64.3': + '@rollup/rollup-linux-riscv64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-riscv64-musl@4.64.3': + '@rollup/rollup-linux-riscv64-musl@4.64.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.64.3': + '@rollup/rollup-linux-s390x-gnu@4.64.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.64.3': + '@rollup/rollup-linux-x64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-x64-musl@4.64.3': + '@rollup/rollup-linux-x64-musl@4.64.5': optional: true - '@rollup/rollup-openbsd-x64@4.64.3': + '@rollup/rollup-openbsd-x64@4.64.5': optional: true - '@rollup/rollup-openharmony-arm64@4.64.3': + '@rollup/rollup-openharmony-arm64@4.64.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.64.3': + '@rollup/rollup-win32-arm64-msvc@4.64.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.64.3': + '@rollup/rollup-win32-ia32-msvc@4.64.5': optional: true - '@rollup/rollup-win32-x64-gnu@4.64.3': + '@rollup/rollup-win32-x64-gnu@4.64.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.64.3': + '@rollup/rollup-win32-x64-msvc@4.64.5': optional: true '@rss3/api-core@0.0.25': @@ -8043,7 +8043,7 @@ snapshots: domhandler: 5.0.3 selderee: 0.12.0 - '@sentry/bundler-plugins@11.6.0(@babel/core@7.29.7)(rollup@4.64.3)': + '@sentry/bundler-plugins@11.6.0(@babel/core@7.29.7)(rollup@4.64.5)': dependencies: '@sentry/core': 11.6.0 dotenv: 17.4.2 @@ -8054,7 +8054,7 @@ snapshots: supports-color: 8.1.1 optionalDependencies: '@babel/core': 7.29.7 - rollup: 4.64.3 + rollup: 4.64.5 '@sentry/conventions@0.26.0': {} @@ -8062,10 +8062,10 @@ snapshots: dependencies: '@sentry/conventions': 0.26.0 - '@sentry/node@11.6.0(@babel/core@7.29.7)(rollup@4.64.3)': + '@sentry/node@11.6.0(@babel/core@7.29.7)(rollup@4.64.5)': dependencies: '@opentelemetry/api': 1.9.1 - '@sentry/bundler-plugins': 11.6.0(@babel/core@7.29.7)(rollup@4.64.3) + '@sentry/bundler-plugins': 11.6.0(@babel/core@7.29.7)(rollup@4.64.5) '@sentry/conventions': 0.26.0 '@sentry/core': 11.6.0 '@sentry/opentelemetry': 11.6.0(@opentelemetry/api@1.9.1) @@ -8396,10 +8396,10 @@ snapshots: dependencies: '@typescript/old': typescript@6.0.3 - '@vercel/nft@1.11.0(rollup@4.64.3)': + '@vercel/nft@1.11.0(rollup@4.64.5)': dependencies: '@mapbox/node-pre-gyp': 2.0.3 - '@rollup/pluginutils': 5.4.0(rollup@4.64.3) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) acorn: 8.18.0 acorn-import-attributes: 1.9.5(acorn@8.18.0) async-sema: 3.1.1 @@ -10759,7 +10759,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.1.0: {} + p-map@7.1.1: {} pac-proxy-agent@9.1.0: dependencies: @@ -11089,36 +11089,36 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.13 '@rolldown/binding-win32-x64-msvc': 1.2.13 - rollup@4.64.3: + rollup@4.64.5: dependencies: '@types/estree': 1.0.9 optionalDependencies: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 - '@rollup/rollup-android-arm-eabi': 4.64.3 - '@rollup/rollup-android-arm64': 4.64.3 - '@rollup/rollup-darwin-arm64': 4.64.3 - '@rollup/rollup-darwin-x64': 4.64.3 - '@rollup/rollup-freebsd-arm64': 4.64.3 - '@rollup/rollup-freebsd-x64': 4.64.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.64.3 - '@rollup/rollup-linux-arm-musleabihf': 4.64.3 - '@rollup/rollup-linux-arm64-gnu': 4.64.3 - '@rollup/rollup-linux-arm64-musl': 4.64.3 - '@rollup/rollup-linux-loong64-gnu': 4.64.3 - '@rollup/rollup-linux-loong64-musl': 4.64.3 - '@rollup/rollup-linux-ppc64-gnu': 4.64.3 - '@rollup/rollup-linux-ppc64-musl': 4.64.3 - '@rollup/rollup-linux-riscv64-gnu': 4.64.3 - '@rollup/rollup-linux-riscv64-musl': 4.64.3 - '@rollup/rollup-linux-s390x-gnu': 4.64.3 - '@rollup/rollup-linux-x64-gnu': 4.64.3 - '@rollup/rollup-linux-x64-musl': 4.64.3 - '@rollup/rollup-openbsd-x64': 4.64.3 - '@rollup/rollup-openharmony-arm64': 4.64.3 - '@rollup/rollup-win32-arm64-msvc': 4.64.3 - '@rollup/rollup-win32-ia32-msvc': 4.64.3 - '@rollup/rollup-win32-x64-gnu': 4.64.3 - '@rollup/rollup-win32-x64-msvc': 4.64.3 + '@rollup/rollup-android-arm-eabi': 4.64.5 + '@rollup/rollup-android-arm64': 4.64.5 + '@rollup/rollup-darwin-arm64': 4.64.5 + '@rollup/rollup-darwin-x64': 4.64.5 + '@rollup/rollup-freebsd-arm64': 4.64.5 + '@rollup/rollup-freebsd-x64': 4.64.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.64.5 + '@rollup/rollup-linux-arm-musleabihf': 4.64.5 + '@rollup/rollup-linux-arm64-gnu': 4.64.5 + '@rollup/rollup-linux-arm64-musl': 4.64.5 + '@rollup/rollup-linux-loong64-gnu': 4.64.5 + '@rollup/rollup-linux-loong64-musl': 4.64.5 + '@rollup/rollup-linux-ppc64-gnu': 4.64.5 + '@rollup/rollup-linux-ppc64-musl': 4.64.5 + '@rollup/rollup-linux-riscv64-gnu': 4.64.5 + '@rollup/rollup-linux-riscv64-musl': 4.64.5 + '@rollup/rollup-linux-s390x-gnu': 4.64.5 + '@rollup/rollup-linux-x64-gnu': 4.64.5 + '@rollup/rollup-linux-x64-musl': 4.64.5 + '@rollup/rollup-openbsd-x64': 4.64.5 + '@rollup/rollup-openharmony-arm64': 4.64.5 + '@rollup/rollup-win32-arm64-msvc': 4.64.5 + '@rollup/rollup-win32-ia32-msvc': 4.64.5 + '@rollup/rollup-win32-x64-gnu': 4.64.5 + '@rollup/rollup-win32-x64-msvc': 4.64.5 fsevents: 2.3.3 rss-parser@3.13.0(patch_hash=afac79a31a3db94c953d49680bc5528468f051957d461e913d2e2dbf5cd22a8d): @@ -11656,7 +11656,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 postcss: 8.5.29 - rollup: 4.64.3 + rollup: 4.64.5 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.6.5 From 545d335cf519a3e120cc157041f51d9050063de0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:48:17 +0000 Subject: [PATCH 08/25] chore(deps): bump zod from 4.6.5 to 4.6.6 (#23579) Bumps [zod](https://github.com/colinhacks/zod) from 4.6.5 to 4.6.6. - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](https://github.com/colinhacks/zod/compare/v4.6.5...v4.6.6) --- updated-dependencies: - dependency-name: zod dependency-version: 4.6.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index a07a0f1201..c297952935 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "xxhash-wasm": "1.1.0", "youtube-caption-extractor": "1.10.2", "youtubei.js": "18.1.0", - "zod": "4.6.5" + "zod": "4.6.6" }, "devDependencies": { "@actions/core": "3.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad7e589923..89f5c9e864 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 2.1.4(hono@4.13.13) '@hono/zod-openapi': specifier: 1.6.3 - version: 1.6.3(hono@4.13.13)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.6) '@jocmp/mercury-parser': specifier: 3.1.1 version: 3.1.1 @@ -282,8 +282,8 @@ importers: specifier: 18.1.0 version: 18.1.0 zod: - specifier: 4.6.5 - version: 4.6.5 + specifier: 4.6.6 + version: 4.6.6 devDependencies: '@actions/core': specifier: 3.0.1 @@ -6373,6 +6373,9 @@ packages: zod@4.6.5: resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + zod@4.6.6: + resolution: {integrity: sha512-4UmzQUF5fxvfcYHlbjBmejU+w+hbDnWFx4aS8kBx7nPBHcO2SqPbpAG8snbdg+Xse4pRefR98hgjFgIMCI/UhA==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -6424,10 +6427,10 @@ snapshots: is-potential-custom-element-name: 1.0.1 lru-cache: 11.5.3 - '@asteasolutions/zod-to-openapi@9.1.0(zod@4.6.5)': + '@asteasolutions/zod-to-openapi@9.1.0(zod@4.6.6)': dependencies: openapi3-ts: 4.6.1 - zod: 4.6.5 + zod: 4.6.6 '@babel/code-frame@7.29.7': dependencies: @@ -6953,18 +6956,18 @@ snapshots: dependencies: hono: 4.13.13 - '@hono/zod-openapi@1.6.3(hono@4.13.13)(zod@4.6.5)': + '@hono/zod-openapi@1.6.3(hono@4.13.13)(zod@4.6.6)': dependencies: - '@asteasolutions/zod-to-openapi': 9.1.0(zod@4.6.5) - '@hono/zod-validator': 0.9.1(hono@4.13.13)(zod@4.6.5) + '@asteasolutions/zod-to-openapi': 9.1.0(zod@4.6.6) + '@hono/zod-validator': 0.9.1(hono@4.13.13)(zod@4.6.6) hono: 4.13.13 openapi3-ts: 4.6.1 - zod: 4.6.5 + zod: 4.6.6 - '@hono/zod-validator@0.9.1(hono@4.13.13)(zod@4.6.5)': + '@hono/zod-validator@0.9.1(hono@4.13.13)(zod@4.6.6)': dependencies: hono: 4.13.13 - zod: 4.6.5 + zod: 4.6.6 '@humanfs/core@0.19.2': dependencies: @@ -8029,7 +8032,7 @@ snapshots: '@scalar/helpers': 0.16.2 nanoid: 5.1.16 type-fest: 5.10.0 - zod: 4.6.5 + zod: 4.6.6 '@scalar/validation@0.6.6': {} @@ -11937,4 +11940,6 @@ snapshots: zod@4.6.5: {} + zod@4.6.6: {} + zwitch@2.0.4: {} From a0703c9e3a98a71cad44b75f92c8dee9b85e63b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:49:31 +0000 Subject: [PATCH 09/25] chore(deps-dev): bump tsdown from 0.23.0 to 0.23.1 (#23580) Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.23.0 to 0.23.1. - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](https://github.com/rolldown/tsdown/compare/v0.23.0...v0.23.1) --- updated-dependencies: - dependency-name: tsdown dependency-version: 0.23.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 368 +++++++++++++++++-------------------------------- 2 files changed, 126 insertions(+), 244 deletions(-) diff --git a/package.json b/package.json index c297952935..d14e6ccacc 100644 --- a/package.json +++ b/package.json @@ -201,7 +201,7 @@ "remark-pangu": "2.2.0", "remark-parse": "11.0.0", "rolldown": "1.2.13", - "tsdown": "0.23.0", + "tsdown": "0.23.1", "typescript": "npm:@typescript/typescript6@6.0.2", "typescript-7": "npm:typescript@7.0.2", "unified": "11.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 89f5c9e864..b26469f92a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -445,8 +445,8 @@ importers: specifier: 1.2.13 version: 1.2.13 tsdown: - specifier: 0.23.0 - version: 0.23.0(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(tsx@4.23.15)(unrun@0.3.1) + specifier: 0.23.1 + version: 0.23.1(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(tsx@4.23.15)(unrun@0.3.1) typescript: specifier: npm:@typescript/typescript6@6.0.2 version: '@typescript/typescript6@6.0.2' @@ -2462,8 +2462,8 @@ packages: '@protobufjs/utf8@1.1.2': resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} - '@quansync/fs@1.0.0': - resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@quansync/fs@1.1.0': + resolution: {integrity: sha512-qAPG/t3HqML1TlN7sY/pTbEjzFVAKsMjNNMGheyDosro+kT4iw2KCUoHcVdmliwWjorm4elZbgNQyU2eD97eDg==} '@rolldown/binding-android-arm-eabi@1.2.13': resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} @@ -3155,164 +3155,74 @@ packages: '@vitest/spy@5.0.3': resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} - '@yuku-codegen/binding-android-arm64@0.9.3': - resolution: {integrity: sha512-viote6xAyL5cKLquV2X2wRfopSckH+msDYbaI8Hh8JAaogYs8MJZVRUbSrbsY29TaPrIFZwNRwQ8+YSxs0dkGw==} + '@yuku-core/binding-android-arm64@0.19.0': + resolution: {integrity: sha512-wdL2XmTiZixAOaHk9Z0JJZ8u9Qm8d333Zjpc6gaxXFX+UR5BlsfxZ7a2+2Rm71pamppsPYGUGFq2oVLbh6DISw==} cpu: [arm64] os: [android] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-darwin-arm64@0.9.3': - resolution: {integrity: sha512-y2PGOLyxc724EJ+Et/5PxGfutQuV1Z2J9cxHo6W1I5CR3nk0i03J4yPrnw6rNJOfrtlISzcc7q0RrSyfPndpIg==} + '@yuku-core/binding-darwin-arm64@0.19.0': + resolution: {integrity: sha512-7sNJa6XJhyetnTy64jw3NEi4YgUcezHk1G5GH9FSvXAuC8wIlbaOwT9lgq5qo5sspjrZJQlBR1TWflP49uRpMw==} cpu: [arm64] os: [darwin] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-darwin-x64@0.9.3': - resolution: {integrity: sha512-xZ9UpXUOLmsrKVUp7MRXxWU3drNiilRC42OLpjWEhnOehIGVF1bZgzHcqRYJxVyU53RMrkRMsaxplkGd6Qo/ow==} + '@yuku-core/binding-darwin-x64@0.19.0': + resolution: {integrity: sha512-pTC7dYEc59isdyizc3nsuyFNBu2LU5wMYZ1be6UMr59PY/AJNtO1aBLWV0MgL/z7C1nv/2sX4TNjGgKLoeevJw==} cpu: [x64] os: [darwin] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-freebsd-x64@0.9.3': - resolution: {integrity: sha512-RGCYSZw3VonreVTpur9iOfnbMngR2/f7UOE7gwcDx5WoHjIhtmTK9EIq9qs78ARdMFAPzKp5OzHljl5QMaGJ7g==} + '@yuku-core/binding-freebsd-x64@0.19.0': + resolution: {integrity: sha512-xrZjF6XOEwyLOiDIfrwDdRCS6ghxcJeirNC1KivQhVcUwlRonaU79S3/Uiyx3lBylPnT8qKJ3/aMT+H52nGTJQ==} cpu: [x64] os: [freebsd] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-arm-gnu@0.9.3': - resolution: {integrity: sha512-kjIJIw39GSPTF0hnq+jnM0tR+J5WlariAAWetxMtawNskITDT1ZigaK3YF5hMhDz2mAofaM1t+63qtx+7aXjeg==} + '@yuku-core/binding-linux-arm-gnu@0.19.0': + resolution: {integrity: sha512-0OyIH53C0I1CbADHn9FSdCfX5qbpeLwJhmOVhonFJNYheybOnkSJ50qGMfTJIb8y5zrwqvLs7FVBvz6Fk8maZg==} cpu: [arm] os: [linux] libc: [glibc] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-arm-musl@0.9.3': - resolution: {integrity: sha512-TVHeVdzaS4ub86URrQufiy4t01ZtdyKDZ5sTPqWFKAUbQJ7rQ0o5vIT+/jCeHQbP+Yf9p5peRdmPbcZewoDNiA==} + '@yuku-core/binding-linux-arm-musl@0.19.0': + resolution: {integrity: sha512-z/iPfkCOCSXE34VXNt0uP1ORSW+4mEa9b5CiJcWZeqZH08g49bFU/jRM2T04f+Wpw5mJ6HIzNBiojxeAbrHjeg==} cpu: [arm] os: [linux] libc: [musl] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-arm64-gnu@0.9.3': - resolution: {integrity: sha512-9aQeeLh1qaCa2GcyzHnwLKGfFrsI+KOyhnh4+fICSq5kyhzCWQfXVCCK4RTEZPLcyuVwfN5Id0JEYavRN4oNTQ==} + '@yuku-core/binding-linux-arm64-gnu@0.19.0': + resolution: {integrity: sha512-jLNTi+gzaRwBJ+gwhCJ+rDb5dmx/8hEBx93UWd7hjMSqPTL1D1wvVSvXVAldV5kALvju7b0/m51EHEhs4+I1fA==} cpu: [arm64] os: [linux] libc: [glibc] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-arm64-musl@0.9.3': - resolution: {integrity: sha512-TLXA5Hd1nr8VSP2MtxcFddsBIHj+DPpyG5eberEGMATndgG7STlKQmle51MV0MZ8UgsdYM6CybIVpzlCPQwP9w==} + '@yuku-core/binding-linux-arm64-musl@0.19.0': + resolution: {integrity: sha512-YwyPIdW/rN2Fmv0MTFWi47FaB3F9g+2b+sJISyAw83Yd60RWH4T3Nx6XkAHHVN+uKJNBAd6So7/BVihSiFYvuQ==} cpu: [arm64] os: [linux] libc: [musl] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-x64-gnu@0.9.3': - resolution: {integrity: sha512-tk0BFbF3Clb9k9biPH3qmr+Qwk24rRM26+HY91hYXmZlzlepZG0scQ6OffZFWtzwKE5JjlZpMdcWj1lTiHbEjA==} + '@yuku-core/binding-linux-x64-gnu@0.19.0': + resolution: {integrity: sha512-/vskaAXVX3ESR43FiTdfiYS7z1b9uoQJwVQ/0RgUHgN2sWoAyCZs+aX4CgU7eKGIHTVfp9VFwv+c+2XchYiEtQ==} cpu: [x64] os: [linux] libc: [glibc] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-linux-x64-musl@0.9.3': - resolution: {integrity: sha512-xo+pXshsCXruEEkDMbwHqkeTyC4XHb6A6oXr6x2YK3jOMcS5kZz0e26BmTCr40J0nY/K3ysmwG9R1xHygtiuwQ==} + '@yuku-core/binding-linux-x64-musl@0.19.0': + resolution: {integrity: sha512-FuXL5igeSKib9Rye02TdH+D6SQezTyGxIATMu1Qsn/QywrzwpGl35OLpS2C1x5vpGLeVE2XgiLd5mVPFHmIglQ==} cpu: [x64] os: [linux] libc: [musl] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-win32-arm64@0.9.3': - resolution: {integrity: sha512-70gAQo6HZzMgIJTjeMZOEO2XaRj4GcNGP/n81R9tXQv0x8d4ZHnZDv+ygeWfHo+xchAUPwpnrVZA4p6RhJa3GQ==} + '@yuku-core/binding-win32-arm64@0.19.0': + resolution: {integrity: sha512-YuJAe7zEKT1Xa7LuHlhGJpPnYQeVtvo0rZvNjJRqkH0hQGOw4C8QeP30Tg5VKGzZfo2x8CjhjEhKt4TmLwfmdg==} cpu: [arm64] os: [win32] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-codegen/binding-win32-x64@0.9.3': - resolution: {integrity: sha512-7Hz3NGlq6qBBR8zMEk6GMZivofNjnYZpMXSoUwUgz9Ur2LaivuP23HQh0ern+T6HVkTJEvilw4VJrg1rX1Ugcg==} + '@yuku-core/binding-win32-x64@0.19.0': + resolution: {integrity: sha512-o8iY/mXwlRkedp0LNTr4+TEfXTPQwoNZmv6k+1WIAd1ZXEn8xJJTBCtB0osaVvdZo/x/cNmV16UrWrrGpM5Mvw==} cpu: [x64] os: [win32] - deprecated: yuku-codegen is pure JavaScript since 0.14 - '@yuku-parser/binding-android-arm64@0.9.3': - resolution: {integrity: sha512-z3tDGTaUXD5Q4IuebFOY/QHxhR/SqujMhkMv9C5bh25upyFEXdafp0MsXQIIheWhVZzn5VMOniyxFni/7s9LgQ==} - cpu: [arm64] - os: [android] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-darwin-arm64@0.9.3': - resolution: {integrity: sha512-hzKvKSKS7z3ufnu1VkQYEoxmS6A5uNnkwukKnc2atxpWdq648nLVOqut4h1jUXjbM2WcoTfuZLF6AHAGFf8cmg==} - cpu: [arm64] - os: [darwin] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-darwin-x64@0.9.3': - resolution: {integrity: sha512-OM2PiVlPATvzlj/KGHNlu+t8FC3YzM5joVNjhsz/EaigQ8x2UUQ1Q0agQLiv5GZ2L8TSzrLUwBCZ7YOvP8q+tw==} - cpu: [x64] - os: [darwin] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-freebsd-x64@0.9.3': - resolution: {integrity: sha512-WMn9M4LHNVysGNwsAJ9gpRPqQIW2lcPrDNGcyk0agx3IYqCJq1MQugh6Be8Otc5U08eGdE39o8Kx9YWJmXz7GA==} - cpu: [x64] - os: [freebsd] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-arm-gnu@0.9.3': - resolution: {integrity: sha512-vqKjwiyW1FWvbykYMEQIcAJwA17WxK3rxxqDuyCvQwcNVaLEUxI4BXiUdlF3kHucc7MnoFQhoRPkySgOzlLM+Q==} - cpu: [arm] - os: [linux] - libc: [glibc] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-arm-musl@0.9.3': - resolution: {integrity: sha512-qohilhYOT+zkt2gYzym4F1T6BzRdvPqS9/sFB03pmnVV8LrvjOXVsGwEBAa3CEvzJKhAZjdTmVz7zsVdjyHWLg==} - cpu: [arm] - os: [linux] - libc: [musl] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-arm64-gnu@0.9.3': - resolution: {integrity: sha512-tvTIyUvTGkeee68i4JIo9o27As+Ug6LXOZvElGgFbTs6+KBdb5LGhvugaIQljdfIsm2XnIbOLG6OnQSXHMLB9w==} - cpu: [arm64] - os: [linux] - libc: [glibc] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-arm64-musl@0.9.3': - resolution: {integrity: sha512-OWZBHW1wuChBpFlrF+On1yiBcFPMRrj2g0VKsM/PCBGffu1OM0ORkS+vLS3Snu6wYwndM5Dd9Ctvux6eUlrQjA==} - cpu: [arm64] - os: [linux] - libc: [musl] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-x64-gnu@0.9.3': - resolution: {integrity: sha512-/tbk1h0dlADOCngbiQO9V3SHwBIJkoGBq8BDEraSw2CC3nGxPEPTCCYUDp5738Ij2FxVwy1FWVuhFkHvpMrPbQ==} - cpu: [x64] - os: [linux] - libc: [glibc] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-linux-x64-musl@0.9.3': - resolution: {integrity: sha512-u3+0sCso/mcjDvtc3866D2giV7l34PDyDVBkMesAWa3DWbIWPlybehi2SSnmScgArV22ctqSSgUzdBBVJ6zYAg==} - cpu: [x64] - os: [linux] - libc: [musl] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-win32-arm64@0.9.3': - resolution: {integrity: sha512-xnGEvdhyjRkXozHtpXVpEEkyGZWAxJ3RoILv7XRV5SvTEztaTCk5GQyfcOzI9An/EJtcL4ERCI8QmS0TpDPJiA==} - cpu: [arm64] - os: [win32] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-parser/binding-win32-x64@0.9.3': - resolution: {integrity: sha512-N5eShGcuwnrXEprePFmEjtng6acZmtnC4zgazK9xxkavcx1q1uX8Nz8lU5RS973EMlNr902cIc6Cd2D4tqZDBg==} - cpu: [x64] - os: [win32] - deprecated: yuku-parser runs on yuku-core since 0.14 - - '@yuku-toolchain/types@0.9.3': - resolution: {integrity: sha512-rFE+5P4g2wxko5C85MugJOlVjBHEQq87dIkhLkniLXLp63PEtgaFjD954i5HXlfnyzLxPcZHsSOVDVgmo1HToA==} + '@yuku-toolchain/types@0.19.0': + resolution: {integrity: sha512-tFkNbsP4WXX9UMUC5syJGdK9dPMLK0PPaIuXCcCYH75sZ8MrebfBZ2XvCILRTw8AgLivSSCfDa4R67iYBDa4Kg==} '@zone-eu/mailsplit@5.4.20': resolution: {integrity: sha512-6B2w0zRBWOwbO5h7SL5N/2z1AuNchTP3OT33MObUr4/cz9bWPrZ6KadLKxnSrOZG0AGu7Q03p4X7eQhZHc1u/A==} @@ -3512,8 +3422,8 @@ packages: resolution: {integrity: sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==} engines: {node: '>=20'} - cac@7.0.0: - resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + cac@7.0.1: + resolution: {integrity: sha512-86diuUyeeWM8CrqhpGCaDafrzjS1s++7sWy2AbAPoFNz/xKv7ID57CR4pZsMuGCh60PtsnEx4z68b+Vgt07VPw==} engines: {node: '>=20.19.0'} cacheable-lookup@7.0.0: @@ -3905,8 +3815,8 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - empathic@2.0.1: - resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + empathic@2.1.0: + resolution: {integrity: sha512-AnfC1ATldl49/cvZdLPDjBfrRNwbDO05aibiOtzQu3qtlbJtomNLhF30HEtn/7iBz50dlMECqATo3fG0LrdEgw==} engines: {node: '>=14'} enabled@2.0.0: @@ -4355,8 +4265,8 @@ packages: resolution: {integrity: sha512-CQ46U0ZkAGmbT/4UxdzzGJpacP2IeKgY4a5/tOI9AABbpOMfK739wfDXmv1usCk+3RkKj1hQy4/fjhiwa2xlrA==} engines: {node: '>=16.9.0'} - hookable@6.1.1: - resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + hookable@6.1.2: + resolution: {integrity: sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg==} hookified@1.15.1: resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} @@ -4443,8 +4353,8 @@ packages: resolution: {integrity: sha512-LPGu9fJrh2shAZteYV7PNcpYLspCrrvoEDiy037K8D7JSgSEnJz79KZeprnBhd0FODjfdR7w+mk0dVQiYPWKMA==} engines: {node: '>=20.0.0'} - import-without-cache@0.4.0: - resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + import-without-cache@0.4.1: + resolution: {integrity: sha512-vXoV9PjKHEednCUu01e98TkImxy67e3BJXbTIOmIq4Hyzw3IAwYRcuPkfeTzJzwyyts4kjuA73x+pWJLc4f86A==} engines: {node: ^22.18.0 || >=24.0.0} imurmurhash@0.1.4: @@ -5152,6 +5062,10 @@ packages: resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} engines: {node: '>=12.20.0'} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} + engines: {node: '>=12.20.0'} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} @@ -5528,12 +5442,13 @@ packages: rfc4648@1.5.4: resolution: {integrity: sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg==} - rolldown-plugin-dts@0.28.5: - resolution: {integrity: sha512-yYd3C9CeJwqjOc9X23m0Tyxcqic491uLZlfg51szT287S8zCCqLR2uoySoElgqy2CLn7PdXcEo1dlkBs4n1WHg==} + rolldown-plugin-dts@0.28.8: + resolution: {integrity: sha512-FVhfqxorCWcc20BVT5eVRfRjzLLl6mgzjcMR4gSBf0K4oQMXT0qoHhhzfXy0L7y83fQy7Ug5ZDNk90xM3/LiCQ==} engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} peerDependencies: '@typescript/native-preview': '*' '@volar/typescript': ~2.4.0 + '@vue/language-core': ~3.2.0 || ~3.3.0 rolldown: ^1.2.0 typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 vue-tsc: ~3.2.0 || ~3.3.0 @@ -5542,6 +5457,8 @@ packages: optional: true '@volar/typescript': optional: true + '@vue/language-core': + optional: true typescript: optional: true vue-tsc: @@ -5842,14 +5759,14 @@ packages: ts-case-convert@2.3.1: resolution: {integrity: sha512-Y/HgigFuL6gqw7brjoRWdFDDUc1R5N7+yoxw2AAZ/9tL5bj0HfSFf008oHFNq2nEcCBF9a1nSeddRMTA9sOO7w==} - tsdown@0.23.0: - resolution: {integrity: sha512-BaT+ep1xnj5hdyICLd5r5SYYE+TXnI1ATePLykv9vcKpHpFTWUWRH+x1AF/E2qcu3YB6+vI8IdyxIIIffEqw5Q==} + tsdown@0.23.1: + resolution: {integrity: sha512-MSC2WSOts3in95J334/VIS7KPfor3eCSvndJ6KdoVj9Aak9Kh1aNfz9ws5owhdukuTNSXRdfkPEzA/ihpDD6SA==} engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.23.0 - '@tsdown/exe': 0.23.0 + '@tsdown/css': 0.23.1 + '@tsdown/exe': 0.23.1 '@vitejs/devtools': '*' publint: ^0.3.8 tsx: '*' @@ -6063,8 +5980,8 @@ packages: resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} engines: {node: '>=0.10.0'} - verkit@0.4.0: - resolution: {integrity: sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==} + verkit@0.5.0: + resolution: {integrity: sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==} engines: {node: '>=18.12.0'} verror@1.10.0: @@ -6361,14 +6278,21 @@ packages: youtubei.js@18.1.0: resolution: {integrity: sha512-4Goo3ZeO6/kE8Mq67eC8Z9K1rijeqRwyKxf/YM4lqf8bB4r/s8JC0V3YFx7+l/AJR3LnAsulTsiIj+AFe0cduA==} - yuku-ast@0.9.3: - resolution: {integrity: sha512-Kt0PXlPCXdKF1fWFTl7N3DaxsVk6DHF8VAXHJMkwPtJnWYgbx20pYgGSweuC/86mIM7k1NUITQ4JffgOLUWTCw==} + yuku-ast@0.19.0: + resolution: {integrity: sha512-PyCsiScaelhxBGzL8dyeJkLqvRZycoh78R31Vrt/WqYrm0hMFoKwIw/X7Dx5mBKLWAMlV9I9HEyBOHnj2gZVyw==} + engines: {node: '>=14.18.0'} - yuku-codegen@0.9.3: - resolution: {integrity: sha512-7oTWwetHiMSyrVPFb8089lBBqkU1gaeQZyumNBJ0t5hocMQRaWhnMeSXTz7J1xm/rcw9+ePsajORdZbub2C35w==} + yuku-codegen@0.19.0: + resolution: {integrity: sha512-uymAKHjDuaP4BEpkXC/BSLz4DUEF5oArZ5AuD3888nb2miChjWSgpPdojEJxm3pjpXkgUaCRJQyNAbnMN33wHg==} + engines: {node: '>=14.18.0'} - yuku-parser@0.9.3: - resolution: {integrity: sha512-96wPoHnwaXfkZv7UIOUkDb+s7ZH8lv8Qtg+MxdvHUV1LFa5jV9iKOaams1942YQt+krFQrWiD6lSg2ermv5kHA==} + yuku-core@0.19.0: + resolution: {integrity: sha512-kYK9e1XdfirNhkipzW0wmMcSWcVF/CWnuugodfVYRCUwvoBefweL9HzB96OiKEhsx78V5WbUxbJqlizMX869Qg==} + engines: {node: '>=14.18.0'} + + yuku-parser@0.19.0: + resolution: {integrity: sha512-XrBh9ZiQK5mJVRxZBAvD6LwRyAYrK3MFtH3+onyuxFL5hFD44EC3QOmIC1FjTj6H2MMwq46/NAI+NZxLZPZgxg==} + engines: {node: '>=14.18.0'} zod@4.6.5: resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} @@ -7859,7 +7783,7 @@ snapshots: '@protobufjs/utf8@1.1.2': {} - '@quansync/fs@1.0.0': + '@quansync/fs@1.1.0': dependencies: quansync: 1.0.0 @@ -8448,79 +8372,43 @@ snapshots: '@vitest/spy@5.0.3': {} - '@yuku-codegen/binding-android-arm64@0.9.3': + '@yuku-core/binding-android-arm64@0.19.0': optional: true - '@yuku-codegen/binding-darwin-arm64@0.9.3': + '@yuku-core/binding-darwin-arm64@0.19.0': optional: true - '@yuku-codegen/binding-darwin-x64@0.9.3': + '@yuku-core/binding-darwin-x64@0.19.0': optional: true - '@yuku-codegen/binding-freebsd-x64@0.9.3': + '@yuku-core/binding-freebsd-x64@0.19.0': optional: true - '@yuku-codegen/binding-linux-arm-gnu@0.9.3': + '@yuku-core/binding-linux-arm-gnu@0.19.0': optional: true - '@yuku-codegen/binding-linux-arm-musl@0.9.3': + '@yuku-core/binding-linux-arm-musl@0.19.0': optional: true - '@yuku-codegen/binding-linux-arm64-gnu@0.9.3': + '@yuku-core/binding-linux-arm64-gnu@0.19.0': optional: true - '@yuku-codegen/binding-linux-arm64-musl@0.9.3': + '@yuku-core/binding-linux-arm64-musl@0.19.0': optional: true - '@yuku-codegen/binding-linux-x64-gnu@0.9.3': + '@yuku-core/binding-linux-x64-gnu@0.19.0': optional: true - '@yuku-codegen/binding-linux-x64-musl@0.9.3': + '@yuku-core/binding-linux-x64-musl@0.19.0': optional: true - '@yuku-codegen/binding-win32-arm64@0.9.3': + '@yuku-core/binding-win32-arm64@0.19.0': optional: true - '@yuku-codegen/binding-win32-x64@0.9.3': + '@yuku-core/binding-win32-x64@0.19.0': optional: true - '@yuku-parser/binding-android-arm64@0.9.3': - optional: true - - '@yuku-parser/binding-darwin-arm64@0.9.3': - optional: true - - '@yuku-parser/binding-darwin-x64@0.9.3': - optional: true - - '@yuku-parser/binding-freebsd-x64@0.9.3': - optional: true - - '@yuku-parser/binding-linux-arm-gnu@0.9.3': - optional: true - - '@yuku-parser/binding-linux-arm-musl@0.9.3': - optional: true - - '@yuku-parser/binding-linux-arm64-gnu@0.9.3': - optional: true - - '@yuku-parser/binding-linux-arm64-musl@0.9.3': - optional: true - - '@yuku-parser/binding-linux-x64-gnu@0.9.3': - optional: true - - '@yuku-parser/binding-linux-x64-musl@0.9.3': - optional: true - - '@yuku-parser/binding-win32-arm64@0.9.3': - optional: true - - '@yuku-parser/binding-win32-x64@0.9.3': - optional: true - - '@yuku-toolchain/types@0.9.3': {} + '@yuku-toolchain/types@0.19.0': {} '@zone-eu/mailsplit@5.4.20': dependencies: @@ -8682,7 +8570,7 @@ snapshots: byte-counter@0.1.0: {} - cac@7.0.0: {} + cac@7.0.1: {} cacheable-lookup@7.0.0: {} @@ -9046,7 +8934,7 @@ snapshots: emoji-regex@8.0.0: {} - empathic@2.0.1: {} + empathic@2.1.0: {} enabled@2.0.0: {} @@ -9633,7 +9521,7 @@ snapshots: hono@4.13.13: {} - hookable@6.1.1: {} + hookable@6.1.2: {} hookified@1.15.1: {} @@ -9743,7 +9631,7 @@ snapshots: pino: 10.3.1 socks: 2.8.10 - import-without-cache@0.4.0: {} + import-without-cache@0.4.1: {} imurmurhash@0.1.4: {} @@ -10562,6 +10450,8 @@ snapshots: obug@2.1.4: {} + obug@3.0.0: {} + ofetch@1.5.1: dependencies: destr: 2.0.5 @@ -11057,15 +10947,15 @@ snapshots: rfc4648@1.5.4: {} - rolldown-plugin-dts@0.28.5(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(rolldown@1.2.13): + rolldown-plugin-dts@0.28.8(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(rolldown@1.2.13): dependencies: dts-resolver: 3.0.0(oxc-resolver@11.24.2) get-tsconfig: 5.0.0-beta.6 - obug: 2.1.4 + obug: 3.0.0 rolldown: 1.2.13 - yuku-ast: 0.9.3 - yuku-codegen: 0.9.3 - yuku-parser: 0.9.3 + yuku-ast: 0.19.0 + yuku-codegen: 0.19.0 + yuku-parser: 0.19.0 optionalDependencies: typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: @@ -11416,22 +11306,22 @@ snapshots: ts-case-convert@2.3.1: {} - tsdown@0.23.0(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(tsx@4.23.15)(unrun@0.3.1): + tsdown@0.23.1(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(tsx@4.23.15)(unrun@0.3.1): dependencies: - cac: 7.0.0 + cac: 7.0.1 defu: 6.1.7 - empathic: 2.0.1 - hookable: 6.1.1 - import-without-cache: 0.4.0 - obug: 2.1.4 + empathic: 2.1.0 + hookable: 6.1.2 + import-without-cache: 0.4.1 + obug: 3.0.0 picomatch: 4.0.7 rolldown: 1.2.13 - rolldown-plugin-dts: 0.28.5(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(rolldown@1.2.13) + rolldown-plugin-dts: 0.28.8(@typescript/typescript6@6.0.2)(oxc-resolver@11.24.2)(rolldown@1.2.13) tinyexec: 1.3.1 tinyglobby: 0.2.17 tree-kill: 1.2.2 unconfig-core: 7.5.0 - verkit: 0.4.0 + verkit: 0.5.0 optionalDependencies: tsx: 4.23.15 typescript: '@typescript/typescript6@6.0.2' @@ -11439,6 +11329,7 @@ snapshots: transitivePeerDependencies: - '@typescript/native-preview' - '@volar/typescript' + - '@vue/language-core' - oxc-resolver - vue-tsc @@ -11511,7 +11402,7 @@ snapshots: unconfig-core@7.5.0: dependencies: - '@quansync/fs': 1.0.0 + '@quansync/fs': 1.1.0 quansync: 1.0.0 undici-types@8.10.2: {} @@ -11626,7 +11517,7 @@ snapshots: vali-date@1.0.0: {} - verkit@0.4.0: {} + verkit@0.5.0: {} verror@1.10.0: dependencies: @@ -11899,44 +11790,35 @@ snapshots: fflate: 0.8.3 meriyah: 7.3.3 - yuku-ast@0.9.3: + yuku-ast@0.19.0: dependencies: - '@yuku-toolchain/types': 0.9.3 + '@yuku-toolchain/types': 0.19.0 - yuku-codegen@0.9.3: + yuku-codegen@0.19.0: dependencies: - '@yuku-toolchain/types': 0.9.3 - optionalDependencies: - '@yuku-codegen/binding-android-arm64': 0.9.3 - '@yuku-codegen/binding-darwin-arm64': 0.9.3 - '@yuku-codegen/binding-darwin-x64': 0.9.3 - '@yuku-codegen/binding-freebsd-x64': 0.9.3 - '@yuku-codegen/binding-linux-arm-gnu': 0.9.3 - '@yuku-codegen/binding-linux-arm-musl': 0.9.3 - '@yuku-codegen/binding-linux-arm64-gnu': 0.9.3 - '@yuku-codegen/binding-linux-arm64-musl': 0.9.3 - '@yuku-codegen/binding-linux-x64-gnu': 0.9.3 - '@yuku-codegen/binding-linux-x64-musl': 0.9.3 - '@yuku-codegen/binding-win32-arm64': 0.9.3 - '@yuku-codegen/binding-win32-x64': 0.9.3 + '@yuku-toolchain/types': 0.19.0 - yuku-parser@0.9.3: + yuku-core@0.19.0: dependencies: - '@yuku-toolchain/types': 0.9.3 - yuku-ast: 0.9.3 + '@yuku-toolchain/types': 0.19.0 optionalDependencies: - '@yuku-parser/binding-android-arm64': 0.9.3 - '@yuku-parser/binding-darwin-arm64': 0.9.3 - '@yuku-parser/binding-darwin-x64': 0.9.3 - '@yuku-parser/binding-freebsd-x64': 0.9.3 - '@yuku-parser/binding-linux-arm-gnu': 0.9.3 - '@yuku-parser/binding-linux-arm-musl': 0.9.3 - '@yuku-parser/binding-linux-arm64-gnu': 0.9.3 - '@yuku-parser/binding-linux-arm64-musl': 0.9.3 - '@yuku-parser/binding-linux-x64-gnu': 0.9.3 - '@yuku-parser/binding-linux-x64-musl': 0.9.3 - '@yuku-parser/binding-win32-arm64': 0.9.3 - '@yuku-parser/binding-win32-x64': 0.9.3 + '@yuku-core/binding-android-arm64': 0.19.0 + '@yuku-core/binding-darwin-arm64': 0.19.0 + '@yuku-core/binding-darwin-x64': 0.19.0 + '@yuku-core/binding-freebsd-x64': 0.19.0 + '@yuku-core/binding-linux-arm-gnu': 0.19.0 + '@yuku-core/binding-linux-arm-musl': 0.19.0 + '@yuku-core/binding-linux-arm64-gnu': 0.19.0 + '@yuku-core/binding-linux-arm64-musl': 0.19.0 + '@yuku-core/binding-linux-x64-gnu': 0.19.0 + '@yuku-core/binding-linux-x64-musl': 0.19.0 + '@yuku-core/binding-win32-arm64': 0.19.0 + '@yuku-core/binding-win32-x64': 0.19.0 + + yuku-parser@0.19.0: + dependencies: + '@yuku-toolchain/types': 0.19.0 + yuku-core: 0.19.0 zod@4.6.5: {} From ec79d479bc54be59df79248651adf52be90c61c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:50:14 +0000 Subject: [PATCH 10/25] chore(deps): bump uuid from 14.0.2 to 14.0.3 (#23578) Bumps [uuid](https://github.com/uuidjs/uuid) from 14.0.2 to 14.0.3. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](https://github.com/uuidjs/uuid/compare/v14.0.2...v14.0.3) --- updated-dependencies: - dependency-name: uuid dependency-version: 14.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d14e6ccacc..5ecd230705 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "twitter-api-v2": "1.29.1", "ufo": "1.6.4", "undici": "8.11.2", - "uuid": "14.0.2", + "uuid": "14.0.3", "vm2": "3.12.2", "winston": "3.19.0", "x-client-transaction-id": "0.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b26469f92a..71e96589f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -261,8 +261,8 @@ importers: specifier: 8.11.2 version: 8.11.2 uuid: - specifier: 14.0.2 - version: 14.0.2 + specifier: 14.0.3 + version: 14.0.3 vm2: specifier: 3.12.2 version: 3.12.2 @@ -5967,8 +5967,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@14.0.2: - resolution: {integrity: sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==} + uuid@14.0.3: + resolution: {integrity: sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==} hasBin: true uuid@8.3.2: @@ -11511,7 +11511,7 @@ snapshots: util-deprecate@1.0.2: {} - uuid@14.0.2: {} + uuid@14.0.3: {} uuid@8.3.2: {} From 84c4a11e0e30d126e14eb3a701dacd4f7fd1abc8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:50:44 +0000 Subject: [PATCH 11/25] chore(deps-dev): bump oxlint-tsgolint (#23583) Bumps the oxc group with 1 update: [oxlint-tsgolint](https://github.com/oxc-project/tsgolint). Updates `oxlint-tsgolint` from 7.0.2003 to 7.0.2004 - [Release notes](https://github.com/oxc-project/tsgolint/releases) - [Commits](https://github.com/oxc-project/tsgolint/compare/v7.0.2003...v7.0.2004) --- updated-dependencies: - dependency-name: oxlint-tsgolint dependency-version: 7.0.2004 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: oxc ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 64 +++++++++++++++++++++++++------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index 5ecd230705..7cb70424a2 100644 --- a/package.json +++ b/package.json @@ -195,7 +195,7 @@ "oxfmt": "0.72.0", "oxlint": "1.87.0", "oxlint-plugin-eslint": "1.87.0", - "oxlint-tsgolint": "7.0.2003", + "oxlint-tsgolint": "7.0.2004", "remark": "15.0.1", "remark-gfm": "4.0.1", "remark-pangu": "2.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71e96589f0..ceef375914 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -422,13 +422,13 @@ importers: version: 0.72.0 oxlint: specifier: 1.87.0 - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.87.0(oxlint-tsgolint@7.0.2004) oxlint-plugin-eslint: specifier: 1.87.0 version: 1.87.0 oxlint-tsgolint: - specifier: 7.0.2003 - version: 7.0.2003 + specifier: 7.0.2004 + version: 7.0.2004 remark: specifier: 15.0.1 version: 15.0.1 @@ -2256,33 +2256,33 @@ packages: cpu: [x64] os: [win32] - '@oxlint-tsgolint/darwin-arm64@7.0.2003': - resolution: {integrity: sha512-TgV33rXr6ueXBwvc+0nssUkTBSXHJxv77I8p4RCjDjCnvexHtmoPiudVRDfj3S3puMDdeQdHW6jdUgUPy3nr/w==} + '@oxlint-tsgolint/darwin-arm64@7.0.2004': + resolution: {integrity: sha512-uJk3ttju7Lz+Nv8WG4CsLyewoL1qf/Ny8S8OksJ7Bm/F14Tc9gMfW6arM1PCc57IzH/X/I79YsCWTgxX1FKibQ==} cpu: [arm64] os: [darwin] - '@oxlint-tsgolint/darwin-x64@7.0.2003': - resolution: {integrity: sha512-hY3FMAjIaPDdK3FNxyRXRfHPOFeoBn6dmnLyKZgQ2IbTTD1adXhl6PfCIqHhCPvurigv7nf7mYuWZZ19MmJzmg==} + '@oxlint-tsgolint/darwin-x64@7.0.2004': + resolution: {integrity: sha512-0BFfHTzDxNDFPcu0UZAXT6CyCJHAXM0dZveyDb4KEHa2qF/DSnOKOrmvK/wFuFol9kvijbGM9JfuOsor+zWXRw==} cpu: [x64] os: [darwin] - '@oxlint-tsgolint/linux-arm64@7.0.2003': - resolution: {integrity: sha512-eAET4JpyfBbg8SO0K74o4R55tEjVC292pIyxGOw2XGf8x/HrPNyxwQ478jMYOM54FIVOHc8sJ6VRHxluy6lucw==} + '@oxlint-tsgolint/linux-arm64@7.0.2004': + resolution: {integrity: sha512-TAehQc+qdRXyDN3nl/r/3/oPrBVrbtrDeGMkFyG6mf+XphpoJ2lAMVFLclyvrVZCw02RbKROjyw8h72XwQQHcw==} cpu: [arm64] os: [linux] - '@oxlint-tsgolint/linux-x64@7.0.2003': - resolution: {integrity: sha512-GXdyO/XyqDJ3s/llR/oOktLsYNjZtWSQBy0JMc+/0gsNPvTcseKPhn9c6KcFyWmnr6H4vljYALbujonqSzzEGw==} + '@oxlint-tsgolint/linux-x64@7.0.2004': + resolution: {integrity: sha512-LPunZvm6ZbWPfHMAyfZf9ci3HHvNEzLejO8zdqO3GoVGoSEHqqufHUD7+OgeatVSaJP7uXDJ2HaNOHIoH7go4Q==} cpu: [x64] os: [linux] - '@oxlint-tsgolint/win32-arm64@7.0.2003': - resolution: {integrity: sha512-TWauXnPfet0VgpmrstoAK58eJ4gbuwPUuUTQmYQAzE/RG1CpnxXtrKUJULf6lyerPE4KN3gM+DflIA1hOH+38Q==} + '@oxlint-tsgolint/win32-arm64@7.0.2004': + resolution: {integrity: sha512-FVWplzDImWhiuawnIZVETaQecv4GWom6Jv4Fx2xj7hhXXDZ5okEgiw1gTCImHTIQsi2ycC5oSxVwrn69bMh7iw==} cpu: [arm64] os: [win32] - '@oxlint-tsgolint/win32-x64@7.0.2003': - resolution: {integrity: sha512-DoRmfe7j8VqNlukp8liRVW45GQDhzRccNenjD/pdzelgtffW47pCMd1xbJLkPaPbKnTwID3onn3VZlL7JbebEA==} + '@oxlint-tsgolint/win32-x64@7.0.2004': + resolution: {integrity: sha512-7PsxuUx11Ry9DYTWcljTzRbmZY9B6O9fFFfZV+aodQEMy6pfRT3fhoQRv9PtGN/89z1pPz3nFKrsFm6WqNtX7w==} cpu: [x64] os: [win32] @@ -5139,8 +5139,8 @@ packages: resolution: {integrity: sha512-EiIglWDc5jqP56sRSHWusLvAoEDWL8vi00WvkMaZYKi9ofF5BtQ4iaBa6DU+cXT4oY89xIgUZ3k8li4IO1JMVQ==} engines: {node: ^20.19.0 || >=22.12.0} - oxlint-tsgolint@7.0.2003: - resolution: {integrity: sha512-VnK4zlqgmgq/7ZcjzCk/WpN8kKFsYGcB85Io9qT3wL4K8Un3RKmJkp793crNETieMusPMKOA4a+Mw2wbteI6TQ==} + oxlint-tsgolint@7.0.2004: + resolution: {integrity: sha512-vQ9WDF3fiZJvRdSDosNOflerOCOpwol6vWzVDxW76RcU19cjTh7engvkHLvmv+tzedR8fAiJUVUGr6IVZdkzXQ==} hasBin: true oxlint@1.87.0: @@ -7655,22 +7655,22 @@ snapshots: '@oxfmt/binding-win32-x64-msvc@0.72.0': optional: true - '@oxlint-tsgolint/darwin-arm64@7.0.2003': + '@oxlint-tsgolint/darwin-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/darwin-x64@7.0.2003': + '@oxlint-tsgolint/darwin-x64@7.0.2004': optional: true - '@oxlint-tsgolint/linux-arm64@7.0.2003': + '@oxlint-tsgolint/linux-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/linux-x64@7.0.2003': + '@oxlint-tsgolint/linux-x64@7.0.2004': optional: true - '@oxlint-tsgolint/win32-arm64@7.0.2003': + '@oxlint-tsgolint/win32-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/win32-x64@7.0.2003': + '@oxlint-tsgolint/win32-x64@7.0.2004': optional: true '@oxlint/binding-android-arm-eabi@1.87.0': @@ -10610,16 +10610,16 @@ snapshots: oxlint-plugin-eslint@1.87.0: {} - oxlint-tsgolint@7.0.2003: + oxlint-tsgolint@7.0.2004: optionalDependencies: - '@oxlint-tsgolint/darwin-arm64': 7.0.2003 - '@oxlint-tsgolint/darwin-x64': 7.0.2003 - '@oxlint-tsgolint/linux-arm64': 7.0.2003 - '@oxlint-tsgolint/linux-x64': 7.0.2003 - '@oxlint-tsgolint/win32-arm64': 7.0.2003 - '@oxlint-tsgolint/win32-x64': 7.0.2003 + '@oxlint-tsgolint/darwin-arm64': 7.0.2004 + '@oxlint-tsgolint/darwin-x64': 7.0.2004 + '@oxlint-tsgolint/linux-arm64': 7.0.2004 + '@oxlint-tsgolint/linux-x64': 7.0.2004 + '@oxlint-tsgolint/win32-arm64': 7.0.2004 + '@oxlint-tsgolint/win32-x64': 7.0.2004 - oxlint@1.87.0(oxlint-tsgolint@7.0.2003): + oxlint@1.87.0(oxlint-tsgolint@7.0.2004): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.87.0 '@oxlint/binding-android-arm64': 1.87.0 @@ -10640,7 +10640,7 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.87.0 '@oxlint/binding-win32-ia32-msvc': 1.87.0 '@oxlint/binding-win32-x64-msvc': 1.87.0 - oxlint-tsgolint: 7.0.2003 + oxlint-tsgolint: 7.0.2004 p-cancelable@4.0.1: {} From fafa10b08e7a16b56e20256de99e8264648c3756 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:53:37 +0000 Subject: [PATCH 12/25] chore(deps-dev): bump msw (#23581) Bumps the msw group with 1 update in the / directory: [msw](https://github.com/mswjs/msw). Updates `msw` from 3.0.2 to 3.0.3 - [Release notes](https://github.com/mswjs/msw/releases) - [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md) - [Commits](https://github.com/mswjs/msw/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: msw dependency-version: 3.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: msw ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index 7cb70424a2..4f5ede3152 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "globals": "17.13.0", "js-beautify": "2.0.3", "mockdate": "3.0.5", - "msw": "3.0.2", + "msw": "3.0.3", "node-network-devtools": "1.0.30", "oxfmt": "0.72.0", "oxlint": "1.87.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ceef375914..f8038258f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -412,8 +412,8 @@ importers: specifier: 3.0.5 version: 3.0.5 msw: - specifier: 3.0.2 - version: 3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: 3.0.3 + version: 3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) node-network-devtools: specifier: 1.0.30 version: 1.0.30(undici@8.11.2)(utf-8-validate@5.0.10) @@ -464,7 +464,7 @@ importers: version: 7.0.0-alpha.3(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) vitest: specifier: 5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) wrangler: specifier: 4.149.0 version: 4.149.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -1377,8 +1377,8 @@ packages: resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} - '@inquirer/ansi@2.0.8': - resolution: {integrity: sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==} + '@inquirer/ansi@2.0.9': + resolution: {integrity: sha512-0Ywt3S8tqM6TWUcsRlBFQ1x+X3/o8kktX0ZiKAnByYb9GFDknnOhse1PVtfiD2BXPI8ar+BWx9PV9R0lQIcygw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} '@inquirer/checkbox@4.3.2': @@ -1399,8 +1399,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@6.3.2': - resolution: {integrity: sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==} + '@inquirer/confirm@6.3.3': + resolution: {integrity: sha512-ImOBgpl/sJTFp8naeSkNu4S0Sf8F8pxv3/CUx+LoBAdQvCVqFz6rSB2A/oZYsJge3+yphbEDxEkfaRNYq1OU0A==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1417,8 +1417,8 @@ packages: '@types/node': optional: true - '@inquirer/core@12.0.3': - resolution: {integrity: sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==} + '@inquirer/core@12.0.4': + resolution: {integrity: sha512-M5fB67y7jPObI45vhD82RskWwCSm0scOvenV/I6K8tIi2gfr9DXqQqJ+iw+Wi6SgapikdOiJibYzz1gW47fsDg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1452,8 +1452,8 @@ packages: '@types/node': optional: true - '@inquirer/type@4.1.1': - resolution: {integrity: sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==} + '@inquirer/type@4.2.0': + resolution: {integrity: sha512-2rnHX8RPo4glJYqnFc/v3nQeIhDcjyRRyaT7MGcfL/8xv/8K03SXYoA2tX06WVSKywWOE/ncbG3dtuzLjR5TCQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -4925,8 +4925,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@3.0.2: - resolution: {integrity: sha512-/74rddlgCmlHvrXUkuYKoUjDJTiP4Nrz2uyIpOTLtxJNCS+2yY+DlLfzzRUc61cvRjCo6Jvi2+vRNZyZQa1j4A==} + msw@3.0.3: + resolution: {integrity: sha512-hsXUCt2gK12q1IUBY9VmMun+yC60eEpVzegAFN5aGZbXhrGqtgPARVWn2ew4mezYvk1G8yhFha9myGSyRyRGWg==} engines: {node: '>=22.12.0'} hasBin: true peerDependencies: @@ -5514,8 +5514,8 @@ packages: engines: {node: '>=20.0'} hasBin: true - set-cookie-parser@3.1.2: - resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} + set-cookie-parser@3.1.3: + resolution: {integrity: sha512-xletSdAI5efyVJjsatBbzDkXl3M/Zmad3xfnQe7ZXuBB0yNwW7C2WFsNGjdRNfZunmNHQuX79xs/ACMTLCdcew==} sharp@0.35.5: resolution: {integrity: sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==} @@ -6562,7 +6562,7 @@ snapshots: cjs-module-lexer: 1.2.3 esbuild: 0.28.2 miniflare: 5.20261006.1-alpha(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) - vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) wrangler: 4.149.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) zod: 4.6.5 transitivePeerDependencies: @@ -7017,7 +7017,7 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/ansi@2.0.8': {} + '@inquirer/ansi@2.0.9': {} '@inquirer/checkbox@4.3.2(@types/node@26.6.5)': dependencies: @@ -7036,10 +7036,10 @@ snapshots: optionalDependencies: '@types/node': 26.6.5 - '@inquirer/confirm@6.3.2(@types/node@26.6.5)': + '@inquirer/confirm@6.3.3(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.4(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 @@ -7056,11 +7056,11 @@ snapshots: optionalDependencies: '@types/node': 26.6.5 - '@inquirer/core@12.0.3(@types/node@26.6.5)': + '@inquirer/core@12.0.4(@types/node@26.6.5)': dependencies: - '@inquirer/ansi': 2.0.8 + '@inquirer/ansi': 2.0.9 '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 @@ -7086,7 +7086,7 @@ snapshots: optionalDependencies: '@types/node': 26.6.5 - '@inquirer/type@4.1.1(@types/node@26.6.5)': + '@inquirer/type@4.2.0(@types/node@26.6.5)': optionalDependencies: '@types/node': 26.6.5 @@ -8352,7 +8352,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/istanbul-lib-coverage@1.0.2': {} @@ -8360,14 +8360,14 @@ snapshots: dependencies: '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/mocker@5.0.3(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitest/mocker@5.0.3(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 magic-string: 1.4.2 optionalDependencies: - msw: 3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + msw: 3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) vite: 7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1) '@vitest/spy@5.0.3': {} @@ -9513,7 +9513,7 @@ snapshots: headers-polyfill@5.0.1: dependencies: '@types/set-cookie-parser': 2.4.10 - set-cookie-parser: 3.1.2 + set-cookie-parser: 3.1.3 heap@0.2.7: {} @@ -10337,9 +10337,9 @@ snapshots: ms@2.1.3: {} - msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)): + msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: - '@inquirer/confirm': 6.3.2(@types/node@26.6.5) + '@inquirer/confirm': 6.3.3(@types/node@26.6.5) '@msw/url': 0.1.2 '@mswjs/interceptors': 0.45.7 cookie: 2.0.1 @@ -11054,7 +11054,7 @@ snapshots: sentry@0.45.0: {} - set-cookie-parser@3.1.2: {} + set-cookie-parser@3.1.3: {} sharp@0.35.5(@types/node@26.6.5): dependencies: @@ -11560,10 +11560,10 @@ snapshots: tsx: 4.23.15 yaml: 2.9.1 - vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)): + vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(msw@3.0.2(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/mocker': 5.0.3(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 From 39855738d0bad550c9ae6c7a2da99efef28e2d7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 01:16:30 +0800 Subject: [PATCH 13/25] chore(deps): bump nixpkgs from `e7439b6` to `6510408` in the nix group (#23577) Bumps the nix group with 1 update: [nixpkgs](https://github.com/NixOS/nixpkgs). Updates `nixpkgs` from `e7439b6` to `6510408` - [Commits](https://github.com/NixOS/nixpkgs/compare/e7439b6b14ad3cc35d05608ebca9bce01a25f5f8...6510408d147d8c5e6d76043e899e9251756f6a75) --- updated-dependencies: - dependency-name: nixpkgs dependency-version: 6510408d147d8c5e6d76043e899e9251756f6a75 dependency-type: direct:production dependency-group: nix ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8bb311ab9d..b2b000854e 100644 --- a/flake.lock +++ b/flake.lock @@ -278,11 +278,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1791456040, - "narHash": "sha256-H83yz/do+hjOO0uujHyH8RgtIQP2v7Mw+cLwcZK/xKc=", + "lastModified": 1791594108, + "narHash": "sha256-XK4KceonkwD8LuMAt/vNrz982mXJM5jeHAxMwsUXXAQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e7439b6b14ad3cc35d05608ebca9bce01a25f5f8", + "rev": "6510408d147d8c5e6d76043e899e9251756f6a75", "type": "github" }, "original": { From afef350fe1d7c9c32662d8366455e5cc057f6b2b Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 02:46:47 +0800 Subject: [PATCH 14/25] fix(ci): keep fixing until the auto format result passes lint oxlint applies fixes in a single pass and reports the problems it saw before fixing, so a fix that creates a new problem still exits 0. In 60dd77d75 the prefer-switch fix left an unbraced `else switch` with braced cases, the bot committed it, and every later Format run failed on code it could no longer fix in one pass. After `npm run format`, repeat oxlint --fix and oxfmt on the changed files until they stop changing, then lint them without --fix so the job fails instead of committing what lint rejects. Pushes without fixes skip the loop. Remove the step once oxlint applies fixes recursively (oxc-project/oxc#16118). --- .github/workflows/format.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index e3edb6fb37..ef6de919ce 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -23,6 +23,24 @@ jobs: - run: pnpm i - run: npm run format:description - run: npm run format + # oxlint applies fixes in a single pass, so a fix can leave problems that only the next pass fixes or reports + # Repeat on the changed files until they stop changing, and fail instead of committing what lint rejects + # https://github.com/oxc-project/oxc/issues/16118 + - name: Apply chained fixes + run: | + files=() + while IFS= read -r file; do files+=("$file"); done < <(git diff --name-only -- '*.js' '*.mjs' '*.ts' '*.tsx') + if [ ${#files[@]} -gt 0 ]; then + for _ in 1 2 3 4 5; do + before=$(git diff | git hash-object --stdin) + pnpm exec oxlint --type-aware --fix "${files[@]}" || true + pnpm exec oxfmt "${files[@]}" + if [ "$(git diff | git hash-object --stdin)" = "$before" ]; then + break + fi + done + pnpm exec oxlint --type-aware "${files[@]}" + fi - name: Commit files run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" From 8f7d4292620b805bd8fa7e682f662608f026b737 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 02:53:22 +0800 Subject: [PATCH 15/25] feat(route/ps): add game price The old product route read Sony's Valkyrie API, which now returns 404, so PlayStation Store prices had no route since it was removed. Concept and product pages still embed the store's Apollo cache, with each edition, its SKUs and the purchase buttons that carry the price. List every edition for a concept ID, or the one product for a product ID, priced from the button whose upsell service is NONE, since the default button can be a PlayStation Plus catalog or trial offer. The guid includes the base price, the discounted price and the offer end, so each price change becomes a new item. Closes #1110 --- lib/routes/ps/price.tsx | 132 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 lib/routes/ps/price.tsx diff --git a/lib/routes/ps/price.tsx b/lib/routes/ps/price.tsx new file mode 100644 index 0000000000..1fd693514e --- /dev/null +++ b/lib/routes/ps/price.tsx @@ -0,0 +1,132 @@ +import { load } from 'cheerio'; +import { renderToString } from 'hono/jsx/dom/server'; + +import InvalidParameterError from '@/errors/types/invalid-parameter'; +import NotFoundError from '@/errors/types/not-found'; +import type { DataItem, Route } from '@/types'; +import { ViewType } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +interface Price { + basePrice: string; + discountedPrice: string; + endTime: string | null; +} + +// The fields this route reads from the store's Apollo cache entries +interface CacheEntry { + name?: string; + products?: Array<{ __ref: string }>; + edition?: { name: string } | null; + platforms?: string[]; + skus?: Array<{ __ref: string }>; + media?: Array<{ role: string; url: string }>; + action?: { param: Array<{ name: string; value: string }> }; + meta?: { upSellService: string }; + price?: Price; + local?: { discountBadgeText?: string; lowestRecentPrice?: string }; +} + +export const route: Route = { + path: '/price/:id/:locale?', + categories: ['game'], + view: ViewType.Notifications, + example: '/ps/price/10001538', + parameters: { + id: 'Concept or product ID from the store URL, such as `10001538` in `https://store.playstation.com/en-us/concept/10001538`', + locale: 'Store locale from the URL, `en-us` by default', + }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['store.playstation.com/:locale/concept/:id', 'store.playstation.com/:locale/product/:id'], + target: '/price/:id/:locale', + }, + ], + name: 'Game Price', + maintainers: ['pseudoyu'], + handler, + url: 'store.playstation.com', + description: 'A concept ID lists every edition of the game, and a product ID lists only that product. A new item appears whenever the price or the end of the offer changes. PlayStation Plus prices and trials are not included.', +}; + +const renderDescription = (product: CacheEntry, price: Price, local: CacheEntry['local'], image?: string) => + renderToString( + <> + {image ? : null} +

{[product.edition?.name, product.platforms?.join(' / ')].filter(Boolean).join(' · ')}

+

+ {price.discountedPrice} + {price.basePrice === price.discountedPrice ? null : ( + <> + {' '} + {price.basePrice} {local?.discountBadgeText} + + )} +

+ {price.endTime ?

Offer ends {parseDate(Number(price.endTime)).toUTCString()}

: null} + {local?.lowestRecentPrice ?

{local.lowestRecentPrice}

: null} + + ); + +async function handler(ctx) { + const { id, locale = 'en-us' } = ctx.req.param(); + if (!/^[\w-]+$/.test(id) || !/^[a-z]{2}(?:-[a-z]{2,4}){1,2}$/.test(locale)) { + throw new InvalidParameterError('Use the concept or product ID and the locale, such as en-us, from a PlayStation Store URL.'); + } + const type = /^\d+$/.test(id) ? 'concept' : 'product'; + const link = `https://store.playstation.com/${locale}/${type}/${id}`; + const html = await ofetch(link); + const $ = load(html); + + // The page embeds several Apollo cache snapshots, each holding part of every entity + const cache = new Map(); + for (const element of $('script[id^="env:"]').toArray()) { + const snapshot = Object.entries(JSON.parse($(element).text()).cache ?? {}); + for (const [key, value] of snapshot) { + cache.set(key, { ...cache.get(key), ...value }); + } + } + const target = cache.get(type === 'concept' ? `Concept:${id}` : `Product:${id}`); + if (!target?.name) { + throw new NotFoundError(`The PlayStation Store has no ${type} ${id} in ${locale}.`); + } + + const ctas = [...cache].filter(([key]) => key.startsWith('GameCTA:')).map(([, value]) => value); + const keys = type === 'concept' ? (target.products ?? []).map((ref) => ref.__ref) : [`Product:${id}`]; + const items = keys.flatMap((key): DataItem[] => { + const product = cache.get(key); + const skus = new Set(product?.skus?.map((ref) => ref.__ref.replace('Sku:', ''))); + // PlayStation Plus upsells such as catalog access or trials are not a purchase price + const cta = ctas.find((value) => value.meta?.upSellService === 'NONE' && skus.has(value.action?.param.find((param) => param.name === 'skuId')?.value ?? '')); + if (!product?.name || !cta?.price) { + return []; + } + const price = cta.price; + const productLink = `https://store.playstation.com/${locale}/product/${key.replace('Product:', '')}`; + const image = (product.media?.find((media) => media.role === 'EDITION_KEY_ART') ?? product.media?.find((media) => media.role === 'MASTER'))?.url; + return [ + { + title: `${product.name} ${price.discountedPrice}`, + description: renderDescription(product, price, cta.local, image), + link: productLink, + guid: `${productLink}#${price.basePrice}-${price.discountedPrice}-${price.endTime ?? ''}`, + image, + }, + ]; + }); + + return { + title: `${target.name} - PlayStation Store`, + link, + item: items, + }; +} From b37d6c9eb0b426e469206b2eb5be3a5a43e0ed39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 03:07:24 +0800 Subject: [PATCH 16/25] chore(deps-dev): bump @cloudflare/workers-types (#23575) Bumps the cloudflare group with 1 update in the / directory: [@cloudflare/workers-types](https://github.com/cloudflare/workerd). Updates `@cloudflare/workers-types` from 5.20261009.1 to 5.20261011.1 - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) --- updated-dependencies: - dependency-name: "@cloudflare/workers-types" dependency-version: 5.20261011.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: cloudflare ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 4f5ede3152..7286821504 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "@cloudflare/containers": "0.3.7", "@cloudflare/playwright": "1.3.6", "@cloudflare/vitest-plugin": "1.4.0", - "@cloudflare/workers-types": "5.20261009.1", + "@cloudflare/workers-types": "5.20261011.1", "@eslint/js": "10.0.1", "@j178/prek": "0.5.5", "@mswjs/interceptors": "0.45.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8038258f3..d1e5b86110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -302,10 +302,10 @@ importers: version: 1.3.6 '@cloudflare/vitest-plugin': specifier: 1.4.0 - version: 1.4.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3) + version: 1.4.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3) '@cloudflare/workers-types': - specifier: 5.20261009.1 - version: 5.20261009.1 + specifier: 5.20261011.1 + version: 5.20261011.1 '@eslint/js': specifier: 10.0.1 version: 10.0.1(eslint@10.12.0(jiti@2.7.0)) @@ -467,7 +467,7 @@ importers: version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) wrangler: specifier: 4.149.0 - version: 4.149.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.1.0 version: 2.1.0 @@ -713,8 +713,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@5.20261009.1': - resolution: {integrity: sha512-Oa/7pS2upeCKG0lEvPSGHLK8B8sx3lPanEaXDlOj13H6HfZV5agBeHq5A1VtJj+/x9dXuMJpHTg7U7kTYt4xDA==} + '@cloudflare/workers-types@5.20261011.1': + resolution: {integrity: sha512-6dgFMnwq6Wn238QWGHHb93gqIXjbSQMALcurXmI+9SHkM0QeEdHDhbyxwnE8v1m41MUzCtNO/gnTRwI4FsS9fQ==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6557,13 +6557,13 @@ snapshots: optionalDependencies: workerd: 1.20261006.1 - '@cloudflare/vitest-plugin@1.4.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3)': + '@cloudflare/vitest-plugin@1.4.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3)': dependencies: cjs-module-lexer: 1.2.3 esbuild: 0.28.2 miniflare: 5.20261006.1-alpha(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) - wrangler: 4.149.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + wrangler: 4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) zod: 4.6.5 transitivePeerDependencies: - '@cloudflare/workers-types' @@ -6586,7 +6586,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20261006.1': optional: true - '@cloudflare/workers-types@5.20261009.1': {} + '@cloudflare/workers-types@5.20261011.1': {} '@colors/colors@1.6.0': {} @@ -11656,7 +11656,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20261006.1 '@cloudflare/workerd-windows-64': 1.20261006.1 - wrangler@4.149.0(@cloudflare/workers-types@5.20261009.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 '@cloudflare/unenv-preset': 2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261006.1) @@ -11667,7 +11667,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20261006.1 optionalDependencies: - '@cloudflare/workers-types': 5.20261009.1 + '@cloudflare/workers-types': 5.20261011.1 fsevents: 2.3.3 transitivePeerDependencies: - '@types/node' From 33a606e82a29080105884f283f73a9a522afd4c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 03:34:11 +0800 Subject: [PATCH 17/25] chore(deps): bump imapflow from 2.3.0 to 2.4.0 (#23582) Bumps [imapflow](https://github.com/postalsys/imapflow) from 2.3.0 to 2.4.0. - [Release notes](https://github.com/postalsys/imapflow/releases) - [Changelog](https://github.com/postalsys/imapflow/blob/master/CHANGELOG.md) - [Commits](https://github.com/postalsys/imapflow/compare/v2.3.0...v2.4.0) --- updated-dependencies: - dependency-name: imapflow dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 7286821504..c6cd871859 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "http-cookie-agent": "8.0.0", "https-proxy-agent": "9.1.0", "iconv-lite": "0.7.3", - "imapflow": "2.3.0", + "imapflow": "2.4.0", "ioredis": "6.0.0", "ip-regex": "5.0.0", "jsdom": "30.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d1e5b86110..210a5c6d7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,8 +144,8 @@ importers: specifier: 0.7.3 version: 0.7.3 imapflow: - specifier: 2.3.0 - version: 2.3.0 + specifier: 2.4.0 + version: 2.4.0 ioredis: specifier: 6.0.0 version: 6.0.0 @@ -4349,8 +4349,8 @@ packages: resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} engines: {node: '>= 4'} - imapflow@2.3.0: - resolution: {integrity: sha512-LPGu9fJrh2shAZteYV7PNcpYLspCrrvoEDiy037K8D7JSgSEnJz79KZeprnBhd0FODjfdR7w+mk0dVQiYPWKMA==} + imapflow@2.4.0: + resolution: {integrity: sha512-42quCGcSiPFH2ho+/n89lXwR2JA0iuYcE+pe3BvezF24tXgSOrvB/KsJr0i45lCpLSAMZdE+iSFLCokXUGo2sA==} engines: {node: '>=20.0.0'} import-without-cache@0.4.1: @@ -5284,8 +5284,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - process-warning@5.1.0: - resolution: {integrity: sha512-jQSaVHsPgtyw60e1rQ/A+/ArPEj/S8pS/vFnyGa/gYFXrKk/6RuDkoqVDQ5NI5MmS01698ltlAk0NoDBNLujRw==} + process-warning@5.1.1: + resolution: {integrity: sha512-oCkNVj4OKnKEcocVBcDfiIugN1/cE6rgfT3nCtzeqZPA8+rIxMaQ0xXzIkGP8Gj2qUaP1UR7uhJ1VD8lUCpzCg==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -9620,7 +9620,7 @@ snapshots: ignore@7.0.12: {} - imapflow@2.3.0: + imapflow@2.4.0: dependencies: '@zone-eu/mailsplit': 5.4.20 encoding-japanese: 2.4.0 @@ -10742,7 +10742,7 @@ snapshots: on-exit-leak-free: 2.1.2 pino-abstract-transport: 3.0.0 pino-std-serializers: 7.1.0 - process-warning: 5.1.0 + process-warning: 5.1.1 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 @@ -10792,7 +10792,7 @@ snapshots: prelude-ls@1.2.1: {} - process-warning@5.1.0: {} + process-warning@5.1.1: {} proto-list@1.2.4: {} From 0bcea1c9e64618a9a5d8195a1f0356a0d4a38379 Mon Sep 17 00:00:00 2001 From: ZZG97 <38975417+ZZG97@users.noreply.github.com> Date: Thu, 15 Oct 2026 04:27:48 +0800 Subject: [PATCH 18/25] fix(route/zhihu): handle empty user pins feeds (#23574) --- lib/routes/zhihu/pin/people.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/routes/zhihu/pin/people.ts b/lib/routes/zhihu/pin/people.ts index 70fb6fe89a..9dca29fc67 100644 --- a/lib/routes/zhihu/pin/people.ts +++ b/lib/routes/zhihu/pin/people.ts @@ -36,9 +36,14 @@ async function handler(ctx) { url: `https://api.zhihu.com/pins/${id}/moments?limit=10&offset=0`, }); + if (!Array.isArray(data)) { + throw new TypeError('Zhihu pins API returned an invalid data list'); + } + return { - title: `${data[0].target.author.name}的知乎想法`, + title: `${data.length ? data[0].target.author.name : id}的知乎想法`, link: `https://www.zhihu.com/people/${id}/pins`, item: generateData(data), + allowEmpty: data.length === 0, }; } From 8e8a1769e6650b0a487a801c3d5a7ecc8cbaa19f Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 08:13:57 +0800 Subject: [PATCH 19/25] feat(route/p-bandai): add new items Read the Premium Bandai new item list, which covers the last 10 days, with each item's image, price and start of sales or reservations. The page is Shift_JIS and gives no year, so a date ahead of now is taken from the previous year. Premium Bandai redirects requests from outside Japan to its international site, so the route reports a configuration error then and the docs point to PROXY_URI with PROXY_URL_REGEX. Item pages sit behind a browser check even from Japan, so full names and delivery dates are not included. Closes #4517 --- lib/routes/p-bandai/namespace.ts | 11 ++++ lib/routes/p-bandai/new.tsx | 89 ++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 lib/routes/p-bandai/namespace.ts create mode 100644 lib/routes/p-bandai/new.tsx diff --git a/lib/routes/p-bandai/namespace.ts b/lib/routes/p-bandai/namespace.ts new file mode 100644 index 0000000000..cb2826966c --- /dev/null +++ b/lib/routes/p-bandai/namespace.ts @@ -0,0 +1,11 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: 'Premium Bandai', + url: 'p-bandai.jp', + lang: 'ja', + + ja: { + name: 'プレミアムバンダイ', + }, +}; diff --git a/lib/routes/p-bandai/new.tsx b/lib/routes/p-bandai/new.tsx new file mode 100644 index 0000000000..16221dfa35 --- /dev/null +++ b/lib/routes/p-bandai/new.tsx @@ -0,0 +1,89 @@ +import { load } from 'cheerio'; +import { renderToString } from 'hono/jsx/dom/server'; + +import ConfigNotFoundError from '@/errors/types/config-not-found'; +import type { DataItem, Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; +import timezone from '@/utils/timezone'; + +const link = 'https://p-bandai.jp/new_itemlist/'; + +export const route: Route = { + path: '/new', + categories: ['shopping'], + example: '/p-bandai/new', + parameters: {}, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['p-bandai.jp/new_itemlist'], + target: '/new', + }, + ], + name: 'New Items', + maintainers: ['pseudoyu'], + handler, + url: 'p-bandai.jp/new_itemlist/', + description: `Items added in the last 10 days, with the image, the price and the start of sales or reservations. + +::: warning +Premium Bandai redirects visitors outside Japan to its international site, so the instance needs a Japanese IP. You can send only these requests through a Japanese proxy with \`PROXY_URI\` and \`PROXY_URL_REGEX=p-bandai\\.jp\`. + +The list shortens long item names, and the item pages are behind a browser check, so full names and delivery dates are not included. +:::`, +}; + +const parseStart = (year: number, month: string, day: string, hour: string) => timezone(parseDate(`${year}-${month}-${day} ${hour}`, 'YYYY-M-D H'), 9); + +async function handler() { + const response = await ofetch.raw(link, { responseType: 'arrayBuffer' }); + if (new URL(response.url).pathname !== '/new_itemlist/') { + throw new ConfigNotFoundError('Premium Bandai redirected the request to its international site. Send p-bandai.jp requests through a Japanese proxy with PROXY_URI and PROXY_URL_REGEX.'); + } + const $ = load(new TextDecoder('shift_jis').decode(response._data)); + const year = new Date().getFullYear(); + + const items = $('.item_wrap > li') + .toArray() + .map((element): DataItem => { + const $item = $(element); + const start = $item.find('.start').contents().first().text().trim(); + const price = $item.find('.price').text(); + const [, month, day, hour] = /(\d{1,2})\/(\d{1,2}) (\d{1,2})時/.exec(start) ?? []; + // The list gives no year and only covers recent days, so a date ahead of now is from last year + let pubDate = month ? parseStart(year, month, day, hour) : undefined; + if (pubDate && pubDate > new Date()) { + pubDate = parseStart(year - 1, month, day, hour); + } + // The `b` size of the same image is 560px instead of the 200px thumbnail + const image = $item.find('img').attr('src')?.replace('/model/m/', '/model/b/'); + return { + title: $item.find('.itemslist_name span').first().text(), + description: renderToString( + <> + {image ? : null} +

{price}

+

{start}

+ + ), + link: new URL($item.find('a').first().attr('href')!, link).href, + pubDate, + image, + }; + }); + + return { + title: 'プレミアムバンダイ 新着商品', + link, + language: 'ja' as const, + item: items, + }; +} From e0b3b984017061eb2b2d002786f5f1f7d0a0e94a Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 08:29:37 +0800 Subject: [PATCH 20/25] fix(core): stop SOCKS proxies other than socks5 from crashing startup Since #22401 every socks* PROXY_URI is handed to undici's ProxyAgent, which only accepts socks5: and socks:. A socks5h, socks4 or socks4a URI fell through to its HTTP proxy path and threw "Invalid URL protocol" while the proxy module loaded, so the server never started, even though unify-proxy listed all of them as supported. Pass socks5h to undici as socks5: its SOCKS5 client sends host names to the proxy, so DNS still resolves there, as playwright.ts already assumes. undici has no SOCKS4 support, so drop socks4 and socks4a from the accepted protocols, which logs the supported list and disables the proxy like any other unsupported protocol. --- lib/utils/proxy/index.test.ts | 24 ++++++++++++++++++++++++ lib/utils/proxy/index.ts | 3 ++- lib/utils/proxy/unify-proxy.test.ts | 4 ++++ lib/utils/proxy/unify-proxy.ts | 3 ++- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/lib/utils/proxy/index.test.ts b/lib/utils/proxy/index.test.ts index b1ae5c3005..9a3381846d 100644 --- a/lib/utils/proxy/index.test.ts +++ b/lib/utils/proxy/index.test.ts @@ -80,6 +80,30 @@ describe('proxy', () => { expect(requestTlsOf(proxy.dispatcher!).ALPNProtocols).toEqual(['h2', 'http/1.1']); }); + it('creates a socks5 dispatcher for socks5h proxies', async () => { + const proxy = await loadProxy({ + PROXY_URI: 'socks5h://proxy.local:1080', + PROXY_URIS: '', + PAC_URI: '', + }); + + expect(proxy.agent).toBeInstanceOf(SocksProxyAgent); + expect(proxy.dispatcher).toBeInstanceOf(ProxyAgent); + expect(proxy.getCurrentProxy()?.uri).toBe('socks5h://proxy.local:1080'); + }); + + it('disables socks4 proxies instead of failing to start', async () => { + const proxy = await loadProxy({ + PROXY_URI: 'socks4://proxy.local:1080', + PROXY_URIS: '', + PAC_URI: '', + }); + + expect(proxy.agent).toBeNull(); + expect(proxy.dispatcher).toBeNull(); + expect(proxy.getCurrentProxy()).toBeNull(); + }); + it('prefers h2 on the http proxy dispatcher', async () => { const proxy = await loadProxy({ PROXY_URI: 'http://proxy.local:8080', diff --git a/lib/utils/proxy/index.ts b/lib/utils/proxy/index.ts index 4e2b1124c4..287d83177b 100644 --- a/lib/utils/proxy/index.ts +++ b/lib/utils/proxy/index.ts @@ -62,7 +62,8 @@ const createDispatcherForProxy = (uri: string, proxyObj: Config['proxy'], minVer } if (uri.startsWith('socks')) { return new ProxyAgent({ - uri, + // undici only accepts socks5: and socks:, and its SOCKS5 client already lets the proxy resolve host names + uri: uri.replace(/^socks5h:/, 'socks5:'), requestTls: { ALPNProtocols: ['h2', 'http/1.1'], minVersion, diff --git a/lib/utils/proxy/unify-proxy.test.ts b/lib/utils/proxy/unify-proxy.test.ts index 807c363ab4..44d2c90555 100644 --- a/lib/utils/proxy/unify-proxy.test.ts +++ b/lib/utils/proxy/unify-proxy.test.ts @@ -37,6 +37,10 @@ describe('unify-proxy', () => { it('proxy-obj invalid protocol', () => { nullExpect(unifyProxy('', { ...emptyProxyObj, protocol: 'ftp', host: 'rsshub.proxy', port: '2333' })); }); + it('proxy-uri socks4 unsupported', () => { + nullExpect(unifyProxy('socks4://rsshub.proxy:2333', emptyProxyObj)); + nullExpect(unifyProxy('socks4a://rsshub.proxy:2333', emptyProxyObj)); + }); const httpNoPortUri = 'http://rsshub.proxy'; const httpNoPortObj = { ...emptyProxyObj, protocol: 'http', host: 'rsshub.proxy' }; diff --git a/lib/utils/proxy/unify-proxy.ts b/lib/utils/proxy/unify-proxy.ts index ab034db9fd..1a17391062 100644 --- a/lib/utils/proxy/unify-proxy.ts +++ b/lib/utils/proxy/unify-proxy.ts @@ -2,7 +2,8 @@ import type { Config } from '@/config'; import logger from '@/utils/logger'; const defaultProtocol = 'http'; -const possibleProtocol = ['http', 'https', 'socks', 'socks4', 'socks4a', 'socks5', 'socks5h']; +// SOCKS4 is left out because the undici dispatcher behind fetch only speaks SOCKS5 +const possibleProtocol = ['http', 'https', 'socks', 'socks5', 'socks5h']; const unifyProxy = (proxyUri: Config['proxyUri'] | string, proxyObj: Config['proxy']) => { const [oriProxyUri, oriProxyObj] = [proxyUri, proxyObj]; From d24f5136487a388662ec6656e4f1ba4ff46b0ed8 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 08:30:17 +0800 Subject: [PATCH 21/25] fix(route/twitter): reuse the shared proxy dispatcher The web API helpers built their own ProxyAgent from proxy.proxyUri, which throws for a socks5h PROXY_URI that the shared dispatcher now supports, and also dropped the PROXY_AUTH token and TLS options that the shared dispatcher sets. Compose the cookie agent on top of proxy.dispatcher instead, so these requests use the same proxy setup as every other fetch. --- lib/routes/twitter/api/web-api/utils.ts | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/lib/routes/twitter/api/web-api/utils.ts b/lib/routes/twitter/api/web-api/utils.ts index f7c98a4e7b..dd7db88ee5 100644 --- a/lib/routes/twitter/api/web-api/utils.ts +++ b/lib/routes/twitter/api/web-api/utils.ts @@ -1,7 +1,8 @@ import { cookie as HttpCookieAgentCookie, CookieAgent } from 'http-cookie-agent/undici'; import queryString from 'query-string'; import { Cookie, CookieJar } from 'tough-cookie'; -import undici, { ProxyAgent } from 'undici'; +import type { ProxyAgent } from 'undici'; +import undici from 'undici'; import { config } from '@/config'; import ConfigNotFoundError from '@/errors/types/config-not-found'; @@ -26,11 +27,7 @@ const token2Cookie = async (token) => { const jar = new CookieJar(); await jar.setCookie(`auth_token=${token}`, 'https://x.com'); try { - const agent = proxy.proxyUri - ? new ProxyAgent({ - uri: proxy.proxyUri, - }).compose(HttpCookieAgentCookie({ jar })) - : new CookieAgent({ cookies: { jar } }); + const agent = proxy.dispatcher ? proxy.dispatcher.compose(HttpCookieAgentCookie({ jar })) : new CookieAgent({ cookies: { jar } }); if (token) { await ofetch('https://x.com', { dispatcher: agent, @@ -109,12 +106,8 @@ export const twitterGot = async ( if (cookie) { logger.debug('twitter debug: got twitter cookie'); const jar = CookieJar.deserializeSync(JSON.parse(cookie)); - const agent = proxy.proxyUri - ? new ProxyAgent({ - uri: proxy.proxyUri, - }).compose(HttpCookieAgentCookie({ jar })) - : new CookieAgent({ cookies: { jar } }); - if (proxy.proxyUri) { + const agent = proxy.dispatcher ? proxy.dispatcher.compose(HttpCookieAgentCookie({ jar })) : new CookieAgent({ cookies: { jar } }); + if (proxy.dispatcher) { logger.debug(`twitter debug: Proxying request: ${requestUrl}`); } dispatchers = { From 7e3888204f2b6ec084b3459a24dfa2fd2b5ad406 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 18:26:46 +0800 Subject: [PATCH 22/25] refactor(route/bandcamp): share the release page parser Move the album and track page parsing out of the tag route into utils.tsx so other Bandcamp routes can reuse it. The tag route still takes the title, author and link from the discover API, so its feed is unchanged. --- lib/routes/bandcamp/tag.tsx | 42 +++-------------------------------- lib/routes/bandcamp/utils.tsx | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 39 deletions(-) create mode 100644 lib/routes/bandcamp/utils.tsx diff --git a/lib/routes/bandcamp/tag.tsx b/lib/routes/bandcamp/tag.tsx index 4f554d38a9..56f421bfa3 100644 --- a/lib/routes/bandcamp/tag.tsx +++ b/lib/routes/bandcamp/tag.tsx @@ -1,14 +1,11 @@ -import { load } from 'cheerio'; -import { raw } from 'hono/html'; -import { renderToString } from 'hono/jsx/dom/server'; import pMap from 'p-map'; import type { Route } from '@/types'; -import cache from '@/utils/cache'; import got from '@/utils/got'; -import { parseDate } from '@/utils/parse-date'; import { getRouteLimit } from '@/utils/route-limit'; +import { getRelease } from './utils'; + export const route: Route = { path: '/tag/:tag?', categories: ['multimedia'], @@ -63,40 +60,7 @@ async function handler(ctx) { return { title: item.title, link: link.href, author: item.album_artist || item.band_name }; }); - const items = await pMap( - list, - (item) => - cache.tryGet(item.link, async () => { - const detailResponse = await got(item.link); - const content = load(detailResponse.data); - const data = JSON.parse(content('[data-tralbum]').attr('data-tralbum')!); - const image = content('#tralbumArt img').attr('src'); - const about = content('.tralbum-about').html() ?? ''; - const tracks = data.trackinfo as Array<{ title: string; title_link?: string }>; - - return { - ...item, - image, - pubDate: data.current.publish_date ? parseDate(data.current.publish_date) : undefined, - category: content('.tralbum-tags a.tag') - .toArray() - .map((tag) => content(tag).text()), - description: renderToString( - <> - {image ? : null} -
{raw(about)}
- {data.current.credits ?

{data.current.credits}

: null} -
    - {tracks.map((track) => ( -
  1. {track.title_link ? {track.title} : track.title}
  2. - ))} -
- - ), - }; - }), - { concurrency: 3 } - ); + const items = await pMap(list, async (item) => ({ ...(await getRelease(item.link)), ...item }), { concurrency: 3 }); return { title: `Bandcamp${tag ? ` - ${tag}` : ''}`, diff --git a/lib/routes/bandcamp/utils.tsx b/lib/routes/bandcamp/utils.tsx new file mode 100644 index 0000000000..98c88fd6e1 --- /dev/null +++ b/lib/routes/bandcamp/utils.tsx @@ -0,0 +1,40 @@ +import { load } from 'cheerio'; +import { raw } from 'hono/html'; +import { renderToString } from 'hono/jsx/dom/server'; + +import type { DataItem } from '@/types'; +import cache from '@/utils/cache'; +import got from '@/utils/got'; +import { parseDate } from '@/utils/parse-date'; + +export const getRelease = (link: string) => + cache.tryGet(link, async (): Promise => { + const detailResponse = await got(link); + const content = load(detailResponse.data); + const data = JSON.parse(content('[data-tralbum]').attr('data-tralbum')!); + const image = content('#tralbumArt img').attr('src'); + const about = content('.tralbum-about').html() ?? ''; + const tracks = data.trackinfo as Array<{ title: string; title_link?: string }>; + + return { + title: data.current.title, + author: data.artist, + image, + pubDate: data.current.publish_date ? parseDate(data.current.publish_date) : undefined, + category: content('.tralbum-tags a.tag') + .toArray() + .map((tag) => content(tag).text()), + description: renderToString( + <> + {image ? : null} +
{raw(about)}
+ {data.current.credits ?

{data.current.credits}

: null} +
    + {tracks.map((track) => ( +
  1. {track.title_link ? {track.title} : track.title}
  2. + ))} +
+ + ), + }; + }); From b4a7c36fbcb24e84452a74d772a59fd73d4588c3 Mon Sep 17 00:00:00 2001 From: pseudoyu Date: Thu, 15 Oct 2026 18:27:06 +0800 Subject: [PATCH 23/25] feat(route/bandcamp): add artist releases Follow the releases of an artist or label from its music page. The page renders the first releases in its grid and the rest in data-client-items, so read both to cover the whole discography, then parse each release with the shared parser. The latest 10 are returned by default, and an artist without releases gives an empty feed. Refs #7477 --- lib/routes/bandcamp/artist.tsx | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 lib/routes/bandcamp/artist.tsx diff --git a/lib/routes/bandcamp/artist.tsx b/lib/routes/bandcamp/artist.tsx new file mode 100644 index 0000000000..ffa6367232 --- /dev/null +++ b/lib/routes/bandcamp/artist.tsx @@ -0,0 +1,65 @@ +import { load } from 'cheerio'; +import pMap from 'p-map'; + +import InvalidParameterError from '@/errors/types/invalid-parameter'; +import type { Route } from '@/types'; +import got from '@/utils/got'; +import { getRouteLimit } from '@/utils/route-limit'; + +import { getRelease } from './utils'; + +export const route: Route = { + path: '/artist/:artist', + categories: ['multimedia'], + example: '/bandcamp/artist/radiohead', + parameters: { artist: 'Subdomain of the artist or label, such as `radiohead` in `https://radiohead.bandcamp.com`' }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + name: 'Artist Releases', + maintainers: ['pseudoyu'], + handler, + description: + 'Releases on the music page of an artist or label, in the order the page shows them (newest first unless the artist reorders them). Returns the latest 10 by default, use `limit` for more. Artists on a custom domain still have a bandcamp.com subdomain.', +}; + +async function handler(ctx) { + const artist = ctx.req.param('artist'); + if (!/^[\da-z-]+$/i.test(artist)) { + throw new InvalidParameterError('Use the artist subdomain, such as radiohead in https://radiohead.bandcamp.com.'); + } + const limit = getRouteLimit(ctx, 10); + const link = `https://${artist}.bandcamp.com/music`; + const response = await got(link); + const $ = load(response.data); + + // The grid renders the first releases, and the page adds the rest from data-client-items + const clientItems: Array<{ page_url: string }> = JSON.parse($('#music-grid').attr('data-client-items') ?? '[]'); + const urls = [ + ...$('#music-grid li a') + .toArray() + .map((element) => $(element).attr('href')!), + ...clientItems.map((item) => item.page_url), + ]; + + const items = await pMap( + urls.slice(0, limit), + async (url) => { + const itemLink = new URL(url, link).href; + return { ...(await getRelease(itemLink)), link: itemLink }; + }, + { concurrency: 3 } + ); + + return { + title: `${JSON.parse($('[data-band]').attr('data-band') ?? '{}').name ?? artist} - Bandcamp`, + link, + item: items, + allowEmpty: true, + }; +} From 77ca152da27947bb29f37c86033e615bbe618088 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 19:19:14 +0800 Subject: [PATCH 24/25] chore(deps-dev): bump @cloudflare/workers-types (#23584) Bumps the cloudflare group with 1 update: [@cloudflare/workers-types](https://github.com/cloudflare/workerd). Updates `@cloudflare/workers-types` from 5.20261011.1 to 5.20261012.1 - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) --- updated-dependencies: - dependency-name: "@cloudflare/workers-types" dependency-version: 5.20261012.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: cloudflare ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c6cd871859..5fb2bc6ecf 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "@cloudflare/containers": "0.3.7", "@cloudflare/playwright": "1.3.6", "@cloudflare/vitest-plugin": "1.4.0", - "@cloudflare/workers-types": "5.20261011.1", + "@cloudflare/workers-types": "5.20261012.1", "@eslint/js": "10.0.1", "@j178/prek": "0.5.5", "@mswjs/interceptors": "0.45.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 210a5c6d7d..d98a2615ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -302,10 +302,10 @@ importers: version: 1.3.6 '@cloudflare/vitest-plugin': specifier: 1.4.0 - version: 1.4.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3) + version: 1.4.0(@cloudflare/workers-types@5.20261012.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3) '@cloudflare/workers-types': - specifier: 5.20261011.1 - version: 5.20261011.1 + specifier: 5.20261012.1 + version: 5.20261012.1 '@eslint/js': specifier: 10.0.1 version: 10.0.1(eslint@10.12.0(jiti@2.7.0)) @@ -467,7 +467,7 @@ importers: version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) wrangler: specifier: 4.149.0 - version: 4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.149.0(@cloudflare/workers-types@5.20261012.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.1.0 version: 2.1.0 @@ -713,8 +713,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@5.20261011.1': - resolution: {integrity: sha512-6dgFMnwq6Wn238QWGHHb93gqIXjbSQMALcurXmI+9SHkM0QeEdHDhbyxwnE8v1m41MUzCtNO/gnTRwI4FsS9fQ==} + '@cloudflare/workers-types@5.20261012.1': + resolution: {integrity: sha512-5Y0NrKXG9CZaNUZ6Dt3TLRE4UQe2/DGuxIhTEVYHUl0jAlv1TpQtI59YBAszRpSaZAMzbM8nqGc1n9Z2q4TVyA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6557,13 +6557,13 @@ snapshots: optionalDependencies: workerd: 1.20261006.1 - '@cloudflare/vitest-plugin@1.4.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3)': + '@cloudflare/vitest-plugin@1.4.0(@cloudflare/workers-types@5.20261012.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vitest@5.0.3)': dependencies: cjs-module-lexer: 1.2.3 esbuild: 0.28.2 miniflare: 5.20261006.1-alpha(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2(@noble/hashes@2.3.0))(msw@3.0.3(@types/node@26.6.5)(@typescript/typescript6@6.0.2)(graphql@16.14.2)(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)))(vite@7.3.1(@types/node@26.6.5)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.15)(yaml@2.9.1)) - wrangler: 4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + wrangler: 4.149.0(@cloudflare/workers-types@5.20261012.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10) zod: 4.6.5 transitivePeerDependencies: - '@cloudflare/workers-types' @@ -6586,7 +6586,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20261006.1': optional: true - '@cloudflare/workers-types@5.20261011.1': {} + '@cloudflare/workers-types@5.20261012.1': {} '@colors/colors@1.6.0': {} @@ -11656,7 +11656,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20261006.1 '@cloudflare/workerd-windows-64': 1.20261006.1 - wrangler@4.149.0(@cloudflare/workers-types@5.20261011.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.149.0(@cloudflare/workers-types@5.20261012.1)(@types/node@26.6.5)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 '@cloudflare/unenv-preset': 2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261006.1) @@ -11667,7 +11667,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20261006.1 optionalDependencies: - '@cloudflare/workers-types': 5.20261011.1 + '@cloudflare/workers-types': 5.20261012.1 fsevents: 2.3.3 transitivePeerDependencies: - '@types/node' From 00c39a2fde7f02e7f0fd78709611b62ef47aab28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 19:39:36 +0800 Subject: [PATCH 25/25] chore(deps): bump devenv from `a73c5b8` to `a60ff7d` in the nix group (#23585) Bumps the nix group with 1 update: [devenv](https://github.com/cachix/devenv). Updates `devenv` from `a73c5b8` to `a60ff7d` - [Release notes](https://github.com/cachix/devenv/releases) - [Commits](https://github.com/cachix/devenv/compare/a73c5b84c9527760f009232988466763068f9f61...a60ff7da8843686d06b4c6646846024d97138da8) --- updated-dependencies: - dependency-name: devenv dependency-version: a60ff7da8843686d06b4c6646846024d97138da8 dependency-type: direct:production dependency-group: nix ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b2b000854e..35f5801ccf 100644 --- a/flake.lock +++ b/flake.lock @@ -64,11 +64,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1791549372, - "narHash": "sha256-5Vu2oKeImB5wQWLFSEcWXsF0Oajm4/5MV7UlnOdelmg=", + "lastModified": 1791785848, + "narHash": "sha256-8hOkttkgaVPCKwLHK5T2XbfBIj1k4G6xO1r4UVYm5aA=", "owner": "cachix", "repo": "devenv", - "rev": "a73c5b84c9527760f009232988466763068f9f61", + "rev": "a60ff7da8843686d06b4c6646846024d97138da8", "type": "github" }, "original": {