From fbe69a773ae2af7f8f681cab5fa6c0ae73d4a762 Mon Sep 17 00:00:00 2001 From: MMA <58857539+TheGeeKing@users.noreply.github.com> Date: Wed, 11 Feb 2026 13:36:07 +0100 Subject: [PATCH 001/259] fix(route/dailypush): author and date (#21110) --- lib/routes/dailypush/utils.ts | 151 ++++++++++++++++++++++++---------- 1 file changed, 109 insertions(+), 42 deletions(-) diff --git a/lib/routes/dailypush/utils.ts b/lib/routes/dailypush/utils.ts index 2198cbf992ef9b..041eaa600ed077 100644 --- a/lib/routes/dailypush/utils.ts +++ b/lib/routes/dailypush/utils.ts @@ -4,14 +4,14 @@ import { load } from 'cheerio'; import type { DataItem } from '@/types'; import cache from '@/utils/cache'; import ofetch from '@/utils/ofetch'; -import { parseDate } from '@/utils/parse-date'; +import { parseRelativeDate } from '@/utils/parse-date'; export const BASE_URL = 'https://www.dailypush.dev'; export interface ArticleItem { title: string; link: string; - author?: string; + author: DataItem['author']; pubDate?: Date; category?: string[]; description?: string; @@ -19,22 +19,81 @@ export interface ArticleItem { dailyPushUrl?: string; } +/** + * Try to parse text as a date. Returns the Date if parsing succeeds and is valid, undefined otherwise. + */ +function tryParseAsDate(text: string): Date | undefined { + try { + const date = parseRelativeDate(text); + return Number.isNaN(date.getTime()) ? undefined : date; + } catch { + return undefined; + } +} + /** * Extract author from article element */ -function extractAuthor(article: ReturnType): string | undefined { +function extractAuthor(article: ReturnType): DataItem['author'] { + const container = article.find('.flex.items-center.gap-3').first(); + if (container.length === 0) { + return undefined; + } + + // Get all content spans (exclude separator spans with '•') + const allSpans = container.find('span'); + const contentSpans: string[] = []; + + for (let i = 0; i < allSpans.length; i++) { + const $span = allSpans.eq(i); + const text = $span.text().trim(); + // Skip separator spans (contain only '•' or have separator classes) + if (text !== '•' && !$span.hasClass('text-slate-300') && !$span.hasClass('dark:text-slate-600')) { + contentSpans.push(text); + } + } + + // Handle different cases based on number of content spans + switch (contentSpans.length) { + case 3: + // Structure: author, date, reading time + if (contentSpans[0].includes(',')) { + const authors: DataItem['author'] = contentSpans[0].split(',').map((author) => ({ + name: author.trim(), + })); + return authors; + } + return contentSpans[0]; + case 2: { + // Two cases: + // 1. date, reading time (no author) + // 2. author, date (no reading time) + const firstText = contentSpans[0]; + if (tryParseAsDate(firstText)) { + // First is date, so no author + break; + } + // First is author + return firstText; + } + case 1: { + // Could be date or author + const text = contentSpans[0]; + if (tryParseAsDate(text)) { + return undefined; + } + return text; + } + default: + break; + } + + // Fallback: use the post source as author const sourceSpan = article.find('span.text-xs.font-medium.uppercase').first(); if (sourceSpan.length > 0) { return sourceSpan.text().trim(); } - // Fallback: look for author name in the date section - const authorDateText = article.find('.flex.items-center.gap-3').first().text(); - const authorMatch = authorDateText.match(/^([^•]+?)(?:\s*•)/); - if (authorMatch && !/\d{4}/.test(authorMatch[1])) { - return authorMatch[1].trim(); - } - return undefined; } @@ -63,52 +122,59 @@ function extractCategories(article: ReturnType, $: CheerioAPI): stri * Extract publication date from article element */ function extractPubDate(article: ReturnType): Date | undefined { - const footer = article.find('.flex.items-center.justify-between.gap-4.flex-wrap').first(); - const authorAndDate = footer.find('.flex.items-center.gap-3.text-xs').first(); - - if (authorAndDate.length === 0) { + const container = article.find('.flex.items-center.gap-3').first(); + if (container.length === 0) { return undefined; } - const spans = authorAndDate.find('span'); - let dateText: string | undefined; + // Get all content spans (exclude separator spans with '•') + const allSpans = container.find('span'); + const contentSpans: string[] = []; - if (spans.length === 3) { - // Has author: date is in the third span (index 2) - // Structure: AuthorDate - dateText = spans.eq(2).text().trim(); - } else if (spans.length === 1) { - // No author: date is in the first span (index 0) - // Structure: Date - dateText = spans.eq(0).text().trim(); + for (let i = 0; i < allSpans.length; i++) { + const $span = allSpans.eq(i); + const text = $span.text().trim(); + // Skip separator spans (contain only '•' or have separator classes) + if (text !== '•' && !$span.hasClass('text-slate-300') && !$span.hasClass('dark:text-slate-600')) { + contentSpans.push(text); + } } - if (!dateText) { - return undefined; - } + let dateText: string | undefined; - try { - return parseDate(dateText); - } catch { - // If parsing fails, try fallback patterns - const datePattern = /((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d+,\s+\d{4})/i; - const match = dateText.match(datePattern); - if (match && match[1]) { - try { - return parseDate(match[1]); - } catch { - // If parsing fails, keep undefined + // Handle different cases based on number of content spans + switch (contentSpans.length) { + case 3: + // Structure: author, date, reading time + dateText = contentSpans[1]; + break; + case 2: { + // Two cases: + // 1. date, reading time (no author) + // 2. author, date (no reading time) + const firstText = contentSpans[0]; + dateText = tryParseAsDate(firstText) ? firstText : contentSpans[1]; + break; + } + case 1: { + // Could be date or author + const text = contentSpans[0]; + if (tryParseAsDate(text)) { + dateText = text; } + break; } + default: + break; } - return undefined; + return dateText ? tryParseAsDate(dateText) : undefined; } /** * Parse a single article element into an ArticleItem */ -function parseArticle(article: ReturnType, $: CheerioAPI, baseUrl: string): ArticleItem | null { +function parseArticle(article: ReturnType, $: CheerioAPI, baseUrl: string): (DataItem & ArticleItem) | null { // Find the title link in h2 > a const titleLink = article.find('h2 a[href^="http"]').first(); if (titleLink.length === 0) { @@ -135,12 +201,13 @@ function parseArticle(article: ReturnType, $: CheerioAPI, baseUrl: s return { title, link, - author: author || undefined, + author, pubDate, category: categories.length > 0 ? categories : undefined, description, articleUrl: link, dailyPushUrl, + language: 'en', }; } @@ -162,7 +229,7 @@ export function parseArticles($: CheerioAPI, baseUrl: string): ArticleItem[] { */ export async function enhanceItemsWithSummaries(items: ArticleItem[]): Promise { const itemsWithUrl = items.filter((item) => item.dailyPushUrl !== undefined); - const itemsWithoutUrl = items.filter((item) => item.dailyPushUrl === undefined); + const itemsWithoutUrl: DataItem[] = items.filter((item) => item.dailyPushUrl === undefined); const enhancedItems: DataItem[] = await Promise.all( itemsWithUrl.map((item) => From 98e556cdddb8aaa39d8ef8938dda7b8646dc97a7 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 11 Feb 2026 21:56:51 +0800 Subject: [PATCH 002/259] ci: replace duplicate issue workflow (#21122) - Replace AI MCP similar-issues flow with opencode duplicate check - Read OPENCODE_MODEL from repository variables - Support workflow_dispatch with issue_number input --- .github/workflows/similar-issues.yml | 148 ++++++++++++--------------- 1 file changed, 65 insertions(+), 83 deletions(-) diff --git a/.github/workflows/similar-issues.yml b/.github/workflows/similar-issues.yml index c3f1da19feb461..ab96a6ca27396e 100644 --- a/.github/workflows/similar-issues.yml +++ b/.github/workflows/similar-issues.yml @@ -1,91 +1,73 @@ -name: Similar Issues via AI MCP +name: duplicate-issues on: - issues: - types: [opened] + issues: + types: [opened] + workflow_dispatch: + inputs: + issue_number: + description: Issue number to check manually + required: true + type: number jobs: - find-similar: - permissions: - contents: read - issues: write - models: read - runs-on: ubuntu-slim - steps: - - name: Check out repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + check-duplicates: + runs-on: ubuntu-latest + permissions: + contents: read + issues: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 - - name: Prepare prompt variables - id: prepare_input - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 - with: - script: | - const issue = context.payload.issue || {}; - const title = issue.title || ''; - const body = issue.body || ''; - const indent = ' '; - // Indent subsequent lines so YAML block scalar indentation remains valid - const bodyIndented = body.replace(/\n/g, '\n' + indent); - core.setOutput('issue_title_json', JSON.stringify(title)); - core.setOutput('issue_body_indented_json', JSON.stringify(bodyIndented)); - core.setOutput('issue_number', issue.number); + - name: Set up Bun + uses: oven-sh/setup-bun@v2 - - name: Find similar issues with AI (MCP) - id: inference - uses: actions/ai-inference@a380166897b5408b8fb7dddd148142794cb5624a # v2.0.6 - with: - prompt-file: ./.github/prompts/similar_issues.prompt.yml - input: | - issue_title: ${{ steps.prepare_input.outputs.issue_title_json }} - issue_body: ${{ steps.prepare_input.outputs.issue_body_indented_json }} - issue_number: ${{ steps.prepare_input.outputs.issue_number }} - repository: ${{ github.repository }} - enable-github-mcp: true - # Inference token can use GITHUB_TOKEN. MCP specifically requires a PAT. - token: ${{ secrets.GITHUB_TOKEN }} - github-mcp-token: ${{ secrets.USER_PAT }} - max-tokens: 8000 + - name: Install opencode + run: curl -fsSL https://opencode.ai/install | bash - - name: Prepare comment body - id: prepare - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 - env: - AI_RESPONSE: ${{ steps.inference.outputs.response }} - with: - script: | - let data; - try { - data = JSON.parse(process.env.AI_RESPONSE || '{}'); - } catch (e) { - core.setOutput('has_matches', 'false'); - return; - } - const matches = Array.isArray(data.matches) ? data.matches.filter(m => m.number !== context.payload.issue.number) : []; - if (!matches.length) { - core.setOutput('has_matches', 'false'); - return; - } - const lines = []; - lines.push('I found similar issues that might help:'); - for (const m of matches.slice(0, 3)) { - const num = m.number != null ? `#${m.number}` : ''; - const title = m.title || 'Untitled'; - const url = m.url || ''; - const score = typeof m.similarity_score === 'number' ? ` (similarity: ${m.similarity_score.toFixed(2)})` : ''; - lines.push(`- ${url}${score}`.trim()); - } - core.setOutput('has_matches', 'true'); - core.setOutput('comment_body', lines.join('\n')); + - name: Check for duplicate issues + env: + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }} + OPENCODE_PERMISSION: | + { + "bash": { + "*": "deny", + "gh issue*": "allow" + }, + "webfetch": "deny" + } + run: | + if [ -z "$ISSUE_NUMBER" ]; then + echo "issue_number is required" + exit 1 + fi - - name: Comment similar issues - if: steps.prepare.outputs.has_matches == 'true' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 - with: - script: | - const body = ${{ toJson(steps.prepare.outputs.comment_body) }}; - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.issue.number, - body - }); + opencode run -m ${{ vars.OPENCODE_MODEL }} "A new issue has been created:' + + Issue number: + $ISSUE_NUMBER + + Lookup this issue and search through existing issues (excluding #$ISSUE_NUMBER) in this repository to find any potential duplicates of this new issue. + Consider: + 1. Similar titles or descriptions + 2. Same error messages or symptoms + 3. Related functionality or components + 4. Similar feature requests + + If you find any potential duplicates, please comment on the new issue with: + - A brief explanation of why it might be a duplicate + - Links to the potentially duplicate issues + - A suggestion to check those issues first + + Use this format for the comment: + 'This issue might be a duplicate of existing issues. Please check: + - #[issue_number]: [brief description of similarity] + + Feel free to ignore if none of these address your specific case.' + + If no clear duplicates are found, do not comment." From 478ef04f84458e5ff19f175013e2e13e8ea657c7 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 11 Feb 2026 22:07:14 +0800 Subject: [PATCH 003/259] ci: reindent duplicate issue workflow --- .github/workflows/similar-issues.yml | 116 +++++++++++++-------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/.github/workflows/similar-issues.yml b/.github/workflows/similar-issues.yml index ab96a6ca27396e..f2b046c6afebac 100644 --- a/.github/workflows/similar-issues.yml +++ b/.github/workflows/similar-issues.yml @@ -1,73 +1,73 @@ name: duplicate-issues on: - issues: - types: [opened] - workflow_dispatch: - inputs: - issue_number: - description: Issue number to check manually - required: true - type: number + issues: + types: [opened] + workflow_dispatch: + inputs: + issue_number: + description: Issue number to check manually + required: true + type: number jobs: - check-duplicates: - runs-on: ubuntu-latest - permissions: - contents: read - issues: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 + check-duplicates: + runs-on: ubuntu-latest + permissions: + contents: read + issues: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 - - name: Set up Bun - uses: oven-sh/setup-bun@v2 + - name: Set up Bun + uses: oven-sh/setup-bun@v2 - - name: Install opencode - run: curl -fsSL https://opencode.ai/install | bash + - name: Install opencode + run: curl -fsSL https://opencode.ai/install | bash - - name: Check for duplicate issues - env: - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }} - OPENCODE_PERMISSION: | - { - "bash": { - "*": "deny", - "gh issue*": "allow" - }, - "webfetch": "deny" - } - run: | - if [ -z "$ISSUE_NUMBER" ]; then - echo "issue_number is required" - exit 1 - fi + - name: Check for duplicate issues + env: + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }} + OPENCODE_PERMISSION: | + { + "bash": { + "*": "deny", + "gh issue*": "allow" + }, + "webfetch": "deny" + } + run: | + if [ -z "$ISSUE_NUMBER" ]; then + echo "issue_number is required" + exit 1 + fi - opencode run -m ${{ vars.OPENCODE_MODEL }} "A new issue has been created:' + opencode run -m ${{ vars.OPENCODE_MODEL }} "A new issue has been created:' - Issue number: - $ISSUE_NUMBER + Issue number: + $ISSUE_NUMBER - Lookup this issue and search through existing issues (excluding #$ISSUE_NUMBER) in this repository to find any potential duplicates of this new issue. - Consider: - 1. Similar titles or descriptions - 2. Same error messages or symptoms - 3. Related functionality or components - 4. Similar feature requests + Lookup this issue and search through existing issues (excluding #$ISSUE_NUMBER) in this repository to find any potential duplicates of this new issue. + Consider: + 1. Similar titles or descriptions + 2. Same error messages or symptoms + 3. Related functionality or components + 4. Similar feature requests - If you find any potential duplicates, please comment on the new issue with: - - A brief explanation of why it might be a duplicate - - Links to the potentially duplicate issues - - A suggestion to check those issues first + If you find any potential duplicates, please comment on the new issue with: + - A brief explanation of why it might be a duplicate + - Links to the potentially duplicate issues + - A suggestion to check those issues first - Use this format for the comment: - 'This issue might be a duplicate of existing issues. Please check: - - #[issue_number]: [brief description of similarity] + Use this format for the comment: + 'This issue might be a duplicate of existing issues. Please check: + - #[issue_number]: [brief description of similarity] - Feel free to ignore if none of these address your specific case.' + Feel free to ignore if none of these address your specific case.' - If no clear duplicates are found, do not comment." + If no clear duplicates are found, do not comment." From 6e16f90bfb49a6af8ea2e74bfa3c882f87c9c881 Mon Sep 17 00:00:00 2001 From: Chris Sauermann Date: Wed, 11 Feb 2026 15:41:08 +0100 Subject: [PATCH 004/259] feat(route): add elamigos games route (#21111) * feat(route): add elamigos games route * fix(route): update elamigos security vulnerabilities + codefactor complex method error * fix(route): update elamigos reduce extractGames complexity * fix(route): update elamigos required changes to adhere to coding standard * fix(route): update elamigos remove parseLimit, let user decide limit, default at 40 --- lib/routes/elamigos/index.ts | 171 +++++++++++++++++++++++++++++++ lib/routes/elamigos/namespace.ts | 8 ++ 2 files changed, 179 insertions(+) create mode 100644 lib/routes/elamigos/index.ts create mode 100644 lib/routes/elamigos/namespace.ts diff --git a/lib/routes/elamigos/index.ts b/lib/routes/elamigos/index.ts new file mode 100644 index 00000000000000..7ee9715444e0b6 --- /dev/null +++ b/lib/routes/elamigos/index.ts @@ -0,0 +1,171 @@ +import { load } from 'cheerio'; + +import type { DataItem, Route } from '@/types'; +import cache from '@/utils/cache'; +import got from '@/utils/got'; + +export const route: Route = { + path: '/games', + categories: ['game'], + example: '/elamigos/games', + parameters: {}, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['elamigos.site/', 'elamigos.site/index.html'], + target: '/games', + }, + ], + name: 'Releases', + maintainers: ['Kylon92'], + handler, + description: 'Latest game releases from ElAmigos', +}; + +async function handler(ctx: any) { + const limit = Number(ctx.req.query('limit')) || 40; + const baseUrl = 'https://elamigos.site'; + + const { data: html } = await got(baseUrl); + const $ = load(html); + + const games = extractGames($, limit, baseUrl); + const items = await Promise.all(games.map((game) => processGameItem(game))); + + return { + title: 'ElAmigos - Latest Games', + link: baseUrl, + description: `Latest game releases from ElAmigos (${items.length} entries)`, + item: items, + }; +} + +function toNeutralDate(input: string, appendDay: boolean = false): Date { + const [day, month, year] = input.split('.').map(Number); + const baseDate = new Date(Date.UTC(year, month - 1, day)); + return appendDay ? new Date(baseDate.getTime() + 24 * 60 * 60 * 1000) : baseDate; +} + +function extractGames($: any, limit: number, baseUrl: string): Array<{ title: string; link: string; pubDate: string | null }> { + const dateRegex = /^\d{2}\.\d{2}\.\d{4}$/; + const games: Array<{ title: string; link: string; pubDate: string | null }> = []; + let arrivedAtGameSection = false; + + // Extract games with their publication dates based on H1 week markers + // We ignore the first H1 Date as that tells us the current Release Week of ElAmigos + // They just auto-update that Date and keep all Games released under that H1 Tag for the week + // So the best workaround to fill the Publish Date is to look for the next H1 Date Tag and append a Day to that Date. + $('h1, h3, h5').each((_, elem) => { + const $elem = $(elem); + const tagName = elem.tagName.toLowerCase(); + + if (tagName === 'h1') { + const text = $elem.text().trim(); + if (!dateRegex.test(text)) { + return; + } + arrivedAtGameSection = true; + // Found H1 date, fill all empty Games with the new Date. + for (const game of games) { + if (game.pubDate === null || game.pubDate.trim() === '') { + game.pubDate = text; + } + } + } else if ((tagName === 'h3' || tagName === 'h5') && arrivedAtGameSection) { + const link = $elem.find('a[href]').first(); + if (!link.length || games.length >= limit) { + return; + } + + const href = link.attr('href'); + const title = $elem.text().replaceAll('DOWNLOAD', '').trim(); + const fullLink = href.startsWith('http') ? href : `${baseUrl}/${href.replace(/^\//, '')}`; + games.push({ title, link: fullLink, pubDate: null }); + } + }); + + return games; +} + +function extractLatestDate(pageHtml: string): Date | null { + const dateMatches = pageHtml.match(/\b\d{2}\.\d{2}\.\d{4}\b/g) || []; + const uniqueDates = [...new Set(dateMatches)]; + + let newestDate: Date | null = null; + + for (const dateStr of uniqueDates) { + const parsedDate = toNeutralDate(dateStr); + if (newestDate === null || parsedDate > newestDate) { + newestDate = parsedDate; + } + } + + return newestDate; +} + +function sanitizeHtml(pageHtml: string): string { + const $page = load(pageHtml); + + $page('script, style, link, nav').remove(); + + $page('*').each((_: number, elem: any) => { + if (elem.attribs) { + const attributes = Object.keys(elem.attribs); + for (const attr of attributes) { + if (attr.toLowerCase().startsWith('on')) { + $page(elem).removeAttr(attr); + } + } + } + }); + + let contentHtml = $page('body').html() || ''; + contentHtml = contentHtml + .replaceAll(/^\s*[\r\n]/gm, '') + .replaceAll(/body\s*\{\s*margin-top:\s*1em;\s*\}/gi, '') + .trim(); + + return contentHtml; +} + +function processGameItem(game: { title: string; link: string; pubDate: string | null }): Promise { + const cacheKey = `elamigos:${game.link}`; + + return cache.tryGet(cacheKey, async () => { + try { + const { data: pageHtml } = await got(game.link); + + const newestDate = extractLatestDate(pageHtml); + // If the Data Page has a newer Date than what we got from the Main Page, we take it instead. + let finalPublishDate: Date | null = null; + if (game.pubDate) { + finalPublishDate = toNeutralDate(game.pubDate, true); + } + + if (finalPublishDate === null || (newestDate !== null && newestDate > finalPublishDate)) { + finalPublishDate = newestDate; + } + const contentHtml = sanitizeHtml(pageHtml); + + return { + title: game.title, + link: game.link, + pubDate: finalPublishDate === null ? undefined : finalPublishDate.toUTCString(), + description: contentHtml, + } as DataItem; + } catch { + return { + title: game.title, + link: game.link, + description: `

View game page: ${game.link}

`, + } as DataItem; + } + }); +} diff --git a/lib/routes/elamigos/namespace.ts b/lib/routes/elamigos/namespace.ts new file mode 100644 index 00000000000000..bbed715636d216 --- /dev/null +++ b/lib/routes/elamigos/namespace.ts @@ -0,0 +1,8 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: 'ElAmigos', + url: 'elamigos.site', + description: 'Game download site with daily releases', + lang: 'en-gb', +}; From 7296369c5f394bbb28a53842837829d481b8f5c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 08:15:52 +0000 Subject: [PATCH 005/259] chore(deps-dev): bump vite-tsconfig-paths from 6.1.0 to 6.1.1 (#21125) Bumps [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths) from 6.1.0 to 6.1.1. - [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases) - [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.1.0...v6.1.1) --- updated-dependencies: - dependency-name: vite-tsconfig-paths dependency-version: 6.1.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 | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 237cf531739de3..3ff9915f001f0b 100644 --- a/package.json +++ b/package.json @@ -195,7 +195,7 @@ "tsdown": "0.20.0", "typescript": "5.9.3", "unified": "11.0.5", - "vite-tsconfig-paths": "6.1.0", + "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", "wrangler": "4.64.0", "yaml-eslint-parser": "2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05ca34c538b346..227c811aaa629b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -444,8 +444,8 @@ importers: specifier: 11.0.5 version: 11.0.5 vite-tsconfig-paths: - specifier: 6.1.0 - version: 6.1.0(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + specifier: 6.1.1 + version: 6.1.1(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) @@ -5913,8 +5913,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-tsconfig-paths@6.1.0: - resolution: {integrity: sha512-kpd3sY9glHIDaq4V/Tlc1Y8WaKtutoc3B525GHxEVKWX42FKfQsXvjFOemu1I8VIN8pNbrMLWVTbW79JaRUxKg==} + vite-tsconfig-paths@6.1.1: + resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==} peerDependencies: vite: '*' @@ -9541,7 +9541,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -11882,7 +11882,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.0(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: debug: 4.4.3 globrex: 0.1.2 From e4a26434e0500e345e898d585f5468152ee68a14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 16:26:03 +0800 Subject: [PATCH 006/259] chore(deps): bump docker/build-push-action from 6.18.0 to 6.19.1 (#21127) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.18.0 to 6.19.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/263435318d21b8e681c14492fe198d362a7d2c83...601a80b39c9405e50806ae38af30926f9d957c47) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 6.19.1 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> --- .github/workflows/docker-release.yml | 4 ++-- .github/workflows/docker-test.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index e5b4b8ff444742..96f94421f7c922 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -107,7 +107,7 @@ jobs: - name: Build and push Docker image (ordinary version) id: build-and-push - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 with: context: . tags: ${{ steps.image-name-ordinary.outputs.tags }} @@ -160,7 +160,7 @@ jobs: - name: Build and push Docker image (Chromium-bundled version) id: build-and-push-chromium - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 with: context: . build-args: PUPPETEER_SKIP_DOWNLOAD=0 diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index a45571b8180ec3..bc0370c6f0efc0 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -40,7 +40,7 @@ jobs: flavor: latest=true - name: Build Docker image - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 with: context: . build-args: PUPPETEER_SKIP_DOWNLOAD=0 # also test bundling Chromium From a158559d4a05f40683b363823cee970520630be9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:47:48 +0800 Subject: [PATCH 007/259] chore(deps): bump actions/checkout from 4 to 6 (#21126) * chore(deps): bump actions/checkout from 4 to 6 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](https://github.com/actions/checkout/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore: hash pin actions --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/similar-issues.yml | 6 ++---- package.json | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/similar-issues.yml b/.github/workflows/similar-issues.yml index f2b046c6afebac..783362a8d35ae1 100644 --- a/.github/workflows/similar-issues.yml +++ b/.github/workflows/similar-issues.yml @@ -18,12 +18,10 @@ jobs: issues: write steps: - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Bun - uses: oven-sh/setup-bun@v2 + uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2.1.2 - name: Install opencode run: curl -fsSL https://opencode.ai/install | bash diff --git a/package.json b/package.json index 3ff9915f001f0b..e607acf5712e23 100644 --- a/package.json +++ b/package.json @@ -212,7 +212,7 @@ "engines": { "node": "^22.20.0 || ^24" }, - "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264", + "packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc", "pnpm": { "onlyBuiltDependencies": [ "bufferutil", From e43f5703069fd661d0956de8f45b5ff1b07d0f23 Mon Sep 17 00:00:00 2001 From: Yuzhong Zhang <141388234+BetterAndBetterII@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:56:49 +0800 Subject: [PATCH 008/259] feat(route/sina): add finance rollnews (#21124) Co-authored-by: betterandbetterii --- lib/routes/sina/finance/rollnews.ts | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 lib/routes/sina/finance/rollnews.ts diff --git a/lib/routes/sina/finance/rollnews.ts b/lib/routes/sina/finance/rollnews.ts new file mode 100644 index 00000000000000..347b0c3b13da81 --- /dev/null +++ b/lib/routes/sina/finance/rollnews.ts @@ -0,0 +1,59 @@ +import type { Route } from '@/types'; +import cache from '@/utils/cache'; + +import { getRollNewsList, parseArticle, parseRollNewsList } from '../utils'; + +export const route: Route = { + path: '/finance/rollnews/:lid?', + categories: ['new-media'], + example: '/sina/finance/rollnews', + parameters: { lid: '分区 id,见下表,默认为 `2519`' }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['finance.sina.com.cn/roll', 'finance.sina.com.cn/'], + target: '/finance/rollnews', + }, + ], + name: '财经-滚动新闻', + maintainers: ['betterandbetterii'], + handler, + url: 'finance.sina.com.cn/roll', + description: `| 财经 | 股市 | 美股 | 中国概念股 | 港股 | 研究报告 | 全球市场 | 外汇 | +| ---- | ---- | ---- | ---------- | ---- | -------- | -------- | ---- | +| 2519 | 2671 | 2672 | 2673 | 2674 | 2675 | 2676 | 2487 |`, +}; + +async function handler(ctx) { + const map = { + 2519: '财经', + 2671: '股市', + 2672: '美股', + 2673: '中国概念股', + 2674: '港股', + 2675: '研究报告', + 2676: '全球市场', + 2487: '外汇', + }; + + const pageid = '384'; + const { lid = '2519' } = ctx.req.param(); + const { limit = '50' } = ctx.req.query(); + const response = await getRollNewsList(pageid, lid, limit); + const list = parseRollNewsList(response.data.result.data); + + const out = await Promise.all(list.map((item) => parseArticle(item, cache.tryGet))); + + return { + title: `新浪财经-${map[lid] ?? lid}滚动新闻`, + link: `https://finance.sina.com.cn/roll/#pageid=${pageid}&lid=${lid}&k=&num=${limit}&page=1`, + item: out, + }; +} From 7132127a5d2e5c2b72065d0d7bf8e8b43fea60b2 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 12 Feb 2026 21:24:13 +0800 Subject: [PATCH 009/259] ci: add generic PR auto-review workflow (#21128) - Add reusable PR review rules prompt - Add workflow for automatic PR review on updates - Remove unused similar_issues prompt file --- .github/prompts/pr_review_rules.md | 50 ++++++++++++ .github/prompts/similar_issues.prompt.yml | 46 ----------- .github/workflows/pr-review.yml | 96 +++++++++++++++++++++++ 3 files changed, 146 insertions(+), 46 deletions(-) create mode 100644 .github/prompts/pr_review_rules.md delete mode 100644 .github/prompts/similar_issues.prompt.yml create mode 100644 .github/workflows/pr-review.yml diff --git a/.github/prompts/pr_review_rules.md b/.github/prompts/pr_review_rules.md new file mode 100644 index 00000000000000..56e5a63186c5ca --- /dev/null +++ b/.github/prompts/pr_review_rules.md @@ -0,0 +1,50 @@ +# PR Review Rules for RSSHub + +You are reviewing pull requests for RSSHub. + +Only report **clear and actionable** violations in changed lines/files. Do not report speculative or uncertain issues. + +## Route Metadata and Docs + +1. `example` must start with `/` and be a working RSSHub route path. +2. Route name must not repeat namespace name. +3. In radar rules, `source` must be a relative host/path (no `https://`, no hash/query matching). +4. In radar rules, `target` must match the route path and declared params. +5. Namespace `url` should not include protocol prefix. +6. Use a single category in `categories`. +7. `parameters` keys must match real path parameters. +8. Keep route/docs lists in alphabetical order when touching sorted files. +9. Do not modify default values or working examples unless they are broken. + +## Data Handling and Feed Quality + +10. Use `ctx.cache.tryGet()` for detail fetching in loops; cache processed result instead of raw HTML. +11. `description` should contain article content only; do not duplicate `title`, `author`, `pubDate`, or tags. +12. Extract tags/categories into `category` field. +13. Use `parseDate()` for date fields when source provides time. +14. Do not set fake dates (`new Date()` fallback) when source has no valid time. +15. Keep each item `link` unique and human-readable (not raw API endpoint). +16. Do not trim/truncate title/content manually. + +## API and Requesting + +17. Prefer official API endpoints over scraping when available. +18. Fetch first page only; do not add custom pagination behavior. +19. Use common parameter `limit` instead of custom limit/query filtering. +20. Prefer path parameters over custom query parameters for route config. +21. Use RSSHub built-in UA behavior; avoid unnecessary hardcoded UA/Host unless required. + +## Code Style and Maintainability + +22. Use `camelCase` naming. +23. Use `import type { ... }` for type-only imports. +24. Keep imports sorted. +25. Use `art-template` for custom HTML rendering patterns used by RSSHub. +26. Avoid unnecessary changes outside PR scope. + +## Reporting Format + +- Report only violated rules. +- Each bullet should include: file path, problem, and concrete fix. +- Group repeated issues across files into one concise bullet when possible. +- If no rule is clearly violated, do not comment. diff --git a/.github/prompts/similar_issues.prompt.yml b/.github/prompts/similar_issues.prompt.yml deleted file mode 100644 index c1bf40ea58cc3f..00000000000000 --- a/.github/prompts/similar_issues.prompt.yml +++ /dev/null @@ -1,46 +0,0 @@ -messages: - - role: system - content: |- - You are a GitHub assistant with access to GitHub Model Context Protocol (MCP) - tools in read-only mode. Your task is to search this repository's issues to find - previously filed issues similar to the provided issue title and body. Use the - GitHub tools via MCP to perform the search and retrieve real issue data (do not - fabricate results). Consider semantic similarity across title and body. Exclude - the current issue {{issue_number}}. Return up to 3 of the most similar past issues. If none are - reasonably similar, return an empty list. Output must follow the response schema - exactly and include only data you actually retrieved from GitHub tools. - The current GitHub repository is: "{{repository}}". - - role: user - content: |- - Find similar issues for issue {{issue_number}}: - Title: {{issue_title}} - Body: - {{issue_body}} -model: openai/gpt-4.1-mini -responseFormat: json_schema -jsonSchema: |- - { - "name": "similar_issues_result", - "strict": true, - "schema": { - "type": "object", - "properties": { - "matches": { - "type": "array", - "items": { - "type": "object", - "properties": { - "number": { "type": "integer" }, - "title": { "type": "string" }, - "url": { "type": "string" }, - "similarity_score": { "type": "number", "minimum": 0, "maximum": 1 } - }, - "required": ["number", "title", "url", "similarity_score"], - "additionalProperties": false - } - } - }, - "required": ["matches"], - "additionalProperties": false - } - } diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml new file mode 100644 index 00000000000000..15209918fba9cb --- /dev/null +++ b/.github/workflows/pr-review.yml @@ -0,0 +1,96 @@ +name: pr-review + +on: + pull_request_target: + types: [opened, reopened, synchronize, ready_for_review] + workflow_dispatch: + inputs: + pr_number: + description: Pull request number to review manually + required: true + type: number + +jobs: + review-pr: + if: github.event_name == 'workflow_dispatch' || github.event.pull_request.draft == false + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + issues: write + pull-requests: write + steps: + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Set up Bun + uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2.1.2 + + - name: Install opencode + run: curl -fsSL https://opencode.ai/install | bash + + - name: Review PR with rules + env: + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }} + OPENCODE_PERMISSION: | + { + "bash": { + "*": "deny", + "gh auth*": "allow", + "gh pr*": "allow", + "gh api*": "allow" + }, + "webfetch": "deny" + } + run: | + if [ -z "$PR_NUMBER" ]; then + echo "pr_number is required" + exit 1 + fi + + RULES=$(cat .github/prompts/pr_review_rules.md) + + opencode run -m ${{ vars.OPENCODE_MODEL }} "A pull request has been created or updated in this repository. + + Pull request number: + $PR_NUMBER + + Repository: + $GITHUB_REPOSITORY + + Your task: + 1. Use GitHub CLI commands to inspect this PR's metadata and code changes. + 2. Review only based on the following rules. + 3. Report only clear and actionable violations from changed files. + 4. If no clear violations are found, do not comment. + + Review rules: + $RULES + + Required behavior: + - Keep feedback concise and grouped by rule. + - Include file path and a concrete fix suggestion for each issue. + - Ignore uncertain or low-confidence findings. + - Avoid duplicate comments. + + Comment protocol: + - Use marker: + - Check existing comments in issue comments for this marker. + - If a marker comment exists, update it with latest findings. + - Otherwise create a new PR comment. + - If there are no findings and marker comment exists, edit marker comment to a short pass status. + + Suggested comment format: + + ## Auto Review + - [Rule] file: issue + suggestion + + For no findings: + + ## Auto Review + No clear rule violations found in the current diff. + + Use only gh commands and repository data." From 6ab5cf62fffd7cccbff06e21a10d87cf3bca90c6 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 12 Feb 2026 21:49:06 +0800 Subject: [PATCH 010/259] docs: update outdated PR review rules (#21129) --- .github/prompts/pr_review_rules.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/prompts/pr_review_rules.md b/.github/prompts/pr_review_rules.md index 56e5a63186c5ca..206248019cfe60 100644 --- a/.github/prompts/pr_review_rules.md +++ b/.github/prompts/pr_review_rules.md @@ -18,12 +18,12 @@ Only report **clear and actionable** violations in changed lines/files. Do not r ## Data Handling and Feed Quality -10. Use `ctx.cache.tryGet()` for detail fetching in loops; cache processed result instead of raw HTML. +10. Use `cache.tryGet()` (from `@/utils/cache`) for detail fetching in loops; cache processed result instead of raw HTML. 11. `description` should contain article content only; do not duplicate `title`, `author`, `pubDate`, or tags. 12. Extract tags/categories into `category` field. 13. Use `parseDate()` for date fields when source provides time. 14. Do not set fake dates (`new Date()` fallback) when source has no valid time. -15. Keep each item `link` unique and human-readable (not raw API endpoint). +15. Keep each item `link` unique; feed-level `link` should be human-readable (not raw API endpoint). 16. Do not trim/truncate title/content manually. ## API and Requesting @@ -32,14 +32,14 @@ Only report **clear and actionable** violations in changed lines/files. Do not r 18. Fetch first page only; do not add custom pagination behavior. 19. Use common parameter `limit` instead of custom limit/query filtering. 20. Prefer path parameters over custom query parameters for route config. -21. Use RSSHub built-in UA behavior; avoid unnecessary hardcoded UA/Host unless required. +21. Use RSSHub built-in UA behavior; when browser-like headers are needed, use `config.trueUA` instead of hardcoded UA strings. ## Code Style and Maintainability 22. Use `camelCase` naming. 23. Use `import type { ... }` for type-only imports. 24. Keep imports sorted. -25. Use `art-template` for custom HTML rendering patterns used by RSSHub. +25. Use JSX-based rendering (`renderToString` and template components) for custom HTML rendering patterns used by RSSHub. 26. Avoid unnecessary changes outside PR scope. ## Reporting Format From 91ff6e28dfac408cf07cbca222af54180f36c625 Mon Sep 17 00:00:00 2001 From: Qiang Huang Date: Fri, 13 Feb 2026 00:00:58 -0800 Subject: [PATCH 011/259] fix(route/smartlink): Remove HTML from the title for cnbc (#21130) --- lib/routes/smartlink/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/routes/smartlink/index.ts b/lib/routes/smartlink/index.ts index 61cf7c03984e57..e0d04bebbb2337 100644 --- a/lib/routes/smartlink/index.ts +++ b/lib/routes/smartlink/index.ts @@ -12,7 +12,10 @@ function parseTitle(smartlinkUrl: string): string { const dateIndex = pathSegments.findIndex((segment) => dateRegex.test(segment)); // Use the segment after the date if found, otherwise use the last path segment - const titleSlug = dateIndex !== -1 && dateIndex < pathSegments.length - 1 ? pathSegments[dateIndex + 1] : pathSegments.at(-1) || ''; + let titleSlug = dateIndex !== -1 && dateIndex < pathSegments.length - 1 ? pathSegments[dateIndex + 1] : pathSegments.at(-1) || ''; + + // Remove .html/.htm extension if present + titleSlug = titleSlug.replace(/\.(html?|htm)$/i, ''); // Convert hyphens to spaces and capitalize each word return toTitleCase(titleSlug.replaceAll('-', ' ')); From 1b9eccb19e034f88d82bc68e7b64c89433d0bd5a Mon Sep 17 00:00:00 2001 From: Vonfry Date: Fri, 13 Feb 2026 16:09:12 +0800 Subject: [PATCH 012/259] chore(flake): add environmentFiles in options (#21131) --- flake.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0ecedb3e031d72..439b0035dc7289 100644 --- a/flake.nix +++ b/flake.nix @@ -166,6 +166,19 @@ ''; }; + environmentFiles = mkOption { + type = types.listOf types.path; + default = [ ]; + example = literalExpression '' + [ config.sops.secrets.rsshub.path ] + ''; + description = '' + Environment variables stored in files for RSSHub. + It can be used for secrets like agenix, sops-nix, etc. + See https://docs.rsshub.app/deploy/config for available options. + ''; + }; + redis = { enable = mkOption { type = types.bool; @@ -238,7 +251,7 @@ User = cfg.user; Group = cfg.group; WorkingDirectory = cfg.dataDir; - EnvironmentFile = environmentFile; + EnvironmentFile = [environmentFile] ++ cfg.environmentFiles; ExecStart = "${cfg.package}/bin/rsshub"; Restart = "on-failure"; RestartSec = "5s"; From 8e12d5ad2deda44d9a8634341e64764beb696aa2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 08:21:26 +0000 Subject: [PATCH 013/259] chore(deps): bump docker/build-push-action from 6.19.1 to 6.19.2 (#21132) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.19.1 to 6.19.2. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/601a80b39c9405e50806ae38af30926f9d957c47...10e90e3645eae34f1e60eeb005ba3a3d33f178e8) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 6.19.2 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> --- .github/workflows/docker-release.yml | 4 ++-- .github/workflows/docker-test.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 96f94421f7c922..0b7686dbc696af 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -107,7 +107,7 @@ jobs: - name: Build and push Docker image (ordinary version) id: build-and-push - uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . tags: ${{ steps.image-name-ordinary.outputs.tags }} @@ -160,7 +160,7 @@ jobs: - name: Build and push Docker image (Chromium-bundled version) id: build-and-push-chromium - uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . build-args: PUPPETEER_SKIP_DOWNLOAD=0 diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index bc0370c6f0efc0..6437b8924eab10 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -40,7 +40,7 @@ jobs: flavor: latest=true - name: Build Docker image - uses: docker/build-push-action@601a80b39c9405e50806ae38af30926f9d957c47 # v6.19.1 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . build-args: PUPPETEER_SKIP_DOWNLOAD=0 # also test bundling Chromium From b0bfc6d8a51cb3bf56fea8320884337b648a67b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 08:28:55 +0000 Subject: [PATCH 014/259] chore(deps): bump ioredis from 5.9.2 to 5.9.3 (#21134) Bumps [ioredis](https://github.com/luin/ioredis) from 5.9.2 to 5.9.3. - [Release notes](https://github.com/luin/ioredis/releases) - [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md) - [Commits](https://github.com/luin/ioredis/compare/v5.9.2...v5.9.3) --- updated-dependencies: - dependency-name: ioredis dependency-version: 5.9.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 e607acf5712e23..00c4a857a87d8a 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "iconv-lite": "0.7.2", "imapflow": "1.2.9", "instagram-private-api": "1.46.1", - "ioredis": "5.9.2", + "ioredis": "5.9.3", "ip-regex": "5.0.0", "jsdom": "27.0.0", "json-bigint": "1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 227c811aaa629b..ee3473c6bf190c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -149,8 +149,8 @@ importers: specifier: 1.46.1 version: 1.46.1 ioredis: - specifier: 5.9.2 - version: 5.9.2 + specifier: 5.9.3 + version: 5.9.3 ip-regex: specifier: 5.0.0 version: 5.0.0 @@ -4149,8 +4149,8 @@ packages: re2: optional: true - ioredis@5.9.2: - resolution: {integrity: sha512-tAAg/72/VxOUW7RQSX1pIxJVucYKcjFjfvj60L57jrZpYCHC3XN0WCQ3sNYL4Gmvv+7GPvTAjc+KSdeNuE8oWQ==} + ioredis@5.9.3: + resolution: {integrity: sha512-VI5tMCdeoxZWU5vjHWsiE/Su76JGhBvWF1MJnV9ZtGltHk9BmD48oDq8Tj8haZ85aceXZMxLNDQZRVo5QKNgXA==} engines: {node: '>=12.22.0'} ip-address@10.1.0: @@ -9855,7 +9855,7 @@ snapshots: transitivePeerDependencies: - supports-color - ioredis@5.9.2: + ioredis@5.9.3: dependencies: '@ioredis/commands': 1.5.0 cluster-key-slot: 1.1.2 From 3e6bbacfcb300c79e9ff8660e3bc22d868755816 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:37:19 +0800 Subject: [PATCH 015/259] chore(deps-dev): bump oxfmt from 0.31.0 to 0.32.0 (#21135) Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.31.0 to 0.32.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.32.0/npm/oxfmt) --- updated-dependencies: - dependency-name: oxfmt dependency-version: 0.32.0 dependency-type: direct:development 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 | 162 ++++++++++++++++++++++++------------------------- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index 00c4a857a87d8a..f6f4aeb17d5e81 100644 --- a/package.json +++ b/package.json @@ -189,7 +189,7 @@ "mockdate": "3.0.5", "msw": "2.4.3", "node-network-devtools": "1.0.29", - "oxfmt": "0.31.0", + "oxfmt": "0.32.0", "remark-parse": "11.0.0", "supertest": "7.2.2", "tsdown": "0.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee3473c6bf190c..1bb05f6d2506e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -426,8 +426,8 @@ importers: specifier: 1.0.29 version: 1.0.29(undici@7.21.0)(utf-8-validate@5.0.10) oxfmt: - specifier: 0.31.0 - version: 0.31.0 + specifier: 0.32.0 + version: 0.32.0 remark-parse: specifier: 11.0.0 version: 11.0.0 @@ -1835,124 +1835,124 @@ packages: '@oxc-project/types@0.110.0': resolution: {integrity: sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==} - '@oxfmt/binding-android-arm-eabi@0.31.0': - resolution: {integrity: sha512-2A7s+TmsY7xF3yM0VWXq2YJ82Z7Rd7AOKraotyp58Fbk7q9cFZKczW6Zrz/iaMaJYfR/UHDxF3kMR11vayflug==} + '@oxfmt/binding-android-arm-eabi@0.32.0': + resolution: {integrity: sha512-DpVyuVzgLH6/MvuB/YD3vXO9CN/o9EdRpA0zXwe/tagP6yfVSFkFWkPqTROdqp0mlzLH5Yl+/m+hOrcM601EbA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.31.0': - resolution: {integrity: sha512-3ppKOIf2lQv/BFhRyENWs/oarueppCEnPNo0Az2fKkz63JnenRuJPoHaGRrMHg1oFMUitdYy+YH29Cv5ISZWRQ==} + '@oxfmt/binding-android-arm64@0.32.0': + resolution: {integrity: sha512-w1cmNXf9zs0vKLuNgyUF3hZ9VUAS1hBmQGndYJv1OmcVqStBtRTRNxSWkWM0TMkrA9UbvIvM9gfN+ib4Wy6lkQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.31.0': - resolution: {integrity: sha512-eFhNnle077DPRW6QPsBtl/wEzPoqgsB1LlzDRYbbztizObHdCo6Yo8T0hew9+HoYtnVMAP19zcRE7VG9OfqkMw==} + '@oxfmt/binding-darwin-arm64@0.32.0': + resolution: {integrity: sha512-m6wQojz/hn94XdZugFPtdFbOvXbOSYEqPsR2gyLyID3BvcrC2QsJyT1o3gb4BZEGtZrG1NiKVGwDRLM0dHd2mg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.31.0': - resolution: {integrity: sha512-9UQSunEqokhR1WnlQCgJjkjw13y8PSnBvR98L78beGudTtNSaPMgwE7t/T0IPDibtDTxeEt+IQVKoQJ+8Jo6Lg==} + '@oxfmt/binding-darwin-x64@0.32.0': + resolution: {integrity: sha512-hN966Uh6r3Erkg2MvRcrJWaB6QpBzP15rxWK/QtkUyD47eItJLsAQ2Hrm88zMIpFZ3COXZLuN3hqgSlUtvB0Xw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.31.0': - resolution: {integrity: sha512-FHo7ITkDku3kQ8/44nU6IGR1UNH22aqYM3LV2ytV40hWSMVllXFlM+xIVusT+I/SZBAtuFpwEWzyS+Jn4TkkAQ==} + '@oxfmt/binding-freebsd-x64@0.32.0': + resolution: {integrity: sha512-g5UZPGt8tJj263OfSiDGdS54HPa0KgFfspLVAUivVSdoOgsk6DkwVS9nO16xQTDztzBPGxTvrby8WuufF0g86Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.31.0': - resolution: {integrity: sha512-o1NiDlJDO9SOoY5wH8AyPUX60yQcOwu5oVuepi2eetArBp0iFF9qIH1uLlZsUu4QQ6ywqxcJSMjXCqGKC5uQFg==} + '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': + resolution: {integrity: sha512-F4ZY83/PVQo9ZJhtzoMqbmjqEyTVEZjbaw4x1RhzdfUhddB41ZB2Vrt4eZi7b4a4TP85gjPRHgQBeO0c1jbtaw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.31.0': - resolution: {integrity: sha512-VXiRxlBz7ivAIjhnnVBEYdjCQ66AsjM0YKxYAcliS0vPqhWKiScIT61gee0DPCVaw1XcuW8u19tfRwpfdYoreg==} + '@oxfmt/binding-linux-arm-musleabihf@0.32.0': + resolution: {integrity: sha512-olR37eG16Lzdj9OBSvuoT5RxzgM5xfQEHm1OEjB3M7Wm4KWa5TDWIT13Aiy74GvAN77Hq1+kUKcGVJ/0ynf75g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.31.0': - resolution: {integrity: sha512-ryGPOtPViNcjs8N8Ap+wn7SM6ViiLzR9f0Pu7yprae+wjl6qwnNytzsUe7wcb+jT43DJYmvemFqE8tLVUavYbQ==} + '@oxfmt/binding-linux-arm64-gnu@0.32.0': + resolution: {integrity: sha512-eZhk6AIjRCDeLoXYBhMW7qq/R1YyVi+tGnGfc3kp7AZQrMsFaWtP/bgdCJCTNXMpbMwymtVz0qhSQvR5w2sKcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.31.0': - resolution: {integrity: sha512-BA3Euxp4bfd+AU3cKPgmHL44BbuBtmQTyAQoVDhX/nqPgbS/auoGp71uQBE4SAPTsQM/FcXxfKmCAdBS7ygF9w==} + '@oxfmt/binding-linux-arm64-musl@0.32.0': + resolution: {integrity: sha512-UYiqO9MlipntFbdbUKOIo84vuyzrK4TVIs7Etat91WNMFSW54F6OnHq08xa5ZM+K9+cyYMgQPXvYCopuP+LyKw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.31.0': - resolution: {integrity: sha512-wIiKHulVWE9s6PSftPItucTviyCvjugwPqEyUl1VD47YsFqa5UtQTknBN49NODHJvBgO+eqqUodgRqmNMp3xyw==} + '@oxfmt/binding-linux-ppc64-gnu@0.32.0': + resolution: {integrity: sha512-IDH/fxMv+HmKsMtsjEbXqhScCKDIYp38sgGEcn0QKeXMxrda67PPZA7HMfoUwEtFUG+jsO1XJxTrQsL+kQ90xQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.31.0': - resolution: {integrity: sha512-6cM8Jt54bg9V/JoeUWhwnzHAS9Kvgc0oFsxql8PVs/njAGs0H4r+GEU4d+LXZPwI3b3ZUuzpbxlRJzer8KW+Cg==} + '@oxfmt/binding-linux-riscv64-gnu@0.32.0': + resolution: {integrity: sha512-bQFGPDa0buYWJFeK2I7ah8wRZjrAgamaG2OAGv+Ua5UMYEnHxmHcv+r8lWUUrwP2oqQGvp1SB8JIVtBbYuAueQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.31.0': - resolution: {integrity: sha512-d+b05wXVRGaO6gobTaDqUdBvTXwYc0ro7k1UVC37k4VimLRQOzEZqTwVinqIX3LxTaFCmfO1yG00u9Pct3AKwQ==} + '@oxfmt/binding-linux-riscv64-musl@0.32.0': + resolution: {integrity: sha512-3vFp9DW1ItEKWltADzCFqG5N7rYFToT4ztlhg8wALoo2E2VhveLD88uAF4FF9AxD9NhgHDGmPCV+WZl/Qlj8cQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.31.0': - resolution: {integrity: sha512-Q+i2kj8e+two9jTZ3vxmxdNlg++qShe1ODL6xV4+Qt6SnJYniMxfcqphuXli4ft270kuHqd8HSVZs84CsSh1EA==} + '@oxfmt/binding-linux-s390x-gnu@0.32.0': + resolution: {integrity: sha512-Fub2y8S9ImuPzAzpbgkoz/EVTWFFBolxFZYCMRhRZc8cJZI2gl/NlZswqhvJd/U0Jopnwgm/OJ2x128vVzFFWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.31.0': - resolution: {integrity: sha512-F2Z5ffj2okhaQBi92MylwZddKvFPBjrsZnGvvRmVvWRf8WJ0WkKUTtombDgRYNDgoW7GBUUrNNNgWhdB7kVjBA==} + '@oxfmt/binding-linux-x64-gnu@0.32.0': + resolution: {integrity: sha512-XufwsnV3BF81zO2ofZvhT4FFaMmLTzZEZnC9HpFz/quPeg9C948+kbLlZnsfjmp+1dUxKMCpfmRMqOfF4AOLsA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.31.0': - resolution: {integrity: sha512-Vz7dZQd1yhE5wTWujGanPmZgDtzLZS1PQoeMmUj89p4eMTmpIkvWaIr3uquJCbh8dQd5cPZrFvMmdDgcY5z+GA==} + '@oxfmt/binding-linux-x64-musl@0.32.0': + resolution: {integrity: sha512-u2f9tC2qYfikKmA2uGpnEJgManwmk0ZXWs5BB4ga4KDu2JNLdA3i634DGHeMLK9wY9+iRf3t7IYpgN3OVFrvDw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.31.0': - resolution: {integrity: sha512-nm0gus6R5V9tM1XaELiiIduUzmdBuCefkwToWKL4UtuFoMCGkigVQnbzHwPTGLVWOEF6wTQucFA8Fn1U8hxxVw==} + '@oxfmt/binding-openharmony-arm64@0.32.0': + resolution: {integrity: sha512-5ZXb1wrdbZ1YFXuNXNUCePLlmLDy4sUt4evvzD4Cgumbup5wJgS9PIe5BOaLywUg9f1wTH6lwltj3oT7dFpIGA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.31.0': - resolution: {integrity: sha512-mMpvvPpoLD97Q2TMhjWDJSn+ib3kN+H+F4gq9p88zpeef6sqWc9djorJ3JXM2sOZMJ6KZ+1kSJfe0rkji74Pog==} + '@oxfmt/binding-win32-arm64-msvc@0.32.0': + resolution: {integrity: sha512-IGSMm/Agq+IA0++aeAV/AGPfjcBdjrsajB5YpM3j7cMcwoYgUTi/k2YwAmsHH3ueZUE98pSM/Ise2J7HtyRjOA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.31.0': - resolution: {integrity: sha512-zTngbPyrTDBYJFVQa4OJldM6w1Rqzi8c0/eFxAEbZRoj6x149GkyMkAY3kM+09ZhmszFitCML2S3p10NE2XmHA==} + '@oxfmt/binding-win32-ia32-msvc@0.32.0': + resolution: {integrity: sha512-H/9gsuqXmceWMsVoCPZhtJG2jLbnBeKr7xAXm2zuKpxLVF7/2n0eh7ocOLB6t+L1ARE76iORuUsRMnuGjj8FjQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.31.0': - resolution: {integrity: sha512-TB30D+iRLe6eUbc/utOA93+FNz5C6vXSb/TEhwvlODhKYZZSSKn/lFpYzZC7bdhx3a8m4Jq8fEUoCJ6lKnzdpA==} + '@oxfmt/binding-win32-x64-msvc@0.32.0': + resolution: {integrity: sha512-fF8VIOeligq+mA6KfKvWtFRXbf0EFy73TdR6ZnNejdJRM8VWN1e3QFhYgIwD7O8jBrQsd7EJbUpkAr/YlUOokg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4906,8 +4906,8 @@ packages: resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} engines: {node: '>=12'} - oxfmt@0.31.0: - resolution: {integrity: sha512-ukl7nojEuJUGbqR4ijC0Z/7a6BYpD4RxLS2UsyJKgbeZfx6TNrsa48veG0z2yQbhTx1nVnes4GIcqMn7n2jFtw==} + oxfmt@0.32.0: + resolution: {integrity: sha512-KArQhGzt/Y8M1eSAX98Y8DLtGYYDQhkR55THUPY5VNcpFQ+9nRZkL3ULXhagHMD2hIvjy8JSeEQEP5/yYJSrLA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -7414,61 +7414,61 @@ snapshots: '@oxc-project/types@0.110.0': {} - '@oxfmt/binding-android-arm-eabi@0.31.0': + '@oxfmt/binding-android-arm-eabi@0.32.0': optional: true - '@oxfmt/binding-android-arm64@0.31.0': + '@oxfmt/binding-android-arm64@0.32.0': optional: true - '@oxfmt/binding-darwin-arm64@0.31.0': + '@oxfmt/binding-darwin-arm64@0.32.0': optional: true - '@oxfmt/binding-darwin-x64@0.31.0': + '@oxfmt/binding-darwin-x64@0.32.0': optional: true - '@oxfmt/binding-freebsd-x64@0.31.0': + '@oxfmt/binding-freebsd-x64@0.32.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.31.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.31.0': + '@oxfmt/binding-linux-arm-musleabihf@0.32.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.31.0': + '@oxfmt/binding-linux-arm64-gnu@0.32.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.31.0': + '@oxfmt/binding-linux-arm64-musl@0.32.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.31.0': + '@oxfmt/binding-linux-ppc64-gnu@0.32.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.31.0': + '@oxfmt/binding-linux-riscv64-gnu@0.32.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.31.0': + '@oxfmt/binding-linux-riscv64-musl@0.32.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.31.0': + '@oxfmt/binding-linux-s390x-gnu@0.32.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.31.0': + '@oxfmt/binding-linux-x64-gnu@0.32.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.31.0': + '@oxfmt/binding-linux-x64-musl@0.32.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.31.0': + '@oxfmt/binding-openharmony-arm64@0.32.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.31.0': + '@oxfmt/binding-win32-arm64-msvc@0.32.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.31.0': + '@oxfmt/binding-win32-ia32-msvc@0.32.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.31.0': + '@oxfmt/binding-win32-x64-msvc@0.32.0': optional: true '@paralleldrive/cuid2@2.3.1': @@ -10695,29 +10695,29 @@ snapshots: lodash.isequal: 4.5.0 vali-date: 1.0.0 - oxfmt@0.31.0: + oxfmt@0.32.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.31.0 - '@oxfmt/binding-android-arm64': 0.31.0 - '@oxfmt/binding-darwin-arm64': 0.31.0 - '@oxfmt/binding-darwin-x64': 0.31.0 - '@oxfmt/binding-freebsd-x64': 0.31.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.31.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.31.0 - '@oxfmt/binding-linux-arm64-gnu': 0.31.0 - '@oxfmt/binding-linux-arm64-musl': 0.31.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.31.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.31.0 - '@oxfmt/binding-linux-riscv64-musl': 0.31.0 - '@oxfmt/binding-linux-s390x-gnu': 0.31.0 - '@oxfmt/binding-linux-x64-gnu': 0.31.0 - '@oxfmt/binding-linux-x64-musl': 0.31.0 - '@oxfmt/binding-openharmony-arm64': 0.31.0 - '@oxfmt/binding-win32-arm64-msvc': 0.31.0 - '@oxfmt/binding-win32-ia32-msvc': 0.31.0 - '@oxfmt/binding-win32-x64-msvc': 0.31.0 + '@oxfmt/binding-android-arm-eabi': 0.32.0 + '@oxfmt/binding-android-arm64': 0.32.0 + '@oxfmt/binding-darwin-arm64': 0.32.0 + '@oxfmt/binding-darwin-x64': 0.32.0 + '@oxfmt/binding-freebsd-x64': 0.32.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.32.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.32.0 + '@oxfmt/binding-linux-arm64-gnu': 0.32.0 + '@oxfmt/binding-linux-arm64-musl': 0.32.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.32.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.32.0 + '@oxfmt/binding-linux-riscv64-musl': 0.32.0 + '@oxfmt/binding-linux-s390x-gnu': 0.32.0 + '@oxfmt/binding-linux-x64-gnu': 0.32.0 + '@oxfmt/binding-linux-x64-musl': 0.32.0 + '@oxfmt/binding-openharmony-arm64': 0.32.0 + '@oxfmt/binding-win32-arm64-msvc': 0.32.0 + '@oxfmt/binding-win32-ia32-msvc': 0.32.0 + '@oxfmt/binding-win32-x64-msvc': 0.32.0 p-cancelable@4.0.1: {} From 0366a735edd5bbc20604ea09f6f5894d698f8857 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:38:42 +0800 Subject: [PATCH 016/259] chore(deps): bump dotenv from 17.2.4 to 17.3.1 (#21136) Bumps [dotenv](https://github.com/motdotla/dotenv) from 17.2.4 to 17.3.1. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.1) --- updated-dependencies: - dependency-name: dotenv dependency-version: 17.3.1 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f6f4aeb17d5e81..117448905cdb91 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "currency-symbol-map": "5.1.0", "dayjs": "1.11.19", "destr": "2.0.5", - "dotenv": "17.2.4", + "dotenv": "17.3.1", "entities": "7.0.1", "etag": "1.8.1", "fanfou-sdk": "6.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bb05f6d2506e9..21c3988171ecb5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,8 +104,8 @@ importers: specifier: 2.0.5 version: 2.0.5 dotenv: - specifier: 17.2.4 - version: 17.2.4 + specifier: 17.3.1 + version: 17.3.1 entities: specifier: 7.0.1 version: 7.0.1 @@ -3433,8 +3433,8 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} - dotenv@17.2.4: - resolution: {integrity: sha512-mudtfb4zRB4bVvdj0xRo+e6duH1csJRM8IukBqfTRvHotn9+LBXB8ynAidP9zHqoRC/fsllXgk4kCKlR21fIhw==} + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} dotenv@6.2.0: @@ -8932,7 +8932,7 @@ snapshots: dependencies: is-obj: 2.0.0 - dotenv@17.2.4: {} + dotenv@17.3.1: {} dotenv@6.2.0: {} From d9922842e944561ab6adb05b767ccddbec90dbb5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:39:52 +0800 Subject: [PATCH 017/259] chore(deps): bump otplib from 13.2.1 to 13.3.0 (#21138) Bumps [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) from 13.2.1 to 13.3.0. - [Release notes](https://github.com/yeojz/otplib/releases) - [Changelog](https://github.com/yeojz/otplib/blob/main/release.config.json) - [Commits](https://github.com/yeojz/otplib/commits/v13.3.0/packages/otplib) --- updated-dependencies: - dependency-name: otplib dependency-version: 13.3.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 | 74 +++++++++++++++++++++++++------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 117448905cdb91..70302787abfde3 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "notion-to-md": "3.1.9", "oauth-1.0a": "2.2.6", "ofetch": "1.5.1", - "otplib": "13.2.1", + "otplib": "13.3.0", "p-map": "7.0.4", "pac-proxy-agent": "7.2.0", "proxy-chain": "2.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21c3988171ecb5..e89fbf004cadc8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -194,8 +194,8 @@ importers: specifier: 1.5.1 version: 1.5.1 otplib: - specifier: 13.2.1 - version: 13.2.1 + specifier: 13.3.0 + version: 13.3.0 p-map: specifier: 7.0.4 version: 7.0.4 @@ -1814,23 +1814,23 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@otplib/core@13.2.1': - resolution: {integrity: sha512-IyfHvYNCyipDxhmJdcUUvUeT3Hz84/GgM6G2G6BTEmnAKPzNA7U0kYGkxKZWY9h23W94RJk4qiClJRJN5zKGvg==} + '@otplib/core@13.3.0': + resolution: {integrity: sha512-pnQDOuCmFVeF/XnboJq9TOJgLoo2idNPJKMymOF8vGqJJ+ReKRYM9bUGjNPRWC0tHjMwu1TXbnzyBp494JgRag==} - '@otplib/hotp@13.2.1': - resolution: {integrity: sha512-iRKqvj0TnemtXXtEswzBX50Z0yMNa0lH9PSdr5N4CJc1mDEuUmFFZQqnu3PfA3fPd3WeAU+mHgmK/xq18+K1QA==} + '@otplib/hotp@13.3.0': + resolution: {integrity: sha512-XJMZGz2bg4QJwK7ulvl1GUI2VMn/flaIk/E/BTKAejHsX2kUtPF1bRhlZ2+elq8uU5Fs9Z9FHcQK2CPZNQbbUQ==} - '@otplib/plugin-base32-scure@13.2.1': - resolution: {integrity: sha512-vnA2qqgJ/FbFbDNGOLAS8dKfCsJFXwFsZKYklE8yl2INkCOUR0vbVdJ2TVmufzC8R1RRZHW+cDR20ACgc9XFYg==} + '@otplib/plugin-base32-scure@13.3.0': + resolution: {integrity: sha512-/jYbL5S6GB0Ie3XGEWtLIr9s5ZICl/BfmNL7+8/W7usZaUU4GiyLd2S+JGsNCslPyqNekSudD864nDAvRI0s8w==} - '@otplib/plugin-crypto-noble@13.2.1': - resolution: {integrity: sha512-Dxjmt4L+5eDWJf5EvbcMp+fxcliyKoB9N9sNQq/vuVAUvq+KiqpiiCQZ/wHyrN0ArB0NdevtK1KByyAq080ldg==} + '@otplib/plugin-crypto-noble@13.3.0': + resolution: {integrity: sha512-wmV+jBVncepgwv99G7Plrdzd0tHfbpXk2U+OD7MO7DzpDqOYEgOPi+IIneksJSTL8QvWdfi+uQEuhnER4fKouA==} - '@otplib/totp@13.2.1': - resolution: {integrity: sha512-LzDzAAK3w8rspF3urBnWjOlxso1SCGxX9Pnu/iy+HkC0y0HgiLsW7jhkr2hJ3u4cyBdL/tOKUhhELwsjyvunwQ==} + '@otplib/totp@13.3.0': + resolution: {integrity: sha512-XfjGNoN8d9S3Ove2j7AwkVV7+QDFsV7Lm7YwSiezNaHffkWtJ60aJYpmf+01dARdPST71U2ptueMsRJso4sq4A==} - '@otplib/uri@13.2.1': - resolution: {integrity: sha512-ssYnfiUrFTs/rPRUW8h59m0MVLYOC+UKk7tVGYgtG15lLaLBrNBQjM2YFanuzn9Jm4iv9JxiNG7TRkwcnyR09A==} + '@otplib/uri@13.3.0': + resolution: {integrity: sha512-3oh6nBXy+cm3UX9cxEAGZiDrfxHU2gfelYFV+XNCx+8dq39VaQVymwlU2yjPZiMAi/3agaUeEftf2RwM5F+Cyg==} '@oxc-project/types@0.110.0': resolution: {integrity: sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==} @@ -4896,8 +4896,8 @@ packages: resolution: {integrity: sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg==} engines: {node: '>=0.4.0'} - otplib@13.2.1: - resolution: {integrity: sha512-Cft9h/m34LtvnoB2TjP1E1E6v0biwcUntl6U4e+HgWrTa0bpwmb+u/D9gLFA+U6/ztlvrult0811Bu30nUVUuA==} + otplib@13.3.0: + resolution: {integrity: sha512-VYMKyyDG8yt2q+z58sz54/EIyTh7+tyMrjeemR44iVh5+dkKtIs57irTqxjH+IkAL1uMmG1JIFhG5CxTpqdU5g==} outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} @@ -7385,32 +7385,32 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@otplib/core@13.2.1': {} + '@otplib/core@13.3.0': {} - '@otplib/hotp@13.2.1': + '@otplib/hotp@13.3.0': dependencies: - '@otplib/core': 13.2.1 - '@otplib/uri': 13.2.1 + '@otplib/core': 13.3.0 + '@otplib/uri': 13.3.0 - '@otplib/plugin-base32-scure@13.2.1': + '@otplib/plugin-base32-scure@13.3.0': dependencies: - '@otplib/core': 13.2.1 + '@otplib/core': 13.3.0 '@scure/base': 2.0.0 - '@otplib/plugin-crypto-noble@13.2.1': + '@otplib/plugin-crypto-noble@13.3.0': dependencies: '@noble/hashes': 2.0.1 - '@otplib/core': 13.2.1 + '@otplib/core': 13.3.0 - '@otplib/totp@13.2.1': + '@otplib/totp@13.3.0': dependencies: - '@otplib/core': 13.2.1 - '@otplib/hotp': 13.2.1 - '@otplib/uri': 13.2.1 + '@otplib/core': 13.3.0 + '@otplib/hotp': 13.3.0 + '@otplib/uri': 13.3.0 - '@otplib/uri@13.2.1': + '@otplib/uri@13.3.0': dependencies: - '@otplib/core': 13.2.1 + '@otplib/core': 13.3.0 '@oxc-project/types@0.110.0': {} @@ -10676,14 +10676,14 @@ snapshots: options@0.0.6: {} - otplib@13.2.1: + otplib@13.3.0: dependencies: - '@otplib/core': 13.2.1 - '@otplib/hotp': 13.2.1 - '@otplib/plugin-base32-scure': 13.2.1 - '@otplib/plugin-crypto-noble': 13.2.1 - '@otplib/totp': 13.2.1 - '@otplib/uri': 13.2.1 + '@otplib/core': 13.3.0 + '@otplib/hotp': 13.3.0 + '@otplib/plugin-base32-scure': 13.3.0 + '@otplib/plugin-crypto-noble': 13.3.0 + '@otplib/totp': 13.3.0 + '@otplib/uri': 13.3.0 outvariant@1.4.3: {} From 836af6586ed6e062074b2146714cefe339768e3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:40:29 +0800 Subject: [PATCH 018/259] chore(deps-dev): bump @cloudflare/workers-types (#21137) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260210.0 to 4.20260213.0. - [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: 4.20260213.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 70302787abfde3..82332dd31bd81f 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260210.0", + "@cloudflare/workers-types": "4.20260213.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "9.39.2", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e89fbf004cadc8..041e9b9e881f5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260210.0 - version: 4.20260210.0 + specifier: 4.20260213.0 + version: 4.20260213.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.64.0 - version: 4.64.0(@cloudflare/workers-types@4.20260210.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 4.64.0(@cloudflare/workers-types@4.20260213.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -615,8 +615,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260210.0': - resolution: {integrity: sha512-zHaF0RZVYUQwNCJCECnNAJdMur72Lk3FMiD6wU78Dx3Bv7DQRcuXNmPNuJmsGnosVZCcWintHlPTQ/4BEiDG5w==} + '@cloudflare/workers-types@4.20260213.0': + resolution: {integrity: sha512-dr905ft/1R0mnfdT9aun4vanLgIBN27ZyPxTCENKmhctSz6zNmBOvHbzDWAhGE0RBAKFf3X7ifMRcd0MkmBvgA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6403,7 +6403,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260210.0': optional: true - '@cloudflare/workers-types@4.20260210.0': {} + '@cloudflare/workers-types@4.20260213.0': {} '@colors/colors@1.6.0': {} @@ -12023,7 +12023,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260210.0 '@cloudflare/workerd-windows-64': 1.20260210.0 - wrangler@4.64.0(@cloudflare/workers-types@4.20260210.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + wrangler@4.64.0(@cloudflare/workers-types@4.20260213.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260210.0) @@ -12034,7 +12034,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260210.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260210.0 + '@cloudflare/workers-types': 4.20260213.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 3315024ad1fa7588edfc58a3517452bc19792921 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:43:31 +0800 Subject: [PATCH 019/259] chore(deps): bump the opentelemetry group with 5 updates (#21133) Bumps the opentelemetry group with 5 updates: | Package | From | To | | --- | --- | --- | | [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.211.0` | `0.212.0` | | [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.211.0` | `0.212.0` | | [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.5.0` | `2.5.1` | | [@opentelemetry/sdk-metrics](https://github.com/open-telemetry/opentelemetry-js) | `2.5.0` | `2.5.1` | | [@opentelemetry/sdk-trace-base](https://github.com/open-telemetry/opentelemetry-js) | `2.5.0` | `2.5.1` | Updates `@opentelemetry/exporter-prometheus` from 0.211.0 to 0.212.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.211.0...experimental/v0.212.0) Updates `@opentelemetry/exporter-trace-otlp-http` from 0.211.0 to 0.212.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.211.0...experimental/v0.212.0) Updates `@opentelemetry/resources` from 2.5.0 to 2.5.1 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.5.0...v2.5.1) Updates `@opentelemetry/sdk-metrics` from 2.5.0 to 2.5.1 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.5.0...v2.5.1) Updates `@opentelemetry/sdk-trace-base` from 2.5.0 to 2.5.1 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.5.0...v2.5.1) --- updated-dependencies: - dependency-name: "@opentelemetry/exporter-prometheus" dependency-version: 0.212.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry - dependency-name: "@opentelemetry/exporter-trace-otlp-http" dependency-version: 0.212.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry - dependency-name: "@opentelemetry/resources" dependency-version: 2.5.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: opentelemetry - dependency-name: "@opentelemetry/sdk-metrics" dependency-version: 2.5.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: opentelemetry - dependency-name: "@opentelemetry/sdk-trace-base" dependency-version: 2.5.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: opentelemetry ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 10 ++-- pnpm-lock.yaml | 156 ++++++++++++++++++++++++++++--------------------- 2 files changed, 93 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index 82332dd31bd81f..85566e41f8d088 100644 --- a/package.json +++ b/package.json @@ -62,11 +62,11 @@ "@hono/zod-openapi": "1.2.1", "@notionhq/client": "5.9.0", "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-prometheus": "0.211.0", - "@opentelemetry/exporter-trace-otlp-http": "0.211.0", - "@opentelemetry/resources": "2.5.0", - "@opentelemetry/sdk-metrics": "2.5.0", - "@opentelemetry/sdk-trace-base": "2.5.0", + "@opentelemetry/exporter-prometheus": "0.212.0", + "@opentelemetry/exporter-trace-otlp-http": "0.212.0", + "@opentelemetry/resources": "2.5.1", + "@opentelemetry/sdk-metrics": "2.5.1", + "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", "@postlight/parser": "2.2.3", "@rss3/sdk": "0.0.25", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 041e9b9e881f5b..e8e49f3d158796 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,20 +50,20 @@ importers: specifier: 1.9.0 version: 1.9.0 '@opentelemetry/exporter-prometheus': - specifier: 0.211.0 - version: 0.211.0(@opentelemetry/api@1.9.0) + specifier: 0.212.0 + version: 0.212.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-http': - specifier: 0.211.0 - version: 0.211.0(@opentelemetry/api@1.9.0) + specifier: 0.212.0 + version: 0.212.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': - specifier: 2.5.0 - version: 2.5.0(@opentelemetry/api@1.9.0) + specifier: 2.5.1 + version: 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': - specifier: 2.5.0 - version: 2.5.0(@opentelemetry/api@1.9.0) + specifier: 2.5.1 + version: 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': - specifier: 2.5.0 - version: 2.5.0(@opentelemetry/api@1.9.0) + specifier: 2.5.1 + version: 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': specifier: 1.39.0 version: 1.39.0 @@ -1592,6 +1592,10 @@ packages: resolution: {integrity: sha512-swFdZq8MCdmdR22jTVGQDhwqDzcI4M10nhjXkLr1EsIzXgZBqm4ZlmmcWsg3TSNf+3mzgOiqveXmBLZuDi2Lgg==} engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.212.0': + resolution: {integrity: sha512-TEEVrLbNROUkYY51sBJGk7lO/OLjuepch8+hmpM6ffMJQ2z/KVCjdHuCFX6fJj8OkJP2zckPjrJzQtXU3IAsFg==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -1608,14 +1612,20 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-prometheus@0.211.0': - resolution: {integrity: sha512-cD0WleEL3TPqJbvxwz5MVdVJ82H8jl8mvMad4bNU24cB5SH2mRW5aMLDTuV4614ll46R//R3RMmci26mc2L99g==} + '@opentelemetry/core@2.5.1': + resolution: {integrity: sha512-Dwlc+3HAZqpgTYq0MUyZABjFkcrKTePwuiFVLjahGD8cx3enqihmpAmdgNFO1R4m/sIe5afjJrA25Prqy4NXlA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/exporter-prometheus@0.212.0': + resolution: {integrity: sha512-hJFLhCJba5MW5QHexZMHZdMhBfNqNItxOsN0AZojwD1W2kU9xM+BEICowFGJFo/vNV+I2BJvTtmuKafeDSAo7Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-http@0.211.0': - resolution: {integrity: sha512-F1Rv3JeMkgS//xdVjbQMrI3+26e5SXC7vXA6trx8SWEA0OUhw4JHB+qeHtH0fJn46eFItrYbL5m8j4qi9Sfaxw==} + '@opentelemetry/exporter-trace-otlp-http@0.212.0': + resolution: {integrity: sha512-v/0wMozNoiEPRolzC4YoPo4rAT0q8r7aqdnRw3Nu7IDN0CGFzNQazkfAlBJ6N5y0FYJkban7Aw5WnN73//6YlA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -1764,14 +1774,14 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.211.0': - resolution: {integrity: sha512-bp1+63V8WPV+bRI9EQG6E9YID1LIHYSZVbp7f+44g9tRzCq+rtw/o4fpL5PC31adcUsFiz/oN0MdLISSrZDdrg==} + '@opentelemetry/otlp-exporter-base@0.212.0': + resolution: {integrity: sha512-HoMv5pQlzbuxiMS0hN7oiUtg8RsJR5T7EhZccumIWxYfNo/f4wFc7LPDfFK6oHdG2JF/+qTocfqIHoom+7kLpw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.211.0': - resolution: {integrity: sha512-julhCJ9dXwkOg9svuuYqqjXLhVaUgyUvO2hWbTxwjvLXX2rG3VtAaB0SzxMnGTuoCZizBT7Xqqm2V7+ggrfCXA==} + '@opentelemetry/otlp-transformer@0.212.0': + resolution: {integrity: sha512-bj7zYFOg6Db7NUwsRZQ/WoVXpAf41WY2gsd3kShSfdpZQDRKHWJiRZIg7A8HvWsf97wb05rMFzPbmSHyjEl9tw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -1780,26 +1790,26 @@ packages: resolution: {integrity: sha512-1BCcU93iwSRZvDAgwUxC/DV4T/406SkMfxGqu5ojc3AvNI+I9GhV7v0J1HljsczuuhcnFLYqD5VmwVXfCGHzxA==} engines: {node: ^18.19.0 || >=20.6.0} - '@opentelemetry/resources@2.5.0': - resolution: {integrity: sha512-F8W52ApePshpoSrfsSk1H2yJn9aKjCrbpQF1M9Qii0GHzbfVeFUB+rc3X4aggyZD8x9Gu3Slua+s6krmq6Dt8g==} + '@opentelemetry/resources@2.5.1': + resolution: {integrity: sha512-BViBCdE/GuXRlp9k7nS1w6wJvY5fnFX5XvuEtWsTAOQFIO89Eru7lGW3WbfbxtCuZ/GbrJfAziXG0w0dpxL7eQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-logs@0.211.0': - resolution: {integrity: sha512-O5nPwzgg2JHzo59kpQTPUOTzFi0Nv5LxryG27QoXBciX3zWM3z83g+SNOHhiQVYRWFSxoWn1JM2TGD5iNjOwdA==} + '@opentelemetry/sdk-logs@0.212.0': + resolution: {integrity: sha512-qglb5cqTf0mOC1sDdZ7nfrPjgmAqs2OxkzOPIf2+Rqx8yKBK0pS7wRtB1xH30rqahBIut9QJDbDePyvtyqvH/Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.5.0': - resolution: {integrity: sha512-BeJLtU+f5Gf905cJX9vXFQorAr6TAfK3SPvTFqP+scfIpDQEJfRaGJWta7sJgP+m4dNtBf9y3yvBKVAZZtJQVA==} + '@opentelemetry/sdk-metrics@2.5.1': + resolution: {integrity: sha512-RKMn3QKi8nE71ULUo0g/MBvq1N4icEBo7cQSKnL3URZT16/YH3nSVgWegOjwx7FRBTrjOIkMJkCUn/ZFIEfn4A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.5.0': - resolution: {integrity: sha512-VzRf8LzotASEyNDUxTdaJ9IRJ1/h692WyArDBInf5puLCjxbICD6XkHgpuudis56EndyS7LYFmtTMny6UABNdQ==} + '@opentelemetry/sdk-trace-base@2.5.1': + resolution: {integrity: sha512-iZH3Gw8cxQn0gjpOjJMmKLd9GIaNh/E3v3ST67vyzLSxHBs14HsG4dy7jMYyC5WXGdBVEcM7U/XTF5hCQxjDMw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -7097,6 +7107,10 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.212.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} '@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0)': @@ -7108,21 +7122,27 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.39.0 - '@opentelemetry/exporter-prometheus@0.211.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 - '@opentelemetry/exporter-trace-otlp-http@0.211.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-prometheus@0.212.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 + + '@opentelemetry/exporter-trace-otlp-http@0.212.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib@0.58.0(@opentelemetry/api@1.9.0)': dependencies: @@ -7333,49 +7353,49 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/otlp-exporter-base@0.211.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-exporter-base@0.212.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer@0.211.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-transformer@0.212.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.211.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api-logs': 0.212.0 + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) protobufjs: 8.0.0 '@opentelemetry/redis-common@0.38.2': {} - '@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - '@opentelemetry/sdk-logs@0.211.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-logs@0.212.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.211.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api-logs': 0.212.0 + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics@2.5.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-metrics@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/semantic-conventions@1.39.0': {} @@ -7781,18 +7801,18 @@ snapshots: '@sentry/core@10.38.0': {} - '@sentry/node-core@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/node-core@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@apm-js-collab/tracing-hooks': 0.3.1 '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@sentry/core': 10.38.0 - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 transitivePeerDependencies: - supports-color @@ -7825,24 +7845,24 @@ snapshots: '@opentelemetry/instrumentation-redis': 0.59.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-tedious': 0.30.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-undici': 0.21.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) '@sentry/core': 10.38.0 - '@sentry/node-core': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/node-core': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 minimatch: 9.0.5 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/opentelemetry@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@sentry/core': 10.38.0 From b058ba13daba266fe78494ff04089d8b4619c620 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 19:16:08 +0800 Subject: [PATCH 020/259] chore(deps-dev): bump tsdown from 0.20.0 to 0.20.3 (#21068) * chore(deps-dev): bump tsdown from 0.20.0 to 0.20.3 Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.20.0 to 0.20.3. - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](https://github.com/rolldown/tsdown/compare/v0.20.0...v0.20.3) --- updated-dependencies: - dependency-name: tsdown dependency-version: 0.20.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore(deps-dev): set inlineOnly to false in multiple tsdown config files --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 223 ++++++++++++++++++------------------- tsdown-container.config.ts | 1 + tsdown-lib.config.ts | 1 + tsdown-vercel.config.ts | 1 + tsdown-worker.config.ts | 1 + tsdown.config.ts | 1 + 7 files changed, 117 insertions(+), 113 deletions(-) diff --git a/package.json b/package.json index 85566e41f8d088..f49fd645906daa 100644 --- a/package.json +++ b/package.json @@ -192,7 +192,7 @@ "oxfmt": "0.32.0", "remark-parse": "11.0.0", "supertest": "7.2.2", - "tsdown": "0.20.0", + "tsdown": "0.20.3", "typescript": "5.9.3", "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8e49f3d158796..705a75ed1ef419 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -435,8 +435,8 @@ importers: specifier: 7.2.2 version: 7.2.2 tsdown: - specifier: 0.20.0 - version: 0.20.0(synckit@0.11.11)(typescript@5.9.3) + specifier: 0.20.3 + version: 0.20.3(synckit@0.11.11)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 @@ -482,16 +482,16 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/generator@8.0.0-beta.4': - resolution: {integrity: sha512-5xRfRZk6wx1BRu2XnTE8cTh2mx1ixrZ3/vpn7p/RCJpgctL6pexVVHE3eqtwlYvHhPAuOYCAlnsAyXpBdmfh5Q==} + '@babel/generator@8.0.0-rc.1': + resolution: {integrity: sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w==} engines: {node: ^20.19.0 || >=22.12.0} '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.0-beta.4': - resolution: {integrity: sha512-FGwbdQ/I2nJXXfyxa7dT0Fr/zPWwgX7m+hNVj0HrIHYJtyLxSQeQY1Kd8QkAYviQJV3OWFlRLuGd5epF03bdQg==} + '@babel/helper-string-parser@8.0.0-rc.1': + resolution: {integrity: sha512-vi/pfmbrOtQmqgfboaBhaCU50G7mcySVu69VU8z+lYoPPB6WzI9VgV7WQfL908M4oeSH5fDkmoupIqoE0SdApw==} engines: {node: ^20.19.0 || >=22.12.0} '@babel/helper-validator-identifier@7.28.5': @@ -507,8 +507,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@8.0.0-beta.4': - resolution: {integrity: sha512-fBcUqUN3eenLyg25QFkOwY1lmV6L0RdG92g6gxyS2CVCY8kHdibkQz1+zV3bLzxcvNnfHoi3i9n5Dci+g93acg==} + '@babel/parser@8.0.0-rc.1': + resolution: {integrity: sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -520,12 +520,8 @@ packages: resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.6': - resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} - engines: {node: '>=6.9.0'} - - '@babel/types@8.0.0-beta.4': - resolution: {integrity: sha512-xjk2xqYp25ePzAs0I08hN2lrbUDDQFfCjwq6MIEa8HwHa0WK8NfNtdvtXod8Ku2CbE1iui7qwWojGvjQiyrQeA==} + '@babel/types@8.0.0-rc.1': + resolution: {integrity: sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ==} engines: {node: ^20.19.0 || >=22.12.0} '@bbob/core@4.3.1': @@ -1842,8 +1838,8 @@ packages: '@otplib/uri@13.3.0': resolution: {integrity: sha512-3oh6nBXy+cm3UX9cxEAGZiDrfxHU2gfelYFV+XNCx+8dq39VaQVymwlU2yjPZiMAi/3agaUeEftf2RwM5F+Cyg==} - '@oxc-project/types@0.110.0': - resolution: {integrity: sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==} + '@oxc-project/types@0.112.0': + resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==} '@oxfmt/binding-android-arm-eabi@0.32.0': resolution: {integrity: sha512-DpVyuVzgLH6/MvuB/YD3vXO9CN/o9EdRpA0zXwe/tagP6yfVSFkFWkPqTROdqp0mlzLH5Yl+/m+hOrcM601EbA==} @@ -2067,89 +2063,89 @@ packages: '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@rolldown/binding-android-arm64@1.0.0-rc.1': - resolution: {integrity: sha512-He6ZoCfv5D7dlRbrhNBkuMVIHd0GDnjJwbICE1OWpG7G3S2gmJ+eXkcNLJjzjNDpeI2aRy56ou39AJM9AD8YFA==} + '@rolldown/binding-android-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-0T1k9FinuBZ/t7rZ8jN6OpUKPnUjNdYHoj/cESWrQ3ZraAJ4OMm6z7QjSfCxqj8mOp9kTKc1zHK3kGz5vMu+nQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.1': - resolution: {integrity: sha512-YzJdn08kSOXnj85ghHauH2iHpOJ6eSmstdRTLyaziDcUxe9SyQJgGyx/5jDIhDvtOcNvMm2Ju7m19+S/Rm1jFg==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-JWWLzvcmc/3pe7qdJqPpuPk91SoE/N+f3PcWx/6ZwuyDVyungAEJPvKm/eEldiDdwTmaEzWfIR+HORxYWrCi1A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.1': - resolution: {integrity: sha512-cIvAbqM+ZVV6lBSKSBtlNqH5iCiW933t1q8j0H66B3sjbe8AxIRetVqfGgcHcJtMzBIkIALlL9fcDrElWLJQcQ==} + '@rolldown/binding-darwin-x64@1.0.0-rc.3': + resolution: {integrity: sha512-MTakBxfx3tde5WSmbHxuqlDsIW0EzQym+PJYGF4P6lG2NmKzi128OGynoFUqoD5ryCySEY85dug4v+LWGBElIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.1': - resolution: {integrity: sha512-rVt+B1B/qmKwCl1XD02wKfgh3vQPXRXdB/TicV2w6g7RVAM1+cZcpigwhLarqiVCxDObFZ7UgXCxPC7tpDoRog==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.3': + resolution: {integrity: sha512-jje3oopyOLs7IwfvXoS6Lxnmie5JJO7vW29fdGFu5YGY1EDbVDhD+P9vDihqS5X6fFiqL3ZQZCMBg6jyHkSVww==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.1': - resolution: {integrity: sha512-69YKwJJBOFprQa1GktPgbuBOfnn+EGxu8sBJ1TjPER+zhSpYeaU4N07uqmyBiksOLGXsMegymuecLobfz03h8Q==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3': + resolution: {integrity: sha512-A0n8P3hdLAaqzSFrQoA42p23ZKBYQOw+8EH5r15Sa9X1kD9/JXe0YT2gph2QTWvdr0CVK2BOXiK6ENfy6DXOag==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.1': - resolution: {integrity: sha512-9JDhHUf3WcLfnViFWm+TyorqUtnSAHaCzlSNmMOq824prVuuzDOK91K0Hl8DUcEb9M5x2O+d2/jmBMsetRIn3g==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3': + resolution: {integrity: sha512-kWXkoxxarYISBJ4bLNf5vFkEbb4JvccOwxWDxuK9yee8lg5XA7OpvlTptfRuwEvYcOZf+7VS69Uenpmpyo5Bjw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.1': - resolution: {integrity: sha512-UvApLEGholmxw/HIwmUnLq3CwdydbhaHHllvWiCTNbyGom7wTwOtz5OAQbAKZYyiEOeIXZNPkM7nA4Dtng7CLw==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3': + resolution: {integrity: sha512-Z03/wrqau9Bicfgb3Dbs6SYTHliELk2PM2LpG2nFd+cGupTMF5kanLEcj2vuuJLLhptNyS61rtk7SOZ+lPsTUA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.1': - resolution: {integrity: sha512-uVctNgZHiGnJx5Fij7wHLhgw4uyZBVi6mykeWKOqE7bVy9Hcxn0fM/IuqdMwk6hXlaf9fFShDTFz2+YejP+x0A==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3': + resolution: {integrity: sha512-iSXXZsQp08CSilff/DCTFZHSVEpEwdicV3W8idHyrByrcsRDVh9sGC3sev6d8BygSGj3vt8GvUKBPCoyMA4tgQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.1': - resolution: {integrity: sha512-T6Eg0xWwcxd/MzBcuv4Z37YVbUbJxy5cMNnbIt/Yr99wFwli30O4BPlY8hKeGyn6lWNtU0QioBS46lVzDN38bg==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.3': + resolution: {integrity: sha512-qaj+MFudtdCv9xZo9znFvkgoajLdc+vwf0Kz5N44g+LU5XMe+IsACgn3UG7uTRlCCvhMAGXm1XlpEA5bZBrOcw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.1': - resolution: {integrity: sha512-PuGZVS2xNJyLADeh2F04b+Cz4NwvpglbtWACgrDOa5YDTEHKwmiTDjoD5eZ9/ptXtcpeFrMqD2H4Zn33KAh1Eg==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.3': + resolution: {integrity: sha512-U662UnMETyjT65gFmG9ma+XziENrs7BBnENi/27swZPYagubfHRirXHG2oMl+pEax2WvO7Kb9gHZmMakpYqBHQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.1': - resolution: {integrity: sha512-2mOxY562ihHlz9lEXuaGEIDCZ1vI+zyFdtsoa3M62xsEunDXQE+DVPO4S4x5MPK9tKulG/aFcA/IH5eVN257Cw==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.3': + resolution: {integrity: sha512-gekrQ3Q2HiC1T5njGyuUJoGpK/l6B/TNXKed3fZXNf9YRTJn3L5MOZsFBn4bN2+UX+8+7hgdlTcEsexX988G4g==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.1': - resolution: {integrity: sha512-oQVOP5cfAWZwRD0Q3nGn/cA9FW3KhMMuQ0NIndALAe6obqjLhqYVYDiGGRGrxvnjJsVbpLwR14gIUYnpIcHR1g==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3': + resolution: {integrity: sha512-85y5JifyMgs8m5K2XzR/VDsapKbiFiohl7s5lEj7nmNGO0pkTXE7q6TQScei96BNAsoK7JC3pA7ukA8WRHVJpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.1': - resolution: {integrity: sha512-Ydsxxx++FNOuov3wCBPaYjZrEvKOOGq3k+BF4BPridhg2pENfitSRD2TEuQ8i33bp5VptuNdC9IzxRKU031z5A==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3': + resolution: {integrity: sha512-a4VUQZH7LxGbUJ3qJ/TzQG8HxdHvf+jOnqf7B7oFx1TEBm+j2KNL2zr5SQ7wHkNAcaPevF6gf9tQnVBnC4mD+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.1': - resolution: {integrity: sha512-UTBjtTxVOhodhzFVp/ayITaTETRHPUPYZPXQe0WU0wOgxghMojXxYjOiPOauKIYNWJAWS2fd7gJgGQK8GU8vDA==} + '@rolldown/pluginutils@1.0.0-rc.3': + resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} @@ -3913,6 +3909,9 @@ packages: get-tsconfig@4.13.0: resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + get-uri@6.0.5: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} @@ -5295,13 +5294,13 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true - rolldown-plugin-dts@0.21.6: - resolution: {integrity: sha512-gePhzvZJRB0JIb/NyngEsMt3FPQtM4BXCLkxz7u1ggge2PmlZ7uOwmHjeBEsBiBRjOY12SdtEl7BmI3T1779ZA==} + rolldown-plugin-dts@0.22.1: + resolution: {integrity: sha512-5E0AiM5RSQhU6cjtkDFWH6laW4IrMu0j1Mo8x04Xo1ALHmaRMs9/7zej7P3RrryVHW/DdZAp85MA7Be55p0iUw==} engines: {node: '>=20.19.0'} peerDependencies: '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '>=7.0.0-dev.20250601.1' - rolldown: ^1.0.0-beta.57 + rolldown: ^1.0.0-rc.3 typescript: ^5.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: @@ -5314,8 +5313,8 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-rc.1: - resolution: {integrity: sha512-M3AeZjYE6UclblEf531Hch0WfVC/NOL43Cc+WdF3J50kk5/fvouHhDumSGTh0oRjbZ8C4faaVr5r6Nx1xMqDGg==} + rolldown@1.0.0-rc.3: + resolution: {integrity: sha512-Po/YZECDOqVXjIXrtC5h++a5NLvKAQNrd9ggrIG3sbDfGO5BqTUsrI6l8zdniKRp3r5Tp/2JTrXqx4GIguFCMw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -5711,8 +5710,8 @@ packages: typescript: optional: true - tsdown@0.20.0: - resolution: {integrity: sha512-VLf5wZFyHBTdV0aN3pjRlY5bmwnrZcxOT3pjSYy2JwSgo8zY51xycPWVCkeeyOxllCwrlrO1pTYr7B8j7z/yqA==} + tsdown@0.20.3: + resolution: {integrity: sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -5842,8 +5841,8 @@ packages: unrs-resolver@1.11.1: resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} - unrun@0.2.26: - resolution: {integrity: sha512-A3DQLBcDyTui4Hlaoojkldg+8x+CIR+tcSHY0wzW+CgB4X/DNyH58jJpXp1B/EkE+yG6tU8iH1mWsLtwFU3IQg==} + unrun@0.2.27: + resolution: {integrity: sha512-Mmur1UJpIbfxasLOhPRvox/QS4xBiDii71hMP7smfRthGcwFL2OAmYRgduLANOAU4LUkvVamuP+02U+c90jlrw==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -6279,10 +6278,10 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/generator@8.0.0-beta.4': + '@babel/generator@8.0.0-rc.1': dependencies: - '@babel/parser': 8.0.0-beta.4 - '@babel/types': 8.0.0-beta.4 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -6290,7 +6289,7 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-string-parser@8.0.0-beta.4': {} + '@babel/helper-string-parser@8.0.0-rc.1': {} '@babel/helper-validator-identifier@7.28.5': {} @@ -6298,11 +6297,11 @@ snapshots: '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.28.6 + '@babel/types': 7.28.5 - '@babel/parser@8.0.0-beta.4': + '@babel/parser@8.0.0-rc.1': dependencies: - '@babel/types': 8.0.0-beta.4 + '@babel/types': 8.0.0-rc.1 '@babel/runtime-corejs2@7.28.3': dependencies: @@ -6313,14 +6312,9 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@7.28.6': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@babel/types@8.0.0-beta.4': + '@babel/types@8.0.0-rc.1': dependencies: - '@babel/helper-string-parser': 8.0.0-beta.4 + '@babel/helper-string-parser': 8.0.0-rc.1 '@babel/helper-validator-identifier': 8.0.0-rc.1 '@bbob/core@4.3.1': @@ -7432,7 +7426,7 @@ snapshots: dependencies: '@otplib/core': 13.3.0 - '@oxc-project/types@0.110.0': {} + '@oxc-project/types@0.112.0': {} '@oxfmt/binding-android-arm-eabi@0.32.0': optional: true @@ -7640,48 +7634,48 @@ snapshots: dependencies: quansync: 1.0.0 - '@rolldown/binding-android-arm64@1.0.0-rc.1': + '@rolldown/binding-android-arm64@1.0.0-rc.3': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.1': + '@rolldown/binding-darwin-arm64@1.0.0-rc.3': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.1': + '@rolldown/binding-darwin-x64@1.0.0-rc.3': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.1': + '@rolldown/binding-freebsd-x64@1.0.0-rc.3': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.1': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.1': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.1': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.1': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.1': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.3': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.1': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.3': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.1': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.3': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.1': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.1': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3': optional: true - '@rolldown/pluginutils@1.0.0-rc.1': {} + '@rolldown/pluginutils@1.0.0-rc.3': {} '@rollup/pluginutils@5.3.0(rollup@4.53.2)': dependencies: @@ -8363,7 +8357,7 @@ snapshots: ast-kit@3.0.0-beta.1: dependencies: - '@babel/parser': 8.0.0-beta.4 + '@babel/parser': 8.0.0-rc.1 estree-walker: 3.0.3 pathe: 2.0.3 @@ -9557,6 +9551,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.13.6: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.5: dependencies: basic-ftp: 5.0.5 @@ -11202,40 +11200,41 @@ snapshots: dependencies: glob: 10.5.0 - rolldown-plugin-dts@0.21.6(rolldown@1.0.0-rc.1)(typescript@5.9.3): + rolldown-plugin-dts@0.22.1(rolldown@1.0.0-rc.3)(typescript@5.9.3): dependencies: - '@babel/generator': 8.0.0-beta.4 - '@babel/parser': 8.0.0-beta.4 - '@babel/types': 8.0.0-beta.4 + '@babel/generator': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 ast-kit: 3.0.0-beta.1 birpc: 4.0.0 dts-resolver: 2.1.3 - get-tsconfig: 4.13.0 + get-tsconfig: 4.13.6 obug: 2.1.1 - rolldown: 1.0.0-rc.1 + rolldown: 1.0.0-rc.3 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.1: + rolldown@1.0.0-rc.3: dependencies: - '@oxc-project/types': 0.110.0 - '@rolldown/pluginutils': 1.0.0-rc.1 + '@oxc-project/types': 0.112.0 + '@rolldown/pluginutils': 1.0.0-rc.3 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.1 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.1 - '@rolldown/binding-darwin-x64': 1.0.0-rc.1 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.1 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.1 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.1 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.1 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.1 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.1 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.1 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.1 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.1 + '@rolldown/binding-android-arm64': 1.0.0-rc.3 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.3 + '@rolldown/binding-darwin-x64': 1.0.0-rc.3 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.3 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.3 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.3 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.3 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.3 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.3 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3 rollup@4.53.2: dependencies: @@ -11688,7 +11687,7 @@ snapshots: optionalDependencies: typescript: 5.9.3 - tsdown@0.20.0(synckit@0.11.11)(typescript@5.9.3): + tsdown@0.20.3(synckit@0.11.11)(typescript@5.9.3): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -11698,14 +11697,14 @@ snapshots: import-without-cache: 0.2.5 obug: 2.1.1 picomatch: 4.0.3 - rolldown: 1.0.0-rc.1 - rolldown-plugin-dts: 0.21.6(rolldown@1.0.0-rc.1)(typescript@5.9.3) - semver: 7.7.3 + rolldown: 1.0.0-rc.3 + rolldown-plugin-dts: 0.22.1(rolldown@1.0.0-rc.3)(typescript@5.9.3) + semver: 7.7.4 tinyexec: 1.0.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 unconfig-core: 7.4.2 - unrun: 0.2.26(synckit@0.11.11) + unrun: 0.2.27(synckit@0.11.11) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -11832,9 +11831,9 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unrun@0.2.26(synckit@0.11.11): + unrun@0.2.27(synckit@0.11.11): dependencies: - rolldown: 1.0.0-rc.1 + rolldown: 1.0.0-rc.3 optionalDependencies: synckit: 0.11.11 diff --git a/tsdown-container.config.ts b/tsdown-container.config.ts index c420f812b25e0e..ca72981d1cc886 100644 --- a/tsdown-container.config.ts +++ b/tsdown-container.config.ts @@ -13,4 +13,5 @@ export default defineConfig({ 'process.env.NODE_ENV': JSON.stringify('production'), }, external: ['@cloudflare/containers'], + inlineOnly: false, }); diff --git a/tsdown-lib.config.ts b/tsdown-lib.config.ts index ee898b65e7c401..182c1d6502b2ef 100644 --- a/tsdown-lib.config.ts +++ b/tsdown-lib.config.ts @@ -7,4 +7,5 @@ export default defineConfig({ dts: true, copy: ['lib/assets'], outDir: 'dist-lib', + inlineOnly: false, }); diff --git a/tsdown-vercel.config.ts b/tsdown-vercel.config.ts index c322596538ad7a..34b6142eab9f56 100644 --- a/tsdown-vercel.config.ts +++ b/tsdown-vercel.config.ts @@ -9,4 +9,5 @@ export default defineConfig({ shims: true, clean: true, // copy: [{ from: 'lib/assets', to: 'dist' }], + inlineOnly: false, }); diff --git a/tsdown-worker.config.ts b/tsdown-worker.config.ts index 2a8aa009825331..3eb79ff76a5299 100644 --- a/tsdown-worker.config.ts +++ b/tsdown-worker.config.ts @@ -95,4 +95,5 @@ export default defineConfig({ // routes.json is only used in test environment, but rolldown still tries to resolve it '../assets/build/routes.json': path.resolve('./assets/build/routes-worker.js'), }, + inlineOnly: false, }); diff --git a/tsdown.config.ts b/tsdown.config.ts index a689c60df07a05..21f8660a52fc8e 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -6,4 +6,5 @@ export default defineConfig({ shims: true, clean: true, copy: ['lib/assets'], + inlineOnly: false, }); From ebd6d2c6a60822a6fac95967ab9dcc04d52e8057 Mon Sep 17 00:00:00 2001 From: Tony Date: Fri, 13 Feb 2026 20:45:06 +0800 Subject: [PATCH 021/259] chore: update pr-review workflow to trigger on Docker build completion --- .github/workflows/pr-review.yml | 62 ++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml index 15209918fba9cb..10d6c8eb6334d9 100644 --- a/.github/workflows/pr-review.yml +++ b/.github/workflows/pr-review.yml @@ -1,8 +1,9 @@ name: pr-review on: - pull_request_target: - types: [opened, reopened, synchronize, ready_for_review] + workflow_run: + workflows: [PR - Docker build test] + types: [completed] workflow_dispatch: inputs: pr_number: @@ -12,7 +13,7 @@ on: jobs: review-pr: - if: github.event_name == 'workflow_dispatch' || github.event.pull_request.draft == false + if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' runs-on: ubuntu-latest timeout-minutes: 10 permissions: @@ -23,6 +24,59 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + # https://github.com/orgs/community/discussions/25220#discussioncomment-11316244 + - name: Search the PR that triggered this workflow + if: github.event_name != 'workflow_dispatch' + id: source-run-info + env: + GH_TOKEN: ${{ github.token }} + PR_TARGET_REPO: ${{ github.repository }} + PR_BRANCH: |- + ${{ + (github.event.workflow_run.head_repository.owner.login != github.event.workflow_run.repository.owner.login) + && format('{0}:{1}', github.event.workflow_run.head_repository.owner.login, github.event.workflow_run.head_branch) + || github.event.workflow_run.head_branch + }} + run: | + gh pr view --repo "${PR_TARGET_REPO}" "${PR_BRANCH}" \ + --json 'number' --jq '"number=\(.number)"' \ + >> "${GITHUB_OUTPUT}" + + - name: Check PR author + if: github.event_name != 'workflow_dispatch' + id: check-pr-author + env: + GH_TOKEN: ${{ github.token }} + PR_TARGET_REPO: ${{ github.repository }} + PR_NUMBER: ${{ steps.source-run-info.outputs.number }} + run: | + AUTHOR=$(gh pr view --repo "${PR_TARGET_REPO}" "${PR_NUMBER}" --json author --jq '.author.login') + echo "author=${AUTHOR}" >> "${GITHUB_OUTPUT}" + if [[ "${AUTHOR}" == "dependabot[bot]" || "${AUTHOR}" == "dependabot" ]]; then + echo "skip=true" >> "${GITHUB_OUTPUT}" + else + echo "skip=false" >> "${GITHUB_OUTPUT}" + fi + + - name: Comment on failed Docker build + if: github.event_name != 'workflow_dispatch' && github.event.workflow_run.conclusion == 'failure' && steps.check-pr-author.outputs.skip == 'false' + env: + GH_TOKEN: ${{ github.token }} + PR_TARGET_REPO: ${{ github.repository }} + PR_NUMBER: ${{ steps.source-run-info.outputs.number }} + run: | + gh pr comment --repo "${PR_TARGET_REPO}" "${PR_NUMBER}" --body " + ## Auto Review + ⚠️ PR review will proceed after the Docker image can be successfully built. + + Please fix the Docker build test issues first." + + - name: Exit if Dependabot or Docker build failed + if: github.event_name != 'workflow_dispatch' && (steps.check-pr-author.outputs.skip == 'true' || github.event.workflow_run.conclusion == 'failure') + run: | + echo "Skipping PR review: Dependabot PR or Docker build failed" + exit 0 + - name: Set up Bun uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2.1.2 @@ -34,7 +88,7 @@ jobs: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_REPOSITORY: ${{ github.repository }} - PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }} + PR_NUMBER: ${{ steps.source-run-info.outputs.number || inputs.pr_number }} OPENCODE_PERMISSION: | { "bash": { From c9045eab8e980cf50753bdf0fa2e38c9df257a36 Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 14 Feb 2026 01:16:57 +0800 Subject: [PATCH 022/259] chore: update radar rules for target parameter clarification --- .github/prompts/pr_review_rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/prompts/pr_review_rules.md b/.github/prompts/pr_review_rules.md index 206248019cfe60..a162ccec99dfd1 100644 --- a/.github/prompts/pr_review_rules.md +++ b/.github/prompts/pr_review_rules.md @@ -9,7 +9,7 @@ Only report **clear and actionable** violations in changed lines/files. Do not r 1. `example` must start with `/` and be a working RSSHub route path. 2. Route name must not repeat namespace name. 3. In radar rules, `source` must be a relative host/path (no `https://`, no hash/query matching). -4. In radar rules, `target` must match the route path and declared params. +4. In radar rules, `target` may be empty; if present, it must match the route path and its parameters. 5. Namespace `url` should not include protocol prefix. 6. Use a single category in `categories`. 7. `parameters` keys must match real path parameters. From f1164b516b07e322ad387310aabe2604874b4440 Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 14 Feb 2026 01:23:35 +0800 Subject: [PATCH 023/259] feat(route/bbc): topic (#21140) * feat(route/bbc): topic * feat(route/bbc): clean item links by removing query parameters * feat(route/bbc): add sport * feat(route/bbc): refactor content fetching logic to use fetchBbcContent utility * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(route/bbc): improve content description fallback logic --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- lib/routes/bbc/index.ts | 67 ++--- lib/routes/bbc/sport.ts | 68 +++++ lib/routes/bbc/topic-zhongwen.ts | 72 +++++ lib/routes/bbc/topic.ts | 66 +++++ lib/routes/bbc/utils.tsx | 490 +++++++++++++++++++++++++------ 5 files changed, 628 insertions(+), 135 deletions(-) create mode 100644 lib/routes/bbc/sport.ts create mode 100644 lib/routes/bbc/topic-zhongwen.ts create mode 100644 lib/routes/bbc/topic.ts diff --git a/lib/routes/bbc/index.ts b/lib/routes/bbc/index.ts index bc48c45df81d89..0068b4d5199303 100644 --- a/lib/routes/bbc/index.ts +++ b/lib/routes/bbc/index.ts @@ -1,11 +1,8 @@ -import { load } from 'cheerio'; - import type { Route } from '@/types'; import cache from '@/utils/cache'; -import ofetch from '@/utils/ofetch'; import parser from '@/utils/rss-parser'; -import utils from './utils'; +import { fetchBbcContent } from './utils'; export const route: Route = { path: '/:site?/:channel?', @@ -36,13 +33,11 @@ async function handler(ctx) { switch (site.toLowerCase()) { case 'chinese': title = 'BBC News 中文网'; - feed = await (channel ? parser.parseURL(`https://www.bbc.co.uk/zhongwen/simp/${channel}/index.xml`) : parser.parseURL('https://www.bbc.co.uk/zhongwen/simp/index.xml')); break; case 'traditionalchinese': title = 'BBC News 中文網'; - feed = await (channel ? parser.parseURL(`https://www.bbc.co.uk/zhongwen/trad/${channel}/index.xml`) : parser.parseURL('https://www.bbc.co.uk/zhongwen/trad/index.xml')); link = 'https://www.bbc.com/zhongwen/trad'; break; @@ -63,47 +58,31 @@ async function handler(ctx) { const items = await Promise.all( feed.items .filter((item) => item && item.link) + .map((item) => { + const link = item.link.split('?')[0]; + return { + ...item, + // https://www.bbc.co.uk/zhongwen/simp/index.xml returns trad regardless of lang parameter + // which requires manual fixing + link: site === 'chinese' ? item.link.replace('/trad', '/simp') : link, + }; + }) .map((item) => cache.tryGet(item.link, async () => { - try { - const linkURL = new URL(item.link); - if (linkURL.hostname === 'www.bbc.com') { - linkURL.hostname = 'www.bbc.co.uk'; - } - - const response = await ofetch(linkURL.href, { - retryStatusCodes: [403], - }); - - const $ = load(response); - - const path = linkURL.pathname; - - let description; + const linkURL = new URL(item.link); + if (linkURL.hostname === 'www.bbc.com') { + linkURL.hostname = 'www.bbc.co.uk'; + } - switch (true) { - case path.startsWith('/sport'): - description = item.content; - break; - case path.startsWith('/sounds/play'): - description = item.content; - break; - case path.startsWith('/news/live'): - description = item.content; - break; - default: - description = utils.ProcessFeed($); - } + const { category, description } = await fetchBbcContent(linkURL.href, item); - return { - title: item.title || '', - description: description || '', - pubDate: item.pubDate || new Date().toUTCString(), - link: item.link, - }; - } catch { - return {} as Record; - } + return { + title: item.title || '', + description: description || '', + pubDate: item.pubDate, + link: item.link, + category: category ?? item.categories ?? [], + }; }) ) ); @@ -113,6 +92,6 @@ async function handler(ctx) { link, image: 'https://www.bbc.com/favicon.ico', description: title, - item: items.filter((item) => Object.keys(item).length > 0), + item: items, }; } diff --git a/lib/routes/bbc/sport.ts b/lib/routes/bbc/sport.ts new file mode 100644 index 00000000000000..92ecda00eb84c2 --- /dev/null +++ b/lib/routes/bbc/sport.ts @@ -0,0 +1,68 @@ +import { load } from 'cheerio'; + +import type { DataItem, Route } from '@/types'; +import cache from '@/utils/cache'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +import { extractInitialData, fetchBbcContent } from './utils'; + +export const route: Route = { + path: '/sport/:sport', + name: 'Sport', + maintainers: ['TonyRL'], + handler, + example: '/bbc/sport/formula1', + parameters: { + sport: 'The sport to fetch news for, can be found in the URL.', + }, + radar: [ + { + source: ['www.bbc.com/sport/:sport'], + }, + ], + categories: ['traditional-media'], +}; + +async function handler(ctx) { + const { sport } = ctx.req.param(); + const link = `https://www.bbc.com/sport/${sport}`; + + const response = await ofetch(link); + const $ = load(response); + + const initialData = extractInitialData($); + const { page } = initialData.stores.metadata; + + const list: DataItem[] = Object.values(initialData.data) + .filter((d) => d.name === 'hierarchical-promo-collection' && d.props.title !== 'Elsewhere on the BBC') + .flatMap((d) => d.data.promos) + .map((item) => ({ + title: item.headline, + description: item.description, + link: `https://www.bbc.com${item.url}`, + pubDate: item.lastPublished ? parseDate(item.lastPublished) : undefined, + image: item.image?.src.replace('/480/', '/1536/'), + })); + + const items = await Promise.all( + list.map((item) => + cache.tryGet(item.link!, async () => { + const { category, description } = await fetchBbcContent(item.link!, item); + + item.category = category; + item.description = description; + + return item; + }) + ) + ); + + return { + title: page.title, + description: page.description, + link, + image: 'https://www.bbc.com/favicon.ico', + item: items, + }; +} diff --git a/lib/routes/bbc/topic-zhongwen.ts b/lib/routes/bbc/topic-zhongwen.ts new file mode 100644 index 00000000000000..6e03a1ec152cf2 --- /dev/null +++ b/lib/routes/bbc/topic-zhongwen.ts @@ -0,0 +1,72 @@ +import { load } from 'cheerio'; + +import type { Route } from '@/types'; +import cache from '@/utils/cache'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +import { fetchBbcContent } from './utils'; + +export const route: Route = { + path: '/zhongwen/topics/:topic/:variant?', + name: 'Topics - BBC News 中文', + maintainers: ['TonyRL'], + handler, + example: '/bbc/zhongwen/topics/ckr7mn6r003t', + parameters: { + topic: 'The topic ID to fetch news for, can be found in the URL.', + variant: { + description: 'The language variant.', + default: 'trad', + options: [ + { label: '简', value: 'simp' }, + { label: '繁', value: 'trad' }, + ], + }, + }, + radar: [ + { + source: ['www.bbc.com/zhongwen/topics/:topic/:variant'], + }, + ], + categories: ['traditional-media'], +}; + +async function handler(ctx) { + const { topic, variant = 'trad' } = ctx.req.param(); + const link = `https://www.bbc.com/zhongwen/topics/${topic}/${variant}`; + + const response = await ofetch(link); + const $ = load(response); + + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const pageData = nextData.props.pageProps.pageData; + + const list = pageData.curations[0].summaries.map((item) => ({ + title: item.title, + link: item.link, + pubDate: parseDate(item.firstPublished), + image: item.imageUrl ? item.imageUrl.replace('/{width}/', '/1536/') : undefined, + })); + + const items = await Promise.all( + list.map((item) => + cache.tryGet(item.link, async () => { + const { category, description } = await fetchBbcContent(item.link, item); + + item.category = category; + item.description = description; + + return item; + }) + ) + ); + + return { + title: `${pageData.title} - BBC News 中文`, + description: pageData.description, + link, + image: 'https://www.bbc.com/favicon.ico', + item: items, + }; +} diff --git a/lib/routes/bbc/topic.ts b/lib/routes/bbc/topic.ts new file mode 100644 index 00000000000000..3e3f32f76ace52 --- /dev/null +++ b/lib/routes/bbc/topic.ts @@ -0,0 +1,66 @@ +import { load } from 'cheerio'; + +import type { Route } from '@/types'; +import cache from '@/utils/cache'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +import { fetchBbcContent } from './utils'; + +export const route: Route = { + path: '/topics/:topic', + name: 'Topics', + maintainers: ['TonyRL'], + handler, + example: '/bbc/topics/c77jz3md4rwt', + parameters: { + topic: 'The topic ID to fetch news for, can be found in the URL.', + }, + radar: [ + { + source: ['www.bbc.com/news/topics/:topic'], + }, + ], + categories: ['traditional-media'], +}; + +async function handler(ctx) { + const { topic } = ctx.req.param(); + const link = `https://www.bbc.com/news/topics/${topic}`; + + const response = await ofetch(link); + const $ = load(response); + + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const pageProps = nextData.props.pageProps; + const topicData = pageProps.page[pageProps.pageKey]; + + const list = topicData.sections[0].content.map((item) => ({ + title: item.title, + link: `https://www.bbc.com${item.href}`, + description: item.description, + pubDate: parseDate(item.metadata.firstUpdated), + category: item.metadata.topics, + image: item.image ? item.image.model.blocks.src : undefined, + })); + + const items = await Promise.all( + list.map((item) => + cache.tryGet(item.link, async () => { + const { category, description } = await fetchBbcContent(item.link, item); + item.category = category; + item.description = description; + + return item; + }) + ) + ); + + return { + title: topicData.seo.title, + description: topicData.seo.description, + link, + image: 'https://www.bbc.com/favicon.ico', + item: items, + }; +} diff --git a/lib/routes/bbc/utils.tsx b/lib/routes/bbc/utils.tsx index 164ba2aeb42112..35baf542f680dd 100644 --- a/lib/routes/bbc/utils.tsx +++ b/lib/routes/bbc/utils.tsx @@ -1,129 +1,437 @@ +import type { CheerioAPI } from 'cheerio'; +import { load } from 'cheerio'; +import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; -const processImageAttributes = ($img) => { - if (!$img.attr('src') && $img.attr('srcSet')) { - const srcs = $img.attr('srcSet').split(', '); - const lastSrc = srcs.at(-1); - if (lastSrc) { - $img.attr('src', lastSrc.split(' ')[0]); +import ofetch from '@/utils/ofetch'; + +type BlockAttribute = 'bold' | 'italic'; + +type BlockModel = { + blocks?: Block[]; + text?: string; + timestamp?: number; + listType?: string; + listStyle?: string; + locator?: string; + originCode?: string; + width?: number; + height?: number; + copyrightHolder?: string; + attributes?: BlockAttribute[]; + imageUrl?: string; + imageCopyright?: string; + caption?: Block; + image?: { + alt?: string; + copyright?: string; + height?: number; + width?: number; + src?: string; + }; + media?: { + items?: Array<{ + holdingImageUrl?: string; + title?: string; + }>; + }; + oembed?: { + html: string; + }; +}; + +type Block = { + type?: string; + model?: BlockModel; + blocks?: Block[]; + items?: Block[]; +}; + +const applyAttributes = (content: JSX.Element | string, attributes?: BlockAttribute[]): JSX.Element | string => { + let result: JSX.Element | string = content; + for (const attribute of attributes ?? []) { + switch (attribute) { + case 'bold': + result = {result}; + break; + + case 'italic': + result = {result}; + break; + + default: + throw new Error(`Unhandled attribute: ${attribute}`); } } - $img.removeAttr('srcset').removeAttr('sizes'); + return result; }; -const buildCleanFigure = (src, alt, figcaptionContent) => - renderToString( -
- {alt} - {figcaptionContent &&
{figcaptionContent}
} -
- ); +const extractText = (blocks?: Block[]): string => { + if (!blocks?.length) { + return ''; + } -const cleanFigureElement = ($, figure) => { - const $figure = $(figure); - const $img = $figure.find('img'); + return blocks + .map((block) => { + if (block.type === 'fragment') { + return block.model?.text ?? ''; + } + + if (block.model?.text) { + return block.model.text; + } - if ($img.length === 0) { - return; + return extractText(block.model?.blocks ?? block.blocks ?? block.items); + }) + .join(''); +}; + +const renderInlineBlocks = (blocks?: Block[]): Array => { + if (!blocks?.length) { + return []; } - processImageAttributes($img); + return blocks.flatMap((block) => { + if (block.type === 'fragment') { + const text = block.model?.text ?? ''; + if (!text) { + return []; + } + + return [applyAttributes(text, block.model?.attributes)]; + } - let sourceText = ''; - let captionText = ''; + if (block.model?.blocks || block.blocks || block.items) { + return renderInlineBlocks(block.model?.blocks ?? block.blocks ?? block.items); + } - // extract image source: (simp chinese/trad chinese) - const $sourceP = $figure.find('p[class*="css-"]').first(); - if ($sourceP.length > 0) { - const sourceSpans = $sourceP.find('span'); - if (sourceSpans.length >= 2) { - sourceText = sourceSpans.eq(1).text().trim(); + if (block.model?.text) { + return [block.model.text]; } + + return []; + }); +}; + +const renderList = (block: Block, key: string): JSX.Element | null => { + const items = block.model?.blocks ?? block.blocks ?? block.items; + if (!items?.length) { + return null; + } + + const listItems = items.map((item, index) => { + const content = renderInlineBlocks(item.model?.blocks ?? item.blocks ?? item.items); + const fallback = item.model?.text ? [item.model.text] : []; + return
  • {content.length ? content : fallback}
  • ; + }); + + const listType = block.model?.listType ?? block.model?.listStyle ?? block.type; + if (listType === 'ordered' || listType === 'orderedList') { + return
      {listItems}
    ; } - let $figcaption = $figure.find('figcaption'); + return
      {listItems}
    ; +}; + +const renderParagraph = (blocks?: Block[], keyPrefix = 'paragraph'): JSX.Element[] => { + if (!blocks?.length) { + return []; + } + + return blocks.flatMap((block, index) => { + const key = `${keyPrefix}-${index}`; + switch (block.type) { + case 'paragraph': { + const content = renderInlineBlocks(block.model?.blocks ?? block.blocks ?? block.items); + const fallbackText = block.model?.text; + if (!content.length && !fallbackText) { + return []; + } - // english version - if ($figcaption.length === 0) { - const $next = $figure.next(); - if ($next.length > 0) { - $figcaption = $next.find('figcaption'); - // if found, remove the sibling div after extracting caption - if ($figcaption.length > 0) { - $next.remove(); + return [

    {content.length ? content : fallbackText}

    ]; } + case 'subheading': + case 'heading': + return [

    {extractText(block.model?.blocks ?? block.blocks ?? block.items)}

    ]; + case 'list': + case 'unorderedList': + case 'orderedList': { + const list = renderList(block, key); + return list ? [list] : []; + } + default: + return renderParagraph(block.model?.blocks ?? block.blocks ?? block.items, key); } - } + }); +}; - if ($figcaption.length > 0) { - // try to find caption in specific elements, excluding visually-hidden labels - const $captionParagraph = $figcaption.find('[data-testid="caption-paragraph"]'); +const findBlocksByType = (blocks: Block[] | undefined, type: string): Block[] => { + if (!blocks?.length) { + return []; + } - if ($captionParagraph.length > 0) { - captionText = $captionParagraph.text().trim(); - } else { - // remove visually-hidden elements (like "Image caption, " labels) - const $figcaptionClone = $figcaption.clone(); - $figcaptionClone.find('.visually-hidden, [class*="VisuallyHidden"]').remove(); - captionText = $figcaptionClone.text().trim(); + const matches: Block[] = []; + for (const block of blocks) { + if (block.type === type) { + matches.push(block); } + + matches.push(...findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, type)); } - const parts = [sourceText, captionText].filter(Boolean); - const figcaptionContent = parts.join(' / '); + return matches; +}; + +const buildImageUrl = (model?: BlockModel): string | undefined => { + if (!model?.locator || !model.originCode) { + return undefined; + } - $figure.replaceWith(buildCleanFigure($img.attr('src'), $img.attr('alt') || '', figcaptionContent)); + return `https://ichef.bbci.co.uk/news/1536/${model.originCode}/${model.locator}`; }; -const ProcessFeed = ($) => { - // by default treat it as a hybrid news with video and story-body__inner - let content = $('#main-content article'); +const renderFigure = (key: string, src: string, altText: string, width?: number, height?: number, caption?: string, copyrightHolder?: string): JSX.Element => ( +
    + {altText} + {caption || copyrightHolder ?
    {[copyrightHolder, caption].filter(Boolean).join(' / ')}
    : null} +
    +); - if (content.length === 0) { - // it's a video news with video and story-body - content = $('div.story-body'); +const renderImage = (block: Block, index: number): JSX.Element | null => { + const imagePayload = block.model?.image; + const captionPayload = block.model?.caption; + if (imagePayload?.src) { + const caption = extractText(captionPayload?.model?.blocks ?? captionPayload?.blocks ?? captionPayload?.items).trim(); + const altText = imagePayload.alt?.trim() ?? ''; + const copyrightHolder = imagePayload.copyright?.trim(); + + return renderFigure(`image-${index}`, imagePayload.src, altText, imagePayload.width, imagePayload.height, caption, copyrightHolder); } - if (content.length === 0) { - // chinese version has different structure - content = $('main[role="main"]'); + const altTextBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'altText')[0]; + const captionBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'caption')[0]; + const rawImageBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'rawImage')[0]; + + const altText = extractText(altTextBlock?.model?.blocks ?? altTextBlock?.blocks ?? altTextBlock?.items).trim(); + const caption = extractText(captionBlock?.model?.blocks ?? captionBlock?.blocks ?? captionBlock?.items).trim(); + const imageModel = rawImageBlock?.model ?? block.model; + const src = buildImageUrl(imageModel); + + if (!src) { + return null; } - // remove useless DOMs - content.find('header, section, [data-testid="bbc-logo-wrapper"]').remove(); + const copyrightHolder = imageModel?.copyrightHolder?.trim(); - // remove article title as it's already in RSS item title - content.find('h1').remove(); + return renderFigure(`image-${index}`, src, altText, imageModel?.width, imageModel?.height, caption, copyrightHolder); +}; - content.find('noscript').each((i, e) => { - $(e).parent().html($(e).html()); - }); +const renderVideo = (block: Block, index: number): JSX.Element | null => { + const altTextBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'altText')[0]; + const captionBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'caption')[0]; + const mediaMetadataBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'mediaMetadata')[0]; + const aresMediaBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'aresMedia')[0]; + const aresMediaMetadata = aresMediaBlock ? (aresMediaBlock.model?.blocks ?? aresMediaBlock.blocks ?? aresMediaBlock.items)?.[0] : undefined; - // clean up figure elements with images - content.find('figure').each((i, figure) => cleanFigureElement($, figure)); - - // handle standalone images with figcaption siblings (English version) - content - .find('img') - .not('figure img') - .each((i, img) => { - const $img = $(img); - processImageAttributes($img); - - // check for figcaption sibling - const $next = $img.next(); - if ($next.length > 0 && $next.find('figcaption').length > 0) { - const captionText = $next.find('figcaption').first().text().trim(); - if (captionText) { - $img.replaceWith(buildCleanFigure($img.attr('src'), $img.attr('alt') || '', captionText)); - $next.remove(); - } - } - }); + const altText = extractText(altTextBlock?.model?.blocks ?? altTextBlock?.blocks ?? altTextBlock?.items).trim(); + const caption = extractText(captionBlock?.model?.blocks ?? captionBlock?.blocks ?? captionBlock?.items).trim(); + + let src: string | undefined; + let sourceText: string | undefined; + let width: number | undefined; + let height: number | undefined; - content.find('[data-component="media-block"] figcaption').prepend('View video in browser: '); + if (mediaMetadataBlock?.model?.imageUrl) { + src = mediaMetadataBlock.model.imageUrl; + sourceText = mediaMetadataBlock.model.imageCopyright; + } else if (aresMediaMetadata?.model?.imageUrl) { + src = `https://${aresMediaMetadata.model.imageUrl.replace('/$recipe/', '/800xn/')}`; + sourceText = aresMediaMetadata.model.imageCopyright; + } - return content.html(); + if (!src) { + return null; + } + + return renderFigure(`video-${index}`, src, altText, width, height, caption, sourceText); +}; + +const renderMedia = (block: Block, index: number): JSX.Element | null => { + const mediaItem = block.model?.media?.items?.[0]; + const holdingImageUrl = mediaItem?.holdingImageUrl; + + if (!holdingImageUrl) { + return null; + } + + const caption = extractText(block.model?.caption?.model?.blocks ?? block.model?.caption?.blocks ?? block.model?.caption?.items).trim(); + const altText = mediaItem?.title?.trim() ?? ''; + + return renderFigure(`media-${index}`, holdingImageUrl.replace('/$recipe/', '/800xn/'), altText, undefined, undefined, caption); +}; + +const renderOEmbed = (block: Block, index: number, keyPrefix = 'oembed'): JSX.Element | null => { + const aresOEmbedBlock = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'aresOEmbed')[0]; + const oembedHtml = aresOEmbedBlock?.model?.oembed?.html ?? block.model?.oembed?.html; + + if (!oembedHtml) { + return null; + } + + return
    {raw(oembedHtml)}
    ; +}; + +const renderEmbedImages = (block: Block, index: number): JSX.Element | null => { + const imageBlocks = findBlocksByType(block.model?.blocks ?? block.blocks ?? block.items, 'image'); + + if (!imageBlocks?.length) { + return null; + } + + let largestImage: Block | null = null; + let maxWidth = 0; + + for (const imageBlock of imageBlocks) { + const rawImageBlock = findBlocksByType(imageBlock.model?.blocks ?? imageBlock.blocks ?? imageBlock.items, 'rawImage')[0]; + const width = rawImageBlock?.model?.width; + + if (width && width > maxWidth) { + maxWidth = width; + largestImage = imageBlock; + } + } + + if (!largestImage) { + return null; + } + + return renderImage(largestImage, index); }; -export default { ProcessFeed }; +const renderBlock = (block: Block, index: number): JSX.Element | JSX.Element[] | null => { + switch (block.type) { + case 'image': + return renderImage(block, index); + case 'video': + return renderVideo(block, index); + case 'text': + return renderParagraph(block.model?.blocks ?? block.blocks ?? block.items, `text-${index}`); + case 'media': + return renderMedia(block, index); + case 'subheadline': { + const text = extractText(block.model?.blocks ?? block.blocks ?? block.items).trim(); + return text ?

    {text}

    : null; + } + case 'social': + return renderOEmbed(block, index, 'social'); + case 'oEmbed': + return renderOEmbed(block, index); + case 'embedImages': + return renderEmbedImages(block, index); + case 'headline': + case 'timestamp': + case 'byline': + case 'advertisement': + case 'embed': // #region /zhongwen/topics + case 'disclaimer': + case 'continueReading': + case 'mpu': + case 'wsoj': + case 'relatedContent': + case 'links': + case 'visuallyHiddenHeadline': + case 'fauxHeadline': // #endregion + case 'metadata': // #region /sports + case 'topicList': + case 'promoList': // #endregion + return null; + default: + return renderParagraph(block.model?.blocks ?? block.blocks ?? block.items, `block-${index}`); + } +}; + +const renderArticleContent = (content: Block[]): string => renderToString(<>{content.flatMap((block, index) => renderBlock(block, index)).filter((node) => node !== null)}); + +export const extractInitialData = ($: CheerioAPI): any => { + const initialDataText = JSON.parse( + $('script:contains("window.__INITIAL_DATA__")') + .text() + .match(/window\.__INITIAL_DATA__\s*=\s*(.*);/)?.[1] ?? '{}' + ); + + return JSON.parse(initialDataText); +}; + +const extractArticleWithInitialData = ($: CheerioAPI, item) => { + if (item.link.includes('/live/') || item.link.includes('/videos/') || item.link.includes('/extra/')) { + return { + description: item.content, + }; + } + + const initialData = extractInitialData($); + const article = Object.values(initialData.data).find((d) => d.name === 'article')?.data; + const topics = Array.isArray(article?.topics) ? article.topics : []; + const blocks = article?.content?.model?.blocks; + + return { + category: [...new Set([...(item.category || []), ...topics.map((t) => t.title)])], + description: blocks ? renderArticleContent(blocks) : item.content, + }; +}; + +export const fetchBbcContent = async (link: string, item) => { + const response = await ofetch.raw(link, { + retryStatusCodes: [403], + }); + const $ = load(response._data); + const { hostname, pathname } = new URL(response.url); + + switch (true) { + case hostname === 'www.bbc.co.uk': + case pathname.startsWith('/sport'): + return extractArticleWithInitialData($, item); + case pathname.startsWith('/sounds/play') || pathname.startsWith('/news/live'): + return { + description: item.content ?? item.description ?? '', + }; + case pathname.startsWith('/zhongwen/articles/'): { + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const pageData = nextData.props.pageProps.pageData; + const metadata = pageData.metadata; + const aboutLabels = metadata.tags?.about?.map((t) => t.thingLabel) ?? []; + const topicNames = metadata.topics?.map((t) => t.topicName) ?? []; + + return { + category: [...new Set([...aboutLabels, ...topicNames])], + description: renderArticleContent(pageData.content.model.blocks), + }; + } + case pathname.startsWith('/news/'): { + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const pageProps = nextData.props.pageProps; + const articleData = pageProps.page[pageProps.pageKey]; + + return { + category: [ + ...new Set([ + ...(item.category || []), + ...(articleData.topics?.map((t) => t.title) ?? []), + ]), + ], + description: renderArticleContent(articleData.contents), + }; + } + default: + break; + } + + const nextData = JSON.parse($('script#__NEXT_DATA__').text()); + const pageProps = nextData.props.pageProps; + const articleData = pageProps.page[pageProps.pageKey]; + + return { + description: renderArticleContent(articleData.contents), + }; +}; From da080891d991793b0fc9f4bbee567e9a06079a02 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 17:25:16 +0000 Subject: [PATCH 024/259] style: auto format --- lib/routes/bbc/utils.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/routes/bbc/utils.tsx b/lib/routes/bbc/utils.tsx index 35baf542f680dd..a3760eefb3e812 100644 --- a/lib/routes/bbc/utils.tsx +++ b/lib/routes/bbc/utils.tsx @@ -414,12 +414,7 @@ export const fetchBbcContent = async (link: string, item) => { const articleData = pageProps.page[pageProps.pageKey]; return { - category: [ - ...new Set([ - ...(item.category || []), - ...(articleData.topics?.map((t) => t.title) ?? []), - ]), - ], + category: [...new Set([...(item.category || []), ...(articleData.topics?.map((t) => t.title) ?? [])])], description: renderArticleContent(articleData.contents), }; } From 5310e6a61b62300609ff348877b276557923e287 Mon Sep 17 00:00:00 2001 From: Vonfry Date: Sat, 14 Feb 2026 11:43:25 +0800 Subject: [PATCH 025/259] chore(flake): update to pnpm 10 to fix building issue (#21141) --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 439b0035dc7289..8faea967cf51aa 100644 --- a/flake.nix +++ b/flake.nix @@ -12,11 +12,11 @@ # Helper to define the RSSHub package makeRSSHub = pkgs: let - pnpm = pkgs.pnpm_9; + pnpm = pkgs.pnpm_10; deps = pnpm.fetchDeps { pname = "rsshub"; src = ./.; - hash = "sha256-ErMPvlOIDqn03s2P+tzbQbYPZFEax5P61O1DJputvo4="; + hash = "sha256-QG1cIkZh+qBA5Dipt0iDLuQpEOI45wdFhuG/CTcRVU8="; fetcherVersion = 2; }; in From 4c4339c625f62632bd65ec7f54a2d1b7cd4c5d79 Mon Sep 17 00:00:00 2001 From: CutCut Date: Sat, 14 Feb 2026 13:32:44 +0800 Subject: [PATCH 026/259] feat(route/twitter): support official api with user credentials (#21139) * feat(route/twitter): support official api with user credentials (act as a logged user) support * fix: update namespace docs * fix(route/twitter): use optional chaining for access tokens --- lib/config.ts | 6 +++ lib/routes/twitter/api/developer-api/api.ts | 43 +++++++++++++++++---- lib/routes/twitter/namespace.ts | 1 + 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/lib/config.ts b/lib/config.ts index 7403d58f4bc5d2..b97c7bec78ca38 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -206,6 +206,8 @@ type ConfigEnvKeys = | 'TUMBLR_REFRESH_TOKEN' | 'TWITTER_CONSUMER_KEY' | 'TWITTER_CONSUMER_SECRET' + | 'TWITTER_ACCESS_TOKEN' + | 'TWITTER_ACCESS_SECRET' // | 'TWITTER_USERNAME' // | 'TWITTER_PASSWORD' // | 'TWITTER_AUTHENTICATION_SECRET' @@ -621,6 +623,8 @@ export type Config = { twitter: { consumerKey?: string; consumerSecret?: string; + accessToken?: string; + accessSecret?: string; // username?: string[]; // password?: string[]; // authenticationSecret?: string[]; @@ -1108,6 +1112,8 @@ const calculateValue = () => { twitter: { consumerKey: envs.TWITTER_CONSUMER_KEY, consumerSecret: envs.TWITTER_CONSUMER_SECRET, + accessToken: envs.TWITTER_ACCESS_TOKEN, + accessSecret: envs.TWITTER_ACCESS_SECRET, // username: envs.TWITTER_USERNAME?.split(','), // password: envs.TWITTER_PASSWORD?.split(','), // authenticationSecret: envs.TWITTER_AUTHENTICATION_SECRET?.split(','), diff --git a/lib/routes/twitter/api/developer-api/api.ts b/lib/routes/twitter/api/developer-api/api.ts index 1f2fcff7983d58..e7de3f2ae40704 100644 --- a/lib/routes/twitter/api/developer-api/api.ts +++ b/lib/routes/twitter/api/developer-api/api.ts @@ -6,7 +6,12 @@ import ConfigNotFoundError from '@/errors/types/config-not-found'; import InvalidParameterError from '@/errors/types/invalid-parameter'; import cache from '@/utils/cache'; -const appClients: TwitterApiReadOnly[] = []; +interface ClientWrapper { + client: TwitterApiReadOnly; + isUserAuth: boolean; +} + +const appClients: ClientWrapper[] = []; let index = -1; const init = () => { @@ -19,18 +24,37 @@ const init = () => { const consumerKeys = config.twitter.consumerKey.split(','); const consumerSecrets = config.twitter.consumerSecret.split(','); + const accessTokens = config.twitter.accessToken?.split(',') || []; + const accessSecrets = config.twitter.accessSecret?.split(',') || []; for (const [index, consumerKey] of consumerKeys.entries()) { const consumerSecret = consumerSecrets[index]; + const accessToken = accessTokens[index]; + const accessSecret = accessSecrets[index]; + if (!consumerKey || !consumerSecret) { continue; } - appClients.push( - new TwitterApi({ - appKey: consumerKey, - appSecret: consumerSecret, - }).readOnly - ); + + if (accessToken && accessSecret) { + appClients.push({ + client: new TwitterApi({ + appKey: consumerKey, + appSecret: consumerSecret, + accessToken, + accessSecret, + }).readOnly, + isUserAuth: true, + }); + } else { + appClients.push({ + client: new TwitterApi({ + appKey: consumerKey, + appSecret: consumerSecret, + }).readOnly, + isUserAuth: false, + }); + } } }; @@ -40,7 +64,10 @@ export const getAppClient = async () => { throw new ConfigNotFoundError('Twitter API is not configured'); } index += 1; - return await appClients[index % appClients.length].appLogin(); + + const currentWrapper = appClients[index % appClients.length]; + + return currentWrapper.isUserAuth ? currentWrapper.client : await currentWrapper.client.appLogin(); }; const mapUserToLegacy = (user: Record) => diff --git a/lib/routes/twitter/namespace.ts b/lib/routes/twitter/namespace.ts index acdba9a8d4bd1b..f6ab6128089c26 100644 --- a/lib/routes/twitter/namespace.ts +++ b/lib/routes/twitter/namespace.ts @@ -48,6 +48,7 @@ Currently supports two authentication methods: ~~- Using \`TWITTER_USERNAME\` \`TWITTER_PASSWORD\` and \`TWITTER_AUTHENTICATION_SECRET\`: Configure a comma-separated list of Twitter username and password. RSSHub will use this information to log in to Twitter and obtain data using the mobile API. Please note that if you have not logged in with the current IP address before, it is easy to trigger Twitter's risk control mechanism.~~ This no longer works since mobile client attestation has been implemented in October 2025. - Using \`TWITTER_CONSUMER_KEY\` and \`TWITTER_CONSUMER_SECRET\`: Configure a comma-separated list of Twitter API keys and secrets. RSSHub will use this information to access Twitter's Pay-Per-Use developer API to obtain data. +- OPTIONAL: Using \`TWITTER_ACCESS_TOKEN\` and \`TWITTER_ACCESS_SECRET\`: Configure a comma-separated list of Twitter API access tokens and secrets. RSSHub will use this information to access Twitter's Pay-Per-Use developer API with user authentication to obtain data. If not provided, RSSHub will only use app authentication, which may only access to public information. `, lang: 'en', From 5c465a03ef7836c9162e43a07cefd542cf7cbe66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 21:01:59 +0800 Subject: [PATCH 027/259] chore(deps-dev): bump @cloudflare/workers-types (#21145) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260213.0 to 4.20260214.0. - [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: 4.20260214.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index f49fd645906daa..39c406730068b6 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260213.0", + "@cloudflare/workers-types": "4.20260214.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "9.39.2", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 705a75ed1ef419..81b0b3a2a65846 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260213.0 - version: 4.20260213.0 + specifier: 4.20260214.0 + version: 4.20260214.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.64.0 - version: 4.64.0(@cloudflare/workers-types@4.20260213.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 4.64.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -611,8 +611,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260213.0': - resolution: {integrity: sha512-dr905ft/1R0mnfdT9aun4vanLgIBN27ZyPxTCENKmhctSz6zNmBOvHbzDWAhGE0RBAKFf3X7ifMRcd0MkmBvgA==} + '@cloudflare/workers-types@4.20260214.0': + resolution: {integrity: sha512-qb8rgbAdJR4BAPXolXhFL/wuGtecHLh1veOyZ1mK6QqWuCdI3vK1biKC0i3lzmzdLR/DZvsN3mNtpUE8zpWGEg==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6407,7 +6407,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260210.0': optional: true - '@cloudflare/workers-types@4.20260213.0': {} + '@cloudflare/workers-types@4.20260214.0': {} '@colors/colors@1.6.0': {} @@ -12042,7 +12042,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260210.0 '@cloudflare/workerd-windows-64': 1.20260210.0 - wrangler@4.64.0(@cloudflare/workers-types@4.20260213.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + wrangler@4.64.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260210.0) @@ -12053,7 +12053,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260210.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260213.0 + '@cloudflare/workers-types': 4.20260214.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 62f6fa24619669e0049cf29e3ed4b4acde508d32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 13:04:20 +0000 Subject: [PATCH 028/259] chore(deps-dev): bump discord-api-types from 0.38.38 to 0.38.39 (#21146) Bumps [discord-api-types](https://github.com/discordjs/discord-api-types) from 0.38.38 to 0.38.39. - [Release notes](https://github.com/discordjs/discord-api-types/releases) - [Changelog](https://github.com/discordjs/discord-api-types/blob/main/CHANGELOG.md) - [Commits](https://github.com/discordjs/discord-api-types/compare/0.38.38...0.38.39) --- updated-dependencies: - dependency-name: discord-api-types dependency-version: 0.38.39 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 39c406730068b6..06c787157e45a3 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "@typescript-eslint/parser": "8.55.0", "@vercel/nft": "1.3.1", "@vitest/coverage-v8": "4.0.9", - "discord-api-types": "0.38.38", + "discord-api-types": "0.38.39", "domhandler": "5.0.3", "eslint": "9.39.2", "eslint-nibble": "9.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81b0b3a2a65846..d2d21ff949c37e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -369,8 +369,8 @@ importers: specifier: 4.0.9 version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: - specifier: 0.38.38 - version: 0.38.38 + specifier: 0.38.39 + version: 0.38.39 domhandler: specifier: 5.0.3 version: 5.0.3 @@ -3394,8 +3394,8 @@ packages: resolution: {tarball: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed} version: 0.2.6 - discord-api-types@0.38.38: - resolution: {integrity: sha512-7qcM5IeZrfb+LXW07HvoI5L+j4PQeMZXEkSm1htHAHh4Y9JSMXBWjy/r7zmUCOj4F7zNjMcm7IMWr131MT2h0Q==} + discord-api-types@0.38.39: + resolution: {integrity: sha512-XRdDQvZvID1XvcFftjSmd4dcmMi/RL/jSy5sduBDAvCGFcNFHThdIQXCEBDZFe52lCNEzuIL0QJoKYAmRmxLUA==} dom-serializer@0.1.1: resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} @@ -8885,7 +8885,7 @@ snapshots: dependencies: heap: 0.2.7 - discord-api-types@0.38.38: {} + discord-api-types@0.38.39: {} dom-serializer@0.1.1: dependencies: From a506a02f1d192c91f0201d41a7c1c5af81532302 Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 14 Feb 2026 21:09:31 +0800 Subject: [PATCH 029/259] chore: fix Dependabot login name --- .github/workflows/pr-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml index 10d6c8eb6334d9..98f3a25062a77c 100644 --- a/.github/workflows/pr-review.yml +++ b/.github/workflows/pr-review.yml @@ -52,7 +52,7 @@ jobs: run: | AUTHOR=$(gh pr view --repo "${PR_TARGET_REPO}" "${PR_NUMBER}" --json author --jq '.author.login') echo "author=${AUTHOR}" >> "${GITHUB_OUTPUT}" - if [[ "${AUTHOR}" == "dependabot[bot]" || "${AUTHOR}" == "dependabot" ]]; then + if [[ "${AUTHOR}" == "dependabot[bot]" || "${AUTHOR}" == "app/dependabot" ]]; then echo "skip=true" >> "${GITHUB_OUTPUT}" else echo "skip=false" >> "${GITHUB_OUTPUT}" From aa93166e0401609e46746aaa88f54ffc7411e939 Mon Sep 17 00:00:00 2001 From: TonyRL Date: Sat, 14 Feb 2026 13:41:04 +0000 Subject: [PATCH 030/259] chore: explicit skip pr-review --- .github/workflows/pr-review.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr-review.yml b/.github/workflows/pr-review.yml index 98f3a25062a77c..b4f8a08f960f9e 100644 --- a/.github/workflows/pr-review.yml +++ b/.github/workflows/pr-review.yml @@ -59,7 +59,7 @@ jobs: fi - name: Comment on failed Docker build - if: github.event_name != 'workflow_dispatch' && github.event.workflow_run.conclusion == 'failure' && steps.check-pr-author.outputs.skip == 'false' + if: github.event_name != 'workflow_dispatch' && github.event.workflow_run.conclusion == 'failure' env: GH_TOKEN: ${{ github.token }} PR_TARGET_REPO: ${{ github.repository }} @@ -71,19 +71,16 @@ jobs: Please fix the Docker build test issues first." - - name: Exit if Dependabot or Docker build failed - if: github.event_name != 'workflow_dispatch' && (steps.check-pr-author.outputs.skip == 'true' || github.event.workflow_run.conclusion == 'failure') - run: | - echo "Skipping PR review: Dependabot PR or Docker build failed" - exit 0 - - name: Set up Bun + if: github.event_name == 'workflow_dispatch' || (steps.check-pr-author.outputs.skip != 'true' && github.event.workflow_run.conclusion != 'failure') uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2.1.2 - name: Install opencode + if: github.event_name == 'workflow_dispatch' || (steps.check-pr-author.outputs.skip != 'true' && github.event.workflow_run.conclusion != 'failure') run: curl -fsSL https://opencode.ai/install | bash - name: Review PR with rules + if: github.event_name == 'workflow_dispatch' || (steps.check-pr-author.outputs.skip != 'true' && github.event.workflow_run.conclusion != 'failure') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From dac1af5e21fb07252f8534fdad1029e7f1af64fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 21:42:08 +0800 Subject: [PATCH 031/259] chore(deps): bump undici from 7.21.0 to 7.22.0 (#21144) Bumps [undici](https://github.com/nodejs/undici) from 7.21.0 to 7.22.0. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](https://github.com/nodejs/undici/compare/v7.21.0...v7.22.0) --- updated-dependencies: - dependency-name: undici dependency-version: 7.22.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 | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 06c787157e45a3..d2628282951aa7 100644 --- a/package.json +++ b/package.json @@ -133,7 +133,7 @@ "tsx": "4.21.0", "twitter-api-v2": "1.29.0", "ufo": "1.6.3", - "undici": "7.21.0", + "undici": "7.22.0", "uuid": "13.0.0", "winston": "3.19.0", "xxhash-wasm": "1.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2d21ff949c37e..7f7e481e2be582 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: version: 9.0.5 http-cookie-agent: specifier: 7.0.3 - version: 7.0.3(tough-cookie@6.0.0)(undici@7.21.0) + version: 7.0.3(tough-cookie@6.0.0)(undici@7.22.0) https-proxy-agent: specifier: 7.0.6 version: 7.0.6 @@ -263,8 +263,8 @@ importers: specifier: 1.6.3 version: 1.6.3 undici: - specifier: 7.21.0 - version: 7.21.0 + specifier: 7.22.0 + version: 7.22.0 uuid: specifier: 13.0.0 version: 13.0.0 @@ -424,7 +424,7 @@ importers: version: 2.4.3(typescript@5.9.3) node-network-devtools: specifier: 1.0.29 - version: 1.0.29(undici@7.21.0)(utf-8-validate@5.0.10) + version: 1.0.29(undici@7.22.0)(utf-8-validate@5.0.10) oxfmt: specifier: 0.32.0 version: 0.32.0 @@ -5817,8 +5817,8 @@ packages: resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} engines: {node: '>=20.18.1'} - undici@7.21.0: - resolution: {integrity: sha512-Hn2tCQpoDt1wv23a68Ctc8Cr/BHpUSfaPYrkajTXOS9IKpxVRx/X5m1K2YkbK2ipgZgxXSgsUinl3x+2YdSSfg==} + undici@7.22.0: + resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==} engines: {node: '>=20.18.1'} unenv@2.0.0-rc.24: @@ -8601,7 +8601,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.21.0 + undici: 7.22.0 whatwg-mimetype: 4.0.0 chownr@3.0.0: {} @@ -9746,12 +9746,12 @@ snapshots: http-cache-semantics@4.2.0: {} - http-cookie-agent@7.0.3(tough-cookie@6.0.0)(undici@7.21.0): + http-cookie-agent@7.0.3(tough-cookie@6.0.0)(undici@7.22.0): dependencies: agent-base: 7.1.4 tough-cookie: 6.0.0 optionalDependencies: - undici: 7.21.0 + undici: 7.22.0 http-proxy-agent@7.0.2: dependencies: @@ -10591,13 +10591,13 @@ snapshots: dependencies: write-file-atomic: 1.3.4 - node-network-devtools@1.0.29(undici@7.21.0)(utf-8-validate@5.0.10): + node-network-devtools@1.0.29(undici@7.22.0)(utf-8-validate@5.0.10): dependencies: bufferutil: 4.0.9 iconv-lite: 0.6.3 inspector: 0.5.0 open: 8.4.2 - undici: 7.21.0 + undici: 7.22.0 ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - utf-8-validate @@ -11783,7 +11783,7 @@ snapshots: undici@7.18.2: {} - undici@7.21.0: {} + undici@7.22.0: {} unenv@2.0.0-rc.24: dependencies: From b5fceced2c47b9961dbf198a3eb68662e86f5d0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 22:16:57 +0800 Subject: [PATCH 032/259] chore(deps-dev): bump wrangler from 4.64.0 to 4.65.0 (#21147) Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.64.0 to 4.65.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.65.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.65.0 dependency-type: direct:development 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 | 76 +++++++++++++++++++++++++------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index d2628282951aa7..ee744a42ddc1d6 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.64.0", + "wrangler": "4.65.0", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f7e481e2be582..c8785deb86c3a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -450,8 +450,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.64.0 - version: 4.64.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: 4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -581,32 +581,32 @@ packages: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20260210.0': - resolution: {integrity: sha512-e3vMgzr8ZM6VjpJVFrnMBhjvFhlMIkhT+BLpBk3pKaWsrXao+azDlmzzxB3Zf4CZ8LmCEtaP7n5d2mNGL6Dqww==} + '@cloudflare/workerd-darwin-64@1.20260212.0': + resolution: {integrity: sha512-kLxuYutk88Wlo7edp8mlkN68TgZZ9237SUnuX9kNaD5jcOdblUqiBctMRZeRcPsuoX/3g2t0vS4ga02NBEVRNg==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260210.0': - resolution: {integrity: sha512-ng2uLJVMrI5VrcAS26gDGM+qxCuWD4ZA8VR4i88RdyM8TLn+AqPFisrvn7AMA+QSv0+ck+ZdFtXek7qNp2gNuA==} + '@cloudflare/workerd-darwin-arm64@1.20260212.0': + resolution: {integrity: sha512-fqoqQWMA1D0ZzDOD8sp0allREM2M8GHdpxMXQ8EdZpZ70z5bJbJ9Vr4qe35++FNIZJspsDHfTw3Xm/M4ELm/dQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260210.0': - resolution: {integrity: sha512-frn2/+6DV59h13JbGSk9ATvJw3uORWssFIKZ/G/to+WRrIDQgCpSrjLtGbFSSn5eBEhYOvwxPKc7IrppkmIj/w==} + '@cloudflare/workerd-linux-64@1.20260212.0': + resolution: {integrity: sha512-bCSQoZzDzV5MSh4ueWo1DgmOn4Hf3QBu4Yo3eQFXA2llYFIu/sZgRtkEehw1X2/SY5Sn6O0EMCqxJYRf82Wdeg==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260210.0': - resolution: {integrity: sha512-0fmxEHaDcAF+7gcqnBcQdBCOzNvGz3mTMwqxEYJc5xZgFwQf65/dYK5fnV8z56GVNqu88NEnLMG3DD2G7Ey1vw==} + '@cloudflare/workerd-linux-arm64@1.20260212.0': + resolution: {integrity: sha512-GPvp1iiKQodtbUDi6OmR5I0vD75lawB54tdYGtmypuHC7ZOI2WhBmhb3wCxgnQNOG1z7mhCQrzRCoqrKwYbVWQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260210.0': - resolution: {integrity: sha512-G/Apjk/QLNnwbu8B0JO9FuAJKHNr+gl8X3G/7qaUrpwIkPx5JFQElVE6LKk4teSrycvAy5AzLFAL0lOB1xsUIQ==} + '@cloudflare/workerd-windows-64@1.20260212.0': + resolution: {integrity: sha512-wHRI218Xn4ndgWJCUHH4Zx0YlU5q/o6OmcxXkcw95tJOsQn4lDrhppioPh4eScxJZALf2X+ODeZcyQTCq5exGw==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4668,8 +4668,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - miniflare@4.20260210.0: - resolution: {integrity: sha512-HXR6m53IOqEzq52DuGF1x7I1K6lSIqzhbCbQXv/cTmPnPJmNkr7EBtLDm4nfSkOvlDtnwDCLUjWII5fyGJI5Tw==} + miniflare@4.20260212.0: + resolution: {integrity: sha512-Lgxq83EuR2q/0/DAVOSGXhXS1V7GDB04HVggoPsenQng8sqEDR3hO4FigIw5ZI2Sv2X7kIc30NCzGHJlCFIYWg==} engines: {node: '>=18.0.0'} hasBin: true @@ -6058,17 +6058,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260210.0: - resolution: {integrity: sha512-Sb0WXhrvf+XHQigP2trAxQnXo7wxZFC4PWnn6I7LhFxiTvzxvOAqMEiLkIz58wggRCb54T/KAA8hdjkTniR5FA==} + workerd@1.20260212.0: + resolution: {integrity: sha512-4B9BoZUzKSRv3pVZGEPh7OX+Q817hpUqAUtz5O0TxJVqo4OsYJAUA/sY177Q5ha/twjT9KaJt2DtQzE+oyCOzw==} engines: {node: '>=16'} hasBin: true - wrangler@4.64.0: - resolution: {integrity: sha512-0PBiVEbshQT4Av/KLHbOAks4ioIKp/eAO7Xr2BgAX5v7cFYYgeOvudBrbtZa/hDDIA6858QuJnTQ8mI+cm8Vqw==} + wrangler@4.65.0: + resolution: {integrity: sha512-R+n3o3tlGzLK9I4fGocPReOuvcnjhtOL2aCVKkHMeuEwt9pPbOO4FxJtx/ec5cIUG/otRyJnfQGCAr9DplBVng==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260210.0 + '@cloudflare/workers-types': ^4.20260212.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -6386,25 +6386,25 @@ snapshots: - supports-color - utf-8-validate - '@cloudflare/unenv-preset@2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260210.0)': + '@cloudflare/unenv-preset@2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260210.0 + workerd: 1.20260212.0 - '@cloudflare/workerd-darwin-64@1.20260210.0': + '@cloudflare/workerd-darwin-64@1.20260212.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260210.0': + '@cloudflare/workerd-darwin-arm64@1.20260212.0': optional: true - '@cloudflare/workerd-linux-64@1.20260210.0': + '@cloudflare/workerd-linux-64@1.20260212.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260210.0': + '@cloudflare/workerd-linux-arm64@1.20260212.0': optional: true - '@cloudflare/workerd-windows-64@1.20260210.0': + '@cloudflare/workerd-windows-64@1.20260212.0': optional: true '@cloudflare/workers-types@4.20260214.0': {} @@ -10467,12 +10467,12 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260210.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + miniflare@4.20260212.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260210.0 + workerd: 1.20260212.0 ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -12034,24 +12034,24 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260210.0: + workerd@1.20260212.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260210.0 - '@cloudflare/workerd-darwin-arm64': 1.20260210.0 - '@cloudflare/workerd-linux-64': 1.20260210.0 - '@cloudflare/workerd-linux-arm64': 1.20260210.0 - '@cloudflare/workerd-windows-64': 1.20260210.0 + '@cloudflare/workerd-darwin-64': 1.20260212.0 + '@cloudflare/workerd-darwin-arm64': 1.20260212.0 + '@cloudflare/workerd-linux-64': 1.20260212.0 + '@cloudflare/workerd-linux-arm64': 1.20260212.0 + '@cloudflare/workerd-windows-64': 1.20260212.0 - wrangler@4.64.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260210.0) + '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260210.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + miniflare: 4.20260212.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260210.0 + workerd: 1.20260212.0 optionalDependencies: '@cloudflare/workers-types': 4.20260214.0 fsevents: 2.3.3 From d593b2e531f5d271ac2c90039ff613793b4ec7b2 Mon Sep 17 00:00:00 2001 From: Tony Date: Sun, 15 Feb 2026 00:21:52 +0800 Subject: [PATCH 033/259] chore(deps): update transitive deps --- .github/workflows/test.yml | 2 +- pnpm-lock.yaml | 1692 ++++++++++++------------------------ 2 files changed, 548 insertions(+), 1146 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b954f85c74f7fe..a03ad5b2b882e8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,7 +49,7 @@ jobs: - name: Test all and generate coverage run: pnpm run vitest:coverage --reporter=github-actions env: - REDIS_URL: redis://localhost:${{ job.services.redis.ports[6379] }}/ + REDIS_URL: redis://localhost:${{ job.services.redis.ports['6379'] }}/ - name: Upload coverage to Codecov if: ${{ matrix.node-version == 'lts/*' }} uses: codecov/codecov-action@v5 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8785deb86c3a3..5ac8e2371a128c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -156,7 +156,7 @@ importers: version: 5.0.0 jsdom: specifier: 27.0.0 - version: 27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10) + version: 27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) json-bigint: specifier: 1.0.0 version: 1.0.0 @@ -207,7 +207,7 @@ importers: version: 2.7.1 puppeteer-real-browser: specifier: 1.4.4 - version: 1.4.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 1.4.4(bufferutil@4.1.0)(utf-8-validate@5.0.10) query-string: specifier: 9.3.1 version: 9.3.1 @@ -219,7 +219,7 @@ importers: version: 1.2.1 rebrowser-puppeteer: specifier: 24.8.1 - version: 24.8.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10) + version: 24.8.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) rfc4648: specifier: 1.5.4 version: 1.5.4 @@ -292,7 +292,7 @@ importers: version: 0.1.0 '@cloudflare/puppeteer': specifier: 1.0.6 - version: 1.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': specifier: 4.20260214.0 version: 4.20260214.0 @@ -364,10 +364,10 @@ importers: version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 - version: 1.3.1(rollup@4.53.2) + version: 1.3.1(rollup@4.57.1) '@vitest/coverage-v8': specifier: 4.0.9 - version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) + version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: specifier: 0.38.39 version: 0.38.39 @@ -445,13 +445,13 @@ importers: version: 11.0.5 vite-tsconfig-paths: specifier: 6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.9 - version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -464,11 +464,11 @@ packages: '@apm-js-collab/tracing-hooks@0.3.1': resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==} - '@asamuzakjp/css-color@4.1.0': - resolution: {integrity: sha512-9xiBAtLn4aNsa4mDnpovJvBn72tNEIACyvlqaNJ+ADemR+yeMJWnBudOi2qGDviJa7SwcDOU/TRh5dnET7qk0w==} + '@asamuzakjp/css-color@4.1.2': + resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==} - '@asamuzakjp/dom-selector@6.7.6': - resolution: {integrity: sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==} + '@asamuzakjp/dom-selector@6.8.1': + resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==} '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} @@ -478,8 +478,8 @@ packages: peerDependencies: zod: ^4.0.0 - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} '@babel/generator@8.0.0-rc.1': @@ -502,8 +502,8 @@ packages: resolution: {integrity: sha512-I4YnARytXC2RzkLNVnf5qFNFMzp679qZpmtw/V3Jt2uGnWiIxyJtaukjG7R8pSx8nG2NamICpGfljQsogj+FbQ==} engines: {node: ^20.19.0 || >=22.12.0} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true @@ -512,12 +512,12 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - '@babel/runtime-corejs2@7.28.3': - resolution: {integrity: sha512-+1b3F+6P7ewZRsGVD/8sOTsq2YLpwr6ziqkUZ7vOQrW+jWZ/K2dv92LRcdlwta46z93g6IC/v66CzpSzms7U2A==} + '@babel/runtime-corejs2@7.28.6': + resolution: {integrity: sha512-pOHfxftxpetWUeBacCB3ZOPc/OO6hiT9MLv0qd9j474khiCcduwO8uuJI3N7vX3m8GJotTT6lxlA89TS/PylGg==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} '@babel/types@8.0.0-rc.1': @@ -549,8 +549,8 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@bufbuild/protobuf@2.9.0': - resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==} + '@bufbuild/protobuf@2.11.0': + resolution: {integrity: sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -625,52 +625,43 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@csstools/color-helpers@6.0.1': + resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==} + engines: {node: '>=20.19.0'} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} + '@csstools/css-calc@3.1.1': + resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} + '@csstools/css-color-parser@4.0.1': + resolution: {integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.14': - resolution: {integrity: sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@csstools/css-syntax-patches-for-csstree@1.0.27': + resolution: {integrity: sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==} - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} '@dabh/diagnostics@2.0.8': resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} - '@emnapi/core@1.7.1': - resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} - '@emnapi/core@1.8.1': resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} - '@emnapi/runtime@1.8.1': resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} @@ -680,480 +671,162 @@ packages: '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.27.0': - resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.27.0': - resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.3': resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.27.0': - resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.3': resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.27.0': - resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.3': resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.27.0': - resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.3': resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.27.0': - resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.3': resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.27.0': - resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.3': resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.27.0': - resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.3': resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.27.0': - resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.3': resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.27.0': - resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.3': resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.27.0': - resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.3': resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.27.0': - resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.3': resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.27.0': - resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.3': resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.27.0': - resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.3': resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.27.0': - resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.3': resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.27.0': - resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.3': resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.27.0': - resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.3': resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.27.0': - resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.3': resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.0': - resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.3': resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.27.0': - resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.3': resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.0': - resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.3': resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.27.0': - resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.3': resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.27.0': - resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.3': resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.27.0': - resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.3': resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.27.0': - resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.3': resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.27.0': - resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.3': resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.0': - resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1388,12 +1061,12 @@ packages: cpu: [x64] os: [win32] - '@inquirer/ansi@1.0.1': - resolution: {integrity: sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==} + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} - '@inquirer/checkbox@4.3.0': - resolution: {integrity: sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==} + '@inquirer/checkbox@4.3.2': + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1405,8 +1078,8 @@ packages: resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/confirm@5.1.19': - resolution: {integrity: sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==} + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1414,8 +1087,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.3.0': - resolution: {integrity: sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==} + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1427,16 +1100,12 @@ packages: resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} engines: {node: '>=18'} - '@inquirer/figures@1.0.14': - resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==} - engines: {node: '>=18'} - '@inquirer/figures@1.0.15': resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} - '@inquirer/select@4.4.0': - resolution: {integrity: sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==} + '@inquirer/select@4.4.2': + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1452,8 +1121,8 @@ packages: resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} - '@inquirer/type@3.0.9': - resolution: {integrity: sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==} + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1464,22 +1133,14 @@ packages: '@ioredis/commands@1.5.0': resolution: {integrity: sha512-eUgLqrMf8nJkZxT24JvVRrQya1vZkQh8BBeYNwGDqa5I0VUi8ACx7uFvAaLxintokpTenkK6DASvo/bvNbBGow==} - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.1': - resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} - engines: {node: 20 || >=22} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/cliui@9.0.0': + resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} + engines: {node: '>=18'} + '@isaacs/fs-minipass@4.0.1': resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} @@ -1596,8 +1257,8 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@2.5.0': - resolution: {integrity: sha512-uOXpVX0ZjO7heSVjhheW2XEPrhQAWr2BScDPoZ9UDycl5iuHG+Usyc3AIfG6kZeC1GyLpMInpQ6X5+9n69yOFw==} + '@opentelemetry/context-async-hooks@2.5.1': + resolution: {integrity: sha512-MHbu8XxCHcBn6RwvCt2Vpn1WnLMNECfNKYB14LI5XypcgH4IE0/DiVifVR9tAkwPMyLXN8dOoPJfya3IryLQVw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -2007,8 +1668,8 @@ packages: resolution: {integrity: sha512-txpgUqZOnWYnUHZpHjkfb0IwVH4qJmyq77pPnJLlfhMtdCLMFTEeQHlzQiK906aaNCe4NEB5fGJHo9uzGbFMeA==} engines: {node: '>=6'} - '@postman/tunnel-agent@0.6.4': - resolution: {integrity: sha512-CJJlq8V7rNKhAw4sBfjixKpJW00SHqebqNUQKxMoepgeWZIbdPcD+rguRcivGhS4N12PymDcKgUgSD4rVC+RjQ==} + '@postman/tunnel-agent@0.6.8': + resolution: {integrity: sha512-2U42SmZW5G+suEcS++zB94sBWNO4qD4bvETGFRFDTqSpYl5ksfjcPqzYpgQgXgUmb6dfz+fAGbkcRamounGm0w==} '@prisma/instrumentation@7.2.0': resolution: {integrity: sha512-Rh9Z4x5kEj1OdARd7U18AtVrnL6rmLSI0qYShaB4W7Wx5BKbgzndWF+QnuzMb7GLfVdlT5aYCXoPQVYuYtVu0g==} @@ -2156,124 +1817,141 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.53.2': - resolution: {integrity: sha512-yDPzwsgiFO26RJA4nZo8I+xqzh7sJTZIWQOxn+/XOdPE31lAvLIYCKqjV+lNH/vxE2L2iH3plKxDCRK6i+CwhA==} + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.53.2': - resolution: {integrity: sha512-k8FontTxIE7b0/OGKeSN5B6j25EuppBcWM33Z19JoVT7UTXFSo3D9CdU39wGTeb29NO3XxpMNauh09B+Ibw+9g==} + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.53.2': - resolution: {integrity: sha512-A6s4gJpomNBtJ2yioj8bflM2oogDwzUiMl2yNJ2v9E7++sHrSrsQ29fOfn5DM/iCzpWcebNYEdXpaK4tr2RhfQ==} + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.53.2': - resolution: {integrity: sha512-e6XqVmXlHrBlG56obu9gDRPW3O3hLxpwHpLsBJvuI8qqnsrtSZ9ERoWUXtPOkY8c78WghyPHZdmPhHLWNdAGEw==} + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.53.2': - resolution: {integrity: sha512-v0E9lJW8VsrwPux5Qe5CwmH/CF/2mQs6xU1MF3nmUxmZUCHazCjLgYvToOk+YuuUqLQBio1qkkREhxhc656ViA==} + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.53.2': - resolution: {integrity: sha512-ClAmAPx3ZCHtp6ysl4XEhWU69GUB1D+s7G9YjHGhIGCSrsg00nEGRRZHmINYxkdoJehde8VIsDC5t9C0gb6yqA==} + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.53.2': - resolution: {integrity: sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==} + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.53.2': - resolution: {integrity: sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==} + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.53.2': - resolution: {integrity: sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==} + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.53.2': - resolution: {integrity: sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==} + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.53.2': - resolution: {integrity: sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==} + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.53.2': - resolution: {integrity: sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==} + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.53.2': - resolution: {integrity: sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==} + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.53.2': - resolution: {integrity: sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==} + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.53.2': - resolution: {integrity: sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==} + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.53.2': - resolution: {integrity: sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==} + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.53.2': - resolution: {integrity: sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==} + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openharmony-arm64@4.53.2': - resolution: {integrity: sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==} + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.53.2': - resolution: {integrity: sha512-IlbHFYc/pQCgew/d5fslcy1KEaYVCJ44G8pajugd8VoOEI8ODhtb/j8XMhLpwHCMB3yk2J07ctup10gpw2nyMA==} + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.53.2': - resolution: {integrity: sha512-lNlPEGgdUfSzdCWU176ku/dQRnA7W+Gp8d+cWv73jYrb8uT7HTVVxq62DUYxjbaByuf1Yk0RIIAbDzp+CnOTFg==} + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.53.2': - resolution: {integrity: sha512-S6YojNVrHybQis2lYov1sd+uj7K0Q05NxHcGktuMMdIQ2VixGwAfbJ23NnlvvVV1bdpR2m5MsNBViHJKcA4ADw==} + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.53.2': - resolution: {integrity: sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA==} + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} cpu: [x64] os: [win32] @@ -2357,8 +2035,8 @@ packages: '@speed-highlight/core@1.2.14': resolution: {integrity: sha512-G4ewlBNhUtlLvrJTb88d2mdy2KRijzs4UhnlrOSRT4bmjh/IqNElZa3zkrZ+TC47TwtlDWzVLFADljF1Ijp5hA==} - '@standard-schema/spec@1.0.0': - resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} '@stylistic/eslint-plugin@5.8.0': resolution: {integrity: sha512-WNPVF/FfBAjyi3OA7gok8swRiImNLKI4dmV3iK/GC/0xSJR7eCzBFsw9hLZVgb1+MYNLy7aDsjohxN1hA/FIfQ==} @@ -2426,8 +2104,8 @@ packages: '@types/html-to-text@9.0.4': resolution: {integrity: sha512-pUY3cKH/Nm2yYrEmDlPR1mR7yszjGx4DrwPjQ702C4/D5CwHuZTgZdIdwPkRbcuhs7BAh2L5rg3CL5cbRiGTCQ==} - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} '@types/js-beautify@1.14.3': resolution: {integrity: sha512-FMbQHz+qd9DoGvgLHxeqqVPaNRffpIu5ZjozwV8hf9JAGpIOzuAf4wGbRSo8LNITHqGjmmVjaMggTT5P4v4IHg==} @@ -2566,10 +2244,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.48.0': - resolution: {integrity: sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.55.0': resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2781,8 +2455,8 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@7.2.0: - resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} ansi-regex@5.0.1: @@ -2833,8 +2507,8 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} - ast-v8-to-istanbul@0.3.8: - resolution: {integrity: sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==} + ast-v8-to-istanbul@0.3.11: + resolution: {integrity: sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw==} async-mutex@0.3.2: resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} @@ -2858,8 +2532,8 @@ packages: aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - b4a@1.7.3: - resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + b4a@1.7.4: + resolution: {integrity: sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: @@ -2872,6 +2546,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.2: + resolution: {integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==} + engines: {node: 20 || >=22} + bare-events@2.8.2: resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} peerDependencies: @@ -2880,8 +2558,8 @@ packages: bare-abort-controller: optional: true - bare-fs@4.5.3: - resolution: {integrity: sha512-9+kwVx8QYvt3hPWnmb19tPnh38c6Nihz8Lx3t0g9+4GoIf3/fTgYwM4Z6NxgI+B9elLQA7mLE9PpqcWtOMRDiQ==} + bare-fs@4.5.4: + resolution: {integrity: sha512-POK4oplfA7P7gqvetNmCs4CNtm9fNsx+IAh7jH7GgU0OJdge2rso0R20TNWVq6VoWcCvsTdlNDaleLHGaKx8CA==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -2917,8 +2595,8 @@ packages: resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} hasBin: true - basic-ftp@5.0.5: - resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + basic-ftp@5.1.0: + resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==} engines: {node: '>=10.0.0'} bcrypt-pbkdf@1.0.2: @@ -2964,6 +2642,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.2: + resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} + engines: {node: 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -2988,8 +2670,8 @@ packages: bufferutil@1.1.0: resolution: {integrity: sha512-bttEVtkre4VYrZH+ciatjApTuac7jLMQXVXzM/ymw82WFREdOrJO496C4Bkh0/FfYoBUSOFaAYF32a5Q8dyiLw==} - bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + bufferutil@4.1.0: + resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} engines: {node: '>=6.14.2'} builtin-modules@5.0.0: @@ -3008,8 +2690,8 @@ packages: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} engines: {node: '>=14.16'} - cacheable-request@13.0.17: - resolution: {integrity: sha512-tQm7K9zC0cJPpbJS8xZ+NUqJ1bZ78jEXc7/G8uqvQTSdEdbmrxdnvxGb7/piCPeICuRY/L82VVt8UA+qpJ8wyw==} + cacheable-request@13.0.18: + resolution: {integrity: sha512-rFWadDRKJs3s2eYdXlGggnBZKG7MTblkFBB0YllFds+UYnfogDp2wcR6JN97FhRkHTvq59n2vhNoHNZn29dh/Q==} engines: {node: '>=18'} callsites@3.1.0: @@ -3028,22 +2710,22 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001767: - resolution: {integrity: sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==} + caniuse-lite@1.0.30001769: + resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - chai@6.2.1: - resolution: {integrity: sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.5.0: - resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} chance@1.1.13: @@ -3160,12 +2842,12 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} - comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + comment-parser@1.4.5: + resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} engines: {node: '>= 12.0.0'} component-emitter@1.3.1: @@ -3244,8 +2926,8 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} - cssstyle@5.3.4: - resolution: {integrity: sha512-KyOS/kJMEq5O9GdPnaf82noigg5X5DYn0kZPJTaAsCUaBizp6Xa1y9D4Qoqf/JazEXWuruErHgVXwjN5391ZJw==} + cssstyle@5.3.7: + resolution: {integrity: sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==} engines: {node: '>=20'} currency-symbol-map@5.1.0: @@ -3267,8 +2949,8 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@6.0.0: - resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==} + data-urls@6.0.1: + resolution: {integrity: sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ==} engines: {node: '>=20'} dayjs@1.11.19: @@ -3290,15 +2972,6 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -3316,15 +2989,15 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decamelize@6.0.0: - resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + decamelize@6.0.1: + resolution: {integrity: sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} decode-uri-component@0.4.1: resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} @@ -3505,8 +3178,8 @@ packages: endpoint@0.4.5: resolution: {integrity: sha512-oA2ALUF+d4Y0I8/WMV/0BuAZGHxfIdAygr9ZXP4rfzmp5zpYZmYKHKAbqRQnrE1YGdPhVg4D24CQkyx2qYEoHg==} - enhanced-resolve@5.18.4: - resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + enhanced-resolve@5.19.0: + resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} entities@1.1.2: @@ -3535,8 +3208,8 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} @@ -3558,16 +3231,6 @@ packages: es6-weak-map@2.0.3: resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.27.0: - resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} @@ -3703,8 +3366,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -3732,8 +3395,8 @@ packages: event-emitter@0.3.5: resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} @@ -3742,8 +3405,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - expect-type@1.2.2: - resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} ext@1.7.0: @@ -3906,9 +3569,6 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-tsconfig@4.13.0: - resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} - get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} @@ -3919,8 +3579,8 @@ packages: getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - ghost-cursor@1.4.1: - resolution: {integrity: sha512-K8A8/Co/Jbdqee694qrNsGWBG51DVK5UF2gGKEoZBDx9F1WmoD2SzUoDHWoY7O+TY84s1VrWwwfkVKxI2FoV2Q==} + ghost-cursor@1.4.2: + resolution: {integrity: sha512-NPMuH05Ik9h99zrAb4fvAzhB4T6MqKwdPoI+Me0IJWN3676j4UoAsjKN/cJq5AG4zyZwAEPPggZXHVU0P57/5g==} glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -3931,8 +3591,8 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@13.0.2: - resolution: {integrity: sha512-035InabNu/c1lW0tzPhAgapKctblppqsKKG9ZaNzbr+gXwWMjXoiyGSyB9sArzrjG7jY+zntRq5ZSUYemrnWVQ==} + glob@13.0.3: + resolution: {integrity: sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==} engines: {node: 20 || >=22} globals@14.0.0: @@ -4289,6 +3949,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.2.3: + resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} + engines: {node: 20 || >=22} + jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -4302,12 +3966,12 @@ packages: resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} engines: {node: '>=14'} + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true @@ -4382,8 +4046,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.5.5: - resolution: {integrity: sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==} + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} @@ -4474,8 +4138,8 @@ packages: lodash.some@4.6.0: resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} @@ -4516,8 +4180,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.1: - resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} + magicast@0.5.2: + resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} mailparser@3.9.3: resolution: {integrity: sha512-AnB0a3zROum6fLaa52L+/K2SoRJVyFDk78Ea6q1D0ofcZLxWEWDtsS1+OrVqKbV7r5dulKL/AwYQccFGAPpuYQ==} @@ -4673,12 +4337,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} - engines: {node: 20 || >=22} - - minimatch@10.1.2: - resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==} + minimatch@10.2.0: + resolution: {integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -4745,8 +4405,8 @@ packages: nan@1.8.4: resolution: {integrity: sha512-609zQ1h3ApgH/94qmbbEklSrjcYYXCHnsWk4MAojq4OUk3tidhDYhPaMasMFKsZPZ96r4eQA1hbR2W4H7/77XA==} - nan@2.23.1: - resolution: {integrity: sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw==} + nan@2.25.0: + resolution: {integrity: sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==} nano-spawn@2.0.0: resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==} @@ -4836,8 +4496,8 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - normalize-url@8.1.0: - resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} + normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} engines: {node: '>=14.16'} notion-to-md@3.1.9: @@ -5072,8 +4732,8 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} - postman-request@2.88.1-postman.43: - resolution: {integrity: sha512-5ivoZnMvnX47/HA7mk2GQubZsnXptlJGVyO0hLV3MTK/MDgJVnB/q3bUgzU4KhwG8OBxe2L8uqv3ZpK6mp+RdA==} + postman-request@2.88.1-postman.48: + resolution: {integrity: sha512-E32FGh8ig2KDvzo4Byi7Ibr+wK2gNKPSqXoNsvjdCHgDBxSK4sCUwv+aa3zOBUwfiibPImHMy0WdlDSSCTqTuw==} engines: {node: '>= 16'} prelude-ls@1.2.1: @@ -5090,8 +4750,8 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - protobufjs@7.5.3: - resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} + protobufjs@7.5.4: + resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} engines: {node: '>=12.0.0'} protobufjs@8.0.0: @@ -5141,12 +4801,12 @@ packages: puppeteer-real-browser@1.4.4: resolution: {integrity: sha512-1CYGlL1Y0SdxP55byi9WQ8dtLkyIYBmRpGr+D+cB6uZDrW17+ZxWMnc7CDZfNuNuJaF15DWW5zvChS/ikymdmg==} - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + qs@6.5.5: + resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==} engines: {node: '>=0.6'} quansync@1.0.0: @@ -5318,8 +4978,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.53.2: - resolution: {integrity: sha512-MHngMYwGJVi6Fmnk6ISmnk7JAHRNF0UkuucA0CUW3N3a4KnONPEZz+vUanQP/ZC/iY1Qkf3bwPWzyY84wEks1g==} + rollup@4.57.1: + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5340,8 +5000,9 @@ packages: sanitize-html@2.17.0: resolution: {integrity: sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==} - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + sax@1.4.4: + resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} + engines: {node: '>=11.0.0'} saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -5350,11 +5011,6 @@ packages: selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -5409,8 +5065,8 @@ packages: resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -5492,8 +5148,8 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.1.0: - resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} + string-width@8.1.1: + resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} engines: {node: '>=20'} string_decoder@1.3.0: @@ -5570,8 +5226,8 @@ packages: telegram@2.26.22: resolution: {integrity: sha512-EIj7Yrjiu0Yosa3FZ/7EyPg9s6UiTi/zDQrFmR/2Mg7pIUU+XjAit1n1u9OU9h2oRnRM5M+67/fxzQluZpaJJg==} - text-decoder@1.2.3: - resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + text-decoder@1.2.6: + resolution: {integrity: sha512-27FeW5GQFDfw0FpwMQhMagB7BztOOlmjcSRi97t2oplhKVTZtp0DZbSegSaXS5IIC6mxMvBG4AR1Sgc6BX3CQg==} text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -5749,8 +5405,8 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turndown@7.2.1: - resolution: {integrity: sha512-7YiPJw6rLClQL3oUKN3KgMaXeJJ2lAyZItclgKDurqnH61so4k4IH/qwmMva0zpuJc/FhRExBBnk7EbeFANlgQ==} + turndown@7.2.2: + resolution: {integrity: sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==} tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} @@ -5774,8 +5430,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.4.3: - resolution: {integrity: sha512-AXSAQJu79WGc79/3e9/CR77I/KQgeY1AhNvcShIH4PTcGYyC4xv6H4R4AUOwkPS5799KlVDAu8zExeCrkGquiA==} + type-fest@5.4.4: + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} engines: {node: '>=20'} type@2.7.3: @@ -5804,8 +5460,8 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - unconfig-core@7.4.2: - resolution: {integrity: sha512-VgPCvLWugINbXvMQDf8Jh0mlbvNjNC6eSUziHsBCMpxR05OPrNrvDnyatdMjRgcHaaNsCqz+wjNXxNw1kRLHUg==} + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -5927,8 +5583,8 @@ packages: peerDependencies: vite: '*' - vite@7.2.2: - resolution: {integrity: sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==} + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -6012,8 +5668,8 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@8.0.0: - resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==} + webidl-conversions@8.0.1: + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} websocket@1.0.35: @@ -6029,6 +5685,10 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} + whatwg-mimetype@5.0.0: + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} + whatwg-url@15.1.0: resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==} engines: {node: '>=20'} @@ -6110,18 +5770,6 @@ packages: utf-8-validate: optional: true - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.19.0: resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} engines: {node: '>=10.0.0'} @@ -6179,11 +5827,6 @@ packages: resolution: {integrity: sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - yaml@2.8.1: - resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} - engines: {node: '>= 14.6'} - hasBin: true - yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} @@ -6249,15 +5892,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@asamuzakjp/css-color@4.1.0': + '@asamuzakjp/css-color@4.1.2': dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 lru-cache: 11.2.6 - '@asamuzakjp/dom-selector@6.7.6': + '@asamuzakjp/dom-selector@6.8.1': dependencies: '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 @@ -6272,7 +5915,7 @@ snapshots: openapi3-ts: 4.5.0 zod: 4.3.6 - '@babel/code-frame@7.27.1': + '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 @@ -6295,19 +5938,19 @@ snapshots: '@babel/helper-validator-identifier@8.0.0-rc.1': {} - '@babel/parser@7.28.5': + '@babel/parser@7.29.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 '@babel/parser@8.0.0-rc.1': dependencies: '@babel/types': 8.0.0-rc.1 - '@babel/runtime-corejs2@7.28.3': + '@babel/runtime-corejs2@7.28.6': dependencies: core-js: 2.6.12 - '@babel/types@7.28.5': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 @@ -6353,7 +5996,7 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@bufbuild/protobuf@2.9.0': {} + '@bufbuild/protobuf@2.11.0': {} '@bundled-es-modules/cookie@2.0.1': dependencies: @@ -6372,12 +6015,12 @@ snapshots: '@cloudflare/kv-asset-handler@0.4.2': {} - '@cloudflare/puppeteer@1.0.6(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@cloudflare/puppeteer@1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10)': dependencies: '@puppeteer/browsers': 2.2.4 debug: 4.4.3 devtools-protocol: 0.0.1299070 - ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -6417,29 +6060,27 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@6.0.1': {} - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/color-helpers': 6.0.1 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.14(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 + '@csstools/css-syntax-patches-for-csstree@1.0.27': {} - '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@4.0.0': {} '@dabh/diagnostics@2.0.8': dependencies: @@ -6447,23 +6088,12 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@emnapi/core@1.7.1': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.8.1': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.7.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 @@ -6476,245 +6106,84 @@ snapshots: '@epic-web/invariant@1.0.0': {} - '@esbuild/aix-ppc64@0.25.12': - optional: true - - '@esbuild/aix-ppc64@0.27.0': - optional: true - '@esbuild/aix-ppc64@0.27.3': optional: true - '@esbuild/android-arm64@0.25.12': - optional: true - - '@esbuild/android-arm64@0.27.0': - optional: true - '@esbuild/android-arm64@0.27.3': optional: true - '@esbuild/android-arm@0.25.12': - optional: true - - '@esbuild/android-arm@0.27.0': - optional: true - '@esbuild/android-arm@0.27.3': optional: true - '@esbuild/android-x64@0.25.12': - optional: true - - '@esbuild/android-x64@0.27.0': - optional: true - '@esbuild/android-x64@0.27.3': optional: true - '@esbuild/darwin-arm64@0.25.12': - optional: true - - '@esbuild/darwin-arm64@0.27.0': - optional: true - '@esbuild/darwin-arm64@0.27.3': optional: true - '@esbuild/darwin-x64@0.25.12': - optional: true - - '@esbuild/darwin-x64@0.27.0': - optional: true - '@esbuild/darwin-x64@0.27.3': optional: true - '@esbuild/freebsd-arm64@0.25.12': - optional: true - - '@esbuild/freebsd-arm64@0.27.0': - optional: true - '@esbuild/freebsd-arm64@0.27.3': optional: true - '@esbuild/freebsd-x64@0.25.12': - optional: true - - '@esbuild/freebsd-x64@0.27.0': - optional: true - '@esbuild/freebsd-x64@0.27.3': optional: true - '@esbuild/linux-arm64@0.25.12': - optional: true - - '@esbuild/linux-arm64@0.27.0': - optional: true - '@esbuild/linux-arm64@0.27.3': optional: true - '@esbuild/linux-arm@0.25.12': - optional: true - - '@esbuild/linux-arm@0.27.0': - optional: true - '@esbuild/linux-arm@0.27.3': optional: true - '@esbuild/linux-ia32@0.25.12': - optional: true - - '@esbuild/linux-ia32@0.27.0': - optional: true - '@esbuild/linux-ia32@0.27.3': optional: true - '@esbuild/linux-loong64@0.25.12': - optional: true - - '@esbuild/linux-loong64@0.27.0': - optional: true - '@esbuild/linux-loong64@0.27.3': optional: true - '@esbuild/linux-mips64el@0.25.12': - optional: true - - '@esbuild/linux-mips64el@0.27.0': - optional: true - '@esbuild/linux-mips64el@0.27.3': optional: true - '@esbuild/linux-ppc64@0.25.12': - optional: true - - '@esbuild/linux-ppc64@0.27.0': - optional: true - '@esbuild/linux-ppc64@0.27.3': optional: true - '@esbuild/linux-riscv64@0.25.12': - optional: true - - '@esbuild/linux-riscv64@0.27.0': - optional: true - '@esbuild/linux-riscv64@0.27.3': optional: true - '@esbuild/linux-s390x@0.25.12': - optional: true - - '@esbuild/linux-s390x@0.27.0': - optional: true - '@esbuild/linux-s390x@0.27.3': optional: true - '@esbuild/linux-x64@0.25.12': - optional: true - - '@esbuild/linux-x64@0.27.0': - optional: true - '@esbuild/linux-x64@0.27.3': optional: true - '@esbuild/netbsd-arm64@0.25.12': - optional: true - - '@esbuild/netbsd-arm64@0.27.0': - optional: true - '@esbuild/netbsd-arm64@0.27.3': optional: true - '@esbuild/netbsd-x64@0.25.12': - optional: true - - '@esbuild/netbsd-x64@0.27.0': - optional: true - '@esbuild/netbsd-x64@0.27.3': optional: true - '@esbuild/openbsd-arm64@0.25.12': - optional: true - - '@esbuild/openbsd-arm64@0.27.0': - optional: true - '@esbuild/openbsd-arm64@0.27.3': optional: true - '@esbuild/openbsd-x64@0.25.12': - optional: true - - '@esbuild/openbsd-x64@0.27.0': - optional: true - '@esbuild/openbsd-x64@0.27.3': optional: true - '@esbuild/openharmony-arm64@0.25.12': - optional: true - - '@esbuild/openharmony-arm64@0.27.0': - optional: true - '@esbuild/openharmony-arm64@0.27.3': optional: true - '@esbuild/sunos-x64@0.25.12': - optional: true - - '@esbuild/sunos-x64@0.27.0': - optional: true - '@esbuild/sunos-x64@0.27.3': optional: true - '@esbuild/win32-arm64@0.25.12': - optional: true - - '@esbuild/win32-arm64@0.27.0': - optional: true - '@esbuild/win32-arm64@0.27.3': optional: true - '@esbuild/win32-ia32@0.25.12': - optional: true - - '@esbuild/win32-ia32@0.27.0': - optional: true - '@esbuild/win32-ia32@0.27.3': optional: true - '@esbuild/win32-x64@0.25.12': - optional: true - - '@esbuild/win32-x64@0.27.0': - optional: true - '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.6.1))': - dependencies: - eslint: 9.39.2(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': dependencies: eslint: 9.39.2(jiti@2.6.1) @@ -6894,14 +6363,14 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/ansi@1.0.1': {} + '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.0(@types/node@25.2.3)': + '@inquirer/checkbox@4.3.2(@types/node@25.2.3)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@25.2.3) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@25.2.3) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 25.2.3 @@ -6911,18 +6380,18 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.19(@types/node@25.2.3)': + '@inquirer/confirm@5.1.21(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.0(@types/node@25.2.3) - '@inquirer/type': 3.0.9(@types/node@25.2.3) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: '@types/node': 25.2.3 - '@inquirer/core@10.3.0(@types/node@25.2.3)': + '@inquirer/core@10.3.2(@types/node@25.2.3)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@25.2.3) + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.2.3) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 @@ -6946,16 +6415,14 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 - '@inquirer/figures@1.0.14': {} - '@inquirer/figures@1.0.15': {} - '@inquirer/select@4.4.0(@types/node@25.2.3)': + '@inquirer/select@4.4.2(@types/node@25.2.3)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@25.2.3) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@25.2.3) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 25.2.3 @@ -6968,22 +6435,12 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.9(@types/node@25.2.3)': + '@inquirer/type@3.0.10(@types/node@25.2.3)': optionalDependencies: '@types/node': 25.2.3 '@ioredis/commands@1.5.0': {} - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - - '@isaacs/brace-expansion@5.0.1': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -6993,6 +6450,8 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/cliui@9.0.0': {} + '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.2 @@ -7054,8 +6513,8 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.7.1 - '@emnapi/runtime': 1.7.1 + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 '@tybys/wasm-util': 0.10.1 optional: true @@ -7107,7 +6566,7 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -7141,7 +6600,7 @@ snapshots: '@opentelemetry/instrumentation-amqplib@0.58.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7150,7 +6609,7 @@ snapshots: '@opentelemetry/instrumentation-connect@0.54.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@types/connect': 3.4.38 @@ -7167,7 +6626,7 @@ snapshots: '@opentelemetry/instrumentation-express@0.59.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7176,7 +6635,7 @@ snapshots: '@opentelemetry/instrumentation-fs@0.30.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -7198,7 +6657,7 @@ snapshots: '@opentelemetry/instrumentation-hapi@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7242,7 +6701,7 @@ snapshots: '@opentelemetry/instrumentation-koa@0.59.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7266,7 +6725,7 @@ snapshots: '@opentelemetry/instrumentation-mongoose@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7293,7 +6752,7 @@ snapshots: '@opentelemetry/instrumentation-pg@0.63.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) @@ -7323,7 +6782,7 @@ snapshots: '@opentelemetry/instrumentation-undici@0.21.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 transitivePeerDependencies: @@ -7397,7 +6856,7 @@ snapshots: '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@otplib/core@13.3.0': {} @@ -7518,7 +6977,7 @@ snapshots: '@postlight/parser@2.2.3': dependencies: - '@babel/runtime-corejs2': 7.28.3 + '@babel/runtime-corejs2': 7.28.6 '@postlight/ci-failed-test-reporter': 1.0.26 cheerio: 0.22.0 difflib: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed @@ -7526,9 +6985,9 @@ snapshots: iconv-lite: 0.5.0 moment: 2.30.1 moment-parseformat: 3.0.0 - postman-request: 2.88.1-postman.43 + postman-request: 2.88.1-postman.48 string-direction: 0.1.2 - turndown: 7.2.1 + turndown: 7.2.2 valid-url: 1.0.9 wuzzy: 0.1.8 yargs-parser: 15.0.3 @@ -7549,7 +7008,7 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 - '@postman/tunnel-agent@0.6.4': + '@postman/tunnel-agent@0.6.8': dependencies: safe-buffer: '@nolyfill/safe-buffer@1.0.44' @@ -7677,78 +7136,87 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rollup/pluginutils@5.3.0(rollup@4.53.2)': + '@rollup/pluginutils@5.3.0(rollup@4.57.1)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.53.2 + rollup: 4.57.1 + + '@rollup/rollup-android-arm-eabi@4.57.1': + optional: true + + '@rollup/rollup-android-arm64@4.57.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.57.1': + optional: true - '@rollup/rollup-android-arm-eabi@4.53.2': + '@rollup/rollup-darwin-x64@4.57.1': optional: true - '@rollup/rollup-android-arm64@4.53.2': + '@rollup/rollup-freebsd-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-arm64@4.53.2': + '@rollup/rollup-freebsd-x64@4.57.1': optional: true - '@rollup/rollup-darwin-x64@4.53.2': + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': optional: true - '@rollup/rollup-freebsd-arm64@4.53.2': + '@rollup/rollup-linux-arm-musleabihf@4.57.1': optional: true - '@rollup/rollup-freebsd-x64@4.53.2': + '@rollup/rollup-linux-arm64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.53.2': + '@rollup/rollup-linux-arm64-musl@4.57.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.53.2': + '@rollup/rollup-linux-loong64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.53.2': + '@rollup/rollup-linux-loong64-musl@4.57.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.53.2': + '@rollup/rollup-linux-ppc64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.53.2': + '@rollup/rollup-linux-ppc64-musl@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.53.2': + '@rollup/rollup-linux-riscv64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.53.2': + '@rollup/rollup-linux-riscv64-musl@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.53.2': + '@rollup/rollup-linux-s390x-gnu@4.57.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.53.2': + '@rollup/rollup-linux-x64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.53.2': + '@rollup/rollup-linux-x64-musl@4.57.1': optional: true - '@rollup/rollup-linux-x64-musl@4.53.2': + '@rollup/rollup-openbsd-x64@4.57.1': optional: true - '@rollup/rollup-openharmony-arm64@4.53.2': + '@rollup/rollup-openharmony-arm64@4.57.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.53.2': + '@rollup/rollup-win32-arm64-msvc@4.57.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.53.2': + '@rollup/rollup-win32-ia32-msvc@4.57.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.53.2': + '@rollup/rollup-win32-x64-gnu@4.57.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.53.2': + '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true '@rss3/api-core@0.0.25': @@ -7781,7 +7249,7 @@ snapshots: dependencies: '@scalar/helpers': 0.2.11 nanoid: 5.1.6 - type-fest: 5.4.3 + type-fest: 5.4.4 zod: 4.3.6 '@scure/base@2.0.0': {} @@ -7795,18 +7263,18 @@ snapshots: '@sentry/core@10.38.0': {} - '@sentry/node-core@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/node-core@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@apm-js-collab/tracing-hooks': 0.3.1 '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@sentry/core': 10.38.0 - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 transitivePeerDependencies: - supports-color @@ -7814,8 +7282,8 @@ snapshots: '@sentry/node@10.38.0': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.58.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-connect': 0.54.0(@opentelemetry/api@1.9.0) @@ -7844,18 +7312,18 @@ snapshots: '@opentelemetry/semantic-conventions': 1.39.0 '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) '@sentry/core': 10.38.0 - '@sentry/node-core': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/node-core': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 minimatch: 9.0.5 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/opentelemetry@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@sentry/core': 10.38.0 @@ -7871,7 +7339,7 @@ snapshots: '@speed-highlight/core@1.2.14': {} - '@standard-schema/spec@1.0.0': {} + '@standard-schema/spec@1.1.0': {} '@stylistic/eslint-plugin@5.8.0(eslint@9.39.2(jiti@2.6.1))': dependencies: @@ -7941,7 +7409,7 @@ snapshots: '@types/html-to-text@9.0.4': {} - '@types/http-cache-semantics@4.0.4': {} + '@types/http-cache-semantics@4.2.0': {} '@types/js-beautify@1.14.3': {} @@ -8118,8 +7586,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.48.0': {} - '@typescript-eslint/types@8.55.0': {} '@typescript-eslint/typescript-estree@8.55.0(typescript@5.9.3)': @@ -8212,16 +7678,16 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vercel/nft@1.3.1(rollup@4.53.2)': + '@vercel/nft@1.3.1(rollup@4.57.1)': dependencies: '@mapbox/node-pre-gyp': 2.0.3 - '@rollup/pluginutils': 5.3.0(rollup@4.53.2) + '@rollup/pluginutils': 5.3.0(rollup@4.57.1) acorn: 8.15.0 acorn-import-attributes: 1.9.5(acorn@8.15.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 13.0.2 + glob: 13.0.3 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 picomatch: 4.0.3 @@ -8231,40 +7697,40 @@ snapshots: - rollup - supports-color - '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.9 - ast-v8-to-istanbul: 0.3.8 + ast-v8-to-istanbul: 0.3.11 debug: 4.4.3 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 - magicast: 0.5.1 + magicast: 0.5.2 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color '@vitest/expect@4.0.9': dependencies: - '@standard-schema/spec': 1.0.0 + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 '@vitest/spy': 4.0.9 '@vitest/utils': 4.0.9 - chai: 6.2.1 + chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.4.3(typescript@5.9.3) - vite: 7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.9': dependencies: @@ -8325,7 +7791,7 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@7.2.0: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 @@ -8365,11 +7831,11 @@ snapshots: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@0.3.8: + ast-v8-to-istanbul@0.3.11: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 - js-tokens: 9.0.1 + js-tokens: 10.0.0 async-mutex@0.3.2: dependencies: @@ -8387,15 +7853,19 @@ snapshots: aws4@1.13.2: {} - b4a@1.7.3: {} + b4a@1.7.4: {} bail@2.0.2: {} balanced-match@1.0.2: {} + balanced-match@4.0.2: + dependencies: + jackspeak: 4.2.3 + bare-events@2.8.2: {} - bare-fs@4.5.3: + bare-fs@4.5.4: dependencies: bare-events: 2.8.2 bare-path: 3.0.0 @@ -8434,7 +7904,7 @@ snapshots: baseline-browser-mapping@2.9.19: {} - basic-ftp@5.0.5: {} + basic-ftp@5.1.0: {} bcrypt-pbkdf@1.0.2: dependencies: @@ -8476,6 +7946,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.2: + dependencies: + balanced-match: 4.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -8483,7 +7957,7 @@ snapshots: browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001767 + caniuse-lite: 1.0.30001769 electron-to-chromium: 1.5.286 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -8508,7 +7982,7 @@ snapshots: nan: 1.8.4 optional: true - bufferutil@4.0.9: + bufferutil@4.1.0: dependencies: node-gyp-build: 4.8.4 @@ -8520,14 +7994,14 @@ snapshots: cacheable-lookup@7.0.0: {} - cacheable-request@13.0.17: + cacheable-request@13.0.18: dependencies: - '@types/http-cache-semantics': 4.0.4 + '@types/http-cache-semantics': 4.2.0 get-stream: 9.0.1 http-cache-semantics: 4.2.0 - keyv: 5.5.5 + keyv: 5.6.0 mimic-response: 4.0.0 - normalize-url: 8.1.0 + normalize-url: 8.1.1 responselike: 4.0.2 callsites@3.1.0: {} @@ -8543,18 +8017,18 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001767: {} + caniuse-lite@1.0.30001769: {} caseless@0.12.0: {} - chai@6.2.1: {} + chai@6.2.2: {} chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.5.0: {} + chalk@5.6.2: {} chance@1.1.13: {} @@ -8647,7 +8121,7 @@ snapshots: cli-truncate@5.1.1: dependencies: slice-ansi: 7.1.2 - string-width: 8.1.0 + string-width: 8.1.1 cli-width@4.1.0: {} @@ -8694,9 +8168,9 @@ snapshots: commander@10.0.1: {} - commander@14.0.2: {} + commander@14.0.3: {} - comment-parser@1.4.1: {} + comment-parser@1.4.5: {} component-emitter@1.3.1: {} @@ -8771,13 +8245,12 @@ snapshots: css-what@6.2.2: {} - cssstyle@5.3.4(postcss@8.5.6): + cssstyle@5.3.7: dependencies: - '@asamuzakjp/css-color': 4.1.0 - '@csstools/css-syntax-patches-for-csstree': 1.0.14(postcss@8.5.6) + '@asamuzakjp/css-color': 4.1.2 + '@csstools/css-syntax-patches-for-csstree': 1.0.27 css-tree: 3.1.0 - transitivePeerDependencies: - - postcss + lru-cache: 11.2.6 currency-symbol-map@5.1.0: {} @@ -8794,9 +8267,9 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-urls@6.0.0: + data-urls@6.0.1: dependencies: - whatwg-mimetype: 4.0.0 + whatwg-mimetype: 5.0.0 whatwg-url: 15.1.0 dayjs@1.11.19: {} @@ -8809,28 +8282,24 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.1: - dependencies: - ms: 2.1.3 - debug@4.4.3: dependencies: ms: 2.1.3 decamelize-keys@2.0.1: dependencies: - decamelize: 6.0.0 + decamelize: 6.0.1 map-obj: 4.3.0 quick-lru: 6.1.2 type-fest: 3.13.1 decamelize@1.2.0: {} - decamelize@6.0.0: {} + decamelize@6.0.1: {} decimal.js@10.6.0: {} - decode-named-character-reference@1.2.0: + decode-named-character-reference@1.3.0: dependencies: character-entities: 2.0.2 @@ -8999,7 +8468,7 @@ snapshots: dependencies: inherits: 2.0.4 - enhanced-resolve@5.18.4: + enhanced-resolve@5.19.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 @@ -9018,7 +8487,7 @@ snapshots: environment@1.1.0: {} - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -9051,64 +8520,6 @@ snapshots: es6-iterator: 2.0.3 es6-symbol: 3.1.4 - esbuild@0.25.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 - - esbuild@0.27.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.0 - '@esbuild/android-arm': 0.27.0 - '@esbuild/android-arm64': 0.27.0 - '@esbuild/android-x64': 0.27.0 - '@esbuild/darwin-arm64': 0.27.0 - '@esbuild/darwin-x64': 0.27.0 - '@esbuild/freebsd-arm64': 0.27.0 - '@esbuild/freebsd-x64': 0.27.0 - '@esbuild/linux-arm': 0.27.0 - '@esbuild/linux-arm64': 0.27.0 - '@esbuild/linux-ia32': 0.27.0 - '@esbuild/linux-loong64': 0.27.0 - '@esbuild/linux-mips64el': 0.27.0 - '@esbuild/linux-ppc64': 0.27.0 - '@esbuild/linux-riscv64': 0.27.0 - '@esbuild/linux-s390x': 0.27.0 - '@esbuild/linux-x64': 0.27.0 - '@esbuild/netbsd-arm64': 0.27.0 - '@esbuild/netbsd-x64': 0.27.0 - '@esbuild/openbsd-arm64': 0.27.0 - '@esbuild/openbsd-x64': 0.27.0 - '@esbuild/openharmony-arm64': 0.27.0 - '@esbuild/sunos-x64': 0.27.0 - '@esbuild/win32-arm64': 0.27.0 - '@esbuild/win32-ia32': 0.27.0 - '@esbuild/win32-x64': 0.27.0 - esbuild@0.27.3: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -9166,17 +8577,17 @@ snapshots: eslint-import-context@0.1.9(unrs-resolver@1.11.1): dependencies: - get-tsconfig: 4.13.0 + get-tsconfig: 4.13.6 stable-hash-x: 0.2.0 optionalDependencies: unrs-resolver: 1.11.1 eslint-nibble@9.1.1(@types/node@25.2.3)(eslint@9.39.2(jiti@2.6.1)): dependencies: - '@babel/code-frame': 7.27.1 - '@inquirer/checkbox': 4.3.0(@types/node@25.2.3) - '@inquirer/confirm': 5.1.19(@types/node@25.2.3) - '@inquirer/select': 4.4.0(@types/node@25.2.3) + '@babel/code-frame': 7.29.0 + '@inquirer/checkbox': 4.3.2(@types/node@25.2.3) + '@inquirer/confirm': 5.1.21(@types/node@25.2.3) + '@inquirer/select': 4.4.2(@types/node@25.2.3) eslint: 9.39.2(jiti@2.6.1) eslint-filtered-fix: 0.3.0(eslint@9.39.2(jiti@2.6.1)) optionator: 0.9.4 @@ -9194,14 +8605,14 @@ snapshots: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)): dependencies: - '@typescript-eslint/types': 8.48.0 - comment-parser: 1.4.1 + '@typescript-eslint/types': 8.55.0 + comment-parser: 1.4.5 debug: 4.4.3 eslint: 9.39.2(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.1.1 - semver: 7.7.3 + minimatch: 10.2.0 + semver: 7.7.4 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: @@ -9212,14 +8623,14 @@ snapshots: eslint-plugin-n@17.23.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) - enhanced-resolve: 5.18.4 + enhanced-resolve: 5.19.0 eslint: 9.39.2(jiti@2.6.1) eslint-plugin-es-x: 7.8.0(eslint@9.39.2(jiti@2.6.1)) - get-tsconfig: 4.13.0 + get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.3 + semver: 7.7.4 ts-declaration-location: 1.0.7(typescript@5.9.3) transitivePeerDependencies: - typescript @@ -9274,7 +8685,7 @@ snapshots: eslint@9.39.2(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.2 @@ -9294,7 +8705,7 @@ snapshots: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -9328,7 +8739,7 @@ snapshots: esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -9353,7 +8764,7 @@ snapshots: d: 1.0.2 es5-ext: 0.10.64 - eventemitter3@5.0.1: {} + eventemitter3@5.0.4: {} events-universal@1.0.1: dependencies: @@ -9373,7 +8784,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - expect-type@1.2.2: {} + expect-type@1.3.0: {} ext@1.7.0: dependencies: @@ -9547,17 +8958,13 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-tsconfig@4.13.0: - dependencies: - resolve-pkg-maps: 1.0.0 - get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 get-uri@6.0.5: dependencies: - basic-ftp: 5.0.5 + basic-ftp: 5.1.0 data-uri-to-buffer: 6.0.2 debug: 4.4.3 transitivePeerDependencies: @@ -9567,7 +8974,7 @@ snapshots: dependencies: assert-plus: 1.0.0 - ghost-cursor@1.4.1: + ghost-cursor@1.4.2: dependencies: '@types/bezier-js': 4.1.3 bezier-js: 6.1.4 @@ -9588,9 +8995,9 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@13.0.2: + glob@13.0.3: dependencies: - minimatch: 10.1.2 + minimatch: 10.2.0 minipass: 7.1.2 path-scurry: 2.0.1 @@ -9634,7 +9041,7 @@ snapshots: extend: 3.0.2 gaxios: 7.1.3 google-auth-library: 10.5.0 - qs: 6.14.1 + qs: 6.14.2 url-template: 2.0.8 transitivePeerDependencies: - supports-color @@ -9651,11 +9058,11 @@ snapshots: '@sindresorhus/is': 7.2.0 byte-counter: 0.1.0 cacheable-lookup: 7.0.0 - cacheable-request: 13.0.17 + cacheable-request: 13.0.18 decompress-response: 10.0.0 form-data-encoder: 4.1.0 http2-wrapper: 2.2.1 - keyv: 5.5.5 + keyv: 5.6.0 lowercase-keys: 3.0.0 p-cancelable: 4.0.1 responselike: 4.0.2 @@ -9780,7 +9187,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -9855,10 +9262,10 @@ snapshots: bluebird: 3.7.2 chance: 1.1.13 class-transformer: 0.3.1 - debug: 4.4.1 + debug: 4.4.3 image-size: 0.7.5 json-bigint: 1.0.0 - lodash: 4.17.21 + lodash: 4.17.23 luxon: 1.28.1 reflect-metadata: 0.1.14 request: 2.88.2 @@ -9984,6 +9391,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.2.3: + dependencies: + '@isaacs/cliui': 9.0.0 + jiti@2.6.1: optional: true @@ -9997,9 +9408,9 @@ snapshots: js-cookie@3.0.5: {} - js-tokens@4.0.0: {} + js-tokens@10.0.0: {} - js-tokens@9.0.1: {} + js-tokens@4.0.0: {} js-yaml@4.1.1: dependencies: @@ -10007,11 +9418,11 @@ snapshots: jsbn@0.1.1: {} - jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10): + jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: - '@asamuzakjp/dom-selector': 6.7.6 - cssstyle: 5.3.4(postcss@8.5.6) - data-urls: 6.0.0 + '@asamuzakjp/dom-selector': 6.8.1 + cssstyle: 5.3.7 + data-urls: 6.0.1 decimal.js: 10.6.0 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 @@ -10023,15 +9434,14 @@ snapshots: symbol-tree: 3.2.4 tough-cookie: 6.0.0 w3c-xmlserializer: 5.0.0 - webidl-conversions: 8.0.0 + webidl-conversions: 8.0.1 whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 15.1.0 - ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - - postcss - supports-color - utf-8-validate @@ -10098,7 +9508,7 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.5.5: + keyv@5.6.0: dependencies: '@keyv/serialize': 1.1.1 @@ -10139,19 +9549,19 @@ snapshots: lint-staged@16.2.7: dependencies: - commander: 14.0.2 + commander: 14.0.3 listr2: 9.0.5 micromatch: 4.0.8 nano-spawn: 2.0.0 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.8.1 + yaml: 2.8.2 listr2@9.0.5: dependencies: cli-truncate: 5.1.1 colorette: 2.0.20 - eventemitter3: 5.0.1 + eventemitter3: 5.0.4 log-update: 6.1.0 rfdc: 1.4.1 wrap-ansi: 9.0.2 @@ -10188,11 +9598,11 @@ snapshots: lodash.some@4.6.0: {} - lodash@4.17.21: {} + lodash@4.17.23: {} log-update@6.1.0: dependencies: - ansi-escapes: 7.2.0 + ansi-escapes: 7.3.0 cli-cursor: 5.0.0 slice-ansi: 7.1.2 strip-ansi: 7.1.2 @@ -10229,10 +9639,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.1: + magicast@0.5.2: dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 source-map-js: 1.2.1 mailparser@3.9.3: @@ -10275,7 +9685,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -10315,7 +9725,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -10390,7 +9800,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -10428,7 +9838,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.3 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -10467,25 +9877,21 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260212.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + miniflare@4.20260212.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 workerd: 1.20260212.0 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: - bufferutil - utf-8-validate - minimatch@10.1.1: - dependencies: - '@isaacs/brace-expansion': 5.0.0 - - minimatch@10.1.2: + minimatch@10.2.0: dependencies: - '@isaacs/brace-expansion': 5.0.1 + brace-expansion: 5.0.2 minimatch@3.1.2: dependencies: @@ -10509,7 +9915,7 @@ snapshots: mixi2@0.2.2: dependencies: - protobufjs: 7.5.3 + protobufjs: 7.5.4 mockdate@3.0.5: {} @@ -10552,7 +9958,7 @@ snapshots: nan@1.8.4: optional: true - nan@2.23.1: + nan@2.25.0: optional: true nano-spawn@2.0.0: {} @@ -10593,12 +9999,12 @@ snapshots: node-network-devtools@1.0.29(undici@7.22.0)(utf-8-validate@5.0.10): dependencies: - bufferutil: 4.0.9 + bufferutil: 4.1.0 iconv-lite: 0.6.3 inspector: 0.5.0 open: 8.4.2 undici: 7.22.0 - ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - utf-8-validate @@ -10616,7 +10022,7 @@ snapshots: dependencies: abbrev: 3.0.1 - normalize-url@8.1.0: {} + normalize-url@8.1.1: {} notion-to-md@3.1.9: dependencies: @@ -10753,7 +10159,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -10777,8 +10183,8 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 + '@babel/code-frame': 7.29.0 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -10867,7 +10273,7 @@ snapshots: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.0 + sonic-boom: 4.2.1 thread-stream: 4.0.0 pluralize@8.0.0: {} @@ -10888,11 +10294,11 @@ snapshots: dependencies: xtend: 4.0.2 - postman-request@2.88.1-postman.43: + postman-request@2.88.1-postman.48: dependencies: '@postman/form-data': 3.1.1 '@postman/tough-cookie': 4.1.3-postman.1 - '@postman/tunnel-agent': 0.6.4 + '@postman/tunnel-agent': 0.6.8 aws-sign2: 0.7.0 aws4: 1.13.2 caseless: 0.12.0 @@ -10905,7 +10311,7 @@ snapshots: json-stringify-safe: 5.0.1 mime-types: 2.1.35 oauth-sign: 0.9.0 - qs: 6.5.3 + qs: 6.14.2 safe-buffer: '@nolyfill/safe-buffer@1.0.44' socks-proxy-agent: 8.0.5 stream-length: 1.0.2 @@ -10921,7 +10327,7 @@ snapshots: proto-list@1.2.4: {} - protobufjs@7.5.3: + protobufjs@7.5.4: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -10995,12 +10401,12 @@ snapshots: transitivePeerDependencies: - supports-color - puppeteer-real-browser@1.4.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + puppeteer-real-browser@1.4.4(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: chrome-launcher: 1.2.1 - ghost-cursor: 1.4.1 + ghost-cursor: 1.4.2 puppeteer-extra: 3.3.6 - rebrowser-puppeteer-core: 23.10.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + rebrowser-puppeteer-core: 23.10.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) tree-kill: 1.2.2 xvfb: 0.4.0 transitivePeerDependencies: @@ -11014,11 +10420,11 @@ snapshots: - supports-color - utf-8-validate - qs@6.14.1: + qs@6.14.2: dependencies: side-channel: '@nolyfill/side-channel@1.0.44' - qs@6.5.3: {} + qs@6.5.5: {} quansync@1.0.0: {} @@ -11052,14 +10458,14 @@ snapshots: real-require@0.2.0: {} - rebrowser-puppeteer-core@23.10.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + rebrowser-puppeteer-core@23.10.3(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@puppeteer/browsers': 2.6.1 chromium-bidi: 0.8.0(devtools-protocol@0.0.1367902) debug: 4.4.3 devtools-protocol: 0.0.1367902 typed-query-selector: 2.12.0 - ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -11068,14 +10474,14 @@ snapshots: - supports-color - utf-8-validate - rebrowser-puppeteer-core@24.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + rebrowser-puppeteer-core@24.8.1(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@puppeteer/browsers': 2.10.3 chromium-bidi: 5.1.0(devtools-protocol@0.0.1439962) debug: 4.4.3 devtools-protocol: 0.0.1439962 typed-query-selector: 2.12.0 - ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -11084,13 +10490,13 @@ snapshots: - supports-color - utf-8-validate - rebrowser-puppeteer@24.8.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10): + rebrowser-puppeteer@24.8.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10): dependencies: '@puppeteer/browsers': 2.10.3 chromium-bidi: 5.1.0(devtools-protocol@0.0.1439962) cosmiconfig: 9.0.0(typescript@5.9.3) devtools-protocol: 0.0.1439962 - puppeteer-core: rebrowser-puppeteer-core@24.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + puppeteer-core: rebrowser-puppeteer-core@24.8.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) typed-query-selector: 2.12.0 transitivePeerDependencies: - bare-abort-controller @@ -11128,7 +10534,7 @@ snapshots: request-promise-core@1.1.4(request@2.88.2): dependencies: - lodash: 4.17.21 + lodash: 4.17.23 request: 2.88.2 request-promise@4.2.6(request@2.88.2): @@ -11156,7 +10562,7 @@ snapshots: mime-types: 2.1.35 oauth-sign: 0.9.0 performance-now: 2.1.0 - qs: 6.5.3 + qs: 6.5.5 safe-buffer: '@nolyfill/safe-buffer@1.0.44' tough-cookie: 2.5.0 tunnel-agent: 0.6.0 @@ -11236,32 +10642,35 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3 - rollup@4.53.2: + rollup@4.57.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.53.2 - '@rollup/rollup-android-arm64': 4.53.2 - '@rollup/rollup-darwin-arm64': 4.53.2 - '@rollup/rollup-darwin-x64': 4.53.2 - '@rollup/rollup-freebsd-arm64': 4.53.2 - '@rollup/rollup-freebsd-x64': 4.53.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.53.2 - '@rollup/rollup-linux-arm-musleabihf': 4.53.2 - '@rollup/rollup-linux-arm64-gnu': 4.53.2 - '@rollup/rollup-linux-arm64-musl': 4.53.2 - '@rollup/rollup-linux-loong64-gnu': 4.53.2 - '@rollup/rollup-linux-ppc64-gnu': 4.53.2 - '@rollup/rollup-linux-riscv64-gnu': 4.53.2 - '@rollup/rollup-linux-riscv64-musl': 4.53.2 - '@rollup/rollup-linux-s390x-gnu': 4.53.2 - '@rollup/rollup-linux-x64-gnu': 4.53.2 - '@rollup/rollup-linux-x64-musl': 4.53.2 - '@rollup/rollup-openharmony-arm64': 4.53.2 - '@rollup/rollup-win32-arm64-msvc': 4.53.2 - '@rollup/rollup-win32-ia32-msvc': 4.53.2 - '@rollup/rollup-win32-x64-gnu': 4.53.2 - '@rollup/rollup-win32-x64-msvc': 4.53.2 + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 rrweb-cssom@0.8.0: {} @@ -11286,7 +10695,7 @@ snapshots: parse-srcset: 1.0.2 postcss: 8.5.6 - sax@1.4.1: {} + sax@1.4.4: {} saxes@6.0.0: dependencies: @@ -11296,8 +10705,6 @@ snapshots: dependencies: parseley: 0.12.1 - semver@7.7.3: {} - semver@7.7.4: {} sharp@0.34.5: @@ -11345,7 +10752,7 @@ snapshots: sleep@6.1.0: dependencies: - nan: 2.23.1 + nan: 2.25.0 optional: true slice-ansi@7.1.2: @@ -11365,7 +10772,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -11375,7 +10782,7 @@ snapshots: ip-address: 10.1.0 smart-buffer: 4.2.0 - sonic-boom@4.2.0: + sonic-boom@4.2.1: dependencies: atomic-sleep: 1.0.0 @@ -11426,7 +10833,7 @@ snapshots: dependencies: events-universal: 1.0.1 fast-fifo: 1.3.2 - text-decoder: 1.2.3 + text-decoder: 1.2.6 transitivePeerDependencies: - bare-abort-controller - react-native-b4a @@ -11455,7 +10862,7 @@ snapshots: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 - string-width@8.1.0: + string-width@8.1.1: dependencies: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 @@ -11490,7 +10897,7 @@ snapshots: formidable: 3.5.4 methods: 1.1.2 mime: 2.6.0 - qs: 6.14.1 + qs: 6.14.2 transitivePeerDependencies: - supports-color @@ -11526,7 +10933,7 @@ snapshots: pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.5.3 + bare-fs: 4.5.4 bare-path: 3.0.0 transitivePeerDependencies: - bare-abort-controller @@ -11535,7 +10942,7 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.7.3 + b4a: 1.7.4 fast-fifo: 1.3.2 streamx: 2.23.0 transitivePeerDependencies: @@ -11567,14 +10974,14 @@ snapshots: ts-custom-error: 3.3.1 websocket: 1.0.35 optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.1.0 utf-8-validate: 5.0.10 transitivePeerDependencies: - supports-color - text-decoder@1.2.3: + text-decoder@1.2.6: dependencies: - b4a: 1.7.3 + b4a: 1.7.4 transitivePeerDependencies: - react-native-b4a @@ -11611,7 +11018,7 @@ snapshots: title@4.0.1: dependencies: arg: 5.0.2 - chalk: 5.5.0 + chalk: 5.6.2 clipboardy: 4.0.0 tlds@1.261.0: {} @@ -11703,7 +11110,7 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 - unconfig-core: 7.4.2 + unconfig-core: 7.5.0 unrun: 0.2.27(synckit@0.11.11) optionalDependencies: typescript: 5.9.3 @@ -11720,8 +11127,8 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.0 - get-tsconfig: 4.13.0 + esbuild: 0.27.3 + get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 @@ -11729,7 +11136,7 @@ snapshots: dependencies: safe-buffer: '@nolyfill/safe-buffer@1.0.44' - turndown@7.2.1: + turndown@7.2.2: dependencies: '@mixmark-io/domino': 2.2.0 @@ -11747,7 +11154,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.4.3: + type-fest@5.4.4: dependencies: tagged-tag: 1.0.0 @@ -11772,7 +11179,7 @@ snapshots: buffer: 5.7.1 through: 2.3.8 - unconfig-core@7.4.2: + unconfig-core@7.5.0: dependencies: '@quansync/fs': 1.0.0 quansync: 1.0.0 @@ -11901,23 +11308,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) - vite: 7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - typescript - vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: - esbuild: 0.25.12 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.53.2 + rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 25.2.3 @@ -11926,10 +11333,10 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.9 - '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.9 '@vitest/runner': 4.0.9 '@vitest/snapshot': 4.0.9 @@ -11937,7 +11344,7 @@ snapshots: '@vitest/utils': 4.0.9 debug: 4.4.3 es-module-lexer: 1.7.0 - expect-type: 1.2.2 + expect-type: 1.3.0 magic-string: 0.30.21 pathe: 2.0.3 picomatch: 4.0.3 @@ -11946,12 +11353,12 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.2.2(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 25.2.3 - jsdom: 27.0.0(bufferutil@4.0.9)(postcss@8.5.6)(utf-8-validate@5.0.10) + jsdom: 27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - jiti - less @@ -11974,11 +11381,11 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@8.0.0: {} + webidl-conversions@8.0.1: {} websocket@1.0.35: dependencies: - bufferutil: 4.0.9 + bufferutil: 4.1.0 debug: 2.6.9 es5-ext: 0.10.64 typedarray-to-buffer: 3.1.5 @@ -11993,10 +11400,12 @@ snapshots: whatwg-mimetype@4.0.0: {} + whatwg-mimetype@5.0.0: {} + whatwg-url@15.1.0: dependencies: tr46: 6.0.0 - webidl-conversions: 8.0.0 + webidl-conversions: 8.0.1 whatwg-url@5.0.0: dependencies: @@ -12042,13 +11451,13 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260212.0 '@cloudflare/workerd-windows-64': 1.20260212.0 - wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260212.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + miniflare: 4.20260212.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 workerd: 1.20260212.0 @@ -12099,30 +11508,25 @@ snapshots: bufferutil: 1.1.0 utf-8-validate: 1.1.0 - ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.1.0 utf-8-validate: 5.0.10 - ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 - utf-8-validate: 5.0.10 - - ws@8.19.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.1.0 utf-8-validate: 5.0.10 wuzzy@0.1.8: dependencies: - lodash: 4.17.21 + lodash: 4.17.23 xml-name-validator@5.0.0: {} xml2js@0.6.2: dependencies: - sax: 1.4.1 + sax: 1.4.4 xmlbuilder: 11.0.1 xmlbuilder@11.0.1: {} @@ -12148,8 +11552,6 @@ snapshots: eslint-visitor-keys: 5.0.0 yaml: 2.8.2 - yaml@2.8.1: {} - yaml@2.8.2: {} yargs-parser@15.0.3: @@ -12200,7 +11602,7 @@ snapshots: youtubei.js@16.0.1: dependencies: - '@bufbuild/protobuf': 2.9.0 + '@bufbuild/protobuf': 2.11.0 meriyah: 6.1.4 zod@3.23.8: {} From 1db6d77c17a856674f169e36bd9820fd03aaadc5 Mon Sep 17 00:00:00 2001 From: occam-7 Date: Sun, 15 Feb 2026 00:23:30 +0800 Subject: [PATCH 034/259] feat(route/thepaper): Add route for government accounts (#21151) * feat(route/thepaper): Add route for government accounts * fix(route/thepaper): object-shorthand * fix(route/thepaper): object-shorthand --- lib/routes/thepaper/gov.ts | 53 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 lib/routes/thepaper/gov.ts diff --git a/lib/routes/thepaper/gov.ts b/lib/routes/thepaper/gov.ts new file mode 100644 index 00000000000000..2b1ecd7386b852 --- /dev/null +++ b/lib/routes/thepaper/gov.ts @@ -0,0 +1,53 @@ +import type { Route } from "@/types"; +import ofetch from "@/utils/ofetch"; + +import utils from "./utils"; + +export const route: Route = { + path: "/gov/:pphId", + categories: ["new-media"], + example: "/thepaper/gov/63850", + parameters: { pphId: "政务号 id,可在政务号页 URL 中找到" }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + name: "政务号", + maintainers: ["occam-7"], + handler, +}; + +async function handler(ctx) { + const { pphId } = ctx.req.param(); + const pageSize = Number.parseInt(ctx.req.query("limit") ?? "10", 10); + + const response = await ofetch( + "https://api.thepaper.cn/contentapi/cont/pph/gov", + { + method: "POST", + body: { + pageNum: 1, + pageSize, + pphId, + }, + } + ); + + const list = response.data?.list ?? []; + const authorName = list[0]?.authorInfo?.sname ?? `政务号 ${pphId}`; + const items = await Promise.all( + list.map((item) => utils.ProcessItem(item, ctx)) + ); + + return { + title: `澎湃新闻政务号 - ${authorName}`, + link: `https://www.thepaper.cn/gov_${pphId}`, + item: items, + itunes_author: authorName, + image: list[0]?.authorInfo?.pic || list[0]?.pic, + }; +} From 97e82911404f26310abeeb7566db754447d33b17 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 16:25:56 +0000 Subject: [PATCH 035/259] style: auto format --- lib/routes/thepaper/gov.ts | 43 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/lib/routes/thepaper/gov.ts b/lib/routes/thepaper/gov.ts index 2b1ecd7386b852..2948334fa7bcca 100644 --- a/lib/routes/thepaper/gov.ts +++ b/lib/routes/thepaper/gov.ts @@ -1,13 +1,13 @@ -import type { Route } from "@/types"; -import ofetch from "@/utils/ofetch"; +import type { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; -import utils from "./utils"; +import utils from './utils'; export const route: Route = { - path: "/gov/:pphId", - categories: ["new-media"], - example: "/thepaper/gov/63850", - parameters: { pphId: "政务号 id,可在政务号页 URL 中找到" }, + path: '/gov/:pphId', + categories: ['new-media'], + example: '/thepaper/gov/63850', + parameters: { pphId: '政务号 id,可在政务号页 URL 中找到' }, features: { requireConfig: false, requirePuppeteer: false, @@ -16,32 +16,27 @@ export const route: Route = { supportPodcast: false, supportScihub: false, }, - name: "政务号", - maintainers: ["occam-7"], + name: '政务号', + maintainers: ['occam-7'], handler, }; async function handler(ctx) { const { pphId } = ctx.req.param(); - const pageSize = Number.parseInt(ctx.req.query("limit") ?? "10", 10); + const pageSize = Number.parseInt(ctx.req.query('limit') ?? '10', 10); - const response = await ofetch( - "https://api.thepaper.cn/contentapi/cont/pph/gov", - { - method: "POST", - body: { - pageNum: 1, - pageSize, - pphId, - }, - } - ); + const response = await ofetch('https://api.thepaper.cn/contentapi/cont/pph/gov', { + method: 'POST', + body: { + pageNum: 1, + pageSize, + pphId, + }, + }); const list = response.data?.list ?? []; const authorName = list[0]?.authorInfo?.sname ?? `政务号 ${pphId}`; - const items = await Promise.all( - list.map((item) => utils.ProcessItem(item, ctx)) - ); + const items = await Promise.all(list.map((item) => utils.ProcessItem(item, ctx))); return { title: `澎湃新闻政务号 - ${authorName}`, From da15d11d1dc6a8afdaeb8ac2d42c20d88cbdf688 Mon Sep 17 00:00:00 2001 From: Tony Date: Sun, 15 Feb 2026 01:27:25 +0800 Subject: [PATCH 036/259] chore: replace postlight/parser with jocmp/mercury-parser (#21152) --- lib/app.worker.tsx | 2 +- lib/middleware/parameter.ts | 2 +- package.json | 2 +- pnpm-lock.yaml | 273 +++++------------------------------- 4 files changed, 35 insertions(+), 244 deletions(-) diff --git a/lib/app.worker.tsx b/lib/app.worker.tsx index 6e8563fab5bdfb..d8c96848d56f55 100644 --- a/lib/app.worker.tsx +++ b/lib/app.worker.tsx @@ -54,7 +54,7 @@ app.use(trace); // Heavy middleware excluded in Worker build: // - sentry: @sentry/node // - antiHotlink: cheerio -// - parameter: cheerio, sanitize-html, @postlight/parser +// - parameter: cheerio, sanitize-html, @jocmp/mercury-parser app.use(cache); app.use(accessControl); diff --git a/lib/middleware/parameter.ts b/lib/middleware/parameter.ts index 51478c88f5fc6a..821bd4d0769488 100644 --- a/lib/middleware/parameter.ts +++ b/lib/middleware/parameter.ts @@ -1,4 +1,4 @@ -import Parser from '@postlight/parser'; +import Parser from '@jocmp/mercury-parser'; import type { CheerioAPI } from 'cheerio'; import { load } from 'cheerio'; import type { Element } from 'domhandler'; diff --git a/package.json b/package.json index ee744a42ddc1d6..9001e716742fde 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "@bbob/preset-html5": "4.3.1", "@hono/node-server": "1.19.9", "@hono/zod-openapi": "1.2.1", + "@jocmp/mercury-parser": "3.0.2", "@notionhq/client": "5.9.0", "@opentelemetry/api": "1.9.0", "@opentelemetry/exporter-prometheus": "0.212.0", @@ -68,7 +69,6 @@ "@opentelemetry/sdk-metrics": "2.5.1", "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", - "@postlight/parser": "2.2.3", "@rss3/sdk": "0.0.25", "@scalar/hono-api-reference": "0.9.40", "@sentry/node": "10.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ac8e2371a128c..5a35692b54092d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,6 +43,9 @@ importers: '@hono/zod-openapi': specifier: 1.2.1 version: 1.2.1(hono@4.11.9)(zod@4.3.6) + '@jocmp/mercury-parser': + specifier: 3.0.2 + version: 3.0.2 '@notionhq/client': specifier: 5.9.0 version: 5.9.0 @@ -67,9 +70,6 @@ importers: '@opentelemetry/semantic-conventions': specifier: 1.39.0 version: 1.39.0 - '@postlight/parser': - specifier: 2.2.3 - version: 2.2.3 '@rss3/sdk': specifier: 0.0.25 version: 0.0.25 @@ -1145,6 +1145,13 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@jocmp/mercury-parser@3.0.2': + resolution: {integrity: sha512-HPWiJpt05UUTtPka4SITY0T2y0hl8+SyA73T4L173fdt2cBmfIgwM8rilsfmWQOeQfsTiNkVWol1erP5Tsc+sw==} + engines: {node: '>=22'} + hasBin: true + bundledDependencies: + - browser-request + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -1647,19 +1654,6 @@ packages: '@poppinss/exception@1.2.3': resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} - '@postlight/ci-failed-test-reporter@1.0.26': - resolution: {integrity: sha512-xfXzxyOiKhco7Gx2OLTe9b66b0dFJw0elg94KGHoQXf5F8JqqFvdo35J8wayGOor64CSMvn+4Bjlu2NKV+yTGA==} - hasBin: true - - '@postlight/parser@2.2.3': - resolution: {integrity: sha512-4/syRvqJARgLN4yH8qtl634WO0+KINjkijU/SmhCJqqh8/aOfv5uQf+SquFpA+JwsAsbGzYQkIxSum29riOreg==} - engines: {node: '>=10'} - hasBin: true - bundledDependencies: - - jquery - - moment-timezone - - browser-request - '@postman/form-data@3.1.1': resolution: {integrity: sha512-vjh8Q2a8S6UCm/KKs31XFJqEEgmbjBmpPNVV2eVav6905wyFAwaUOBGA1NPBI4ERH9MMZc6w0umFgM6WbEPMdg==} engines: {node: '>= 6'} @@ -2702,10 +2696,6 @@ packages: resolution: {integrity: sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==} engines: {node: '>=16'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - camelcase@8.0.0: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} @@ -2740,10 +2730,6 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@0.22.0: - resolution: {integrity: sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==} - engines: {node: '>= 0.6'} - cheerio@1.2.0: resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} engines: {node: '>=20.18.1'} @@ -2909,9 +2895,6 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - css-select@1.2.0: - resolution: {integrity: sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==} - css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -2919,9 +2902,6 @@ packages: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@2.1.3: - resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==} - css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -2985,10 +2965,6 @@ packages: resolution: {integrity: sha512-nrNeSCtU2gV3Apcmn/EZ+aR20zKDuNDStV67jPiupokD3sOAFeMzslLMCFdKv1sPqzwoe5ZUhsSW9IAVgKSL/Q==} engines: {node: '>=14.16'} - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decamelize@6.0.1: resolution: {integrity: sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3070,24 +3046,15 @@ packages: discord-api-types@0.38.39: resolution: {integrity: sha512-XRdDQvZvID1XvcFftjSmd4dcmMi/RL/jSy5sduBDAvCGFcNFHThdIQXCEBDZFe52lCNEzuIL0QJoKYAmRmxLUA==} - dom-serializer@0.1.1: - resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} - dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} - domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - domhandler@2.4.2: - resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} - domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} @@ -3096,12 +3063,6 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - domutils@1.5.1: - resolution: {integrity: sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==} - - domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} - domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -3116,10 +3077,6 @@ packages: resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} - dotenv@6.2.0: - resolution: {integrity: sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==} - engines: {node: '>=6'} - dts-resolver@2.1.3: resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} engines: {node: '>=20.19.0'} @@ -3182,9 +3139,6 @@ packages: resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} - entities@1.1.2: - resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} - entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -3699,9 +3653,6 @@ packages: htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - htmlparser2@3.10.1: - resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} - htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -3750,10 +3701,6 @@ packages: engines: {node: '>=18'} hasBin: true - iconv-lite@0.5.0: - resolution: {integrity: sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==} - engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -4094,24 +4041,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.assignin@4.2.0: - resolution: {integrity: sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==} - - lodash.bind@4.2.1: - resolution: {integrity: sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==} - lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - lodash.filter@4.6.0: - resolution: {integrity: sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - lodash.foreach@4.5.0: - resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} - lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} @@ -4119,25 +4051,9 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - lodash.map@4.6.0: - resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - deprecated: This package is deprecated. Use destructuring assignment syntax instead. - - lodash.reduce@4.6.0: - resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==} - - lodash.reject@4.6.0: - resolution: {integrity: sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==} - - lodash.some@4.6.0: - resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==} - lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -4372,12 +4288,6 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} - moment-parseformat@3.0.0: - resolution: {integrity: sha512-dVgXe6b6DLnv4CHG7a1zUe5mSXaIZ3c6lSHm/EKeVeQI2/4pwe0VRde8OyoCE1Ro2lKT5P6uT9JElF7KDLV+jw==} - - moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -4508,9 +4418,6 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -5565,9 +5472,6 @@ packages: resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} engines: {node: '>=0.10.0'} - valid-url@1.0.9: - resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} - verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} @@ -5832,13 +5736,14 @@ packages: engines: {node: '>= 14.6'} hasBin: true - yargs-parser@15.0.3: - resolution: {integrity: sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -6456,6 +6361,22 @@ snapshots: dependencies: minipass: 7.1.2 + '@jocmp/mercury-parser@3.0.2': + dependencies: + '@babel/runtime-corejs2': 7.28.6 + cheerio: 1.2.0 + dayjs: 1.11.19 + difflib: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed + ellipsize: 0.1.0 + iconv-lite: 0.6.3 + postman-request: 2.88.1-postman.48 + string-direction: 0.1.2 + turndown: 7.2.2 + wuzzy: 0.1.8 + yargs-parser: 22.0.0 + transitivePeerDependencies: + - supports-color + '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -6968,33 +6889,6 @@ snapshots: '@poppinss/exception@1.2.3': {} - '@postlight/ci-failed-test-reporter@1.0.26': - dependencies: - dotenv: 6.2.0 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - '@postlight/parser@2.2.3': - dependencies: - '@babel/runtime-corejs2': 7.28.6 - '@postlight/ci-failed-test-reporter': 1.0.26 - cheerio: 0.22.0 - difflib: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed - ellipsize: 0.1.0 - iconv-lite: 0.5.0 - moment: 2.30.1 - moment-parseformat: 3.0.0 - postman-request: 2.88.1-postman.48 - string-direction: 0.1.2 - turndown: 7.2.2 - valid-url: 1.0.9 - wuzzy: 0.1.8 - yargs-parser: 15.0.3 - transitivePeerDependencies: - - encoding - - supports-color - '@postman/form-data@3.1.1': dependencies: asynckit: 0.4.0 @@ -8013,8 +7907,6 @@ snapshots: quick-lru: 6.1.2 type-fest: 4.41.0 - camelcase@5.3.1: {} - camelcase@8.0.0: {} caniuse-lite@1.0.30001769: {} @@ -8045,25 +7937,6 @@ snapshots: domhandler: 5.0.3 domutils: 3.2.2 - cheerio@0.22.0: - dependencies: - css-select: 1.2.0 - dom-serializer: 0.1.1 - entities: 1.1.2 - htmlparser2: 3.10.1 - lodash.assignin: 4.2.0 - lodash.bind: 4.2.1 - lodash.defaults: 4.2.0 - lodash.filter: 4.6.0 - lodash.flatten: 4.4.0 - lodash.foreach: 4.5.0 - lodash.map: 4.6.0 - lodash.merge: 4.6.2 - lodash.pick: 4.4.0 - lodash.reduce: 4.6.0 - lodash.reject: 4.6.0 - lodash.some: 4.6.0 - cheerio@1.2.0: dependencies: cheerio-select: 2.1.0 @@ -8221,13 +8094,6 @@ snapshots: crypto-js@4.2.0: {} - css-select@1.2.0: - dependencies: - boolbase: 1.0.0 - css-what: 2.1.3 - domutils: 1.5.1 - nth-check: 1.0.2 - css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -8241,8 +8107,6 @@ snapshots: mdn-data: 2.12.2 source-map-js: 1.2.1 - css-what@2.1.3: {} - css-what@6.2.2: {} cssstyle@5.3.7: @@ -8293,8 +8157,6 @@ snapshots: quick-lru: 6.1.2 type-fest: 3.13.1 - decamelize@1.2.0: {} - decamelize@6.0.1: {} decimal.js@10.6.0: {} @@ -8356,11 +8218,6 @@ snapshots: discord-api-types@0.38.39: {} - dom-serializer@0.1.1: - dependencies: - domelementtype: 1.3.1 - entities: 1.1.2 - dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -8373,14 +8230,8 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 - domelementtype@1.3.1: {} - domelementtype@2.3.0: {} - domhandler@2.4.2: - dependencies: - domelementtype: 1.3.1 - domhandler@4.3.1: dependencies: domelementtype: 2.3.0 @@ -8389,16 +8240,6 @@ snapshots: dependencies: domelementtype: 2.3.0 - domutils@1.5.1: - dependencies: - dom-serializer: 0.1.1 - domelementtype: 1.3.1 - - domutils@1.7.0: - dependencies: - dom-serializer: 0.1.1 - domelementtype: 1.3.1 - domutils@2.8.0: dependencies: dom-serializer: 1.4.1 @@ -8417,8 +8258,6 @@ snapshots: dotenv@17.3.1: {} - dotenv@6.2.0: {} - dts-resolver@2.1.3: {} eastasianwidth@0.2.0: {} @@ -8473,8 +8312,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 - entities@1.1.2: {} - entities@2.2.0: {} entities@4.5.0: {} @@ -9128,15 +8965,6 @@ snapshots: domutils: 3.2.2 entities: 7.0.1 - htmlparser2@3.10.1: - dependencies: - domelementtype: 1.3.1 - domhandler: 2.4.2 - domutils: 1.7.0 - entities: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 @@ -9195,10 +9023,6 @@ snapshots: husky@9.1.7: {} - iconv-lite@0.5.0: - dependencies: - safer-buffer: '@nolyfill/safer-buffer@1.0.44' - iconv-lite@0.6.3: dependencies: safer-buffer: '@nolyfill/safer-buffer@1.0.44' @@ -9570,34 +9394,14 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.assignin@4.2.0: {} - - lodash.bind@4.2.1: {} - lodash.defaults@4.2.0: {} - lodash.filter@4.6.0: {} - - lodash.flatten@4.4.0: {} - - lodash.foreach@4.5.0: {} - lodash.isarguments@3.1.0: {} lodash.isequal@4.5.0: {} - lodash.map@4.6.0: {} - lodash.merge@4.6.2: {} - lodash.pick@4.4.0: {} - - lodash.reduce@4.6.0: {} - - lodash.reject@4.6.0: {} - - lodash.some@4.6.0: {} - lodash@4.17.23: {} log-update@6.1.0: @@ -9921,10 +9725,6 @@ snapshots: module-details-from-path@1.0.4: {} - moment-parseformat@3.0.0: {} - - moment@2.30.1: {} - ms@2.0.0: {} ms@2.1.3: {} @@ -10035,10 +9835,6 @@ snapshots: dependencies: path-key: 4.0.0 - nth-check@1.0.2: - dependencies: - boolbase: 1.0.0 - nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -11290,8 +11086,6 @@ snapshots: vali-date@1.0.0: {} - valid-url@1.0.9: {} - verror@1.10.0: dependencies: assert-plus: 1.0.0 @@ -11554,13 +11348,10 @@ snapshots: yaml@2.8.2: {} - yargs-parser@15.0.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - yargs-parser@21.1.1: {} + yargs-parser@22.0.0: {} + yargs@17.7.2: dependencies: cliui: 8.0.1 From a56e6299d63f15b430a60eb8057e61592c980d16 Mon Sep 17 00:00:00 2001 From: Tony Date: Sun, 15 Feb 2026 21:47:54 +0800 Subject: [PATCH 037/259] feat(route/ainvest): rework article and news (#21154) --- .github/dependabot.yml | 3 - lib/routes/ainvest/article.ts | 42 ++---------- lib/routes/ainvest/news.ts | 40 ++--------- lib/routes/ainvest/utils.ts | 121 +++++++++++++++------------------- 4 files changed, 66 insertions(+), 140 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1fa79d7e65786e..d03e95954a1a71 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -18,9 +18,6 @@ updates: # https://github.com/yoimiya-kokomi/Miao-Yunzai/pull/515 https://github.com/zhangfisher/flex-tools/commit/09b565dfe6e2932bb829613ddbe09f6d0acbccd4 - dependency-name: art-template versions: ['>=4.13.3'] - # no longer includes KJUR.crypto.Cipher for RSA - - dependency-name: jsrsasign - versions: ['>=11.0.0'] # pin jsdom to avoid `Error: require() of ES Module` issue caused by parse5 v8 # https://github.com/jsdom/jsdom/issues/3959 - dependency-name: jsdom diff --git a/lib/routes/ainvest/article.ts b/lib/routes/ainvest/article.ts index 649e2bb327223e..77f827f4b0d043 100644 --- a/lib/routes/ainvest/article.ts +++ b/lib/routes/ainvest/article.ts @@ -1,8 +1,5 @@ +import { fetchContentItems } from '@/routes/ainvest/utils'; import type { Route } from '@/types'; -import got from '@/utils/got'; -import { parseDate } from '@/utils/parse-date'; - -import { decryptAES, encryptAES, getHeaders, randomString } from './utils'; export const route: Route = { path: '/article', @@ -19,49 +16,22 @@ export const route: Route = { }, radar: [ { - source: ['ainvest.com/news'], + source: ['www.ainvest.com/news/articles-latest/', 'www.ainvest.com'], }, ], name: 'Latest Article', maintainers: ['TonyRL'], handler, - url: 'ainvest.com/news', + url: 'www.ainvest.com/news/articles-latest/', }; async function handler(ctx) { - const key = randomString(16); - - const { data: response } = await got.post('https://api.ainvest.com/gw/socialcenter/v1/edu/article/listArticle', { - headers: getHeaders(key), - searchParams: { - timestamp: Date.now(), - }, - data: encryptAES( - JSON.stringify({ - batch: ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 30, - startId: null, - tags: { - in: ['markettrends', 'premarket', 'companyinsights', 'macro'], - and: ['web', 'creationplatform'], - }, - }), - key - ), - }); - - const { data } = JSON.parse(decryptAES(response, key)); - - const items = data.map((item) => ({ - title: item.title, - description: item.content, - link: item.sourceUrl, - pubDate: parseDate(item.postDate, 'x'), - category: [item.nickName, ...item.tags.map((tag) => tag.code)], - })); + const limit = ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 5; + const items = await fetchContentItems([109], limit); return { title: 'AInvest - Latest Articles', - link: 'https://www.ainvest.com/news', + link: 'https://www.ainvest.com/news/articles-latest/', language: 'en', item: items, }; diff --git a/lib/routes/ainvest/news.ts b/lib/routes/ainvest/news.ts index ab639f9584167a..cf45cb879db539 100644 --- a/lib/routes/ainvest/news.ts +++ b/lib/routes/ainvest/news.ts @@ -1,9 +1,6 @@ +import { fetchContentItems } from '@/routes/ainvest/utils'; import type { Route } from '@/types'; import { ViewType } from '@/types'; -import got from '@/utils/got'; -import { parseDate } from '@/utils/parse-date'; - -import { decryptAES, getHeaders, randomString } from './utils'; export const route: Route = { path: '/news', @@ -21,46 +18,23 @@ export const route: Route = { }, radar: [ { - source: ['ainvest.com/news'], + source: ['www.ainvest.com/news/'], }, ], name: 'Latest News', maintainers: ['TonyRL'], handler, - url: 'ainvest.com/news', + url: 'www.ainvest.com/news/', }; async function handler(ctx) { - const key = randomString(16); - - const { data: response } = await got('https://api.ainvest.com/gw/news_f10/v1/newsFlash/getNewsData', { - headers: getHeaders(key), - searchParams: { - terminal: 'web', - tab: 'all', - page: 1, - size: ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 50, - lastId: '', - timestamp: Date.now(), - }, - }); - - const { data } = JSON.parse(decryptAES(response, key)); - - const items = data.content.map((item) => ({ - title: item.title, - description: item.content, - link: item.sourceUrl, - pubDate: parseDate(item.publishTime, 'x'), - category: item.tagList.map((tag) => tag.nameEn), - author: item.userInfo.nickname, - upvotes: item.likeCount, - comments: item.commentCount, - })); + const limit = ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 5; + const streamIds = [109, 416, 438, 529, 721, 834, 835]; + const items = await fetchContentItems(streamIds, limit); return { title: 'AInvest - Latest News', - link: 'https://www.ainvest.com/news', + link: 'https://www.ainvest.com/news/', language: 'en', item: items, }; diff --git a/lib/routes/ainvest/utils.ts b/lib/routes/ainvest/utils.ts index 49d15799aa606e..9c196820a0f0cb 100644 --- a/lib/routes/ainvest/utils.ts +++ b/lib/routes/ainvest/utils.ts @@ -1,69 +1,54 @@ -import crypto from 'node:crypto'; - -import CryptoJS from 'crypto-js'; -import { hextob64, KEYUTIL, KJUR } from 'jsrsasign'; - -const publicKey = - 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCARnxLlrhTK28bEV7s2IROjT73KLSjfqpKIvV8L+Yhe4BrF0Ut4oOH728HZlbSF0C3N0vXZjLAFesoS4v1pYOjVCPXl920Lh2seCv82m0cK78WMGuqZTfA44Nv7JsQMHC3+J6IZm8YD53ft2d8mYBFgKektduucjx8sObe7eRyoQIDAQAB'; - -const randomString = (length: number) => { - if (length > 32) { - throw new Error('Max length is 32.'); - } - return uuidv4().replaceAll('-', '').slice(0, length); -}; - -const uuidv4 = () => crypto.randomUUID(); - -/** - * @param {string} str - * @returns {CryptoJS.lib.WordArray} - */ -const MD5 = (str) => CryptoJS.MD5(str); - -const encryptAES = (data, key) => { - if (typeof key === 'string') { - key = MD5(key); - } - return CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data), key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7, - }).toString(); +import { config } from '@/config'; +import cache from '@/utils/cache'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +const contentStreamUrl = 'https://news.ainvest.com/news-w-ds-hxcmp-content-stream/content_stream/api/stream_item/v1/query_content_stream'; +const contentPageUrl = 'https://news.ainvest.com/content-page/v1/page'; + +const normalizeItem = (item) => ({ + title: item.title, + link: item.h5_url, + pubDate: parseDate(item.ctime, 'X'), + category: item.content_tags.map((tag) => tag.name), + author: item.author_name, + image: item.cover_image, + seoKey: item.seo_key, +}); + +export const fetchContentStream = (streamId, limit) => + cache.tryGet( + `ainvest:news:${streamId}:${limit}`, + async () => { + const response = await ofetch(contentStreamUrl, { + query: { + lang: 'en', + pageSize: limit, + stream_id: streamId, + page: 1, + }, + }); + return response.data.list; + }, + config.cache.routeExpire, + false + ); + +export const fetchContentItems = async (streamIds, limit) => { + const streams = await Promise.all(streamIds.map((streamId) => fetchContentStream(streamId, limit))); + const list = streams.flat().map((item) => normalizeItem(item)); + + return Promise.all( + list.map((item) => + cache.tryGet(item.link, async () => { + const response = await ofetch(`${contentPageUrl}/${item.seoKey}`); + const { data } = response; + + item.description = data.pageInfo.structuredContent.map((c) => c.content).join(''); + item.image = data.contentInfo.coverImage; + + return item; + }) + ) + ); }; - -const decryptAES = (data, key) => { - if (typeof key === 'string') { - key = MD5(key); - } - return CryptoJS.AES.decrypt(data, key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7, - }).toString(CryptoJS.enc.Utf8); -}; - -const encryptRSA = (data) => { - // Original code: - // var n = new JSEncrypt(); - // n.setPublicKey(pubKey); - // return n.encrypt(message); - // Note: Server will reject the public key if it's encrypted using crypto.publicEncrypt(). - let pubKey = `-----BEGIN PUBLIC KEY-----${publicKey}-----END PUBLIC KEY-----`; - pubKey = KEYUTIL.getKey(pubKey); - return hextob64(KJUR.crypto.Cipher.encrypt(data, pubKey)); -}; - -const getHeaders = (key) => { - const fingerPrint = uuidv4(); - - return { - 'content-type': 'application/json', - 'ovse-trace': uuidv4(), - callertype: 'USER', - fingerprint: encryptAES(fingerPrint, MD5(key)), - onetimeskey: encryptRSA(key), - timestamp: encryptAES(Date.now(), key), - referer: 'https://www.ainvest.com/', - }; -}; - -export { decryptAES, encryptAES, getHeaders, randomString }; From d4470db781a6b16b167c5f179a7103fec91ea15f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 15 Feb 2026 14:04:46 +0000 Subject: [PATCH 038/259] chore(deps): bump @hono/zod-openapi from 1.2.1 to 1.2.2 (#21157) Bumps [@hono/zod-openapi](https://github.com/honojs/middleware/tree/HEAD/packages/zod-openapi) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/honojs/middleware/releases) - [Changelog](https://github.com/honojs/middleware/blob/main/packages/zod-openapi/CHANGELOG.md) - [Commits](https://github.com/honojs/middleware/commits/@hono/zod-openapi@1.2.2/packages/zod-openapi) --- updated-dependencies: - dependency-name: "@hono/zod-openapi" dependency-version: 1.2.2 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 | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 9001e716742fde..3d34f2c8d174f1 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "@bbob/plugin-helper": "4.3.1", "@bbob/preset-html5": "4.3.1", "@hono/node-server": "1.19.9", - "@hono/zod-openapi": "1.2.1", + "@hono/zod-openapi": "1.2.2", "@jocmp/mercury-parser": "3.0.2", "@notionhq/client": "5.9.0", "@opentelemetry/api": "1.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a35692b54092d..56fdf37a838106 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,8 +41,8 @@ importers: specifier: 1.19.9 version: 1.19.9(hono@4.11.9) '@hono/zod-openapi': - specifier: 1.2.1 - version: 1.2.1(hono@4.11.9)(zod@4.3.6) + specifier: 1.2.2 + version: 1.2.2(hono@4.11.9)(zod@4.3.6) '@jocmp/mercury-parser': specifier: 3.0.2 version: 3.0.2 @@ -473,8 +473,8 @@ packages: '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@asteasolutions/zod-to-openapi@8.4.0': - resolution: {integrity: sha512-Ckp971tmTw4pnv+o7iK85ldBHBKk6gxMaoNyLn3c2Th/fKoTG8G3jdYuOanpdGqwlDB0z01FOjry2d32lfTqrA==} + '@asteasolutions/zod-to-openapi@8.4.1': + resolution: {integrity: sha512-WmJUsFINbnWxGvHSd16aOjgKf+5GsfdxruO2YDLcgplsidakCauik1lhlk83YDH06265Yd1XtUyF24o09uygpw==} peerDependencies: zod: ^4.0.0 @@ -879,8 +879,8 @@ packages: peerDependencies: hono: ^4 - '@hono/zod-openapi@1.2.1': - resolution: {integrity: sha512-aZza4V8wkqpdHBWFNPiCeWd0cGOXbYuQW9AyezHs/jwQm5p67GkUyXwfthAooAwnG7thTpvOJkThZpCoY6us8w==} + '@hono/zod-openapi@1.2.2': + resolution: {integrity: sha512-va6vsL23wCJ1d0Vd+vGL1XOt+wPwItxirYafuhlW9iC2MstYr2FvsI7mctb45eBTjZfkqB/3LYDJEppPjOEiHw==} engines: {node: '>=16.0.0'} peerDependencies: hono: '>=4.3.6' @@ -5815,7 +5815,7 @@ snapshots: '@asamuzakjp/nwsapi@2.3.9': {} - '@asteasolutions/zod-to-openapi@8.4.0(zod@4.3.6)': + '@asteasolutions/zod-to-openapi@8.4.1(zod@4.3.6)': dependencies: openapi3-ts: 4.5.0 zod: 4.3.6 @@ -6148,9 +6148,9 @@ snapshots: dependencies: hono: 4.11.9 - '@hono/zod-openapi@1.2.1(hono@4.11.9)(zod@4.3.6)': + '@hono/zod-openapi@1.2.2(hono@4.11.9)(zod@4.3.6)': dependencies: - '@asteasolutions/zod-to-openapi': 8.4.0(zod@4.3.6) + '@asteasolutions/zod-to-openapi': 8.4.1(zod@4.3.6) '@hono/zod-validator': 0.7.6(hono@4.11.9)(zod@4.3.6) hono: 4.11.9 openapi3-ts: 4.5.0 From 6365ff027ee44b994ac7cf5d8c905ca29282ac5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:31:57 +0800 Subject: [PATCH 039/259] chore(deps-dev): bump eslint-plugin-n from 17.23.2 to 17.24.0 (#21156) Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.23.2 to 17.24.0. - [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases) - [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/v17.23.2...v17.24.0) --- updated-dependencies: - dependency-name: eslint-plugin-n dependency-version: 17.24.0 dependency-type: direct:development 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3d34f2c8d174f1..f62e5944d36832 100644 --- a/package.json +++ b/package.json @@ -175,7 +175,7 @@ "eslint": "9.39.2", "eslint-nibble": "9.1.1", "eslint-plugin-import-x": "4.16.1", - "eslint-plugin-n": "17.23.2", + "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", "eslint-plugin-unicorn": "63.0.0", "eslint-plugin-yml": "3.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56fdf37a838106..4c49eb8982dba6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -384,8 +384,8 @@ importers: specifier: 4.16.1 version: 4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-n: - specifier: 17.23.2 - version: 17.23.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 17.24.0 + version: 17.24.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-simple-import-sort: specifier: 12.1.1 version: 12.1.1(eslint@9.39.2(jiti@2.6.1)) @@ -3258,8 +3258,8 @@ packages: eslint-import-resolver-node: optional: true - eslint-plugin-n@17.23.2: - resolution: {integrity: sha512-RhWBeb7YVPmNa2eggvJooiuehdL76/bbfj/OJewyoGT80qn5PXdz8zMOTO6YHOsI7byPt7+Ighh/i/4a5/v7hw==} + eslint-plugin-n@17.24.0: + resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -8457,7 +8457,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-n@17.23.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) enhanced-resolve: 5.19.0 From ef17fa97a893a575f0a08b78d8a5270fc42aaf09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:41:57 +0800 Subject: [PATCH 040/259] chore(deps): bump jsrsasign from 10.9.0 to 11.1.0 (#21155) Bumps [jsrsasign](https://github.com/kjur/jsrsasign) from 10.9.0 to 11.1.0. - [Release notes](https://github.com/kjur/jsrsasign/releases) - [Changelog](https://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt) - [Commits](https://github.com/kjur/jsrsasign/compare/10.9.0...11.1.0) --- updated-dependencies: - dependency-name: jsrsasign dependency-version: 11.1.0 dependency-type: direct:production update-type: version-update:semver-major ... 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 f62e5944d36832..6ba66da262a8b9 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "jsdom": "27.0.0", "json-bigint": "1.0.0", "jsonpath-plus": "10.3.0", - "jsrsasign": "10.9.0", + "jsrsasign": "11.1.0", "lru-cache": "11.2.6", "lz-string": "1.5.0", "mailparser": "3.9.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c49eb8982dba6..9726af247f4d31 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -164,8 +164,8 @@ importers: specifier: 10.3.0 version: 10.3.0 jsrsasign: - specifier: 10.9.0 - version: 10.9.0 + specifier: 11.1.0 + version: 11.1.0 lru-cache: specifier: 11.2.6 version: 11.2.6 @@ -3981,8 +3981,8 @@ packages: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} engines: {'0': node >=0.6.0} - jsrsasign@10.9.0: - resolution: {integrity: sha512-QWLUikj1SBJGuyGK8tjKSx3K7Y69KYJnrs/pQ1KZ6wvZIkHkWjZ1PJDpuvc1/28c1uP0KW9qn1eI1LzHQqDOwQ==} + jsrsasign@11.1.0: + resolution: {integrity: sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg==} jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -9315,7 +9315,7 @@ snapshots: json-schema: 0.4.0 verror: 1.10.0 - jsrsasign@10.9.0: {} + jsrsasign@11.1.0: {} jwa@2.0.1: dependencies: From fd485bc125d012431f183e241a831299df59eb01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 08:16:55 +0000 Subject: [PATCH 041/259] chore(deps-dev): bump @types/jsrsasign from 10.5.13 to 10.5.15 (#21162) Bumps [@types/jsrsasign](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsrsasign) from 10.5.13 to 10.5.15. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsrsasign) --- updated-dependencies: - dependency-name: "@types/jsrsasign" dependency-version: 10.5.15 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 | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6ba66da262a8b9..0d87c0ae2f42ce 100644 --- a/package.json +++ b/package.json @@ -159,7 +159,7 @@ "@types/js-beautify": "1.14.3", "@types/jsdom": "27.0.0", "@types/json-bigint": "1.0.4", - "@types/jsrsasign": "10.5.13", + "@types/jsrsasign": "10.5.15", "@types/mailparser": "3.4.6", "@types/markdown-it": "14.1.2", "@types/module-alias": "2.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9726af247f4d31..5d957cf617cf04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -336,8 +336,8 @@ importers: specifier: 1.0.4 version: 1.0.4 '@types/jsrsasign': - specifier: 10.5.13 - version: 10.5.13 + specifier: 10.5.15 + version: 10.5.15 '@types/mailparser': specifier: 3.4.6 version: 3.4.6 @@ -2119,8 +2119,8 @@ packages: '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/jsrsasign@10.5.13': - resolution: {integrity: sha512-vvVHLrXxoUZgBWTcJnTMSC4FAQcG2loK7N1Uy20I3nr/aUhetbGdfuwSzXkrMoll2RoYKW0IcMIN0I0bwMwVMQ==} + '@types/jsrsasign@10.5.15': + resolution: {integrity: sha512-3stUTaSRtN09PPzVWR6aySD9gNnuymz+WviNHoTb85dKu+BjaV4uBbWWGykBBJkfwPtcNZVfTn2lbX00U+yhpQ==} '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -5129,6 +5129,7 @@ packages: tar@7.5.7: resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} engines: {node: '>=18'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me telegram@2.26.22: resolution: {integrity: sha512-EIj7Yrjiu0Yosa3FZ/7EyPg9s6UiTi/zDQrFmR/2Mg7pIUU+XjAit1n1u9OU9h2oRnRM5M+67/fxzQluZpaJJg==} @@ -7323,7 +7324,7 @@ snapshots: dependencies: '@types/node': 25.2.3 - '@types/jsrsasign@10.5.13': {} + '@types/jsrsasign@10.5.15': {} '@types/linkify-it@5.0.0': {} From 6d2af689d3d45aea7129739e92ffb956130359db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 08:18:35 +0000 Subject: [PATCH 042/259] chore(deps): bump @scalar/hono-api-reference from 0.9.40 to 0.9.41 (#21161) Bumps [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) from 0.9.40 to 0.9.41. - [Release notes](https://github.com/scalar/scalar/releases) - [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md) - [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono) --- updated-dependencies: - dependency-name: "@scalar/hono-api-reference" dependency-version: 0.9.41 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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 0d87c0ae2f42ce..006abcbd085d27 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", - "@scalar/hono-api-reference": "0.9.40", + "@scalar/hono-api-reference": "0.9.41", "@sentry/node": "10.38.0", "aes-js": "3.1.2", "cheerio": "1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d957cf617cf04..d1dcbcc1e5f710 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -74,8 +74,8 @@ importers: specifier: 0.0.25 version: 0.0.25 '@scalar/hono-api-reference': - specifier: 0.9.40 - version: 0.9.40(hono@4.11.9) + specifier: 0.9.41 + version: 0.9.41(hono@4.11.9) '@sentry/node': specifier: 10.38.0 version: 10.38.0 @@ -1958,22 +1958,22 @@ packages: '@rss3/sdk@0.0.25': resolution: {integrity: sha512-jyXT4YTwefxxRZ0tt5xjbnw8e7zPg2OGdo/0xb+h/7qWnMNhLtWpc95DsYs/1C/I0rIyiDpZBhLI2DieQ9y+tw==} - '@scalar/core@0.3.37': - resolution: {integrity: sha512-cQWMHsGD9jCiYHi91acR3tOsj+qGk+dRQ2W+N5+au1NZ/GkUNT5TUEufekn/sj1S8af+lOnn3y0xXoTI34jCog==} + '@scalar/core@0.3.38': + resolution: {integrity: sha512-vacEKCx46szDGKI5x8GrFUQygMMoeOVFxeltkLM1kLylAYs7iLprkwkLlEI0zJezE7mqiWIONh9MDJA2lTciIA==} engines: {node: '>=20'} - '@scalar/helpers@0.2.11': - resolution: {integrity: sha512-Y7DLt1bIZF9dvHzJwSJTcC1lpSr1Tbf4VBhHOCRIHu23Rr7/lhQnddRxFmPV1tZXwEQKz7F7yRrubwCfKPCucw==} + '@scalar/helpers@0.2.12': + resolution: {integrity: sha512-Ig/H1Je8nqcDiY+YwFIpATxF2ko7zKrjIZFWK2gGeNTYK4Np9XnqDHg56jM3Xru439Eh4qHq9P/lX7Se5nnxFA==} engines: {node: '>=20'} - '@scalar/hono-api-reference@0.9.40': - resolution: {integrity: sha512-0tQOxyEwuu1QGcoA5aCJg2eSmNfF35mxeGx13TND9ud5ZBeuOqli8jyfykgkqV3gFTnDDlQYgQcOvB6Rgk2beA==} + '@scalar/hono-api-reference@0.9.41': + resolution: {integrity: sha512-QPZo3GshWvRU2Y9VRMsl1+FAZv4+Gjud5/Yq6TY/5Xy9Rrez8SMkIgN9cfRjQ5JtU1XqpugtWMBEbiXep4C+Fg==} engines: {node: '>=20'} peerDependencies: hono: ^4.11.5 - '@scalar/types@0.6.2': - resolution: {integrity: sha512-VWfY/z9R5NT8PpKVmvmIj6QSh56MMcl8x3JsGiNxR+w7txGQEq+QzEl35aU56uSBFmLfPk1oyInoaHhkosKooA==} + '@scalar/types@0.6.3': + resolution: {integrity: sha512-uicRSnA29SO+nwywdW5ycjIp24N/6FziPEpgC5nObCy5upUNpArN+xro06T1WX5zFnT9g7ADeTfFkWT+OLk/jA==} engines: {node: '>=20'} '@scure/base@2.0.0': @@ -7129,20 +7129,20 @@ snapshots: '@rss3/api-core': 0.0.25 '@rss3/api-utils': 0.0.25 - '@scalar/core@0.3.37': + '@scalar/core@0.3.38': dependencies: - '@scalar/types': 0.6.2 + '@scalar/types': 0.6.3 - '@scalar/helpers@0.2.11': {} + '@scalar/helpers@0.2.12': {} - '@scalar/hono-api-reference@0.9.40(hono@4.11.9)': + '@scalar/hono-api-reference@0.9.41(hono@4.11.9)': dependencies: - '@scalar/core': 0.3.37 + '@scalar/core': 0.3.38 hono: 4.11.9 - '@scalar/types@0.6.2': + '@scalar/types@0.6.3': dependencies: - '@scalar/helpers': 0.2.11 + '@scalar/helpers': 0.2.12 nanoid: 5.1.6 type-fest: 5.4.4 zod: 4.3.6 From 3df7bd2690c4f3ce2121b5013adb56adc88ae701 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 23:35:35 +0800 Subject: [PATCH 043/259] chore(deps): bump jsonpath-plus from 10.3.0 to 10.4.0 (#21163) Bumps [jsonpath-plus](https://github.com/s3u/JSONPath) from 10.3.0 to 10.4.0. - [Release notes](https://github.com/s3u/JSONPath/releases) - [Changelog](https://github.com/JSONPath-Plus/JSONPath/blob/main/CHANGES.md) - [Commits](https://github.com/s3u/JSONPath/compare/v10.3.0...v10.4.0) --- updated-dependencies: - dependency-name: jsonpath-plus dependency-version: 10.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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 006abcbd085d27..8904e1fd6e75ea 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "ip-regex": "5.0.0", "jsdom": "27.0.0", "json-bigint": "1.0.0", - "jsonpath-plus": "10.3.0", + "jsonpath-plus": "10.4.0", "jsrsasign": "11.1.0", "lru-cache": "11.2.6", "lz-string": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d1dcbcc1e5f710..955e59469597a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -161,8 +161,8 @@ importers: specifier: 1.0.0 version: 1.0.0 jsonpath-plus: - specifier: 10.3.0 - version: 10.3.0 + specifier: 10.4.0 + version: 10.4.0 jsrsasign: specifier: 11.1.0 version: 11.1.0 @@ -3968,8 +3968,8 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonpath-plus@10.3.0: - resolution: {integrity: sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==} + jsonpath-plus@10.4.0: + resolution: {integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==} engines: {node: '>=18.0.0'} hasBin: true @@ -9296,7 +9296,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonpath-plus@10.3.0: + jsonpath-plus@10.4.0: dependencies: '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) From 0c873eab4e471e4f20cc359e4dae91a0f00c0721 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 17:47:22 +0800 Subject: [PATCH 044/259] chore(deps): bump actions/stale from 10.1.1 to 10.2.0 (#21167) Bumps [actions/stale](https://github.com/actions/stale) from 10.1.1 to 10.2.0. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/997185467fa4f803885201cee163a9f38240193d...b5d41d4e1d5dceea10e7104786b73624c18a190f) --- updated-dependencies: - dependency-name: actions/stale dependency-version: 10.2.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> --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 983edb0203f3e6..6c96da8afdf3c0 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -12,7 +12,7 @@ jobs: stale: runs-on: ubuntu-slim steps: - - uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1 + - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0 with: # Don't stale issues days-before-issue-stale: -1 From d0ff22f7e1582c09e7e3545bb18b52612b28e4ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 17:47:42 +0800 Subject: [PATCH 045/259] chore(deps-dev): bump @cloudflare/workers-types (#21169) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260214.0 to 4.20260217.0. - [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: 4.20260217.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8904e1fd6e75ea..cbcadb21f0f47d 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260214.0", + "@cloudflare/workers-types": "4.20260217.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "9.39.2", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 955e59469597a9..9d6067e4b8ed61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260214.0 - version: 4.20260214.0 + specifier: 4.20260217.0 + version: 4.20260217.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.65.0(@cloudflare/workers-types@4.20260217.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -611,8 +611,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260214.0': - resolution: {integrity: sha512-qb8rgbAdJR4BAPXolXhFL/wuGtecHLh1veOyZ1mK6QqWuCdI3vK1biKC0i3lzmzdLR/DZvsN3mNtpUE8zpWGEg==} + '@cloudflare/workers-types@4.20260217.0': + resolution: {integrity: sha512-R5s8h/zj91g6HSB/qndpXGS5Xc8t8Ik3BwY6qwe7XXV6r3Gey1gdthFSK4A2IrPQEmTsc7wEXbs9KpBLNttlqg==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -5956,7 +5956,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260212.0': optional: true - '@cloudflare/workers-types@4.20260214.0': {} + '@cloudflare/workers-types@4.20260217.0': {} '@colors/colors@1.6.0': {} @@ -11246,7 +11246,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260212.0 '@cloudflare/workerd-windows-64': 1.20260212.0 - wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.65.0(@cloudflare/workers-types@4.20260217.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) @@ -11257,7 +11257,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260212.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260214.0 + '@cloudflare/workers-types': 4.20260217.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From b208121dfbd008029dc7d6ee924440e8bba8128b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 18:08:50 +0800 Subject: [PATCH 046/259] chore(deps-dev): bump oxfmt from 0.32.0 to 0.33.0 (#21170) Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.32.0 to 0.33.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.33.0/npm/oxfmt) --- updated-dependencies: - dependency-name: oxfmt dependency-version: 0.33.0 dependency-type: direct:development 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 | 162 ++++++++++++++++++++++++------------------------- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index cbcadb21f0f47d..27c0abd7d9f5ff 100644 --- a/package.json +++ b/package.json @@ -189,7 +189,7 @@ "mockdate": "3.0.5", "msw": "2.4.3", "node-network-devtools": "1.0.29", - "oxfmt": "0.32.0", + "oxfmt": "0.33.0", "remark-parse": "11.0.0", "supertest": "7.2.2", "tsdown": "0.20.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d6067e4b8ed61..0e6e442181acda 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -426,8 +426,8 @@ importers: specifier: 1.0.29 version: 1.0.29(undici@7.22.0)(utf-8-validate@5.0.10) oxfmt: - specifier: 0.32.0 - version: 0.32.0 + specifier: 0.33.0 + version: 0.33.0 remark-parse: specifier: 11.0.0 version: 11.0.0 @@ -1509,124 +1509,124 @@ packages: '@oxc-project/types@0.112.0': resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==} - '@oxfmt/binding-android-arm-eabi@0.32.0': - resolution: {integrity: sha512-DpVyuVzgLH6/MvuB/YD3vXO9CN/o9EdRpA0zXwe/tagP6yfVSFkFWkPqTROdqp0mlzLH5Yl+/m+hOrcM601EbA==} + '@oxfmt/binding-android-arm-eabi@0.33.0': + resolution: {integrity: sha512-ML6qRW8/HiBANteqfyFAR1Zu0VrJu+6o4gkPLsssq74hQ7wDMkufBYJXI16PGSERxEYNwKxO5fesCuMssgTv9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.32.0': - resolution: {integrity: sha512-w1cmNXf9zs0vKLuNgyUF3hZ9VUAS1hBmQGndYJv1OmcVqStBtRTRNxSWkWM0TMkrA9UbvIvM9gfN+ib4Wy6lkQ==} + '@oxfmt/binding-android-arm64@0.33.0': + resolution: {integrity: sha512-WimmcyrGpTOntj7F7CO9RMssncOKYall93nBnzJbI2ZZDhVRuCkvFwTpwz80cZqwYm5udXRXfF40ZXcCxjp9jg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.32.0': - resolution: {integrity: sha512-m6wQojz/hn94XdZugFPtdFbOvXbOSYEqPsR2gyLyID3BvcrC2QsJyT1o3gb4BZEGtZrG1NiKVGwDRLM0dHd2mg==} + '@oxfmt/binding-darwin-arm64@0.33.0': + resolution: {integrity: sha512-PorspsX9O5ISstVaq34OK4esN0LVcuU4DVg+XuSqJsfJ//gn6z6WH2Tt7s0rTQaqEcp76g7+QdWQOmnJDZsEVg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.32.0': - resolution: {integrity: sha512-hN966Uh6r3Erkg2MvRcrJWaB6QpBzP15rxWK/QtkUyD47eItJLsAQ2Hrm88zMIpFZ3COXZLuN3hqgSlUtvB0Xw==} + '@oxfmt/binding-darwin-x64@0.33.0': + resolution: {integrity: sha512-8278bqQtOcHRPhhzcqwN9KIideut+cftBjF8d2TOsSQrlsJSFx41wCCJ38mFmH9NOmU1M+x9jpeobHnbRP1okw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.32.0': - resolution: {integrity: sha512-g5UZPGt8tJj263OfSiDGdS54HPa0KgFfspLVAUivVSdoOgsk6DkwVS9nO16xQTDztzBPGxTvrby8WuufF0g86Q==} + '@oxfmt/binding-freebsd-x64@0.33.0': + resolution: {integrity: sha512-BiqYVwWFHLf5dkfg0aCKsXa9rpi//vH1+xePCpd7Ulz9yp9pJKP4DWgS5g+OW8MaqOtt7iyAszhxtk/j1nDKHQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': - resolution: {integrity: sha512-F4ZY83/PVQo9ZJhtzoMqbmjqEyTVEZjbaw4x1RhzdfUhddB41ZB2Vrt4eZi7b4a4TP85gjPRHgQBeO0c1jbtaw==} + '@oxfmt/binding-linux-arm-gnueabihf@0.33.0': + resolution: {integrity: sha512-oAVmmurXx0OKbNOVv71oK92LsF1LwYWpnhDnX0VaAy/NLsCKf4B7Zo7lxkJh80nfhU20TibcdwYfoHVaqlStPQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.32.0': - resolution: {integrity: sha512-olR37eG16Lzdj9OBSvuoT5RxzgM5xfQEHm1OEjB3M7Wm4KWa5TDWIT13Aiy74GvAN77Hq1+kUKcGVJ/0ynf75g==} + '@oxfmt/binding-linux-arm-musleabihf@0.33.0': + resolution: {integrity: sha512-YB6S8CiRol59oRxnuclJiWoV6l+l8ru/NsuQNYjXZnnPXfSTXKtMLWHCnL/figpCFYA1E7JyjrBbar1qxe2aZg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.32.0': - resolution: {integrity: sha512-eZhk6AIjRCDeLoXYBhMW7qq/R1YyVi+tGnGfc3kp7AZQrMsFaWtP/bgdCJCTNXMpbMwymtVz0qhSQvR5w2sKcg==} + '@oxfmt/binding-linux-arm64-gnu@0.33.0': + resolution: {integrity: sha512-hrYy+FpWoB6N24E9oGRimhVkqlls9yeqcRmQakEPUHoAbij6rYxsHHYIp3+FHRiQZFAOUxWKn/CCQoy/Mv3Dgw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.32.0': - resolution: {integrity: sha512-UYiqO9MlipntFbdbUKOIo84vuyzrK4TVIs7Etat91WNMFSW54F6OnHq08xa5ZM+K9+cyYMgQPXvYCopuP+LyKw==} + '@oxfmt/binding-linux-arm64-musl@0.33.0': + resolution: {integrity: sha512-O1YIzymGRdWj9cG5iVTjkP7zk9/hSaVN8ZEbqMnWZjLC1phXlv54cUvANGGXndgJp2JS4W9XENn7eo5I4jZueg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.32.0': - resolution: {integrity: sha512-IDH/fxMv+HmKsMtsjEbXqhScCKDIYp38sgGEcn0QKeXMxrda67PPZA7HMfoUwEtFUG+jsO1XJxTrQsL+kQ90xQ==} + '@oxfmt/binding-linux-ppc64-gnu@0.33.0': + resolution: {integrity: sha512-2lrkNe+B0w1tCgQTaozfUNQCYMbqKKCGcnTDATmWCZzO77W2sh+3n04r1lk9Q1CK3bI+C3fPwhFPUR2X2BvlyQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.32.0': - resolution: {integrity: sha512-bQFGPDa0buYWJFeK2I7ah8wRZjrAgamaG2OAGv+Ua5UMYEnHxmHcv+r8lWUUrwP2oqQGvp1SB8JIVtBbYuAueQ==} + '@oxfmt/binding-linux-riscv64-gnu@0.33.0': + resolution: {integrity: sha512-8DSG1q0M6097vowHAkEyHnKed75/BWr1IBtgCJfytnWQg+Jn1X4DryhfjqonKZOZiv74oFQl5J8TCbdDuXXdtQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.32.0': - resolution: {integrity: sha512-3vFp9DW1ItEKWltADzCFqG5N7rYFToT4ztlhg8wALoo2E2VhveLD88uAF4FF9AxD9NhgHDGmPCV+WZl/Qlj8cQ==} + '@oxfmt/binding-linux-riscv64-musl@0.33.0': + resolution: {integrity: sha512-eWaxnpPz7+p0QGUnw7GGviVBDOXabr6Cd0w7S/vnWTqQo9z1VroT7XXFnJEZ3dBwxMB9lphyuuYi/GLTCxqxlg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.32.0': - resolution: {integrity: sha512-Fub2y8S9ImuPzAzpbgkoz/EVTWFFBolxFZYCMRhRZc8cJZI2gl/NlZswqhvJd/U0Jopnwgm/OJ2x128vVzFFWA==} + '@oxfmt/binding-linux-s390x-gnu@0.33.0': + resolution: {integrity: sha512-+mH8cQTqq+Tu2CdoB2/Wmk9CqotXResi+gPvXpb+AAUt/LiwpicTQqSolMheQKogkDTYHPuUiSN23QYmy7IXNQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.32.0': - resolution: {integrity: sha512-XufwsnV3BF81zO2ofZvhT4FFaMmLTzZEZnC9HpFz/quPeg9C948+kbLlZnsfjmp+1dUxKMCpfmRMqOfF4AOLsA==} + '@oxfmt/binding-linux-x64-gnu@0.33.0': + resolution: {integrity: sha512-fjyslAYAPE2+B6Ckrs5LuDQ6lB1re5MumPnzefAXsen3JGwiRilra6XdjUmszTNoExJKbewoxxd6bcLSTpkAJQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.32.0': - resolution: {integrity: sha512-u2f9tC2qYfikKmA2uGpnEJgManwmk0ZXWs5BB4ga4KDu2JNLdA3i634DGHeMLK9wY9+iRf3t7IYpgN3OVFrvDw==} + '@oxfmt/binding-linux-x64-musl@0.33.0': + resolution: {integrity: sha512-ve/jGBlTt35Jl/I0A0SfCQX3wKnadzPDdyOFEwe2ZgHHIT9uhqhAv1PaVXTenSBpauICEWYH8mWy+ittzlVE/A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.32.0': - resolution: {integrity: sha512-5ZXb1wrdbZ1YFXuNXNUCePLlmLDy4sUt4evvzD4Cgumbup5wJgS9PIe5BOaLywUg9f1wTH6lwltj3oT7dFpIGA==} + '@oxfmt/binding-openharmony-arm64@0.33.0': + resolution: {integrity: sha512-lsWRgY9e+uPvwXnuDiJkmJ2Zs3XwwaQkaALJ3/SXU9kjZP0Qh8/tGW8Tk/Z6WL32sDxx+aOK5HuU7qFY9dHJhg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.32.0': - resolution: {integrity: sha512-IGSMm/Agq+IA0++aeAV/AGPfjcBdjrsajB5YpM3j7cMcwoYgUTi/k2YwAmsHH3ueZUE98pSM/Ise2J7HtyRjOA==} + '@oxfmt/binding-win32-arm64-msvc@0.33.0': + resolution: {integrity: sha512-w8AQHyGDRZutxtQ7IURdBEddwFrtHQiG6+yIFpNJ4HiMyYEqeAWzwBQBfwSAxtSNh6Y9qqbbc1OM2mHN6AB3Uw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.32.0': - resolution: {integrity: sha512-H/9gsuqXmceWMsVoCPZhtJG2jLbnBeKr7xAXm2zuKpxLVF7/2n0eh7ocOLB6t+L1ARE76iORuUsRMnuGjj8FjQ==} + '@oxfmt/binding-win32-ia32-msvc@0.33.0': + resolution: {integrity: sha512-j2X4iumKVwDzQtUx3JBDkaydx6eLuncgUZPl2ybZ8llxJMFbZIniws70FzUQePMfMtzLozIm7vo4bjkvQFsOzw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.32.0': - resolution: {integrity: sha512-fF8VIOeligq+mA6KfKvWtFRXbf0EFy73TdR6ZnNejdJRM8VWN1e3QFhYgIwD7O8jBrQsd7EJbUpkAr/YlUOokg==} + '@oxfmt/binding-win32-x64-msvc@0.33.0': + resolution: {integrity: sha512-lsBQxbepASwOBUh3chcKAjU+jVAQhLElbPYiagIq26cU8vA9Bttj6t20bMvCQCw31m440IRlNhrK7NpnUI8mzA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4482,8 +4482,8 @@ packages: resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} engines: {node: '>=12'} - oxfmt@0.32.0: - resolution: {integrity: sha512-KArQhGzt/Y8M1eSAX98Y8DLtGYYDQhkR55THUPY5VNcpFQ+9nRZkL3ULXhagHMD2hIvjy8JSeEQEP5/yYJSrLA==} + oxfmt@0.33.0: + resolution: {integrity: sha512-ogxBXA9R4BFeo8F1HeMIIxHr5kGnQwKTYZ5k131AEGOq1zLxInNhvYSpyRQ+xIXVMYfCN7yZHKff/lb5lp4auQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6809,61 +6809,61 @@ snapshots: '@oxc-project/types@0.112.0': {} - '@oxfmt/binding-android-arm-eabi@0.32.0': + '@oxfmt/binding-android-arm-eabi@0.33.0': optional: true - '@oxfmt/binding-android-arm64@0.32.0': + '@oxfmt/binding-android-arm64@0.33.0': optional: true - '@oxfmt/binding-darwin-arm64@0.32.0': + '@oxfmt/binding-darwin-arm64@0.33.0': optional: true - '@oxfmt/binding-darwin-x64@0.32.0': + '@oxfmt/binding-darwin-x64@0.33.0': optional: true - '@oxfmt/binding-freebsd-x64@0.32.0': + '@oxfmt/binding-freebsd-x64@0.33.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.32.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.33.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.32.0': + '@oxfmt/binding-linux-arm-musleabihf@0.33.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.32.0': + '@oxfmt/binding-linux-arm64-gnu@0.33.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.32.0': + '@oxfmt/binding-linux-arm64-musl@0.33.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.32.0': + '@oxfmt/binding-linux-ppc64-gnu@0.33.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.32.0': + '@oxfmt/binding-linux-riscv64-gnu@0.33.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.32.0': + '@oxfmt/binding-linux-riscv64-musl@0.33.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.32.0': + '@oxfmt/binding-linux-s390x-gnu@0.33.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.32.0': + '@oxfmt/binding-linux-x64-gnu@0.33.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.32.0': + '@oxfmt/binding-linux-x64-musl@0.33.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.32.0': + '@oxfmt/binding-openharmony-arm64@0.33.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.32.0': + '@oxfmt/binding-win32-arm64-msvc@0.33.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.32.0': + '@oxfmt/binding-win32-ia32-msvc@0.33.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.32.0': + '@oxfmt/binding-win32-x64-msvc@0.33.0': optional: true '@paralleldrive/cuid2@2.3.1': @@ -9916,29 +9916,29 @@ snapshots: lodash.isequal: 4.5.0 vali-date: 1.0.0 - oxfmt@0.32.0: + oxfmt@0.33.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.32.0 - '@oxfmt/binding-android-arm64': 0.32.0 - '@oxfmt/binding-darwin-arm64': 0.32.0 - '@oxfmt/binding-darwin-x64': 0.32.0 - '@oxfmt/binding-freebsd-x64': 0.32.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.32.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.32.0 - '@oxfmt/binding-linux-arm64-gnu': 0.32.0 - '@oxfmt/binding-linux-arm64-musl': 0.32.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.32.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.32.0 - '@oxfmt/binding-linux-riscv64-musl': 0.32.0 - '@oxfmt/binding-linux-s390x-gnu': 0.32.0 - '@oxfmt/binding-linux-x64-gnu': 0.32.0 - '@oxfmt/binding-linux-x64-musl': 0.32.0 - '@oxfmt/binding-openharmony-arm64': 0.32.0 - '@oxfmt/binding-win32-arm64-msvc': 0.32.0 - '@oxfmt/binding-win32-ia32-msvc': 0.32.0 - '@oxfmt/binding-win32-x64-msvc': 0.32.0 + '@oxfmt/binding-android-arm-eabi': 0.33.0 + '@oxfmt/binding-android-arm64': 0.33.0 + '@oxfmt/binding-darwin-arm64': 0.33.0 + '@oxfmt/binding-darwin-x64': 0.33.0 + '@oxfmt/binding-freebsd-x64': 0.33.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.33.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.33.0 + '@oxfmt/binding-linux-arm64-gnu': 0.33.0 + '@oxfmt/binding-linux-arm64-musl': 0.33.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.33.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.33.0 + '@oxfmt/binding-linux-riscv64-musl': 0.33.0 + '@oxfmt/binding-linux-s390x-gnu': 0.33.0 + '@oxfmt/binding-linux-x64-gnu': 0.33.0 + '@oxfmt/binding-linux-x64-musl': 0.33.0 + '@oxfmt/binding-openharmony-arm64': 0.33.0 + '@oxfmt/binding-win32-arm64-msvc': 0.33.0 + '@oxfmt/binding-win32-ia32-msvc': 0.33.0 + '@oxfmt/binding-win32-x64-msvc': 0.33.0 p-cancelable@4.0.1: {} From f408e6ead3ae7330fb798a0a90708e8babfa5eba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 18:12:06 +0800 Subject: [PATCH 047/259] chore(deps): bump @sentry/node from 10.38.0 to 10.39.0 (#21168) Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 10.38.0 to 10.39.0. - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/10.38.0...10.39.0) --- updated-dependencies: - dependency-name: "@sentry/node" dependency-version: 10.39.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 | 68 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 47 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 27c0abd7d9f5ff..91a9bc506dd409 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", "@scalar/hono-api-reference": "0.9.41", - "@sentry/node": "10.38.0", + "@sentry/node": "10.39.0", "aes-js": "3.1.2", "cheerio": "1.2.0", "city-timezones": "1.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e6e442181acda..0f20e704520110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,8 +77,8 @@ importers: specifier: 0.9.41 version: 0.9.41(hono@4.11.9) '@sentry/node': - specifier: 10.38.0 - version: 10.38.0 + specifier: 10.39.0 + version: 10.39.0 aes-js: specifier: 3.1.2 version: 3.1.2 @@ -1985,12 +1985,12 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry/core@10.38.0': - resolution: {integrity: sha512-1pubWDZE5y5HZEPMAZERP4fVl2NH3Ihp1A+vMoVkb3Qc66Diqj1WierAnStlZP7tCx0TBa0dK85GTW/ZFYyB9g==} + '@sentry/core@10.39.0': + resolution: {integrity: sha512-xCLip2mBwCdRrvXHtVEULX0NffUTYZZBhEUGht0WFL+GNdNQ7gmBOGOczhZlrf2hgFFtDO0fs1xiP9bqq5orEQ==} engines: {node: '>=18'} - '@sentry/node-core@10.38.0': - resolution: {integrity: sha512-ErXtpedrY1HghgwM6AliilZPcUCoNNP1NThdO4YpeMq04wMX9/GMmFCu46TnCcg6b7IFIOSr2S4yD086PxLlHQ==} + '@sentry/node-core@10.39.0': + resolution: {integrity: sha512-xdeBG00TmtAcGvXnZNbqOCvnZ5kY3s5aT/L8wUQ0w0TT2KmrC9XL/7UHUfJ45TLbjl10kZOtaMQXgUjpwSJW+g==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -2000,13 +2000,28 @@ packages: '@opentelemetry/resources': ^1.30.1 || ^2.1.0 '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 '@opentelemetry/semantic-conventions': ^1.39.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@opentelemetry/context-async-hooks': + optional: true + '@opentelemetry/core': + optional: true + '@opentelemetry/instrumentation': + optional: true + '@opentelemetry/resources': + optional: true + '@opentelemetry/sdk-trace-base': + optional: true + '@opentelemetry/semantic-conventions': + optional: true - '@sentry/node@10.38.0': - resolution: {integrity: sha512-wriyDtWDAoatn8EhOj0U4PJR1WufiijTsCGALqakOHbFiadtBJANLe6aSkXoXT4tegw59cz1wY4NlzHjYksaPw==} + '@sentry/node@10.39.0': + resolution: {integrity: sha512-dx66DtU/xkCTPEDsjU+mYSIEbzu06pzKNQcDA2wvx7wvwsUciZ5yA32Ce/o6p2uHHgy0/joJX9rP5J/BIijaOA==} engines: {node: '>=18'} - '@sentry/opentelemetry@10.38.0': - resolution: {integrity: sha512-YPVhWfYmC7nD3EJqEHGtjp4fp5LwtAbE5rt9egQ4hqJlYFvr8YEz9sdoqSZxO0cZzgs2v97HFl/nmWAXe52G2Q==} + '@sentry/opentelemetry@10.39.0': + resolution: {integrity: sha512-eU8t/pyxjy7xYt6PNCVxT+8SJw5E3pnupdcUNN4ClqG4O5lX4QCDLtId48ki7i30VqrLtR7vmCHMSvqXXdvXPA==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -4257,6 +4272,10 @@ packages: resolution: {integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==} engines: {node: 20 || >=22} + minimatch@10.2.1: + resolution: {integrity: sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -7156,11 +7175,15 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry/core@10.38.0': {} + '@sentry/core@10.39.0': {} - '@sentry/node-core@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/node-core@10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@apm-js-collab/tracing-hooks': 0.3.1 + '@sentry/core': 10.39.0 + '@sentry/opentelemetry': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + import-in-the-middle: 2.0.6 + optionalDependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) @@ -7168,13 +7191,10 @@ snapshots: '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - '@sentry/core': 10.38.0 - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - import-in-the-middle: 2.0.6 transitivePeerDependencies: - supports-color - '@sentry/node@10.38.0': + '@sentry/node@10.39.0': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) @@ -7206,22 +7226,22 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) - '@sentry/core': 10.38.0 - '@sentry/node-core': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - '@sentry/opentelemetry': 10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/core': 10.39.0 + '@sentry/node-core': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 minimatch: 9.0.5 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@10.38.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/opentelemetry@10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - '@sentry/core': 10.38.0 + '@sentry/core': 10.39.0 '@sindresorhus/is@4.6.0': {} @@ -8835,7 +8855,7 @@ snapshots: glob@13.0.3: dependencies: - minimatch: 10.2.0 + minimatch: 10.2.1 minipass: 7.1.2 path-scurry: 2.0.1 @@ -9698,6 +9718,10 @@ snapshots: dependencies: brace-expansion: 5.0.2 + minimatch@10.2.1: + dependencies: + brace-expansion: 5.0.2 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 From 4b761522f2f00c098d1324a5b01a7ee98aa1b91d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 18:12:57 +0800 Subject: [PATCH 048/259] chore(deps-dev): bump the typescript-eslint group with 2 updates (#21166) Bumps the typescript-eslint group with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@typescript-eslint/eslint-plugin` from 8.55.0 to 8.56.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.55.0 to 8.56.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.56.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: typescript-eslint - dependency-name: "@typescript-eslint/parser" dependency-version: 8.56.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: typescript-eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 134 ++++++++++++++++++++++++++----------------------- 2 files changed, 72 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index 91a9bc506dd409..f0504fba4d307b 100644 --- a/package.json +++ b/package.json @@ -166,8 +166,8 @@ "@types/node": "25.2.3", "@types/sanitize-html": "2.16.0", "@types/supertest": "6.0.3", - "@typescript-eslint/eslint-plugin": "8.55.0", - "@typescript-eslint/parser": "8.55.0", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", "@vercel/nft": "1.3.1", "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.39", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f20e704520110..d8790eedb40543 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -357,11 +357,11 @@ importers: specifier: 6.0.3 version: 6.0.3 '@typescript-eslint/eslint-plugin': - specifier: 8.55.0 - version: 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.55.0 - version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 version: 1.3.1(rollup@4.57.1) @@ -382,7 +382,7 @@ importers: version: 9.1.1(@types/node@25.2.3)(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 version: 17.24.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) @@ -2215,63 +2215,67 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.55.0': - resolution: {integrity: sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==} + '@typescript-eslint/eslint-plugin@8.56.0': + resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.55.0 - eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/parser': ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.55.0': - resolution: {integrity: sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==} + '@typescript-eslint/parser@8.56.0': + resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.55.0': - resolution: {integrity: sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==} + '@typescript-eslint/project-service@8.56.0': + resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.55.0': - resolution: {integrity: sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==} + '@typescript-eslint/scope-manager@8.56.0': + resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.55.0': - resolution: {integrity: sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==} + '@typescript-eslint/tsconfig-utils@8.56.0': + resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.55.0': - resolution: {integrity: sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==} + '@typescript-eslint/type-utils@8.56.0': + resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/types@8.55.0': resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.55.0': - resolution: {integrity: sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==} + '@typescript-eslint/types@8.56.0': + resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.56.0': + resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.55.0': - resolution: {integrity: sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==} + '@typescript-eslint/utils@8.56.0': + resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.55.0': - resolution: {integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==} + '@typescript-eslint/visitor-keys@8.56.0': + resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -7443,14 +7447,14 @@ snapshots: '@types/node': 25.2.3 optional: true - '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 eslint: 9.39.2(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -7459,41 +7463,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.55.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3) - '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.55.0': + '@typescript-eslint/scope-manager@8.56.0': dependencies: - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 - '@typescript-eslint/tsconfig-utils@8.55.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 eslint: 9.39.2(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7503,12 +7507,14 @@ snapshots: '@typescript-eslint/types@8.55.0': {} - '@typescript-eslint/typescript-estree@8.55.0(typescript@5.9.3)': + '@typescript-eslint/types@8.56.0': {} + + '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.55.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.9.3) - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 minimatch: 9.0.5 semver: 7.7.4 @@ -7518,21 +7524,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.55.0': + '@typescript-eslint/visitor-keys@8.56.0': dependencies: - '@typescript-eslint/types': 8.55.0 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.56.0 + eslint-visitor-keys: 5.0.0 '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -8461,7 +8467,7 @@ snapshots: eslint: 9.39.2(jiti@2.6.1) eslint-compat-utils: 0.5.1(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.55.0 comment-parser: 1.4.5 @@ -8474,7 +8480,7 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color From 7ea5659149504fcced3f04013fddb1b9e93003e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 17:47:40 +0800 Subject: [PATCH 049/259] chore(deps-dev): bump @cloudflare/workers-types (#21173) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260217.0 to 4.20260218.0. - [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: 4.20260218.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index f0504fba4d307b..99d9912564a3a6 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260217.0", + "@cloudflare/workers-types": "4.20260218.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "9.39.2", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8790eedb40543..9a644b0c7838e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260217.0 - version: 4.20260217.0 + specifier: 4.20260218.0 + version: 4.20260218.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260217.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.65.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -611,8 +611,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260217.0': - resolution: {integrity: sha512-R5s8h/zj91g6HSB/qndpXGS5Xc8t8Ik3BwY6qwe7XXV6r3Gey1gdthFSK4A2IrPQEmTsc7wEXbs9KpBLNttlqg==} + '@cloudflare/workers-types@4.20260218.0': + resolution: {integrity: sha512-E28uJNJb9J9pca3RaxjXm1JxAjp8td9/cudkY+IT8rio71NlshN7NKMe2Cr/6GN+RufbSnp+N3ZKP74xgUaL0A==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -5979,7 +5979,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260212.0': optional: true - '@cloudflare/workers-types@4.20260217.0': {} + '@cloudflare/workers-types@4.20260218.0': {} '@colors/colors@1.6.0': {} @@ -11276,7 +11276,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260212.0 '@cloudflare/workerd-windows-64': 1.20260212.0 - wrangler@4.65.0(@cloudflare/workers-types@4.20260217.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.65.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) @@ -11287,7 +11287,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260212.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260217.0 + '@cloudflare/workers-types': 4.20260218.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 9ca8436b282e551eeeb52a08b55074494ebdc8b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 18:34:12 +0800 Subject: [PATCH 050/259] chore(deps-dev): bump wrangler from 4.65.0 to 4.66.0 (#21171) Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.65.0 to 4.66.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.66.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.66.0 dependency-type: direct:development 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 | 82 +++++++++++++++++++++++++------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 99d9912564a3a6..bfb487ad4d708c 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.65.0", + "wrangler": "4.66.0", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a644b0c7838e4..e108869ba5b7f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -450,8 +450,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + specifier: 4.66.0 + version: 4.66.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -572,41 +572,41 @@ packages: resolution: {integrity: sha512-e/0s9Ac2IhyBrgnyTDrYEippqrXqKtllP8qezyunOb6icOJ2FzbfQwhWRIVwV3AgZtutQTF5Kb/gFAGXCuGRqQ==} engines: {node: '>=18'} - '@cloudflare/unenv-preset@2.12.1': - resolution: {integrity: sha512-tP/Wi+40aBJovonSNJSsS7aFJY0xjuckKplmzDs2Xat06BJ68B6iG7YDUWXJL8gNn0gqW7YC5WhlYhO3QbugQA==} + '@cloudflare/unenv-preset@2.13.0': + resolution: {integrity: sha512-bT2rnecesLjDBHgouMEPW9EQ7iLE8OG58srMuCEpAGp75xabi6j124SdS8XZ+dzB3sYBW4iQvVeCTCbAnMMVtA==} peerDependencies: unenv: 2.0.0-rc.24 - workerd: ^1.20260115.0 + workerd: ^1.20260213.0 peerDependenciesMeta: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20260212.0': - resolution: {integrity: sha512-kLxuYutk88Wlo7edp8mlkN68TgZZ9237SUnuX9kNaD5jcOdblUqiBctMRZeRcPsuoX/3g2t0vS4ga02NBEVRNg==} + '@cloudflare/workerd-darwin-64@1.20260217.0': + resolution: {integrity: sha512-t1KRT0j4gwLntixMoNujv/UaS89Q7+MPRhkklaSup5tNhl3zBZOIlasBUSir69eXetqLZu8sypx3i7zE395XXA==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260212.0': - resolution: {integrity: sha512-fqoqQWMA1D0ZzDOD8sp0allREM2M8GHdpxMXQ8EdZpZ70z5bJbJ9Vr4qe35++FNIZJspsDHfTw3Xm/M4ELm/dQ==} + '@cloudflare/workerd-darwin-arm64@1.20260217.0': + resolution: {integrity: sha512-9pEZ15BmELt0Opy79LTxUvbo55QAI4GnsnsvmgBxaQlc4P0dC8iycBGxbOpegkXnRx/LFj51l2zunfTo0EdATg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260212.0': - resolution: {integrity: sha512-bCSQoZzDzV5MSh4ueWo1DgmOn4Hf3QBu4Yo3eQFXA2llYFIu/sZgRtkEehw1X2/SY5Sn6O0EMCqxJYRf82Wdeg==} + '@cloudflare/workerd-linux-64@1.20260217.0': + resolution: {integrity: sha512-IrZfxQ4b/4/RDQCJsyoxKrCR+cEqKl81yZOirMOKoRrDOmTjn4evYXaHoLBh2PjUKY1Imly7ZiC6G1p0xNIOwg==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260212.0': - resolution: {integrity: sha512-GPvp1iiKQodtbUDi6OmR5I0vD75lawB54tdYGtmypuHC7ZOI2WhBmhb3wCxgnQNOG1z7mhCQrzRCoqrKwYbVWQ==} + '@cloudflare/workerd-linux-arm64@1.20260217.0': + resolution: {integrity: sha512-RGU1wq69ym4sFBVWhQeddZrRrG0hJM/SlZ5DwVDga/zBJ3WXxcDsFAgg1dToDfildTde5ySXN7jAasSmWko9rg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260212.0': - resolution: {integrity: sha512-wHRI218Xn4ndgWJCUHH4Zx0YlU5q/o6OmcxXkcw95tJOsQn4lDrhppioPh4eScxJZALf2X+ODeZcyQTCq5exGw==} + '@cloudflare/workerd-windows-64@1.20260217.0': + resolution: {integrity: sha512-4T65u1321z1Zet9n7liQsSW7g3EXM5SWIT7kJ/uqkEtkPnIzZBIowMQgkvL5W9SpGZks9t3mTQj7hiUia8Gq9Q==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4267,8 +4267,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - miniflare@4.20260212.0: - resolution: {integrity: sha512-Lgxq83EuR2q/0/DAVOSGXhXS1V7GDB04HVggoPsenQng8sqEDR3hO4FigIw5ZI2Sv2X7kIc30NCzGHJlCFIYWg==} + miniflare@4.20260217.0: + resolution: {integrity: sha512-t2v02Vi9SUiiXoHoxLvsntli7N35e/35PuRAYEqHWtHOdDX3bqQ73dBQ0tI12/8ThCb2by2tVs7qOvgwn6xSBQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -5646,17 +5646,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260212.0: - resolution: {integrity: sha512-4B9BoZUzKSRv3pVZGEPh7OX+Q817hpUqAUtz5O0TxJVqo4OsYJAUA/sY177Q5ha/twjT9KaJt2DtQzE+oyCOzw==} + workerd@1.20260217.0: + resolution: {integrity: sha512-6jVisS6wB6KbF+F9DVoDUy9p7MON8qZCFSaL8OcDUioMwknsUPFojUISu3/c30ZOZ24D4h7oqaahFc5C6huilw==} engines: {node: '>=16'} hasBin: true - wrangler@4.65.0: - resolution: {integrity: sha512-R+n3o3tlGzLK9I4fGocPReOuvcnjhtOL2aCVKkHMeuEwt9pPbOO4FxJtx/ec5cIUG/otRyJnfQGCAr9DplBVng==} + wrangler@4.66.0: + resolution: {integrity: sha512-b9RVIdKai0BXDuYg0iN0zwVnVbULkvdKGP7Bf1uFY2GhJ/nzDGqgwQbCwgDIOhmaBC8ynhk/p22M2jc8tJy+dQ==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260212.0 + '@cloudflare/workers-types': ^4.20260217.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -5958,25 +5958,25 @@ snapshots: - supports-color - utf-8-validate - '@cloudflare/unenv-preset@2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0)': + '@cloudflare/unenv-preset@2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260212.0 + workerd: 1.20260217.0 - '@cloudflare/workerd-darwin-64@1.20260212.0': + '@cloudflare/workerd-darwin-64@1.20260217.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260212.0': + '@cloudflare/workerd-darwin-arm64@1.20260217.0': optional: true - '@cloudflare/workerd-linux-64@1.20260212.0': + '@cloudflare/workerd-linux-64@1.20260217.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260212.0': + '@cloudflare/workerd-linux-arm64@1.20260217.0': optional: true - '@cloudflare/workerd-windows-64@1.20260212.0': + '@cloudflare/workerd-windows-64@1.20260217.0': optional: true '@cloudflare/workers-types@4.20260218.0': {} @@ -9708,12 +9708,12 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260212.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): + miniflare@4.20260217.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260212.0 + workerd: 1.20260217.0 ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -11268,24 +11268,24 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260212.0: + workerd@1.20260217.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260212.0 - '@cloudflare/workerd-darwin-arm64': 1.20260212.0 - '@cloudflare/workerd-linux-64': 1.20260212.0 - '@cloudflare/workerd-linux-arm64': 1.20260212.0 - '@cloudflare/workerd-windows-64': 1.20260212.0 + '@cloudflare/workerd-darwin-64': 1.20260217.0 + '@cloudflare/workerd-darwin-arm64': 1.20260217.0 + '@cloudflare/workerd-linux-64': 1.20260217.0 + '@cloudflare/workerd-linux-arm64': 1.20260217.0 + '@cloudflare/workerd-windows-64': 1.20260217.0 - wrangler@4.65.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.66.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) + '@cloudflare/unenv-preset': 2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260212.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + miniflare: 4.20260217.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260212.0 + workerd: 1.20260217.0 optionalDependencies: '@cloudflare/workers-types': 4.20260218.0 fsevents: 2.3.3 From e5cdf64fbf0cc0d76f0ea75a33a6b6afadb20fee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 18:40:15 +0800 Subject: [PATCH 051/259] chore(deps): bump re2js from 1.2.1 to 1.2.2 (#21174) Bumps [re2js](https://github.com/le0pard/re2js) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/le0pard/re2js/releases) - [Commits](https://github.com/le0pard/re2js/compare/1.2.1...1.2.2) --- updated-dependencies: - dependency-name: re2js dependency-version: 1.2.2 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 bfb487ad4d708c..cb96f8cfcf003c 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "puppeteer-real-browser": "1.4.4", "query-string": "9.3.1", "rate-limiter-flexible": "9.1.1", - "re2js": "1.2.1", + "re2js": "1.2.2", "rebrowser-puppeteer": "24.8.1", "rfc4648": "1.5.4", "rss-parser": "3.13.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e108869ba5b7f2..8c53f847a81c43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -215,8 +215,8 @@ importers: specifier: 9.1.1 version: 9.1.1 re2js: - specifier: 1.2.1 - version: 1.2.1 + specifier: 1.2.2 + version: 1.2.2 rebrowser-puppeteer: specifier: 24.8.1 version: 24.8.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) @@ -4766,8 +4766,8 @@ packages: rate-limiter-flexible@9.1.1: resolution: {integrity: sha512-imxFjzPCmvDLMe7d2tsgiSQvs5EI2fI9SNymmslAfOqznZhsZ+PqbIjIYKpuSbd3pKovR1aMG47qfCLIO/adVg==} - re2js@1.2.1: - resolution: {integrity: sha512-pMQCWm/GsGambkqCl0l02SZUUd5yQ4u8D72K90TJWHMALuYg8BWCdcfXdXIvEQYGEM8K9QrxYAFtVgeQ+LZKFw==} + re2js@1.2.2: + resolution: {integrity: sha512-xvy4uuynAZWg9SuHbg0lgQncOuK6wssLmbHs8L8+YRbWLKY8Pe1avaHjNaFLOjErq8Oh0HvwQRWqIOCRL7uDDw==} readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -10273,7 +10273,7 @@ snapshots: rate-limiter-flexible@9.1.1: {} - re2js@1.2.1: {} + re2js@1.2.2: {} readable-stream@3.6.2: dependencies: From 0ead7a62aaad00bc900702c6f088d9f4f47bf8ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 18:58:14 +0800 Subject: [PATCH 052/259] chore(deps-dev): bump eslint-plugin-yml from 3.1.2 to 3.2.1 (#21172) Bumps [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) from 3.1.2 to 3.2.1. - [Release notes](https://github.com/ota-meshi/eslint-plugin-yml/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-yml/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-yml/compare/v3.1.2...v3.2.1) --- updated-dependencies: - dependency-name: eslint-plugin-yml dependency-version: 3.2.1 dependency-type: direct:development 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 | 315 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 311 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index cb96f8cfcf003c..4556460bbab40b 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", "eslint-plugin-unicorn": "63.0.0", - "eslint-plugin-yml": "3.1.2", + "eslint-plugin-yml": "3.2.1", "fs-extra": "11.3.3", "globals": "17.3.0", "got": "14.6.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c53f847a81c43..35f265d67fd13a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -393,8 +393,8 @@ importers: specifier: 63.0.0 version: 63.0.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-yml: - specifier: 3.1.2 - version: 3.1.2(eslint@9.39.2(jiti@2.6.1)) + specifier: 3.2.1 + version: 3.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -861,6 +861,10 @@ packages: resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/markdown@7.5.1': + resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.7': resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1488,6 +1492,13 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 + '@ota-meshi/ast-token-store@0.2.1': + resolution: {integrity: sha512-+8oB1wcOSWJCR6vAm2ioSLas7SoPwp+8tZ1Tcy8DSVEHMip6jxxlGu6EsRzJLAYVCyzKQ38B5pAqSbon1l1rmA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + '@eslint/markdown': ^7.4.0 + eslint: '>=9.0.0' + '@otplib/core@13.3.0': resolution: {integrity: sha512-pnQDOuCmFVeF/XnboJq9TOJgLoo2idNPJKMymOF8vGqJJ+ReKRYM9bUGjNPRWC0tHjMwu1TXbnzyBp494JgRag==} @@ -2725,6 +2736,9 @@ packages: caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -3294,8 +3308,8 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-plugin-yml@3.1.2: - resolution: {integrity: sha512-n9lxbFrNlGDLOSyIrEYkkYr7icbULMh66wwkIEluisq0lXSu1qVEEXM0g8MM8UQbtd9t1HMgN6bC+DaOe5dWdQ==} + eslint-plugin-yml@3.2.1: + resolution: {integrity: sha512-/oFj7MWk56AKLelLSUb7zN1OKDI9kR+uKEzbf/sGu7Bov0tJs3qwtMcu+VCcEtFAFD7KZe0LSYhyy0Uq8hKF9g==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -3416,6 +3430,9 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -3491,6 +3508,10 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -3555,6 +3576,9 @@ packages: ghost-cursor@1.4.2: resolution: {integrity: sha512-NPMuH05Ik9h99zrAb4fvAzhB4T6MqKwdPoI+Me0IJWN3676j4UoAsjKN/cJq5AG4zyZwAEPPggZXHVU0P57/5g==} + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -4087,6 +4111,9 @@ packages: long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4140,12 +4167,45 @@ packages: markdown-table@2.0.0: resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -4173,6 +4233,30 @@ packages: micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-factory-destination@2.0.1: resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} @@ -5414,9 +5498,18 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -5809,6 +5902,9 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@apm-js-collab/code-transformer@0.8.2': {} @@ -6156,6 +6252,20 @@ snapshots: '@eslint/js@9.39.2': {} + '@eslint/markdown@7.5.1': + dependencies: + '@eslint/core': 0.17.0 + '@eslint/plugin-kit': 0.4.1 + github-slugger: 2.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-frontmatter: 2.0.1 + mdast-util-gfm: 3.1.0 + micromark-extension-frontmatter: 2.0.0 + micromark-extension-gfm: 3.0.0 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + '@eslint/object-schema@2.1.7': {} '@eslint/plugin-kit@0.4.1': @@ -6803,6 +6913,11 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@ota-meshi/ast-token-store@0.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1))': + dependencies: + '@eslint/markdown': 7.5.1 + eslint: 9.39.2(jiti@2.6.1) + '@otplib/core@13.3.0': {} '@otplib/hotp@13.3.0': @@ -7940,6 +8055,8 @@ snapshots: caseless@0.12.0: {} + ccount@2.0.1: {} + chai@6.2.2: {} chalk@4.1.2: @@ -8523,10 +8640,11 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.1.2(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-yml@3.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 + '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)) debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 @@ -8534,6 +8652,7 @@ snapshots: natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 transitivePeerDependencies: + - '@eslint/markdown' - supports-color eslint-scope@8.4.0: @@ -8689,6 +8808,10 @@ snapshots: fast-safe-stringify@2.1.1: {} + fault@2.0.1: + dependencies: + format: 0.2.2 + fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -8764,6 +8887,8 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' mime-types: 2.1.35 + format@0.2.2: {} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 @@ -8846,6 +8971,8 @@ snapshots: transitivePeerDependencies: - supports-color + github-slugger@2.0.0: {} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -9450,6 +9577,8 @@ snapshots: long@5.3.2: {} + longest-streak@3.1.0: {} + lowercase-keys@3.0.0: {} lru-cache@10.4.3: {} @@ -9510,8 +9639,17 @@ snapshots: dependencies: repeat-string: 1.6.1 + markdown-table@3.0.4: {} + marky@1.3.0: {} + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 @@ -9529,6 +9667,91 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.4 @@ -9573,6 +9796,71 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + micromark-factory-destination@2.0.1: dependencies: micromark-util-character: 2.1.1 @@ -11033,10 +11321,25 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + universalify@0.2.0: {} universalify@2.0.1: {} @@ -11432,3 +11735,5 @@ snapshots: zod@3.25.76: {} zod@4.3.6: {} + + zwitch@2.0.4: {} From 24787cc7e91135305564816d05863052ae9e11a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 19:20:35 +0800 Subject: [PATCH 053/259] chore(deps-dev): bump the eslint group with 2 updates (#21092) Bumps the eslint group with 2 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/js` from 9.39.2 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/HEAD/packages/js) Updates `eslint` from 9.39.2 to 10.0.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.2...v10.0.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: eslint - dependency-name: eslint dependency-version: 10.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 247 ++++++++++++++++++++++++------------------------- 2 files changed, 125 insertions(+), 126 deletions(-) diff --git a/package.json b/package.json index 4556460bbab40b..bce3f0d2d5d1a3 100644 --- a/package.json +++ b/package.json @@ -147,7 +147,7 @@ "@cloudflare/puppeteer": "1.0.6", "@cloudflare/workers-types": "4.20260218.0", "@eslint/eslintrc": "3.3.3", - "@eslint/js": "9.39.2", + "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.8.0", "@types/aes-js": "3.1.4", "@types/babel__preset-env": "7.10.0", @@ -172,7 +172,7 @@ "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.39", "domhandler": "5.0.3", - "eslint": "9.39.2", + "eslint": "10.0.0", "eslint-nibble": "9.1.1", "eslint-plugin-import-x": "4.16.1", "eslint-plugin-n": "17.24.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35f265d67fd13a..9ccda737edceaf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -300,11 +300,11 @@ importers: specifier: 3.3.3 version: 3.3.3 '@eslint/js': - specifier: 9.39.2 - version: 9.39.2 + specifier: 10.0.1 + version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) '@stylistic/eslint-plugin': specifier: 5.8.0 - version: 5.8.0(eslint@9.39.2(jiti@2.6.1)) + version: 5.8.0(eslint@10.0.0(jiti@2.6.1)) '@types/aes-js': specifier: 3.1.4 version: 3.1.4 @@ -358,10 +358,10 @@ importers: version: 6.0.3 '@typescript-eslint/eslint-plugin': specifier: 8.56.0 - version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 8.56.0 - version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 version: 1.3.1(rollup@4.57.1) @@ -375,26 +375,26 @@ importers: specifier: 5.0.3 version: 5.0.3 eslint: - specifier: 9.39.2 - version: 9.39.2(jiti@2.6.1) + specifier: 10.0.0 + version: 10.0.0(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.2.3)(eslint@9.39.2(jiti@2.6.1)) + version: 9.1.1(@types/node@25.2.3)(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 - version: 17.24.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-simple-import-sort: specifier: 12.1.1 - version: 12.1.1(eslint@9.39.2(jiti@2.6.1)) + version: 12.1.1(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-unicorn: specifier: 63.0.0 - version: 63.0.0(eslint@9.39.2(jiti@2.6.1)) + version: 63.0.0(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-yml: specifier: 3.2.1 - version: 3.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)) + version: 3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -837,13 +837,13 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.1': - resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.23.1': + resolution: {integrity: sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.5.2': + resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@0.17.0': resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} @@ -857,17 +857,22 @@ packages: resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.39.2': - resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true '@eslint/markdown@7.5.1': resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@3.0.1': + resolution: {integrity: sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/plugin-kit@0.4.1': resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} @@ -1141,10 +1146,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/cliui@9.0.0': - resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} - engines: {node: '>=18'} - '@isaacs/fs-minipass@4.0.1': resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} @@ -2112,6 +2113,9 @@ packages: '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -2570,8 +2574,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.2: - resolution: {integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==} + balanced-match@4.0.3: + resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} engines: {node: 20 || >=22} bare-events@2.8.2: @@ -3314,9 +3318,9 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.0: + resolution: {integrity: sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -3330,9 +3334,9 @@ packages: resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.39.2: - resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@10.0.0: + resolution: {integrity: sha512-O0piBKY36YSJhlFSG8p9VUdPV/SxxS4FYDWVpr/9GJuMaepzwlf4J8I4ov1b+ySQfDTPhc3DtLaxcT1fN0yqCg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: jiti: '*' @@ -3348,6 +3352,10 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@11.1.0: + resolution: {integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -3939,10 +3947,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.2.3: - resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} - engines: {node: 20 || >=22} - jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -4094,9 +4098,6 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -6209,24 +6210,24 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.0(jiti@2.6.1))': dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.1': + '@eslint/config-array@0.23.1': dependencies: - '@eslint/object-schema': 2.1.7 + '@eslint/object-schema': 3.0.1 debug: 4.4.3 - minimatch: 3.1.2 + minimatch: 10.2.1 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.4.2': + '@eslint/config-helpers@0.5.2': dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.1.0 '@eslint/core@0.17.0': dependencies: @@ -6250,7 +6251,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.39.2': {} + '@eslint/js@10.0.1(eslint@10.0.0(jiti@2.6.1))': + optionalDependencies: + eslint: 10.0.0(jiti@2.6.1) '@eslint/markdown@7.5.1': dependencies: @@ -6266,7 +6269,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/object-schema@2.1.7': {} + '@eslint/object-schema@3.0.1': {} '@eslint/plugin-kit@0.4.1': dependencies: @@ -6489,8 +6492,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/cliui@9.0.0': {} - '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.2 @@ -6913,10 +6914,10 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) - '@ota-meshi/ast-token-store@0.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1))': + '@ota-meshi/ast-token-store@0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1))': dependencies: '@eslint/markdown': 7.5.1 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) '@otplib/core@13.3.0': {} @@ -7375,11 +7376,11 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.8.0(eslint@9.39.2(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.8.0(eslint@10.0.0(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@typescript-eslint/types': 8.55.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -7430,6 +7431,8 @@ snapshots: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.8': {} '@types/etag@1.8.4': @@ -7562,15 +7565,15 @@ snapshots: '@types/node': 25.2.3 optional: true - '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7578,14 +7581,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7608,13 +7611,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -7639,13 +7642,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7895,9 +7898,7 @@ snapshots: balanced-match@1.0.2: {} - balanced-match@4.0.2: - dependencies: - jackspeak: 4.2.3 + balanced-match@4.0.3: {} bare-events@2.8.2: {} @@ -7984,7 +7985,7 @@ snapshots: brace-expansion@5.0.2: dependencies: - balanced-match: 4.0.2 + balanced-match: 4.0.3 braces@3.0.3: dependencies: @@ -8546,14 +8547,14 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.39.2(jiti@2.6.1)): + eslint-compat-utils@0.5.1(eslint@10.0.0(jiti@2.6.1)): dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) semver: 7.7.4 - eslint-filtered-fix@0.3.0(eslint@9.39.2(jiti@2.6.1)): + eslint-filtered-fix@0.3.0(eslint@10.0.0(jiti@2.6.1)): dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) optionator: 0.9.4 eslint-import-context@0.1.9(unrs-resolver@1.11.1): @@ -8563,33 +8564,33 @@ snapshots: optionalDependencies: unrs-resolver: 1.11.1 - eslint-nibble@9.1.1(@types/node@25.2.3)(eslint@9.39.2(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.2.3)(eslint@10.0.0(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 '@inquirer/checkbox': 4.3.2(@types/node@25.2.3) '@inquirer/confirm': 5.1.21(@types/node@25.2.3) '@inquirer/select': 4.4.2(@types/node@25.2.3) - eslint: 9.39.2(jiti@2.6.1) - eslint-filtered-fix: 0.3.0(eslint@9.39.2(jiti@2.6.1)) + eslint: 10.0.0(jiti@2.6.1) + eslint-filtered-fix: 0.3.0(eslint@10.0.0(jiti@2.6.1)) optionator: 0.9.4 text-table: 0.2.0 yoctocolors: 2.1.2 transitivePeerDependencies: - '@types/node' - eslint-plugin-es-x@7.8.0(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@10.0.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - eslint: 9.39.2(jiti@2.6.1) - eslint-compat-utils: 0.5.1(eslint@9.39.2(jiti@2.6.1)) + eslint: 10.0.0(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.55.0 comment-parser: 1.4.5 debug: 4.4.3 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.2.0 @@ -8597,16 +8598,16 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color - eslint-plugin-n@17.24.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) enhanced-resolve: 5.19.0 - eslint: 9.39.2(jiti@2.6.1) - eslint-plugin-es-x: 7.8.0(eslint@9.39.2(jiti@2.6.1)) + eslint: 10.0.0(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@10.0.0(jiti@2.6.1)) get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 @@ -8616,19 +8617,19 @@ snapshots: transitivePeerDependencies: - typescript - eslint-plugin-simple-import-sort@12.1.1(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.0(jiti@2.6.1)): dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) - eslint-plugin-unicorn@63.0.0(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-unicorn@63.0.0(eslint@10.0.0(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) change-case: 5.4.4 ci-info: 4.4.0 clean-regexp: 1.0.0 core-js-compat: 3.48.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) find-up-simple: 1.0.1 globals: 16.5.0 indent-string: 5.0.0 @@ -8640,23 +8641,25 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-yml@3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 - '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@9.39.2(jiti@2.6.1)) + '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)) debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 transitivePeerDependencies: - '@eslint/markdown' - supports-color - eslint-scope@8.4.0: + eslint-scope@9.1.0: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -8666,28 +8669,25 @@ snapshots: eslint-visitor-keys@5.0.0: {} - eslint@9.39.2(jiti@2.6.1): + eslint@10.0.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.1 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.3 - '@eslint/js': 9.39.2 - '@eslint/plugin-kit': 0.4.1 + '@eslint/config-array': 0.23.1 + '@eslint/config-helpers': 0.5.2 + '@eslint/core': 1.1.0 + '@eslint/plugin-kit': 0.6.0 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 ajv: 6.12.6 - chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 + eslint-scope: 9.1.0 + eslint-visitor-keys: 5.0.0 + espree: 11.1.0 esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -8698,8 +8698,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 10.2.1 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -8720,6 +8719,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 + espree@11.1.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 5.0.0 + esprima@4.0.1: {} esquery@1.7.0: @@ -9369,10 +9374,6 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.2.3: - dependencies: - '@isaacs/cliui': 9.0.0 - jiti@2.6.1: optional: true @@ -9554,8 +9555,6 @@ snapshots: lodash.isequal@4.5.0: {} - lodash.merge@4.6.2: {} - lodash@4.17.23: {} log-update@6.1.0: From ba0f1ad2920df4b71f2244471d21aaa73779b01e Mon Sep 17 00:00:00 2001 From: Tony Date: Wed, 18 Feb 2026 22:25:14 +0800 Subject: [PATCH 054/259] style(eslint): fix `no-unassigned-vars` `no-useless-assignment` `preserve-caught-error` (#21175) * fix: fix no-unassigned-vars * fix: fix preserve-caught-error * fix: fix no-useless-assignment * fix: update variable types for better type safety * fix: replace nullish coalescing with logical OR for limit assignment * fix: add DataItem type import for better type safety --- lib/routes/0xxx/index.ts | 4 +--- lib/routes/10000link/info.ts | 4 +--- lib/routes/163/renjian.ts | 4 ++-- lib/routes/199it/index.tsx | 4 +--- lib/routes/21caijing/channel.ts | 4 +--- lib/routes/4gamers/category.ts | 3 +-- lib/routes/51cto/recommend.ts | 3 +-- lib/routes/6v123/index.ts | 4 +--- lib/routes/aa1/60s.ts | 4 +--- lib/routes/abc/index.ts | 2 +- lib/routes/adquan/case-library.ts | 4 +--- lib/routes/adquan/index.ts | 4 +--- lib/routes/aflcio/blog.ts | 4 +--- lib/routes/amazfitwatchfaces/index.ts | 4 +--- lib/routes/apple/apps.ts | 6 ++--- lib/routes/apple/security-releases.ts | 4 +--- lib/routes/asiafruitchina/categories.ts | 4 +--- lib/routes/asiafruitchina/news.ts | 4 +--- lib/routes/augmentcode/blog.tsx | 4 +--- lib/routes/bangumi.tv/user/collections.tsx | 2 +- lib/routes/banshujiang/index.ts | 4 +--- lib/routes/banyuetan/index.ts | 4 +--- lib/routes/bbc/utils.tsx | 4 +--- lib/routes/bilibili/link-news.ts | 2 +- lib/routes/bilibili/live-area.ts | 4 ++-- lib/routes/bilibili/live-search.ts | 2 +- lib/routes/bilibili/partion-ranking.ts | 24 +++++++------------ lib/routes/bilibili/ranking.ts | 2 +- lib/routes/bilibili/wasm-exec.ts | 2 +- lib/routes/biquge/index.ts | 2 +- lib/routes/bse/index.ts | 4 ++-- lib/routes/bt0/util.ts | 2 +- lib/routes/bullionvault/gold-news.ts | 4 +--- lib/routes/cast/index.ts | 4 ++-- lib/routes/cbndata/information.ts | 4 +--- lib/routes/ccagm/index.ts | 4 +--- lib/routes/cccmc/index.ts | 4 +--- lib/routes/ccg/index.ts | 4 +--- lib/routes/cde/xxgk.tsx | 2 +- lib/routes/chinadaily/language.ts | 4 +--- lib/routes/chinaratings/credit-research.ts | 4 +--- lib/routes/chongdiantou/index.ts | 4 ++-- lib/routes/chsi/hotnews.ts | 2 +- lib/routes/chsi/kydt.ts | 2 +- lib/routes/chsi/kyzx.ts | 2 +- lib/routes/cnljxh/index.ts | 4 +--- lib/routes/copymanga/comic.tsx | 2 +- lib/routes/costar/press-releases.ts | 4 +--- lib/routes/dbaplus/new.ts | 4 +--- lib/routes/deepl/blog.ts | 4 +--- lib/routes/dgtle/util.ts | 4 +--- lib/routes/dgtle/video.ts | 4 +--- lib/routes/dhu/jiaowu/news.ts | 2 +- lib/routes/dhu/xxgk/news.ts | 2 +- lib/routes/diariofruticola/filtro.ts | 4 +--- .../digitalpolicyalert/activity-tracker.ts | 4 +--- lib/routes/douban/channel/subject.ts | 2 +- lib/routes/douban/channel/topic.ts | 2 +- lib/routes/duozhi/index.ts | 4 +--- lib/routes/dytt/index.ts | 4 +--- lib/routes/eastmoney/utils.ts | 2 +- lib/routes/eeo/kuaixun.ts | 4 +--- lib/routes/expats/czech-news.ts | 4 +--- lib/routes/fangchan/list.tsx | 4 +--- lib/routes/fantia/search.ts | 4 ++-- lib/routes/flyert/creditcard.ts | 2 +- lib/routes/gamer/gnn-index.ts | 4 ++-- lib/routes/gaoyu/blog.ts | 4 +--- lib/routes/gcores/util.ts | 4 +--- lib/routes/github/eventapi.ts | 6 ++--- lib/routes/gov/cn/news/index.ts | 2 +- lib/routes/gov/csrc/news.tsx | 6 ++--- lib/routes/gov/customs/list.ts | 2 +- lib/routes/gov/general/general.ts | 15 +++++------- lib/routes/gov/maoming/maoming.ts | 12 +++++----- lib/routes/gov/maonan/maonan.ts | 4 ++-- lib/routes/gov/mee/nnsa.ts | 4 +--- lib/routes/gov/moa/gjs.ts | 4 +--- lib/routes/gov/moa/moa.ts | 2 +- lib/routes/gov/mot/index.ts | 4 +--- lib/routes/gov/suzhou/news.ts | 6 ++--- lib/routes/gov/zhengce/govall.ts | 2 +- lib/routes/grainoil/category.ts | 4 +--- lib/routes/hafu/utils.tsx | 6 ++--- lib/routes/hit/hitgs.ts | 4 +--- lib/routes/hlju/news.ts | 2 +- lib/routes/hongkong/chp.ts | 2 +- lib/routes/huitun/xiaohongshu.ts | 2 +- lib/routes/hupu/utils.ts | 2 +- lib/routes/indianexpress/section.ts | 4 +--- lib/routes/instagram/common-utils.ts | 2 +- lib/routes/instagram/web-api/utils.ts | 2 +- lib/routes/investor/index.ts | 4 +--- lib/routes/iqiyi/album.tsx | 2 +- lib/routes/iresearch/report.ts | 4 +--- lib/routes/jornada/index.ts | 4 ++-- lib/routes/juejin/pins.ts | 4 ++-- lib/routes/kemono/index.tsx | 2 +- lib/routes/kiro/blog.ts | 4 +--- lib/routes/kiro/changelog.ts | 4 +--- lib/routes/koyso/index.tsx | 4 +--- lib/routes/kpopping/kpics.ts | 4 +--- lib/routes/kpopping/news.ts | 4 +--- lib/routes/liquipedia/dota2-matches.ts | 2 +- lib/routes/ltaaa/article.ts | 4 +--- lib/routes/mail/imap.ts | 2 +- lib/routes/mathpix/blog.tsx | 4 +--- lib/routes/maven/central.ts | 2 +- lib/routes/mercari/util.tsx | 2 +- lib/routes/miniflux/entry.ts | 24 +++++-------------- lib/routes/misskey/utils.tsx | 2 +- lib/routes/modrinth/versions.tsx | 2 +- lib/routes/musikguru/news.ts | 4 +--- lib/routes/mycard520/news.ts | 4 +--- lib/routes/neea/jlpt.ts | 4 +--- lib/routes/nikkei/cn/index.ts | 8 +++---- lib/routes/nikkei/news.tsx | 5 ++-- lib/routes/nintendo/utils.ts | 2 +- lib/routes/notefolio/search.tsx | 2 +- lib/routes/nowcoder/hots.ts | 2 +- lib/routes/nyc/mayors-office-news.ts | 2 +- lib/routes/oncc/money18.ts | 12 +++++----- lib/routes/ornl/all-news.ts | 4 +--- lib/routes/oschina/column.ts | 4 +--- lib/routes/oschina/event.ts | 4 +--- lib/routes/oshwhub/explore.ts | 4 +--- lib/routes/picnob.info/user.ts | 2 +- lib/routes/pikabu/utils.ts | 2 +- lib/routes/pingwest/user.ts | 2 +- lib/routes/pixelstech/index.ts | 4 +--- lib/routes/pixiv/novel-api/content/utils.ts | 2 +- lib/routes/producereport/index.ts | 4 +--- lib/routes/psyche/utils.ts | 7 +++--- lib/routes/python/release.ts | 4 +--- lib/routes/qdu/houqin.ts | 3 +-- lib/routes/qdu/jwc.ts | 2 +- lib/routes/qlu/notice.ts | 2 +- lib/routes/qq/lol/news.ts | 4 +--- lib/routes/qq/pd/guild.ts | 2 +- lib/routes/qq/pd/utils.ts | 2 +- lib/routes/raspberrypi/magazine.ts | 4 +--- lib/routes/rockthejvm/articles.ts | 4 +--- lib/routes/samrdprc/index.ts | 4 +--- lib/routes/sass/gs/index.ts | 2 +- lib/routes/sciencedirect/call-for-paper.tsx | 2 +- lib/routes/scientificamerican/podcast.ts | 4 +--- lib/routes/scoop/apps.tsx | 4 +--- lib/routes/scpta/news.ts | 2 +- lib/routes/sdo/ff14risingstones/utils.tsx | 2 +- lib/routes/sega/pjsekai.ts | 4 ++-- lib/routes/semiconductors/index.ts | 4 +--- lib/routes/setn/index.ts | 2 +- lib/routes/sspai/series-update.ts | 2 +- lib/routes/stcn/index.ts | 4 +--- lib/routes/stcn/kx.ts | 4 +--- lib/routes/stcn/rank.ts | 4 +--- lib/routes/surfshark/blog.ts | 4 +--- lib/routes/taobao/mysql.ts | 3 +-- lib/routes/tencent/news/coronavirus/data.tsx | 16 +++++-------- lib/routes/tencent/qq/sdk/changelog.ts | 4 ++-- lib/routes/thebrain/blog.tsx | 4 +--- lib/routes/tidb/blog.ts | 4 +--- lib/routes/tju/cic/index.ts | 3 +-- lib/routes/tju/news/index.ts | 3 +-- lib/routes/tju/oaa/index.ts | 3 +-- lib/routes/tju/yzb/index.ts | 3 +-- lib/routes/tmtpost/util.ts | 4 +--- lib/routes/twitter/utils.ts | 2 +- lib/routes/twreporter/fetch-article.ts | 2 +- lib/routes/uraaka-joshi/uraaka-joshi-user.ts | 2 +- lib/routes/uraaka-joshi/uraaka-joshi.ts | 2 +- lib/routes/ustc/eeis.ts | 2 +- lib/routes/ustc/gs.ts | 2 +- lib/routes/ustc/math.ts | 2 +- lib/routes/ustc/scms.ts | 2 +- lib/routes/ustc/sist.ts | 2 +- lib/routes/wainao/topics.tsx | 4 +--- lib/routes/wdfxw/bookfree.tsx | 4 +--- lib/routes/weibo/search/hot.tsx | 4 ++-- lib/routes/whu/rsgis.ts | 2 +- lib/routes/wikipedia/current-events.ts | 2 +- lib/routes/x410/news.ts | 4 +--- lib/routes/xbmu/academic.ts | 2 +- lib/routes/xbmu/announcement.ts | 2 +- lib/routes/xianbao/index.ts | 2 +- lib/routes/xjtu/zs.ts | 4 +--- lib/routes/yamibo/utils.ts | 2 +- lib/routes/ynet/list.ts | 4 +--- lib/routes/yuque/utils.ts | 2 +- lib/routes/zhibo8/more.ts | 8 +++---- lib/routes/zhihu/topic.ts | 2 +- lib/routes/zhihu/xhu/collection.ts | 4 ++-- lib/routes/zhihu/xhu/topic.ts | 10 ++++---- lib/routes/zhihu/xhu/zhuanlan.ts | 6 ++--- lib/routes/zhihu/zhuanlan.ts | 6 ++--- lib/routes/zsxq/utils.ts | 2 +- scripts/workflow/test-route/identify.mjs | 2 +- 197 files changed, 271 insertions(+), 472 deletions(-) diff --git a/lib/routes/0xxx/index.ts b/lib/routes/0xxx/index.ts index 47d7be9a7f230a..f8d319b236b8cf 100644 --- a/lib/routes/0xxx/index.ts +++ b/lib/routes/0xxx/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('table#home-table tr:not(.gore)') + let items: DataItem[] = $('table#home-table tr:not(.gore)') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/10000link/info.ts b/lib/routes/10000link/info.ts index 6fa93593bfa99e..bdffd3c32e1fe2 100644 --- a/lib/routes/10000link/info.ts +++ b/lib/routes/10000link/info.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.l_newshot li dl.lhotnew2') + let items: DataItem[] = $('ul.l_newshot li dl.lhotnew2') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/163/renjian.ts b/lib/routes/163/renjian.ts index 50d78180c91690..c1f92c510a8d6e 100644 --- a/lib/routes/163/renjian.ts +++ b/lib/routes/163/renjian.ts @@ -1,7 +1,7 @@ import { load } from 'cheerio'; import iconv from 'iconv-lite'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -55,7 +55,7 @@ async function handler(ctx) { const data = iconv.decode(response.data, 'gbk'); - let items = {}; + let items: DataItem[]; const urls = data.match(/url:"(.*)",/g); diff --git a/lib/routes/199it/index.tsx b/lib/routes/199it/index.tsx index 478c221c1aaead..de4747a76d2353 100644 --- a/lib/routes/199it/index.tsx +++ b/lib/routes/199it/index.tsx @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('article.newsplus') + let items: DataItem[] = $('article.newsplus') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/21caijing/channel.ts b/lib/routes/21caijing/channel.ts index 4b06de223d8453..1678d0a89f60b4 100644 --- a/lib/routes/21caijing/channel.ts +++ b/lib/routes/21caijing/channel.ts @@ -85,9 +85,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = JSON.parse(response) + let items: DataItem[] = JSON.parse(response) .slice(0, limit) .map((item): DataItem => { const title: string = item.title; diff --git a/lib/routes/4gamers/category.ts b/lib/routes/4gamers/category.ts index 076131dc16e06e..e2584f6994020b 100644 --- a/lib/routes/4gamers/category.ts +++ b/lib/routes/4gamers/category.ts @@ -33,10 +33,9 @@ async function handler(ctx) { const items = await Promise.all(list.map((item) => cache.tryGet(item.link, () => parseItem(item)))); - let categories = []; let categoryName = '最新消息'; if (!isLatest) { - categories = await getCategories(cache.tryGet); + const categories = await getCategories(cache.tryGet); categoryName = categories.find((c) => c.id === Number.parseInt(category)).name; } diff --git a/lib/routes/51cto/recommend.ts b/lib/routes/51cto/recommend.ts index d18858624eda3d..1a5c218713510a 100644 --- a/lib/routes/51cto/recommend.ts +++ b/lib/routes/51cto/recommend.ts @@ -27,7 +27,6 @@ export const route: Route = { const pattern = /'(WTKkN|bOYDu|wyeCN)':\s*(\d+)/g; async function getFullcontent(item, cookie = '') { - let fullContent: null | string = null; const articleResponse = await ofetch(item.url, { headers: { cookie, @@ -35,7 +34,7 @@ async function getFullcontent(item, cookie = '') { }); const $ = load(articleResponse); - fullContent = new URL(item.url).host === 'ost.51cto.com' ? $('.posts-content').html() : $('article').html(); + const fullContent = new URL(item.url).host === 'ost.51cto.com' ? $('.posts-content').html() : $('article').html(); if (!fullContent && cookie === '') { // If fullContent is null and haven't tried to request with cookie, try to get fullContent with cookie diff --git a/lib/routes/6v123/index.ts b/lib/routes/6v123/index.ts index a6d3ec9e5af328..ef0a69c95dff9c 100644 --- a/lib/routes/6v123/index.ts +++ b/lib/routes/6v123/index.ts @@ -25,9 +25,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(iconv.decode(Buffer.from(response), encoding)); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.list li') + let items: DataItem[] = $('ul.list li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/aa1/60s.ts b/lib/routes/aa1/60s.ts index 597e9990358284..80ddbc69207b12 100644 --- a/lib/routes/aa1/60s.ts +++ b/lib/routes/aa1/60s.ts @@ -41,9 +41,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = response.slice(0, limit).map((item): DataItem => { + const items: DataItem[] = response.slice(0, limit).map((item): DataItem => { const title: string = item.title?.rendered ?? item.title; const description: string | undefined = item.content.rendered; const pubDate: number | string = item.date_gmt; diff --git a/lib/routes/abc/index.ts b/lib/routes/abc/index.ts index 255367b0db6fa9..8ac465c92f7fd5 100644 --- a/lib/routes/abc/index.ts +++ b/lib/routes/abc/index.ts @@ -40,7 +40,7 @@ async function handler(ctx) { const rootUrl = 'https://www.abc.net.au'; const apiUrl = new URL('news-web/api/loader/channelrefetch', rootUrl).href; - let currentUrl = ''; + let currentUrl: string; let documentId; if (Number.isNaN(category)) { diff --git a/lib/routes/adquan/case-library.ts b/lib/routes/adquan/case-library.ts index b604c4a74372af..49bc2804798f5c 100644 --- a/lib/routes/adquan/case-library.ts +++ b/lib/routes/adquan/case-library.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.article_1') + let items: DataItem[] = $('div.article_1') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/adquan/index.ts b/lib/routes/adquan/index.ts index 706f904a9d8072..5a11ff58e430e1 100644 --- a/lib/routes/adquan/index.ts +++ b/lib/routes/adquan/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.article_1') + let items: DataItem[] = $('div.article_1') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/aflcio/blog.ts b/lib/routes/aflcio/blog.ts index ba9d30a3de4c3e..55fe585424896d 100644 --- a/lib/routes/aflcio/blog.ts +++ b/lib/routes/aflcio/blog.ts @@ -19,9 +19,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('article.article') + let items: DataItem[] = $('article.article') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/amazfitwatchfaces/index.ts b/lib/routes/amazfitwatchfaces/index.ts index 1198f2fb83ce59..d6c10fb11a7a56 100644 --- a/lib/routes/amazfitwatchfaces/index.ts +++ b/lib/routes/amazfitwatchfaces/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.wf-panel') + let items: DataItem[] = $('div.wf-panel') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/apple/apps.ts b/lib/routes/apple/apps.ts index fc74125f9f7690..c9fd61023c3cfa 100644 --- a/lib/routes/apple/apps.ts +++ b/lib/routes/apple/apps.ts @@ -1,4 +1,4 @@ -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import { ViewType } from '@/types'; import ofetch from '@/utils/ofetch'; import { parseDate } from '@/utils/parse-date'; @@ -116,8 +116,8 @@ async function handler(ctx) { const artistName = attributes.artistName; const platformAttributes = attributes.platformAttributes; - let items = []; - let title = ''; + let items: DataItem[] = []; + let title: string; let description = ''; let image = ''; diff --git a/lib/routes/apple/security-releases.ts b/lib/routes/apple/security-releases.ts index f3d3c7a27a4854..ff1a9d3f7dc034 100644 --- a/lib/routes/apple/security-releases.ts +++ b/lib/routes/apple/security-releases.ts @@ -27,9 +27,7 @@ export const handler = async (ctx: Context): Promise => { .toArray() .map((el) => $(el).text()); - let items: DataItem[] = []; - - items = $trEls + let items: DataItem[] = $trEls .slice(1, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/asiafruitchina/categories.ts b/lib/routes/asiafruitchina/categories.ts index 42db49cdfb55af..157570857cc5e0 100644 --- a/lib/routes/asiafruitchina/categories.ts +++ b/lib/routes/asiafruitchina/categories.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.listBlocks ul li') + let items: DataItem[] = $('div.listBlocks ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/asiafruitchina/news.ts b/lib/routes/asiafruitchina/news.ts index ec109a2ccbebc9..9ae47525121dd0 100644 --- a/lib/routes/asiafruitchina/news.ts +++ b/lib/routes/asiafruitchina/news.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.listBlocks ul li') + let items: DataItem[] = $('div.listBlocks ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/augmentcode/blog.tsx b/lib/routes/augmentcode/blog.tsx index 1836d6598f232e..f8ad180f0bef67 100644 --- a/lib/routes/augmentcode/blog.tsx +++ b/lib/routes/augmentcode/blog.tsx @@ -40,9 +40,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div[data-slot="card"]') + let items: DataItem[] = $('div[data-slot="card"]') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/bangumi.tv/user/collections.tsx b/lib/routes/bangumi.tv/user/collections.tsx index e285d576a10e0e..172ff8fa02fd46 100644 --- a/lib/routes/bangumi.tv/user/collections.tsx +++ b/lib/routes/bangumi.tv/user/collections.tsx @@ -154,7 +154,7 @@ async function handler(ctx) { const typeName = typeNames[type] || ''; const subjectTypeName = subjectTypeNames[subjectType] || ''; - let descriptionFields = ''; + let descriptionFields: string; if (typeName && subjectTypeName) { descriptionFields = `${typeName}的${subjectTypeName}列表`; diff --git a/lib/routes/banshujiang/index.ts b/lib/routes/banshujiang/index.ts index dc983fe3943e78..3393ad2027ef3a 100644 --- a/lib/routes/banshujiang/index.ts +++ b/lib/routes/banshujiang/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.small-list li.row') + let items: DataItem[] = $('ul.small-list li.row') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/banyuetan/index.ts b/lib/routes/banyuetan/index.ts index 25e7a94ca77c06..efcad0dd949b67 100644 --- a/lib/routes/banyuetan/index.ts +++ b/lib/routes/banyuetan/index.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.bty_tbtj_list ul.clearFix li') + let items: DataItem[] = $('div.bty_tbtj_list ul.clearFix li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/bbc/utils.tsx b/lib/routes/bbc/utils.tsx index a3760eefb3e812..266eb6d6bde49e 100644 --- a/lib/routes/bbc/utils.tsx +++ b/lib/routes/bbc/utils.tsx @@ -239,8 +239,6 @@ const renderVideo = (block: Block, index: number): JSX.Element | null => { let src: string | undefined; let sourceText: string | undefined; - let width: number | undefined; - let height: number | undefined; if (mediaMetadataBlock?.model?.imageUrl) { src = mediaMetadataBlock.model.imageUrl; @@ -254,7 +252,7 @@ const renderVideo = (block: Block, index: number): JSX.Element | null => { return null; } - return renderFigure(`video-${index}`, src, altText, width, height, caption, sourceText); + return renderFigure(`video-${index}`, src, altText, undefined, undefined, caption, sourceText); }; const renderMedia = (block: Block, index: number): JSX.Element | null => { diff --git a/lib/routes/bilibili/link-news.ts b/lib/routes/bilibili/link-news.ts index e3846aeda68b1e..bd15493e8dc5d8 100644 --- a/lib/routes/bilibili/link-news.ts +++ b/lib/routes/bilibili/link-news.ts @@ -22,7 +22,7 @@ export const route: Route = { async function handler(ctx) { const product = ctx.req.param('product'); - let productTitle = ''; + let productTitle: string; switch (product) { case 'live': diff --git a/lib/routes/bilibili/live-area.ts b/lib/routes/bilibili/live-area.ts index ed5b0791e689e4..4fa7861c0bb3df 100644 --- a/lib/routes/bilibili/live-area.ts +++ b/lib/routes/bilibili/live-area.ts @@ -26,7 +26,7 @@ async function handler(ctx) { const areaID = ctx.req.param('areaID'); const order = ctx.req.param('order'); - let orderTitle = ''; + let orderTitle: string; switch (order) { case 'live_time': orderTitle = '最新开播'; @@ -47,7 +47,7 @@ async function handler(ctx) { }); let parentTitle = ''; - let parentID = ''; + let parentID: string; let areaTitle = ''; let areaLink = ''; diff --git a/lib/routes/bilibili/live-search.ts b/lib/routes/bilibili/live-search.ts index ef7e7480e6c46d..82b544fe71c6c3 100644 --- a/lib/routes/bilibili/live-search.ts +++ b/lib/routes/bilibili/live-search.ts @@ -27,7 +27,7 @@ async function handler(ctx) { const order = ctx.req.param('order'); const urlEncodedKey = encodeURIComponent(key); - let orderTitle = ''; + let orderTitle: string; switch (order) { case 'live_time': diff --git a/lib/routes/bilibili/partion-ranking.ts b/lib/routes/bilibili/partion-ranking.ts index 1b160d167367eb..3401482443f2fa 100644 --- a/lib/routes/bilibili/partion-ranking.ts +++ b/lib/routes/bilibili/partion-ranking.ts @@ -1,4 +1,4 @@ -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import got from '@/utils/got'; import utils from './utils'; @@ -43,11 +43,8 @@ async function handler(ctx) { const responseApi = `https://api.bilibili.com/x/web-interface/newlist?ps=15&rid=${tid}&_=${Date.now()}`; const response = await got_ins.get(responseApi); - const items = []; let name = '未知'; - let list = {}; - - list = response.data.data.archives; + const list = response.data.data.archives; if (list && list[0] && list[0].tname) { name = list[0].tname; } @@ -58,16 +55,13 @@ async function handler(ctx) { const HotRankResponse = await got_ins.get(HotRankResponseApi); const hotlist = HotRankResponse.data.result; - for (let item of hotlist) { - item = { - title: item.title, - description: utils.renderUGCDescription(embed, item.pic, `${item.description} - ${item.tag}`, item.id, undefined, item.bvid), - pubDate: new Date(item.pubdate).toUTCString(), - link: item.pubdate > utils.bvidTime && item.bvid ? `https://www.bilibili.com/video/${item.bvid}` : `https://www.bilibili.com/video/av${item.id}`, - author: item.author, - }; - items.push(item); - } + const items: DataItem[] = hotlist.map((item) => ({ + title: item.title, + description: utils.renderUGCDescription(embed, item.pic, `${item.description} - ${item.tag}`, item.id, undefined, item.bvid), + pubDate: new Date(item.pubdate).toUTCString(), + link: item.pubdate > utils.bvidTime && item.bvid ? `https://www.bilibili.com/video/${item.bvid}` : `https://www.bilibili.com/video/av${item.id}`, + author: item.author, + })); return { title: `bilibili ${name} 最热视频`, diff --git a/lib/routes/bilibili/ranking.ts b/lib/routes/bilibili/ranking.ts index 20f4aec24d04b2..7c9f5d3452aec6 100644 --- a/lib/routes/bilibili/ranking.ts +++ b/lib/routes/bilibili/ranking.ts @@ -193,7 +193,7 @@ function getAPI(isNumericRid: boolean, rid: string | number) { const ridEnglish = zone[1].english; let apiBase = 'https://api.bilibili.com/x/web-interface/ranking/v2'; - let apiParams = ''; + let apiParams: string; switch (ridType) { case 'x/rid': diff --git a/lib/routes/bilibili/wasm-exec.ts b/lib/routes/bilibili/wasm-exec.ts index 7cfb8a02f44e31..05dc96f70aa4ac 100644 --- a/lib/routes/bilibili/wasm-exec.ts +++ b/lib/routes/bilibili/wasm-exec.ts @@ -319,7 +319,7 @@ // func resetMemoryDataView() 'runtime.resetMemoryDataView': (sp) => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-useless-assignment sp >>>= 0; this.mem = new DataView(this._inst.exports.mem.buffer); }, diff --git a/lib/routes/biquge/index.ts b/lib/routes/biquge/index.ts index 1160970c9dad95..15985aee1def37 100644 --- a/lib/routes/biquge/index.ts +++ b/lib/routes/biquge/index.ts @@ -60,7 +60,7 @@ async function handler(ctx) { .map((item) => { item = $(item); - let link = ''; + let link: string; const url = item.attr('href'); if (url.startsWith('http')) { link = url; diff --git a/lib/routes/bse/index.ts b/lib/routes/bse/index.ts index 77e0b4421712a3..64435b249c4e40 100644 --- a/lib/routes/bse/index.ts +++ b/lib/routes/bse/index.ts @@ -1,4 +1,4 @@ -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; import timezone from '@/utils/timezone'; @@ -185,7 +185,7 @@ async function handler(ctx) { const data = JSON.parse(response.data.match(/null\(\[({.*})]\)/)[1]); - let items = []; + let items: DataItem[]; switch (type) { case '/info/listse': diff --git a/lib/routes/bt0/util.ts b/lib/routes/bt0/util.ts index dfcd8d72038ec8..9892befcb4605c 100644 --- a/lib/routes/bt0/util.ts +++ b/lib/routes/bt0/util.ts @@ -19,7 +19,7 @@ async function doGot(num, host, link) { throw new Error('api error'); } cookieJar.setCookieSync(match[1], host); - return doGot(++num, host, link); + return doGot(num + 1, host, link); } return data; } diff --git a/lib/routes/bullionvault/gold-news.ts b/lib/routes/bullionvault/gold-news.ts index f4986b4c246c1b..86a624f798f491 100644 --- a/lib/routes/bullionvault/gold-news.ts +++ b/lib/routes/bullionvault/gold-news.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('section#block-bootstrap-views-block-latest-articles-block div.media, div.gold-news-content table tr') + let items: DataItem[] = $('section#block-bootstrap-views-block-latest-articles-block div.media, div.gold-news-content table tr') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/cast/index.ts b/lib/routes/cast/index.ts index 887283ca4d1408..04119145473941 100644 --- a/lib/routes/cast/index.ts +++ b/lib/routes/cast/index.ts @@ -1,6 +1,6 @@ import { load } from 'cheerio'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -88,7 +88,7 @@ async function handler(ctx) { const $ = load(indexData); - let items: any[] = []; + let items: DataItem[]; // 新闻-视频首页特殊处理 if (column === 'xw' && subColumn === 'SP' && !category) { diff --git a/lib/routes/cbndata/information.ts b/lib/routes/cbndata/information.ts index 08bc5b5b507e41..aad1a06eb853d5 100644 --- a/lib/routes/cbndata/information.ts +++ b/lib/routes/cbndata/information.ts @@ -29,9 +29,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const image: string | undefined = item.image; const description: string | undefined = renderDescription({ diff --git a/lib/routes/ccagm/index.ts b/lib/routes/ccagm/index.ts index 2a95b397fa99d7..1eaf3d35ecbc88 100644 --- a/lib/routes/ccagm/index.ts +++ b/lib/routes/ccagm/index.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.news_list li a') + let items: DataItem[] = $('ul.news_list li a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/cccmc/index.ts b/lib/routes/cccmc/index.ts index b134289e43b9ba..92441a0bb57d90 100644 --- a/lib/routes/cccmc/index.ts +++ b/lib/routes/cccmc/index.ts @@ -20,11 +20,9 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - const regex = /\{url:'(.*)',title:'(.*)',time:'(.*)'\},/g; - items = + let items: DataItem[] = response .match(regex) ?.slice(0, limit) diff --git a/lib/routes/ccg/index.ts b/lib/routes/ccg/index.ts index 4fa5559455bb60..0594be88795ffa 100644 --- a/lib/routes/ccg/index.ts +++ b/lib/routes/ccg/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.huodong-list li') + let items: DataItem[] = $('ul.huodong-list li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/cde/xxgk.tsx b/lib/routes/cde/xxgk.tsx index 0d858d0ceca796..c770309252cfc2 100644 --- a/lib/routes/cde/xxgk.tsx +++ b/lib/routes/cde/xxgk.tsx @@ -81,7 +81,7 @@ async function handler(ctx) { }); const items = data.data.records.map((item) => { - let description = ''; + let description: string; switch (category) { case 'priorityApproval': description = renderToString(); diff --git a/lib/routes/chinadaily/language.ts b/lib/routes/chinadaily/language.ts index b3f256fd62714c..47dc17388be09d 100644 --- a/lib/routes/chinadaily/language.ts +++ b/lib/routes/chinadaily/language.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.gy_box, ul.content_list li') + let items: DataItem[] = $('div.gy_box, ul.content_list li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/chinaratings/credit-research.ts b/lib/routes/chinaratings/credit-research.ts index 9f18b236767d25..4ccb5ae9ff251f 100644 --- a/lib/routes/chinaratings/credit-research.ts +++ b/lib/routes/chinaratings/credit-research.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.contRight ul.list li') + let items: DataItem[] = $('div.contRight ul.list li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/chongdiantou/index.ts b/lib/routes/chongdiantou/index.ts index 36c91c288d8b09..ec3f636f7816b7 100644 --- a/lib/routes/chongdiantou/index.ts +++ b/lib/routes/chongdiantou/index.ts @@ -1,6 +1,6 @@ import { load } from 'cheerio'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import ofetch from '@/utils/ofetch'; @@ -23,7 +23,7 @@ export const route: Route = { async function handler() { const response = await ofetch('https://www.chongdiantou.com/nice-json/front-end/home-load-more'); - let items = []; + let items: DataItem[]; items = response.data.map((item) => ({ title: item.title, diff --git a/lib/routes/chsi/hotnews.ts b/lib/routes/chsi/hotnews.ts index 316ab02af29494..e0d54ea8c19bbf 100644 --- a/lib/routes/chsi/hotnews.ts +++ b/lib/routes/chsi/hotnews.ts @@ -41,7 +41,7 @@ async function handler() { let itemUrl = ''; itemUrl = path.startsWith('http') ? path : host + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; let itemDate; if (path) { const result = await got(itemUrl); diff --git a/lib/routes/chsi/kydt.ts b/lib/routes/chsi/kydt.ts index b590fdaa26d4ff..830fbee1b05fc8 100644 --- a/lib/routes/chsi/kydt.ts +++ b/lib/routes/chsi/kydt.ts @@ -46,7 +46,7 @@ async function handler() { const path = item.find('a').attr('href'); const itemUrl = path.startsWith('http') ? path : host + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; if (!path.startsWith('https://') && !path.startsWith('http://')) { const result = await got(itemUrl); const $ = load(result.data); diff --git a/lib/routes/chsi/kyzx.ts b/lib/routes/chsi/kyzx.ts index 824ceb163dce09..8b359069797b4f 100644 --- a/lib/routes/chsi/kyzx.ts +++ b/lib/routes/chsi/kyzx.ts @@ -53,7 +53,7 @@ async function handler(ctx) { let itemUrl = ''; itemUrl = path.startsWith('http') ? path : host + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; if (itemUrl) { const result = await got(itemUrl); const $ = load(result.data); diff --git a/lib/routes/cnljxh/index.ts b/lib/routes/cnljxh/index.ts index 24930df3d76931..6cc695cd3fb869 100644 --- a/lib/routes/cnljxh/index.ts +++ b/lib/routes/cnljxh/index.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.main_left ul li') + let items: DataItem[] = $('div.main_left ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/copymanga/comic.tsx b/lib/routes/copymanga/comic.tsx index 67321cc65a1ee5..d57e16e15528b3 100644 --- a/lib/routes/copymanga/comic.tsx +++ b/lib/routes/copymanga/comic.tsx @@ -41,7 +41,7 @@ async function handler(ctx) { const chapterArray = await cache.tryGet( strBaseUrl, async () => { - let bHasNextPage = false; + let bHasNextPage: boolean; let chapters = []; let iReqOffSet = 0; diff --git a/lib/routes/costar/press-releases.ts b/lib/routes/costar/press-releases.ts index adb7154ea9262c..7afabf862fbf4c 100644 --- a/lib/routes/costar/press-releases.ts +++ b/lib/routes/costar/press-releases.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.views-row article') + let items: DataItem[] = $('div.views-row article') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/dbaplus/new.ts b/lib/routes/dbaplus/new.ts index d8d75f8d9cd1ba..2aa195e8a09617 100644 --- a/lib/routes/dbaplus/new.ts +++ b/lib/routes/dbaplus/new.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('ul.media-list li.media') + let items: DataItem[] = $('ul.media-list li.media') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/deepl/blog.ts b/lib/routes/deepl/blog.ts index 41419f934ffec4..0fb408d85bc389 100644 --- a/lib/routes/deepl/blog.ts +++ b/lib/routes/deepl/blog.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? lang; - let items: DataItem[] = []; - - items = $('h4, h6') + let items: DataItem[] = $('h4, h6') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/dgtle/util.ts b/lib/routes/dgtle/util.ts index a9a83f77b1773e..0eaf19610fc818 100644 --- a/lib/routes/dgtle/util.ts +++ b/lib/routes/dgtle/util.ts @@ -17,9 +17,7 @@ const md = MarkdownIt({ const baseUrl = 'https://www.dgtle.com'; const ProcessItems = async (limit: number, dataList: any): Promise => { - let items: DataItem[] = []; - - items = dataList.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = dataList.slice(0, limit).map((item): DataItem => { const title: string = item.title || item.content; const image: string | undefined = item.cover; const description: string | undefined = renderDescription({ diff --git a/lib/routes/dgtle/video.ts b/lib/routes/dgtle/video.ts index da8ce22d2eb361..1cb7c441c73c34 100644 --- a/lib/routes/dgtle/video.ts +++ b/lib/routes/dgtle/video.ts @@ -25,9 +25,7 @@ export const handler = async (ctx: Context): Promise => { const response = await ofetch(apiUrl); - let items: DataItem[] = []; - - items = response.data.list.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.list.slice(0, limit).map((item): DataItem => { const title: string = item.title; const image: string | undefined = item.cover?.split(/\?/)?.[0]; const description: string | undefined = renderDescription({ diff --git a/lib/routes/dhu/jiaowu/news.ts b/lib/routes/dhu/jiaowu/news.ts index 14b1efe76d7001..898278ac8c932d 100644 --- a/lib/routes/dhu/jiaowu/news.ts +++ b/lib/routes/dhu/jiaowu/news.ts @@ -60,7 +60,7 @@ async function handler(ctx) { return await cache.tryGet(url, async () => { // fetch article content // some contents are only available for internal network - let description = ''; + let description: string; try { const { data: response } = await got(url); const $ = load(response); diff --git a/lib/routes/dhu/xxgk/news.ts b/lib/routes/dhu/xxgk/news.ts index 36c52a931957f8..fc98fd30c6986e 100644 --- a/lib/routes/dhu/xxgk/news.ts +++ b/lib/routes/dhu/xxgk/news.ts @@ -51,7 +51,7 @@ async function handler() { return await cache.tryGet(url, async () => { // fetch article content // some contents are only available for internal network - let description = ''; + let description: string; try { const { data: response } = await got(url); const $ = load(response); diff --git a/lib/routes/diariofruticola/filtro.ts b/lib/routes/diariofruticola/filtro.ts index 79fcbdc1eb4637..b52d577946889c 100644 --- a/lib/routes/diariofruticola/filtro.ts +++ b/lib/routes/diariofruticola/filtro.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'es'; - let items: DataItem[] = []; - - items = $('div#printableArea a.text-dark') + let items: DataItem[] = $('div#printableArea a.text-dark') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/digitalpolicyalert/activity-tracker.ts b/lib/routes/digitalpolicyalert/activity-tracker.ts index 0eda4f5bddd868..ad8042148b0ddd 100644 --- a/lib/routes/digitalpolicyalert/activity-tracker.ts +++ b/lib/routes/digitalpolicyalert/activity-tracker.ts @@ -40,9 +40,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = response.results.slice(0, limit).map((item): DataItem => { + const items: DataItem[] = response.results.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string | undefined = item.latest_event?.description ?? undefined; const pubDate: number | string = item.latest_event?.date; diff --git a/lib/routes/douban/channel/subject.ts b/lib/routes/douban/channel/subject.ts index 1b0ff5eaff1040..240895c8e5d0b7 100644 --- a/lib/routes/douban/channel/subject.ts +++ b/lib/routes/douban/channel/subject.ts @@ -45,7 +45,7 @@ async function handler(ctx) { const channel_name = channel_info_response.data.title; const data = response.data.modules[nav].payload.subjects; - let nav_name = ''; + let nav_name: string; switch (nav) { case '0': diff --git a/lib/routes/douban/channel/topic.ts b/lib/routes/douban/channel/topic.ts index 3b285f6cac3571..c91dbf5cbe15ea 100644 --- a/lib/routes/douban/channel/topic.ts +++ b/lib/routes/douban/channel/topic.ts @@ -45,7 +45,7 @@ async function handler(ctx) { const channel_name = channel_info_response.data.title; const data = response.data.items; - let nav_name = ''; + let nav_name: string; switch (nav) { case 'hot': diff --git a/lib/routes/duozhi/index.ts b/lib/routes/duozhi/index.ts index f5c1aef22044f2..82275da22952a9 100644 --- a/lib/routes/duozhi/index.ts +++ b/lib/routes/duozhi/index.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.post-item') + let items: DataItem[] = $('div.post-item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/dytt/index.ts b/lib/routes/dytt/index.ts index 3a58a5a5cee827..d62cccaabbe1df 100644 --- a/lib/routes/dytt/index.ts +++ b/lib/routes/dytt/index.ts @@ -26,9 +26,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(iconv.decode(Buffer.from(response), 'gb2312')); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.co_content8 ul table') + let items: DataItem[] = $('div.co_content8 ul table') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/eastmoney/utils.ts b/lib/routes/eastmoney/utils.ts index 6d040d8e3276cf..ab3078cfa64717 100644 --- a/lib/routes/eastmoney/utils.ts +++ b/lib/routes/eastmoney/utils.ts @@ -1,5 +1,5 @@ function getRatingChangeStr(ratingChange) { - let ratingChangeName = ''; + let ratingChangeName: string; switch (String(ratingChange)) { case '0': ratingChangeName = '调高'; diff --git a/lib/routes/eeo/kuaixun.ts b/lib/routes/eeo/kuaixun.ts index f6b2802b67284d..28cf67b811ba5a 100644 --- a/lib/routes/eeo/kuaixun.ts +++ b/lib/routes/eeo/kuaixun.ts @@ -34,9 +34,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string | undefined = renderDescription({ intro: item.description, diff --git a/lib/routes/expats/czech-news.ts b/lib/routes/expats/czech-news.ts index 2cbcb13cdb4aaf..766d38a12269e6 100644 --- a/lib/routes/expats/czech-news.ts +++ b/lib/routes/expats/czech-news.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.main h3 a') + let items: DataItem[] = $('div.main h3 a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/fangchan/list.tsx b/lib/routes/fangchan/list.tsx index 2d61e2def3bb7d..a36ddfae4cf9d4 100644 --- a/lib/routes/fangchan/list.tsx +++ b/lib/routes/fangchan/list.tsx @@ -31,9 +31,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string = renderToString(item.zhaiyao ?
    {item.zhaiyao}
    : null); const pubDate: number | string = item.createtime; diff --git a/lib/routes/fantia/search.ts b/lib/routes/fantia/search.ts index 945e031b23bb4e..fe28e5381450df 100644 --- a/lib/routes/fantia/search.ts +++ b/lib/routes/fantia/search.ts @@ -1,5 +1,5 @@ import { config } from '@/config'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import { ViewType } from '@/types'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -163,7 +163,7 @@ async function handler(ctx) { }, }); - let items = {}; + let items: DataItem[]; switch (type) { case 'fanclubs': diff --git a/lib/routes/flyert/creditcard.ts b/lib/routes/flyert/creditcard.ts index 4ff98ade608c55..8ac5e9a5d6216d 100644 --- a/lib/routes/flyert/creditcard.ts +++ b/lib/routes/flyert/creditcard.ts @@ -58,7 +58,7 @@ export const route: Route = { async function handler(ctx) { const bank = ctx.req.param('bank'); const target = `${host}/forum-${bank}-1.html`; - let bankname = ''; + let bankname: string; switch (bank) { case 'creditcard': diff --git a/lib/routes/gamer/gnn-index.ts b/lib/routes/gamer/gnn-index.ts index fcfbe7f018b66f..b17b26abaaf900 100644 --- a/lib/routes/gamer/gnn-index.ts +++ b/lib/routes/gamer/gnn-index.ts @@ -55,7 +55,7 @@ export const route: Route = { async function handler(ctx) { const category = ctx.req.param('category'); - let url = ''; + let url: string; let categoryName = ''; const categoryTable = { 1: 'PC', @@ -126,7 +126,7 @@ async function handler(ctx) { async (item) => { item.description = await cache.tryGet(item.link, async () => { const response = await got.get(item.link); - let component = ''; + let component: string; const urlReg = /window\.lazySizesConfig/g; let pubInfo; diff --git a/lib/routes/gaoyu/blog.ts b/lib/routes/gaoyu/blog.ts index 56b7cd30cc4b38..3e25b019edead5 100644 --- a/lib/routes/gaoyu/blog.ts +++ b/lib/routes/gaoyu/blog.ts @@ -29,9 +29,7 @@ export const handler = async (ctx: Context): Promise => { }, ]; - let items: DataItem[] = []; - - items = $('a.flex-col') + let items: DataItem[] = $('a.flex-col') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/gcores/util.ts b/lib/routes/gcores/util.ts index a18b16bf3638b0..ef1b2c70457943 100644 --- a/lib/routes/gcores/util.ts +++ b/lib/routes/gcores/util.ts @@ -31,9 +31,7 @@ const processItems = async (limit: number, query: any, apiUrl: string, targetUrl const included = response.included; const data = [...response.data, ...included].filter((item) => types.has(item.type)); - let items: DataItem[] = []; - - items = data?.slice(0, limit).map((item): DataItem => { + const items: DataItem[] = data?.slice(0, limit).map((item): DataItem => { const attributes = item.attributes; const relationships = item.relationships; diff --git a/lib/routes/github/eventapi.ts b/lib/routes/github/eventapi.ts index 20a0dec6a5e7a9..4caaafdbc9cfe0 100644 --- a/lib/routes/github/eventapi.ts +++ b/lib/routes/github/eventapi.ts @@ -22,9 +22,9 @@ export const eventTypeMapping: Record = { function formatEventItem(event: any) { const { id, type, actor, repo, payload, created_at } = event; - let title = ''; - let description = ''; - let link = ''; + let title: string; + let description: string; + let link: string; switch (type) { case 'PushEvent': { diff --git a/lib/routes/gov/cn/news/index.ts b/lib/routes/gov/cn/news/index.ts index 510ec2fd94a7d8..924f93cf6ad386 100644 --- a/lib/routes/gov/cn/news/index.ts +++ b/lib/routes/gov/cn/news/index.ts @@ -33,7 +33,7 @@ async function handler(ctx) { const originDomain = 'https://www.gov.cn'; let url = ''; let title = ''; - let list = ''; + let list: string; switch (uid) { case 'bm': url = `${originDomain}/lianbo/bumen/index.htm`; diff --git a/lib/routes/gov/csrc/news.tsx b/lib/routes/gov/csrc/news.tsx index 4e70801550e103..4bded27f63ad8c 100644 --- a/lib/routes/gov/csrc/news.tsx +++ b/lib/routes/gov/csrc/news.tsx @@ -1,7 +1,7 @@ import { load } from 'cheerio'; import { renderToString } from 'hono/jsx/dom/server'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -23,8 +23,8 @@ async function handler(ctx) { const channelId = $('meta[name="channelid"]').attr('content'); - let data, - out = []; + let data; + let out: DataItem[]; if (channelId) { data = await got(`${baseUrl}/searchList/${channelId}`, { searchParams: { diff --git a/lib/routes/gov/customs/list.ts b/lib/routes/gov/customs/list.ts index d28d20200c88d3..cf396099259ecf 100644 --- a/lib/routes/gov/customs/list.ts +++ b/lib/routes/gov/customs/list.ts @@ -39,7 +39,7 @@ export const route: Route = { async function handler(ctx) { const { gchannel = 'paimai' } = ctx.req.param(); - let channelName = ''; + let channelName: string; let link = ''; switch (gchannel) { diff --git a/lib/routes/gov/general/general.ts b/lib/routes/gov/general/general.ts index fe65e569b8eb59..7766acb8ab563b 100644 --- a/lib/routes/gov/general/general.ts +++ b/lib/routes/gov/general/general.ts @@ -105,8 +105,8 @@ const gdgov = async (info, ctx) => { const currentUrl = `${rootUrl}/${pathname}`; let $ = ''; - let name = ''; - let list = ''; + let name: string; + let list: string; // 判断是否处于特殊目录 if (pathname.startsWith('gkmlpt')) { title_element = undefined; @@ -149,7 +149,7 @@ const gdgov = async (info, ctx) => { } const lists = list.map((i, item) => { - let link = ''; + let link: string; if (pathname.startsWith('gkmlpt')) { link = i.url; @@ -198,16 +198,13 @@ const gdgov = async (info, ctx) => { const content = load(res); // 获取来源 - let author = ''; - author = author_element === undefined ? content('meta[name="ContentSource"]').attr('content') : content(author_element).text().trim().match(author_match)[1].trim().replaceAll(/(-*$)/g, ''); + const author = author_element === undefined ? content('meta[name="ContentSource"]').attr('content') : content(author_element).text().trim().match(author_match)[1].trim().replaceAll(/(-*$)/g, ''); // 获取发布时间 - let pubDate = ''; - pubDate = pubDate_element === undefined ? content('meta[name="PubDate"]').attr('content') : content(pubDate_element).text().trim().match(pubDate_match)[1].trim().replaceAll(/(-*$)/g, ''); + const pubDate = pubDate_element === undefined ? content('meta[name="PubDate"]').attr('content') : content(pubDate_element).text().trim().match(pubDate_match)[1].trim().replaceAll(/(-*$)/g, ''); // 获取标题 - let title = ''; - title = title_element === undefined ? content('meta[name="ArticleTitle"]').attr('content') : content(title_element).text().trim().match(title_match)[1]; + const title = title_element === undefined ? content('meta[name="ArticleTitle"]').attr('content') : content(title_element).text().trim().match(title_match)[1]; // 获取正文 const description_content = description_element.split(',').filter((item) => item !== ''); for (let index = 0; index < description_content.length; index++) { diff --git a/lib/routes/gov/maoming/maoming.ts b/lib/routes/gov/maoming/maoming.ts index bde7c1822f40ce..84a0a4c1060f44 100644 --- a/lib/routes/gov/maoming/maoming.ts +++ b/lib/routes/gov/maoming/maoming.ts @@ -16,14 +16,14 @@ async function handler(ctx) { .filter((item) => item !== ''); let pathstartat = 0; let defaultPath = ''; - let list_element = ''; + let list_element: string; let list_include = 'site'; - let title_element = ''; + let title_element: string; let title_match = '(.*)'; - let description_element = ''; - let authorisme = ''; - let pubDate_element = ''; - let pubDate_match = ''; + let description_element: string; + let authorisme: string; + let pubDate_element: string; + let pubDate_match: string; // let pubDate_format = undefined; switch (path[1]) { case 'www': diff --git a/lib/routes/gov/maonan/maonan.ts b/lib/routes/gov/maonan/maonan.ts index bbdb67c1916606..6363972180b902 100644 --- a/lib/routes/gov/maonan/maonan.ts +++ b/lib/routes/gov/maonan/maonan.ts @@ -30,8 +30,8 @@ export const route: Route = { }; async function handler(ctx) { - let id = ''; - let name = ''; + let id: string; + let name: string; switch (ctx.req.param('category')) { case 'zwgk': diff --git a/lib/routes/gov/mee/nnsa.ts b/lib/routes/gov/mee/nnsa.ts index a03e555967e475..0f1db35d87035d 100644 --- a/lib/routes/gov/mee/nnsa.ts +++ b/lib/routes/gov/mee/nnsa.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('a.cjcx_biaob, ul#div li a') + let items: DataItem[] = $('a.cjcx_biaob, ul#div li a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/gov/moa/gjs.ts b/lib/routes/gov/moa/gjs.ts index 45b7b1ad0be41e..56c65dabcc539f 100644 --- a/lib/routes/gov/moa/gjs.ts +++ b/lib/routes/gov/moa/gjs.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('ul#div li') + let items: DataItem[] = $('ul#div li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/gov/moa/moa.ts b/lib/routes/gov/moa/moa.ts index 3460037170a376..cf86e6fcfafc55 100644 --- a/lib/routes/gov/moa/moa.ts +++ b/lib/routes/gov/moa/moa.ts @@ -247,7 +247,7 @@ function dealLink(element, url) { // host 不同的是外部文章,outside // url 里带 govpublic 的都是公示文章,govpublic // 其他的都算普通文章,normal - let pageType = null; + let pageType: string; if (host === hostUrlObj.host) { pageType = href.includes('gk') || href.includes('govpublic') ? 'govpublic' : 'normal'; } else { diff --git a/lib/routes/gov/mot/index.ts b/lib/routes/gov/mot/index.ts index da2416e1648e84..7c9b58aa0c80db 100644 --- a/lib/routes/gov/mot/index.ts +++ b/lib/routes/gov/mot/index.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.tab-pane a') + let items: DataItem[] = $('div.tab-pane a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/gov/suzhou/news.ts b/lib/routes/gov/suzhou/news.ts index e370c9f138b88c..ccab64c84ead04 100644 --- a/lib/routes/gov/suzhou/news.ts +++ b/lib/routes/gov/suzhou/news.ts @@ -58,10 +58,10 @@ export const route: Route = { async function handler(ctx) { const rootUrl = 'https://www.suzhou.gov.cn'; const uid = ctx.req.param('uid'); - let url = ''; - let title = ''; + let url: string; + let title: string; let apiUrl = ''; - let items = []; + let items: DataItem[]; switch (uid) { case 'szyw': case 'news': diff --git a/lib/routes/gov/zhengce/govall.ts b/lib/routes/gov/zhengce/govall.ts index f39868276b17fa..3afc233d72a19f 100644 --- a/lib/routes/gov/zhengce/govall.ts +++ b/lib/routes/gov/zhengce/govall.ts @@ -71,7 +71,7 @@ async function handler(ctx) { const items = await Promise.all( list.map((item) => cache.tryGet(item.link, async () => { - let description = ''; + let description: string; try { const contentData = await got(item.link); const $ = load(contentData.data); diff --git a/lib/routes/grainoil/category.ts b/lib/routes/grainoil/category.ts index 54e6be4e91a0d6..3e862b855c3f65 100644 --- a/lib/routes/grainoil/category.ts +++ b/lib/routes/grainoil/category.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.m_listpagebox ol li a') + let items: DataItem[] = $('div.m_listpagebox ol li a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/hafu/utils.tsx b/lib/routes/hafu/utils.tsx index bfe3e8376ae9df..224119be40590d 100644 --- a/lib/routes/hafu/utils.tsx +++ b/lib/routes/hafu/utils.tsx @@ -35,7 +35,7 @@ export default parseList; async function tryGetFullText(href, link, type) { let articleData = ''; - let description = ''; + let description: string; // for some unexpected href link try { const articleRes = await got(link); @@ -97,7 +97,7 @@ async function ggtzParse(ctx, $) { const result = await cache.tryGet(link, async () => { const { articleData, description } = await tryGetFullText(href, link, 'ggtz'); let author = ''; - let pubDate = ''; + let pubDate: string; if (typeof articleData === 'function') { const header = articleData('h1').next().text(); const index = header.indexOf('日期'); @@ -176,7 +176,7 @@ async function zsjycParse(ctx, $) { const result = await cache.tryGet(link, async () => { const { articleData, description } = await tryGetFullText(href, link, 'zsjyc'); - let pubDate = ''; + let pubDate: string; if (typeof articleData === 'function') { const date = articleData('span[class=timestyle127702]').text(); pubDate = parseDate(date, 'YYYY-MM-DD HH:mm'); diff --git a/lib/routes/hit/hitgs.ts b/lib/routes/hit/hitgs.ts index a38c24934d9a84..6828262d923ab1 100644 --- a/lib/routes/hit/hitgs.ts +++ b/lib/routes/hit/hitgs.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('li.news, div.tbt17') + let items: DataItem[] = $('li.news, div.tbt17') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/hlju/news.ts b/lib/routes/hlju/news.ts index 82e17b54f8a817..16f667f20a0870 100644 --- a/lib/routes/hlju/news.ts +++ b/lib/routes/hlju/news.ts @@ -100,7 +100,7 @@ async function handler(ctx) { // 提取文章内容 - 只使用主要内容选择器 const content = $detail('.v_news_content'); - let description = ''; + let description: string; if (content.length > 0) { // 清理内容 diff --git a/lib/routes/hongkong/chp.ts b/lib/routes/hongkong/chp.ts index 98d4c6ab09d997..04de3eac81e6de 100644 --- a/lib/routes/hongkong/chp.ts +++ b/lib/routes/hongkong/chp.ts @@ -71,7 +71,7 @@ async function handler(ctx) { }); const list = JSON.parse(response.data.match(/"data":(\[{.*}])}/)[1]).map((item) => { - let link = ''; + let link: string; if (item.UrlPath_en) { link = item[`UrlPath_${language}`].includes('http') ? item[`UrlPath_${language}`] : `${rootUrl}${item[`UrlPath_${language}`]}`; diff --git a/lib/routes/huitun/xiaohongshu.ts b/lib/routes/huitun/xiaohongshu.ts index 1c7b586b29b07c..f16ed870c641f1 100644 --- a/lib/routes/huitun/xiaohongshu.ts +++ b/lib/routes/huitun/xiaohongshu.ts @@ -55,7 +55,7 @@ async function handler(ctx) { const notes = note_data.extData.list; const items = await Promise.all( notes.map(async (item) => { - let desc = ''; + let desc: string; switch (item.type) { case 'normal': desc = `

    `; diff --git a/lib/routes/hupu/utils.ts b/lib/routes/hupu/utils.ts index d0363658d2f1e5..dadc17d8370392 100644 --- a/lib/routes/hupu/utils.ts +++ b/lib/routes/hupu/utils.ts @@ -15,7 +15,7 @@ export function extractNextData(html: string, url?: string): T { try { return JSON.parse(scriptMatch[1]) as T; } catch (error) { - throw new Error(`Failed to parse __NEXT_DATA__ JSON: ${error instanceof Error ? error.message : String(error)}`); + throw new Error(`Failed to parse __NEXT_DATA__ JSON: ${error instanceof Error ? error.message : String(error)}`, { cause: error }); } } diff --git a/lib/routes/indianexpress/section.ts b/lib/routes/indianexpress/section.ts index d58b9a184c6bb1..8e553fda77f1b8 100644 --- a/lib/routes/indianexpress/section.ts +++ b/lib/routes/indianexpress/section.ts @@ -40,9 +40,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = response.slice(0, limit).map((item): DataItem => { + const items: DataItem[] = response.slice(0, limit).map((item): DataItem => { const title: string = item.title?.rendered ?? item.title; const description: string | undefined = item.content.rendered; const pubDate: number | string = item.date_gmt; diff --git a/lib/routes/instagram/common-utils.ts b/lib/routes/instagram/common-utils.ts index d7805006198154..25bd4ab7a261de 100644 --- a/lib/routes/instagram/common-utils.ts +++ b/lib/routes/instagram/common-utils.ts @@ -9,7 +9,7 @@ const renderItems = (items) => // Content const summary = item.caption?.text ?? ''; - let description = ''; + let description: string; switch (productType) { case 'carousel_container': { const images = item.carousel_media.map((i) => ({ diff --git a/lib/routes/instagram/web-api/utils.ts b/lib/routes/instagram/web-api/utils.ts index 560df81725e6d5..c099630a589df1 100644 --- a/lib/routes/instagram/web-api/utils.ts +++ b/lib/routes/instagram/web-api/utils.ts @@ -154,7 +154,7 @@ const renderGuestItems = (items) => { const type = node.__typename; const summary = node.edge_media_to_caption.edges[0]?.node.text ?? ''; - let description = ''; + let description: string; switch (type) { // carousel, can include GraphVideo and GraphImage case 'GraphSidecar': diff --git a/lib/routes/investor/index.ts b/lib/routes/investor/index.ts index b1b2755339d2fa..b87edcb23b137f 100644 --- a/lib/routes/investor/index.ts +++ b/lib/routes/investor/index.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.right_content_item a') + let items: DataItem[] = $('div.right_content_item a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/iqiyi/album.tsx b/lib/routes/iqiyi/album.tsx index 319f78b0aba8c1..ec0157f3658110 100644 --- a/lib/routes/iqiyi/album.tsx +++ b/lib/routes/iqiyi/album.tsx @@ -45,7 +45,7 @@ async function handler(ctx) { } let pos = 1; - let hasMore = false; + let hasMore: boolean; let epgs = []; do { const { diff --git a/lib/routes/iresearch/report.ts b/lib/routes/iresearch/report.ts index 2fc2a1075dd088..9eb20031c95b18 100644 --- a/lib/routes/iresearch/report.ts +++ b/lib/routes/iresearch/report.ts @@ -230,9 +230,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.List.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.List.slice(0, limit).map((item): DataItem => { const title: string = item.reportname ?? (() => { diff --git a/lib/routes/jornada/index.ts b/lib/routes/jornada/index.ts index 30703d43c0b339..05644df1e2845c 100644 --- a/lib/routes/jornada/index.ts +++ b/lib/routes/jornada/index.ts @@ -1,4 +1,4 @@ -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -65,7 +65,7 @@ async function handler(ctx) { const response = await got(url); const data = response.data; - let items = {}; + let items: DataItem[]; if (category) { const newsFilteredByCategory = data.filter((item) => item.category === categories[category]); diff --git a/lib/routes/juejin/pins.ts b/lib/routes/juejin/pins.ts index dc9187a959d57c..86a0fcb407fc55 100644 --- a/lib/routes/juejin/pins.ts +++ b/lib/routes/juejin/pins.ts @@ -37,8 +37,8 @@ async function handler(ctx) { '6824710203112423437': '树洞一下', }; - let url = ''; - let json = {}; + let url: string; + let json: Record; if (/^\d+$/.test(type)) { url = `https://api.juejin.cn/recommend_api/v1/short_msg/topic`; json = { id_type: 4, sort_type: 500, cursor: '0', limit: 20, topic_id: type }; diff --git a/lib/routes/kemono/index.tsx b/lib/routes/kemono/index.tsx index e6571ad739a98c..18fec7103c5d12 100644 --- a/lib/routes/kemono/index.tsx +++ b/lib/routes/kemono/index.tsx @@ -412,6 +412,6 @@ async function handler(ctx) { item: items, }; } catch (error) { - throw new Error(`Failed to fetch data from Kemono: ${error instanceof Error ? error.message : 'Unknown error'}`); + throw new Error(`Failed to fetch data from Kemono: ${error instanceof Error ? error.message : 'Unknown error'}`, { cause: error }); } } diff --git a/lib/routes/kiro/blog.ts b/lib/routes/kiro/blog.ts index 1c17a77814be02..c7b516b6dd7500 100644 --- a/lib/routes/kiro/blog.ts +++ b/lib/routes/kiro/blog.ts @@ -19,9 +19,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('main a.group') + let items: DataItem[] = $('main a.group') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/kiro/changelog.ts b/lib/routes/kiro/changelog.ts index c76e50fd71d6b3..8565b405156ede 100644 --- a/lib/routes/kiro/changelog.ts +++ b/lib/routes/kiro/changelog.ts @@ -19,9 +19,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('a.block') + let items: DataItem[] = $('a.block') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/koyso/index.tsx b/lib/routes/koyso/index.tsx index 5e9fd534f5dd4b..a038f6a39a8785 100644 --- a/lib/routes/koyso/index.tsx +++ b/lib/routes/koyso/index.tsx @@ -38,9 +38,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('a.game_item') + let items: DataItem[] = $('a.game_item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/kpopping/kpics.ts b/lib/routes/kpopping/kpics.ts index 328f366b1a503b..428132b0d08082 100644 --- a/lib/routes/kpopping/kpics.ts +++ b/lib/routes/kpopping/kpics.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.pics div.matrix div.cell') + let items: DataItem[] = $('div.pics div.matrix div.cell') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/kpopping/news.ts b/lib/routes/kpopping/news.ts index 770e529fe6708f..822ee81b34b2f2 100644 --- a/lib/routes/kpopping/news.ts +++ b/lib/routes/kpopping/news.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('section.news-list-item') + let items: DataItem[] = $('section.news-list-item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/liquipedia/dota2-matches.ts b/lib/routes/liquipedia/dota2-matches.ts index 90b7cc06928ce9..8e406daacfaad2 100644 --- a/lib/routes/liquipedia/dota2-matches.ts +++ b/lib/routes/liquipedia/dota2-matches.ts @@ -45,7 +45,7 @@ async function handler(ctx) { link: url, item: list?.toArray().map((item) => { item = $(item); - let message = ''; + let message: string; if (item.attr('style') === 'background:rgb(240, 255, 240)') { message = '胜'; } else if (item.attr('style') === 'background:rgb(249, 240, 242)') { diff --git a/lib/routes/ltaaa/article.ts b/lib/routes/ltaaa/article.ts index 66c2ce872b2e8b..bb2a6c67f5a94d 100644 --- a/lib/routes/ltaaa/article.ts +++ b/lib/routes/ltaaa/article.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('ul.wlist li') + let items: DataItem[] = $('ul.wlist li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/mail/imap.ts b/lib/routes/mail/imap.ts index 5ba9e0159d863e..d5b04750060555 100644 --- a/lib/routes/mail/imap.ts +++ b/lib/routes/mail/imap.ts @@ -48,7 +48,7 @@ async function handler(ctx) { try { await client.connect(); } catch (error) { - throw new Error(error.responseText); + throw new Error(error.responseText, { cause: error }); } /** diff --git a/lib/routes/mathpix/blog.tsx b/lib/routes/mathpix/blog.tsx index a43b200c7225fb..651c68074e09b3 100644 --- a/lib/routes/mathpix/blog.tsx +++ b/lib/routes/mathpix/blog.tsx @@ -33,9 +33,7 @@ export const handler = async (ctx: Context): Promise => { } }); - let items: DataItem[] = []; - - items = $('li.articles__item') + let items: DataItem[] = $('li.articles__item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/maven/central.ts b/lib/routes/maven/central.ts index b5a1717c9dfb2b..c6a1a663482496 100644 --- a/lib/routes/maven/central.ts +++ b/lib/routes/maven/central.ts @@ -72,7 +72,7 @@ async function handler(ctx) { } } catch (error: any) { if (error?.response?.status === 404) { - throw new Error(`Could not find component for ${group}:${artifact}: metadata not found`); + throw new Error(`Could not find component for ${group}:${artifact}: metadata not found`, { cause: error }); } throw error; } diff --git a/lib/routes/mercari/util.tsx b/lib/routes/mercari/util.tsx index 9de7a2000a8ec1..e8d885605a980e 100644 --- a/lib/routes/mercari/util.tsx +++ b/lib/routes/mercari/util.tsx @@ -285,7 +285,7 @@ const fetchFromMercari = async function fetchFromMercari(url: string, data: a try { return await ofetch(url, options); } catch (error) { - throw new Error(`API request failed: ${error}`); + throw new Error(`API request failed: ${error}`, { cause: error }); } }; diff --git a/lib/routes/miniflux/entry.ts b/lib/routes/miniflux/entry.ts index 0090796f86adcd..b2511d53941d40 100644 --- a/lib/routes/miniflux/entry.ts +++ b/lib/routes/miniflux/entry.ts @@ -1,6 +1,6 @@ import { config } from '@/config'; import ConfigNotFoundError from '@/errors/types/config-not-found'; -import type { Data, Route } from '@/types'; +import type { Data, DataItem, Route } from '@/types'; import got from '@/utils/got'; export const route: Route = { @@ -131,7 +131,7 @@ async function handler(ctx) { const entriesID = []; const feedsName = []; - const articles = []; + const articles: DataItem[] = []; // MiniFlux will only preserve the *first* valid filter option // for each parameter, in order to matching the default behavior @@ -162,28 +162,16 @@ async function handler(ctx) { const feedsList = [feedsID.split('&')].flat(); if (limit && queryLimit) { - if (limit < queryLimit) { - queryLimit = limit * feedsList.length; - } else { + if (limit >= queryLimit) { const eachLimit = Number.parseInt(queryLimit / feedsList.length); - if (eachLimit) { - limit = eachLimit; - } else { - limit = 1; - queryLimit = feedsList.length; - } + limit = eachLimit || 1; } parameters += `&limit=${limit}`; } else if (limit) { parameters += `&limit=${limit}`; } else if (queryLimit) { const eachLimit = Number.parseInt(queryLimit / feedsList.length); - if (eachLimit) { - limit = eachLimit; - } else { - limit = 1; - queryLimit = feedsList.length; - } + limit = eachLimit || 1; parameters += `&limit=${limit}`; } @@ -267,7 +255,7 @@ async function handler(ctx) { }); const entries = response.data.entries; - const articles = []; + const articles: DataItem[] = []; for (const entry of entries) { entriesID.push(entry.id); let entryTitle = entry.title; diff --git a/lib/routes/misskey/utils.tsx b/lib/routes/misskey/utils.tsx index 11b66ae82121c3..189d7740b11313 100644 --- a/lib/routes/misskey/utils.tsx +++ b/lib/routes/misskey/utils.tsx @@ -56,7 +56,7 @@ const parseNotes = (data: MisskeyNote[], site: string, simplifyAuthor: boolean = reply: item.reply, }); - let title = ''; + let title: string; if (isReply && item.reply) { const replyToHost = item.reply.user.host ?? site; const replyToAuthor = simplifyAuthor ? item.reply.user.name : `${item.reply.user.name} (${item.reply.user.username}@${replyToHost})`; diff --git a/lib/routes/modrinth/versions.tsx b/lib/routes/modrinth/versions.tsx index 15eab1f3799fe3..4ff061ace61f08 100644 --- a/lib/routes/modrinth/versions.tsx +++ b/lib/routes/modrinth/versions.tsx @@ -140,7 +140,7 @@ async function handler(ctx: Context) { }; } catch (error: any) { if (error?.response?.statusCode === 404) { - throw new Error(`${error.message}: Project ${id} not found`); + throw new Error(`${error.message}: Project ${id} not found`, { cause: error }); } throw error; } diff --git a/lib/routes/musikguru/news.ts b/lib/routes/musikguru/news.ts index a98b390e679912..4bdd53b8fbd5fd 100644 --- a/lib/routes/musikguru/news.ts +++ b/lib/routes/musikguru/news.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'de'; - let items: DataItem[] = []; - - items = $('section') + let items: DataItem[] = $('section') .eq(1) .find('div.card') .slice(0, limit) diff --git a/lib/routes/mycard520/news.ts b/lib/routes/mycard520/news.ts index 1e850e21e55528..256f32d21df6d1 100644 --- a/lib/routes/mycard520/news.ts +++ b/lib/routes/mycard520/news.ts @@ -20,11 +20,9 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-TW'; - let items: DataItem[] = []; - $('div.page_numbers').remove(); - items = $('div#tab1 ul li') + let items: DataItem[] = $('div#tab1 ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/neea/jlpt.ts b/lib/routes/neea/jlpt.ts index e43520e35c4c92..ee42e625b88ecb 100644 --- a/lib/routes/neea/jlpt.ts +++ b/lib/routes/neea/jlpt.ts @@ -19,9 +19,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.indexcontent a') + let items: DataItem[] = $('div.indexcontent a') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/nikkei/cn/index.ts b/lib/routes/nikkei/cn/index.ts index 4489347f71d67b..36defa883fa112 100644 --- a/lib/routes/nikkei/cn/index.ts +++ b/lib/routes/nikkei/cn/index.ts @@ -2,7 +2,7 @@ import { load } from 'cheerio'; import Parser from 'rss-parser'; import { config } from '@/config'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import { getSubPath } from '@/utils/common-utils'; import got from '@/utils/got'; @@ -63,7 +63,7 @@ export const route: Route = { }; async function handler(ctx) { - let language = ''; + let language: string; let path = getSubPath(ctx); if (/^\/cn\/(cn|zh)/.test(path)) { @@ -81,8 +81,8 @@ async function handler(ctx) { let officialFeed; - let items = [], - $; + let items: DataItem[]; + let $; if (isOfficialRSS) { officialFeed = await parser.parseURL(currentUrl); diff --git a/lib/routes/nikkei/news.tsx b/lib/routes/nikkei/news.tsx index 701638da3b4d68..ef28bd5441c07d 100644 --- a/lib/routes/nikkei/news.tsx +++ b/lib/routes/nikkei/news.tsx @@ -29,14 +29,13 @@ export const route: Route = { async function handler(ctx) { const baseUrl = 'https://www.nikkei.com'; const { category, article_type = 'paid' } = ctx.req.param(); - let url = ''; - url = category === 'news' ? `${baseUrl}/news/category/` : `${baseUrl}/${category}/archive/`; + const url = category === 'news' ? `${baseUrl}/news/category/` : `${baseUrl}/${category}/archive/`; const response = await got(url); const data = response.data; const $ = load(data); - let categoryName = ''; + let categoryName: string; const listSelector = $('[class^="container_"] [class^="default_"]:has(article)'); const paidSelector = 'img[class^="icon_"]'; diff --git a/lib/routes/nintendo/utils.ts b/lib/routes/nintendo/utils.ts index e515fdb805083c..ef570d1e68acec 100644 --- a/lib/routes/nintendo/utils.ts +++ b/lib/routes/nintendo/utils.ts @@ -13,7 +13,7 @@ import { renderEshopCnDescription } from './templates/eshop-cn'; dayjs.extend(localizedFormat); function nuxtReader(data) { - let nuxt = {}; + let nuxt: Record; try { const dom = new JSDOM(data, { runScripts: 'dangerously', diff --git a/lib/routes/notefolio/search.tsx b/lib/routes/notefolio/search.tsx index 6cf26f560b99d8..9388ed96b3b48a 100644 --- a/lib/routes/notefolio/search.tsx +++ b/lib/routes/notefolio/search.tsx @@ -182,7 +182,7 @@ async function handler(ctx) { } // 时间范围 if (time !== 'all' && ['one-day', 'week', 'month', 'three-month'].includes(time)) { - let startTime = ''; + let startTime: string; const endTime = dayjs().endOf('d').format('YYYY-MM-DDTHH:mm:ss.SSS'); // 过去24小时-day 最近一周-week 最近一个月-month 最近三个月three-month diff --git a/lib/routes/nowcoder/hots.ts b/lib/routes/nowcoder/hots.ts index 7160f82f7c6fa5..14b1366f03c58d 100644 --- a/lib/routes/nowcoder/hots.ts +++ b/lib/routes/nowcoder/hots.ts @@ -33,7 +33,7 @@ async function handler(ctx) { const limit = Number.parseInt(ctx.req.query('limit') ?? '20', 10); const size = Number.isFinite(limit) && limit > 0 ? limit : 20; - let link = ''; + let link: string; if (type === '1') { link = `https://gw-c.nowcoder.com/api/sparta/subject/hot-subject?limit=${size}&_=${Date.now()}&t=`; const responseBody = (await got.get(link)).data; diff --git a/lib/routes/nyc/mayors-office-news.ts b/lib/routes/nyc/mayors-office-news.ts index af1b5782e946fb..159592d6535872 100644 --- a/lib/routes/nyc/mayors-office-news.ts +++ b/lib/routes/nyc/mayors-office-news.ts @@ -117,7 +117,7 @@ Categories } // Description - let description = ''; + let description: string; description = types ? toTitleCase(cleanedTypes) : 'News'; if (categories) { diff --git a/lib/routes/oncc/money18.ts b/lib/routes/oncc/money18.ts index 391506af7bb613..369add4d239a8c 100644 --- a/lib/routes/oncc/money18.ts +++ b/lib/routes/oncc/money18.ts @@ -1,7 +1,7 @@ import { load } from 'cheerio'; import dayjs from 'dayjs'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; @@ -54,11 +54,11 @@ async function handler(ctx) { const toApiUrl = (date) => `${rootUrl}/cnt/utf8/content/${date}/articleList/list_${id}_all.js`; - let apiUrl = id === 'ipo' ? ipoApiUrl : id === 'industry' ? industryApiUrl : toApiUrl(dayjs().format('YYYYMMDD')), - hasArticle = false, - items = [], - i = 0, - response; + let apiUrl = id === 'ipo' ? ipoApiUrl : id === 'industry' ? industryApiUrl : toApiUrl(dayjs().format('YYYYMMDD')); + let hasArticle = false; + let items: DataItem[]; + let i = 0; + let response; /* eslint-disable no-await-in-loop */ diff --git a/lib/routes/ornl/all-news.ts b/lib/routes/ornl/all-news.ts index cd0ea8b6822c3f..63d4bd566b7ec2 100644 --- a/lib/routes/ornl/all-news.ts +++ b/lib/routes/ornl/all-news.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.view-rows-main div.list-item-wrapper') + let items: DataItem[] = $('div.view-rows-main div.list-item-wrapper') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/oschina/column.ts b/lib/routes/oschina/column.ts index e3d78545fe2149..de8ce4b51977f2 100644 --- a/lib/routes/oschina/column.ts +++ b/lib/routes/oschina/column.ts @@ -24,9 +24,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language: string = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.news-item') + let items: DataItem[] = $('div.news-item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/oschina/event.ts b/lib/routes/oschina/event.ts index 13f8e9e852979f..65eab66a26e15a 100644 --- a/lib/routes/oschina/event.ts +++ b/lib/routes/oschina/event.ts @@ -31,9 +31,7 @@ export const handler = async (ctx: Context): Promise => { const $target: CheerioAPI = load(targetResponse); const language = $target('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('div.event-item') + let items: DataItem[] = $('div.event-item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/oshwhub/explore.ts b/lib/routes/oshwhub/explore.ts index d97c50b687cde9..19776ea9e1859b 100644 --- a/lib/routes/oshwhub/explore.ts +++ b/lib/routes/oshwhub/explore.ts @@ -70,9 +70,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.result.lists.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.result.lists.slice(0, limit).map((item): DataItem => { const title: string = item.name; const image: string | undefined = item.thumb?.startsWith('https:') ? item.thumb : `https:${item.thumb}`; const description: string | undefined = renderDescription({ diff --git a/lib/routes/picnob.info/user.ts b/lib/routes/picnob.info/user.ts index d9fc359b991a64..4160f53ca45f6f 100644 --- a/lib/routes/picnob.info/user.ts +++ b/lib/routes/picnob.info/user.ts @@ -42,7 +42,7 @@ export const route: Route = { const renderVideo = (video, poster) => ``; const renderImage = (src) => ``; const renderDescription = (type: Post['postType'], item: Post | Story) => { - let media = ''; + let media: string; switch (type) { case 'carousel': media = item.albumItems diff --git a/lib/routes/pikabu/utils.ts b/lib/routes/pikabu/utils.ts index db1cc27f5b9e79..c279a2ef76cc75 100644 --- a/lib/routes/pikabu/utils.ts +++ b/lib/routes/pikabu/utils.ts @@ -19,7 +19,7 @@ const fixVideo = (element) => { .attr('style') .match(/url\((.+)\);/)[1]; const dataType = element.attr('data-type'); - let videoHtml = ''; + let videoHtml: string; if (dataType === 'video') { const videoId = element.attr('data-source').match(/\/embed\/(.+)$/)[1]; diff --git a/lib/routes/pingwest/user.ts b/lib/routes/pingwest/user.ts index 0cdd51c9cc565b..3fe00a1a8e6ae9 100644 --- a/lib/routes/pingwest/user.ts +++ b/lib/routes/pingwest/user.ts @@ -71,7 +71,7 @@ async function handler(ctx) { }); const $ = load(response.data.data.list); - let item = []; + let item: DataItem[]; const needFullText = option === 'fulltext'; switch (type) { case 'article': diff --git a/lib/routes/pixelstech/index.ts b/lib/routes/pixelstech/index.ts index 8fa99f48145d34..254566ad4fb36d 100644 --- a/lib/routes/pixelstech/index.ts +++ b/lib/routes/pixelstech/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.feed-item') + let items: DataItem[] = $('div.feed-item') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/pixiv/novel-api/content/utils.ts b/lib/routes/pixiv/novel-api/content/utils.ts index b440798dd3ad1d..ef5ec5629f1f52 100644 --- a/lib/routes/pixiv/novel-api/content/utils.ts +++ b/lib/routes/pixiv/novel-api/content/utils.ts @@ -131,6 +131,6 @@ export async function parseNovelContent(content: string, images: Record => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('table.views-table tbody tr') + let items: DataItem[] = $('table.views-table tbody tr') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/psyche/utils.ts b/lib/routes/psyche/utils.ts index 08f35f6b045ef5..c8dc72f17b104a 100644 --- a/lib/routes/psyche/utils.ts +++ b/lib/routes/psyche/utils.ts @@ -26,8 +26,8 @@ function format(article) { const type = article.type.toLowerCase(); let block = ''; - let banner = ''; - let authorsBio = ''; + let banner: string; + let authorsBio: string; switch (type) { case 'film': @@ -89,8 +89,7 @@ const getData = async (list) => { }) ); - let authors = ''; - authors = article.type === 'film' ? article.creditsShort : article.authors.map((author) => author.name).join(', '); + const authors: string = article.type === 'film' ? article.creditsShort : article.authors.map((author) => author.name).join(', '); item.description = capture.html(); item.author = authors; diff --git a/lib/routes/python/release.ts b/lib/routes/python/release.ts index d34555abbccd21..e55b1045337fea 100644 --- a/lib/routes/python/release.ts +++ b/lib/routes/python/release.ts @@ -19,9 +19,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.active-release-list-widget ol.list-row-container li') + let items: DataItem[] = $('div.active-release-list-widget ol.list-row-container li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/qdu/houqin.ts b/lib/routes/qdu/houqin.ts index 2303edb7d2a5e9..d8b3adf746645b 100644 --- a/lib/routes/qdu/houqin.ts +++ b/lib/routes/qdu/houqin.ts @@ -48,7 +48,6 @@ async function handler() { const path = item.find('a').attr('href'); const itemUrl = base + path; return cache.tryGet(itemUrl, async () => { - let description = ''; const result = await got(itemUrl); const $ = load(result.data); if ( @@ -69,7 +68,7 @@ async function handler() { 8 ); } - description = $('.v_news_content').html().trim(); + const description = $('.v_news_content').html()?.trim(); return { title: itemTitle, diff --git a/lib/routes/qdu/jwc.ts b/lib/routes/qdu/jwc.ts index b79f98abdfad83..9c9714efd0d0a9 100644 --- a/lib/routes/qdu/jwc.ts +++ b/lib/routes/qdu/jwc.ts @@ -49,7 +49,7 @@ async function handler() { let itemUrl = ''; itemUrl = path.startsWith('http') ? path : base + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; if (path.startsWith('http')) { description = itemTitle; } else { diff --git a/lib/routes/qlu/notice.ts b/lib/routes/qlu/notice.ts index 7609557929ae50..476efdc6ea9820 100644 --- a/lib/routes/qlu/notice.ts +++ b/lib/routes/qlu/notice.ts @@ -49,7 +49,7 @@ async function handler() { const path = item.find('.news_title').children().attr('href'); const itemUrl = path.startsWith('https') ? path : host + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; if (path.startsWith('https')) { description = itemTitle; } else { diff --git a/lib/routes/qq/lol/news.ts b/lib/routes/qq/lol/news.ts index 80dcc36b5a4fdf..7bec8ca1b09650 100644 --- a/lib/routes/qq/lol/news.ts +++ b/lib/routes/qq/lol/news.ts @@ -34,9 +34,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(iconv.decode(Buffer.from(targetResponse), 'gbk')); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = response.data.result.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.result.slice(0, limit).map((item): DataItem => { const title: string = item.sTitle; const pubDate: number | string = item.sCreated; const linkUrl: string | undefined = item.iDocID ? `${item.iVideoId ? 'v/v2' : 'news'}/detail.shtml?docid=${item.iDocID}` : undefined; diff --git a/lib/routes/qq/pd/guild.ts b/lib/routes/qq/pd/guild.ts index 9bbfddcf74fecf..a56733d7bb89e6 100644 --- a/lib/routes/qq/pd/guild.ts +++ b/lib/routes/qq/pd/guild.ts @@ -56,7 +56,7 @@ async function handler(ctx: Context): Promise { } const sortType = sortMap[sort]; - let url = ''; + let url: string; let body = {}; let headers = {}; diff --git a/lib/routes/qq/pd/utils.ts b/lib/routes/qq/pd/utils.ts index 988b1b5c0dc29a..9ebdf4abc1fcc1 100644 --- a/lib/routes/qq/pd/utils.ts +++ b/lib/routes/qq/pd/utils.ts @@ -37,7 +37,7 @@ function parseText(text: string, props: FeedFontProps | undefined): string { } function parseDataItem(item: FeedPatternData, texts: string[], images: { [id: string]: FeedImage }): string { - let imageId = ''; + let imageId: string; switch (patternTypeMap[item.type] || undefined) { case 'text': return parseText(texts.shift() ?? '', item.props); diff --git a/lib/routes/raspberrypi/magazine.ts b/lib/routes/raspberrypi/magazine.ts index 666abd77791f86..9490a0d8454e21 100644 --- a/lib/routes/raspberrypi/magazine.ts +++ b/lib/routes/raspberrypi/magazine.ts @@ -21,11 +21,9 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - const author: DataItem['author'] = $('meta[property="og:site_name"]').attr('content'); - items = $('div.o-grid--equal div.o-grid__col') + let items: DataItem[] = $('div.o-grid--equal div.o-grid__col') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/rockthejvm/articles.ts b/lib/routes/rockthejvm/articles.ts index a75dc0df633699..68a2d6df817a4e 100644 --- a/lib/routes/rockthejvm/articles.ts +++ b/lib/routes/rockthejvm/articles.ts @@ -23,9 +23,7 @@ export const handler = async (ctx: Context): Promise => { $('footer').remove(); - let items: DataItem[] = []; - - items = $('h2') + let items: DataItem[] = $('h2') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/samrdprc/index.ts b/lib/routes/samrdprc/index.ts index 38da5cd8ab5443..eca84611e45174 100644 --- a/lib/routes/samrdprc/index.ts +++ b/lib/routes/samrdprc/index.ts @@ -20,9 +20,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('div.boxl_ul ul li') + let items: DataItem[] = $('div.boxl_ul ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/sass/gs/index.ts b/lib/routes/sass/gs/index.ts index c3ea0e9ebf6d3b..4bda148e535df1 100644 --- a/lib/routes/sass/gs/index.ts +++ b/lib/routes/sass/gs/index.ts @@ -48,7 +48,7 @@ async function handler(ctx) { const itemUrl = path.startsWith('http') ? path : host + path; return cache.tryGet(itemUrl, async () => { - let description = ''; + let description: string; if (itemUrl) { const result = await got(itemUrl); const $ = load(result.data); diff --git a/lib/routes/sciencedirect/call-for-paper.tsx b/lib/routes/sciencedirect/call-for-paper.tsx index d43200ef0deda1..f1903b0b46bb10 100644 --- a/lib/routes/sciencedirect/call-for-paper.tsx +++ b/lib/routes/sciencedirect/call-for-paper.tsx @@ -42,7 +42,7 @@ async function handler(ctx) { try { data = JSON.parse(JSON.parse(scriptJSON)); } catch (error: any) { - throw new Error(`Failed to parse embedded script JSON: ${error.message}`); + throw new Error(`Failed to parse embedded script JSON: ${error.message}`, { cause: error }); } const cfpList = data?.callsForPapers?.list || []; diff --git a/lib/routes/scientificamerican/podcast.ts b/lib/routes/scientificamerican/podcast.ts index 6a65d41537b42d..b4d24e6c3a310f 100644 --- a/lib/routes/scientificamerican/podcast.ts +++ b/lib/routes/scientificamerican/podcast.ts @@ -24,9 +24,7 @@ export const handler = async (ctx: Context): Promise => { const data: string | undefined = response.match(/window\.__DATA__=JSON\.parse\(`(.*?)`\)/)?.[1]; const parsedData = data ? JSON.parse(data.replaceAll('\\\\', '\\')) : undefined; - let items: DataItem[] = []; - - items = parsedData + let items: DataItem[] = parsedData ? parsedData.initialData.props.results.slice(0, limit).map((item): DataItem => { const title: string = item.title; const image: string | undefined = item.image_url; diff --git a/lib/routes/scoop/apps.tsx b/lib/routes/scoop/apps.tsx index e5e9dc32de10a8..6d7cefa875606c 100644 --- a/lib/routes/scoop/apps.tsx +++ b/lib/routes/scoop/apps.tsx @@ -92,9 +92,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.value.slice(0, limit).map((item): DataItem => { + const items: DataItem[] = response.value.slice(0, limit).map((item): DataItem => { const repositorySplits: string[] = item.Metadata.Repository.split(/\//); const repositoryName: string = repositorySplits.slice(-2).join('/'); const title = `${item.Name} ${item.Version} in ${repositoryName}`; diff --git a/lib/routes/scpta/news.ts b/lib/routes/scpta/news.ts index 90003dab1f40ce..1a8696e91222f9 100644 --- a/lib/routes/scpta/news.ts +++ b/lib/routes/scpta/news.ts @@ -68,7 +68,7 @@ async function handler(ctx) { const items = await Promise.all( list.map((item) => cache.tryGet(item.link, async () => { - let description = ''; + let description: string; try { const contentResponse = await got(item.link); const content = load(contentResponse.data); diff --git a/lib/routes/sdo/ff14risingstones/utils.tsx b/lib/routes/sdo/ff14risingstones/utils.tsx index 0d937660a27ce3..8839437e198110 100644 --- a/lib/routes/sdo/ff14risingstones/utils.tsx +++ b/lib/routes/sdo/ff14risingstones/utils.tsx @@ -159,7 +159,7 @@ export async function generateDynamicFeeds(dynamics: UserDynamic[]) { let title = `${dynamic.character_name}@${dynamic.group_name} ${dynamic.mask_content}`; let link: string | undefined; let description: string | undefined; - let detail: PostDetail | DutiesPartyDetail | FreeCompanyPartyDetail | NoviceNetworkParty | null = null; + let detail: PostDetail | DutiesPartyDetail | FreeCompanyPartyDetail | NoviceNetworkParty | null; switch (dynamic.from) { case DynamicSource.Post: diff --git a/lib/routes/sega/pjsekai.ts b/lib/routes/sega/pjsekai.ts index 3e164b46c8565b..3bcf376602d995 100644 --- a/lib/routes/sega/pjsekai.ts +++ b/lib/routes/sega/pjsekai.ts @@ -35,8 +35,8 @@ async function handler() { const posts = response.data || []; const list = await Promise.all( posts.map(async (post) => { - let link = ''; - let description = ''; + let link: string; + let description: string; const guid = post.displayOrder.toString() + post.id.toString(); // 双ID if (post.path.startsWith('information/')) { // information 公告 diff --git a/lib/routes/semiconductors/index.ts b/lib/routes/semiconductors/index.ts index 3790a62bdba873..3fc271130d6738 100644 --- a/lib/routes/semiconductors/index.ts +++ b/lib/routes/semiconductors/index.ts @@ -22,9 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.col-sm-8') + let items: DataItem[] = $('div.col-sm-8') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/setn/index.ts b/lib/routes/setn/index.ts index 952012c7d2e033..e89573d4bacd8e 100644 --- a/lib/routes/setn/index.ts +++ b/lib/routes/setn/index.ts @@ -120,7 +120,7 @@ async function handler(ctx) { const content = load(detailResponse.data); - let head = {}; + let head: Record; try { head = JSON.parse(content('script[type="application/ld+json"]').first().text()); } catch { diff --git a/lib/routes/sspai/series-update.ts b/lib/routes/sspai/series-update.ts index 62f8638a28ad53..c57a9ee5e55079 100644 --- a/lib/routes/sspai/series-update.ts +++ b/lib/routes/sspai/series-update.ts @@ -34,7 +34,7 @@ async function handler(ctx) { const items = await Promise.all( response.data.data.map(async (item) => { - let description = ''; + let description: string; if (item.probation) { const res = await got(`https://sspai.com/api/v1/article/info/get?id=${item.id}&view=second&support_webp=true`); description = res.data.data.body; diff --git a/lib/routes/stcn/index.ts b/lib/routes/stcn/index.ts index 9fd2a955e82cad..9f9b2b20d40a62 100644 --- a/lib/routes/stcn/index.ts +++ b/lib/routes/stcn/index.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = $('ul.infinite-list li') + let items: DataItem[] = $('ul.infinite-list li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/stcn/kx.ts b/lib/routes/stcn/kx.ts index e3766fc82cc862..d580f65bd3e845 100644 --- a/lib/routes/stcn/kx.ts +++ b/lib/routes/stcn/kx.ts @@ -30,9 +30,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string = item.content; const pubDate: number | string = item.time; diff --git a/lib/routes/stcn/rank.ts b/lib/routes/stcn/rank.ts index 6671db552ea0c0..9ad5abc95d0b81 100644 --- a/lib/routes/stcn/rank.ts +++ b/lib/routes/stcn/rank.ts @@ -30,9 +30,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const linkUrl: string | undefined = item.url; diff --git a/lib/routes/surfshark/blog.ts b/lib/routes/surfshark/blog.ts index bf95e8c50ba06a..bc3de6db6d70db 100644 --- a/lib/routes/surfshark/blog.ts +++ b/lib/routes/surfshark/blog.ts @@ -31,9 +31,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.dg-article-single-card') + let items: DataItem[] = $('div.dg-article-single-card') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/taobao/mysql.ts b/lib/routes/taobao/mysql.ts index e516ddaa0090db..b545430bd25a56 100644 --- a/lib/routes/taobao/mysql.ts +++ b/lib/routes/taobao/mysql.ts @@ -19,10 +19,9 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; let count = 0; - items = await Promise.all( + let items: DataItem[] = await Promise.all( $('h3 a.main') .toArray() .map(async (monthlyEl): Promise => { diff --git a/lib/routes/tencent/news/coronavirus/data.tsx b/lib/routes/tencent/news/coronavirus/data.tsx index cfec69ede6a25e..392a04c89d189f 100644 --- a/lib/routes/tencent/news/coronavirus/data.tsx +++ b/lib/routes/tencent/news/coronavirus/data.tsx @@ -25,12 +25,8 @@ async function handler(ctx) { const nationalData = areaTree?.[0]; const provinceList = nationalData?.children; - let todayConfirm = 0; - let totalNowConfirm = 0; - let totalConfirm = 0; - let totalDead = 0; - let coronavirusData = {}; - let placeName = ''; + let coronavirusData: Record; + let placeName: string; if (!province || province === '中国' || province === '全国') { // 没有传参则取全国 @@ -51,10 +47,10 @@ async function handler(ctx) { if (!coronavirusData) { throw new InvalidParameterError(`未找到 ${placeName} 的疫情数据,请检查输入的省市名称是否正确`); } - todayConfirm = coronavirusData.today?.confirm; - totalNowConfirm = coronavirusData.total?.nowConfirm; - totalConfirm = coronavirusData.total?.confirm; - totalDead = coronavirusData.total?.dead; + const todayConfirm = coronavirusData.today?.confirm; + const totalNowConfirm = coronavirusData.total?.nowConfirm; + const totalConfirm = coronavirusData.total?.confirm; + const totalDead = coronavirusData.total?.dead; const pubDate = parseDate(coronavirusData.total?.mtime || lastUpdateTime); const title = `${placeName} - 腾讯新闻 - 新型冠状病毒肺炎疫情实时追踪`; diff --git a/lib/routes/tencent/qq/sdk/changelog.ts b/lib/routes/tencent/qq/sdk/changelog.ts index 6ff1a0ca20b5e6..bd4fc261567f39 100644 --- a/lib/routes/tencent/qq/sdk/changelog.ts +++ b/lib/routes/tencent/qq/sdk/changelog.ts @@ -25,8 +25,8 @@ export const route: Route = { async function handler(ctx) { const platform = ctx.req.param('platform'); - let title = ''; - let link = ''; + let title: string; + let link: string; if (platform === 'iOS') { title = 'iOS SDK 历史变更'; link = 'https://wiki.connect.qq.com/ios_sdk历史变更'; diff --git a/lib/routes/thebrain/blog.tsx b/lib/routes/thebrain/blog.tsx index 1d8588207d5306..85a882ddc10f28 100644 --- a/lib/routes/thebrain/blog.tsx +++ b/lib/routes/thebrain/blog.tsx @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('div.blog-row') + let items: DataItem[] = $('div.blog-row') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/tidb/blog.ts b/lib/routes/tidb/blog.ts index 0001a58638acf2..c62845f2eea891 100644 --- a/lib/routes/tidb/blog.ts +++ b/lib/routes/tidb/blog.ts @@ -87,9 +87,7 @@ export const handler = async (ctx: Context): Promise => { }, }); - let items: DataItem[] = []; - - items = response.pageProps.blogs.content.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.pageProps.blogs.content.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string | undefined = item.summary; const pubDate: number | string = item.publishedAt; diff --git a/lib/routes/tju/cic/index.ts b/lib/routes/tju/cic/index.ts index 6ce3a999b782a3..21e80d4ef5e4d5 100644 --- a/lib/routes/tju/cic/index.ts +++ b/lib/routes/tju/cic/index.ts @@ -104,9 +104,8 @@ async function handler(ctx) { case 'tju-cic': case 'in-site': return cache.tryGet(item.link, async () => { - let detailResponse = null; try { - detailResponse = await got(item.link); + const detailResponse = await got(item.link); const content = load(detailResponse.data); item.pubDate = timezone(parseDate(content('.news_info > span').first().text(), 'YYYY年MM月DD日 HH:mm'), +8); content('.news_tit').remove(); diff --git a/lib/routes/tju/news/index.ts b/lib/routes/tju/news/index.ts index e5d0b116fafb95..a90598c58e65e0 100644 --- a/lib/routes/tju/news/index.ts +++ b/lib/routes/tju/news/index.ts @@ -116,10 +116,9 @@ async function handler(ctx) { case 'tju-news': case 'in-site': return cache.tryGet(item.link, async () => { - let detailResponse = null; try { delete item.type; - detailResponse = await got(item.link); + const detailResponse = await got(item.link); const content = load(detailResponse.data); item.pubDate = timezone( parseDate( diff --git a/lib/routes/tju/oaa/index.ts b/lib/routes/tju/oaa/index.ts index 90e9420c4c5140..ea1da97f1b38c9 100644 --- a/lib/routes/tju/oaa/index.ts +++ b/lib/routes/tju/oaa/index.ts @@ -110,9 +110,8 @@ async function handler(ctx) { case 'tju-oaa': case 'in-site': return cache.tryGet(item.link, async () => { - let detailResponse = null; try { - detailResponse = await got(item.link); + const detailResponse = await got(item.link); const content = load(detailResponse.data); item.description = content('.v_news_content').html(); } catch { diff --git a/lib/routes/tju/yzb/index.ts b/lib/routes/tju/yzb/index.ts index 8f7f6147d0c629..e383912409c876 100644 --- a/lib/routes/tju/yzb/index.ts +++ b/lib/routes/tju/yzb/index.ts @@ -114,9 +114,8 @@ async function handler(ctx) { case 'tju-yzb': case 'in-site': return cache.tryGet(item.link, async () => { - let detailResponse = null; try { - detailResponse = await got(item.link, { responseType: 'buffer' }); + const detailResponse = await got(item.link, { responseType: 'buffer' }); const content = load(iconv.decode(detailResponse.data, 'gbk')); content('.font_18_b').remove(); content('.font_grey_en').remove(); diff --git a/lib/routes/tmtpost/util.ts b/lib/routes/tmtpost/util.ts index 14290bb318642d..622e5d9f33b2e6 100644 --- a/lib/routes/tmtpost/util.ts +++ b/lib/routes/tmtpost/util.ts @@ -29,9 +29,7 @@ const processItems = async (limit: number, query: Record, apiUrl: s const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = response.data.slice(0, limit).map((item): DataItem => { + let items: DataItem[] = response.data.slice(0, limit).map((item): DataItem => { const title: string = item.title; const description: string = renderDescription({ intro: item.summary, diff --git a/lib/routes/twitter/utils.ts b/lib/routes/twitter/utils.ts index 179a1458c9314b..45b05d422b0e97 100644 --- a/lib/routes/twitter/utils.ts +++ b/lib/routes/twitter/utils.ts @@ -4,7 +4,7 @@ import { fallback, queryToBoolean, queryToInteger } from '@/utils/readable-socia const getQueryParams = (url) => Object.fromEntries(new URL(url).searchParams.entries()); const getOriginalImg = (url) => { // https://greasyfork.org/zh-CN/scripts/2312-resize-image-on-open-image-in-new-tab/code#n150 - let m = null; + let m: RegExpMatchArray | null; if ((m = url.match(/^(https?:\/\/\w+\.twimg\.com\/media\/[^/:]+)\.(jpg|jpeg|gif|png|bmp|webp)(:\w+)?$/i))) { let format = m[2]; if (m[2] === 'jpeg') { diff --git a/lib/routes/twreporter/fetch-article.ts b/lib/routes/twreporter/fetch-article.ts index 450407635b3e0b..7a16cc8d5b0b65 100644 --- a/lib/routes/twreporter/fetch-article.ts +++ b/lib/routes/twreporter/fetch-article.ts @@ -17,7 +17,7 @@ export default async function fetch(slug: string) { } // For `photography`, if it exists - let photographers = ''; + let photographers: string; if (post.photographers) { photographers = post.photographers .map((photographer) => { diff --git a/lib/routes/uraaka-joshi/uraaka-joshi-user.ts b/lib/routes/uraaka-joshi/uraaka-joshi-user.ts index 51933cbd9015e5..aa7cad586a1ce4 100644 --- a/lib/routes/uraaka-joshi/uraaka-joshi-user.ts +++ b/lib/routes/uraaka-joshi/uraaka-joshi-user.ts @@ -50,7 +50,7 @@ async function handler(ctx) { } }); - let html = ''; + let html: string; try { await page.goto(link, { waitUntil: 'domcontentloaded', diff --git a/lib/routes/uraaka-joshi/uraaka-joshi.ts b/lib/routes/uraaka-joshi/uraaka-joshi.ts index e10b6ab8a47030..1aef1cf8d76ba9 100644 --- a/lib/routes/uraaka-joshi/uraaka-joshi.ts +++ b/lib/routes/uraaka-joshi/uraaka-joshi.ts @@ -38,7 +38,7 @@ async function handler() { } }); - let html = ''; + let html: string; try { await page.goto(link, { waitUntil: 'domcontentloaded', diff --git a/lib/routes/ustc/eeis.ts b/lib/routes/ustc/eeis.ts index f0f29b98d33923..720ac4746c879d 100644 --- a/lib/routes/ustc/eeis.ts +++ b/lib/routes/ustc/eeis.ts @@ -71,7 +71,7 @@ async function handler(ctx) { const items = await Promise.all( list.map((item) => cache.tryGet(item.link, async () => { - let desc = ''; + let desc: string; try { const response = await got(item.link); desc = load(response.data)('div.wp_articlecontent').html(); diff --git a/lib/routes/ustc/gs.ts b/lib/routes/ustc/gs.ts index 4db48abd313dbe..6b88fa15775ab2 100644 --- a/lib/routes/ustc/gs.ts +++ b/lib/routes/ustc/gs.ts @@ -70,7 +70,7 @@ async function handler(ctx) { items = await Promise.all( items.map((item) => cache.tryGet(item.link, async () => { - let desc = ''; + let desc: string; try { const response = await got(item.link); desc = load(response.data)('article.article').html(); diff --git a/lib/routes/ustc/math.ts b/lib/routes/ustc/math.ts index 4b216dd9f1ddc4..d95b8dc01eb14a 100644 --- a/lib/routes/ustc/math.ts +++ b/lib/routes/ustc/math.ts @@ -74,7 +74,7 @@ async function handler(ctx) { items = await Promise.all( items.map((item) => cache.tryGet(item.link, async () => { - let desc = ''; + let desc: string; try { const response = await got(item.link); desc = load(response.data)('div.wp_articlecontent').html(); diff --git a/lib/routes/ustc/scms.ts b/lib/routes/ustc/scms.ts index 0195aad6c2b7ec..da9bfef35cb49e 100644 --- a/lib/routes/ustc/scms.ts +++ b/lib/routes/ustc/scms.ts @@ -77,7 +77,7 @@ async function handler(ctx) { items = await Promise.all( items.map((item) => cache.tryGet(item.link, async () => { - let desc = ''; + let desc: string; try { const response = await got(item.link); desc = load(response.data)('div.wp_articlecontent').html(); diff --git a/lib/routes/ustc/sist.ts b/lib/routes/ustc/sist.ts index bd9a0e4a50f8fe..2246674f2ed144 100644 --- a/lib/routes/ustc/sist.ts +++ b/lib/routes/ustc/sist.ts @@ -71,7 +71,7 @@ async function handler(ctx) { items = await Promise.all( items.map((item) => cache.tryGet(item.link, async () => { - let desc = ''; + let desc: string; try { const response = await got(item.link); desc = load(response.data)('div.wp_articlecontent').html(); diff --git a/lib/routes/wainao/topics.tsx b/lib/routes/wainao/topics.tsx index 0383f03312778a..1d935b9f3ad3d5 100644 --- a/lib/routes/wainao/topics.tsx +++ b/lib/routes/wainao/topics.tsx @@ -50,9 +50,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(targetResponse); const language = $('html').attr('lang') ?? 'zh-CN'; - let items: DataItem[] = []; - - items = response.content_elements + const items: DataItem[] = response.content_elements .slice(0, limit) .map((item): DataItem => { const title: string = item.headlines.basic; diff --git a/lib/routes/wdfxw/bookfree.tsx b/lib/routes/wdfxw/bookfree.tsx index 9a6c78ddfc3dbc..417baad9108c98 100644 --- a/lib/routes/wdfxw/bookfree.tsx +++ b/lib/routes/wdfxw/bookfree.tsx @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('meta[http-equiv="Content-Language"]').attr('content') ?? 'zh-cn'; - let items: DataItem[] = []; - - items = $('ul.camWholeBoxUl li') + let items: DataItem[] = $('ul.camWholeBoxUl li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/weibo/search/hot.tsx b/lib/routes/weibo/search/hot.tsx index f2b1042ab37a6d..25abbc8163b817 100644 --- a/lib/routes/weibo/search/hot.tsx +++ b/lib/routes/weibo/search/hot.tsx @@ -3,7 +3,7 @@ import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; import { config } from '@/config'; -import type { Route } from '@/types'; +import type { DataItem, Route } from '@/types'; import { ViewType } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; @@ -72,7 +72,7 @@ async function handler(ctx) { return _r; }); - let resultItems = null; + let resultItems: DataItem[]; if (ctx.req.param('fulltext') === 'fulltext') { const cardslist = data.cards[0].card_group; // Topic List diff --git a/lib/routes/whu/rsgis.ts b/lib/routes/whu/rsgis.ts index f9966ce0a72121..c1cb00755d98a9 100644 --- a/lib/routes/whu/rsgis.ts +++ b/lib/routes/whu/rsgis.ts @@ -255,7 +255,7 @@ export const route: Route = { `, handler: async (ctx: Context) => { const { type = 'index', sub = 'all' } = ctx.req.param(); - let itemList: DataItem[] = []; + let itemList: DataItem[]; switch (type) { case 'index': itemList = await handleIndex(); diff --git a/lib/routes/wikipedia/current-events.ts b/lib/routes/wikipedia/current-events.ts index c10ec147f5b246..8ae433d945ec2a 100644 --- a/lib/routes/wikipedia/current-events.ts +++ b/lib/routes/wikipedia/current-events.ts @@ -398,7 +398,7 @@ async function handler(ctx) { }; } catch (error) { const message = error instanceof Error ? error.message : String(error); - throw new Error(`Failed to fetch Wikipedia current events: ${message}`); + throw new Error(`Failed to fetch Wikipedia current events: ${message}`, { cause: error }); } } function determineDates(includeToday: any) { diff --git a/lib/routes/x410/news.ts b/lib/routes/x410/news.ts index 6f41f719f1d71f..ed6b84f751e5d1 100644 --- a/lib/routes/x410/news.ts +++ b/lib/routes/x410/news.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'en'; - let items: DataItem[] = []; - - items = $('article.post') + let items: DataItem[] = $('article.post') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/xbmu/academic.ts b/lib/routes/xbmu/academic.ts index 797852af12c9fe..d824e55b44e1bc 100644 --- a/lib/routes/xbmu/academic.ts +++ b/lib/routes/xbmu/academic.ts @@ -70,7 +70,7 @@ const handler: Route['handler'] = async () => { id: 'https://rsshub.app/xbmu/academic', }; } catch (error) { - throw new Error(`Error fetching academic information: ${error}`); + throw new Error(`Error fetching academic information: ${error}`, { cause: error }); } }; diff --git a/lib/routes/xbmu/announcement.ts b/lib/routes/xbmu/announcement.ts index 5c5ff50e3da176..8fcd834b591155 100644 --- a/lib/routes/xbmu/announcement.ts +++ b/lib/routes/xbmu/announcement.ts @@ -70,7 +70,7 @@ const handler: Route['handler'] = async () => { id: 'https://rsshub.app/xbmu/announcement', }; } catch (error) { - throw new Error(`Error fetching announcements: ${error}`); + throw new Error(`Error fetching announcements: ${error}`, { cause: error }); } }; diff --git a/lib/routes/xianbao/index.ts b/lib/routes/xianbao/index.ts index 20864188f79668..fc77de5efaaf18 100644 --- a/lib/routes/xianbao/index.ts +++ b/lib/routes/xianbao/index.ts @@ -64,7 +64,7 @@ export const route: Route = { async function handler(ctx) { const categoryParam = ctx.req.param() || { category: 'latest' }; - let urlPath = ''; + let urlPath: string; const category = categoryParam.category || 'latest'; diff --git a/lib/routes/xjtu/zs.ts b/lib/routes/xjtu/zs.ts index 49bbb81f7d2738..edf32ef009d61b 100644 --- a/lib/routes/xjtu/zs.ts +++ b/lib/routes/xjtu/zs.ts @@ -21,9 +21,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('section.TextList ul li') + let items: DataItem[] = $('section.TextList ul li') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/yamibo/utils.ts b/lib/routes/yamibo/utils.ts index 354cda65120e83..437d5d14a114c4 100644 --- a/lib/routes/yamibo/utils.ts +++ b/lib/routes/yamibo/utils.ts @@ -79,7 +79,7 @@ export async function fetchThread( }; } } - return await fetchThread(tid, options, ++retry); + return await fetchThread(tid, options, retry + 1); } return { diff --git a/lib/routes/ynet/list.ts b/lib/routes/ynet/list.ts index 35fd9c9646888a..fb92d0ed35775d 100644 --- a/lib/routes/ynet/list.ts +++ b/lib/routes/ynet/list.ts @@ -62,9 +62,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = $('html').attr('lang') ?? 'zh'; - let items: DataItem[] = []; - - items = $('li.cfix') + let items: DataItem[] = $('li.cfix') .slice(0, limit) .toArray() .map((el): Element => { diff --git a/lib/routes/yuque/utils.ts b/lib/routes/yuque/utils.ts index 58d719964b4533..44f4f4953a608a 100644 --- a/lib/routes/yuque/utils.ts +++ b/lib/routes/yuque/utils.ts @@ -2,7 +2,7 @@ const card2Html = (elem, link) => { const name = elem.attr('name'); const data = elem.attr('value')?.split('data:')[1]?.replace('undefined', ''); const value = JSON.parse(decodeURIComponent(data || '[]')); - let html = ''; + let html: string; switch (name) { case 'board': case 'emoji': diff --git a/lib/routes/zhibo8/more.ts b/lib/routes/zhibo8/more.ts index 3a8f67818563b1..9d57a993c86dea 100644 --- a/lib/routes/zhibo8/more.ts +++ b/lib/routes/zhibo8/more.ts @@ -46,10 +46,10 @@ async function handler(ctx) { const rootUrl = 'https://news.zhibo8.cc'; - let list, - apiUrl = '', - currentUrl = '', - response; + let list; + let apiUrl: string; + let currentUrl: string; + let response; if (category === 'nba' || category === 'zuqiu') { currentUrl = `${rootUrl}/${category}/more.htm`; diff --git a/lib/routes/zhihu/topic.ts b/lib/routes/zhihu/topic.ts index da7fb17326f557..3ced96358b919a 100644 --- a/lib/routes/zhihu/topic.ts +++ b/lib/routes/zhihu/topic.ts @@ -62,7 +62,7 @@ async function handler(ctx) { const items = response.data.map(({ target: item }) => { const type = item.type; let title = ''; - let description = ''; + let description: string; let link = ''; let pubDate: Date; let author = ''; diff --git a/lib/routes/zhihu/xhu/collection.ts b/lib/routes/zhihu/xhu/collection.ts index 66495d08eb08a6..b1f82e52c9d4b8 100644 --- a/lib/routes/zhihu/xhu/collection.ts +++ b/lib/routes/zhihu/xhu/collection.ts @@ -60,8 +60,8 @@ async function handler(ctx) { const link = item.url; const author = item.author.name; const pubDate = parseDate(item.collect_time * 1000); - let title = ''; - let description = ''; + let title: string; + let description: string; // This API gets only article, answer and pin, not zvideo switch (item.type) { diff --git a/lib/routes/zhihu/xhu/topic.ts b/lib/routes/zhihu/xhu/topic.ts index 3fa7a44ee33b19..74d9121ee7e0e7 100644 --- a/lib/routes/zhihu/xhu/topic.ts +++ b/lib/routes/zhihu/xhu/topic.ts @@ -49,11 +49,11 @@ async function handler(ctx) { link, item: listRes.map(({ target: item }) => { const type = item.type; - let title = ''; - let description = ''; - let link = ''; - let pubDate = new Date(); - let author = ''; + let title: string; + let description: string; + let link: string; + let pubDate: Date; + let author: string; switch (type) { case 'answer': diff --git a/lib/routes/zhihu/xhu/zhuanlan.ts b/lib/routes/zhihu/xhu/zhuanlan.ts index b31f35d9138da1..849f0561020646 100644 --- a/lib/routes/zhihu/xhu/zhuanlan.ts +++ b/lib/routes/zhihu/xhu/zhuanlan.ts @@ -67,9 +67,9 @@ async function handler(ctx) { description = $.html(); } - let title = ''; - let link = ''; - let author = ''; + let title: string; + let link: string; + let author: string; let pubDate; // The xhu api only get items of type article. diff --git a/lib/routes/zhihu/zhuanlan.ts b/lib/routes/zhihu/zhuanlan.ts index 8ae250a8393fae..d100d285391b9f 100644 --- a/lib/routes/zhihu/zhuanlan.ts +++ b/lib/routes/zhihu/zhuanlan.ts @@ -83,9 +83,9 @@ async function handler(ctx) { } $('img').css('max-width', '100%'); - let title = ''; - let link = ''; - let author = ''; + let title: string; + let link: string; + let author: string; let pubDate: Date; switch (item.type) { diff --git a/lib/routes/zsxq/utils.ts b/lib/routes/zsxq/utils.ts index 570e27854d3451..00e08fcf5fb236 100644 --- a/lib/routes/zsxq/utils.ts +++ b/lib/routes/zsxq/utils.ts @@ -19,7 +19,7 @@ export async function customFetch>(path: s } // sometimes the request will fail with code 1059, retry will solve the problem if (code === 1059 && retryCount < 3) { - return customFetch(path, ++retryCount); + return customFetch(path, retryCount + 1); } throw new Error('something wrong'); } diff --git a/scripts/workflow/test-route/identify.mjs b/scripts/workflow/test-route/identify.mjs index 6d7b4990cfd54d..ffb7f8e81eabc3 100644 --- a/scripts/workflow/test-route/identify.mjs +++ b/scripts/workflow/test-route/identify.mjs @@ -10,7 +10,7 @@ export default async function identify({ github, context, core }, body, number, const bodyNoCmts = body?.replaceAll(//g, ''); const m = bodyNoCmts?.match(/```routes\s+([\S\s]*?)```/); core.debug(`match: ${m}`); - let routes = null; + let routes; const issueFacts = { owner: context.repo.owner, From e89382c238a760d71443e172703f78e27da70068 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 08:08:41 +0000 Subject: [PATCH 055/259] chore(deps): bump hono from 4.11.9 to 4.11.10 (#21177) Bumps [hono](https://github.com/honojs/hono) from 4.11.9 to 4.11.10. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](https://github.com/honojs/hono/compare/v4.11.9...v4.11.10) --- updated-dependencies: - dependency-name: hono dependency-version: 4.11.10 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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index bce3f0d2d5d1a3..aa1be08d291b3f 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "google-play-scraper": "10.1.2", "googleapis": "171.4.0", "header-generator": "2.1.80", - "hono": "4.11.9", + "hono": "4.11.10", "html-to-text": "9.0.5", "http-cookie-agent": "7.0.3", "https-proxy-agent": "7.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ccda737edceaf..9d03453039a779 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,10 +39,10 @@ importers: version: 4.3.1 '@hono/node-server': specifier: 1.19.9 - version: 1.19.9(hono@4.11.9) + version: 1.19.9(hono@4.11.10) '@hono/zod-openapi': specifier: 1.2.2 - version: 1.2.2(hono@4.11.9)(zod@4.3.6) + version: 1.2.2(hono@4.11.10)(zod@4.3.6) '@jocmp/mercury-parser': specifier: 3.0.2 version: 3.0.2 @@ -75,7 +75,7 @@ importers: version: 0.0.25 '@scalar/hono-api-reference': specifier: 0.9.41 - version: 0.9.41(hono@4.11.9) + version: 0.9.41(hono@4.11.10) '@sentry/node': specifier: 10.39.0 version: 10.39.0 @@ -128,8 +128,8 @@ importers: specifier: 2.1.80 version: 2.1.80 hono: - specifier: 4.11.9 - version: 4.11.9 + specifier: 4.11.10 + version: 4.11.10 html-to-text: specifier: 9.0.5 version: 9.0.5 @@ -3683,8 +3683,8 @@ packages: hmacsha1@1.0.0: resolution: {integrity: sha512-4FP6J0oI8jqb6gLLl9tSwVdosWJ/AKSGJ+HwYf6Ixe4MUcEkst4uWzpVQrNOCin0fzTRQbXV8ePheU8WiiDYBw==} - hono@4.11.9: - resolution: {integrity: sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ==} + hono@4.11.10: + resolution: {integrity: sha512-kyWP5PAiMooEvGrA9jcD3IXF7ATu8+o7B3KCbPXid5se52NPqnOpM/r9qeW2heMnOekF4kqR1fXJqCYeCLKrZg==} engines: {node: '>=16.9.0'} hookable@6.0.1: @@ -6281,21 +6281,21 @@ snapshots: '@eslint/core': 1.1.0 levn: 0.4.1 - '@hono/node-server@1.19.9(hono@4.11.9)': + '@hono/node-server@1.19.9(hono@4.11.10)': dependencies: - hono: 4.11.9 + hono: 4.11.10 - '@hono/zod-openapi@1.2.2(hono@4.11.9)(zod@4.3.6)': + '@hono/zod-openapi@1.2.2(hono@4.11.10)(zod@4.3.6)': dependencies: '@asteasolutions/zod-to-openapi': 8.4.1(zod@4.3.6) - '@hono/zod-validator': 0.7.6(hono@4.11.9)(zod@4.3.6) - hono: 4.11.9 + '@hono/zod-validator': 0.7.6(hono@4.11.10)(zod@4.3.6) + hono: 4.11.10 openapi3-ts: 4.5.0 zod: 4.3.6 - '@hono/zod-validator@0.7.6(hono@4.11.9)(zod@4.3.6)': + '@hono/zod-validator@0.7.6(hono@4.11.10)(zod@4.3.6)': dependencies: - hono: 4.11.9 + hono: 4.11.10 zod: 4.3.6 '@humanfs/core@0.19.1': {} @@ -7274,10 +7274,10 @@ snapshots: '@scalar/helpers@0.2.12': {} - '@scalar/hono-api-reference@0.9.41(hono@4.11.9)': + '@scalar/hono-api-reference@0.9.41(hono@4.11.10)': dependencies: '@scalar/core': 0.3.38 - hono: 4.11.9 + hono: 4.11.10 '@scalar/types@0.6.3': dependencies: @@ -9099,7 +9099,7 @@ snapshots: hmacsha1@1.0.0: {} - hono@4.11.9: {} + hono@4.11.10: {} hookable@6.0.1: {} From 79b658a0b67f80c1176fa01c71a3ebb9e122aa0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 08:23:03 +0000 Subject: [PATCH 056/259] chore(deps): bump @scalar/hono-api-reference from 0.9.41 to 0.9.44 (#21180) Bumps [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) from 0.9.41 to 0.9.44. - [Release notes](https://github.com/scalar/scalar/releases) - [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md) - [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono) --- updated-dependencies: - dependency-name: "@scalar/hono-api-reference" dependency-version: 0.9.44 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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index aa1be08d291b3f..655449255df746 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", - "@scalar/hono-api-reference": "0.9.41", + "@scalar/hono-api-reference": "0.9.44", "@sentry/node": "10.39.0", "aes-js": "3.1.2", "cheerio": "1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d03453039a779..85c26cab8942b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -74,8 +74,8 @@ importers: specifier: 0.0.25 version: 0.0.25 '@scalar/hono-api-reference': - specifier: 0.9.41 - version: 0.9.41(hono@4.11.10) + specifier: 0.9.44 + version: 0.9.44(hono@4.11.10) '@sentry/node': specifier: 10.39.0 version: 10.39.0 @@ -1970,22 +1970,22 @@ packages: '@rss3/sdk@0.0.25': resolution: {integrity: sha512-jyXT4YTwefxxRZ0tt5xjbnw8e7zPg2OGdo/0xb+h/7qWnMNhLtWpc95DsYs/1C/I0rIyiDpZBhLI2DieQ9y+tw==} - '@scalar/core@0.3.38': - resolution: {integrity: sha512-vacEKCx46szDGKI5x8GrFUQygMMoeOVFxeltkLM1kLylAYs7iLprkwkLlEI0zJezE7mqiWIONh9MDJA2lTciIA==} + '@scalar/core@0.3.41': + resolution: {integrity: sha512-IPgiHOSGBDfBcJELbev0lo+ZHc8Q/vA82neX0Ax1iHNGtf/munH+qN5I+p9rGRS60IRQAwABlUo31Y3Gw1c0EA==} engines: {node: '>=20'} - '@scalar/helpers@0.2.12': - resolution: {integrity: sha512-Ig/H1Je8nqcDiY+YwFIpATxF2ko7zKrjIZFWK2gGeNTYK4Np9XnqDHg56jM3Xru439Eh4qHq9P/lX7Se5nnxFA==} + '@scalar/helpers@0.2.15': + resolution: {integrity: sha512-hMHXejGFVOS4HwCo7C2qddChuvMJs3sEOALo7gNOvwLS4dGLrW8flbSglDki4ttyremlKQstP5WJuPxmHQU3sA==} engines: {node: '>=20'} - '@scalar/hono-api-reference@0.9.41': - resolution: {integrity: sha512-QPZo3GshWvRU2Y9VRMsl1+FAZv4+Gjud5/Yq6TY/5Xy9Rrez8SMkIgN9cfRjQ5JtU1XqpugtWMBEbiXep4C+Fg==} + '@scalar/hono-api-reference@0.9.44': + resolution: {integrity: sha512-NusQ3S/LYKmEMOwc5kbKi6Can1b0iHTL/145CxfT5klEXtazhzdiXtYNiPNS99vGYKjub7+oaFR/HXJz4y/w2w==} engines: {node: '>=20'} peerDependencies: hono: ^4.11.5 - '@scalar/types@0.6.3': - resolution: {integrity: sha512-uicRSnA29SO+nwywdW5ycjIp24N/6FziPEpgC5nObCy5upUNpArN+xro06T1WX5zFnT9g7ADeTfFkWT+OLk/jA==} + '@scalar/types@0.6.6': + resolution: {integrity: sha512-nr3m23p5MnGy4Wb4JFT7aA+jzvYSs/AS40NUEoQMBE1IwtuvG5gtLL0uu6kWpDq4UAfrWGntlAQNX7G8X9D4sg==} engines: {node: '>=20'} '@scure/base@2.0.0': @@ -7268,20 +7268,20 @@ snapshots: '@rss3/api-core': 0.0.25 '@rss3/api-utils': 0.0.25 - '@scalar/core@0.3.38': + '@scalar/core@0.3.41': dependencies: - '@scalar/types': 0.6.3 + '@scalar/types': 0.6.6 - '@scalar/helpers@0.2.12': {} + '@scalar/helpers@0.2.15': {} - '@scalar/hono-api-reference@0.9.41(hono@4.11.10)': + '@scalar/hono-api-reference@0.9.44(hono@4.11.10)': dependencies: - '@scalar/core': 0.3.38 + '@scalar/core': 0.3.41 hono: 4.11.10 - '@scalar/types@0.6.3': + '@scalar/types@0.6.6': dependencies: - '@scalar/helpers': 0.2.12 + '@scalar/helpers': 0.2.15 nanoid: 5.1.6 type-fest: 5.4.4 zod: 4.3.6 From 04443b8cca176b4d69405682e69c0d4e427e9bee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 08:25:00 +0000 Subject: [PATCH 057/259] chore(deps): bump sanitize-html from 2.17.0 to 2.17.1 (#21181) Bumps [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) from 2.17.0 to 2.17.1. - [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md) - [Commits](https://github.com/apostrophecms/apostrophe/commits/2.17.1/packages/sanitize-html) --- updated-dependencies: - dependency-name: sanitize-html dependency-version: 2.17.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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 655449255df746..bf2639d3ffdaa7 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "rebrowser-puppeteer": "24.8.1", "rfc4648": "1.5.4", "rss-parser": "3.13.0", - "sanitize-html": "2.17.0", + "sanitize-html": "2.17.1", "simplecc-wasm": "1.1.1", "socks-proxy-agent": "8.0.5", "source-map": "0.7.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85c26cab8942b6..3057ac4784c506 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -227,8 +227,8 @@ importers: specifier: 3.13.0 version: 3.13.0(patch_hash=e1697dd9dde771024b5d0669a3eff6237e75fbac78381a6127012b67593bb2b7) sanitize-html: - specifier: 2.17.0 - version: 2.17.0 + specifier: 2.17.1 + version: 2.17.1 simplecc-wasm: specifier: 1.1.1 version: 1.1.1 @@ -5012,8 +5012,8 @@ packages: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} - sanitize-html@2.17.0: - resolution: {integrity: sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==} + sanitize-html@2.17.1: + resolution: {integrity: sha512-ehFCW+q1a4CSOWRAdX97BX/6/PDEkCqw7/0JXZAGQV57FQB3YOkTa/rrzHPeJ+Aghy4vZAFfWMYyfxIiB7F/gw==} sax@1.4.4: resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} @@ -10800,7 +10800,7 @@ snapshots: safe-stable-stringify@2.5.0: {} - sanitize-html@2.17.0: + sanitize-html@2.17.1: dependencies: deepmerge: 4.3.1 escape-string-regexp: 4.0.0 From 535ea2d3df6495d710e5872d76210c17bd18fa1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 11:29:03 +0000 Subject: [PATCH 058/259] chore(deps): bump dawidd6/action-download-artifact from 14 to 15 (#21178) Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 14 to 15. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/5c98f0b039f36ef966fdb7dfa9779262785ecb05...fe9d59ce33ce92db8a6ac90b2c8be6b6d90417c8) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-version: '15' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-test-cont.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-test-cont.yml b/.github/workflows/docker-test-cont.yml index 4f6412aff20a7c..bd2039c3ea3004 100644 --- a/.github/workflows/docker-test-cont.yml +++ b/.github/workflows/docker-test-cont.yml @@ -64,7 +64,7 @@ jobs: - name: Fetch Docker image if: (env.TEST_CONTINUE) - uses: dawidd6/action-download-artifact@5c98f0b039f36ef966fdb7dfa9779262785ecb05 # v14 + uses: dawidd6/action-download-artifact@fe9d59ce33ce92db8a6ac90b2c8be6b6d90417c8 # v15 with: workflow: ${{ github.event.workflow_run.workflow_id }} run_id: ${{ github.event.workflow_run.id }} From 7a0c415c9d12a59d10939c9e100951e421ead1c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 11:30:40 +0000 Subject: [PATCH 059/259] chore(deps-dev): bump @types/node from 25.2.3 to 25.3.0 (#21179) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.2.3 to 25.3.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.3.0 dependency-type: direct:development 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 | 124 ++++++++++++++++++++++++------------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index bf2639d3ffdaa7..5f3abc25eee263 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "@types/mailparser": "3.4.6", "@types/markdown-it": "14.1.2", "@types/module-alias": "2.0.4", - "@types/node": "25.2.3", + "@types/node": "25.3.0", "@types/sanitize-html": "2.16.0", "@types/supertest": "6.0.3", "@typescript-eslint/eslint-plugin": "8.56.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3057ac4784c506..76993edda10edf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -348,8 +348,8 @@ importers: specifier: 2.0.4 version: 2.0.4 '@types/node': - specifier: 25.2.3 - version: 25.2.3 + specifier: 25.3.0 + version: 25.3.0 '@types/sanitize-html': specifier: 2.16.0 version: 2.16.0 @@ -367,7 +367,7 @@ importers: version: 1.3.1(rollup@4.57.1) '@vitest/coverage-v8': specifier: 4.0.9 - version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) + version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: specifier: 0.38.39 version: 0.38.39 @@ -379,7 +379,7 @@ importers: version: 10.0.0(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.2.3)(eslint@10.0.0(jiti@2.6.1)) + version: 9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)) @@ -445,10 +445,10 @@ importers: version: 11.0.5 vite-tsconfig-paths: specifier: 6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.9 - version: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.66.0 version: 4.66.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -2185,8 +2185,8 @@ packages: '@types/node@22.19.11': resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} - '@types/node@25.2.3': - resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} + '@types/node@25.3.0': + resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} '@types/pg-pool@2.0.7': resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} @@ -5482,8 +5482,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} undici@7.18.2: resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} @@ -6407,40 +6407,40 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@25.2.3)': + '@inquirer/checkbox@4.3.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/core': 10.3.2(@types/node@25.3.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.21(@types/node@25.2.3)': + '@inquirer/confirm@5.1.21(@types/node@25.3.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.2.3) - '@inquirer/type': 3.0.10(@types/node@25.2.3) + '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.0) optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 - '@inquirer/core@10.3.2(@types/node@25.2.3)': + '@inquirer/core@10.3.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.3.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@inquirer/core@9.2.1': dependencies: @@ -6459,15 +6459,15 @@ snapshots: '@inquirer/figures@1.0.15': {} - '@inquirer/select@4.4.2(@types/node@25.2.3)': + '@inquirer/select@4.4.2(@types/node@25.3.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/core': 10.3.2(@types/node@25.3.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.3.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@inquirer/type@1.5.5': dependencies: @@ -6477,9 +6477,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@25.2.3)': + '@inquirer/type@3.0.10(@types/node@25.3.0)': optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@ioredis/commands@1.5.0': {} @@ -7412,7 +7412,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/cookie@0.6.0': {} @@ -7437,12 +7437,12 @@ snapshots: '@types/etag@1.8.4': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/html-to-text@9.0.4': {} @@ -7452,7 +7452,7 @@ snapshots: '@types/jsdom@27.0.0': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -7464,7 +7464,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/jsrsasign@10.5.15': {} @@ -7472,7 +7472,7 @@ snapshots: '@types/mailparser@3.4.6': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 iconv-lite: 0.6.3 '@types/markdown-it@14.1.2': @@ -7494,19 +7494,19 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/mysql@2.15.27': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/node@22.19.11': dependencies: undici-types: 6.21.0 - '@types/node@25.2.3': + '@types/node@25.3.0': dependencies: - undici-types: 7.16.0 + undici-types: 7.18.2 '@types/pg-pool@2.0.7': dependencies: @@ -7514,7 +7514,7 @@ snapshots: '@types/pg@8.15.6': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 pg-protocol: 1.11.0 pg-types: 2.2.0 @@ -7526,7 +7526,7 @@ snapshots: '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/tough-cookie': 4.0.5 form-data: 2.5.5 @@ -7540,7 +7540,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 25.2.3 + '@types/node': 25.3.0 form-data: 4.0.5 '@types/supertest@6.0.3': @@ -7550,7 +7550,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 '@types/tough-cookie@4.0.5': {} @@ -7562,7 +7562,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 optional: true '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': @@ -7736,7 +7736,7 @@ snapshots: - rollup - supports-color - '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.9 @@ -7749,7 +7749,7 @@ snapshots: magicast: 0.5.2 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -7762,14 +7762,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.4.3(typescript@5.9.3) - vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.9': dependencies: @@ -8100,7 +8100,7 @@ snapshots: chrome-launcher@1.2.1: dependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 2.0.2 @@ -8564,12 +8564,12 @@ snapshots: optionalDependencies: unrs-resolver: 1.11.1 - eslint-nibble@9.1.1(@types/node@25.2.3)(eslint@10.0.0(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 - '@inquirer/checkbox': 4.3.2(@types/node@25.2.3) - '@inquirer/confirm': 5.1.21(@types/node@25.2.3) - '@inquirer/select': 4.4.2(@types/node@25.2.3) + '@inquirer/checkbox': 4.3.2(@types/node@25.3.0) + '@inquirer/confirm': 5.1.21(@types/node@25.3.0) + '@inquirer/select': 4.4.2(@types/node@25.3.0) eslint: 10.0.0(jiti@2.6.1) eslint-filtered-fix: 0.3.0(eslint@10.0.0(jiti@2.6.1)) optionator: 0.9.4 @@ -10453,7 +10453,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.2.3 + '@types/node': 25.3.0 long: 5.3.2 protobufjs@8.0.0: @@ -10468,7 +10468,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.2.3 + '@types/node': 25.3.0 long: 5.3.2 proxy-agent@6.5.0: @@ -11300,7 +11300,7 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.16.0: {} + undici-types@7.18.2: {} undici@7.18.2: {} @@ -11435,17 +11435,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) - vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -11454,16 +11454,16 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.3 + '@types/node': 25.3.0 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 yaml: 2.8.2 - vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.9 - '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.9 '@vitest/runner': 4.0.9 '@vitest/snapshot': 4.0.9 @@ -11480,11 +11480,11 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 25.2.3 + '@types/node': 25.3.0 jsdom: 27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - jiti From 02c6e436c66d6ab5d78a68f8458525943700463a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 12:01:36 +0000 Subject: [PATCH 060/259] chore(deps-dev): bump @cloudflare/workers-types (#21182) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260218.0 to 4.20260219.0. - [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: 4.20260219.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 5f3abc25eee263..177f4e00d4a895 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260218.0", + "@cloudflare/workers-types": "4.20260219.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 76993edda10edf..16d0e2b57ff13e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260218.0 - version: 4.20260218.0 + specifier: 4.20260219.0 + version: 4.20260219.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.66.0 - version: 4.66.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.66.0(@cloudflare/workers-types@4.20260219.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -611,8 +611,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260218.0': - resolution: {integrity: sha512-E28uJNJb9J9pca3RaxjXm1JxAjp8td9/cudkY+IT8rio71NlshN7NKMe2Cr/6GN+RufbSnp+N3ZKP74xgUaL0A==} + '@cloudflare/workers-types@4.20260219.0': + resolution: {integrity: sha512-jL2BNnDqbKXDrxhtKx+wVmQpv/P6w8J4WVFiuT9OMEPsw8V2TfTozoWTcCZ2AhE09yK406xQFE4mBq9IIgobuw==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6076,7 +6076,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260217.0': optional: true - '@cloudflare/workers-types@4.20260218.0': {} + '@cloudflare/workers-types@4.20260219.0': {} '@colors/colors@1.6.0': {} @@ -11578,7 +11578,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260217.0 '@cloudflare/workerd-windows-64': 1.20260217.0 - wrangler@4.66.0(@cloudflare/workers-types@4.20260218.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.66.0(@cloudflare/workers-types@4.20260219.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0) @@ -11589,7 +11589,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260217.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260218.0 + '@cloudflare/workers-types': 4.20260219.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 1ad4fce9002cf27f9dcfb526eda5855d4c18352e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 08:22:32 +0000 Subject: [PATCH 061/259] chore(deps): bump imapflow from 1.2.9 to 1.2.10 (#21187) Bumps [imapflow](https://github.com/postalsys/imapflow) from 1.2.9 to 1.2.10. - [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/v1.2.9...v1.2.10) --- updated-dependencies: - dependency-name: imapflow dependency-version: 1.2.10 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 | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 177f4e00d4a895..3aa54b0cf4c1f3 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "http-cookie-agent": "7.0.3", "https-proxy-agent": "7.0.6", "iconv-lite": "0.7.2", - "imapflow": "1.2.9", + "imapflow": "1.2.10", "instagram-private-api": "1.46.1", "ioredis": "5.9.3", "ip-regex": "5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16d0e2b57ff13e..f54da9423f30e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,8 +143,8 @@ importers: specifier: 0.7.2 version: 0.7.2 imapflow: - specifier: 1.2.9 - version: 1.2.9 + specifier: 1.2.10 + version: 1.2.10 instagram-private-api: specifier: 1.46.1 version: 1.46.1 @@ -3776,8 +3776,8 @@ packages: engines: {node: '>=6.9.0'} hasBin: true - imapflow@1.2.9: - resolution: {integrity: sha512-1YVsP1/cGoDlBfmGYepnm66L+h6a1Cb4wH1ZRD/rr0eblvvDqDzXywNN5TMDCKWM+zvaTx2ftfOWAe+bfOnyWQ==} + imapflow@1.2.10: + resolution: {integrity: sha512-tqmk0Gj4YBEnGCjjrUYWIf3Z4tzn4iihUcMkBRbafvHF3LqEiYNCSJAAYYbwERFxlikOJ3zzqtEcoxCUTjMv2Q==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} @@ -4500,8 +4500,8 @@ packages: resolution: {integrity: sha512-PNDFSJdP+KFgdsG3ZzMXCgquO7I6McjY2vlqILjtJd0hy8wEvtugS9xKRF2NWlPNGxvLCXlTNIae4serI7dinw==} engines: {node: '>=6.0.0'} - nodemailer@8.0.0: - resolution: {integrity: sha512-xvVJf/f0bzmNpnRIbhCp/IKxaHgJ6QynvUbLXzzMRPG3LDQr5oXkYuw4uDFyFYs8cge8agwwrJAXZsd4hhMquw==} + nodemailer@8.0.1: + resolution: {integrity: sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==} engines: {node: '>=6.0.0'} nopt@7.2.1: @@ -4719,8 +4719,8 @@ packages: pino-std-serializers@7.1.0: resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - pino@10.3.0: - resolution: {integrity: sha512-0GNPNzHXBKw6U/InGe79A3Crzyk9bcSyObF9/Gfo9DLEf5qj5RF50RSjsu0W1rZ6ZqRGdzDFCRBQvi9/rSGPtA==} + pino@10.3.1: + resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} hasBin: true pluralize@8.0.0: @@ -9198,7 +9198,7 @@ snapshots: image-size@0.7.5: {} - imapflow@1.2.9: + imapflow@1.2.10: dependencies: '@zone-eu/mailsplit': 5.4.8 encoding-japanese: 2.2.0 @@ -9206,8 +9206,8 @@ snapshots: libbase64: 1.3.0 libmime: 5.3.7 libqp: 2.1.1 - nodemailer: 8.0.0 - pino: 10.3.0 + nodemailer: 8.0.1 + pino: 10.3.1 socks: 2.8.7 import-fresh@3.3.1: @@ -10130,7 +10130,7 @@ snapshots: nodemailer@7.0.13: {} - nodemailer@8.0.0: {} + nodemailer@8.0.1: {} nopt@7.2.1: dependencies: @@ -10376,7 +10376,7 @@ snapshots: pino-std-serializers@7.1.0: {} - pino@10.3.0: + pino@10.3.1: dependencies: '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 From 941658b4532afb3ae490bd864f955c4aad37c59f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 08:26:07 +0000 Subject: [PATCH 062/259] chore(deps): bump @jocmp/mercury-parser from 3.0.2 to 3.0.3 (#21189) Bumps [@jocmp/mercury-parser](https://github.com/jocmp/mercury-parser) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/jocmp/mercury-parser/releases) - [Changelog](https://github.com/jocmp/mercury-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/jocmp/mercury-parser/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: "@jocmp/mercury-parser" dependency-version: 3.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 3aa54b0cf4c1f3..d2792161305918 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "@bbob/preset-html5": "4.3.1", "@hono/node-server": "1.19.9", "@hono/zod-openapi": "1.2.2", - "@jocmp/mercury-parser": "3.0.2", + "@jocmp/mercury-parser": "3.0.3", "@notionhq/client": "5.9.0", "@opentelemetry/api": "1.9.0", "@opentelemetry/exporter-prometheus": "0.212.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f54da9423f30e8..c5975696cc4f08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,8 +44,8 @@ importers: specifier: 1.2.2 version: 1.2.2(hono@4.11.10)(zod@4.3.6) '@jocmp/mercury-parser': - specifier: 3.0.2 - version: 3.0.2 + specifier: 3.0.3 + version: 3.0.3 '@notionhq/client': specifier: 5.9.0 version: 5.9.0 @@ -1150,8 +1150,8 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} - '@jocmp/mercury-parser@3.0.2': - resolution: {integrity: sha512-HPWiJpt05UUTtPka4SITY0T2y0hl8+SyA73T4L173fdt2cBmfIgwM8rilsfmWQOeQfsTiNkVWol1erP5Tsc+sw==} + '@jocmp/mercury-parser@3.0.3': + resolution: {integrity: sha512-3kkhQlEDKUTKF+VtS5nwmL0McKekzaVqC7tsN8/kSf+xvSJnvvq4JT4R6JkzLGAa/9LzSpHmVXXC3C/DW3SFLg==} engines: {node: '>=22'} hasBin: true bundledDependencies: @@ -6496,7 +6496,7 @@ snapshots: dependencies: minipass: 7.1.2 - '@jocmp/mercury-parser@3.0.2': + '@jocmp/mercury-parser@3.0.3': dependencies: '@babel/runtime-corejs2': 7.28.6 cheerio: 1.2.0 From a4094d42b8f0df61c369e50ac33586102c384df0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 19:46:31 +0800 Subject: [PATCH 063/259] chore(deps-dev): bump @cloudflare/workers-types (#21190) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260219.0 to 4.20260227.0. - [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: 4.20260227.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index d2792161305918..f5b8597b9f9820 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260219.0", + "@cloudflare/workers-types": "4.20260227.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5975696cc4f08..a3aed47c17ba2a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,8 +294,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260219.0 - version: 4.20260219.0 + specifier: 4.20260227.0 + version: 4.20260227.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -451,7 +451,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.66.0 - version: 4.66.0(@cloudflare/workers-types@4.20260219.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.66.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -611,8 +611,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260219.0': - resolution: {integrity: sha512-jL2BNnDqbKXDrxhtKx+wVmQpv/P6w8J4WVFiuT9OMEPsw8V2TfTozoWTcCZ2AhE09yK406xQFE4mBq9IIgobuw==} + '@cloudflare/workers-types@4.20260227.0': + resolution: {integrity: sha512-e/Lfx2LGmmTds9Soorj96ER+xzJZ/dfNcSd+odlRDv0HBYA4Ts7m01A1VwCPGvuy3/kQo7FYZEQdF6vnR0y73A==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6076,7 +6076,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260217.0': optional: true - '@cloudflare/workers-types@4.20260219.0': {} + '@cloudflare/workers-types@4.20260227.0': {} '@colors/colors@1.6.0': {} @@ -11578,7 +11578,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260217.0 '@cloudflare/workerd-windows-64': 1.20260217.0 - wrangler@4.66.0(@cloudflare/workers-types@4.20260219.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.66.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0) @@ -11589,7 +11589,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260217.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260219.0 + '@cloudflare/workers-types': 4.20260227.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 24ccf09b0e699be73f3c519bf6cf9a74745bff8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 19:50:34 +0800 Subject: [PATCH 064/259] chore(deps-dev): bump oxfmt from 0.33.0 to 0.34.0 (#21191) Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.33.0 to 0.34.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.34.0/npm/oxfmt) --- updated-dependencies: - dependency-name: oxfmt dependency-version: 0.34.0 dependency-type: direct:development 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 | 162 ++++++++++++++++++++++++------------------------- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index f5b8597b9f9820..67991b3f03c173 100644 --- a/package.json +++ b/package.json @@ -189,7 +189,7 @@ "mockdate": "3.0.5", "msw": "2.4.3", "node-network-devtools": "1.0.29", - "oxfmt": "0.33.0", + "oxfmt": "0.34.0", "remark-parse": "11.0.0", "supertest": "7.2.2", "tsdown": "0.20.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3aed47c17ba2a..6c3e6c03a91a79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -426,8 +426,8 @@ importers: specifier: 1.0.29 version: 1.0.29(undici@7.22.0)(utf-8-validate@5.0.10) oxfmt: - specifier: 0.33.0 - version: 0.33.0 + specifier: 0.34.0 + version: 0.34.0 remark-parse: specifier: 11.0.0 version: 11.0.0 @@ -1521,124 +1521,124 @@ packages: '@oxc-project/types@0.112.0': resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==} - '@oxfmt/binding-android-arm-eabi@0.33.0': - resolution: {integrity: sha512-ML6qRW8/HiBANteqfyFAR1Zu0VrJu+6o4gkPLsssq74hQ7wDMkufBYJXI16PGSERxEYNwKxO5fesCuMssgTv9w==} + '@oxfmt/binding-android-arm-eabi@0.34.0': + resolution: {integrity: sha512-sqkqjh/Z38l+duOb1HtVqJTAj1grt2ttkobCopC/72+a4Xxz4xUgZPFyQ4HxrYMvyqO/YA0tvM1QbfOu70Gk1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.33.0': - resolution: {integrity: sha512-WimmcyrGpTOntj7F7CO9RMssncOKYall93nBnzJbI2ZZDhVRuCkvFwTpwz80cZqwYm5udXRXfF40ZXcCxjp9jg==} + '@oxfmt/binding-android-arm64@0.34.0': + resolution: {integrity: sha512-1KRCtasHcVcGOMwfOP9d5Bus2NFsN8yAYM5cBwi8LBg5UtXC3C49WHKrlEa8iF1BjOS6CR2qIqiFbGoA0DJQNQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.33.0': - resolution: {integrity: sha512-PorspsX9O5ISstVaq34OK4esN0LVcuU4DVg+XuSqJsfJ//gn6z6WH2Tt7s0rTQaqEcp76g7+QdWQOmnJDZsEVg==} + '@oxfmt/binding-darwin-arm64@0.34.0': + resolution: {integrity: sha512-b+Rmw9Bva6e/7PBES2wLO8sEU7Mi0+/Kv+pXSe/Y8i4fWNftZZlGwp8P01eECaUqpXATfSgNxdEKy7+ssVNz7g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.33.0': - resolution: {integrity: sha512-8278bqQtOcHRPhhzcqwN9KIideut+cftBjF8d2TOsSQrlsJSFx41wCCJ38mFmH9NOmU1M+x9jpeobHnbRP1okw==} + '@oxfmt/binding-darwin-x64@0.34.0': + resolution: {integrity: sha512-QGjpevWzf1T9COEokZEWt80kPOtthW1zhRbo7x4Qoz646eTTfi6XsHG2uHeDWJmTbgBoJZPMgj2TAEV/ppEZaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.33.0': - resolution: {integrity: sha512-BiqYVwWFHLf5dkfg0aCKsXa9rpi//vH1+xePCpd7Ulz9yp9pJKP4DWgS5g+OW8MaqOtt7iyAszhxtk/j1nDKHQ==} + '@oxfmt/binding-freebsd-x64@0.34.0': + resolution: {integrity: sha512-VMSaC02cG75qL59M9M/szEaqq/RsLfgpzQ4nqUu8BUnX1zkiZIW2gTpUv3ZJ6qpWnHxIlAXiRZjQwmcwpvtbcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.33.0': - resolution: {integrity: sha512-oAVmmurXx0OKbNOVv71oK92LsF1LwYWpnhDnX0VaAy/NLsCKf4B7Zo7lxkJh80nfhU20TibcdwYfoHVaqlStPQ==} + '@oxfmt/binding-linux-arm-gnueabihf@0.34.0': + resolution: {integrity: sha512-Klm367PFJhH6vYK3vdIOxFepSJZHPaBfIuqwxdkOcfSQ4qqc/M8sgK0UTFnJWWTA/IkhMIh1kW6uEqiZ/xtQqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.33.0': - resolution: {integrity: sha512-YB6S8CiRol59oRxnuclJiWoV6l+l8ru/NsuQNYjXZnnPXfSTXKtMLWHCnL/figpCFYA1E7JyjrBbar1qxe2aZg==} + '@oxfmt/binding-linux-arm-musleabihf@0.34.0': + resolution: {integrity: sha512-nqn0QueVXRfbN9m58/E9Zij0Ap8lzayx591eWBYn0sZrGzY1IRv9RYS7J/1YUXbb0Ugedo0a8qIWzUHU9bWQuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.33.0': - resolution: {integrity: sha512-hrYy+FpWoB6N24E9oGRimhVkqlls9yeqcRmQakEPUHoAbij6rYxsHHYIp3+FHRiQZFAOUxWKn/CCQoy/Mv3Dgw==} + '@oxfmt/binding-linux-arm64-gnu@0.34.0': + resolution: {integrity: sha512-DDn+dcqW+sMTCEjvLoQvC/VWJjG7h8wcdN/J+g7ZTdf/3/Dx730pQElxPPGsCXPhprb11OsPyMp5FwXjMY3qvA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.33.0': - resolution: {integrity: sha512-O1YIzymGRdWj9cG5iVTjkP7zk9/hSaVN8ZEbqMnWZjLC1phXlv54cUvANGGXndgJp2JS4W9XENn7eo5I4jZueg==} + '@oxfmt/binding-linux-arm64-musl@0.34.0': + resolution: {integrity: sha512-H+F8+71gHQoGTFPPJ6z4dD0Fzfzi0UP8Zx94h5kUmIFThLvMq5K1Y/bUUubiXwwHfwb5C3MPjUpYijiy0rj51Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.33.0': - resolution: {integrity: sha512-2lrkNe+B0w1tCgQTaozfUNQCYMbqKKCGcnTDATmWCZzO77W2sh+3n04r1lk9Q1CK3bI+C3fPwhFPUR2X2BvlyQ==} + '@oxfmt/binding-linux-ppc64-gnu@0.34.0': + resolution: {integrity: sha512-dIGnzTNhCXqQD5pzBwduLg8pClm+t8R53qaE9i5h8iua1iaFAJyLffh4847CNZSlASb7gn1Ofuv7KoG/EpoGZg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.33.0': - resolution: {integrity: sha512-8DSG1q0M6097vowHAkEyHnKed75/BWr1IBtgCJfytnWQg+Jn1X4DryhfjqonKZOZiv74oFQl5J8TCbdDuXXdtQ==} + '@oxfmt/binding-linux-riscv64-gnu@0.34.0': + resolution: {integrity: sha512-FGQ2GTTooilDte/ogwWwkHuuL3lGtcE3uKM2EcC7kOXNWdUfMY6Jx3JCodNVVbFoybv4A+HuCj8WJji2uu1Ceg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.33.0': - resolution: {integrity: sha512-eWaxnpPz7+p0QGUnw7GGviVBDOXabr6Cd0w7S/vnWTqQo9z1VroT7XXFnJEZ3dBwxMB9lphyuuYi/GLTCxqxlg==} + '@oxfmt/binding-linux-riscv64-musl@0.34.0': + resolution: {integrity: sha512-2dGbGneJ7ptOIVKMwEIHdCkdZEomh74X3ggo4hCzEXL/rl9HwfsZDR15MkqfQqAs6nVXMvtGIOMxjDYa5lwKaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.33.0': - resolution: {integrity: sha512-+mH8cQTqq+Tu2CdoB2/Wmk9CqotXResi+gPvXpb+AAUt/LiwpicTQqSolMheQKogkDTYHPuUiSN23QYmy7IXNQ==} + '@oxfmt/binding-linux-s390x-gnu@0.34.0': + resolution: {integrity: sha512-cCtGgmrTrxq3OeSG0UAO+w6yLZTMeOF4XM9SAkNrRUxYhRQELSDQ/iNPCLyHhYNi38uHJQbS5RQweLUDpI4ajA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.33.0': - resolution: {integrity: sha512-fjyslAYAPE2+B6Ckrs5LuDQ6lB1re5MumPnzefAXsen3JGwiRilra6XdjUmszTNoExJKbewoxxd6bcLSTpkAJQ==} + '@oxfmt/binding-linux-x64-gnu@0.34.0': + resolution: {integrity: sha512-7AvMzmeX+k7GdgitXp99GQoIV/QZIpAS7rwxQvC/T541yWC45nwvk4mpnU8N+V6dE5SPEObnqfhCjO80s7qIsg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.33.0': - resolution: {integrity: sha512-ve/jGBlTt35Jl/I0A0SfCQX3wKnadzPDdyOFEwe2ZgHHIT9uhqhAv1PaVXTenSBpauICEWYH8mWy+ittzlVE/A==} + '@oxfmt/binding-linux-x64-musl@0.34.0': + resolution: {integrity: sha512-uNiglhcmivJo1oDMh3hoN/Z0WsbEXOpRXZdQ3W/IkOpyV8WF308jFjSC1ZxajdcNRXWej0zgge9QXba58Owt+g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.33.0': - resolution: {integrity: sha512-lsWRgY9e+uPvwXnuDiJkmJ2Zs3XwwaQkaALJ3/SXU9kjZP0Qh8/tGW8Tk/Z6WL32sDxx+aOK5HuU7qFY9dHJhg==} + '@oxfmt/binding-openharmony-arm64@0.34.0': + resolution: {integrity: sha512-5eFsTjCyji25j6zznzlMc+wQAZJoL9oWy576xhqd2efv+N4g1swIzuSDcb1dz4gpcVC6veWe9pAwD7HnrGjLwg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.33.0': - resolution: {integrity: sha512-w8AQHyGDRZutxtQ7IURdBEddwFrtHQiG6+yIFpNJ4HiMyYEqeAWzwBQBfwSAxtSNh6Y9qqbbc1OM2mHN6AB3Uw==} + '@oxfmt/binding-win32-arm64-msvc@0.34.0': + resolution: {integrity: sha512-6id8kK0t5hKfbV6LHDzRO21wRTA6ctTlKGTZIsG/mcoir0rssvaYsedUymF4HDj7tbCUlnxCX/qOajKlEuqbIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.33.0': - resolution: {integrity: sha512-j2X4iumKVwDzQtUx3JBDkaydx6eLuncgUZPl2ybZ8llxJMFbZIniws70FzUQePMfMtzLozIm7vo4bjkvQFsOzw==} + '@oxfmt/binding-win32-ia32-msvc@0.34.0': + resolution: {integrity: sha512-QHaz+w673mlYqn9v/+fuiKZpjkmagleXQ+NygShDv8tdHpRYX2oYhTJwwt9j1ZfVhRgza1EIUW3JmzCXmtPdhQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.33.0': - resolution: {integrity: sha512-lsBQxbepASwOBUh3chcKAjU+jVAQhLElbPYiagIq26cU8vA9Bttj6t20bMvCQCw31m440IRlNhrK7NpnUI8mzA==} + '@oxfmt/binding-win32-x64-msvc@0.34.0': + resolution: {integrity: sha512-CXKQM/VaF+yuvGru8ktleHLJoBdjBtTFmAsLGePiESiTN0NjCI/PiaiOCfHMJ1HdP1LykvARUwMvgaN3tDhcrg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4590,8 +4590,8 @@ packages: resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} engines: {node: '>=12'} - oxfmt@0.33.0: - resolution: {integrity: sha512-ogxBXA9R4BFeo8F1HeMIIxHr5kGnQwKTYZ5k131AEGOq1zLxInNhvYSpyRQ+xIXVMYfCN7yZHKff/lb5lp4auQ==} + oxfmt@0.34.0: + resolution: {integrity: sha512-t+zTE4XGpzPTK+Zk9gSwcJcFi4pqjl6PwO/ZxPBJiJQ2XCKMucwjPlHxvPHyVKJtkMSyrDGfQ7Ntg/hUr4OgHQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6948,61 +6948,61 @@ snapshots: '@oxc-project/types@0.112.0': {} - '@oxfmt/binding-android-arm-eabi@0.33.0': + '@oxfmt/binding-android-arm-eabi@0.34.0': optional: true - '@oxfmt/binding-android-arm64@0.33.0': + '@oxfmt/binding-android-arm64@0.34.0': optional: true - '@oxfmt/binding-darwin-arm64@0.33.0': + '@oxfmt/binding-darwin-arm64@0.34.0': optional: true - '@oxfmt/binding-darwin-x64@0.33.0': + '@oxfmt/binding-darwin-x64@0.34.0': optional: true - '@oxfmt/binding-freebsd-x64@0.33.0': + '@oxfmt/binding-freebsd-x64@0.34.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.33.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.34.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.33.0': + '@oxfmt/binding-linux-arm-musleabihf@0.34.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.33.0': + '@oxfmt/binding-linux-arm64-gnu@0.34.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.33.0': + '@oxfmt/binding-linux-arm64-musl@0.34.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.33.0': + '@oxfmt/binding-linux-ppc64-gnu@0.34.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.33.0': + '@oxfmt/binding-linux-riscv64-gnu@0.34.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.33.0': + '@oxfmt/binding-linux-riscv64-musl@0.34.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.33.0': + '@oxfmt/binding-linux-s390x-gnu@0.34.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.33.0': + '@oxfmt/binding-linux-x64-gnu@0.34.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.33.0': + '@oxfmt/binding-linux-x64-musl@0.34.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.33.0': + '@oxfmt/binding-openharmony-arm64@0.34.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.33.0': + '@oxfmt/binding-win32-arm64-msvc@0.34.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.33.0': + '@oxfmt/binding-win32-ia32-msvc@0.34.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.33.0': + '@oxfmt/binding-win32-x64-msvc@0.34.0': optional: true '@paralleldrive/cuid2@2.3.1': @@ -10233,29 +10233,29 @@ snapshots: lodash.isequal: 4.5.0 vali-date: 1.0.0 - oxfmt@0.33.0: + oxfmt@0.34.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.33.0 - '@oxfmt/binding-android-arm64': 0.33.0 - '@oxfmt/binding-darwin-arm64': 0.33.0 - '@oxfmt/binding-darwin-x64': 0.33.0 - '@oxfmt/binding-freebsd-x64': 0.33.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.33.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.33.0 - '@oxfmt/binding-linux-arm64-gnu': 0.33.0 - '@oxfmt/binding-linux-arm64-musl': 0.33.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.33.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.33.0 - '@oxfmt/binding-linux-riscv64-musl': 0.33.0 - '@oxfmt/binding-linux-s390x-gnu': 0.33.0 - '@oxfmt/binding-linux-x64-gnu': 0.33.0 - '@oxfmt/binding-linux-x64-musl': 0.33.0 - '@oxfmt/binding-openharmony-arm64': 0.33.0 - '@oxfmt/binding-win32-arm64-msvc': 0.33.0 - '@oxfmt/binding-win32-ia32-msvc': 0.33.0 - '@oxfmt/binding-win32-x64-msvc': 0.33.0 + '@oxfmt/binding-android-arm-eabi': 0.34.0 + '@oxfmt/binding-android-arm64': 0.34.0 + '@oxfmt/binding-darwin-arm64': 0.34.0 + '@oxfmt/binding-darwin-x64': 0.34.0 + '@oxfmt/binding-freebsd-x64': 0.34.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.34.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.34.0 + '@oxfmt/binding-linux-arm64-gnu': 0.34.0 + '@oxfmt/binding-linux-arm64-musl': 0.34.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.34.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.34.0 + '@oxfmt/binding-linux-riscv64-musl': 0.34.0 + '@oxfmt/binding-linux-s390x-gnu': 0.34.0 + '@oxfmt/binding-linux-x64-gnu': 0.34.0 + '@oxfmt/binding-linux-x64-musl': 0.34.0 + '@oxfmt/binding-openharmony-arm64': 0.34.0 + '@oxfmt/binding-win32-arm64-msvc': 0.34.0 + '@oxfmt/binding-win32-ia32-msvc': 0.34.0 + '@oxfmt/binding-win32-x64-msvc': 0.34.0 p-cancelable@4.0.1: {} From 2c4b28052b6ecfeb2b2dfae745348a4379a4a206 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:10:45 +0800 Subject: [PATCH 065/259] chore(deps): bump hono from 4.11.10 to 4.12.0 (#21186) Bumps [hono](https://github.com/honojs/hono) from 4.11.10 to 4.12.0. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](https://github.com/honojs/hono/compare/v4.11.10...v4.12.0) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 67991b3f03c173..006f08cfcbe2f1 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "google-play-scraper": "10.1.2", "googleapis": "171.4.0", "header-generator": "2.1.80", - "hono": "4.11.10", + "hono": "4.12.0", "html-to-text": "9.0.5", "http-cookie-agent": "7.0.3", "https-proxy-agent": "7.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c3e6c03a91a79..942e42fe4828e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,10 +39,10 @@ importers: version: 4.3.1 '@hono/node-server': specifier: 1.19.9 - version: 1.19.9(hono@4.11.10) + version: 1.19.9(hono@4.12.0) '@hono/zod-openapi': specifier: 1.2.2 - version: 1.2.2(hono@4.11.10)(zod@4.3.6) + version: 1.2.2(hono@4.12.0)(zod@4.3.6) '@jocmp/mercury-parser': specifier: 3.0.3 version: 3.0.3 @@ -75,7 +75,7 @@ importers: version: 0.0.25 '@scalar/hono-api-reference': specifier: 0.9.44 - version: 0.9.44(hono@4.11.10) + version: 0.9.44(hono@4.12.0) '@sentry/node': specifier: 10.39.0 version: 10.39.0 @@ -128,8 +128,8 @@ importers: specifier: 2.1.80 version: 2.1.80 hono: - specifier: 4.11.10 - version: 4.11.10 + specifier: 4.12.0 + version: 4.12.0 html-to-text: specifier: 9.0.5 version: 9.0.5 @@ -3683,8 +3683,8 @@ packages: hmacsha1@1.0.0: resolution: {integrity: sha512-4FP6J0oI8jqb6gLLl9tSwVdosWJ/AKSGJ+HwYf6Ixe4MUcEkst4uWzpVQrNOCin0fzTRQbXV8ePheU8WiiDYBw==} - hono@4.11.10: - resolution: {integrity: sha512-kyWP5PAiMooEvGrA9jcD3IXF7ATu8+o7B3KCbPXid5se52NPqnOpM/r9qeW2heMnOekF4kqR1fXJqCYeCLKrZg==} + hono@4.12.0: + resolution: {integrity: sha512-NekXntS5M94pUfiVZ8oXXK/kkri+5WpX2/Ik+LVsl+uvw+soj4roXIsPqO+XsWrAw20mOzaXOZf3Q7PfB9A/IA==} engines: {node: '>=16.9.0'} hookable@6.0.1: @@ -6281,21 +6281,21 @@ snapshots: '@eslint/core': 1.1.0 levn: 0.4.1 - '@hono/node-server@1.19.9(hono@4.11.10)': + '@hono/node-server@1.19.9(hono@4.12.0)': dependencies: - hono: 4.11.10 + hono: 4.12.0 - '@hono/zod-openapi@1.2.2(hono@4.11.10)(zod@4.3.6)': + '@hono/zod-openapi@1.2.2(hono@4.12.0)(zod@4.3.6)': dependencies: '@asteasolutions/zod-to-openapi': 8.4.1(zod@4.3.6) - '@hono/zod-validator': 0.7.6(hono@4.11.10)(zod@4.3.6) - hono: 4.11.10 + '@hono/zod-validator': 0.7.6(hono@4.12.0)(zod@4.3.6) + hono: 4.12.0 openapi3-ts: 4.5.0 zod: 4.3.6 - '@hono/zod-validator@0.7.6(hono@4.11.10)(zod@4.3.6)': + '@hono/zod-validator@0.7.6(hono@4.12.0)(zod@4.3.6)': dependencies: - hono: 4.11.10 + hono: 4.12.0 zod: 4.3.6 '@humanfs/core@0.19.1': {} @@ -7274,10 +7274,10 @@ snapshots: '@scalar/helpers@0.2.15': {} - '@scalar/hono-api-reference@0.9.44(hono@4.11.10)': + '@scalar/hono-api-reference@0.9.44(hono@4.12.0)': dependencies: '@scalar/core': 0.3.41 - hono: 4.11.10 + hono: 4.12.0 '@scalar/types@0.6.6': dependencies: @@ -9099,7 +9099,7 @@ snapshots: hmacsha1@1.0.0: {} - hono@4.11.10: {} + hono@4.12.0: {} hookable@6.0.1: {} From c1f6ef44098632cc3d4c372ea93e1fc8561cf00d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:26:24 +0800 Subject: [PATCH 066/259] chore(deps-dev): bump wrangler from 4.66.0 to 4.67.0 (#21192) Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.66.0 to 4.67.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.67.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.67.0 dependency-type: direct:development 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 | 82 +++++++++++++++++++++++++------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 006f08cfcbe2f1..482dc76358090f 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.66.0", + "wrangler": "4.67.0", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 942e42fe4828e1..2975bd294ffcb1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -450,8 +450,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.66.0 - version: 4.66.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + specifier: 4.67.0 + version: 4.67.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -572,41 +572,41 @@ packages: resolution: {integrity: sha512-e/0s9Ac2IhyBrgnyTDrYEippqrXqKtllP8qezyunOb6icOJ2FzbfQwhWRIVwV3AgZtutQTF5Kb/gFAGXCuGRqQ==} engines: {node: '>=18'} - '@cloudflare/unenv-preset@2.13.0': - resolution: {integrity: sha512-bT2rnecesLjDBHgouMEPW9EQ7iLE8OG58srMuCEpAGp75xabi6j124SdS8XZ+dzB3sYBW4iQvVeCTCbAnMMVtA==} + '@cloudflare/unenv-preset@2.14.0': + resolution: {integrity: sha512-XKAkWhi1nBdNsSEoNG9nkcbyvfUrSjSf+VYVPfOto3gLTZVc3F4g6RASCMh6IixBKCG2yDgZKQIHGKtjcnLnKg==} peerDependencies: unenv: 2.0.0-rc.24 - workerd: ^1.20260213.0 + workerd: ^1.20260218.0 peerDependenciesMeta: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20260217.0': - resolution: {integrity: sha512-t1KRT0j4gwLntixMoNujv/UaS89Q7+MPRhkklaSup5tNhl3zBZOIlasBUSir69eXetqLZu8sypx3i7zE395XXA==} + '@cloudflare/workerd-darwin-64@1.20260219.0': + resolution: {integrity: sha512-k+xM+swQBQnkrvwobjRPxyeYwjLSludJusR0PqeHe+h6X9QIRGgw3s1AO38lXQsqzMSgG5709oOXSF19NKVVaQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260217.0': - resolution: {integrity: sha512-9pEZ15BmELt0Opy79LTxUvbo55QAI4GnsnsvmgBxaQlc4P0dC8iycBGxbOpegkXnRx/LFj51l2zunfTo0EdATg==} + '@cloudflare/workerd-darwin-arm64@1.20260219.0': + resolution: {integrity: sha512-EyfQdsG1KcIVAf4qndT00LZly7sLFm1VxMWHBvOFB/EVYF2sE5HZ0dPbe+yrax5p3eS0oLZthR8ynhz4UulMUQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260217.0': - resolution: {integrity: sha512-IrZfxQ4b/4/RDQCJsyoxKrCR+cEqKl81yZOirMOKoRrDOmTjn4evYXaHoLBh2PjUKY1Imly7ZiC6G1p0xNIOwg==} + '@cloudflare/workerd-linux-64@1.20260219.0': + resolution: {integrity: sha512-N0UHXILYYa6htFO/uC92uAqusvynbSbOcHcrVXMKqP9Jy7eqXGMovyKIrNgzYnKIszNB+0lfUYdGI3Wci07LuA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260217.0': - resolution: {integrity: sha512-RGU1wq69ym4sFBVWhQeddZrRrG0hJM/SlZ5DwVDga/zBJ3WXxcDsFAgg1dToDfildTde5ySXN7jAasSmWko9rg==} + '@cloudflare/workerd-linux-arm64@1.20260219.0': + resolution: {integrity: sha512-835pjQ9uuAtwPBOAkPf+oxH3mNE5mqWuE3H7hJsul7WZsRD2FDcariyoT2AW6xyOePILrn4uMnmG1KGc9m/8Pg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260217.0': - resolution: {integrity: sha512-4T65u1321z1Zet9n7liQsSW7g3EXM5SWIT7kJ/uqkEtkPnIzZBIowMQgkvL5W9SpGZks9t3mTQj7hiUia8Gq9Q==} + '@cloudflare/workerd-windows-64@1.20260219.0': + resolution: {integrity: sha512-i7qcuOsuAxqqn1n5Ar3Rh1dHUL9vNmpF9FcdMTT84jIrdm5UNrPZz5grJthPmpB9LTcreT9iiP6qKbzGjnCwPA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4352,8 +4352,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - miniflare@4.20260217.0: - resolution: {integrity: sha512-t2v02Vi9SUiiXoHoxLvsntli7N35e/35PuRAYEqHWtHOdDX3bqQ73dBQ0tI12/8ThCb2by2tVs7qOvgwn6xSBQ==} + miniflare@4.20260219.0: + resolution: {integrity: sha512-EIb5wXbWUnnC60XU2aiFOPNd4fgTXzECkwRSOXZ1vdcY9WZaEE9rVf+h+Apw+WkOHRkp3Dr9/ZhQ5y1R+9iZ4Q==} engines: {node: '>=18.0.0'} hasBin: true @@ -5740,17 +5740,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260217.0: - resolution: {integrity: sha512-6jVisS6wB6KbF+F9DVoDUy9p7MON8qZCFSaL8OcDUioMwknsUPFojUISu3/c30ZOZ24D4h7oqaahFc5C6huilw==} + workerd@1.20260219.0: + resolution: {integrity: sha512-l4U4iT5H8jNV6+EK23ExnUV2z6JvqQtQPrT8XCm4G8RpwC9EPpYTOO9s/ImMPJKe1WSbQUQoJ4k8Nd83fz8skQ==} engines: {node: '>=16'} hasBin: true - wrangler@4.66.0: - resolution: {integrity: sha512-b9RVIdKai0BXDuYg0iN0zwVnVbULkvdKGP7Bf1uFY2GhJ/nzDGqgwQbCwgDIOhmaBC8ynhk/p22M2jc8tJy+dQ==} + wrangler@4.67.0: + resolution: {integrity: sha512-58OoVth7bqm0nqsRgcI67gHbpp0IfR1JIBqDY0XR1FzRu9Qkjn6v2iJAdFf82QcVBFhaMBYQi88WqYGswq5wlQ==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260217.0 + '@cloudflare/workers-types': ^4.20260219.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -6055,25 +6055,25 @@ snapshots: - supports-color - utf-8-validate - '@cloudflare/unenv-preset@2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0)': + '@cloudflare/unenv-preset@2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260219.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260217.0 + workerd: 1.20260219.0 - '@cloudflare/workerd-darwin-64@1.20260217.0': + '@cloudflare/workerd-darwin-64@1.20260219.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260217.0': + '@cloudflare/workerd-darwin-arm64@1.20260219.0': optional: true - '@cloudflare/workerd-linux-64@1.20260217.0': + '@cloudflare/workerd-linux-64@1.20260219.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260217.0': + '@cloudflare/workerd-linux-arm64@1.20260219.0': optional: true - '@cloudflare/workerd-windows-64@1.20260217.0': + '@cloudflare/workerd-windows-64@1.20260219.0': optional: true '@cloudflare/workers-types@4.20260227.0': {} @@ -9995,12 +9995,12 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260217.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): + miniflare@4.20260219.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260217.0 + workerd: 1.20260219.0 ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -11570,24 +11570,24 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260217.0: + workerd@1.20260219.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260217.0 - '@cloudflare/workerd-darwin-arm64': 1.20260217.0 - '@cloudflare/workerd-linux-64': 1.20260217.0 - '@cloudflare/workerd-linux-arm64': 1.20260217.0 - '@cloudflare/workerd-windows-64': 1.20260217.0 + '@cloudflare/workerd-darwin-64': 1.20260219.0 + '@cloudflare/workerd-darwin-arm64': 1.20260219.0 + '@cloudflare/workerd-linux-64': 1.20260219.0 + '@cloudflare/workerd-linux-arm64': 1.20260219.0 + '@cloudflare/workerd-windows-64': 1.20260219.0 - wrangler@4.66.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.67.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.13.0(unenv@2.0.0-rc.24)(workerd@1.20260217.0) + '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260219.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260217.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + miniflare: 4.20260219.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260217.0 + workerd: 1.20260219.0 optionalDependencies: '@cloudflare/workers-types': 4.20260227.0 fsevents: 2.3.3 From 04de8ad13703cb24c63430b3134d5fb3db7a50b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 20:35:47 +0800 Subject: [PATCH 067/259] chore(deps-dev): bump @stylistic/eslint-plugin from 5.8.0 to 5.9.0 (#21188) Bumps [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) from 5.8.0 to 5.9.0. - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.9.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@stylistic/eslint-plugin" dependency-version: 5.9.0 dependency-type: direct:development 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 | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 482dc76358090f..e65ad233927062 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "@cloudflare/workers-types": "4.20260227.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "10.0.1", - "@stylistic/eslint-plugin": "5.8.0", + "@stylistic/eslint-plugin": "5.9.0", "@types/aes-js": "3.1.4", "@types/babel__preset-env": "7.10.0", "@types/crypto-js": "4.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2975bd294ffcb1..eb931d815962c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -303,8 +303,8 @@ importers: specifier: 10.0.1 version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) '@stylistic/eslint-plugin': - specifier: 5.8.0 - version: 5.8.0(eslint@10.0.0(jiti@2.6.1)) + specifier: 5.9.0 + version: 5.9.0(eslint@10.0.0(jiti@2.6.1)) '@types/aes-js': specifier: 3.1.4 version: 3.1.4 @@ -2059,11 +2059,11 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@stylistic/eslint-plugin@5.8.0': - resolution: {integrity: sha512-WNPVF/FfBAjyi3OA7gok8swRiImNLKI4dmV3iK/GC/0xSJR7eCzBFsw9hLZVgb1+MYNLy7aDsjohxN1hA/FIfQ==} + '@stylistic/eslint-plugin@5.9.0': + resolution: {integrity: sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=9.0.0' + eslint: ^9.0.0 || ^10.0.0 '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -2465,6 +2465,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + adm-zip@0.5.16: resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} engines: {node: '>=12.0'} @@ -7376,10 +7381,10 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.8.0(eslint@10.0.0(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.9.0(eslint@10.0.0(jiti@2.6.1))': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) - '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/types': 8.56.0 eslint: 10.0.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -7811,8 +7816,14 @@ snapshots: dependencies: acorn: 8.15.0 + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + acorn@8.15.0: {} + acorn@8.16.0: {} + adm-zip@0.5.16: {} aes-js@3.1.2: {} @@ -8715,8 +8726,8 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 espree@11.1.0: From 0b056eba75ddb5bd89cd6385b1bcf030feae3166 Mon Sep 17 00:00:00 2001 From: shcw0405 <112615230+shcw0405@users.noreply.github.com> Date: Sat, 21 Feb 2026 02:30:18 +0800 Subject: [PATCH 068/259] fix(route/manus): fix blog route (#21195) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(route/manus): fix blog route * style: refactor with flatMap and map per review --------- Co-authored-by: 蔡旭 --- lib/routes/manus/blog.ts | 96 ++++++++++++++++++++++++++++------------ 1 file changed, 67 insertions(+), 29 deletions(-) diff --git a/lib/routes/manus/blog.ts b/lib/routes/manus/blog.ts index 684d111531a8e6..7ed00f577ecb24 100644 --- a/lib/routes/manus/blog.ts +++ b/lib/routes/manus/blog.ts @@ -1,10 +1,15 @@ -import { load } from 'cheerio'; +import MarkdownIt from 'markdown-it'; import type { Data, DataItem, Route } from '@/types'; import { ViewType } from '@/types'; import cache from '@/utils/cache'; import ofetch from '@/utils/ofetch'; +const md = MarkdownIt({ + html: true, + linkify: true, +}); + export const route: Route = { path: '/blog', categories: ['programming'], @@ -35,43 +40,76 @@ export const route: Route = { async function handler() { const rootUrl = 'https://manus.im/blog'; - const response = await ofetch(rootUrl); - const $ = load(response); + const renderData = await ofetch(rootUrl, { + headers: { + RSC: '1', + }, + responseType: 'text', + }); - const list: DataItem[] = $('div.mt-10.px-6 > a') - .toArray() - .map((item) => { - const element = $(item); - const link = new URL(String(element.attr('href')), rootUrl).href; - const title = String(element.find('h2').attr('title')); + let blogList; + const lines = renderData.split('\n'); + for (const line of lines) { + if (line.includes('{"blogList":{"$typeName"')) { + const jsonStr = line.slice(Math.max(0, line.indexOf('{"blogList":{"$typeName"'))); + const lastBrace = jsonStr.lastIndexOf('}'); + try { + const parsed = JSON.parse(jsonStr.slice(0, Math.max(0, lastBrace + 1))); + blogList = parsed.blogList; + break; + } catch { + // Ignore parse errors and try next line if any + } + } + } - return { - link, - title, - }; - }); + if (!blogList || !blogList.groups) { + throw new Error('Failed to parse blogList from RSC data'); + } + + const list: Array = blogList.groups.flatMap( + (group) => + group.blogs?.map((blog) => ({ + title: blog.title, + link: `https://manus.im/blog/${blog.recordUid}`, + pubDate: new Date(blog.createdAt.seconds * 1000), + description: blog.desc, + category: [group.kindName], + _contentUrl: blog.contentUrl, + })) ?? [] + ); const items: DataItem[] = await Promise.all( - list.map((item) => - cache.tryGet(String(item.link), async () => { - const response = await ofetch(String(item.link)); - const $ = load(response); - const description: string = $('div.relative:nth-child(3)').html() ?? ''; - const pubDateText: string = $('div.gap-3:nth-child(1) > span:nth-child(2)').text().trim(); - const currentYear: number = new Date().getFullYear(); - const pubDate: Date = new Date(`${pubDateText} ${currentYear}`); + list.map( + (item) => + cache.tryGet(String(item.link), async () => { + const contentUrl = item._contentUrl; + let description = String(item.description); + if (contentUrl) { + try { + let contentText = await ofetch(contentUrl, { responseType: 'text' }); + // Fix video embeds: Manus uses ![type=manus_video](url) which markdown-it renders as + contentText = contentText.replaceAll(/!\[.*?\]\((.+?\.(mp4|mov|webm))\)/gi, ''); + // Parse markdown to HTML + description = md.render(contentText); + } catch { + // Fallback to description from list if fetch fails + } + } + + // Remove the temporary property to avoid pollution + delete item._contentUrl; - return { - ...item, - description, - pubDate, - }; - }) + return { + ...item, + description, + }; + }) as Promise ) ); return { - title: 'Manus', + title: 'Manus Blog', link: rootUrl, item: items, language: 'en', From 12e5f3ef716bc5c5bfbec3edbc3d2f73f30d307a Mon Sep 17 00:00:00 2001 From: flameleaf <18636550+flameleaf@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:34:53 -0800 Subject: [PATCH 069/259] feat(route/chub): support markdown and move thumbnail image to description (#21184) * Update api url * remove trailing ' * feat(route/chub): support markdown and move thumbnail image to description * style: auto format --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/routes/chub/characters.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/routes/chub/characters.ts b/lib/routes/chub/characters.ts index 0ed1d8a44502c1..ae237a85f88111 100644 --- a/lib/routes/chub/characters.ts +++ b/lib/routes/chub/characters.ts @@ -1,7 +1,16 @@ +import MarkdownIt from 'markdown-it'; + import type { Route } from '@/types'; import ofetch from '@/utils/ofetch'; import { parseDate } from '@/utils/parse-date'; +const md = MarkdownIt({ + breaks: true, + html: true, + linkify: true, + typographer: true, +}); + export const route: Route = { path: '/characters', categories: ['new-media'], @@ -14,6 +23,10 @@ export const route: Route = { }, }; +function convertUndefinedToString(value: any): string { + return value === undefined ? '' : value.toString(); +} + async function handler() { const hostURL = 'https://www.chub.ai/characters'; const apiURL = 'https://api.chub.ai/search'; @@ -52,13 +65,13 @@ async function handler() { link: hostURL, item: nodes.map((item) => ({ title: item.name, - description: `${item.tagline}

    ${item.description}`, + description: `
    ${item.tagline}
    ${md.render(convertUndefinedToString(item.description))}
    `, pubDate: parseDate(item.createdAt), updated: parseDate(item.lastActivityAt), link: `${hostURL}/${item.fullPath}`, author: String(item.fullPath.split('/', 1)), - enclosure_url: item.avatar_url, - enclosure_type: `image/webp`, + enclosure_url: item.max_res_url, + enclosure_type: `image/png`, category: item.topics, })), }; From 3ef013659e9ecc76670fb55cbba2295ad2c61cdd Mon Sep 17 00:00:00 2001 From: TROJAN Date: Sat, 21 Feb 2026 09:47:35 +0800 Subject: [PATCH 070/259] fix(route/showstart): enable `allowEmpty` to allow subscribing to artists who currently have no performances (#21198) --- lib/routes/showstart/artist.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/routes/showstart/artist.ts b/lib/routes/showstart/artist.ts index 1a18e443a6d9a2..a8f7bc854f2c6a 100644 --- a/lib/routes/showstart/artist.ts +++ b/lib/routes/showstart/artist.ts @@ -41,5 +41,6 @@ async function handler(ctx: Context): Promise { description: artist.content, link: `${HOST}/artist/${artist.id}`, item: artist.activityList, + allowEmpty: true, }; } From 3349076afe5bd8adab1a27708fb7ff921a29aeda Mon Sep 17 00:00:00 2001 From: Tony Date: Sun, 22 Feb 2026 00:46:35 +0800 Subject: [PATCH 071/259] fix(route/anthropic): update selectors (#21200) --- lib/routes/anthropic/news.ts | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/lib/routes/anthropic/news.ts b/lib/routes/anthropic/news.ts index e827f9c10d59ff..9708029ef63779 100644 --- a/lib/routes/anthropic/news.ts +++ b/lib/routes/anthropic/news.ts @@ -25,20 +25,20 @@ async function handler(ctx) { const link = 'https://www.anthropic.com/news'; const response = await ofetch(link); const $ = load(response); - const limit = ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 20; + const limit = ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 10; - const list: DataItem[] = $('.contentFadeUp a') + const list: DataItem[] = $('[class^="PublicationList-module-scss-module__"][class$="__list"] a') .toArray() .slice(0, limit) .map((el) => { const $el = $(el); - const title = $el.find('h3').text().trim(); + const title = $el.find('[class*="__title"]').text().trim(); const href = $el.attr('href') ?? ''; - const pubDate = $el.find('p.detail-m.agate').text().trim() || $el.find('div[class^="PostList_post-date__"]').text().trim(); // legacy selector used roughly before Jan 2025 - const fullLink = href.startsWith('http') ? href : `https://www.anthropic.com${href}`; + const pubDate = $el.find('time').text().trim(); + const link = href.startsWith('http') ? href : `https://www.anthropic.com${href}`; return { title, - link: fullLink, + link, pubDate, }; }); @@ -52,15 +52,7 @@ async function handler(ctx) { const content = $('#main-content'); - // Remove meaningless information (heading, sidebar, quote carousel, footer and codeblock controls) - $(` - [class^="PostDetail_post-heading"], - [class^="ArticleDetail_sidebar-container"], - [class^="QuoteCarousel_carousel-controls"], - [class^="PostDetail_b-social-share"], - [class^="LandingPageSection_root"], - [class^="CodeBlock_controls"] - `).remove(); + $('[class$="__header"], [class$="__socialShare"], [class*="__carousel-controls"], [class^="LandingPageSection-module-scss-module__"]').remove(); content.find('img').each((_, e) => { const $e = $(e); From f7bea67c634adc78e148b56678b774fa2d77d8fa Mon Sep 17 00:00:00 2001 From: Tsung-Han Yu <14802181+johan456789@users.noreply.github.com> Date: Mon, 23 Feb 2026 04:20:25 +0800 Subject: [PATCH 072/259] fix(route): remove elements for screen readers (#21206) --- lib/routes/google/jules.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/routes/google/jules.ts b/lib/routes/google/jules.ts index b732404cde3beb..835135b52e4443 100644 --- a/lib/routes/google/jules.ts +++ b/lib/routes/google/jules.ts @@ -46,6 +46,7 @@ async function handler() { // Full HTML for the item content article.find('h2').first().remove(); // remove title article.find('b').first().remove(); // remove date + article.find('.sr-only').remove(); // remove sr-only elements return { title, From 7785a7bde4ea866d981ec609129cae011be1b00b Mon Sep 17 00:00:00 2001 From: Tony Date: Mon, 23 Feb 2026 08:17:37 +0800 Subject: [PATCH 073/259] style: update eslint rules (#21207) * style: update eslint rules * style: fix prefer-object-spread * style: fix no-lonely-if * fix: typescript-eslint/no-unnecessary-template-expression * fix: sort import * style: apply file filtering to config presets * revert: changes on pkg * style: revert * style: use defineConfig * style: reorder js plugin in eslint config * chore: remove obsolete override * style: fix CodeQL initialization to ensure language matrix is used --- .github/workflows/codeql.yml | 2 +- .oxfmtrc.json | 5 +- eslint.config.mjs | 96 ++-- lib/routes/18comic/album.ts | 2 +- lib/routes/dlsite/utils.ts | 7 +- lib/routes/flyert/utils.ts | 2 +- lib/routes/getitfree/util.ts | 4 +- lib/routes/gov/cn/news/index.ts | 32 +- lib/routes/huggingface/models.ts | 14 +- lib/routes/kanxue/topic.ts | 14 +- lib/routes/mirrormedia/category.ts | 2 +- lib/routes/neea/index.ts | 2 +- lib/routes/taptap/topic.ts | 14 +- lib/routes/twitter/api/mobile-api/login.ts | 2 +- lib/routes/voronoiapp/common.ts | 12 +- lib/routes/xiaoheihe/discount.ts | 32 +- package.json | 29 +- pnpm-lock.yaml | 587 ++++++++++++++++++++- scripts/docker/minify-docker.js | 4 +- 19 files changed, 715 insertions(+), 147 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3c83d0301ef8b8..a870789efa99b3 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -55,13 +55,13 @@ jobs: - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: - languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality + languages: ${{ matrix.language }} # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). # If this step fails, then you should remove it and run the build manually (see below) diff --git a/.oxfmtrc.json b/.oxfmtrc.json index c25043a2b47308..93705aa65c3675 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -5,5 +5,8 @@ "singleQuote": true, "trailingComma": "es5", "arrowParens": "always", - "ignorePatterns": ["lib/routes-deprecated", "lib/router.js", "babel.config.js", "scripts/docker/minify-docker.js", "dist", "pnpm-lock.yaml"] + "ignorePatterns": ["lib/routes-deprecated", "lib/router.js", "babel.config.js", "scripts/docker/minify-docker.js", "dist", "pnpm-lock.yaml"], + "experimentalSortPackageJson": { + "sortScripts": true + } } diff --git a/eslint.config.mjs b/eslint.config.mjs index 3560e7b6df8093..ee655c9eb7d5da 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,23 +1,21 @@ -import { FlatCompat } from '@eslint/eslintrc'; import js from '@eslint/js'; import stylistic from '@stylistic/eslint-plugin'; import typescriptEslint from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; +import { defineConfig } from 'eslint/config'; +import github from 'eslint-plugin-github'; import { importX } from 'eslint-plugin-import-x'; import n from 'eslint-plugin-n'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; import unicorn from 'eslint-plugin-unicorn'; import eslintPluginYml from 'eslint-plugin-yml'; import globals from 'globals'; + // import nsfwFlagPlugin from './eslint-plugins/nsfw-flag.js'; -const __dirname = import.meta.dirname; -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); +const SOURCE_FILES_GLOB = '**/*.?([cm])[jt]s?(x)'; -export default [ +export default defineConfig([ // { // plugins: { // '@rsshub/nsfw-flag': nsfwFlagPlugin, @@ -27,17 +25,19 @@ export default [ // }, // }, { - ignores: ['**/coverage', '**/.vscode', '**/docker-compose.yml', '!.github', 'assets/build', 'lib/routes-deprecated', 'lib/router.js', '**/babel.config.js', 'scripts/docker/minify-docker.js', 'dist', 'dist-lib'], + ignores: ['**/coverage', '**/.vscode', '**/docker-compose.yml', '!.github', 'assets/build', 'lib/routes-deprecated', 'lib/router.js', 'dist', 'dist-lib', 'dist-worker'], }, - ...compat.extends('eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/stylistic'), - n.configs['flat/recommended-script'], - unicorn.configs.recommended, - ...eslintPluginYml.configs.recommended, { + files: [SOURCE_FILES_GLOB], plugins: { '@stylistic': stylistic, '@typescript-eslint': typescriptEslint, + github, + js, + n, + unicorn, }, + extends: [js.configs.recommended, typescriptEslint.configs['flat/recommended'], typescriptEslint.configs['flat/stylistic'], n.configs['flat/recommended-script'], unicorn.configs.recommended], languageOptions: { globals: { @@ -51,7 +51,7 @@ export default [ }, rules: { - // possible problems + // #region possible problems 'array-callback-return': [ 'error', { @@ -62,8 +62,9 @@ export default [ 'no-await-in-loop': 'error', 'no-control-regex': 'off', 'no-prototype-builtins': 'off', + // #endregion - // suggestions + // #region suggestions 'arrow-body-style': 'error', 'block-scoped-var': 'error', curly: 'error', @@ -95,9 +96,9 @@ export default [ 'no-implicit-globals': 'error', 'no-labels': 'error', + 'no-lonely-if': 'error', 'no-multi-str': 'error', 'no-new-func': 'error', - 'no-restricted-imports': 'error', 'no-restricted-syntax': [ 'error', @@ -136,7 +137,6 @@ export default [ 'prefer-arrow-callback': 'error', 'prefer-const': 'error', 'prefer-object-has-own': 'error', - 'no-useless-escape': 'warn', 'prefer-regex-literals': [ 'error', @@ -146,8 +146,9 @@ export default [ ], 'require-await': 'error', + // #endregion - // typescript + // #region typescript '@typescript-eslint/array-type': ['error', { default: 'array-simple' }], '@typescript-eslint/ban-ts-comment': 'off', @@ -177,8 +178,9 @@ export default [ ], '@typescript-eslint/prefer-for-of': 'error', + // #endregion - // unicorn + // #region unicorn 'unicorn/consistent-function-scoping': 'warn', 'unicorn/explicit-length-check': 'off', @@ -265,8 +267,9 @@ export default [ 'unicorn/switch-case-braces': ['error', 'avoid'], 'unicorn/text-encoding-identifier-case': 'off', 'unicorn/number-literal-case': 'off', + // #endregion - // formatting rules + // #region stylistic '@stylistic/arrow-parens': 'error', '@stylistic/arrow-spacing': 'error', '@stylistic/comma-spacing': 'error', @@ -291,9 +294,9 @@ export default [ '@stylistic/space-infix-ops': 'error', '@stylistic/space-unary-ops': 'error', '@stylistic/spaced-comment': 'error', + // #endregion - // https://github.com/eslint-community/eslint-plugin-n - // node specific rules + // #region node specific rules 'n/no-extraneous-require': 'error', 'n/no-deprecated-api': 'warn', @@ -317,6 +320,10 @@ export default [ ignores: [], }, ], + // #endregion + + // github + 'github/no-then': 'warn', }, }, { @@ -325,9 +332,33 @@ export default [ '@typescript-eslint/no-require-imports': 'off', }, }, + { + files: [SOURCE_FILES_GLOB], + plugins: { + 'simple-import-sort': simpleImportSort, + 'import-x': importX, + }, + rules: { + 'sort-imports': 'off', + 'import-x/order': 'off', + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + + 'import-x/first': 'error', + 'import-x/newline-after-import': 'error', + 'no-duplicate-imports': 'off', + 'import-x/no-duplicates': 'error', + + '@typescript-eslint/consistent-type-imports': 'error', + 'import-x/consistent-type-specifier-style': ['error', 'prefer-top-level'], + }, + }, { files: ['**/*.yaml', '**/*.yml'], ignores: ['pnpm-lock.yaml'], + plugins: { + yml: eslintPluginYml, + }, language: 'yml/yaml', rules: { 'lines-around-comment': [ @@ -355,25 +386,4 @@ export default [ ], }, }, - { - files: ['**/*.?([cm])[jt]s?(x)'], - plugins: { - 'simple-import-sort': simpleImportSort, - 'import-x': importX, - }, - rules: { - 'sort-imports': 'off', - 'import-x/order': 'off', - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - - 'import-x/first': 'error', - 'import-x/newline-after-import': 'error', - 'no-duplicate-imports': 'off', - 'import-x/no-duplicates': 'error', - - '@typescript-eslint/consistent-type-imports': 'error', - 'import-x/consistent-type-specifier-style': ['error', 'prefer-top-level'], - }, - }, -]; +]); diff --git a/lib/routes/18comic/album.ts b/lib/routes/18comic/album.ts index c2ecd580a14417..575c71d7254808 100644 --- a/lib/routes/18comic/album.ts +++ b/lib/routes/18comic/album.ts @@ -72,7 +72,7 @@ async function handler(ctx) { const chapterResult = await processApiItems(chapterApiUrl); const result = {}; const chapterNum = index + 1; - result.title = `第${String(chapterNum)}話 ${item.name === '' ? `${String(chapterNum)}` : item.name}`; + result.title = `第${chapterNum}話 ${item.name === '' ? chapterNum : item.name}`; result.link = `${rootUrl}/photo/${item.id}`; result.guid = `${rootUrl}/photo/${item.id}`; result.updated = new Date(chapterResult.addtime * 1000); diff --git a/lib/routes/dlsite/utils.ts b/lib/routes/dlsite/utils.ts index 069881a797e1c2..b13e050f0c6115 100644 --- a/lib/routes/dlsite/utils.ts +++ b/lib/routes/dlsite/utils.ts @@ -133,12 +133,7 @@ const ProcessItems = async (ctx) => { images = images.length === 0 ? [detail.work_image] : images; return { - title: `${ - discountRate - ? `${discountRate}% OFF - ${` ${discountEndDate ? `${dayjs(discountEndDate).format('YYYY-MM-DD HH:mm')} まで` : ''}`}` - : ' ' - }${title}`, + title: `${discountRate ? `${discountRate}% OFF ${discountEndDate ? `${dayjs(discountEndDate).format('YYYY-MM-DD HH:mm')} まで` : ''}` : ' '}${title}`, link, pubDate, author: authors.map((a) => a.name).join(' / '), diff --git a/lib/routes/flyert/utils.ts b/lib/routes/flyert/utils.ts index 8502f150e0628a..78874f26bc53c8 100644 --- a/lib/routes/flyert/utils.ts +++ b/lib/routes/flyert/utils.ts @@ -70,7 +70,7 @@ const ProcessFeed = (list, caches) => { const other = await caches.tryGet(itemUrl, () => loadContent(itemUrl)); // 合并解析后的结果集作为该篇文章最终的输出结果 - return Object.assign({}, single, other); + return { ...single, ...other }; }, { concurrency: 2 } ); // 设置并发请求数量为 2 diff --git a/lib/routes/getitfree/util.ts b/lib/routes/getitfree/util.ts index 454a946aaa85b2..50385c17bd1f14 100644 --- a/lib/routes/getitfree/util.ts +++ b/lib/routes/getitfree/util.ts @@ -48,7 +48,7 @@ const bakeFilterSearchParams = (filterPairs, pairKey, isApi = false) => { const key = keys[0]; const pairs = filterPairs[key]; - const originalFilters = Object.assign({}, filterPairs); + const originalFilters = { ...filterPairs }; delete originalFilters[key]; filterSearchParams.append(getFilterKeyForSearchParams(key, isApi), pairs.map((pair) => (Object.hasOwn(pair, pairKey) ? pair[pairKey] : pair)).join(',')); @@ -121,7 +121,7 @@ const bakeFiltersWithPair = async (filters) => { const key = keys[0]; const keywords = filters[key]; - const originalFilters = Object.assign({}, filters); + const originalFilters = { ...filters }; delete originalFilters[key]; return bakeFilters(originalFilters, { diff --git a/lib/routes/gov/cn/news/index.ts b/lib/routes/gov/cn/news/index.ts index 924f93cf6ad386..326d19245287cc 100644 --- a/lib/routes/gov/cn/news/index.ts +++ b/lib/routes/gov/cn/news/index.ts @@ -98,25 +98,23 @@ async function handler(ctx) { } else { description = item.find('a').text(); // 忽略获取吹风会的全文 } - } else { - if (contentUrl.includes('content')) { - fullTextGet = await got.get(contentUrl); - fullTextData = load(fullTextGet.data); - const $1 = fullTextData.html(); - pubDate = timezone(parseDate(fullTextData('meta[name="firstpublishedtime"]').attr('content'), 'YYYY-MM-DD HH:mm:ss'), 8); - author = fullTextData('meta[name="author"]').attr('content'); - category = fullTextData('meta[name="keywords"]').attr('content').split(/[,;]/); - if (/zhengceku/g.test(contentUrl)) { - // 政策文件库 - description = fullTextData('.pages_content').html(); - } else { - fullTextData('.shuzi').remove(); // 移除videobg的图片 - fullTextData('#myFlash').remove(); // 移除flash - description = /UCAP-CONTENT/g.test($1) ? fullTextData('#UCAP-CONTENT').html() : fullTextData('body').html(); - } + } else if (contentUrl.includes('content')) { + fullTextGet = await got.get(contentUrl); + fullTextData = load(fullTextGet.data); + const $1 = fullTextData.html(); + pubDate = timezone(parseDate(fullTextData('meta[name="firstpublishedtime"]').attr('content'), 'YYYY-MM-DD HH:mm:ss'), 8); + author = fullTextData('meta[name="author"]').attr('content'); + category = fullTextData('meta[name="keywords"]').attr('content').split(/[,;]/); + if (/zhengceku/g.test(contentUrl)) { + // 政策文件库 + description = fullTextData('.pages_content').html(); } else { - description = item.find('a').text(); // 忽略获取吹风会的全文 + fullTextData('.shuzi').remove(); // 移除videobg的图片 + fullTextData('#myFlash').remove(); // 移除flash + description = /UCAP-CONTENT/g.test($1) ? fullTextData('#UCAP-CONTENT').html() : fullTextData('body').html(); } + } else { + description = item.find('a').text(); // 忽略获取吹风会的全文 } return { title: item.find('a').text(), diff --git a/lib/routes/huggingface/models.ts b/lib/routes/huggingface/models.ts index 94f8a544855172..b5e0f737801525 100644 --- a/lib/routes/huggingface/models.ts +++ b/lib/routes/huggingface/models.ts @@ -92,15 +92,13 @@ async function handler(ctx) { if (/^https?:\/\//i.test(src)) { // 已经是完整 URL $e.attr('src', src); - } else { + } else if (src.startsWith('/')) { // 处理以 / 开头的绝对路径 - if (src.startsWith('/')) { - $e.attr('src', `${item.link}/resolve/main/` + src); - } else { - // 处理相对路径(如 ./images/pic.png 或 images/pic.png) - const baseUrl = item.link + '/resolve/main/'; - $e.attr('src', baseUrl + src.replace(/^\.\//, '')); - } + $e.attr('src', `${item.link}/resolve/main/` + src); + } else { + // 处理相对路径(如 ./images/pic.png 或 images/pic.png) + const baseUrl = item.link + '/resolve/main/'; + $e.attr('src', baseUrl + src.replace(/^\.\//, '')); } }); item.description = $Out.html(); diff --git a/lib/routes/kanxue/topic.ts b/lib/routes/kanxue/topic.ts index a4613d536cef1a..edefb572d77df5 100644 --- a/lib/routes/kanxue/topic.ts +++ b/lib/routes/kanxue/topic.ts @@ -74,15 +74,13 @@ async function handler(ctx) { path = `forum-${categoryId[category][0]}.html`; title = `看雪论坛最新主题 - ${categoryId[category][1]}`; } - } else { + } else if (category === 'digest') { // category未知时则获取全站最新帖 - if (category === 'digest') { - path = 'new-digest.htm'; - title = '看雪论坛精华主题'; - } else { - path = 'new-tid.htm'; - title = '看雪论坛最新主题'; - } + path = 'new-digest.htm'; + title = '看雪论坛精华主题'; + } else { + path = 'new-tid.htm'; + title = '看雪论坛最新主题'; } const response = await got({ diff --git a/lib/routes/mirrormedia/category.ts b/lib/routes/mirrormedia/category.ts index cb08c0bc4425ba..31b4cd1c15c07f 100644 --- a/lib/routes/mirrormedia/category.ts +++ b/lib/routes/mirrormedia/category.ts @@ -88,7 +88,7 @@ query ($take: Int, $skip: Int, $orderBy: [PostOrderByInput!]!, $filter: PostWher title: e.title, pubDate: parseDate(e.publishedDate), category: [...(e.sections ?? []).map((_) => `section:${_.name}`), ...(e.categories ?? []).map((_) => `category:${_.name}`)], - link: `${rootUrl}/${'story'}/${e.slug}`, + link: `${rootUrl}/story/${e.slug}`, })); const list = await Promise.all(items.map((item) => getArticle(item))); diff --git a/lib/routes/neea/index.ts b/lib/routes/neea/index.ts index 5a0c95c59b1e7d..f93476f5a97009 100644 --- a/lib/routes/neea/index.ts +++ b/lib/routes/neea/index.ts @@ -49,7 +49,7 @@ async function handler(ctx) { pubDate: timezone(parseDate(time), +8), }; const other = await loadContent(String(itemUrl)); - return Object.assign({}, single, other); + return { ...single, ...other }; }) ); return { diff --git a/lib/routes/taptap/topic.ts b/lib/routes/taptap/topic.ts index 2954d437791876..270cefc5f02111 100644 --- a/lib/routes/taptap/topic.ts +++ b/lib/routes/taptap/topic.ts @@ -90,15 +90,13 @@ async function handler(ctx) { if (moment.reposted_moment.topic.footer_images) { description += imagePost(moment.reposted_moment.topic.footer_images); } - } else { - if (moment.topic.pin_video) { - description += videoPost(moment.topic.pin_video); - if (moment.topic.footer_images?.images) { - description += imagePost(moment.topic.footer_images.images); - } - } else { - description = await topicPost(appId, topicId, lang); + } else if (moment.topic.pin_video) { + description += videoPost(moment.topic.pin_video); + if (moment.topic.footer_images?.images) { + description += imagePost(moment.topic.footer_images.images); } + } else { + description = await topicPost(appId, topicId, lang); } return { title, diff --git a/lib/routes/twitter/api/mobile-api/login.ts b/lib/routes/twitter/api/mobile-api/login.ts index 0ba86345086aeb..793cda0d98887a 100644 --- a/lib/routes/twitter/api/mobile-api/login.ts +++ b/lib/routes/twitter/api/mobile-api/login.ts @@ -49,7 +49,7 @@ const postTask = async (flowToken: string, subtaskId: string, subtaskInput: Reco headers, json: { flow_token: flowToken, - subtask_inputs: [Object.assign({ subtask_id: subtaskId }, subtaskInput)], + subtask_inputs: [{ subtask_id: subtaskId, ...subtaskInput }], }, }); diff --git a/lib/routes/voronoiapp/common.ts b/lib/routes/voronoiapp/common.ts index 98b02ea1d9b3e0..3e65d9f9c37486 100644 --- a/lib/routes/voronoiapp/common.ts +++ b/lib/routes/voronoiapp/common.ts @@ -19,13 +19,11 @@ export async function getPostItems(params: { }): Promise { const baseUrl = 'https://9oyi4rk426.execute-api.ca-central-1.amazonaws.com/production/post'; const url = new URL(baseUrl); - const finalSearchParams = Object.assign( - { - limit: 20, - offset: 0, - }, - params - ); + const finalSearchParams = { + limit: 20, + offset: 0, + ...params, + }; if (finalSearchParams.time_range !== undefined) { finalSearchParams.time_range = finalSearchParams.time_range.toUpperCase(); if (!TimeRangeParam.options.some((option) => option.value === finalSearchParams.time_range)) { diff --git a/lib/routes/xiaoheihe/discount.ts b/lib/routes/xiaoheihe/discount.ts index 5e8d054140aa77..df1aa9ebf9aefd 100644 --- a/lib/routes/xiaoheihe/discount.ts +++ b/lib/routes/xiaoheihe/discount.ts @@ -104,23 +104,21 @@ async function handler(ctx) { } } } - } else { - if (item.price) { - description += `平台: ${platformInfo.desc}
    `; - if (item.heybox_price) { - description += `当前价格: ${item.price.current} ${getHeyboxPriceDesc(item.heybox_price)} ${getLowestDesc(item.price, item.heybox_price.super_lowest)}
    `; - } else if (item.price.current) { - description += `当前价格: ${item.price.current} ${getLowestDesc(item.price)}
    `; - } - if (item.price.initial) { - description += `原价: ${item.price.initial}
    `; - } - if (item.price.discount && item.price.discount > 0) { - description += `折扣力度: ${getDiscountDesc(item.price.discount)}
    `; - } - if (item.price.deadline_date) { - description += `截止时间: ${item.price.deadline_date}
    `; - } + } else if (item.price) { + description += `平台: ${platformInfo.desc}
    `; + if (item.heybox_price) { + description += `当前价格: ${item.price.current} ${getHeyboxPriceDesc(item.heybox_price)} ${getLowestDesc(item.price, item.heybox_price.super_lowest)}
    `; + } else if (item.price.current) { + description += `当前价格: ${item.price.current} ${getLowestDesc(item.price)}
    `; + } + if (item.price.initial) { + description += `原价: ${item.price.initial}
    `; + } + if (item.price.discount && item.price.discount > 0) { + description += `折扣力度: ${getDiscountDesc(item.price.discount)}
    `; + } + if (item.price.deadline_date) { + description += `截止时间: ${item.price.deadline_date}
    `; } } if (item.score) { diff --git a/package.json b/package.json index e65ad233927062..b3258faafbd5e9 100644 --- a/package.json +++ b/package.json @@ -30,12 +30,7 @@ "build:docs": "npm run build:routes && tsx scripts/workflow/build-docs.ts", "build:lib": "npm run build:routes && tsdown --config ./tsdown-lib.config.ts", "build:routes": "cross-env NODE_ENV=dev tsx scripts/workflow/build-routes.ts", - "vercel-build": "npm run build:routes && tsdown --config ./tsdown-vercel.config.ts", "build:routes:worker": "cross-env NODE_ENV=dev WORKER_BUILD=true tsx scripts/workflow/build-routes.ts", - "worker-build": "npm run build:routes:worker && tsdown --config ./tsdown-worker.config.ts", - "worker-dev": "npm run worker-build && wrangler dev", - "worker-deploy": "npm run worker-build && wrangler deploy", - "worker-test": "npm run worker-build && vitest run lib/worker.worker.test.ts", "container-build": "tsdown --config ./tsdown-container.config.ts", "container-deploy": "npm run container-build && wrangler deploy --config wrangler-container.toml --containers-rollout=immediate", "dev": "cross-env NODE_ENV=dev NODE_OPTIONS='--max-http-header-size=32768' tsx watch --inspect --clear-screen=false lib/index.ts", @@ -49,10 +44,15 @@ "profiling": "cross-env NODE_ENV=production tsx --prof lib/index.ts", "start": "cross-env NODE_ENV=production NODE_OPTIONS='--max-http-header-size=32768' node dist/index.mjs", "test": "npm run format:check && npm run vitest:coverage", + "vercel-build": "npm run build:routes && tsdown --config ./tsdown-vercel.config.ts", "vitest": "cross-env NODE_ENV=test vitest", "vitest:coverage": "cross-env NODE_ENV=test vitest --coverage.enabled --reporter=junit", "vitest:fullroutes": "cross-env NODE_ENV=test FULL_ROUTES_TEST=true vitest --reporter=json --reporter=default --outputFile=\"./assets/build/test-full-routes.json\" routes", - "vitest:watch": "cross-env NODE_ENV=test vitest --watch" + "vitest:watch": "cross-env NODE_ENV=test vitest --watch", + "worker-build": "npm run build:routes:worker && tsdown --config ./tsdown-worker.config.ts", + "worker-deploy": "npm run worker-build && wrangler deploy", + "worker-dev": "npm run worker-build && wrangler dev", + "worker-test": "npm run worker-build && vitest run lib/worker.worker.test.ts" }, "dependencies": { "@bbob/html": "4.3.1", @@ -174,6 +174,7 @@ "domhandler": "5.0.3", "eslint": "10.0.0", "eslint-nibble": "9.1.1", + "eslint-plugin-github": "6.0.0", "eslint-plugin-import-x": "4.16.1", "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", @@ -212,7 +213,7 @@ "engines": { "node": "^22.20.0 || ^24" }, - "packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc", + "packageManager": "pnpm@10.30.1+sha512.3590e550d5384caa39bd5c7c739f72270234b2f6059e13018f975c313b1eb9fefcc09714048765d4d9efe961382c312e624572c0420762bdc5d5940cdf9be73a", "pnpm": { "onlyBuiltDependencies": [ "bufferutil", @@ -234,6 +235,10 @@ "wrangler" ], "overrides": { + "array-includes": "npm:@nolyfill/array-includes@^1", + "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@^1", + "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@^1", + "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@^1", "difflib": "https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed", "es-set-tostringtag": "npm:@nolyfill/es-set-tostringtag@^1", "google-play-scraper>got": "^14.6.4", @@ -241,12 +246,18 @@ "google-play-scraper>tough-cookie": "^6.0.0", "hasown": "npm:@nolyfill/hasown@^1", "is-core-module": "npm:@nolyfill/is-core-module@^1", - "js-beautify@1.15.4>glob": "^10.5.0", + "object.assign": "npm:@nolyfill/object.assign@^1", + "object.fromentries": "npm:@nolyfill/object.fromentries@^1", + "object.groupby": "npm:@nolyfill/object.groupby@^1", + "object.values": "npm:@nolyfill/object.values@^1", "rss-parser@3.13.0>entities": "^7.0.0", "rss-parser@3.13.0>xml2js": "^0.6.2", "safe-buffer": "npm:@nolyfill/safe-buffer@^1", + "safe-regex-test": "npm:@nolyfill/safe-regex-test@^1", "safer-buffer": "npm:@nolyfill/safer-buffer@^1", - "side-channel": "npm:@nolyfill/side-channel@^1" + "side-channel": "npm:@nolyfill/side-channel@^1", + "string.prototype.includes": "npm:@nolyfill/string.prototype.includes@^1", + "string.prototype.trimend": "npm:@nolyfill/string.prototype.trimend@^1" }, "patchedDependencies": { "rss-parser@3.13.0": "patches/rss-parser@3.13.0.patch" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb931d815962c7..3557bb4b535d54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,10 @@ settings: excludeLinksFromLockfile: false overrides: + array-includes: npm:@nolyfill/array-includes@^1 + array.prototype.findlastindex: npm:@nolyfill/array.prototype.findlastindex@^1 + array.prototype.flat: npm:@nolyfill/array.prototype.flat@^1 + array.prototype.flatmap: npm:@nolyfill/array.prototype.flatmap@^1 difflib: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed es-set-tostringtag: npm:@nolyfill/es-set-tostringtag@^1 google-play-scraper>got: ^14.6.4 @@ -12,12 +16,18 @@ overrides: google-play-scraper>tough-cookie: ^6.0.0 hasown: npm:@nolyfill/hasown@^1 is-core-module: npm:@nolyfill/is-core-module@^1 - js-beautify@1.15.4>glob: ^10.5.0 + object.assign: npm:@nolyfill/object.assign@^1 + object.fromentries: npm:@nolyfill/object.fromentries@^1 + object.groupby: npm:@nolyfill/object.groupby@^1 + object.values: npm:@nolyfill/object.values@^1 rss-parser@3.13.0>entities: ^7.0.0 rss-parser@3.13.0>xml2js: ^0.6.2 safe-buffer: npm:@nolyfill/safe-buffer@^1 + safe-regex-test: npm:@nolyfill/safe-regex-test@^1 safer-buffer: npm:@nolyfill/safer-buffer@^1 side-channel: npm:@nolyfill/side-channel@^1 + string.prototype.includes: npm:@nolyfill/string.prototype.includes@^1 + string.prototype.trimend: npm:@nolyfill/string.prototype.trimend@^1 patchedDependencies: rss-parser@3.13.0: @@ -380,9 +390,12 @@ importers: eslint-nibble: specifier: 9.1.1 version: 9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-github: + specifier: 6.0.0 + version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 version: 17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) @@ -436,7 +449,7 @@ importers: version: 7.2.2 tsdown: specifier: 0.20.3 - version: 0.20.3(synckit@0.11.11)(typescript@5.9.3) + version: 0.20.3(synckit@0.11.12)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 @@ -837,6 +850,15 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.4.1': + resolution: {integrity: sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.40 || 9 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/config-array@0.23.1': resolution: {integrity: sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -866,6 +888,10 @@ packages: eslint: optional: true + '@eslint/js@9.39.3': + resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/markdown@7.5.1': resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -882,6 +908,9 @@ packages: resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@github/browserslist-config@1.0.0': + resolution: {integrity: sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==} + '@hono/node-server@1.19.9': resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==} engines: {node: '>=18.14.1'} @@ -1217,6 +1246,22 @@ packages: resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} engines: {node: '>= 20.19.0'} + '@nolyfill/array-includes@1.0.44': + resolution: {integrity: sha512-IVEqpEgFbLaU0hUoMwJYXNSdi6lq+FxHdxd8xTKDLxh8k6u5YNGz4Bo6bT46l7p0x8PbJmHViBtngqhvE528fA==} + engines: {node: '>=12.4.0'} + + '@nolyfill/array.prototype.findlastindex@1.0.44': + resolution: {integrity: sha512-BLeHS3SulsR3iFxxETL9q21lArV2KS7lh2wcUnhue1ppx19xah1W7MdFxepyeGbM3Umk9S90snfboXAds5HkTg==} + engines: {node: '>=12.4.0'} + + '@nolyfill/array.prototype.flat@1.0.44': + resolution: {integrity: sha512-HnOqOT4te0l+XU9UKhy3ry+pc+ZRNsUJFR7omMEtjXf4+dq6oXmIBk7vR35+hSTk4ldjwm/27jwV3ZIGp3l4IQ==} + engines: {node: '>=12.4.0'} + + '@nolyfill/array.prototype.flatmap@1.0.44': + resolution: {integrity: sha512-P6OsaEUrpBJ9NdNekFDQVM9LOFHPDKSJzwOWRBaC6LqREX+4lkZT2Q+to78R6aG6atuOQsxBVqPjMGCKjWdvyQ==} + engines: {node: '>=12.4.0'} + '@nolyfill/es-set-tostringtag@1.0.44': resolution: {integrity: sha512-Qfiv/3wI+mKSPCgU8Fg/7Auu4os00St4GwyLqCCZ/oBD4W00itWUkl9Rq1MCGS+VXYDnTobvrc6AvPagwnT2pg==} engines: {node: '>=12.4.0'} @@ -1225,18 +1270,53 @@ packages: resolution: {integrity: sha512-GA/21lkTr2PAQuT6jGnhLuBD5IFd/AEhBXJ/tf33+/bVxPxg+5ejKx9jGQGnyV/P0eSmdup5E+s8b2HL6lOrwQ==} engines: {node: '>=12.4.0'} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@nolyfill/object.assign@1.0.44': + resolution: {integrity: sha512-cZoXq09YZXDgkxRMAP/TTb3kAsWm7p5OyBugWDe4fOfxf0XRI55mgDSkuyq41sV1qW1zVC5aSsKEh1hQo1KOvA==} + engines: {node: '>=12.4.0'} + + '@nolyfill/object.fromentries@1.0.44': + resolution: {integrity: sha512-/LrsCtpLmByZ6GwP/NeXULSgMyNsVr5d6FlgQy1HZatAiBc8c+WZ1VmFkK19ZLXCNNXBedXDultrp0x4Nz+QQw==} + engines: {node: '>=12.4.0'} + + '@nolyfill/object.groupby@1.0.44': + resolution: {integrity: sha512-jCt/8pN+10mlbeg0ZESpVVaqn5qqpv6kpjM+GDfEP7cXGDSPlIjtvfYWRZK4k4Gftkhhgqkzvcrr8z1wuNO1TQ==} + engines: {node: '>=12.4.0'} + + '@nolyfill/object.values@1.0.44': + resolution: {integrity: sha512-bwIpVzFMudUC0ofnvdSDB/OyGUizcU+r32ZZ0QTMbN03gUttMtdCFDekuSYT0XGFgufTQyZ4ONBnAeb3DFCPGQ==} + engines: {node: '>=12.4.0'} + '@nolyfill/safe-buffer@1.0.44': resolution: {integrity: sha512-SqlKXtlhNTDMeZKey9jnnuPhi8YTl1lJuEcY9zbm5i4Pqe79UJJ8IJ9oiD6DhgI8KjYc+HtLzpQJNRdNYqb/hw==} engines: {node: '>=12.4.0'} + '@nolyfill/safe-regex-test@1.0.44': + resolution: {integrity: sha512-Q6veatd1NebtD8Sre6zjvO35QzG21IskMVOOEbePFcNO9noanNJgsqHeOCr0c5yZz6Z0DAizLg2gIZWokJSkXw==} + engines: {node: '>=12.4.0'} + '@nolyfill/safer-buffer@1.0.44': resolution: {integrity: sha512-Ouw1fMwjAy1V4MpnDASfu1DCPgkP0nNFteiiWbFoEGSqa7Vnmkb6if2c522N2WcMk+RuaaabQbC1F1D4/kTXcg==} engines: {node: '>=12.4.0'} + '@nolyfill/shared@1.0.44': + resolution: {integrity: sha512-NI1zxDh4LYL7PYlKKCwojjuc5CEZslywrOTKBNyodjmWjRiZ4AlCMs3Gp+zDoPQPNkYCSQp/luNojHmJWWfCbw==} + '@nolyfill/side-channel@1.0.44': resolution: {integrity: sha512-y3SvzjuY1ygnzWA4Krwx/WaJAsTMP11DN+e21A8Fa8PW1oDtVB5NSRW7LWurAiS2oKRkuCgcjTYMkBuBkcPCRg==} engines: {node: '>=12.4.0'} + '@nolyfill/string.prototype.includes@1.0.44': + resolution: {integrity: sha512-d1t7rnoAYyoap0X3a/gCnusCvxzK6v7uMFzW8k0mI2WtAK8HiKuzaQUwAriyVPh63GsvQCqvXx8Y5gtdh4LjSA==} + engines: {node: '>=12.4.0'} + + '@nolyfill/string.prototype.trimend@1.0.44': + resolution: {integrity: sha512-3dsKlf4Ma7o+uxLIg5OI1Tgwfet2pE8WTbPjEGWvOe6CSjMtK0skJnnSVHaEVX4N4mYU81To0qDeZOPqjaUotg==} + engines: {node: '>=12.4.0'} + '@notionhq/client@5.9.0': resolution: {integrity: sha512-TvAVMfwtVv61hsPrRfB9ehgzSjX6DaAi1ZRAnpg8xFjzaXhzhEfbO0PhBRm3ecSv1azDuO2kBuyQHh2/z7G4YQ==} engines: {node: '>=18'} @@ -1970,6 +2050,9 @@ packages: '@rss3/sdk@0.0.25': resolution: {integrity: sha512-jyXT4YTwefxxRZ0tt5xjbnw8e7zPg2OGdo/0xb+h/7qWnMNhLtWpc95DsYs/1C/I0rIyiDpZBhLI2DieQ9y+tw==} + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@scalar/core@0.3.41': resolution: {integrity: sha512-IPgiHOSGBDfBcJELbev0lo+ZHc8Q/vA82neX0Ax1iHNGtf/munH+qN5I+p9rGRS60IRQAwABlUo31Y3Gw1c0EA==} engines: {node: '>=20'} @@ -2146,6 +2229,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} @@ -2518,6 +2604,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -2536,6 +2626,9 @@ packages: resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} engines: {node: '>=20.19.0'} + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -2565,6 +2658,14 @@ packages: aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + axe-core@4.11.1: + resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==} + engines: {node: '>=4'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + b4a@1.7.4: resolution: {integrity: sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug==} peerDependencies: @@ -2959,6 +3060,9 @@ packages: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -3088,6 +3192,10 @@ packages: discord-api-types@0.38.39: resolution: {integrity: sha512-XRdDQvZvID1XvcFftjSmd4dcmMi/RL/jSy5sduBDAvCGFcNFHThdIQXCEBDZFe52lCNEzuIL0QJoKYAmRmxLUA==} + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -3259,6 +3367,12 @@ packages: peerDependencies: eslint: '>=6.0.0' + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + eslint-filtered-fix@0.3.0: resolution: {integrity: sha512-UMHOza9epEn9T+yVT8RiCFf0JdALpVzmoH62Ez/zvxM540IyUNAkr7aH2Frkv6zlm9a/gbmq/sc7C4SvzZQXcA==} hasBin: true @@ -3274,6 +3388,30 @@ packages: unrs-resolver: optional: true + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + eslint-nibble@9.1.1: resolution: {integrity: sha512-yXq9GsGE7hYuQ7D7b/hCvOmNVxQ9MmBkm3VKKIqbEYLicbcv/638jm3/m8pd33rERhZ0hnSDjTn3df9n6X6fPA==} engines: {node: '>=18.0.0'} @@ -3287,6 +3425,33 @@ packages: peerDependencies: eslint: '>=8' + eslint-plugin-escompat@3.11.4: + resolution: {integrity: sha512-j0ywwNnIufshOzgAu+PfIig1c7VRClKSNKzpniMT2vXQ4leL5q+e/SpMFQU0nrdL2WFFM44XmhSuwmxb3G0CJg==} + peerDependencies: + eslint: '>=5.14.1' + + eslint-plugin-eslint-comments@3.2.0: + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-filenames@1.3.2: + resolution: {integrity: sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==} + peerDependencies: + eslint: '*' + + eslint-plugin-github@6.0.0: + resolution: {integrity: sha512-J8MvUoiR/TU/Y9NnEmg1AnbvMUj9R6IO260z47zymMLLvso7B4c80IKjd8diqmqtSmeXXlbIus4i0SvK84flag==} + hasBin: true + peerDependencies: + eslint: ^8 || ^9 + + eslint-plugin-i18n-text@1.0.1: + resolution: {integrity: sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==} + peerDependencies: + eslint: '>=5.0.0' + eslint-plugin-import-x@4.16.1: resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3300,12 +3465,46 @@ packages: eslint-import-resolver-node: optional: true + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + eslint-plugin-n@17.24.0: resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} + + eslint-plugin-prettier@5.5.5: + resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + eslint-plugin-simple-import-sort@12.1.1: resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: @@ -3323,6 +3522,10 @@ packages: peerDependencies: eslint: '>=9.38.0' + eslint-rule-documentation@1.0.23: + resolution: {integrity: sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==} + engines: {node: '>=4.0.0'} + eslint-scope@9.1.0: resolution: {integrity: sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -3431,6 +3634,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -4017,6 +4223,10 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} @@ -4036,6 +4246,10 @@ packages: jsrsasign@11.1.0: resolution: {integrity: sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg==} + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -4055,6 +4269,13 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -4093,6 +4314,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} @@ -4103,6 +4327,15 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + + lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -4381,6 +4614,9 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -4668,6 +4904,9 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -4760,6 +4999,15 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} + + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} + hasBin: true + process-warning@5.0.0: resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} @@ -4956,6 +5204,11 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + responselike@4.0.2: resolution: {integrity: sha512-cGk8IbWEAnaCpdAt1BHzJ3Ahz5ewDJa0KseTsE3qIRMJ3C698W8psM7byCeWVpd/Ha7FUYzuRVzXoKoM6nRUbA==} engines: {node: '>=20'} @@ -5031,6 +5284,10 @@ packages: selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -5183,6 +5440,10 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -5214,11 +5475,18 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-element-attributes@1.3.1: + resolution: {integrity: sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synckit@0.11.11: - resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + synckit@0.11.12: + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} engines: {node: ^14.18.0 || >=16.0.0} system-architecture@0.1.0: @@ -5387,6 +5655,9 @@ packages: typescript: optional: true + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsdown@0.20.3: resolution: {integrity: sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w==} engines: {node: '>=20.19.0'} @@ -5464,6 +5735,13 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typescript-eslint@8.56.0: + resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -6222,6 +6500,12 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} + '@eslint/compat@1.4.1(eslint@10.0.0(jiti@2.6.1))': + dependencies: + '@eslint/core': 0.17.0 + optionalDependencies: + eslint: 10.0.0(jiti@2.6.1) + '@eslint/config-array@0.23.1': dependencies: '@eslint/object-schema': 3.0.1 @@ -6260,6 +6544,8 @@ snapshots: optionalDependencies: eslint: 10.0.0(jiti@2.6.1) + '@eslint/js@9.39.3': {} + '@eslint/markdown@7.5.1': dependencies: '@eslint/core': 0.17.0 @@ -6286,6 +6572,8 @@ snapshots: '@eslint/core': 1.1.0 levn: 0.4.1 + '@github/browserslist-config@1.0.0': {} + '@hono/node-server@1.19.9(hono@4.12.0)': dependencies: hono: 4.12.0 @@ -6590,16 +6878,62 @@ snapshots: '@noble/hashes@2.0.1': {} + '@nolyfill/array-includes@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/array.prototype.findlastindex@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/array.prototype.flat@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/array.prototype.flatmap@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + '@nolyfill/es-set-tostringtag@1.0.44': {} '@nolyfill/hasown@1.0.44': {} + '@nolyfill/is-core-module@1.0.39': {} + + '@nolyfill/object.assign@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/object.fromentries@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/object.groupby@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/object.values@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + '@nolyfill/safe-buffer@1.0.44': {} + '@nolyfill/safe-regex-test@1.0.44': {} + '@nolyfill/safer-buffer@1.0.44': {} + '@nolyfill/shared@1.0.44': {} + '@nolyfill/side-channel@1.0.44': {} + '@nolyfill/string.prototype.includes@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + + '@nolyfill/string.prototype.trimend@1.0.44': + dependencies: + '@nolyfill/shared': 1.0.44 + '@notionhq/client@5.9.0': {} '@one-ini/wasm@0.1.1': {} @@ -7019,8 +7353,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.2.9': - optional: true + '@pkgr/core@0.2.9': {} '@poppinss/colors@4.1.6': dependencies: @@ -7273,6 +7606,8 @@ snapshots: '@rss3/api-core': 0.0.25 '@rss3/api-utils': 0.0.25 + '@rtsao/scc@1.1.0': {} + '@scalar/core@0.3.41': dependencies: '@scalar/types': 0.6.6 @@ -7467,6 +7802,8 @@ snapshots: '@types/json-schema@7.0.15': {} + '@types/json5@0.0.29': {} + '@types/jsonfile@6.1.4': dependencies: '@types/node': 25.3.0 @@ -7861,6 +8198,8 @@ snapshots: argparse@2.0.1: {} + aria-query@5.3.2: {} + asap@2.0.6: {} asn1@0.2.6: @@ -7877,6 +8216,8 @@ snapshots: estree-walker: 3.0.3 pathe: 2.0.3 + ast-types-flow@0.0.8: {} + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -7903,6 +8244,10 @@ snapshots: aws4@1.13.2: {} + axe-core@4.11.1: {} + + axobject-query@4.1.0: {} + b4a@1.7.4: {} bail@2.0.2: {} @@ -8279,6 +8624,8 @@ snapshots: es5-ext: 0.10.64 type: 2.7.3 + damerau-levenshtein@1.0.8: {} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 @@ -8374,6 +8721,10 @@ snapshots: discord-api-types@0.38.39: {} + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -8563,6 +8914,10 @@ snapshots: eslint: 10.0.0(jiti@2.6.1) semver: 7.7.4 + eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + eslint-filtered-fix@0.3.0(eslint@10.0.0(jiti@2.6.1)): dependencies: eslint: 10.0.0(jiti@2.6.1) @@ -8575,6 +8930,24 @@ snapshots: optionalDependencies: unrs-resolver: 1.11.1 + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: '@nolyfill/is-core-module@1.0.39' + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.0(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 @@ -8596,7 +8969,62 @@ snapshots: eslint: 10.0.0(jiti@2.6.1) eslint-compat-utils: 0.5.1(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-escompat@3.11.4(eslint@10.0.0(jiti@2.6.1)): + dependencies: + browserslist: 4.28.1 + eslint: 10.0.0(jiti@2.6.1) + + eslint-plugin-eslint-comments@3.2.0(eslint@10.0.0(jiti@2.6.1)): + dependencies: + escape-string-regexp: 1.0.5 + eslint: 10.0.0(jiti@2.6.1) + ignore: 5.3.2 + + eslint-plugin-filenames@1.3.2(eslint@10.0.0(jiti@2.6.1)): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.upperfirst: 4.3.1 + + eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.0(jiti@2.6.1)): + dependencies: + '@eslint/compat': 1.4.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.3 + '@github/browserslist-config': 1.0.0 + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + aria-query: 5.3.2 + eslint: 10.0.0(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-escompat: 3.11.4(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-filenames: 1.3.2(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-i18n-text: 1.0.1(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1) + eslint-rule-documentation: 1.0.23 + globals: 16.5.0 + jsx-ast-utils: 3.3.5 + prettier: 3.8.1 + svg-element-attributes: 1.3.1 + typescript: 5.9.3 + typescript-eslint: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + transitivePeerDependencies: + - '@types/eslint' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-i18n-text@1.0.1(eslint@10.0.0(jiti@2.6.1)): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.55.0 comment-parser: 1.4.5 @@ -8610,9 +9038,58 @@ snapshots: unrs-resolver: 1.11.1 optionalDependencies: '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: '@nolyfill/array-includes@1.0.44' + array.prototype.findlastindex: '@nolyfill/array.prototype.findlastindex@1.0.44' + array.prototype.flat: '@nolyfill/array.prototype.flat@1.0.44' + array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 10.0.0(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)) + hasown: '@nolyfill/hasown@1.0.44' + is-core-module: '@nolyfill/is-core-module@1.0.39' + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: '@nolyfill/object.fromentries@1.0.44' + object.groupby: '@nolyfill/object.groupby@1.0.44' + object.values: '@nolyfill/object.values@1.0.44' + semver: 6.3.1 + string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44' + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.0(jiti@2.6.1)): + dependencies: + aria-query: 5.3.2 + array-includes: '@nolyfill/array-includes@1.0.44' + array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' + ast-types-flow: 0.0.8 + axe-core: 4.11.1 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 10.0.0(jiti@2.6.1) + hasown: '@nolyfill/hasown@1.0.44' + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: '@nolyfill/object.fromentries@1.0.44' + safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' + string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' + eslint-plugin-n@17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) @@ -8628,6 +9105,18 @@ snapshots: transitivePeerDependencies: - typescript + eslint-plugin-no-only-tests@3.3.0: {} + + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + prettier: 3.8.1 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.12 + optionalDependencies: + '@types/eslint': 9.6.1 + eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.6.1)) + eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.0(jiti@2.6.1)): dependencies: eslint: 10.0.0(jiti@2.6.1) @@ -8667,6 +9156,8 @@ snapshots: - '@eslint/markdown' - supports-color + eslint-rule-documentation@1.0.23: {} + eslint-scope@9.1.0: dependencies: '@types/esrecurse': 4.3.1 @@ -8816,6 +9307,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-fifo@1.3.2: {} fast-json-stable-stringify@2.1.0: {} @@ -9455,6 +9948,10 @@ snapshots: json-stringify-safe@5.0.1: {} + json5@1.0.2: + dependencies: + minimist: 1.2.8 + jsonfile@6.2.0: dependencies: universalify: 2.0.1 @@ -9483,6 +9980,13 @@ snapshots: jsrsasign@11.1.0: {} + jsx-ast-utils@3.3.5: + dependencies: + array-includes: '@nolyfill/array-includes@1.0.44' + array.prototype.flat: '@nolyfill/array.prototype.flat@1.0.44' + object.assign: '@nolyfill/object.assign@1.0.44' + object.values: '@nolyfill/object.values@1.0.44' + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -9506,6 +10010,12 @@ snapshots: kuler@2.0.0: {} + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + leac@0.6.0: {} levn@0.4.1: @@ -9560,12 +10070,20 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.camelcase@4.3.0: {} + lodash.defaults@4.2.0: {} lodash.isarguments@3.1.0: {} lodash.isequal@4.5.0: {} + lodash.kebabcase@4.1.1: {} + + lodash.snakecase@4.1.1: {} + + lodash.upperfirst@4.3.1: {} + lodash@4.17.23: {} log-update@6.1.0: @@ -10038,6 +10556,8 @@ snapshots: dependencies: brace-expansion: 2.0.2 + minimist@1.2.8: {} + minipass@7.1.2: {} minizlib@3.1.0: @@ -10341,6 +10861,8 @@ snapshots: path-key@4.0.0: {} + path-parse@1.0.7: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -10446,6 +10968,12 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.1: + dependencies: + fast-diff: 1.3.0 + + prettier@3.8.1: {} + process-warning@5.0.0: {} progress@2.0.3: {} @@ -10714,6 +11242,12 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.22.11: + dependencies: + is-core-module: '@nolyfill/is-core-module@1.0.39' + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + responselike@4.0.2: dependencies: lowercase-keys: 3.0.0 @@ -10830,6 +11364,8 @@ snapshots: dependencies: parseley: 0.12.1 + semver@6.3.1: {} + semver@7.7.4: {} sharp@0.34.5: @@ -11004,6 +11540,8 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-bom@3.0.0: {} + strip-final-newline@3.0.0: {} strip-indent@4.1.1: {} @@ -11040,12 +11578,15 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + + svg-element-attributes@1.3.1: {} + symbol-tree@3.2.4: {} - synckit@0.11.11: + synckit@0.11.12: dependencies: '@pkgr/core': 0.2.9 - optional: true system-architecture@0.1.0: {} @@ -11219,7 +11760,14 @@ snapshots: optionalDependencies: typescript: 5.9.3 - tsdown@0.20.3(synckit@0.11.11)(typescript@5.9.3): + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tsdown@0.20.3(synckit@0.11.12)(typescript@5.9.3): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -11236,7 +11784,7 @@ snapshots: tinyglobby: 0.2.15 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.27(synckit@0.11.11) + unrun: 0.2.27(synckit@0.11.12) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -11291,6 +11839,17 @@ snapshots: dependencies: is-typedarray: 1.0.0 + typescript-eslint@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.0(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -11378,11 +11937,11 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unrun@0.2.27(synckit@0.11.11): + unrun@0.2.27(synckit@0.11.12): dependencies: rolldown: 1.0.0-rc.3 optionalDependencies: - synckit: 0.11.11 + synckit: 0.11.12 update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: diff --git a/scripts/docker/minify-docker.js b/scripts/docker/minify-docker.js index d41a068dd401a7..7fc8b0a2d186c6 100644 --- a/scripts/docker/minify-docker.js +++ b/scripts/docker/minify-docker.js @@ -1,7 +1,9 @@ /* eslint-disable no-console */ -import fs from 'fs-extra'; import path from 'node:path'; + import { nodeFileTrace } from '@vercel/nft'; +import fs from 'fs-extra'; + const __dirname = import.meta.dirname; // !!! if any new dependencies are added, update the Dockerfile !!! From b89cb07a766ebd368a76ebf7c19d67f7873917fc Mon Sep 17 00:00:00 2001 From: Tony Date: Mon, 23 Feb 2026 08:27:27 +0800 Subject: [PATCH 074/259] chore(deps): update transitive deps ajv: 6.15.0 --- pnpm-lock.yaml | 892 ++++++++++++++++--------------------------------- 1 file changed, 290 insertions(+), 602 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3557bb4b535d54..eea6d47abc51c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -374,7 +374,7 @@ importers: version: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 - version: 1.3.1(rollup@4.57.1) + version: 1.3.1(rollup@4.59.0) '@vitest/coverage-v8': specifier: 4.0.9 version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) @@ -407,7 +407,7 @@ importers: version: 63.0.0(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-yml: specifier: 3.2.1 - version: 3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)) + version: 3.2.1(eslint@10.0.0(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -503,8 +503,8 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.0-rc.1': - resolution: {integrity: sha512-vi/pfmbrOtQmqgfboaBhaCU50G7mcySVu69VU8z+lYoPPB6WzI9VgV7WQfL908M4oeSH5fDkmoupIqoE0SdApw==} + '@babel/helper-string-parser@8.0.0-rc.2': + resolution: {integrity: sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ==} engines: {node: ^20.19.0 || >=22.12.0} '@babel/helper-validator-identifier@7.28.5': @@ -638,8 +638,8 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@csstools/color-helpers@6.0.1': - resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==} + '@csstools/color-helpers@6.0.2': + resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} engines: {node: '>=20.19.0'} '@csstools/css-calc@3.1.1': @@ -649,8 +649,8 @@ packages: '@csstools/css-parser-algorithms': ^4.0.0 '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@4.0.1': - resolution: {integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==} + '@csstools/css-color-parser@4.0.2': + resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 @@ -662,8 +662,8 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.27': - resolution: {integrity: sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==} + '@csstools/css-syntax-patches-for-csstree@1.0.28': + resolution: {integrity: sha512-1NRf1CUBjnr3K7hu8BLxjQrKCxEe8FP/xmPTenAxCRZWVLbmGotkFvG9mfNpjA6k7Bw1bw4BilZq9cu19RA5pg==} '@csstools/css-tokenizer@4.0.0': resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} @@ -859,8 +859,8 @@ packages: eslint: optional: true - '@eslint/config-array@0.23.1': - resolution: {integrity: sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA==} + '@eslint/config-array@0.23.2': + resolution: {integrity: sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/config-helpers@0.5.2': @@ -892,18 +892,10 @@ packages: resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/markdown@7.5.1': - resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@3.0.1': - resolution: {integrity: sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg==} + '@eslint/object-schema@3.0.2': + resolution: {integrity: sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.4.1': - resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.6.0': resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -1573,12 +1565,9 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@ota-meshi/ast-token-store@0.2.1': - resolution: {integrity: sha512-+8oB1wcOSWJCR6vAm2ioSLas7SoPwp+8tZ1Tcy8DSVEHMip6jxxlGu6EsRzJLAYVCyzKQ38B5pAqSbon1l1rmA==} + '@ota-meshi/ast-token-store@0.2.3': + resolution: {integrity: sha512-Jgp8rBprSMIDY0IuokbESFozd5SSa/LZsQ9/xiNooDdiy+WK2LlA51f+GjgBKq8CE4YpfK5kdBjNtbwlThApoQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - '@eslint/markdown': ^7.4.0 - eslint: '>=9.0.0' '@otplib/core@13.3.0': resolution: {integrity: sha512-pnQDOuCmFVeF/XnboJq9TOJgLoo2idNPJKMymOF8vGqJJ+ReKRYM9bUGjNPRWC0tHjMwu1TXbnzyBp494JgRag==} @@ -1903,141 +1892,141 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.57.1': - resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} + '@rollup/rollup-android-arm-eabi@4.59.0': + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.57.1': - resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} + '@rollup/rollup-android-arm64@4.59.0': + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.57.1': - resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} + '@rollup/rollup-darwin-arm64@4.59.0': + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.57.1': - resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} + '@rollup/rollup-darwin-x64@4.59.0': + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.57.1': - resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} + '@rollup/rollup-freebsd-arm64@4.59.0': + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.57.1': - resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} + '@rollup/rollup-freebsd-x64@4.59.0': + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': - resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.57.1': - resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.57.1': - resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} + '@rollup/rollup-linux-arm64-gnu@4.59.0': + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.57.1': - resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} + '@rollup/rollup-linux-arm64-musl@4.59.0': + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.57.1': - resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} + '@rollup/rollup-linux-loong64-gnu@4.59.0': + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.57.1': - resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} + '@rollup/rollup-linux-loong64-musl@4.59.0': + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.57.1': - resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.57.1': - resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} + '@rollup/rollup-linux-ppc64-musl@4.59.0': + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.57.1': - resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.57.1': - resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} + '@rollup/rollup-linux-riscv64-musl@4.59.0': + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.57.1': - resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} + '@rollup/rollup-linux-s390x-gnu@4.59.0': + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.57.1': - resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} + '@rollup/rollup-linux-x64-gnu@4.59.0': + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.57.1': - resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} + '@rollup/rollup-linux-x64-musl@4.59.0': + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.57.1': - resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + '@rollup/rollup-openbsd-x64@4.59.0': + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.57.1': - resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} + '@rollup/rollup-openharmony-arm64@4.59.0': + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.57.1': - resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} + '@rollup/rollup-win32-arm64-msvc@4.59.0': + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.57.1': - resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} + '@rollup/rollup-win32-ia32-msvc@4.59.0': + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.57.1': - resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} + '@rollup/rollup-win32-x64-gnu@4.59.0': + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.57.1': - resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} + '@rollup/rollup-win32-x64-msvc@4.59.0': + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} cpu: [x64] os: [win32] @@ -2354,10 +2343,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.55.0': - resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.56.0': resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2546,11 +2531,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} @@ -2567,8 +2547,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -2666,8 +2646,8 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - b4a@1.7.4: - resolution: {integrity: sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug==} + b4a@1.8.0: + resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: @@ -2680,9 +2660,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.3: - resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} - engines: {node: 20 || >=22} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} bare-events@2.8.2: resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} @@ -2708,8 +2688,8 @@ packages: bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.7.0: - resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} + bare-stream@2.8.0: + resolution: {integrity: sha512-reUN0M2sHRqCdG4lUK3Fw8w98eeUIZHL5c3H7Mbhk2yVBL+oofgaIp0ieLfD5QXwPCypBpmEEKU2WZKzbAk8GA==} peerDependencies: bare-buffer: '*' bare-events: '*' @@ -2725,8 +2705,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.19: - resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} + baseline-browser-mapping@2.10.0: + resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} + engines: {node: '>=6.0.0'} hasBin: true basic-ftp@5.1.0: @@ -2776,9 +2757,9 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@5.0.2: - resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} - engines: {node: 20 || >=22} + brace-expansion@5.0.3: + resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -2840,15 +2821,12 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001769: - resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==} + caniuse-lite@1.0.30001772: + resolution: {integrity: sha512-mIwLZICj+ntVTw4BT2zfp+yu/AqV6GMKfJVJMx3MwPxs+uk/uj2GLl2dH8LQbjiLDX66amCga5nKFyDgRR43kg==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -3250,8 +3228,8 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.5.286: - resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} + electron-to-chromium@1.5.302: + resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} ellipsize@0.1.0: resolution: {integrity: sha512-5gxbEjcb/Z2n6TTmXZx9wVi3N/DOzE7RXY3Xg9dakDuhX/izwumB9rGjeWUV6dTA0D0+juvo+JonZgNR9sgA5A==} @@ -3526,8 +3504,8 @@ packages: resolution: {integrity: sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==} engines: {node: '>=4.0.0'} - eslint-scope@9.1.0: - resolution: {integrity: sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==} + eslint-scope@9.1.1: + resolution: {integrity: sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: @@ -3538,8 +3516,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.0: - resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint@10.0.0: @@ -3560,8 +3538,8 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@11.1.0: - resolution: {integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==} + espree@11.1.1: + resolution: {integrity: sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: @@ -3649,9 +3627,6 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -3727,10 +3702,6 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -3766,8 +3737,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} engines: {node: '>=18'} get-stream@5.2.0: @@ -3795,9 +3766,6 @@ packages: ghost-cursor@1.4.2: resolution: {integrity: sha512-NPMuH05Ik9h99zrAb4fvAzhB4T6MqKwdPoI+Me0IJWN3676j4UoAsjKN/cJq5AG4zyZwAEPPggZXHVU0P57/5g==} - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -3807,9 +3775,9 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@13.0.3: - resolution: {integrity: sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==} - engines: {node: 20 || >=22} + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} @@ -4125,8 +4093,8 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} is64bit@2.0.0: @@ -4350,9 +4318,6 @@ packages: long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4406,44 +4371,11 @@ packages: markdown-table@2.0.0: resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -4472,30 +4404,6 @@ packages: micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-factory-destination@2.0.1: resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} @@ -4595,30 +4503,26 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - minimatch@10.2.0: - resolution: {integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==} - engines: {node: 20 || >=22} - - minimatch@10.2.1: - resolution: {integrity: sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==} - engines: {node: 20 || >=22} + minimatch@10.2.2: + resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} + engines: {node: 18 || 20 || >=22} - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.3: + resolution: {integrity: sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==} minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + minimatch@9.0.6: + resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} minizlib@3.1.0: @@ -4911,9 +4815,9 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.1: - resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} - engines: {node: 20 || >=22} + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} @@ -5073,6 +4977,10 @@ packages: resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} + qs@6.15.0: + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} + engines: {node: '>=0.6'} + qs@6.5.5: resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==} engines: {node: '>=0.6'} @@ -5251,8 +5159,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.57.1: - resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} + rollup@4.59.0: + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5425,8 +5333,8 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.1.1: - resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} + string-width@8.2.0: + resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} engines: {node: '>=20'} string_decoder@1.3.0: @@ -5507,16 +5415,18 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.5.7: - resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} + tar@7.5.9: + resolution: {integrity: sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==} engines: {node: '>=18'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} telegram@2.26.22: resolution: {integrity: sha512-EIj7Yrjiu0Yosa3FZ/7EyPg9s6UiTi/zDQrFmR/2Mg7pIUU+XjAit1n1u9OU9h2oRnRM5M+67/fxzQluZpaJJg==} - text-decoder@1.2.6: - resolution: {integrity: sha512-27FeW5GQFDfw0FpwMQhMagB7BztOOlmjcSRi97t2oplhKVTZtp0DZbSegSaXS5IIC6mxMvBG4AR1Sgc6BX3CQg==} + text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -5782,18 +5692,9 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@5.1.0: - resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -6186,9 +6087,6 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - snapshots: '@apm-js-collab/code-transformer@0.8.2': {} @@ -6204,7 +6102,7 @@ snapshots: '@asamuzakjp/css-color@4.1.2': dependencies: '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-color-parser': 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 lru-cache: 11.2.6 @@ -6241,7 +6139,7 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-string-parser@8.0.0-rc.1': {} + '@babel/helper-string-parser@8.0.0-rc.2': {} '@babel/helper-validator-identifier@7.28.5': {} @@ -6266,7 +6164,7 @@ snapshots: '@babel/types@8.0.0-rc.1': dependencies: - '@babel/helper-string-parser': 8.0.0-rc.1 + '@babel/helper-string-parser': 8.0.0-rc.2 '@babel/helper-validator-identifier': 8.0.0-rc.1 '@bbob/core@4.3.1': @@ -6369,16 +6267,16 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@csstools/color-helpers@6.0.1': {} + '@csstools/color-helpers@6.0.2': {} '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/color-helpers': 6.0.1 + '@csstools/color-helpers': 6.0.2 '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 @@ -6387,7 +6285,7 @@ snapshots: dependencies: '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.0.27': {} + '@csstools/css-syntax-patches-for-csstree@1.0.28': {} '@csstools/css-tokenizer@4.0.0': {} @@ -6506,11 +6404,11 @@ snapshots: optionalDependencies: eslint: 10.0.0(jiti@2.6.1) - '@eslint/config-array@0.23.1': + '@eslint/config-array@0.23.2': dependencies: - '@eslint/object-schema': 3.0.1 + '@eslint/object-schema': 3.0.2 debug: 4.4.3 - minimatch: 10.2.1 + minimatch: 10.2.2 transitivePeerDependencies: - supports-color @@ -6528,14 +6426,14 @@ snapshots: '@eslint/eslintrc@3.3.3': dependencies: - ajv: 6.12.6 + ajv: 6.14.0 debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.1 - minimatch: 3.1.2 + minimatch: 3.1.3 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -6546,26 +6444,7 @@ snapshots: '@eslint/js@9.39.3': {} - '@eslint/markdown@7.5.1': - dependencies: - '@eslint/core': 0.17.0 - '@eslint/plugin-kit': 0.4.1 - github-slugger: 2.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-frontmatter: 2.0.1 - mdast-util-gfm: 3.1.0 - micromark-extension-frontmatter: 2.0.0 - micromark-extension-gfm: 3.0.0 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - '@eslint/object-schema@3.0.1': {} - - '@eslint/plugin-kit@0.4.1': - dependencies: - '@eslint/core': 0.17.0 - levn: 0.4.1 + '@eslint/object-schema@3.0.2': {} '@eslint/plugin-kit@0.6.0': dependencies: @@ -6787,7 +6666,7 @@ snapshots: '@isaacs/fs-minipass@4.0.1': dependencies: - minipass: 7.1.2 + minipass: 7.1.3 '@jocmp/mercury-parser@3.0.3': dependencies: @@ -6844,7 +6723,7 @@ snapshots: node-fetch: 2.7.0 nopt: 8.1.0 semver: 7.7.4 - tar: 7.5.7 + tar: 7.5.9 transitivePeerDependencies: - encoding - supports-color @@ -7253,10 +7132,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) - '@ota-meshi/ast-token-store@0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1))': - dependencies: - '@eslint/markdown': 7.5.1 - eslint: 10.0.0(jiti@2.6.1) + '@ota-meshi/ast-token-store@0.2.3': {} '@otplib/core@13.3.0': {} @@ -7508,87 +7384,87 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rollup/pluginutils@5.3.0(rollup@4.57.1)': + '@rollup/pluginutils@5.3.0(rollup@4.59.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.57.1 + rollup: 4.59.0 - '@rollup/rollup-android-arm-eabi@4.57.1': + '@rollup/rollup-android-arm-eabi@4.59.0': optional: true - '@rollup/rollup-android-arm64@4.57.1': + '@rollup/rollup-android-arm64@4.59.0': optional: true - '@rollup/rollup-darwin-arm64@4.57.1': + '@rollup/rollup-darwin-arm64@4.59.0': optional: true - '@rollup/rollup-darwin-x64@4.57.1': + '@rollup/rollup-darwin-x64@4.59.0': optional: true - '@rollup/rollup-freebsd-arm64@4.57.1': + '@rollup/rollup-freebsd-arm64@4.59.0': optional: true - '@rollup/rollup-freebsd-x64@4.57.1': + '@rollup/rollup-freebsd-x64@4.59.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.57.1': + '@rollup/rollup-linux-arm-musleabihf@4.59.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.57.1': + '@rollup/rollup-linux-arm64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.57.1': + '@rollup/rollup-linux-arm64-musl@4.59.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.57.1': + '@rollup/rollup-linux-loong64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-loong64-musl@4.57.1': + '@rollup/rollup-linux-loong64-musl@4.59.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.57.1': + '@rollup/rollup-linux-ppc64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-ppc64-musl@4.57.1': + '@rollup/rollup-linux-ppc64-musl@4.59.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.57.1': + '@rollup/rollup-linux-riscv64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.57.1': + '@rollup/rollup-linux-riscv64-musl@4.59.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.57.1': + '@rollup/rollup-linux-s390x-gnu@4.59.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.57.1': + '@rollup/rollup-linux-x64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-x64-musl@4.57.1': + '@rollup/rollup-linux-x64-musl@4.59.0': optional: true - '@rollup/rollup-openbsd-x64@4.57.1': + '@rollup/rollup-openbsd-x64@4.59.0': optional: true - '@rollup/rollup-openharmony-arm64@4.57.1': + '@rollup/rollup-openharmony-arm64@4.59.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.57.1': + '@rollup/rollup-win32-arm64-msvc@4.59.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.57.1': + '@rollup/rollup-win32-ia32-msvc@4.59.0': optional: true - '@rollup/rollup-win32-x64-gnu@4.57.1': + '@rollup/rollup-win32-x64-gnu@4.59.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.57.1': + '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true '@rss3/api-core@0.0.25': @@ -7690,7 +7566,7 @@ snapshots: '@sentry/node-core': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) '@sentry/opentelemetry': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 - minimatch: 9.0.5 + minimatch: 9.0.6 transitivePeerDependencies: - supports-color @@ -7965,8 +7841,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.55.0': {} - '@typescript-eslint/types@8.56.0': {} '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': @@ -7976,7 +7850,7 @@ snapshots: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - minimatch: 9.0.5 + minimatch: 9.0.6 semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7998,7 +7872,7 @@ snapshots: '@typescript-eslint/visitor-keys@8.56.0': dependencies: '@typescript-eslint/types': 8.56.0 - eslint-visitor-keys: 5.0.0 + eslint-visitor-keys: 5.0.1 '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -8059,16 +7933,16 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vercel/nft@1.3.1(rollup@4.57.1)': + '@vercel/nft@1.3.1(rollup@4.59.0)': dependencies: '@mapbox/node-pre-gyp': 2.0.3 - '@rollup/pluginutils': 5.3.0(rollup@4.57.1) - acorn: 8.15.0 - acorn-import-attributes: 1.9.5(acorn@8.15.0) + '@rollup/pluginutils': 5.3.0(rollup@4.59.0) + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 13.0.3 + glob: 13.0.6 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 picomatch: 4.0.3 @@ -8145,20 +8019,14 @@ snapshots: abbrev@3.0.1: {} - acorn-import-attributes@1.9.5(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-import-attributes@1.9.5(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 - acorn@8.15.0: {} - acorn@8.16.0: {} adm-zip@0.5.16: {} @@ -8167,7 +8035,7 @@ snapshots: agent-base@7.1.4: {} - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -8248,13 +8116,13 @@ snapshots: axobject-query@4.1.0: {} - b4a@1.7.4: {} + b4a@1.8.0: {} bail@2.0.2: {} balanced-match@1.0.2: {} - balanced-match@4.0.3: {} + balanced-match@4.0.4: {} bare-events@2.8.2: {} @@ -8262,7 +8130,7 @@ snapshots: dependencies: bare-events: 2.8.2 bare-path: 3.0.0 - bare-stream: 2.7.0(bare-events@2.8.2) + bare-stream: 2.8.0(bare-events@2.8.2) bare-url: 2.3.2 fast-fifo: 1.3.2 transitivePeerDependencies: @@ -8278,9 +8146,10 @@ snapshots: bare-os: 3.6.2 optional: true - bare-stream@2.7.0(bare-events@2.8.2): + bare-stream@2.8.0(bare-events@2.8.2): dependencies: streamx: 2.23.0 + teex: 1.0.1 optionalDependencies: bare-events: 2.8.2 transitivePeerDependencies: @@ -8295,7 +8164,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.19: {} + baseline-browser-mapping@2.10.0: {} basic-ftp@5.1.0: {} @@ -8339,9 +8208,9 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.2: + brace-expansion@5.0.3: dependencies: - balanced-match: 4.0.3 + balanced-match: 4.0.4 braces@3.0.3: dependencies: @@ -8349,9 +8218,9 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001769 - electron-to-chromium: 1.5.286 + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001772 + electron-to-chromium: 1.5.302 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -8408,12 +8277,10 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001769: {} + caniuse-lite@1.0.30001772: {} caseless@0.12.0: {} - ccount@2.0.1: {} - chai@6.2.2: {} chalk@4.1.2: @@ -8495,14 +8362,14 @@ snapshots: cli-truncate@5.1.1: dependencies: slice-ansi: 7.1.2 - string-width: 8.1.1 + string-width: 8.2.0 cli-width@4.1.0: {} clipboardy@4.0.0: dependencies: execa: 8.0.1 - is-wsl: 3.1.0 + is-wsl: 3.1.1 is64bit: 2.0.0 cliui@8.0.1: @@ -8613,7 +8480,7 @@ snapshots: cssstyle@5.3.7: dependencies: '@asamuzakjp/css-color': 4.1.2 - '@csstools/css-syntax-patches-for-csstree': 1.0.27 + '@csstools/css-syntax-patches-for-csstree': 1.0.28 css-tree: 3.1.0 lru-cache: 11.2.6 @@ -8785,7 +8652,7 @@ snapshots: minimatch: 9.0.1 semver: 7.7.4 - electron-to-chromium@1.5.286: {} + electron-to-chromium@1.5.302: {} ellipsize@0.1.0: {} @@ -9026,13 +8893,13 @@ snapshots: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)): dependencies: - '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.5 debug: 4.4.3 eslint: 10.0.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.2.0 + minimatch: 10.2.2 semver: 7.7.4 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 @@ -9057,7 +8924,7 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' is-core-module: '@nolyfill/is-core-module@1.0.39' is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 3.1.3 object.fromentries: '@nolyfill/object.fromentries@1.0.44' object.groupby: '@nolyfill/object.groupby@1.0.44' object.values: '@nolyfill/object.values@1.0.44' @@ -9085,7 +8952,7 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' jsx-ast-utils: 3.3.5 language-tags: 1.0.9 - minimatch: 3.1.2 + minimatch: 3.1.3 object.fromentries: '@nolyfill/object.fromentries@1.0.44' safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' @@ -9141,11 +9008,11 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-yml@3.2.1(eslint@10.0.0(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 - '@ota-meshi/ast-token-store': 0.2.1(@eslint/markdown@7.5.1)(eslint@10.0.0(jiti@2.6.1)) + '@ota-meshi/ast-token-store': 0.2.3 debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 @@ -9153,12 +9020,11 @@ snapshots: natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 transitivePeerDependencies: - - '@eslint/markdown' - supports-color eslint-rule-documentation@1.0.23: {} - eslint-scope@9.1.0: + eslint-scope@9.1.1: dependencies: '@types/esrecurse': 4.3.1 '@types/estree': 1.0.8 @@ -9169,13 +9035,13 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.0: {} + eslint-visitor-keys@5.0.1: {} eslint@10.0.0(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.1 + '@eslint/config-array': 0.23.2 '@eslint/config-helpers': 0.5.2 '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 @@ -9183,13 +9049,13 @@ snapshots: '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 cross-spawn: 7.0.6 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 9.1.0 - eslint-visitor-keys: 5.0.0 - espree: 11.1.0 + eslint-scope: 9.1.1 + eslint-visitor-keys: 5.0.1 + espree: 11.1.1 esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -9200,7 +9066,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.1 + minimatch: 10.2.2 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -9221,11 +9087,11 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 - espree@11.1.0: + espree@11.1.1: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 5.0.0 + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} @@ -9317,10 +9183,6 @@ snapshots: fast-safe-stringify@2.1.1: {} - fault@2.0.1: - dependencies: - format: 0.2.2 - fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -9396,8 +9258,6 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' mime-types: 2.1.35 - format@0.2.2: {} - formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 @@ -9443,7 +9303,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.5.0: {} get-stream@5.2.0: dependencies: @@ -9480,8 +9340,6 @@ snapshots: transitivePeerDependencies: - supports-color - github-slugger@2.0.0: {} - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -9490,16 +9348,16 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 + minimatch: 9.0.6 + minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@13.0.3: + glob@13.0.6: dependencies: - minimatch: 10.2.1 - minipass: 7.1.2 - path-scurry: 2.0.1 + minimatch: 10.2.2 + minipass: 7.1.3 + path-scurry: 2.0.2 globals@14.0.0: {} @@ -9541,7 +9399,7 @@ snapshots: extend: 3.0.2 gaxios: 7.1.3 google-auth-library: 10.5.0 - qs: 6.14.2 + qs: 6.15.0 url-template: 2.0.8 transitivePeerDependencies: - supports-color @@ -9583,7 +9441,7 @@ snapshots: har-validator@5.1.5: dependencies: - ajv: 6.12.6 + ajv: 6.14.0 har-schema: 2.0.0 has-flag@4.0.0: {} @@ -9721,8 +9579,8 @@ snapshots: import-in-the-middle@2.0.6: dependencies: - acorn: 8.15.0 - acorn-import-attributes: 1.9.5(acorn@8.15.0) + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) cjs-module-lexer: 2.2.0 module-details-from-path: 1.0.4 @@ -9803,7 +9661,7 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 is-glob@4.0.3: dependencies: @@ -9839,7 +9697,7 @@ snapshots: dependencies: is-docker: 2.2.1 - is-wsl@3.1.0: + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -10105,8 +9963,6 @@ snapshots: long@5.3.2: {} - longest-streak@3.1.0: {} - lowercase-keys@3.0.0: {} lru-cache@10.4.3: {} @@ -10167,18 +10023,9 @@ snapshots: dependencies: repeat-string: 1.6.1 - markdown-table@3.0.4: {} - marky@1.3.0: {} - mdast-util-find-and-replace@3.0.2: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - - mdast-util-from-markdown@2.0.2: + mdast-util-from-markdown@2.0.3: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -10195,91 +10042,6 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-frontmatter@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-extension-frontmatter: 2.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-autolink-literal@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 - - mdast-util-gfm-footnote@2.1.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-strikethrough@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-table@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-task-list-item@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm@3.1.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@4.1.0: - dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.1 - - mdast-util-to-markdown@2.1.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.1.0 - zwitch: 2.0.4 - mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.4 @@ -10324,71 +10086,6 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-frontmatter@2.0.0: - dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-autolink-literal@2.1.0: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-footnote@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-strikethrough@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-table@2.1.1: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.2 - - micromark-extension-gfm-task-list-item@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm@3.0.0: - dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 - micromark-factory-destination@2.0.1: dependencies: micromark-util-character: 2.1.1 @@ -10536,15 +10233,11 @@ snapshots: - bufferutil - utf-8-validate - minimatch@10.2.0: - dependencies: - brace-expansion: 5.0.2 - - minimatch@10.2.1: + minimatch@10.2.2: dependencies: - brace-expansion: 5.0.2 + brace-expansion: 5.0.3 - minimatch@3.1.2: + minimatch@3.1.3: dependencies: brace-expansion: 1.1.12 @@ -10552,17 +10245,17 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.5: + minimatch@9.0.6: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 5.0.3 minimist@1.2.8: {} - minipass@7.1.2: {} + minipass@7.1.3: {} minizlib@3.1.0: dependencies: - minipass: 7.1.2 + minipass: 7.1.3 mitt@3.0.1: {} @@ -10866,12 +10559,12 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 - minipass: 7.1.2 + minipass: 7.1.3 - path-scurry@2.0.1: + path-scurry@2.0.2: dependencies: lru-cache: 11.2.6 - minipass: 7.1.2 + minipass: 7.1.3 path-to-regexp@6.3.0: {} @@ -11077,6 +10770,10 @@ snapshots: dependencies: side-channel: '@nolyfill/side-channel@1.0.44' + qs@6.15.0: + dependencies: + side-channel: '@nolyfill/side-channel@1.0.44' + qs@6.5.5: {} quansync@1.0.0: {} @@ -11177,7 +10874,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -11301,35 +10998,35 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3 - rollup@4.57.1: + rollup@4.59.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.57.1 - '@rollup/rollup-android-arm64': 4.57.1 - '@rollup/rollup-darwin-arm64': 4.57.1 - '@rollup/rollup-darwin-x64': 4.57.1 - '@rollup/rollup-freebsd-arm64': 4.57.1 - '@rollup/rollup-freebsd-x64': 4.57.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 - '@rollup/rollup-linux-arm-musleabihf': 4.57.1 - '@rollup/rollup-linux-arm64-gnu': 4.57.1 - '@rollup/rollup-linux-arm64-musl': 4.57.1 - '@rollup/rollup-linux-loong64-gnu': 4.57.1 - '@rollup/rollup-linux-loong64-musl': 4.57.1 - '@rollup/rollup-linux-ppc64-gnu': 4.57.1 - '@rollup/rollup-linux-ppc64-musl': 4.57.1 - '@rollup/rollup-linux-riscv64-gnu': 4.57.1 - '@rollup/rollup-linux-riscv64-musl': 4.57.1 - '@rollup/rollup-linux-s390x-gnu': 4.57.1 - '@rollup/rollup-linux-x64-gnu': 4.57.1 - '@rollup/rollup-linux-x64-musl': 4.57.1 - '@rollup/rollup-openbsd-x64': 4.57.1 - '@rollup/rollup-openharmony-arm64': 4.57.1 - '@rollup/rollup-win32-arm64-msvc': 4.57.1 - '@rollup/rollup-win32-ia32-msvc': 4.57.1 - '@rollup/rollup-win32-x64-gnu': 4.57.1 - '@rollup/rollup-win32-x64-msvc': 4.57.1 + '@rollup/rollup-android-arm-eabi': 4.59.0 + '@rollup/rollup-android-arm64': 4.59.0 + '@rollup/rollup-darwin-arm64': 4.59.0 + '@rollup/rollup-darwin-x64': 4.59.0 + '@rollup/rollup-freebsd-arm64': 4.59.0 + '@rollup/rollup-freebsd-x64': 4.59.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 + '@rollup/rollup-linux-arm64-musl': 4.59.0 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 + '@rollup/rollup-linux-loong64-musl': 4.59.0 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 + '@rollup/rollup-linux-x64-gnu': 4.59.0 + '@rollup/rollup-linux-x64-musl': 4.59.0 + '@rollup/rollup-openbsd-x64': 4.59.0 + '@rollup/rollup-openharmony-arm64': 4.59.0 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 + '@rollup/rollup-win32-x64-gnu': 4.59.0 + '@rollup/rollup-win32-x64-msvc': 4.59.0 fsevents: 2.3.3 rrweb-cssom@0.8.0: {} @@ -11494,7 +11191,7 @@ snapshots: dependencies: events-universal: 1.0.1 fast-fifo: 1.3.2 - text-decoder: 1.2.6 + text-decoder: 1.2.7 transitivePeerDependencies: - bare-abort-controller - react-native-b4a @@ -11520,12 +11217,12 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 strip-ansi: 7.1.2 - string-width@8.1.1: + string-width@8.2.0: dependencies: - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 strip-ansi: 7.1.2 string_decoder@1.3.0: @@ -11560,7 +11257,7 @@ snapshots: formidable: 3.5.4 methods: 1.1.2 mime: 2.6.0 - qs: 6.14.2 + qs: 6.15.0 transitivePeerDependencies: - supports-color @@ -11608,21 +11305,29 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.7.4 + b4a: 1.8.0 fast-fifo: 1.3.2 streamx: 2.23.0 transitivePeerDependencies: - bare-abort-controller - react-native-b4a - tar@7.5.7: + tar@7.5.9: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 - minipass: 7.1.2 + minipass: 7.1.3 minizlib: 3.1.0 yallist: 5.0.0 + teex@1.0.1: + dependencies: + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + telegram@2.26.22: dependencies: '@cryptography/aes': 0.1.1 @@ -11645,9 +11350,9 @@ snapshots: transitivePeerDependencies: - supports-color - text-decoder@1.2.6: + text-decoder@1.2.7: dependencies: - b4a: 1.7.4 + b4a: 1.8.0 transitivePeerDependencies: - react-native-b4a @@ -11890,25 +11595,10 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unist-util-is@6.0.1: - dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@6.0.2: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - - unist-util-visit@5.1.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - universalify@0.2.0: {} universalify@2.0.1: {} @@ -12021,7 +11711,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.57.1 + rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 25.3.0 @@ -12246,7 +11936,7 @@ snapshots: yaml-eslint-parser@2.0.0: dependencies: - eslint-visitor-keys: 5.0.0 + eslint-visitor-keys: 5.0.1 yaml: 2.8.2 yaml@2.8.2: {} @@ -12304,5 +11994,3 @@ snapshots: zod@3.25.76: {} zod@4.3.6: {} - - zwitch@2.0.4: {} From 27e743f37adc37a307c9b082716e29e69e249a39 Mon Sep 17 00:00:00 2001 From: Tony Date: Mon, 23 Feb 2026 08:46:03 +0800 Subject: [PATCH 075/259] chore(deps): update transitive deps form-data: 2.5.5 --- package.json | 1 + pnpm-lock.yaml | 13 ++----------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index b3258faafbd5e9..86754f52a1819f 100644 --- a/package.json +++ b/package.json @@ -250,6 +250,7 @@ "object.fromentries": "npm:@nolyfill/object.fromentries@^1", "object.groupby": "npm:@nolyfill/object.groupby@^1", "object.values": "npm:@nolyfill/object.values@^1", + "request>form-data": "^2.5.5", "rss-parser@3.13.0>entities": "^7.0.0", "rss-parser@3.13.0>xml2js": "^0.6.2", "safe-buffer": "npm:@nolyfill/safe-buffer@^1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eea6d47abc51c1..39b913d402aa4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,7 @@ overrides: object.fromentries: npm:@nolyfill/object.fromentries@^1 object.groupby: npm:@nolyfill/object.groupby@^1 object.values: npm:@nolyfill/object.values@^1 + request>form-data: ^2.5.5 rss-parser@3.13.0>entities: ^7.0.0 rss-parser@3.13.0>xml2js: ^0.6.2 safe-buffer: npm:@nolyfill/safe-buffer@^1 @@ -3690,10 +3691,6 @@ packages: resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} engines: {node: '>= 18'} - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - form-data@2.5.5: resolution: {integrity: sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==} engines: {node: '>= 0.12'} @@ -9235,12 +9232,6 @@ snapshots: form-data-encoder@4.1.0: {} - form-data@2.3.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - form-data@2.5.5: dependencies: asynckit: 0.4.0 @@ -10903,7 +10894,7 @@ snapshots: combined-stream: 1.0.8 extend: 3.0.2 forever-agent: 0.6.1 - form-data: 2.3.3 + form-data: 2.5.5 har-validator: 5.1.5 http-signature: 1.2.0 is-typedarray: 1.0.0 From ff4ae56a205a19fd9423007a12f083497fd5aed3 Mon Sep 17 00:00:00 2001 From: YuruShiMaShiMaRin <71917424+xiaobailoves@users.noreply.github.com> Date: Mon, 23 Feb 2026 09:27:19 +0800 Subject: [PATCH 076/259] feat(comic-fuz.com): add new routes (#21193) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * comicfuz pr * fix lint * fix lint error * ofetch support * 1 * fix some question * fix some question * using TonyRL‘s suggetion version 1 * ver 2 * fix some question * ver 3 * 非必要的修改 最后的版本 * fix: missing rename * fix: remove duplicated name --------- --- lib/routes/comic-fuz/magazine.ts | 97 +++++++++++++++++++++++++++ lib/routes/comic-fuz/manga.ts | 106 ++++++++++++++++++++++++++++++ lib/routes/comic-fuz/namespace.ts | 7 ++ 3 files changed, 210 insertions(+) create mode 100644 lib/routes/comic-fuz/magazine.ts create mode 100644 lib/routes/comic-fuz/manga.ts create mode 100644 lib/routes/comic-fuz/namespace.ts diff --git a/lib/routes/comic-fuz/magazine.ts b/lib/routes/comic-fuz/magazine.ts new file mode 100644 index 00000000000000..0d6c09072ac73e --- /dev/null +++ b/lib/routes/comic-fuz/magazine.ts @@ -0,0 +1,97 @@ +import { load } from 'cheerio'; + +import type { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/magazine/:id', + categories: ['anime'], + example: '/comic-fuz/magazine/27860', + parameters: { id: 'ComicFuz中对应的杂志id' }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['comic-fuz.com/magazine/:id'], + target: '/magazine/:id', + }, + ], + name: '杂志详情', + maintainers: ['xiaobailoves'], + + handler: async (ctx) => { + const { id } = ctx.req.param(); + const baseUrl = 'https://comic-fuz.com'; + const openUrl = `${baseUrl}/magazine/${id}`; + const imgUrl = `https://img.comic-fuz.com`; + + const response = await ofetch(openUrl, { + headers: { + Referer: 'https://comic-fuz.com/', + 'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8', + }, + }); + + const $ = load(response); + const nextDataText = $('#__NEXT_DATA__').text(); + + if (!nextDataText) { + throw new Error('无法解析页面数据,请检查杂志 ID 是否正确或页面结构是否变动'); + } + + const nextData = JSON.parse(nextDataText); + const pageProps = nextData.props?.pageProps; + + if (!pageProps) { + throw new Error('无法解析页面 Props 数据'); + } + + const magazineTitle = pageProps.magazineName || ''; + + const magazineDescription = pageProps.pickupMagazineIssue?.longDescription || ''; + + const issues = pageProps.magazineIssues || []; + + const items = issues.map((item: any) => { + const amount = item.paidPoint || 0; + const statusText = amount > 0 ? '付费' : '无料'; + + let thumb = item.thumbnailUrl; + if (thumb && thumb.startsWith('/')) { + thumb = `${imgUrl}${thumb}`; + } + + const rawDate = item.updatedDate ? item.updatedDate.replace(/\s*発売/, '').trim() : ''; + + return { + title: `${magazineTitle} - ${item.magazineIssueName}`, + link: `${baseUrl}/magazine/viewer/${item.magazineIssueId}`, + description: ` + ${thumb ? `
    ` : ''} +

    价格: ${amount} 金币/银币

    +

    发售日期: ${item.updatedDate}

    +

    截止日期: ${item.endDate || '无'}

    + ${item.longDescription ? `

    ${item.longDescription}

    ` : ''} + `, + pubDate: rawDate ? parseDate(rawDate, 'YYYY/MM/DD') : undefined, + guid: `comicfuz-magazine-id-${item.magazineIssueId}`, + category: [statusText], + }; + }); + + return { + title: `COMIC FUZ - ${magazineTitle}`, + link: openUrl, + description: magazineDescription, + item: items, + language: 'ja', + }; + }, +}; diff --git a/lib/routes/comic-fuz/manga.ts b/lib/routes/comic-fuz/manga.ts new file mode 100644 index 00000000000000..341e85f9543749 --- /dev/null +++ b/lib/routes/comic-fuz/manga.ts @@ -0,0 +1,106 @@ +import { load } from 'cheerio'; + +import type { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/manga/:id', + categories: ['anime'], + example: '/comic-fuz/manga/218', + parameters: { id: 'ComicFuz中对应的漫画id' }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['comic-fuz.com/manga/:id'], + target: '/manga/:id', + }, + ], + name: '漫画详情', + maintainers: ['xiaobailoves'], + + handler: async (ctx) => { + const { id } = ctx.req.param(); + const baseUrl = 'https://comic-fuz.com'; + const openUrl = `${baseUrl}/manga/${id}`; + const imgUrl = `https://img.comic-fuz.com`; + + const response = await ofetch(openUrl, { + headers: { + Referer: 'https://comic-fuz.com/', + 'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8', + }, + }); + + const $ = load(response); + const nextDataText = $('#__NEXT_DATA__').text(); + + if (!nextDataText) { + throw new Error('无法解析页面数据,请检查漫画 ID 是否正确或页面结构是否变动'); + } + + const nextData = JSON.parse(nextDataText); + const pageProps = nextData.props?.pageProps; + + if (!pageProps) { + throw new Error('无法解析页面 Props 数据'); + } + + const mangaTitle = $('title').text().trim(); + const mangaAuthor = pageProps.authorships?.map((item: any) => item.author?.authorName).join(', ') || ''; + const mangaDescription = pageProps.manga?.longDescription || ''; + + const chapterGroups = pageProps.chapters || []; + + const allChapters = chapterGroups.flatMap((group: any) => group.chapters || []); + + const items = allChapters.map((chapter: any) => { + const pointInfo = chapter.pointConsumption; + const amount = pointInfo?.amount || 0; + + let statusText = ''; + if (pointInfo && Object.keys(pointInfo).length === 0) { + statusText = '无料'; + } else if (amount > 0) { + statusText = '付费'; + } + + let thumb = chapter.thumbnailUrl; + if (thumb && thumb.startsWith('/')) { + thumb = `${imgUrl}${thumb}`; + } + + const fullTitle = `${chapter.chapterMainName}${chapter.chapterSubName ? ` - ${chapter.chapterSubName}` : ''}`; + + return { + title: fullTitle, + link: `${baseUrl}/manga/viewer/${chapter.chapterId}`, + description: ` + ${thumb ? `
    ` : ''} + ${amount > 0 ? `

    价格: ${amount} 金币/铜币

    ` : ''} + `, + guid: `comicfuz-comic-id-${chapter.chapterId}`, + category: statusText, + author: mangaAuthor, + pubDate: chapter.updatedDate ? parseDate(chapter.updatedDate, 'YYYY/MM/DD') : undefined, + upvotes: chapter.numberOfLikes || 0, + comments: chapter.numberOfComments || 0, + }; + }); + + return { + title: `COMIC FUZ - ${mangaTitle}`, + link: openUrl, + description: mangaDescription, + item: items, + language: 'ja', + }; + }, +}; diff --git a/lib/routes/comic-fuz/namespace.ts b/lib/routes/comic-fuz/namespace.ts new file mode 100644 index 00000000000000..501252acb744d6 --- /dev/null +++ b/lib/routes/comic-fuz/namespace.ts @@ -0,0 +1,7 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: 'COMIC FUZ', + url: 'comic-fuz.com', + lang: 'ja', +}; \ No newline at end of file From 83391205cb8ae57a7b632bfb10bbd445b557994f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 01:28:59 +0000 Subject: [PATCH 077/259] style: auto format --- lib/routes/comic-fuz/namespace.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/routes/comic-fuz/namespace.ts b/lib/routes/comic-fuz/namespace.ts index 501252acb744d6..bd74414f19e23e 100644 --- a/lib/routes/comic-fuz/namespace.ts +++ b/lib/routes/comic-fuz/namespace.ts @@ -4,4 +4,4 @@ export const namespace: Namespace = { name: 'COMIC FUZ', url: 'comic-fuz.com', lang: 'ja', -}; \ No newline at end of file +}; From 737da8c2b6554161dd6f84d5bcf5e33c1527da57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 08:09:05 +0000 Subject: [PATCH 078/259] chore(deps-dev): bump eslint from 10.0.0 to 10.0.1 in the eslint group (#21208) Bumps the eslint group with 1 update: [eslint](https://github.com/eslint/eslint). Updates `eslint` from 10.0.0 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.0.0...v10.0.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 210 ++++++++++++++++++++++++------------------------- 2 files changed, 106 insertions(+), 106 deletions(-) diff --git a/package.json b/package.json index 86754f52a1819f..53d2f55ad5751b 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.39", "domhandler": "5.0.3", - "eslint": "10.0.0", + "eslint": "10.0.1", "eslint-nibble": "9.1.1", "eslint-plugin-github": "6.0.0", "eslint-plugin-import-x": "4.16.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39b913d402aa4f..a39cd3a0272919 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -312,10 +312,10 @@ importers: version: 3.3.3 '@eslint/js': specifier: 10.0.1 - version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) + version: 10.0.1(eslint@10.0.1(jiti@2.6.1)) '@stylistic/eslint-plugin': specifier: 5.9.0 - version: 5.9.0(eslint@10.0.0(jiti@2.6.1)) + version: 5.9.0(eslint@10.0.1(jiti@2.6.1)) '@types/aes-js': specifier: 3.1.4 version: 3.1.4 @@ -369,10 +369,10 @@ importers: version: 6.0.3 '@typescript-eslint/eslint-plugin': specifier: 8.56.0 - version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 8.56.0 - version: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 version: 1.3.1(rollup@4.59.0) @@ -386,29 +386,29 @@ importers: specifier: 5.0.3 version: 5.0.3 eslint: - specifier: 10.0.0 - version: 10.0.0(jiti@2.6.1) + specifier: 10.0.1 + version: 10.0.1(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)) + version: 9.1.1(@types/node@25.3.0)(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-github: specifier: 6.0.0 - version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.0(jiti@2.6.1)) + version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 - version: 17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + version: 17.24.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-simple-import-sort: specifier: 12.1.1 - version: 12.1.1(eslint@10.0.0(jiti@2.6.1)) + version: 12.1.1(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-unicorn: specifier: 63.0.0 - version: 63.0.0(eslint@10.0.0(jiti@2.6.1)) + version: 63.0.0(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-yml: specifier: 3.2.1 - version: 3.2.1(eslint@10.0.0(jiti@2.6.1)) + version: 3.2.1(eslint@10.0.1(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -3521,8 +3521,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.0.0: - resolution: {integrity: sha512-O0piBKY36YSJhlFSG8p9VUdPV/SxxS4FYDWVpr/9GJuMaepzwlf4J8I4ov1b+ySQfDTPhc3DtLaxcT1fN0yqCg==} + eslint@10.0.1: + resolution: {integrity: sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -6388,18 +6388,18 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.0.0(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.1(jiti@2.6.1))': dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.4.1(eslint@10.0.0(jiti@2.6.1))': + '@eslint/compat@1.4.1(eslint@10.0.1(jiti@2.6.1))': dependencies: '@eslint/core': 0.17.0 optionalDependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) '@eslint/config-array@0.23.2': dependencies: @@ -6435,9 +6435,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@10.0.1(eslint@10.0.0(jiti@2.6.1))': + '@eslint/js@10.0.1(eslint@10.0.1(jiti@2.6.1))': optionalDependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) '@eslint/js@9.39.3': {} @@ -7589,11 +7589,11 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.9.0(eslint@10.0.0(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.9.0(eslint@10.0.1(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) '@typescript-eslint/types': 8.56.0 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -7780,15 +7780,15 @@ snapshots: '@types/node': 25.3.0 optional: true - '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7796,14 +7796,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7826,13 +7826,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -7855,13 +7855,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -8773,18 +8773,18 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@10.0.0(jiti@2.6.1)): + eslint-compat-utils@0.5.1(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) semver: 7.7.4 - eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)): + eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) - eslint-filtered-fix@0.3.0(eslint@10.0.0(jiti@2.6.1)): + eslint-filtered-fix@0.3.0(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) optionator: 0.9.4 eslint-import-context@0.1.9(unrs-resolver@1.11.1): @@ -8802,98 +8802,98 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.0(jiti@2.6.1) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.1(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.0(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.1(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 '@inquirer/checkbox': 4.3.2(@types/node@25.3.0) '@inquirer/confirm': 5.1.21(@types/node@25.3.0) '@inquirer/select': 4.4.2(@types/node@25.3.0) - eslint: 10.0.0(jiti@2.6.1) - eslint-filtered-fix: 0.3.0(eslint@10.0.0(jiti@2.6.1)) + eslint: 10.0.1(jiti@2.6.1) + eslint-filtered-fix: 0.3.0(eslint@10.0.1(jiti@2.6.1)) optionator: 0.9.4 text-table: 0.2.0 yoctocolors: 2.1.2 transitivePeerDependencies: - '@types/node' - eslint-plugin-es-x@7.8.0(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@10.0.1(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - eslint: 10.0.0(jiti@2.6.1) - eslint-compat-utils: 0.5.1(eslint@10.0.0(jiti@2.6.1)) + eslint: 10.0.1(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-escompat@3.11.4(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-escompat@3.11.4(eslint@10.0.1(jiti@2.6.1)): dependencies: browserslist: 4.28.1 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) - eslint-plugin-eslint-comments@3.2.0(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-eslint-comments@3.2.0(eslint@10.0.1(jiti@2.6.1)): dependencies: escape-string-regexp: 1.0.5 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) ignore: 5.3.2 - eslint-plugin-filenames@1.3.2(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-filenames@1.3.2(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 lodash.upperfirst: 4.3.1 - eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.1(jiti@2.6.1)): dependencies: - '@eslint/compat': 1.4.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint/compat': 1.4.1(eslint@10.0.1(jiti@2.6.1)) '@eslint/eslintrc': 3.3.3 '@eslint/js': 9.39.3 '@github/browserslist-config': 1.0.0 - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) aria-query: 5.3.2 - eslint: 10.0.0(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-escompat: 3.11.4(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-filenames: 1.3.2(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-i18n-text: 1.0.1(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.0(jiti@2.6.1)) + eslint: 10.0.1(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-escompat: 3.11.4(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-filenames: 1.3.2(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-i18n-text: 1.0.1(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1) + eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)))(eslint@10.0.1(jiti@2.6.1))(prettier@3.8.1) eslint-rule-documentation: 1.0.23 globals: 16.5.0 jsx-ast-utils: 3.3.5 prettier: 3.8.1 svg-element-attributes: 1.3.1 typescript: 5.9.3 - typescript-eslint: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + typescript-eslint: 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - '@types/eslint' - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-i18n-text@1.0.1(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-i18n-text@1.0.1(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.5 debug: 4.4.3 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.2.2 @@ -8901,12 +8901,12 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: '@nolyfill/array-includes@1.0.44' @@ -8915,9 +8915,9 @@ snapshots: array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' debug: 3.2.7 doctrine: 2.1.0 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.0(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)) hasown: '@nolyfill/hasown@1.0.44' is-core-module: '@nolyfill/is-core-module@1.0.39' is-glob: 4.0.3 @@ -8929,13 +8929,13 @@ snapshots: string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44' tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.1(jiti@2.6.1)): dependencies: aria-query: 5.3.2 array-includes: '@nolyfill/array-includes@1.0.44' @@ -8945,7 +8945,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) hasown: '@nolyfill/hasown@1.0.44' jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -8954,12 +8954,12 @@ snapshots: safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' - eslint-plugin-n@17.24.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) enhanced-resolve: 5.19.0 - eslint: 10.0.0(jiti@2.6.1) - eslint-plugin-es-x: 7.8.0(eslint@10.0.0(jiti@2.6.1)) + eslint: 10.0.1(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@10.0.1(jiti@2.6.1)) get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 @@ -8971,29 +8971,29 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1): + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)))(eslint@10.0.1(jiti@2.6.1))(prettier@3.8.1): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) prettier: 3.8.1 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.6.1)) + eslint-config-prettier: 10.1.8(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.1(jiti@2.6.1)): dependencies: - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) - eslint-plugin-unicorn@63.0.0(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-unicorn@63.0.0(eslint@10.0.1(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) change-case: 5.4.4 ci-info: 4.4.0 clean-regexp: 1.0.0 core-js-compat: 3.48.0 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) find-up-simple: 1.0.1 globals: 16.5.0 indent-string: 5.0.0 @@ -9005,7 +9005,7 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.2.1(eslint@10.0.0(jiti@2.6.1)): + eslint-plugin-yml@3.2.1(eslint@10.0.1(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 @@ -9013,7 +9013,7 @@ snapshots: debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 - eslint: 10.0.0(jiti@2.6.1) + eslint: 10.0.1(jiti@2.6.1) natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 transitivePeerDependencies: @@ -9034,9 +9034,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.0.0(jiti@2.6.1): + eslint@10.0.1(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.2 '@eslint/config-helpers': 0.5.2 @@ -11535,13 +11535,13 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.0(jiti@2.6.1) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.1(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color From 6a1b590b8bf5a07f5c914f8933b4210403d7a889 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 08:20:45 +0000 Subject: [PATCH 079/259] chore(deps): bump hono from 4.12.0 to 4.12.2 (#21209) Bumps [hono](https://github.com/honojs/hono) from 4.12.0 to 4.12.2. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](https://github.com/honojs/hono/compare/v4.12.0...v4.12.2) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.2 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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 53d2f55ad5751b..18284c31725529 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "google-play-scraper": "10.1.2", "googleapis": "171.4.0", "header-generator": "2.1.80", - "hono": "4.12.0", + "hono": "4.12.2", "html-to-text": "9.0.5", "http-cookie-agent": "7.0.3", "https-proxy-agent": "7.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a39cd3a0272919..7a2198e24fe939 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,10 +50,10 @@ importers: version: 4.3.1 '@hono/node-server': specifier: 1.19.9 - version: 1.19.9(hono@4.12.0) + version: 1.19.9(hono@4.12.2) '@hono/zod-openapi': specifier: 1.2.2 - version: 1.2.2(hono@4.12.0)(zod@4.3.6) + version: 1.2.2(hono@4.12.2)(zod@4.3.6) '@jocmp/mercury-parser': specifier: 3.0.3 version: 3.0.3 @@ -86,7 +86,7 @@ importers: version: 0.0.25 '@scalar/hono-api-reference': specifier: 0.9.44 - version: 0.9.44(hono@4.12.0) + version: 0.9.44(hono@4.12.2) '@sentry/node': specifier: 10.39.0 version: 10.39.0 @@ -139,8 +139,8 @@ importers: specifier: 2.1.80 version: 2.1.80 hono: - specifier: 4.12.0 - version: 4.12.0 + specifier: 4.12.2 + version: 4.12.2 html-to-text: specifier: 9.0.5 version: 9.0.5 @@ -3859,8 +3859,8 @@ packages: hmacsha1@1.0.0: resolution: {integrity: sha512-4FP6J0oI8jqb6gLLl9tSwVdosWJ/AKSGJ+HwYf6Ixe4MUcEkst4uWzpVQrNOCin0fzTRQbXV8ePheU8WiiDYBw==} - hono@4.12.0: - resolution: {integrity: sha512-NekXntS5M94pUfiVZ8oXXK/kkri+5WpX2/Ik+LVsl+uvw+soj4roXIsPqO+XsWrAw20mOzaXOZf3Q7PfB9A/IA==} + hono@4.12.2: + resolution: {integrity: sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==} engines: {node: '>=16.9.0'} hookable@6.0.1: @@ -6450,21 +6450,21 @@ snapshots: '@github/browserslist-config@1.0.0': {} - '@hono/node-server@1.19.9(hono@4.12.0)': + '@hono/node-server@1.19.9(hono@4.12.2)': dependencies: - hono: 4.12.0 + hono: 4.12.2 - '@hono/zod-openapi@1.2.2(hono@4.12.0)(zod@4.3.6)': + '@hono/zod-openapi@1.2.2(hono@4.12.2)(zod@4.3.6)': dependencies: '@asteasolutions/zod-to-openapi': 8.4.1(zod@4.3.6) - '@hono/zod-validator': 0.7.6(hono@4.12.0)(zod@4.3.6) - hono: 4.12.0 + '@hono/zod-validator': 0.7.6(hono@4.12.2)(zod@4.3.6) + hono: 4.12.2 openapi3-ts: 4.5.0 zod: 4.3.6 - '@hono/zod-validator@0.7.6(hono@4.12.0)(zod@4.3.6)': + '@hono/zod-validator@0.7.6(hono@4.12.2)(zod@4.3.6)': dependencies: - hono: 4.12.0 + hono: 4.12.2 zod: 4.3.6 '@humanfs/core@0.19.1': {} @@ -7487,10 +7487,10 @@ snapshots: '@scalar/helpers@0.2.15': {} - '@scalar/hono-api-reference@0.9.44(hono@4.12.0)': + '@scalar/hono-api-reference@0.9.44(hono@4.12.2)': dependencies: '@scalar/core': 0.3.41 - hono: 4.12.0 + hono: 4.12.2 '@scalar/types@0.6.6': dependencies: @@ -9452,7 +9452,7 @@ snapshots: hmacsha1@1.0.0: {} - hono@4.12.0: {} + hono@4.12.2: {} hookable@6.0.1: {} From cb7a97237d6e0d30159e9244932e672b2fde3c9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 08:24:55 +0000 Subject: [PATCH 080/259] chore(deps): bump jsrsasign from 11.1.0 to 11.1.1 (#21212) Bumps [jsrsasign](https://github.com/kjur/jsrsasign) from 11.1.0 to 11.1.1. - [Release notes](https://github.com/kjur/jsrsasign/releases) - [Changelog](https://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt) - [Commits](https://github.com/kjur/jsrsasign/compare/11.1.0...11.1.1) --- updated-dependencies: - dependency-name: jsrsasign dependency-version: 11.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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 18284c31725529..35d876c6645c51 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "jsdom": "27.0.0", "json-bigint": "1.0.0", "jsonpath-plus": "10.4.0", - "jsrsasign": "11.1.0", + "jsrsasign": "11.1.1", "lru-cache": "11.2.6", "lz-string": "1.5.0", "mailparser": "3.9.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a2198e24fe939..daeb959f23688a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -175,8 +175,8 @@ importers: specifier: 10.4.0 version: 10.4.0 jsrsasign: - specifier: 11.1.0 - version: 11.1.0 + specifier: 11.1.1 + version: 11.1.1 lru-cache: specifier: 11.2.6 version: 11.2.6 @@ -4208,8 +4208,8 @@ packages: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} engines: {'0': node >=0.6.0} - jsrsasign@11.1.0: - resolution: {integrity: sha512-Ov74K9GihaK9/9WncTe1mPmvrO7Py665TUfUKvraXBpu+xcTWitrtuOwcjf4KMU9maPaYn0OuaWy0HOzy/GBXg==} + jsrsasign@11.1.1: + resolution: {integrity: sha512-6w95OOXH8DNeGxakqLndBEqqwQ6A70zGaky1oxfg8WVLWOnghTfJsc5Tknx+Z88MHSb1bGLcqQHImOF8Lk22XA==} jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} @@ -9827,7 +9827,7 @@ snapshots: json-schema: 0.4.0 verror: 1.10.0 - jsrsasign@11.1.0: {} + jsrsasign@11.1.1: {} jsx-ast-utils@3.3.5: dependencies: From 61694896b974b720c3476a95d20eee492e1e61ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 08:27:06 +0000 Subject: [PATCH 081/259] chore(deps-dev): bump discord-api-types from 0.38.39 to 0.38.40 (#21210) Bumps [discord-api-types](https://github.com/discordjs/discord-api-types) from 0.38.39 to 0.38.40. - [Release notes](https://github.com/discordjs/discord-api-types/releases) - [Changelog](https://github.com/discordjs/discord-api-types/blob/main/CHANGELOG.md) - [Commits](https://github.com/discordjs/discord-api-types/compare/0.38.39...0.38.40) --- updated-dependencies: - dependency-name: discord-api-types dependency-version: 0.38.40 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 35d876c6645c51..a73e9d23c9acce 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "@typescript-eslint/parser": "8.56.0", "@vercel/nft": "1.3.1", "@vitest/coverage-v8": "4.0.9", - "discord-api-types": "0.38.39", + "discord-api-types": "0.38.40", "domhandler": "5.0.3", "eslint": "10.0.1", "eslint-nibble": "9.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index daeb959f23688a..7b8904c0ee8894 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -380,8 +380,8 @@ importers: specifier: 4.0.9 version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: - specifier: 0.38.39 - version: 0.38.39 + specifier: 0.38.40 + version: 0.38.40 domhandler: specifier: 5.0.3 version: 5.0.3 @@ -3168,8 +3168,8 @@ packages: resolution: {tarball: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed} version: 0.2.6 - discord-api-types@0.38.39: - resolution: {integrity: sha512-XRdDQvZvID1XvcFftjSmd4dcmMi/RL/jSy5sduBDAvCGFcNFHThdIQXCEBDZFe52lCNEzuIL0QJoKYAmRmxLUA==} + discord-api-types@0.38.40: + resolution: {integrity: sha512-P/His8cotqZgQqrt+hzrocp9L8RhQQz1GkrCnC9TMJ8Uw2q0tg8YyqJyGULxhXn/8kxHETN4IppmOv+P2m82lQ==} doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -8583,7 +8583,7 @@ snapshots: dependencies: heap: 0.2.7 - discord-api-types@0.38.39: {} + discord-api-types@0.38.40: {} doctrine@2.1.0: dependencies: From 0425778dc04d01726d9d4b58eb806cff2a40ee00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 08:31:45 +0000 Subject: [PATCH 082/259] chore(deps-dev): bump eslint-plugin-yml from 3.2.1 to 3.2.2 (#21213) Bumps [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/ota-meshi/eslint-plugin-yml/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-yml/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-yml/compare/v3.2.1...v3.2.2) --- updated-dependencies: - dependency-name: eslint-plugin-yml dependency-version: 3.2.2 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 | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index a73e9d23c9acce..a08665c6a74962 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,7 @@ "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", "eslint-plugin-unicorn": "63.0.0", - "eslint-plugin-yml": "3.2.1", + "eslint-plugin-yml": "3.2.2", "fs-extra": "11.3.3", "globals": "17.3.0", "got": "14.6.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b8904c0ee8894..3e64ed4cacbaec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -407,8 +407,8 @@ importers: specifier: 63.0.0 version: 63.0.0(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-yml: - specifier: 3.2.1 - version: 3.2.1(eslint@10.0.1(jiti@2.6.1)) + specifier: 3.2.2 + version: 3.2.2(eslint@10.0.1(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -1566,8 +1566,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@ota-meshi/ast-token-store@0.2.3': - resolution: {integrity: sha512-Jgp8rBprSMIDY0IuokbESFozd5SSa/LZsQ9/xiNooDdiy+WK2LlA51f+GjgBKq8CE4YpfK5kdBjNtbwlThApoQ==} + '@ota-meshi/ast-token-store@0.3.0': + resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@otplib/core@13.3.0': @@ -3495,8 +3495,8 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-plugin-yml@3.2.1: - resolution: {integrity: sha512-/oFj7MWk56AKLelLSUb7zN1OKDI9kR+uKEzbf/sGu7Bov0tJs3qwtMcu+VCcEtFAFD7KZe0LSYhyy0Uq8hKF9g==} + eslint-plugin-yml@3.2.2: + resolution: {integrity: sha512-vMluBBMGecygLzeOly0EnDhudQb9CNEXEUokTap93oF/KyASAADed4xRlFBQQNuzJK3N6u5s3M/IjIKPGZZOKA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -7129,7 +7129,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) - '@ota-meshi/ast-token-store@0.2.3': {} + '@ota-meshi/ast-token-store@0.3.0': {} '@otplib/core@13.3.0': {} @@ -9005,11 +9005,11 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.2.1(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-yml@3.2.2(eslint@10.0.1(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 - '@ota-meshi/ast-token-store': 0.2.3 + '@ota-meshi/ast-token-store': 0.3.0 debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 From 9724af4f3bb76e35b5dbc18804e84fb5d0631177 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 16:38:40 +0800 Subject: [PATCH 083/259] chore(deps-dev): bump @cloudflare/workers-types (#21211) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260227.0 to 4.20260302.0. - [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: 4.20260302.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index a08665c6a74962..cce5a7031edd3e 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260227.0", + "@cloudflare/workers-types": "4.20260302.0", "@eslint/eslintrc": "3.3.3", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e64ed4cacbaec..781da0761c52eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -305,8 +305,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260227.0 - version: 4.20260227.0 + specifier: 4.20260302.0 + version: 4.20260302.0 '@eslint/eslintrc': specifier: 3.3.3 version: 3.3.3 @@ -465,7 +465,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.67.0 - version: 4.67.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.67.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -625,8 +625,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260227.0': - resolution: {integrity: sha512-e/Lfx2LGmmTds9Soorj96ER+xzJZ/dfNcSd+odlRDv0HBYA4Ts7m01A1VwCPGvuy3/kQo7FYZEQdF6vnR0y73A==} + '@cloudflare/workers-types@4.20260302.0': + resolution: {integrity: sha512-mbFRnlu1lNCScMpXZk/X/uBPufYx5OSbq+euGonGRcY+DgOwm2kczGdK401rUh52NB0fFMEcOy/zqwxv7CdDNA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6254,7 +6254,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260219.0': optional: true - '@cloudflare/workers-types@4.20260227.0': {} + '@cloudflare/workers-types@4.20260302.0': {} '@colors/colors@1.6.0': {} @@ -11829,7 +11829,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260219.0 '@cloudflare/workerd-windows-64': 1.20260219.0 - wrangler@4.67.0(@cloudflare/workers-types@4.20260227.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.67.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260219.0) @@ -11840,7 +11840,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260219.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260227.0 + '@cloudflare/workers-types': 4.20260302.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 8be22cb8f6ead56ff5e531f99788d95ad8ff189b Mon Sep 17 00:00:00 2001 From: loopy03 <63094664+loopy03@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:04:09 +0100 Subject: [PATCH 084/259] =?UTF-8?q?feat:=20add=20route=20for=20Le=20Phoc?= =?UTF-8?q?=C3=A9en=20(#21205)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add route for Le Phocéen * fix: use embedded json * Fix: lint errors (imports order and parseDate) --- lib/routes/lephoceen/chrono.ts | 64 +++++++++++++++++++++++++++++++ lib/routes/lephoceen/namespace.ts | 7 ++++ 2 files changed, 71 insertions(+) create mode 100644 lib/routes/lephoceen/chrono.ts create mode 100644 lib/routes/lephoceen/namespace.ts diff --git a/lib/routes/lephoceen/chrono.ts b/lib/routes/lephoceen/chrono.ts new file mode 100644 index 00000000000000..17485a0bead231 --- /dev/null +++ b/lib/routes/lephoceen/chrono.ts @@ -0,0 +1,64 @@ +import { load } from 'cheerio'; + +import type { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/chrono', + categories: ['new-media'], + example: '/lephoceen/chrono', + parameters: {}, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + radar: [ + { + source: ['lephoceen.fr/chrono'], + target: '/chrono', + }, + ], + name: 'Fil Info Le Phocéen (Chrono)', + maintainers: ['Loopy03'], + handler: async (_) => { + const response = await ofetch('https://www.lephoceen.fr/chrono'); + const $ = load(response); + + // Récupération du fichier json + const jsonRaw = $('script[id="__NEXT_DATA__"]').html(); + const jsonData = JSON.parse(jsonRaw); + + // Tableau des articles via le chemin identifié du fichier json + // Structure: props -> pageProps -> data -> datas + const articles = jsonData?.props?.pageProps?.data?.datas || []; + + const items = articles.map((item: any) => { + // Gestion du lien : le slug est relatif, on ajoute le domaine + const baseUrl = 'https://www.lephoceen.fr'; + const link = item.slug.startsWith('http') ? item.slug : `${baseUrl}${item.slug}`; + + // Gestion de la date : Le JSON fournit un timestamp UNIX (en secondes) + const pubDate = parseDate(item.date.publish_at.timestamp * 1000); + + return { + title: item.title, + link, + description: item.text || `[${item.category?.name}] ${item.title}`, + pubDate, // L'objet Date standard gère le fuseau correctement + category: [item.category?.name], + image: item.images?.['16x9']?.url, + }; + }); + + return { + title: 'Le Phocéen - Fil Info', + link: 'https://www.lephoceen.fr/chrono', + item: items, + }; + }, +}; diff --git a/lib/routes/lephoceen/namespace.ts b/lib/routes/lephoceen/namespace.ts new file mode 100644 index 00000000000000..8c179851374235 --- /dev/null +++ b/lib/routes/lephoceen/namespace.ts @@ -0,0 +1,7 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: 'Le Phocéen', + url: 'lephoceen.fr', + description: "Actualités de l'Olympique de Marseille du site lephocéen.fr", +}; From c2391c7d4494df037ccbfd076918cfe337446319 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 20:45:23 +0800 Subject: [PATCH 085/259] chore(deps-dev): bump oxfmt from 0.34.0 to 0.35.0 (#21215) Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.34.0 to 0.35.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.35.0/npm/oxfmt) --- updated-dependencies: - dependency-name: oxfmt dependency-version: 0.35.0 dependency-type: direct:development 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 | 162 ++++++++++++++++++++++++------------------------- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index cce5a7031edd3e..c06b1b29b84929 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "mockdate": "3.0.5", "msw": "2.4.3", "node-network-devtools": "1.0.29", - "oxfmt": "0.34.0", + "oxfmt": "0.35.0", "remark-parse": "11.0.0", "supertest": "7.2.2", "tsdown": "0.20.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 781da0761c52eb..7bf0e04276161c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -440,8 +440,8 @@ importers: specifier: 1.0.29 version: 1.0.29(undici@7.22.0)(utf-8-validate@5.0.10) oxfmt: - specifier: 0.34.0 - version: 0.34.0 + specifier: 0.35.0 + version: 0.35.0 remark-parse: specifier: 11.0.0 version: 11.0.0 @@ -1591,124 +1591,124 @@ packages: '@oxc-project/types@0.112.0': resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==} - '@oxfmt/binding-android-arm-eabi@0.34.0': - resolution: {integrity: sha512-sqkqjh/Z38l+duOb1HtVqJTAj1grt2ttkobCopC/72+a4Xxz4xUgZPFyQ4HxrYMvyqO/YA0tvM1QbfOu70Gk1Q==} + '@oxfmt/binding-android-arm-eabi@0.35.0': + resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.34.0': - resolution: {integrity: sha512-1KRCtasHcVcGOMwfOP9d5Bus2NFsN8yAYM5cBwi8LBg5UtXC3C49WHKrlEa8iF1BjOS6CR2qIqiFbGoA0DJQNQ==} + '@oxfmt/binding-android-arm64@0.35.0': + resolution: {integrity: sha512-/O+EbuAJYs6nde/anv+aID6uHsGQApyE9JtYBo/79KyU8e6RBN3DMbT0ix97y1SOnCglurmL2iZ+hlohjP2PnQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.34.0': - resolution: {integrity: sha512-b+Rmw9Bva6e/7PBES2wLO8sEU7Mi0+/Kv+pXSe/Y8i4fWNftZZlGwp8P01eECaUqpXATfSgNxdEKy7+ssVNz7g==} + '@oxfmt/binding-darwin-arm64@0.35.0': + resolution: {integrity: sha512-pGqRtqlNdn9d4VrmGUWVyQjkw79ryhI6je9y2jfqNUIZCfqceob+R97YYAoG7C5TFyt8ILdLVoN+L2vw/hSFyA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.34.0': - resolution: {integrity: sha512-QGjpevWzf1T9COEokZEWt80kPOtthW1zhRbo7x4Qoz646eTTfi6XsHG2uHeDWJmTbgBoJZPMgj2TAEV/ppEZaA==} + '@oxfmt/binding-darwin-x64@0.35.0': + resolution: {integrity: sha512-8GmsDcSozTPjrCJeGpp+sCmS9+9V5yRrdEZ1p/sTWxPG5nYeAfSLuS0nuEYjXSO+CtdSbStIW6dxa+4NM58yRw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.34.0': - resolution: {integrity: sha512-VMSaC02cG75qL59M9M/szEaqq/RsLfgpzQ4nqUu8BUnX1zkiZIW2gTpUv3ZJ6qpWnHxIlAXiRZjQwmcwpvtbcg==} + '@oxfmt/binding-freebsd-x64@0.35.0': + resolution: {integrity: sha512-QyfKfTe0ytHpFKHAcHCGQEzN45QSqq1AHJOYYxQMgLM3KY4xu8OsXHpCnINjDsV4XGnQzczJDU9e04Zmd8XqIQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.34.0': - resolution: {integrity: sha512-Klm367PFJhH6vYK3vdIOxFepSJZHPaBfIuqwxdkOcfSQ4qqc/M8sgK0UTFnJWWTA/IkhMIh1kW6uEqiZ/xtQqg==} + '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': + resolution: {integrity: sha512-u+kv3JD6P3J38oOyUaiCqgY5TNESzBRZJ5lyZQ6c2czUW2v5SIN9E/KWWa9vxoc+P8AFXQFUVrdzGy1tK+nbPQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.34.0': - resolution: {integrity: sha512-nqn0QueVXRfbN9m58/E9Zij0Ap8lzayx591eWBYn0sZrGzY1IRv9RYS7J/1YUXbb0Ugedo0a8qIWzUHU9bWQuA==} + '@oxfmt/binding-linux-arm-musleabihf@0.35.0': + resolution: {integrity: sha512-1NiZroCiV57I7Pf8kOH4XGR366kW5zir3VfSMBU2D0V14GpYjiYmPYFAoJboZvp8ACnZKUReWyMkNKSa5ad58A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.34.0': - resolution: {integrity: sha512-DDn+dcqW+sMTCEjvLoQvC/VWJjG7h8wcdN/J+g7ZTdf/3/Dx730pQElxPPGsCXPhprb11OsPyMp5FwXjMY3qvA==} + '@oxfmt/binding-linux-arm64-gnu@0.35.0': + resolution: {integrity: sha512-7Q0Xeg7ZnW2nxnZ4R7aF6DEbCFls4skgHZg+I63XitpNvJCbVIU8MFOTZlvZGRsY9+rPgWPQGeUpLHlyx0wvMA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.34.0': - resolution: {integrity: sha512-H+F8+71gHQoGTFPPJ6z4dD0Fzfzi0UP8Zx94h5kUmIFThLvMq5K1Y/bUUubiXwwHfwb5C3MPjUpYijiy0rj51Q==} + '@oxfmt/binding-linux-arm64-musl@0.35.0': + resolution: {integrity: sha512-5Okqi+uhYFxwKz8hcnUftNNwdm8BCkf6GSCbcz9xJxYMm87k1E4p7PEmAAbhLTk7cjSdDre6TDL0pDzNX+Y22Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.34.0': - resolution: {integrity: sha512-dIGnzTNhCXqQD5pzBwduLg8pClm+t8R53qaE9i5h8iua1iaFAJyLffh4847CNZSlASb7gn1Ofuv7KoG/EpoGZg==} + '@oxfmt/binding-linux-ppc64-gnu@0.35.0': + resolution: {integrity: sha512-9k66pbZQXM/lBJWys3Xbc5yhl4JexyfqkEf/tvtq8976VIJnLAAL3M127xHA3ifYSqxdVHfVGTg84eiBHCGcNw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.34.0': - resolution: {integrity: sha512-FGQ2GTTooilDte/ogwWwkHuuL3lGtcE3uKM2EcC7kOXNWdUfMY6Jx3JCodNVVbFoybv4A+HuCj8WJji2uu1Ceg==} + '@oxfmt/binding-linux-riscv64-gnu@0.35.0': + resolution: {integrity: sha512-aUcY9ofKPtjO52idT6t0SAQvEF6ctjzUQa1lLp7GDsRpSBvuTrBQGeq0rYKz3gN8dMIQ7mtMdGD9tT4LhR8jAQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.34.0': - resolution: {integrity: sha512-2dGbGneJ7ptOIVKMwEIHdCkdZEomh74X3ggo4hCzEXL/rl9HwfsZDR15MkqfQqAs6nVXMvtGIOMxjDYa5lwKaA==} + '@oxfmt/binding-linux-riscv64-musl@0.35.0': + resolution: {integrity: sha512-C6yhY5Hvc2sGM+mCPek9ZLe5xRUOC/BvhAt2qIWFAeXMn4il04EYIjl3DsWiJr0xDMTJhvMOmD55xTRPlNp39w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.34.0': - resolution: {integrity: sha512-cCtGgmrTrxq3OeSG0UAO+w6yLZTMeOF4XM9SAkNrRUxYhRQELSDQ/iNPCLyHhYNi38uHJQbS5RQweLUDpI4ajA==} + '@oxfmt/binding-linux-s390x-gnu@0.35.0': + resolution: {integrity: sha512-RG2hlvOMK4OMZpO3mt8MpxLQ0AAezlFqhn5mI/g5YrVbPFyoCv9a34AAvbSJS501ocOxlFIRcKEuw5hFvddf9g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.34.0': - resolution: {integrity: sha512-7AvMzmeX+k7GdgitXp99GQoIV/QZIpAS7rwxQvC/T541yWC45nwvk4mpnU8N+V6dE5SPEObnqfhCjO80s7qIsg==} + '@oxfmt/binding-linux-x64-gnu@0.35.0': + resolution: {integrity: sha512-wzmh90Pwvqj9xOKHJjkQYBpydRkaXG77ZvDz+iFDRRQpnqIEqGm5gmim2s6vnZIkDGsvKCuTdtxm0GFmBjM1+w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.34.0': - resolution: {integrity: sha512-uNiglhcmivJo1oDMh3hoN/Z0WsbEXOpRXZdQ3W/IkOpyV8WF308jFjSC1ZxajdcNRXWej0zgge9QXba58Owt+g==} + '@oxfmt/binding-linux-x64-musl@0.35.0': + resolution: {integrity: sha512-+HCqYCJPCUy5I+b2cf+gUVaApfgtoQT3HdnSg/l7NIcLHOhKstlYaGyrFZLmUpQt4WkFbpGKZZayG6zjRU0KFA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.34.0': - resolution: {integrity: sha512-5eFsTjCyji25j6zznzlMc+wQAZJoL9oWy576xhqd2efv+N4g1swIzuSDcb1dz4gpcVC6veWe9pAwD7HnrGjLwg==} + '@oxfmt/binding-openharmony-arm64@0.35.0': + resolution: {integrity: sha512-kFYmWfR9YL78XyO5ws+1dsxNvZoD973qfVMNFOS4e9bcHXGF7DvGC2tY5UDFwyMCeB33t3sDIuGONKggnVNSJA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.34.0': - resolution: {integrity: sha512-6id8kK0t5hKfbV6LHDzRO21wRTA6ctTlKGTZIsG/mcoir0rssvaYsedUymF4HDj7tbCUlnxCX/qOajKlEuqbIw==} + '@oxfmt/binding-win32-arm64-msvc@0.35.0': + resolution: {integrity: sha512-uD/NGdM65eKNCDGyTGdO8e9n3IHX+wwuorBvEYrPJXhDXL9qz6gzddmXH8EN04ejUXUujlq4FsoSeCfbg0Y+Jg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.34.0': - resolution: {integrity: sha512-QHaz+w673mlYqn9v/+fuiKZpjkmagleXQ+NygShDv8tdHpRYX2oYhTJwwt9j1ZfVhRgza1EIUW3JmzCXmtPdhQ==} + '@oxfmt/binding-win32-ia32-msvc@0.35.0': + resolution: {integrity: sha512-oSRD2k8J2uxYDEKR2nAE/YTY9PobOEnhZgCmspHu0+yBQ665yH8lFErQVSTE7fcGJmJp/cC6322/gc8VFuQf7g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.34.0': - resolution: {integrity: sha512-CXKQM/VaF+yuvGru8ktleHLJoBdjBtTFmAsLGePiESiTN0NjCI/PiaiOCfHMJ1HdP1LykvARUwMvgaN3tDhcrg==} + '@oxfmt/binding-win32-x64-msvc@0.35.0': + resolution: {integrity: sha512-WCDJjlS95NboR0ugI2BEwzt1tYvRDorDRM9Lvctls1SLyKYuNRCyrPwp1urUPFBnwgBNn9p2/gnmo7gFMySRoQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4732,8 +4732,8 @@ packages: resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} engines: {node: '>=12'} - oxfmt@0.34.0: - resolution: {integrity: sha512-t+zTE4XGpzPTK+Zk9gSwcJcFi4pqjl6PwO/ZxPBJiJQ2XCKMucwjPlHxvPHyVKJtkMSyrDGfQ7Ntg/hUr4OgHQ==} + oxfmt@0.35.0: + resolution: {integrity: sha512-QYeXWkP+aLt7utt5SLivNIk09glWx9QE235ODjgcEZ3sd1VMaUBSpLymh6ZRCA76gD2rMP4bXanUz/fx+nLM9Q==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -7160,61 +7160,61 @@ snapshots: '@oxc-project/types@0.112.0': {} - '@oxfmt/binding-android-arm-eabi@0.34.0': + '@oxfmt/binding-android-arm-eabi@0.35.0': optional: true - '@oxfmt/binding-android-arm64@0.34.0': + '@oxfmt/binding-android-arm64@0.35.0': optional: true - '@oxfmt/binding-darwin-arm64@0.34.0': + '@oxfmt/binding-darwin-arm64@0.35.0': optional: true - '@oxfmt/binding-darwin-x64@0.34.0': + '@oxfmt/binding-darwin-x64@0.35.0': optional: true - '@oxfmt/binding-freebsd-x64@0.34.0': + '@oxfmt/binding-freebsd-x64@0.35.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.34.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.34.0': + '@oxfmt/binding-linux-arm-musleabihf@0.35.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.34.0': + '@oxfmt/binding-linux-arm64-gnu@0.35.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.34.0': + '@oxfmt/binding-linux-arm64-musl@0.35.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.34.0': + '@oxfmt/binding-linux-ppc64-gnu@0.35.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.34.0': + '@oxfmt/binding-linux-riscv64-gnu@0.35.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.34.0': + '@oxfmt/binding-linux-riscv64-musl@0.35.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.34.0': + '@oxfmt/binding-linux-s390x-gnu@0.35.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.34.0': + '@oxfmt/binding-linux-x64-gnu@0.35.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.34.0': + '@oxfmt/binding-linux-x64-musl@0.35.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.34.0': + '@oxfmt/binding-openharmony-arm64@0.35.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.34.0': + '@oxfmt/binding-win32-arm64-msvc@0.35.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.34.0': + '@oxfmt/binding-win32-ia32-msvc@0.35.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.34.0': + '@oxfmt/binding-win32-x64-msvc@0.35.0': optional: true '@paralleldrive/cuid2@2.3.1': @@ -10448,29 +10448,29 @@ snapshots: lodash.isequal: 4.5.0 vali-date: 1.0.0 - oxfmt@0.34.0: + oxfmt@0.35.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.34.0 - '@oxfmt/binding-android-arm64': 0.34.0 - '@oxfmt/binding-darwin-arm64': 0.34.0 - '@oxfmt/binding-darwin-x64': 0.34.0 - '@oxfmt/binding-freebsd-x64': 0.34.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.34.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.34.0 - '@oxfmt/binding-linux-arm64-gnu': 0.34.0 - '@oxfmt/binding-linux-arm64-musl': 0.34.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.34.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.34.0 - '@oxfmt/binding-linux-riscv64-musl': 0.34.0 - '@oxfmt/binding-linux-s390x-gnu': 0.34.0 - '@oxfmt/binding-linux-x64-gnu': 0.34.0 - '@oxfmt/binding-linux-x64-musl': 0.34.0 - '@oxfmt/binding-openharmony-arm64': 0.34.0 - '@oxfmt/binding-win32-arm64-msvc': 0.34.0 - '@oxfmt/binding-win32-ia32-msvc': 0.34.0 - '@oxfmt/binding-win32-x64-msvc': 0.34.0 + '@oxfmt/binding-android-arm-eabi': 0.35.0 + '@oxfmt/binding-android-arm64': 0.35.0 + '@oxfmt/binding-darwin-arm64': 0.35.0 + '@oxfmt/binding-darwin-x64': 0.35.0 + '@oxfmt/binding-freebsd-x64': 0.35.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.35.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.35.0 + '@oxfmt/binding-linux-arm64-gnu': 0.35.0 + '@oxfmt/binding-linux-arm64-musl': 0.35.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.35.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.35.0 + '@oxfmt/binding-linux-riscv64-musl': 0.35.0 + '@oxfmt/binding-linux-s390x-gnu': 0.35.0 + '@oxfmt/binding-linux-x64-gnu': 0.35.0 + '@oxfmt/binding-linux-x64-musl': 0.35.0 + '@oxfmt/binding-openharmony-arm64': 0.35.0 + '@oxfmt/binding-win32-arm64-msvc': 0.35.0 + '@oxfmt/binding-win32-ia32-msvc': 0.35.0 + '@oxfmt/binding-win32-x64-msvc': 0.35.0 p-cancelable@4.0.1: {} From 241d3e8a590496cba66e3bb28af46fb4bfbae617 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:07:10 +0800 Subject: [PATCH 086/259] chore(deps-dev): bump eslint-plugin-yml from 3.2.2 to 3.3.0 (#21216) Bumps [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) from 3.2.2 to 3.3.0. - [Release notes](https://github.com/ota-meshi/eslint-plugin-yml/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-yml/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-yml/compare/v3.2.2...v3.3.0) --- updated-dependencies: - dependency-name: eslint-plugin-yml dependency-version: 3.3.0 dependency-type: direct:development 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c06b1b29b84929..1d547f6e7f1cb0 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,7 @@ "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", "eslint-plugin-unicorn": "63.0.0", - "eslint-plugin-yml": "3.2.2", + "eslint-plugin-yml": "3.3.0", "fs-extra": "11.3.3", "globals": "17.3.0", "got": "14.6.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bf0e04276161c..de1dd65805caff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -407,8 +407,8 @@ importers: specifier: 63.0.0 version: 63.0.0(eslint@10.0.1(jiti@2.6.1)) eslint-plugin-yml: - specifier: 3.2.2 - version: 3.2.2(eslint@10.0.1(jiti@2.6.1)) + specifier: 3.3.0 + version: 3.3.0(eslint@10.0.1(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -3495,8 +3495,8 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-plugin-yml@3.2.2: - resolution: {integrity: sha512-vMluBBMGecygLzeOly0EnDhudQb9CNEXEUokTap93oF/KyASAADed4xRlFBQQNuzJK3N6u5s3M/IjIKPGZZOKA==} + eslint-plugin-yml@3.3.0: + resolution: {integrity: sha512-kRja5paNrMfZnbNqDbZSFrSHz5x7jmGBQq7d6z/+wRvWD4Y0yb1fbjojBg3ReMewFhBB7nD2nPC86+m3HmILJA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -9005,7 +9005,7 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.2.2(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-yml@3.3.0(eslint@10.0.1(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 From fcde7600462614f90615528c335b7b01a7a0e664 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 08:07:45 +0000 Subject: [PATCH 087/259] chore(deps-dev): bump the eslint group with 2 updates (#21217) Bumps the eslint group with 2 updates: [@eslint/eslintrc](https://github.com/eslint/eslintrc) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/eslintrc` from 3.3.3 to 3.3.4 - [Release notes](https://github.com/eslint/eslintrc/releases) - [Changelog](https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.4) Updates `eslint` from 10.0.1 to 10.0.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.0.1...v10.0.2) --- updated-dependencies: - dependency-name: "@eslint/eslintrc" dependency-version: 3.3.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint dependency-version: 10.0.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 222 ++++++++++++++++++++++++------------------------- 2 files changed, 113 insertions(+), 113 deletions(-) diff --git a/package.json b/package.json index 1d547f6e7f1cb0..ce5fb37bc9584d 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", "@cloudflare/workers-types": "4.20260302.0", - "@eslint/eslintrc": "3.3.3", + "@eslint/eslintrc": "3.3.4", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.9.0", "@types/aes-js": "3.1.4", @@ -172,7 +172,7 @@ "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.40", "domhandler": "5.0.3", - "eslint": "10.0.1", + "eslint": "10.0.2", "eslint-nibble": "9.1.1", "eslint-plugin-github": "6.0.0", "eslint-plugin-import-x": "4.16.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de1dd65805caff..de3059cfaaa147 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -308,14 +308,14 @@ importers: specifier: 4.20260302.0 version: 4.20260302.0 '@eslint/eslintrc': - specifier: 3.3.3 - version: 3.3.3 + specifier: 3.3.4 + version: 3.3.4 '@eslint/js': specifier: 10.0.1 - version: 10.0.1(eslint@10.0.1(jiti@2.6.1)) + version: 10.0.1(eslint@10.0.2(jiti@2.6.1)) '@stylistic/eslint-plugin': specifier: 5.9.0 - version: 5.9.0(eslint@10.0.1(jiti@2.6.1)) + version: 5.9.0(eslint@10.0.2(jiti@2.6.1)) '@types/aes-js': specifier: 3.1.4 version: 3.1.4 @@ -369,10 +369,10 @@ importers: version: 6.0.3 '@typescript-eslint/eslint-plugin': specifier: 8.56.0 - version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': specifier: 8.56.0 - version: 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + version: 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.1 version: 1.3.1(rollup@4.59.0) @@ -386,29 +386,29 @@ importers: specifier: 5.0.3 version: 5.0.3 eslint: - specifier: 10.0.1 - version: 10.0.1(jiti@2.6.1) + specifier: 10.0.2 + version: 10.0.2(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.3.0)(eslint@10.0.1(jiti@2.6.1)) + version: 9.1.1(@types/node@25.3.0)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-github: specifier: 6.0.0 - version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.1(jiti@2.6.1)) + version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 - version: 17.24.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + version: 17.24.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-simple-import-sort: specifier: 12.1.1 - version: 12.1.1(eslint@10.0.1(jiti@2.6.1)) + version: 12.1.1(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-unicorn: specifier: 63.0.0 - version: 63.0.0(eslint@10.0.1(jiti@2.6.1)) + version: 63.0.0(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-yml: specifier: 3.3.0 - version: 3.3.0(eslint@10.0.1(jiti@2.6.1)) + version: 3.3.0(eslint@10.0.2(jiti@2.6.1)) fs-extra: specifier: 11.3.3 version: 11.3.3 @@ -876,8 +876,8 @@ packages: resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.3': - resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + '@eslint/eslintrc@3.3.4': + resolution: {integrity: sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@10.0.1': @@ -3521,8 +3521,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.0.1: - resolution: {integrity: sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==} + eslint@10.0.2: + resolution: {integrity: sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -6388,18 +6388,18 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.0.1(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.2(jiti@2.6.1))': dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.4.1(eslint@10.0.1(jiti@2.6.1))': + '@eslint/compat@1.4.1(eslint@10.0.2(jiti@2.6.1))': dependencies: '@eslint/core': 0.17.0 optionalDependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) '@eslint/config-array@0.23.2': dependencies: @@ -6421,7 +6421,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.3': + '@eslint/eslintrc@3.3.4': dependencies: ajv: 6.14.0 debug: 4.4.3 @@ -6435,9 +6435,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@10.0.1(eslint@10.0.1(jiti@2.6.1))': + '@eslint/js@10.0.1(eslint@10.0.2(jiti@2.6.1))': optionalDependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) '@eslint/js@9.39.3': {} @@ -7589,11 +7589,11 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.9.0(eslint@10.0.1(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.9.0(eslint@10.0.2(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) '@typescript-eslint/types': 8.56.0 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -7780,15 +7780,15 @@ snapshots: '@types/node': 25.3.0 optional: true - '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7796,14 +7796,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7826,13 +7826,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -7855,13 +7855,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.0 '@typescript-eslint/types': 8.56.0 '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -8773,18 +8773,18 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@10.0.1(jiti@2.6.1)): + eslint-compat-utils@0.5.1(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) semver: 7.7.4 - eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)): + eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) - eslint-filtered-fix@0.3.0(eslint@10.0.1(jiti@2.6.1)): + eslint-filtered-fix@0.3.0(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) optionator: 0.9.4 eslint-import-context@0.1.9(unrs-resolver@1.11.1): @@ -8802,98 +8802,98 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.1(jiti@2.6.1) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.1(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 '@inquirer/checkbox': 4.3.2(@types/node@25.3.0) '@inquirer/confirm': 5.1.21(@types/node@25.3.0) '@inquirer/select': 4.4.2(@types/node@25.3.0) - eslint: 10.0.1(jiti@2.6.1) - eslint-filtered-fix: 0.3.0(eslint@10.0.1(jiti@2.6.1)) + eslint: 10.0.2(jiti@2.6.1) + eslint-filtered-fix: 0.3.0(eslint@10.0.2(jiti@2.6.1)) optionator: 0.9.4 text-table: 0.2.0 yoctocolors: 2.1.2 transitivePeerDependencies: - '@types/node' - eslint-plugin-es-x@7.8.0(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@10.0.2(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - eslint: 10.0.1(jiti@2.6.1) - eslint-compat-utils: 0.5.1(eslint@10.0.1(jiti@2.6.1)) + eslint: 10.0.2(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-escompat@3.11.4(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-escompat@3.11.4(eslint@10.0.2(jiti@2.6.1)): dependencies: browserslist: 4.28.1 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) - eslint-plugin-eslint-comments@3.2.0(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-eslint-comments@3.2.0(eslint@10.0.2(jiti@2.6.1)): dependencies: escape-string-regexp: 1.0.5 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) ignore: 5.3.2 - eslint-plugin-filenames@1.3.2(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-filenames@1.3.2(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 lodash.upperfirst: 4.3.1 - eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)): dependencies: - '@eslint/compat': 1.4.1(eslint@10.0.1(jiti@2.6.1)) - '@eslint/eslintrc': 3.3.3 + '@eslint/compat': 1.4.1(eslint@10.0.2(jiti@2.6.1)) + '@eslint/eslintrc': 3.3.4 '@eslint/js': 9.39.3 '@github/browserslist-config': 1.0.0 - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) aria-query: 5.3.2 - eslint: 10.0.1(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-escompat: 3.11.4(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-filenames: 1.3.2(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-i18n-text: 1.0.1(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.1(jiti@2.6.1)) + eslint: 10.0.2(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-escompat: 3.11.4(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-filenames: 1.3.2(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-i18n-text: 1.0.1(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)))(eslint@10.0.1(jiti@2.6.1))(prettier@3.8.1) + eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1) eslint-rule-documentation: 1.0.23 globals: 16.5.0 jsx-ast-utils: 3.3.5 prettier: 3.8.1 svg-element-attributes: 1.3.1 typescript: 5.9.3 - typescript-eslint: 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + typescript-eslint: 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - '@types/eslint' - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-i18n-text@1.0.1(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-i18n-text@1.0.1(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.5 debug: 4.4.3 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.2.2 @@ -8901,12 +8901,12 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: '@nolyfill/array-includes@1.0.44' @@ -8915,9 +8915,9 @@ snapshots: array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' debug: 3.2.7 doctrine: 2.1.0 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.1(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) hasown: '@nolyfill/hasown@1.0.44' is-core-module: '@nolyfill/is-core-module@1.0.39' is-glob: 4.0.3 @@ -8929,13 +8929,13 @@ snapshots: string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44' tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.2(jiti@2.6.1)): dependencies: aria-query: 5.3.2 array-includes: '@nolyfill/array-includes@1.0.44' @@ -8945,7 +8945,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) hasown: '@nolyfill/hasown@1.0.44' jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -8954,12 +8954,12 @@ snapshots: safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' - eslint-plugin-n@17.24.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) enhanced-resolve: 5.19.0 - eslint: 10.0.1(jiti@2.6.1) - eslint-plugin-es-x: 7.8.0(eslint@10.0.1(jiti@2.6.1)) + eslint: 10.0.2(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@10.0.2(jiti@2.6.1)) get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 @@ -8971,29 +8971,29 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.1(jiti@2.6.1)))(eslint@10.0.1(jiti@2.6.1))(prettier@3.8.1): + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) prettier: 3.8.1 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.0.1(jiti@2.6.1)) + eslint-config-prettier: 10.1.8(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.2(jiti@2.6.1)): dependencies: - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) - eslint-plugin-unicorn@63.0.0(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-unicorn@63.0.0(eslint@10.0.2(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) change-case: 5.4.4 ci-info: 4.4.0 clean-regexp: 1.0.0 core-js-compat: 3.48.0 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) find-up-simple: 1.0.1 globals: 16.5.0 indent-string: 5.0.0 @@ -9005,7 +9005,7 @@ snapshots: semver: 7.7.4 strip-indent: 4.1.1 - eslint-plugin-yml@3.3.0(eslint@10.0.1(jiti@2.6.1)): + eslint-plugin-yml@3.3.0(eslint@10.0.2(jiti@2.6.1)): dependencies: '@eslint/core': 1.1.0 '@eslint/plugin-kit': 0.6.0 @@ -9013,7 +9013,7 @@ snapshots: debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 - eslint: 10.0.1(jiti@2.6.1) + eslint: 10.0.2(jiti@2.6.1) natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 transitivePeerDependencies: @@ -9034,9 +9034,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.0.1(jiti@2.6.1): + eslint@10.0.2(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.2 '@eslint/config-helpers': 0.5.2 @@ -11535,13 +11535,13 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.1(jiti@2.6.1) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color From 00c6e61e21cc391fe3650654621a6eaad7f1f676 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 08:27:55 +0000 Subject: [PATCH 088/259] chore(deps-dev): bump @vercel/nft from 1.3.1 to 1.3.2 (#21221) Bumps [@vercel/nft](https://github.com/vercel/nft) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/vercel/nft/releases) - [Commits](https://github.com/vercel/nft/compare/1.3.1...1.3.2) --- updated-dependencies: - dependency-name: "@vercel/nft" dependency-version: 1.3.2 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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ce5fb37bc9584d..0e2dd96b3188ac 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "@types/supertest": "6.0.3", "@typescript-eslint/eslint-plugin": "8.56.0", "@typescript-eslint/parser": "8.56.0", - "@vercel/nft": "1.3.1", + "@vercel/nft": "1.3.2", "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.40", "domhandler": "5.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de3059cfaaa147..2e5a648008ae12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -374,8 +374,8 @@ importers: specifier: 8.56.0 version: 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': - specifier: 1.3.1 - version: 1.3.1(rollup@4.59.0) + specifier: 1.3.2 + version: 1.3.2(rollup@4.59.0) '@vitest/coverage-v8': specifier: 4.0.9 version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) @@ -2468,8 +2468,8 @@ packages: cpu: [x64] os: [win32] - '@vercel/nft@1.3.1': - resolution: {integrity: sha512-ihNT1rswiq3cy4WKQAV5kJi6UjWX1vLUzlLc+Vvq83G8CU9nMgfDWz5f1tOnSlS8LeC4Wp4qTB3+HGj/ccUrFQ==} + '@vercel/nft@1.3.2': + resolution: {integrity: sha512-HC8venRc4Ya7vNeBsJneKHHMDDWpQie7VaKhAIOst3MKO+DES+Y/SbzSp8mFkD7OzwAE2HhHkeSuSmwS20mz3A==} engines: {node: '>=20'} hasBin: true @@ -7930,7 +7930,7 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vercel/nft@1.3.1(rollup@4.59.0)': + '@vercel/nft@1.3.2(rollup@4.59.0)': dependencies: '@mapbox/node-pre-gyp': 2.0.3 '@rollup/pluginutils': 5.3.0(rollup@4.59.0) From 7c2c36d4d1cc8be9188602b61223bbf0177b4deb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 08:38:08 +0000 Subject: [PATCH 089/259] chore(deps-dev): bump the typescript-eslint group with 2 updates (#21218) Bumps the typescript-eslint group with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.56.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.56.0 to 8.56.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.56.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: typescript-eslint - dependency-name: "@typescript-eslint/parser" dependency-version: 8.56.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: typescript-eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 180 ++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 167 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 0e2dd96b3188ac..696412a8e82200 100644 --- a/package.json +++ b/package.json @@ -166,8 +166,8 @@ "@types/node": "25.3.0", "@types/sanitize-html": "2.16.0", "@types/supertest": "6.0.3", - "@typescript-eslint/eslint-plugin": "8.56.0", - "@typescript-eslint/parser": "8.56.0", + "@typescript-eslint/eslint-plugin": "8.56.1", + "@typescript-eslint/parser": "8.56.1", "@vercel/nft": "1.3.2", "@vitest/coverage-v8": "4.0.9", "discord-api-types": "0.38.40", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e5a648008ae12..683f2157efb4b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -368,11 +368,11 @@ importers: specifier: 6.0.3 version: 6.0.3 '@typescript-eslint/eslint-plugin': - specifier: 8.56.0 - version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.1 + version: 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.56.0 - version: 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.1 + version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vercel/nft': specifier: 1.3.2 version: 1.3.2(rollup@4.59.0) @@ -396,7 +396,7 @@ importers: version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 - version: 4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-n: specifier: 17.24.0 version: 17.24.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) @@ -2314,6 +2314,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/eslint-plugin@8.56.1': + resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.56.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@8.56.0': resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2321,22 +2329,45 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@8.56.1': + resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.56.0': resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.56.1': + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/scope-manager@8.56.0': resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.56.1': + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.56.0': resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/tsconfig-utils@8.56.1': + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@8.56.0': resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2344,16 +2375,33 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@8.56.1': + resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/types@8.56.0': resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.56.1': + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.56.0': resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/typescript-estree@8.56.1': + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.56.0': resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2361,10 +2409,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.56.1': + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@8.56.0': resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.56.1': + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} cpu: [arm] @@ -7796,6 +7855,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/type-utils': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.1 + eslint: 10.0.2(jiti@2.6.1) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.0 @@ -7808,6 +7883,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + eslint: 10.0.2(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) @@ -7817,15 +7904,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.56.0': dependencies: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/scope-manager@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.56.0 @@ -7838,8 +7943,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 10.0.2(jiti@2.6.1) + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.56.0': {} + '@typescript-eslint/types@8.56.1': {} + '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) @@ -7855,6 +7974,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3 + minimatch: 10.2.2 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) @@ -7866,11 +8000,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + eslint: 10.0.2(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.56.0': dependencies: '@typescript-eslint/types': 8.56.0 eslint-visitor-keys: 5.0.1 + '@typescript-eslint/visitor-keys@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + eslint-visitor-keys: 5.0.1 + '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -8802,11 +8952,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) eslint: 10.0.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -8858,8 +9008,8 @@ snapshots: '@eslint/eslintrc': 3.3.4 '@eslint/js': 9.39.3 '@github/browserslist-config': 1.0.0 - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) aria-query: 5.3.2 eslint: 10.0.2(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.0.2(jiti@2.6.1)) @@ -8867,7 +9017,7 @@ snapshots: eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-filenames: 1.3.2(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-i18n-text: 1.0.1(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-no-only-tests: 3.3.0 eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1) @@ -8888,7 +9038,7 @@ snapshots: dependencies: eslint: 10.0.2(jiti@2.6.1) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.56.0 comment-parser: 1.4.5 @@ -8901,12 +9051,12 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: '@nolyfill/array-includes@1.0.44' @@ -8917,7 +9067,7 @@ snapshots: doctrine: 2.1.0 eslint: 10.0.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) hasown: '@nolyfill/hasown@1.0.44' is-core-module: '@nolyfill/is-core-module@1.0.39' is-glob: 4.0.3 @@ -8929,7 +9079,7 @@ snapshots: string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44' tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack From a29ee552cd9de7b7c6359807fff2d8cad3504b94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 16:47:49 +0800 Subject: [PATCH 090/259] chore(deps-dev): bump wrangler from 4.67.0 to 4.68.0 (#21220) Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.67.0 to 4.68.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.68.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.68.0 dependency-type: direct:development 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 | 76 +++++++++++++++++++++++++------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 696412a8e82200..0dd229695a4264 100644 --- a/package.json +++ b/package.json @@ -198,7 +198,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.67.0", + "wrangler": "4.68.0", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 683f2157efb4b1..d06e666add0672 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -464,8 +464,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.67.0 - version: 4.67.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + specifier: 4.68.0 + version: 4.68.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -595,32 +595,32 @@ packages: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20260219.0': - resolution: {integrity: sha512-k+xM+swQBQnkrvwobjRPxyeYwjLSludJusR0PqeHe+h6X9QIRGgw3s1AO38lXQsqzMSgG5709oOXSF19NKVVaQ==} + '@cloudflare/workerd-darwin-64@1.20260302.0': + resolution: {integrity: sha512-cGtxPByeVrgoqxbmd8qs631wuGwf8yTm/FY44dEW4HdoXrb5jhlE4oWYHFafedkQCvGjY1Vbs3puAiKnuMxTXQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260219.0': - resolution: {integrity: sha512-EyfQdsG1KcIVAf4qndT00LZly7sLFm1VxMWHBvOFB/EVYF2sE5HZ0dPbe+yrax5p3eS0oLZthR8ynhz4UulMUQ==} + '@cloudflare/workerd-darwin-arm64@1.20260302.0': + resolution: {integrity: sha512-WRGqV6RNXM3xoQblJJw1EHKwx9exyhB18cdnToSCUFPObFhk3fzMLoQh7S+nUHUpto6aUrXPVj6R/4G3UPjCxw==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260219.0': - resolution: {integrity: sha512-N0UHXILYYa6htFO/uC92uAqusvynbSbOcHcrVXMKqP9Jy7eqXGMovyKIrNgzYnKIszNB+0lfUYdGI3Wci07LuA==} + '@cloudflare/workerd-linux-64@1.20260302.0': + resolution: {integrity: sha512-gG423mtUjrmlQT+W2+KisLc6qcGcBLR+QcK5x1gje3bu/dF3oNiYuqY7o58A+sQk6IB849UC4UyNclo1RhP2xw==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260219.0': - resolution: {integrity: sha512-835pjQ9uuAtwPBOAkPf+oxH3mNE5mqWuE3H7hJsul7WZsRD2FDcariyoT2AW6xyOePILrn4uMnmG1KGc9m/8Pg==} + '@cloudflare/workerd-linux-arm64@1.20260302.0': + resolution: {integrity: sha512-7M25noGI4WlSBOhrIaY8xZrnn87OQKtJg9YWAO2EFqGjF1Su5QXGaLlQVF4fAKbqTywbHnI8BAuIsIlUSNkhCg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260219.0': - resolution: {integrity: sha512-i7qcuOsuAxqqn1n5Ar3Rh1dHUL9vNmpF9FcdMTT84jIrdm5UNrPZz5grJthPmpB9LTcreT9iiP6qKbzGjnCwPA==} + '@cloudflare/workerd-windows-64@1.20260302.0': + resolution: {integrity: sha512-jK1L3ADkiWxFzlqZTq2iHW1Bd2Nzu1fmMWCGZw4sMZ2W1B2WCm2wHwO2SX/py4BgylyEN3wuF+5zagbkNKht9A==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4554,8 +4554,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - miniflare@4.20260219.0: - resolution: {integrity: sha512-EIb5wXbWUnnC60XU2aiFOPNd4fgTXzECkwRSOXZ1vdcY9WZaEE9rVf+h+Apw+WkOHRkp3Dr9/ZhQ5y1R+9iZ4Q==} + miniflare@4.20260302.0: + resolution: {integrity: sha512-joGFywlo7HdfHXXGOkc6tDCVkwjEncM0mwEsMOLWcl+vDVJPj9HRV7JtEa0+lCpNOLdYw7mZNHYe12xz9KtJOw==} engines: {node: '>=18.0.0'} hasBin: true @@ -5980,17 +5980,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260219.0: - resolution: {integrity: sha512-l4U4iT5H8jNV6+EK23ExnUV2z6JvqQtQPrT8XCm4G8RpwC9EPpYTOO9s/ImMPJKe1WSbQUQoJ4k8Nd83fz8skQ==} + workerd@1.20260302.0: + resolution: {integrity: sha512-FhNdC8cenMDllI6bTktFgxP5Bn5ZEnGtofgKipY6pW9jtq708D1DeGI6vGad78KQLBGaDwFy1eThjCoLYgFfog==} engines: {node: '>=16'} hasBin: true - wrangler@4.67.0: - resolution: {integrity: sha512-58OoVth7bqm0nqsRgcI67gHbpp0IfR1JIBqDY0XR1FzRu9Qkjn6v2iJAdFf82QcVBFhaMBYQi88WqYGswq5wlQ==} + wrangler@4.68.0: + resolution: {integrity: sha512-DCjl2ZfjwWV10iH4Zn+97isitPkb7BYxpbt4E/Okd/QKLFTp9xdwoa999UN9lugToqPm5Zz/UsRu6hpKZuT8BA==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260219.0 + '@cloudflare/workers-types': ^4.20260302.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -6292,25 +6292,25 @@ snapshots: - supports-color - utf-8-validate - '@cloudflare/unenv-preset@2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260219.0)': + '@cloudflare/unenv-preset@2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260219.0 + workerd: 1.20260302.0 - '@cloudflare/workerd-darwin-64@1.20260219.0': + '@cloudflare/workerd-darwin-64@1.20260302.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260219.0': + '@cloudflare/workerd-darwin-arm64@1.20260302.0': optional: true - '@cloudflare/workerd-linux-64@1.20260219.0': + '@cloudflare/workerd-linux-64@1.20260302.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260219.0': + '@cloudflare/workerd-linux-arm64@1.20260302.0': optional: true - '@cloudflare/workerd-windows-64@1.20260219.0': + '@cloudflare/workerd-windows-64@1.20260302.0': optional: true '@cloudflare/workers-types@4.20260302.0': {} @@ -10362,12 +10362,12 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260219.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): + miniflare@4.20260302.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260219.0 + workerd: 1.20260302.0 ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -11971,24 +11971,24 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260219.0: + workerd@1.20260302.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260219.0 - '@cloudflare/workerd-darwin-arm64': 1.20260219.0 - '@cloudflare/workerd-linux-64': 1.20260219.0 - '@cloudflare/workerd-linux-arm64': 1.20260219.0 - '@cloudflare/workerd-windows-64': 1.20260219.0 + '@cloudflare/workerd-darwin-64': 1.20260302.0 + '@cloudflare/workerd-darwin-arm64': 1.20260302.0 + '@cloudflare/workerd-linux-64': 1.20260302.0 + '@cloudflare/workerd-linux-arm64': 1.20260302.0 + '@cloudflare/workerd-windows-64': 1.20260302.0 - wrangler@4.67.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.68.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260219.0) + '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260219.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + miniflare: 4.20260302.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260219.0 + workerd: 1.20260302.0 optionalDependencies: '@cloudflare/workers-types': 4.20260302.0 fsevents: 2.3.3 From 1ee25a0c52caf3e2ac0f5b2c1a23e01a01646c82 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 17:10:00 +0800 Subject: [PATCH 091/259] chore(deps-dev): bump @cloudflare/workers-types (#21219) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260302.0 to 4.20260303.0. - [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: 4.20260303.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 0dd229695a4264..fabc1e722dd3a3 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260302.0", + "@cloudflare/workers-types": "4.20260303.0", "@eslint/eslintrc": "3.3.4", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d06e666add0672..3a8bae71f3e341 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -305,8 +305,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260302.0 - version: 4.20260302.0 + specifier: 4.20260303.0 + version: 4.20260303.0 '@eslint/eslintrc': specifier: 3.3.4 version: 3.3.4 @@ -465,7 +465,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.68.0 - version: 4.68.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.68.0(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -625,8 +625,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260302.0': - resolution: {integrity: sha512-mbFRnlu1lNCScMpXZk/X/uBPufYx5OSbq+euGonGRcY+DgOwm2kczGdK401rUh52NB0fFMEcOy/zqwxv7CdDNA==} + '@cloudflare/workers-types@4.20260303.0': + resolution: {integrity: sha512-soUlr4NJVkh5dR09RwtziTMbBQ+lbdoEesTGw8WUlvmnQ2M4h7CmJzAjC6a7IivUodiiCSjbLcGV/8PyZpvZkA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6313,7 +6313,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260302.0': optional: true - '@cloudflare/workers-types@4.20260302.0': {} + '@cloudflare/workers-types@4.20260303.0': {} '@colors/colors@1.6.0': {} @@ -11979,7 +11979,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260302.0 '@cloudflare/workerd-windows-64': 1.20260302.0 - wrangler@4.68.0(@cloudflare/workers-types@4.20260302.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.68.0(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) @@ -11990,7 +11990,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260302.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260302.0 + '@cloudflare/workers-types': 4.20260303.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 7d2bd7ced149a8f8cf6a146325c8498de8a3e97d Mon Sep 17 00:00:00 2001 From: occam-7 Date: Wed, 25 Feb 2026 16:07:01 +0800 Subject: [PATCH 092/259] feat(route/bestblogs): Add route for weekly selection (#21226) * feat(route/bestblogs): Add route for weekly selection * fix(route/thepaper): Linebreak style --- lib/routes/bestblogs/newsletter.ts | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 lib/routes/bestblogs/newsletter.ts diff --git a/lib/routes/bestblogs/newsletter.ts b/lib/routes/bestblogs/newsletter.ts new file mode 100644 index 00000000000000..6ed9e2d7f50e38 --- /dev/null +++ b/lib/routes/bestblogs/newsletter.ts @@ -0,0 +1,49 @@ +import type { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/newsletter', + categories: ['programming'], + example: '/bestblogs/newsletter', + parameters: {}, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + name: '精选推送', + maintainers: ['occam-7'], + handler, +}; + +async function handler(ctx) { + const pageSize = Number.parseInt(ctx.req.query('limit') ?? '10', 10); + + const response = await ofetch('https://api.bestblogs.dev/api/newsletter/list', { + method: 'POST', + body: { + currentPage: 1, + pageSize, + userLanguage: 'zh', + }, + }); + + const list = response.data?.dataList ?? []; + + const items = list.map((item) => ({ + title: item.title, + link: `https://www.bestblogs.dev/newsletter/${item.id}`, + description: item.summary, + pubDate: parseDate(item.createdTimestamp), + })); + + return { + title: 'Bestblogs.dev - 精选推送', + link: 'https://www.bestblogs.dev/newsletter', + item: items, + }; +} From 067c043d5c5bb3f8932fa274dcabe2ebd88fe657 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 08:09:22 +0000 Subject: [PATCH 093/259] chore(deps): bump @scalar/hono-api-reference from 0.9.44 to 0.9.45 (#21229) Bumps [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) from 0.9.44 to 0.9.45. - [Release notes](https://github.com/scalar/scalar/releases) - [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md) - [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono) --- updated-dependencies: - dependency-name: "@scalar/hono-api-reference" dependency-version: 0.9.45 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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index fabc1e722dd3a3..afb50a1f9d8f5e 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", - "@scalar/hono-api-reference": "0.9.44", + "@scalar/hono-api-reference": "0.9.45", "@sentry/node": "10.39.0", "aes-js": "3.1.2", "cheerio": "1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3a8bae71f3e341..4a5d3bc49b3f56 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,8 +85,8 @@ importers: specifier: 0.0.25 version: 0.0.25 '@scalar/hono-api-reference': - specifier: 0.9.44 - version: 0.9.44(hono@4.12.2) + specifier: 0.9.45 + version: 0.9.45(hono@4.12.2) '@sentry/node': specifier: 10.39.0 version: 10.39.0 @@ -2043,22 +2043,22 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@scalar/core@0.3.41': - resolution: {integrity: sha512-IPgiHOSGBDfBcJELbev0lo+ZHc8Q/vA82neX0Ax1iHNGtf/munH+qN5I+p9rGRS60IRQAwABlUo31Y3Gw1c0EA==} + '@scalar/core@0.3.42': + resolution: {integrity: sha512-RbyooMuG4oQEOhiA/tC+++bkIK1zeYGNxrTzSAgTrTzVlbFKPzw72fs4gX9/eHDo7qVc9FsymIW6qVpWbySzNg==} engines: {node: '>=20'} - '@scalar/helpers@0.2.15': - resolution: {integrity: sha512-hMHXejGFVOS4HwCo7C2qddChuvMJs3sEOALo7gNOvwLS4dGLrW8flbSglDki4ttyremlKQstP5WJuPxmHQU3sA==} + '@scalar/helpers@0.2.16': + resolution: {integrity: sha512-JlDUKdmwAHdcFUdTngNtx/uhLKTBACXlgvri7iKb6Jx6ImRIBgHwxZNAqlil1L047+QBrKh97lnezNpzNQAffQ==} engines: {node: '>=20'} - '@scalar/hono-api-reference@0.9.44': - resolution: {integrity: sha512-NusQ3S/LYKmEMOwc5kbKi6Can1b0iHTL/145CxfT5klEXtazhzdiXtYNiPNS99vGYKjub7+oaFR/HXJz4y/w2w==} + '@scalar/hono-api-reference@0.9.45': + resolution: {integrity: sha512-RH275yhbKlON6N1KgJUCiLIixw0Bd77Dp/6IuYQ6UhIboyq6c4EuSegRLJrb3XpP57+MNKuetYvAljDp8alHpQ==} engines: {node: '>=20'} peerDependencies: hono: ^4.11.5 - '@scalar/types@0.6.6': - resolution: {integrity: sha512-nr3m23p5MnGy4Wb4JFT7aA+jzvYSs/AS40NUEoQMBE1IwtuvG5gtLL0uu6kWpDq4UAfrWGntlAQNX7G8X9D4sg==} + '@scalar/types@0.6.7': + resolution: {integrity: sha512-ihHaoPF9qQR05pV3mfE7yBlHQdm5CoJVE0HiJFH6xSrzLfk2yJ6XdD3OzyRCqyxkZ38bj2RIZMS6LJsGy4p66g==} engines: {node: '>=20'} '@scure/base@2.0.0': @@ -7540,20 +7540,20 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@scalar/core@0.3.41': + '@scalar/core@0.3.42': dependencies: - '@scalar/types': 0.6.6 + '@scalar/types': 0.6.7 - '@scalar/helpers@0.2.15': {} + '@scalar/helpers@0.2.16': {} - '@scalar/hono-api-reference@0.9.44(hono@4.12.2)': + '@scalar/hono-api-reference@0.9.45(hono@4.12.2)': dependencies: - '@scalar/core': 0.3.41 + '@scalar/core': 0.3.42 hono: 4.12.2 - '@scalar/types@0.6.6': + '@scalar/types@0.6.7': dependencies: - '@scalar/helpers': 0.2.15 + '@scalar/helpers': 0.2.16 nanoid: 5.1.6 type-fest: 5.4.4 zod: 4.3.6 From 414a4e676700a7556cf5090f5d6d265bb0906a81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 08:22:06 +0000 Subject: [PATCH 094/259] chore(deps-dev): bump wrangler from 4.68.0 to 4.68.1 (#21231) Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.68.0 to 4.68.1. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.68.1/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.68.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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index afb50a1f9d8f5e..0420726caa2c86 100644 --- a/package.json +++ b/package.json @@ -198,7 +198,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.68.0", + "wrangler": "4.68.1", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a5d3bc49b3f56..19413fbfe5bf86 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -464,8 +464,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.68.0 - version: 4.68.0(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + specifier: 4.68.1 + version: 4.68.1(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -5985,8 +5985,8 @@ packages: engines: {node: '>=16'} hasBin: true - wrangler@4.68.0: - resolution: {integrity: sha512-DCjl2ZfjwWV10iH4Zn+97isitPkb7BYxpbt4E/Okd/QKLFTp9xdwoa999UN9lugToqPm5Zz/UsRu6hpKZuT8BA==} + wrangler@4.68.1: + resolution: {integrity: sha512-G+TI3k/olEGBAVkPtUlhAX/DIbL/190fv3aK+r+45/wPclNEymjxCc35T8QGTDhc2fEMXiw51L5bH9aNsBg+yQ==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: @@ -11979,7 +11979,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260302.0 '@cloudflare/workerd-windows-64': 1.20260302.0 - wrangler@4.68.0(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.68.1(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) From c2e63391eb0795307bf089a15c553eca86b7547c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 16:42:56 +0800 Subject: [PATCH 095/259] chore(deps-dev): bump @cloudflare/workers-types (#21230) Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260303.0 to 4.20260304.0. - [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: 4.20260304.0 dependency-type: direct:development 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 0420726caa2c86..e0f907cd318a88 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260303.0", + "@cloudflare/workers-types": "4.20260304.0", "@eslint/eslintrc": "3.3.4", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19413fbfe5bf86..6ca2f14f2150d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -305,8 +305,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260303.0 - version: 4.20260303.0 + specifier: 4.20260304.0 + version: 4.20260304.0 '@eslint/eslintrc': specifier: 3.3.4 version: 3.3.4 @@ -465,7 +465,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.68.1 - version: 4.68.1(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.68.1(@cloudflare/workers-types@4.20260304.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -625,8 +625,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260303.0': - resolution: {integrity: sha512-soUlr4NJVkh5dR09RwtziTMbBQ+lbdoEesTGw8WUlvmnQ2M4h7CmJzAjC6a7IivUodiiCSjbLcGV/8PyZpvZkA==} + '@cloudflare/workers-types@4.20260304.0': + resolution: {integrity: sha512-oQ0QJpWnCWK9tx5q/ZHQeSsf5EcQWa4KqdDMY/R5Ln0ojFzv6UYO0RWsfDPsoXUAwK671VwaXqAW0Mx0uWz7yw==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6313,7 +6313,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260302.0': optional: true - '@cloudflare/workers-types@4.20260303.0': {} + '@cloudflare/workers-types@4.20260304.0': {} '@colors/colors@1.6.0': {} @@ -11979,7 +11979,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260302.0 '@cloudflare/workerd-windows-64': 1.20260302.0 - wrangler@4.68.1(@cloudflare/workers-types@4.20260303.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.68.1(@cloudflare/workers-types@4.20260304.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) @@ -11990,7 +11990,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260302.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260303.0 + '@cloudflare/workers-types': 4.20260304.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From 3e5ccab5a938be6b24d158f241e6a92d5a53f6f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 08:50:00 +0000 Subject: [PATCH 096/259] chore(deps): bump @sentry/node from 10.39.0 to 10.40.0 (#21232) Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 10.39.0 to 10.40.0. - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/10.39.0...10.40.0) --- updated-dependencies: - dependency-name: "@sentry/node" dependency-version: 10.40.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 | 117 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 77 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index e0f907cd318a88..a6817437de7dad 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", "@scalar/hono-api-reference": "0.9.45", - "@sentry/node": "10.39.0", + "@sentry/node": "10.40.0", "aes-js": "3.1.2", "cheerio": "1.2.0", "city-timezones": "1.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ca2f14f2150d1..dda47e4e8006c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,8 +88,8 @@ importers: specifier: 0.9.45 version: 0.9.45(hono@4.12.2) '@sentry/node': - specifier: 10.39.0 - version: 10.39.0 + specifier: 10.40.0 + version: 10.40.0 aes-js: specifier: 3.1.2 version: 3.1.2 @@ -472,12 +472,6 @@ importers: packages: - '@apm-js-collab/code-transformer@0.8.2': - resolution: {integrity: sha512-YRjJjNq5KFSjDUoqu5pFUWrrsvGOxl6c3bu+uMFc9HNNptZ2rNU/TI2nLw4jnhQNtka972Ee2m3uqbvDQtPeCA==} - - '@apm-js-collab/tracing-hooks@0.3.1': - resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==} - '@asamuzakjp/css-color@4.1.2': resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==} @@ -901,6 +895,11 @@ packages: resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@fastify/otel@0.16.0': + resolution: {integrity: sha512-2304BdM5Q/kUvQC9qJO1KZq3Zn1WWsw+WWkVmFEaj1UE2hEIiuFqrPeglQOwEtw/ftngisqfQ3v70TWMmwhhHA==} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@github/browserslist-config@1.0.0': resolution: {integrity: sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==} @@ -1330,6 +1329,10 @@ packages: resolution: {integrity: sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==} engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.208.0': + resolution: {integrity: sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.211.0': resolution: {integrity: sha512-swFdZq8MCdmdR22jTVGQDhwqDzcI4M10nhjXkLr1EsIzXgZBqm4ZlmmcWsg3TSNf+3mzgOiqveXmBLZuDi2Lgg==} engines: {node: '>=8.0.0'} @@ -1510,6 +1513,12 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.208.0': + resolution: {integrity: sha512-Eju0L4qWcQS+oXxi6pgh7zvE2byogAkcsVv0OjHF/97iOz1N/aKE6etSGowYkie+YA1uo6DNwdSxaaNnLvcRlA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.211.0': resolution: {integrity: sha512-h0nrZEC/zvI994nhg7EgQ8URIHt0uDTwN90r3qQUdZORS455bbx+YebnGeEuFghUT0HlJSrLF4iHw67f+odY+Q==} engines: {node: ^18.19.0 || >=20.6.0} @@ -2070,12 +2079,12 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry/core@10.39.0': - resolution: {integrity: sha512-xCLip2mBwCdRrvXHtVEULX0NffUTYZZBhEUGht0WFL+GNdNQ7gmBOGOczhZlrf2hgFFtDO0fs1xiP9bqq5orEQ==} + '@sentry/core@10.40.0': + resolution: {integrity: sha512-/wrcHPp9Avmgl6WBimPjS4gj810a1wU5oX9fF1bzJfeIIbF3jTsAbv0oMbgDp0cSDnkwv2+NvcPnn3+c5J6pBA==} engines: {node: '>=18'} - '@sentry/node-core@10.39.0': - resolution: {integrity: sha512-xdeBG00TmtAcGvXnZNbqOCvnZ5kY3s5aT/L8wUQ0w0TT2KmrC9XL/7UHUfJ45TLbjl10kZOtaMQXgUjpwSJW+g==} + '@sentry/node-core@10.40.0': + resolution: {integrity: sha512-ciZGOF54rJH9Fkg7V3v4gmWVufnJRqQQOrn0KStuo49vfPQAJLGePDx+crQv0iNVoLc6Hmrr6E7ebNHSb4NSAw==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -2101,12 +2110,12 @@ packages: '@opentelemetry/semantic-conventions': optional: true - '@sentry/node@10.39.0': - resolution: {integrity: sha512-dx66DtU/xkCTPEDsjU+mYSIEbzu06pzKNQcDA2wvx7wvwsUciZ5yA32Ce/o6p2uHHgy0/joJX9rP5J/BIijaOA==} + '@sentry/node@10.40.0': + resolution: {integrity: sha512-HQETLoNZTUUM8PBxFPT4X0qepzk5NcyWg3jyKUmF7Hh/19KSJItBXXZXxx+8l3PC2eASXUn70utXi65PoXEHWA==} engines: {node: '>=18'} - '@sentry/opentelemetry@10.39.0': - resolution: {integrity: sha512-eU8t/pyxjy7xYt6PNCVxT+8SJw5E3pnupdcUNN4ClqG4O5lX4QCDLtId48ki7i30VqrLtR7vmCHMSvqXXdvXPA==} + '@sentry/opentelemetry@10.40.0': + resolution: {integrity: sha512-Zx6T258qlEhQfdghIlazSTbK7uRO0pXWw4/4/VPR8pMOiRPh8dAoJg8AB0L55PYPMpVdXxNf7L9X0EZoDYibJw==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -4563,6 +4572,10 @@ packages: resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.3: + resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.3: resolution: {integrity: sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==} @@ -4574,6 +4587,10 @@ packages: resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.7: + resolution: {integrity: sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -6145,16 +6162,6 @@ packages: snapshots: - '@apm-js-collab/code-transformer@0.8.2': {} - - '@apm-js-collab/tracing-hooks@0.3.1': - dependencies: - '@apm-js-collab/code-transformer': 0.8.2 - debug: 4.4.3 - module-details-from-path: 1.0.4 - transitivePeerDependencies: - - supports-color - '@asamuzakjp/css-color@4.1.2': dependencies: '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) @@ -6507,6 +6514,16 @@ snapshots: '@eslint/core': 1.1.0 levn: 0.4.1 + '@fastify/otel@0.16.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 + minimatch: 10.2.3 + transitivePeerDependencies: + - supports-color + '@github/browserslist-config@1.0.0': {} '@hono/node-server@1.19.9(hono@4.12.2)': @@ -6886,6 +6903,10 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.208.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.211.0': dependencies: '@opentelemetry/api': 1.9.0 @@ -7127,6 +7148,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.208.0 + import-in-the-middle: 2.0.6 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -7567,13 +7597,12 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry/core@10.39.0': {} + '@sentry/core@10.40.0': {} - '@sentry/node-core@10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/node-core@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: - '@apm-js-collab/tracing-hooks': 0.3.1 - '@sentry/core': 10.39.0 - '@sentry/opentelemetry': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/core': 10.40.0 + '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -7583,11 +7612,10 @@ snapshots: '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - transitivePeerDependencies: - - supports-color - '@sentry/node@10.39.0': + '@sentry/node@10.40.0': dependencies: + '@fastify/otel': 0.16.0(@opentelemetry/api@1.9.0) '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) @@ -7618,22 +7646,21 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) - '@sentry/core': 10.39.0 - '@sentry/node-core': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - '@sentry/opentelemetry': 10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/core': 10.40.0 + '@sentry/node-core': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) import-in-the-middle: 2.0.6 - minimatch: 9.0.6 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@10.39.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/opentelemetry@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - '@sentry/core': 10.39.0 + '@sentry/core': 10.40.0 '@sindresorhus/is@4.6.0': {} @@ -7966,7 +7993,7 @@ snapshots: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - minimatch: 9.0.6 + minimatch: 9.0.7 semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -10378,6 +10405,10 @@ snapshots: dependencies: brace-expansion: 5.0.3 + minimatch@10.2.3: + dependencies: + brace-expansion: 5.0.3 + minimatch@3.1.3: dependencies: brace-expansion: 1.1.12 @@ -10390,6 +10421,10 @@ snapshots: dependencies: brace-expansion: 5.0.3 + minimatch@9.0.7: + dependencies: + brace-expansion: 5.0.3 + minimist@1.2.8: {} minipass@7.1.3: {} From b93bb08cd47aaed0a9573103a212e503c0034e90 Mon Sep 17 00:00:00 2001 From: Tony Date: Wed, 25 Feb 2026 20:21:09 +0800 Subject: [PATCH 097/259] chore(dependabot): merge cloudflare and oxc dependencies --- .github/dependabot.yml | 10 ++++++++++ .github/workflows/lint.yml | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d03e95954a1a71..5962eb5456c2ba 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -23,6 +23,10 @@ updates: - dependency-name: jsdom versions: ['>=27.0.1'] groups: + cloudflare: + patterns: + - '@cloudflare/*' + - 'wrangler' eslint: patterns: - 'eslint' @@ -30,6 +34,12 @@ updates: opentelemetry: patterns: - '@opentelemetry/*' + oxc: + patterns: + - '@oxlint/*' + - 'oxfmt' + - 'oxlint' + - 'oxlint-tsgolint' typescript-eslint: patterns: - '@typescript-eslint/*' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 42a5d5305e3e07..51359fdcd0965c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -42,6 +42,10 @@ jobs: with: sarif_file: eslint-results.sarif wait-for-processing: true + - name: Upload Artifact + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + with: + path: eslint-results.sarif # https://github.com/amannn/action-semantic-pull-request title-lint: From b11b9e727aa334c5c59666be0b00545f0e9f3155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Summer=E2=9B=B1?= <57806936+honue@users.noreply.github.com> Date: Wed, 25 Feb 2026 20:48:40 +0800 Subject: [PATCH 098/259] =?UTF-8?q?feat(route):=20=E8=B1=86=E7=93=A3?= =?UTF-8?q?=E5=8D=B3=E5=B0=86=E6=92=AD=E5=87=BA=E7=9A=84=E5=89=A7=E9=9B=86?= =?UTF-8?q?=20(#21214)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(route): 豆瓣即将播出的剧集 * fix: 增加反爬/限频错误处理 * fix(route): address review feedback for douban tv coming route - switch route config from query params to path params (:sortBy/:count) - replace globalThis.crypto with node:crypto webcrypto - use config.cache.routeExpire instead of hardcoded cache ttl - normalize naming to camelCase (sortBy/requestCount) - replace newline rendering with HTML
    in description - simplify renderDescription without array join * Apply suggestion from TonyRL --------- --- lib/routes/douban/tv/coming.ts | 228 +++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 lib/routes/douban/tv/coming.ts diff --git a/lib/routes/douban/tv/coming.ts b/lib/routes/douban/tv/coming.ts new file mode 100644 index 00000000000000..493606ae707d7e --- /dev/null +++ b/lib/routes/douban/tv/coming.ts @@ -0,0 +1,228 @@ +import { webcrypto } from 'node:crypto'; + +import { config } from '@/config'; +import type { Route } from '@/types'; +import cache from '@/utils/cache'; +import got from '@/utils/got'; +import { parseDate } from '@/utils/parse-date'; + +const apiUrl = 'https://frodo.douban.com/api/v2/tv/coming_soon'; +const apiKey = '0dad551ec0f84ed02907ff5c42e8ec70'; +const apiSecret = 'bf7dddc7c9cfe6f7'; +const apiClientUa = 'api-client/1 com.douban.frodo/7.22.0.beta9(231) Android/23 product/Mate 40 vendor/HUAWEI model/Mate 40 brand/HUAWEI rom/android network/wifi platform/AndroidPad'; + +type ComingSoonSubject = { + id: string; + title: string; + url?: string; + sharing_url?: string; + pubdate?: string[]; + wish_count?: number | string; + card_subtitle?: string; + intro?: string; + genres?: string[]; + cover_url?: string; + pic?: { + large?: string; + }; +}; + +type ComingSoonResponse = { + count?: number; + start?: number; + total?: number; + subjects?: ComingSoonSubject[]; + msg?: string; + message?: string; + reason?: string; +}; + +const signRequest = async (url: string, ts: string, method = 'GET'): Promise => { + const urlPath = new URL(url).pathname; + const rawSign = `${method.toUpperCase()}&${encodeURIComponent(urlPath)}&${ts}`; + const keyData = new TextEncoder().encode(apiSecret); + const messageData = new TextEncoder().encode(rawSign); + const key = await webcrypto.subtle.importKey('raw', keyData, { name: 'HMAC', hash: 'SHA-1' }, false, ['sign']); + const signature = await webcrypto.subtle.sign('HMAC', key, messageData); + return Buffer.from(signature).toString('base64'); +}; + +const getPubDateText = (pubdate?: string[]): string | undefined => pubdate?.[0]; + +const getPubDate = (pubdate?: string[]): Date | undefined => { + const pubDateText = getPubDateText(pubdate); + if (!pubDateText) { + return undefined; + } + + const datePart = pubDateText.split('(')[0]; + return parseDate(datePart); +}; + +const getSortTimestamp = (pubdate?: string[]): number => { + const pubDateText = getPubDateText(pubdate); + if (!pubDateText) { + return Number.POSITIVE_INFINITY; + } + + const datePart = pubDateText.split('(')[0].trim(); + const match = /^(\d{4})(?:-(\d{1,2}))?(?:-(\d{1,2}))?/.exec(datePart); + if (!match) { + return Number.POSITIVE_INFINITY; + } + + const year = Number.parseInt(match[1], 10); + const month = match[2] ? Number.parseInt(match[2], 10) : 1; + const day = match[3] ? Number.parseInt(match[3], 10) : 1; + const timestamp = Date.UTC(year, month - 1, day); + return Number.isNaN(timestamp) ? Number.POSITIVE_INFINITY : timestamp; +}; + +const getWishCount = (wishCount?: number | string): number => { + if (typeof wishCount === 'number') { + return wishCount; + } + if (typeof wishCount === 'string') { + const parsed = Number.parseInt(wishCount, 10); + return Number.isNaN(parsed) ? 0 : parsed; + } + return 0; +}; + +const renderDescription = (subject: { intro?: string; wish_count?: number | string }): string => { + const wishCount = getWishCount(subject.wish_count); + const wishCountText = wishCount > 0 ? `想看人数:${wishCount}` : ''; + const introText = subject.intro ?? ''; + if (wishCountText && introText) { + return `${wishCountText},${introText}`; + } + return wishCountText || introText; +}; + +const buildFetchError = (error: unknown): Error => { + const status = (error as { response?: { status?: number } })?.response?.status; + if (status === 429) { + return new Error('Douban 请求过于频繁(429)。请稍后重试,或降低请求频率。'); + } + if (status === 403) { + return new Error('Douban 拒绝访问(403),可能触发反爬策略。请稍后重试。'); + } + return new Error('Douban 数据请求失败,可能触发反爬或限频,请稍后重试。'); +}; + +export const route: Route = { + path: '/tv/coming/:sortBy?/:count?', + categories: ['social-media'], + example: '/douban/tv/coming', + parameters: { + sortBy: '排序方式,可选,支持 `hot` 或 `time`,默认 `hot`', + count: '请求上游返回数量,可选,正整数,默认 `10`', + }, + features: { + requireConfig: false, + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + name: '即将播出的剧集', + maintainers: ['honue'], + handler, + description: `| 路径参数 | 含义 | 接受的值 | 默认值 | +| -------- | ---------------- | -------- | ------ | +| sortBy | 排序方式 | hot/time | hot | +| count | 请求上游返回数量 | 正整数 | 10 | + + 用例:\`/douban/tv/coming/hot/10\` + +::: tip + 服务端请求固定使用 \`sortby=hot\` 拉取数据,再按 \`sortBy\` 参数在本地重排;条目数量可通过 \`count\` 调整,仍可叠加 RSSHub 通用参数 \`limit\`。 +:::`, +}; + +async function handler(ctx) { + const sortByParam = ctx.req.param('sortBy'); + const countParam = ctx.req.param('count'); + + const sortBy = sortByParam === 'time' ? 'time' : 'hot'; + const rawCount = Number.parseInt(countParam || '', 10); + const requestCount = Number.isNaN(rawCount) || rawCount <= 0 ? 10 : rawCount; + + const ts = new Date().toISOString().slice(0, 10).replaceAll('-', ''); + const searchParams: Record = { + start: 0, + count: requestCount, + sortby: 'hot', + os_rom: 'android', + apiKey, + _ts: ts, + _sig: await signRequest(apiUrl, ts), + }; + + const cacheKey = `douban:tv:coming:${requestCount}`; + const data = (await cache.tryGet( + cacheKey, + async () => { + try { + const response = await got({ + method: 'get', + url: apiUrl, + searchParams, + headers: { + Accept: 'application/json', + 'User-Agent': apiClientUa, + }, + }); + return response.data as ComingSoonResponse; + } catch (error) { + throw buildFetchError(error); + } + }, + config.cache.routeExpire, + false + )) as ComingSoonResponse; + + if (!Array.isArray(data.subjects)) { + const details = data.msg || data.message || data.reason; + throw new Error(`Douban 返回数据结构异常,可能触发反爬或限频。${details ? `上游信息:${details}` : ''}`); + } + if (data.subjects.length === 0) { + throw new Error('Douban 返回空数据,可能触发反爬或限频。请稍后重试。'); + } + + const subscriptionCount = data.count ?? 0; + const total = data.total ?? 0; + const sortedSubjects = data.subjects.toSorted((a, b) => { + if (sortBy === 'time') { + const timeDiff = getSortTimestamp(a.pubdate) - getSortTimestamp(b.pubdate); + if (timeDiff !== 0) { + return timeDiff; + } + return getWishCount(b.wish_count) - getWishCount(a.wish_count); + } + const wishDiff = getWishCount(b.wish_count) - getWishCount(a.wish_count); + if (wishDiff !== 0) { + return wishDiff; + } + return 0; + }); + return { + title: '豆瓣剧集-即将播出', + link: 'https://movie.douban.com/tv/', + description: `即将播出的剧集,请求参数: count=${subscriptionCount}, total=${total}, sortBy=${sortBy}, requestCount=${requestCount}`, + item: sortedSubjects.map((subject) => { + const link = subject.url || subject.sharing_url || `https://movie.douban.com/subject/${subject.id}/`; + const category = subject.card_subtitle ? [subject.card_subtitle] : (subject.genres ?? []); + const pubDate = sortBy === 'time' ? getPubDate(subject.pubdate) : undefined; + return { + title: subject.title, + category: category.length > 0 ? category : undefined, + pubDate, + description: renderDescription(subject), + link, + guid: link, + }; + }), + }; +} From 79c8adcca7a3a795189f42c84176947b3f1f0618 Mon Sep 17 00:00:00 2001 From: Mervyn Zhan <6359152+reply2future@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:09:48 +0800 Subject: [PATCH 099/259] fix(route/bbc): deal with the mixed bbc news data (#21228) * fix(route/bbc): deal with the mixed bbc news data fix #21227 * Update lib/routes/bbc/utils.tsx Co-authored-by: Tony --------- --- lib/routes/bbc/utils.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/routes/bbc/utils.tsx b/lib/routes/bbc/utils.tsx index 266eb6d6bde49e..abfd5d3bc27246 100644 --- a/lib/routes/bbc/utils.tsx +++ b/lib/routes/bbc/utils.tsx @@ -355,20 +355,26 @@ export const extractInitialData = ($: CheerioAPI): any => { const initialDataText = JSON.parse( $('script:contains("window.__INITIAL_DATA__")') .text() - .match(/window\.__INITIAL_DATA__\s*=\s*(.*);/)?.[1] ?? '{}' + .match(/window\.__INITIAL_DATA__\s*=\s*(.*);/)?.[1] ?? '"{}"' ); return JSON.parse(initialDataText); }; const extractArticleWithInitialData = ($: CheerioAPI, item) => { - if (item.link.includes('/live/') || item.link.includes('/videos/') || item.link.includes('/extra/')) { + if (item.link.includes('/live/') || item.link.includes('/videos/') || item.link.includes('/extra/') || item.link.includes('/sounds/play/')) { return { description: item.content, }; } const initialData = extractInitialData($); + if (!initialData || !initialData.data) { + return { + description: item.content, + }; + } + const article = Object.values(initialData.data).find((d) => d.name === 'article')?.data; const topics = Array.isArray(article?.topics) ? article.topics : []; const blocks = article?.content?.model?.blocks; From 9cb29513b43c4ed36d5ef9b58bbae7bf26a96e7b Mon Sep 17 00:00:00 2001 From: 9k001 <63529476+9k001@users.noreply.github.com> Date: Thu, 26 Feb 2026 00:52:06 +0800 Subject: [PATCH 100/259] fix(route/zhihu): enable processImage for people/answers to fix lazy-loaded images (#18671) (#21153) --- lib/routes/zhihu/answers.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/routes/zhihu/answers.ts b/lib/routes/zhihu/answers.ts index dbf7d68a888206..cf32c96c147533 100644 --- a/lib/routes/zhihu/answers.ts +++ b/lib/routes/zhihu/answers.ts @@ -1,8 +1,7 @@ import type { Route } from '@/types'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; - -import { getSignedHeader, header } from './utils'; +import { getSignedHeader, header, processImage } from './utils'; export const route: Route = { path: '/people/answers/:id', @@ -53,10 +52,9 @@ async function handler(ctx) { const data = response.data.data; const items = data.map((item) => { const title = item.question.title; - // let description = processImage(detail.content); const url = `https://www.zhihu.com/question/${item.question.id}/answer/${item.id}`; const author = item.author.name; - const description = item.content; + const description = processImage(item.content); return { title, From e21e74addcc71c701c1dd17a204057799a69d8d4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 16:54:10 +0000 Subject: [PATCH 101/259] style: auto format --- lib/routes/zhihu/answers.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/routes/zhihu/answers.ts b/lib/routes/zhihu/answers.ts index cf32c96c147533..b55fea07952333 100644 --- a/lib/routes/zhihu/answers.ts +++ b/lib/routes/zhihu/answers.ts @@ -1,6 +1,7 @@ import type { Route } from '@/types'; import got from '@/utils/got'; import { parseDate } from '@/utils/parse-date'; + import { getSignedHeader, header, processImage } from './utils'; export const route: Route = { From 84c944bdaf1ec6485b972bcaff9591f739bcba58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 21:07:44 +0800 Subject: [PATCH 102/259] chore(deps-dev): bump @cloudflare/workers-types in the cloudflare group (#21233) Bumps the cloudflare group with 1 update: [@cloudflare/workers-types](https://github.com/cloudflare/workerd). Updates `@cloudflare/workers-types` from 4.20260304.0 to 4.20260305.0 - [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: 4.20260305.0 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index a6817437de7dad..c60a8ac0fbe8f2 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@bbob/types": "4.3.1", "@cloudflare/containers": "0.1.0", "@cloudflare/puppeteer": "1.0.6", - "@cloudflare/workers-types": "4.20260304.0", + "@cloudflare/workers-types": "4.20260305.0", "@eslint/eslintrc": "3.3.4", "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dda47e4e8006c2..ab1191adf48f74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -305,8 +305,8 @@ importers: specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) '@cloudflare/workers-types': - specifier: 4.20260304.0 - version: 4.20260304.0 + specifier: 4.20260305.0 + version: 4.20260305.0 '@eslint/eslintrc': specifier: 3.3.4 version: 3.3.4 @@ -465,7 +465,7 @@ importers: version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.68.1 - version: 4.68.1(@cloudflare/workers-types@4.20260304.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + version: 4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -619,8 +619,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260304.0': - resolution: {integrity: sha512-oQ0QJpWnCWK9tx5q/ZHQeSsf5EcQWa4KqdDMY/R5Ln0ojFzv6UYO0RWsfDPsoXUAwK671VwaXqAW0Mx0uWz7yw==} + '@cloudflare/workers-types@4.20260305.0': + resolution: {integrity: sha512-sCgPFnQ03SVpC2OVW8wysONLZW/A8hlp9Mq2ckG/h1oId4kr9NawA6vUiOmOjCWRn2hIohejBYVQ+Vu20rCdKA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -6320,7 +6320,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260302.0': optional: true - '@cloudflare/workers-types@4.20260304.0': {} + '@cloudflare/workers-types@4.20260305.0': {} '@colors/colors@1.6.0': {} @@ -12014,7 +12014,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260302.0 '@cloudflare/workerd-windows-64': 1.20260302.0 - wrangler@4.68.1(@cloudflare/workers-types@4.20260304.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) @@ -12025,7 +12025,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260302.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260304.0 + '@cloudflare/workers-types': 4.20260305.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From c489b2949a729520893af51521f6630df22172e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 21:17:09 +0800 Subject: [PATCH 103/259] chore(deps-dev): bump @types/node from 25.3.0 to 25.3.1 (#21236) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.3.0 to 25.3.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.3.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 | 124 ++++++++++++++++++++++++------------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index c60a8ac0fbe8f2..7162ef3f6e58c0 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "@types/mailparser": "3.4.6", "@types/markdown-it": "14.1.2", "@types/module-alias": "2.0.4", - "@types/node": "25.3.0", + "@types/node": "25.3.1", "@types/sanitize-html": "2.16.0", "@types/supertest": "6.0.3", "@typescript-eslint/eslint-plugin": "8.56.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab1191adf48f74..ab9d854c3456f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -359,8 +359,8 @@ importers: specifier: 2.0.4 version: 2.0.4 '@types/node': - specifier: 25.3.0 - version: 25.3.0 + specifier: 25.3.1 + version: 25.3.1 '@types/sanitize-html': specifier: 2.16.0 version: 2.16.0 @@ -378,7 +378,7 @@ importers: version: 1.3.2(rollup@4.59.0) '@vitest/coverage-v8': specifier: 4.0.9 - version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) + version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: specifier: 0.38.40 version: 0.38.40 @@ -390,7 +390,7 @@ importers: version: 10.0.2(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.3.0)(eslint@10.0.2(jiti@2.6.1)) + version: 9.1.1(@types/node@25.3.1)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-github: specifier: 6.0.0 version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)) @@ -459,10 +459,10 @@ importers: version: 11.0.5 vite-tsconfig-paths: specifier: 6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.9 - version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.68.1 version: 4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -2267,11 +2267,11 @@ packages: '@types/mysql@2.15.27': resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} - '@types/node@22.19.11': - resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} + '@types/node@22.19.12': + resolution: {integrity: sha512-0QEp0aPJYSyf6RrTjDB7HlKgNMTY+V2C7ESTaVt6G9gQ0rPLzTGz7OF2NXTLR5vcy7HJEtIUsyWLsfX0kTqJBA==} - '@types/node@25.3.0': - resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} + '@types/node@25.3.1': + resolution: {integrity: sha512-hj9YIJimBCipHVfHKRMnvmHg+wfhKc0o4mTtXh9pKBjC8TLJzz0nzGmLi5UJsYAUgSvXFHgb0V2oY10DUFtImw==} '@types/pg-pool@2.0.7': resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} @@ -6652,47 +6652,47 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@25.3.0)': + '@inquirer/checkbox@4.3.2(@types/node@25.3.1)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/core': 10.3.2(@types/node@25.3.1) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.1) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.21(@types/node@25.3.0)': + '@inquirer/confirm@5.1.21(@types/node@25.3.1)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.3.0) - '@inquirer/type': 3.0.10(@types/node@25.3.0) + '@inquirer/core': 10.3.2(@types/node@25.3.1) + '@inquirer/type': 3.0.10(@types/node@25.3.1) optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 - '@inquirer/core@10.3.2(@types/node@25.3.0)': + '@inquirer/core@10.3.2(@types/node@25.3.1)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.1) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@inquirer/core@9.2.1': dependencies: '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.19.11 + '@types/node': 22.19.12 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -6704,15 +6704,15 @@ snapshots: '@inquirer/figures@1.0.15': {} - '@inquirer/select@4.4.2(@types/node@25.3.0)': + '@inquirer/select@4.4.2(@types/node@25.3.1)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.3.0) + '@inquirer/core': 10.3.2(@types/node@25.3.1) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.0) + '@inquirer/type': 3.0.10(@types/node@25.3.1) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@inquirer/type@1.5.5': dependencies: @@ -6722,9 +6722,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@25.3.0)': + '@inquirer/type@3.0.10(@types/node@25.3.1)': optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@ioredis/commands@1.5.0': {} @@ -7711,7 +7711,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/cookie@0.6.0': {} @@ -7736,12 +7736,12 @@ snapshots: '@types/etag@1.8.4': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/html-to-text@9.0.4': {} @@ -7751,7 +7751,7 @@ snapshots: '@types/jsdom@27.0.0': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -7765,7 +7765,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/jsrsasign@10.5.15': {} @@ -7773,7 +7773,7 @@ snapshots: '@types/mailparser@3.4.6': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 iconv-lite: 0.6.3 '@types/markdown-it@14.1.2': @@ -7795,17 +7795,17 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/mysql@2.15.27': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 - '@types/node@22.19.11': + '@types/node@22.19.12': dependencies: undici-types: 6.21.0 - '@types/node@25.3.0': + '@types/node@25.3.1': dependencies: undici-types: 7.18.2 @@ -7815,7 +7815,7 @@ snapshots: '@types/pg@8.15.6': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 pg-protocol: 1.11.0 pg-types: 2.2.0 @@ -7827,7 +7827,7 @@ snapshots: '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/tough-cookie': 4.0.5 form-data: 2.5.5 @@ -7841,7 +7841,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 25.3.0 + '@types/node': 25.3.1 form-data: 4.0.5 '@types/supertest@6.0.3': @@ -7851,7 +7851,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 '@types/tough-cookie@4.0.5': {} @@ -7863,7 +7863,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 optional: true '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': @@ -8126,7 +8126,7 @@ snapshots: - rollup - supports-color - '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.9 @@ -8139,7 +8139,7 @@ snapshots: magicast: 0.5.2 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -8152,14 +8152,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.4.3(typescript@5.9.3) - vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.9': dependencies: @@ -8497,7 +8497,7 @@ snapshots: chrome-launcher@1.2.1: dependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 2.0.2 @@ -8989,12 +8989,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-nibble@9.1.1(@types/node@25.3.0)(eslint@10.0.2(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.3.1)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 - '@inquirer/checkbox': 4.3.2(@types/node@25.3.0) - '@inquirer/confirm': 5.1.21(@types/node@25.3.0) - '@inquirer/select': 4.4.2(@types/node@25.3.0) + '@inquirer/checkbox': 4.3.2(@types/node@25.3.1) + '@inquirer/confirm': 5.1.21(@types/node@25.3.1) + '@inquirer/select': 4.4.2(@types/node@25.3.1) eslint: 10.0.2(jiti@2.6.1) eslint-filtered-fix: 0.3.0(eslint@10.0.2(jiti@2.6.1)) optionator: 0.9.4 @@ -10861,7 +10861,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.3.0 + '@types/node': 25.3.1 long: 5.3.2 protobufjs@8.0.0: @@ -10876,7 +10876,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.3.0 + '@types/node': 25.3.1 long: 5.3.2 proxy-agent@6.5.0: @@ -11871,17 +11871,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) - vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -11890,16 +11890,16 @@ snapshots: rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.3.0 + '@types/node': 25.3.1 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 yaml: 2.8.2 - vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.9 - '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.9 '@vitest/runner': 4.0.9 '@vitest/snapshot': 4.0.9 @@ -11916,11 +11916,11 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 25.3.0 + '@types/node': 25.3.1 jsdom: 27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - jiti From 4523ee8b35be5273b47adc8756da500ee6614fef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 21:18:48 +0800 Subject: [PATCH 104/259] chore(deps): bump dawidd6/action-download-artifact from 15 to 16 (#21235) Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 15 to 16. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/fe9d59ce33ce92db8a6ac90b2c8be6b6d90417c8...2536c51d3d126276eb39f74d6bc9c72ac6ef30d3) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-version: '16' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-test-cont.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-test-cont.yml b/.github/workflows/docker-test-cont.yml index bd2039c3ea3004..112c3f96c12cbc 100644 --- a/.github/workflows/docker-test-cont.yml +++ b/.github/workflows/docker-test-cont.yml @@ -64,7 +64,7 @@ jobs: - name: Fetch Docker image if: (env.TEST_CONTINUE) - uses: dawidd6/action-download-artifact@fe9d59ce33ce92db8a6ac90b2c8be6b6d90417c8 # v15 + uses: dawidd6/action-download-artifact@2536c51d3d126276eb39f74d6bc9c72ac6ef30d3 # v16 with: workflow: ${{ github.event.workflow_run.workflow_id }} run_id: ${{ github.event.workflow_run.id }} From a108cd625ee3cfa1a3ddbf8410397a343e0c494e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 23:39:28 +0800 Subject: [PATCH 105/259] chore(deps): bump actions/attest-build-provenance from 3.2.0 to 4.0.0 (#21234) * chore(deps): bump actions/attest-build-provenance from 3.2.0 to 4.0.0 Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 3.2.0 to 4.0.0. - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest-build-provenance/compare/96278af6caaf10aea03fd8d33a09a777ca52d62f...e4d4f7c39adfa4c260fb5c147f0622000aa14b99) --- updated-dependencies: - dependency-name: actions/attest-build-provenance dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore: replace actions/attest-build-provenance with actions/attest --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-release.yml | 4 +- package.json | 2 +- pnpm-lock.yaml | 72 +++++++++++----------------- 3 files changed, 31 insertions(+), 47 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 0b7686dbc696af..b82e56af32ff74 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -118,7 +118,7 @@ jobs: outputs: type=image,compression=zstd,force-compression=true,push-by-digest=true,name-canonical=true,push=true - name: Attest (ordinary version) - uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 + uses: actions/attest@c32b4b8b198b65d0bd9d63490e847ff7b53989d4 # v4.0.0 with: subject-name: | ${{ vars.DOCKER_USERNAME }}/${{ steps.repo-name.outputs.repo-name }} @@ -173,7 +173,7 @@ jobs: outputs: type=image,compression=zstd,force-compression=true,push-by-digest=true,name-canonical=true,push=true - name: Attest (Chromium-bundled version) - uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 + uses: actions/attest@c32b4b8b198b65d0bd9d63490e847ff7b53989d4 # v4.0.0 with: subject-name: | ${{ vars.DOCKER_USERNAME }}/${{ steps.repo-name.outputs.repo-name }} diff --git a/package.json b/package.json index 7162ef3f6e58c0..d88336ef7e60cf 100644 --- a/package.json +++ b/package.json @@ -213,7 +213,7 @@ "engines": { "node": "^22.20.0 || ^24" }, - "packageManager": "pnpm@10.30.1+sha512.3590e550d5384caa39bd5c7c739f72270234b2f6059e13018f975c313b1eb9fefcc09714048765d4d9efe961382c312e624572c0420762bdc5d5940cdf9be73a", + "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017", "pnpm": { "onlyBuiltDependencies": [ "bufferutil", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab9d854c3456f1..e9246706d7ada3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2779,8 +2779,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - basic-ftp@5.1.0: - resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==} + basic-ftp@5.2.0: + resolution: {integrity: sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==} engines: {node: '>=10.0.0'} bcrypt-pbkdf@1.0.2: @@ -4568,27 +4568,19 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - minimatch@10.2.2: - resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} - minimatch@10.2.3: - resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} - engines: {node: 18 || 20 || >=22} - - minimatch@3.1.3: - resolution: {integrity: sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==} + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.6: - resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.7: - resolution: {integrity: sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==} + minimatch@9.0.8: + resolution: {integrity: sha512-reYkDYtj/b19TeqbNZCV4q9t+Yxylf/rYBsLb42SXJatTv4/ylq5lEiAmhA/IToxO7NI2UzNMghHoHuaqDkAjw==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: @@ -6471,7 +6463,7 @@ snapshots: dependencies: '@eslint/object-schema': 3.0.2 debug: 4.4.3 - minimatch: 10.2.2 + minimatch: 10.2.4 transitivePeerDependencies: - supports-color @@ -6496,7 +6488,7 @@ snapshots: ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.1 - minimatch: 3.1.3 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -6520,7 +6512,7 @@ snapshots: '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 - minimatch: 10.2.3 + minimatch: 10.2.4 transitivePeerDependencies: - supports-color @@ -7678,7 +7670,7 @@ snapshots: '@stylistic/eslint-plugin@5.9.0(eslint@10.0.2(jiti@2.6.1))': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/types': 8.56.1 eslint: 10.0.2(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -7924,8 +7916,8 @@ snapshots: '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: @@ -7993,7 +7985,7 @@ snapshots: '@typescript-eslint/types': 8.56.0 '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3 - minimatch: 9.0.7 + minimatch: 9.0.8 semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -8008,7 +8000,7 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 - minimatch: 10.2.2 + minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -8340,7 +8332,7 @@ snapshots: baseline-browser-mapping@2.10.0: {} - basic-ftp@5.1.0: {} + basic-ftp@5.2.0: {} bcrypt-pbkdf@1.0.2: dependencies: @@ -9067,13 +9059,13 @@ snapshots: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/types': 8.56.1 comment-parser: 1.4.5 debug: 4.4.3 eslint: 10.0.2(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 - minimatch: 10.2.2 + minimatch: 10.2.4 semver: 7.7.4 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 @@ -9098,7 +9090,7 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' is-core-module: '@nolyfill/is-core-module@1.0.39' is-glob: 4.0.3 - minimatch: 3.1.3 + minimatch: 3.1.5 object.fromentries: '@nolyfill/object.fromentries@1.0.44' object.groupby: '@nolyfill/object.groupby@1.0.44' object.values: '@nolyfill/object.values@1.0.44' @@ -9126,7 +9118,7 @@ snapshots: hasown: '@nolyfill/hasown@1.0.44' jsx-ast-utils: 3.3.5 language-tags: 1.0.9 - minimatch: 3.1.3 + minimatch: 3.1.5 object.fromentries: '@nolyfill/object.fromentries@1.0.44' safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' @@ -9240,7 +9232,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.2 + minimatch: 10.2.4 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -9490,7 +9482,7 @@ snapshots: get-uri@6.0.5: dependencies: - basic-ftp: 5.1.0 + basic-ftp: 5.2.0 data-uri-to-buffer: 6.0.2 debug: 4.4.3 transitivePeerDependencies: @@ -9516,14 +9508,14 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.6 + minimatch: 9.0.8 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 glob@13.0.6: dependencies: - minimatch: 10.2.2 + minimatch: 10.2.4 minipass: 7.1.3 path-scurry: 2.0.2 @@ -10401,15 +10393,11 @@ snapshots: - bufferutil - utf-8-validate - minimatch@10.2.2: + minimatch@10.2.4: dependencies: brace-expansion: 5.0.3 - minimatch@10.2.3: - dependencies: - brace-expansion: 5.0.3 - - minimatch@3.1.3: + minimatch@3.1.5: dependencies: brace-expansion: 1.1.12 @@ -10417,11 +10405,7 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.6: - dependencies: - brace-expansion: 5.0.3 - - minimatch@9.0.7: + minimatch@9.0.8: dependencies: brace-expansion: 5.0.3 From 5ddd2080b0f2b8c3298a2f03f3c2d176601ab46a Mon Sep 17 00:00:00 2001 From: shcw0405 <112615230+shcw0405@users.noreply.github.com> Date: Fri, 27 Feb 2026 03:18:59 +0800 Subject: [PATCH 106/259] fix(cursor/changelog): fix changelog route (#21237) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix cursor/changelog * fix(cursor/changelog): deduplicate feed entries --------- Co-authored-by: 蔡旭 --- lib/routes/cursor/changelog.ts | 42 ++++++++++++---------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/lib/routes/cursor/changelog.ts b/lib/routes/cursor/changelog.ts index c9b9e03639a3e5..cacbc9f095b3ce 100644 --- a/lib/routes/cursor/changelog.ts +++ b/lib/routes/cursor/changelog.ts @@ -22,42 +22,29 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language = ($('html').attr('lang') ?? 'en') as Language; - const items: DataItem[] = $('article.relative') + const items: DataItem[] = $('main') + .first() + .find('article') .slice(0, limit) .toArray() .map((el): DataItem => { const $el: Cheerio = $(el); - let version = ''; - let pubDateStr: string | undefined; + const timeEl = $el.find('time').first(); + const pubDateStr = timeEl.attr('datetime') || timeEl.text().trim(); + const versionLabel = timeEl.closest('a').find('.label').text().trim(); - $el.find('div').each((_, div) => { - const text = $(div).text().trim(); - const dateVersionMatch = text.match(/^(\w+\s+\d{1,2},\s+\d{4})(\d+\.\d+)$/); - if (dateVersionMatch) { - pubDateStr = dateVersionMatch[1]; - version = dateVersionMatch[2]; - return false; // Stop after finding first match - } - }); - - const linkEl = $el.find('a[href^="/changelog/"]').first(); - const titleText = linkEl.length ? linkEl.text().trim() : $el.find('h2').first().text().trim(); - - const title: string = version ? `[${version}] ${titleText}` : titleText; + const linkEl = $el.find('h1 a').first(); + const titleText = linkEl.length ? linkEl.text().trim() : $el.find('h1').first().text().trim(); + const title: string = versionLabel ? `[${versionLabel}] ${titleText}` : titleText; const linkUrl: string | undefined = linkEl.attr('href'); - const guid = `cursor-changelog-${version || 'unknown'}`; - const upDatedStr: string | undefined = pubDateStr; - - const $h2El = $el.find('h2').first(); - - if ($h2El.length) { - $h2El.prevAll().remove(); - $h2El.remove(); + let guid = linkUrl ? linkUrl.split('/').pop() : 'unknown'; + if (versionLabel) { + guid = `cursor-changelog-${versionLabel}`; } - const description: string = $el.html() || ''; + const description: string = $el.find('.prose').html() || ''; const processedItem: DataItem = { title, @@ -70,7 +57,6 @@ export const handler = async (ctx: Context): Promise => { html: description, text: description, }, - updated: upDatedStr ? parseDate(upDatedStr) : undefined, language, }; @@ -79,7 +65,7 @@ export const handler = async (ctx: Context): Promise => { return { title: $('title').text(), - description: $('meta[property="og:description"]').attr('content'), + description: $('meta[name="description"]').attr('content') || $('meta[property="og:description"]').attr('content'), link: targetUrl, item: items, allowEmpty: true, From 78562017eb9f57579ff5576a50003f4d0e37e97c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:03:59 +0800 Subject: [PATCH 107/259] chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 (#21238) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/b7c566a772e6b6bfb58ed0dc250532a479d7789f...bbbca2ddaa5d8feaa63e36b76fdaad77386f024f) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-release.yml | 4 ++-- .github/workflows/docker-test.yml | 2 +- .github/workflows/issue-command.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/test.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index b82e56af32ff74..1674b06c9f79dc 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -132,7 +132,7 @@ jobs: touch "${{ runner.temp }}/digests/ordinary/${digest#sha256:}" - name: Upload digest (ordinary version) - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: digests-ordinary-${{ env.PLATFORM_PAIR }} path: ${{ runner.temp }}/digests/ordinary/* @@ -187,7 +187,7 @@ jobs: touch "${{ runner.temp }}/digests/chromium/${digest#sha256:}" - name: Upload digest (Chromium-bundled version) - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: digests-chromium-${{ env.PLATFORM_PAIR }} path: ${{ runner.temp }}/digests/chromium/* diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index 6437b8924eab10..a7ac9a28c41a37 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -69,7 +69,7 @@ jobs: run: docker save rsshub:latest | zstdmt -o rsshub.tar.zst - name: Upload Docker image - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: docker-image path: rsshub.tar.zst diff --git a/.github/workflows/issue-command.yml b/.github/workflows/issue-command.yml index 62b1c29391f039..f8b7ba439d0ed3 100644 --- a/.github/workflows/issue-command.yml +++ b/.github/workflows/issue-command.yml @@ -129,7 +129,7 @@ jobs: run: cat ${{ github.workspace }}/logs/combined.log - name: Upload Artifact - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: logs path: logs diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 51359fdcd0965c..410c3f1b3798e4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -43,7 +43,7 @@ jobs: sarif_file: eslint-results.sarif wait-for-processing: true - name: Upload Artifact - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: path: eslint-results.sarif diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a03ad5b2b882e8..b26df8a60980e1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -132,7 +132,7 @@ jobs: - name: Build radar and maintainer run: npm run build - name: Upload assets - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: generated-assets-${{ matrix.node-version }} path: assets/build/ From 06d456eda4be7aa63aa57999fb4004e921873be2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:08:36 +0800 Subject: [PATCH 108/259] chore(deps-dev): bump @types/node from 25.3.1 to 25.3.2 (#21244) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.3.1 to 25.3.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.3.2 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 | 124 ++++++++++++++++++++++++------------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index d88336ef7e60cf..bbe0c004a8c5e5 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "@types/mailparser": "3.4.6", "@types/markdown-it": "14.1.2", "@types/module-alias": "2.0.4", - "@types/node": "25.3.1", + "@types/node": "25.3.2", "@types/sanitize-html": "2.16.0", "@types/supertest": "6.0.3", "@typescript-eslint/eslint-plugin": "8.56.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9246706d7ada3..85f33b1dd1bbde 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -359,8 +359,8 @@ importers: specifier: 2.0.4 version: 2.0.4 '@types/node': - specifier: 25.3.1 - version: 25.3.1 + specifier: 25.3.2 + version: 25.3.2 '@types/sanitize-html': specifier: 2.16.0 version: 2.16.0 @@ -378,7 +378,7 @@ importers: version: 1.3.2(rollup@4.59.0) '@vitest/coverage-v8': specifier: 4.0.9 - version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) + version: 4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)) discord-api-types: specifier: 0.38.40 version: 0.38.40 @@ -390,7 +390,7 @@ importers: version: 10.0.2(jiti@2.6.1) eslint-nibble: specifier: 9.1.1 - version: 9.1.1(@types/node@25.3.1)(eslint@10.0.2(jiti@2.6.1)) + version: 9.1.1(@types/node@25.3.2)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-github: specifier: 6.0.0 version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)) @@ -459,10 +459,10 @@ importers: version: 11.0.5 vite-tsconfig-paths: specifier: 6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.9 - version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: specifier: 4.68.1 version: 4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -2267,11 +2267,11 @@ packages: '@types/mysql@2.15.27': resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} - '@types/node@22.19.12': - resolution: {integrity: sha512-0QEp0aPJYSyf6RrTjDB7HlKgNMTY+V2C7ESTaVt6G9gQ0rPLzTGz7OF2NXTLR5vcy7HJEtIUsyWLsfX0kTqJBA==} + '@types/node@22.19.13': + resolution: {integrity: sha512-akNQMv0wW5uyRpD2v2IEyRSZiR+BeGuoB6L310EgGObO44HSMNT8z1xzio28V8qOrgYaopIDNA18YgdXd+qTiw==} - '@types/node@25.3.1': - resolution: {integrity: sha512-hj9YIJimBCipHVfHKRMnvmHg+wfhKc0o4mTtXh9pKBjC8TLJzz0nzGmLi5UJsYAUgSvXFHgb0V2oY10DUFtImw==} + '@types/node@25.3.2': + resolution: {integrity: sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==} '@types/pg-pool@2.0.7': resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} @@ -6644,47 +6644,47 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@25.3.1)': + '@inquirer/checkbox@4.3.2(@types/node@25.3.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.3.1) + '@inquirer/core': 10.3.2(@types/node@25.3.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.1) + '@inquirer/type': 3.0.10(@types/node@25.3.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.21(@types/node@25.3.1)': + '@inquirer/confirm@5.1.21(@types/node@25.3.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.3.1) - '@inquirer/type': 3.0.10(@types/node@25.3.1) + '@inquirer/core': 10.3.2(@types/node@25.3.2) + '@inquirer/type': 3.0.10(@types/node@25.3.2) optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 - '@inquirer/core@10.3.2(@types/node@25.3.1)': + '@inquirer/core@10.3.2(@types/node@25.3.2)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.1) + '@inquirer/type': 3.0.10(@types/node@25.3.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@inquirer/core@9.2.1': dependencies: '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.19.12 + '@types/node': 22.19.13 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -6696,15 +6696,15 @@ snapshots: '@inquirer/figures@1.0.15': {} - '@inquirer/select@4.4.2(@types/node@25.3.1)': + '@inquirer/select@4.4.2(@types/node@25.3.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.3.1) + '@inquirer/core': 10.3.2(@types/node@25.3.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.3.1) + '@inquirer/type': 3.0.10(@types/node@25.3.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@inquirer/type@1.5.5': dependencies: @@ -6714,9 +6714,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@25.3.1)': + '@inquirer/type@3.0.10(@types/node@25.3.2)': optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@ioredis/commands@1.5.0': {} @@ -7703,7 +7703,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/cookie@0.6.0': {} @@ -7728,12 +7728,12 @@ snapshots: '@types/etag@1.8.4': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/html-to-text@9.0.4': {} @@ -7743,7 +7743,7 @@ snapshots: '@types/jsdom@27.0.0': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -7757,7 +7757,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/jsrsasign@10.5.15': {} @@ -7765,7 +7765,7 @@ snapshots: '@types/mailparser@3.4.6': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 iconv-lite: 0.6.3 '@types/markdown-it@14.1.2': @@ -7787,17 +7787,17 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/mysql@2.15.27': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 - '@types/node@22.19.12': + '@types/node@22.19.13': dependencies: undici-types: 6.21.0 - '@types/node@25.3.1': + '@types/node@25.3.2': dependencies: undici-types: 7.18.2 @@ -7807,7 +7807,7 @@ snapshots: '@types/pg@8.15.6': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 pg-protocol: 1.11.0 pg-types: 2.2.0 @@ -7819,7 +7819,7 @@ snapshots: '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/tough-cookie': 4.0.5 form-data: 2.5.5 @@ -7833,7 +7833,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 25.3.1 + '@types/node': 25.3.2 form-data: 4.0.5 '@types/supertest@6.0.3': @@ -7843,7 +7843,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 '@types/tough-cookie@4.0.5': {} @@ -7855,7 +7855,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 optional: true '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': @@ -8118,7 +8118,7 @@ snapshots: - rollup - supports-color - '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/coverage-v8@4.0.9(vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.9 @@ -8131,7 +8131,7 @@ snapshots: magicast: 0.5.2 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -8144,14 +8144,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.4.3(typescript@5.9.3) - vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.9': dependencies: @@ -8489,7 +8489,7 @@ snapshots: chrome-launcher@1.2.1: dependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 2.0.2 @@ -8981,12 +8981,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-nibble@9.1.1(@types/node@25.3.1)(eslint@10.0.2(jiti@2.6.1)): + eslint-nibble@9.1.1(@types/node@25.3.2)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@babel/code-frame': 7.29.0 - '@inquirer/checkbox': 4.3.2(@types/node@25.3.1) - '@inquirer/confirm': 5.1.21(@types/node@25.3.1) - '@inquirer/select': 4.4.2(@types/node@25.3.1) + '@inquirer/checkbox': 4.3.2(@types/node@25.3.2) + '@inquirer/confirm': 5.1.21(@types/node@25.3.2) + '@inquirer/select': 4.4.2(@types/node@25.3.2) eslint: 10.0.2(jiti@2.6.1) eslint-filtered-fix: 0.3.0(eslint@10.0.2(jiti@2.6.1)) optionator: 0.9.4 @@ -10845,7 +10845,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.3.1 + '@types/node': 25.3.2 long: 5.3.2 protobufjs@8.0.0: @@ -10860,7 +10860,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 25.3.1 + '@types/node': 25.3.2 long: 5.3.2 proxy-agent@6.5.0: @@ -11855,17 +11855,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) - vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -11874,16 +11874,16 @@ snapshots: rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.3.1 + '@types/node': 25.3.2 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 yaml: 2.8.2 - vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.1)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.9 - '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.9(msw@2.4.3(typescript@5.9.3))(vite@7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.9 '@vitest/runner': 4.0.9 '@vitest/snapshot': 4.0.9 @@ -11900,11 +11900,11 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.3.1)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.3.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 25.3.1 + '@types/node': 25.3.2 jsdom: 27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - jiti From e783ef98aab8f048051dca37a382d4ac844e9d5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:26:24 +0800 Subject: [PATCH 109/259] chore(deps): bump @scalar/hono-api-reference from 0.9.45 to 0.9.46 (#21247) Bumps [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) from 0.9.45 to 0.9.46. - [Release notes](https://github.com/scalar/scalar/releases) - [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md) - [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono) --- updated-dependencies: - dependency-name: "@scalar/hono-api-reference" dependency-version: 0.9.46 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 | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index bbe0c004a8c5e5..bb7415c80d38f1 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@opentelemetry/sdk-trace-base": "2.5.1", "@opentelemetry/semantic-conventions": "1.39.0", "@rss3/sdk": "0.0.25", - "@scalar/hono-api-reference": "0.9.45", + "@scalar/hono-api-reference": "0.9.46", "@sentry/node": "10.40.0", "aes-js": "3.1.2", "cheerio": "1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85f33b1dd1bbde..2446404d61e747 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,8 +85,8 @@ importers: specifier: 0.0.25 version: 0.0.25 '@scalar/hono-api-reference': - specifier: 0.9.45 - version: 0.9.45(hono@4.12.2) + specifier: 0.9.46 + version: 0.9.46(hono@4.12.2) '@sentry/node': specifier: 10.40.0 version: 10.40.0 @@ -2052,22 +2052,22 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@scalar/core@0.3.42': - resolution: {integrity: sha512-RbyooMuG4oQEOhiA/tC+++bkIK1zeYGNxrTzSAgTrTzVlbFKPzw72fs4gX9/eHDo7qVc9FsymIW6qVpWbySzNg==} + '@scalar/core@0.3.43': + resolution: {integrity: sha512-id97ufmbFPXCGKLizx0pATqeVm0hJk6WVLX1IUPYZJBTvo4Bq4u/hUGeWZtdn+Drgc11zMkGHL3LADulgFFyNA==} engines: {node: '>=20'} '@scalar/helpers@0.2.16': resolution: {integrity: sha512-JlDUKdmwAHdcFUdTngNtx/uhLKTBACXlgvri7iKb6Jx6ImRIBgHwxZNAqlil1L047+QBrKh97lnezNpzNQAffQ==} engines: {node: '>=20'} - '@scalar/hono-api-reference@0.9.45': - resolution: {integrity: sha512-RH275yhbKlON6N1KgJUCiLIixw0Bd77Dp/6IuYQ6UhIboyq6c4EuSegRLJrb3XpP57+MNKuetYvAljDp8alHpQ==} + '@scalar/hono-api-reference@0.9.46': + resolution: {integrity: sha512-nbedx0W885vlAua9No5/cjw4b0JW0mIs1DgWU+LZS91tug+VwnMv4NyjAxKi4z+HP8l/z8Y1PPYs+atd8h4Kzw==} engines: {node: '>=20'} peerDependencies: hono: ^4.11.5 - '@scalar/types@0.6.7': - resolution: {integrity: sha512-ihHaoPF9qQR05pV3mfE7yBlHQdm5CoJVE0HiJFH6xSrzLfk2yJ6XdD3OzyRCqyxkZ38bj2RIZMS6LJsGy4p66g==} + '@scalar/types@0.6.8': + resolution: {integrity: sha512-24AwoTKOggB+VNY65yIuSXwE5/kwjplqrx4v+VYuRBtIMVt3I+Ppaz45Xk3QoDirNCGtraNRpAbfArLRlFcP/w==} engines: {node: '>=20'} '@scure/base@2.0.0': @@ -7562,18 +7562,18 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@scalar/core@0.3.42': + '@scalar/core@0.3.43': dependencies: - '@scalar/types': 0.6.7 + '@scalar/types': 0.6.8 '@scalar/helpers@0.2.16': {} - '@scalar/hono-api-reference@0.9.45(hono@4.12.2)': + '@scalar/hono-api-reference@0.9.46(hono@4.12.2)': dependencies: - '@scalar/core': 0.3.42 + '@scalar/core': 0.3.43 hono: 4.12.2 - '@scalar/types@0.6.7': + '@scalar/types@0.6.8': dependencies: '@scalar/helpers': 0.2.16 nanoid: 5.1.6 From c72a0eac7cb85cbea36bdf61839a4f91eedccec3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:29:32 +0800 Subject: [PATCH 110/259] chore(deps): bump actions/attest from 4.0.0 to 4.1.0 (#21241) Bumps [actions/attest](https://github.com/actions/attest) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/actions/attest/releases) - [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md) - [Commits](https://github.com/actions/attest/compare/c32b4b8b198b65d0bd9d63490e847ff7b53989d4...59d89421af93a897026c735860bf21b6eb4f7b26) --- updated-dependencies: - dependency-name: actions/attest dependency-version: 4.1.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> --- .github/workflows/docker-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 1674b06c9f79dc..4e3a9edc7d2eeb 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -118,7 +118,7 @@ jobs: outputs: type=image,compression=zstd,force-compression=true,push-by-digest=true,name-canonical=true,push=true - name: Attest (ordinary version) - uses: actions/attest@c32b4b8b198b65d0bd9d63490e847ff7b53989d4 # v4.0.0 + uses: actions/attest@59d89421af93a897026c735860bf21b6eb4f7b26 # v4.1.0 with: subject-name: | ${{ vars.DOCKER_USERNAME }}/${{ steps.repo-name.outputs.repo-name }} @@ -173,7 +173,7 @@ jobs: outputs: type=image,compression=zstd,force-compression=true,push-by-digest=true,name-canonical=true,push=true - name: Attest (Chromium-bundled version) - uses: actions/attest@c32b4b8b198b65d0bd9d63490e847ff7b53989d4 # v4.0.0 + uses: actions/attest@59d89421af93a897026c735860bf21b6eb4f7b26 # v4.1.0 with: subject-name: | ${{ vars.DOCKER_USERNAME }}/${{ steps.repo-name.outputs.repo-name }} From 9686c0d9bb645d925404dfee8171d4f0cc41c3a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:39:25 +0800 Subject: [PATCH 111/259] chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 (#21240) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7.0.0 to 8.0.0. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/37930b1c2abaa49bbe596cd826c3c89aef350131...70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docker-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 4e3a9edc7d2eeb..cde802d82d89b3 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -220,7 +220,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Download digests (ordinary version) - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 with: path: ${{ runner.temp }}/digests/ordinary pattern: digests-ordinary-* @@ -246,7 +246,7 @@ jobs: $(printf '${{ vars.DOCKER_USERNAME }}/${{ needs.release.outputs.repo-name }}@sha256:%s ' *) - name: Download digests (Chromium-bundled version) - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 with: path: ${{ runner.temp }}/digests/chromium pattern: digests-chromium-* From bdbab07bd6c5dcdfbc8a59000b1529c77c3b7921 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 12:49:16 +0000 Subject: [PATCH 112/259] chore(deps): bump hono from 4.12.2 to 4.12.3 (#21246) Bumps [hono](https://github.com/honojs/hono) from 4.12.2 to 4.12.3. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](https://github.com/honojs/hono/compare/v4.12.2...v4.12.3) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.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 | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index bb7415c80d38f1..d3b72b5907f7d0 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "google-play-scraper": "10.1.2", "googleapis": "171.4.0", "header-generator": "2.1.80", - "hono": "4.12.2", + "hono": "4.12.3", "html-to-text": "9.0.5", "http-cookie-agent": "7.0.3", "https-proxy-agent": "7.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2446404d61e747..7589a6c2da62e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,10 +50,10 @@ importers: version: 4.3.1 '@hono/node-server': specifier: 1.19.9 - version: 1.19.9(hono@4.12.2) + version: 1.19.9(hono@4.12.3) '@hono/zod-openapi': specifier: 1.2.2 - version: 1.2.2(hono@4.12.2)(zod@4.3.6) + version: 1.2.2(hono@4.12.3)(zod@4.3.6) '@jocmp/mercury-parser': specifier: 3.0.3 version: 3.0.3 @@ -86,7 +86,7 @@ importers: version: 0.0.25 '@scalar/hono-api-reference': specifier: 0.9.46 - version: 0.9.46(hono@4.12.2) + version: 0.9.46(hono@4.12.3) '@sentry/node': specifier: 10.40.0 version: 10.40.0 @@ -139,8 +139,8 @@ importers: specifier: 2.1.80 version: 2.1.80 hono: - specifier: 4.12.2 - version: 4.12.2 + specifier: 4.12.3 + version: 4.12.3 html-to-text: specifier: 9.0.5 version: 9.0.5 @@ -3927,8 +3927,8 @@ packages: hmacsha1@1.0.0: resolution: {integrity: sha512-4FP6J0oI8jqb6gLLl9tSwVdosWJ/AKSGJ+HwYf6Ixe4MUcEkst4uWzpVQrNOCin0fzTRQbXV8ePheU8WiiDYBw==} - hono@4.12.2: - resolution: {integrity: sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==} + hono@4.12.3: + resolution: {integrity: sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==} engines: {node: '>=16.9.0'} hookable@6.0.1: @@ -6518,21 +6518,21 @@ snapshots: '@github/browserslist-config@1.0.0': {} - '@hono/node-server@1.19.9(hono@4.12.2)': + '@hono/node-server@1.19.9(hono@4.12.3)': dependencies: - hono: 4.12.2 + hono: 4.12.3 - '@hono/zod-openapi@1.2.2(hono@4.12.2)(zod@4.3.6)': + '@hono/zod-openapi@1.2.2(hono@4.12.3)(zod@4.3.6)': dependencies: '@asteasolutions/zod-to-openapi': 8.4.1(zod@4.3.6) - '@hono/zod-validator': 0.7.6(hono@4.12.2)(zod@4.3.6) - hono: 4.12.2 + '@hono/zod-validator': 0.7.6(hono@4.12.3)(zod@4.3.6) + hono: 4.12.3 openapi3-ts: 4.5.0 zod: 4.3.6 - '@hono/zod-validator@0.7.6(hono@4.12.2)(zod@4.3.6)': + '@hono/zod-validator@0.7.6(hono@4.12.3)(zod@4.3.6)': dependencies: - hono: 4.12.2 + hono: 4.12.3 zod: 4.3.6 '@humanfs/core@0.19.1': {} @@ -7568,10 +7568,10 @@ snapshots: '@scalar/helpers@0.2.16': {} - '@scalar/hono-api-reference@0.9.46(hono@4.12.2)': + '@scalar/hono-api-reference@0.9.46(hono@4.12.3)': dependencies: '@scalar/core': 0.3.43 - hono: 4.12.2 + hono: 4.12.3 '@scalar/types@0.6.8': dependencies: @@ -9621,7 +9621,7 @@ snapshots: hmacsha1@1.0.0: {} - hono@4.12.2: {} + hono@4.12.3: {} hookable@6.0.1: {} From 171318a711c687325bf9c54c41cf3b1c83fc9663 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:51:11 +0800 Subject: [PATCH 113/259] chore(deps): bump @opentelemetry/semantic-conventions (#21242) Bumps the opentelemetry group with 1 update: [@opentelemetry/semantic-conventions](https://github.com/open-telemetry/opentelemetry-js). Updates `@opentelemetry/semantic-conventions` from 1.39.0 to 1.40.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/semconv/v1.39.0...semconv/v1.40.0) --- updated-dependencies: - dependency-name: "@opentelemetry/semantic-conventions" dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 72 +++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index d3b72b5907f7d0..05f492647f985b 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@opentelemetry/resources": "2.5.1", "@opentelemetry/sdk-metrics": "2.5.1", "@opentelemetry/sdk-trace-base": "2.5.1", - "@opentelemetry/semantic-conventions": "1.39.0", + "@opentelemetry/semantic-conventions": "1.40.0", "@rss3/sdk": "0.0.25", "@scalar/hono-api-reference": "0.9.46", "@sentry/node": "10.40.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7589a6c2da62e6..cc17ef8fdc04f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,8 +79,8 @@ importers: specifier: 2.5.1 version: 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': - specifier: 1.39.0 - version: 1.39.0 + specifier: 1.40.0 + version: 1.40.0 '@rss3/sdk': specifier: 0.0.25 version: 0.0.25 @@ -1565,8 +1565,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/semantic-conventions@1.39.0': - resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} + '@opentelemetry/semantic-conventions@1.40.0': + resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} engines: {node: '>=14'} '@opentelemetry/sql-common@0.41.2': @@ -6511,7 +6511,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 minimatch: 10.2.4 transitivePeerDependencies: - supports-color @@ -6916,12 +6916,12 @@ snapshots: '@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/exporter-prometheus@0.212.0(@opentelemetry/api@1.9.0)': dependencies: @@ -6929,7 +6929,7 @@ snapshots: '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/exporter-trace-otlp-http@0.212.0(@opentelemetry/api@1.9.0)': dependencies: @@ -6945,7 +6945,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6954,7 +6954,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/connect': 3.4.38 transitivePeerDependencies: - supports-color @@ -6971,7 +6971,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7002,7 +7002,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7011,7 +7011,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 forwarded-parse: 2.1.2 transitivePeerDependencies: - supports-color @@ -7021,7 +7021,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7029,7 +7029,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7037,7 +7037,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7046,7 +7046,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7061,7 +7061,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7070,7 +7070,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7078,7 +7078,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -7087,7 +7087,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/mysql': 2.15.27 transitivePeerDependencies: - supports-color @@ -7097,7 +7097,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) '@types/pg': 8.15.6 '@types/pg-pool': 2.0.7 @@ -7109,7 +7109,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7117,7 +7117,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -7127,7 +7127,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -7181,7 +7181,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sdk-logs@0.212.0(@opentelemetry/api@1.9.0)': dependencies: @@ -7201,9 +7201,9 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/semantic-conventions@1.39.0': {} + '@opentelemetry/semantic-conventions@1.40.0': {} '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)': dependencies: @@ -7591,10 +7591,10 @@ snapshots: '@sentry/core@10.40.0': {} - '@sentry/node-core@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/node-core@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.40.0)': dependencies: '@sentry/core': 10.40.0 - '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.40.0) import-in-the-middle: 2.0.6 optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -7603,7 +7603,7 @@ snapshots: '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@sentry/node@10.40.0': dependencies: @@ -7636,22 +7636,22 @@ snapshots: '@opentelemetry/instrumentation-undici': 0.21.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) '@sentry/core': 10.40.0 - '@sentry/node-core': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) - '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0) + '@sentry/node-core': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.40.0) + '@sentry/opentelemetry': 10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.40.0) import-in-the-middle: 2.0.6 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.39.0)': + '@sentry/opentelemetry@10.40.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.40.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@sentry/core': 10.40.0 '@sindresorhus/is@4.6.0': {} From e7305539131ccf21987d80d67c71a2e832d2c9d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:53:35 +0800 Subject: [PATCH 114/259] chore(deps-dev): bump @types/supertest from 6.0.3 to 7.2.0 (#21243) Bumps [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) from 6.0.3 to 7.2.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/supertest) --- updated-dependencies: - dependency-name: "@types/supertest" dependency-version: 7.2.0 dependency-type: direct:development update-type: version-update:semver-major ... 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 05f492647f985b..c9d92883ab8a7b 100644 --- a/package.json +++ b/package.json @@ -165,7 +165,7 @@ "@types/module-alias": "2.0.4", "@types/node": "25.3.2", "@types/sanitize-html": "2.16.0", - "@types/supertest": "6.0.3", + "@types/supertest": "7.2.0", "@typescript-eslint/eslint-plugin": "8.56.1", "@typescript-eslint/parser": "8.56.1", "@vercel/nft": "1.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc17ef8fdc04f6..8ad868b8668994 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -365,8 +365,8 @@ importers: specifier: 2.16.0 version: 2.16.0 '@types/supertest': - specifier: 6.0.3 - version: 6.0.3 + specifier: 7.2.0 + version: 7.2.0 '@typescript-eslint/eslint-plugin': specifier: 8.56.1 version: 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) @@ -2294,8 +2294,8 @@ packages: '@types/superagent@8.1.9': resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} - '@types/supertest@6.0.3': - resolution: {integrity: sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==} + '@types/supertest@7.2.0': + resolution: {integrity: sha512-uh2Lv57xvggst6lCqNdFAmDSvoMG7M/HDtX4iUCquxQ5EGPtaPM5PL5Hmi7LCvOG8db7YaCPNJEeoI8s/WzIQw==} '@types/tedious@4.0.14': resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==} @@ -7836,7 +7836,7 @@ snapshots: '@types/node': 25.3.2 form-data: 4.0.5 - '@types/supertest@6.0.3': + '@types/supertest@7.2.0': dependencies: '@types/methods': 1.1.4 '@types/superagent': 8.1.9 From a920c6ad7dc3c56a10f20540a0b75ceef709490c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:13:05 +0800 Subject: [PATCH 115/259] chore(deps): bump @notionhq/client from 5.9.0 to 5.11.0 (#21245) Bumps [@notionhq/client](https://github.com/makenotion/notion-sdk-js) from 5.9.0 to 5.11.0. - [Release notes](https://github.com/makenotion/notion-sdk-js/releases) - [Commits](https://github.com/makenotion/notion-sdk-js/compare/v5.9.0...v5.11.0) --- updated-dependencies: - dependency-name: "@notionhq/client" dependency-version: 5.11.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 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c9d92883ab8a7b..c91fd33799e079 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@hono/node-server": "1.19.9", "@hono/zod-openapi": "1.2.2", "@jocmp/mercury-parser": "3.0.3", - "@notionhq/client": "5.9.0", + "@notionhq/client": "5.11.0", "@opentelemetry/api": "1.9.0", "@opentelemetry/exporter-prometheus": "0.212.0", "@opentelemetry/exporter-trace-otlp-http": "0.212.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ad868b8668994..578d19ff5515de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: 3.0.3 version: 3.0.3 '@notionhq/client': - specifier: 5.9.0 - version: 5.9.0 + specifier: 5.11.0 + version: 5.11.0 '@opentelemetry/api': specifier: 1.9.0 version: 1.9.0 @@ -1309,8 +1309,8 @@ packages: resolution: {integrity: sha512-3dsKlf4Ma7o+uxLIg5OI1Tgwfet2pE8WTbPjEGWvOe6CSjMtK0skJnnSVHaEVX4N4mYU81To0qDeZOPqjaUotg==} engines: {node: '>=12.4.0'} - '@notionhq/client@5.9.0': - resolution: {integrity: sha512-TvAVMfwtVv61hsPrRfB9ehgzSjX6DaAi1ZRAnpg8xFjzaXhzhEfbO0PhBRm3ecSv1azDuO2kBuyQHh2/z7G4YQ==} + '@notionhq/client@5.11.0': + resolution: {integrity: sha512-bBP3gZvf2yUzwWJ/oEPf/4DWR4wSrZln0ZtVx3mc3RQaQHjl1/cbqECcsUS6RjKc51PY9598s7WRItxd8X1MAw==} engines: {node: '>=18'} '@one-ini/wasm@0.1.1': @@ -6878,7 +6878,7 @@ snapshots: dependencies: '@nolyfill/shared': 1.0.44 - '@notionhq/client@5.9.0': {} + '@notionhq/client@5.11.0': {} '@one-ini/wasm@0.1.1': {} From 75ff9aac670376f354fccb43d71f6aae4b379206 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:59:01 +0800 Subject: [PATCH 116/259] chore(deps-dev): bump the cloudflare group with 2 updates (#21239) Bumps the cloudflare group with 2 updates: [@cloudflare/containers](https://github.com/cloudflare/containers) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler). Updates `@cloudflare/containers` from 0.1.0 to 0.1.1 - [Release notes](https://github.com/cloudflare/containers/releases) - [Changelog](https://github.com/cloudflare/containers/blob/main/CHANGELOG.md) - [Commits](https://github.com/cloudflare/containers/compare/v0.1.0...v0.1.1) Updates `wrangler` from 4.68.1 to 4.69.0 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.69.0/packages/wrangler) --- updated-dependencies: - dependency-name: "@cloudflare/containers" dependency-version: 0.1.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: cloudflare - dependency-name: wrangler dependency-version: 4.69.0 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 | 4 +-- pnpm-lock.yaml | 86 +++++++++++++++++++++++++------------------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index c91fd33799e079..bdc925f4833168 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ }, "devDependencies": { "@bbob/types": "4.3.1", - "@cloudflare/containers": "0.1.0", + "@cloudflare/containers": "0.1.1", "@cloudflare/puppeteer": "1.0.6", "@cloudflare/workers-types": "4.20260305.0", "@eslint/eslintrc": "3.3.4", @@ -198,7 +198,7 @@ "unified": "11.0.5", "vite-tsconfig-paths": "6.1.1", "vitest": "4.0.9", - "wrangler": "4.68.1", + "wrangler": "4.69.0", "yaml-eslint-parser": "2.0.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 578d19ff5515de..5f87d059293e04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -299,8 +299,8 @@ importers: specifier: 4.3.1 version: 4.3.1 '@cloudflare/containers': - specifier: 0.1.0 - version: 0.1.0 + specifier: 0.1.1 + version: 0.1.1 '@cloudflare/puppeteer': specifier: 1.0.6 version: 1.0.6(bufferutil@4.1.0)(utf-8-validate@5.0.10) @@ -464,8 +464,8 @@ importers: specifier: 4.0.9 version: 4.0.9(@types/debug@4.1.12)(@types/node@25.3.2)(jiti@2.6.1)(jsdom@27.0.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(msw@2.4.3(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2) wrangler: - specifier: 4.68.1 - version: 4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) + specifier: 4.69.0 + version: 4.69.0(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10) yaml-eslint-parser: specifier: 2.0.0 version: 2.0.0 @@ -569,8 +569,8 @@ packages: '@bundled-es-modules/tough-cookie@0.1.6': resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} - '@cloudflare/containers@0.1.0': - resolution: {integrity: sha512-nuXnmkpJZzbjYdguRI2hB0sw1QCBMWdNuGDNQwEiJSLebtKRFpBt/d6AStGjp+8wGD2plPbd2U/mQerYF9kzJg==} + '@cloudflare/containers@0.1.1': + resolution: {integrity: sha512-YTdobRTnTlUOUPMFemufH367A9Z8pDfZ+UboYMLbGpO0VlvEXZDiioSmXPQMHld2vRtkL31mcRii3bcbQU6fdw==} '@cloudflare/kv-asset-handler@0.4.2': resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} @@ -589,32 +589,32 @@ packages: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20260302.0': - resolution: {integrity: sha512-cGtxPByeVrgoqxbmd8qs631wuGwf8yTm/FY44dEW4HdoXrb5jhlE4oWYHFafedkQCvGjY1Vbs3puAiKnuMxTXQ==} + '@cloudflare/workerd-darwin-64@1.20260305.0': + resolution: {integrity: sha512-chhKOpymo0Eh9J3nymrauMqKGboCc4uz/j0gA1G4gioMnKsN2ZDKJ+qjRZDnCoVGy8u2C4pxlmyIfsXCAfIzhQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260302.0': - resolution: {integrity: sha512-WRGqV6RNXM3xoQblJJw1EHKwx9exyhB18cdnToSCUFPObFhk3fzMLoQh7S+nUHUpto6aUrXPVj6R/4G3UPjCxw==} + '@cloudflare/workerd-darwin-arm64@1.20260305.0': + resolution: {integrity: sha512-K9aG2OQk5bBfOP+fyGPqLcqZ9OR3ra6uwnxJ8f2mveq2A2LsCI7ZeGxQiAj75Ti80ytH/gJffZIx4Np2JtU3aQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260302.0': - resolution: {integrity: sha512-gG423mtUjrmlQT+W2+KisLc6qcGcBLR+QcK5x1gje3bu/dF3oNiYuqY7o58A+sQk6IB849UC4UyNclo1RhP2xw==} + '@cloudflare/workerd-linux-64@1.20260305.0': + resolution: {integrity: sha512-tt7XUoIw/cYFeGbkPkcZ6XX1aZm26Aju/4ih+DXxOosbBeGshFSrNJDBfAKKOvkjsAZymJ+WWVDBU+hmNaGfwA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260302.0': - resolution: {integrity: sha512-7M25noGI4WlSBOhrIaY8xZrnn87OQKtJg9YWAO2EFqGjF1Su5QXGaLlQVF4fAKbqTywbHnI8BAuIsIlUSNkhCg==} + '@cloudflare/workerd-linux-arm64@1.20260305.0': + resolution: {integrity: sha512-72QTkY5EzylmvCZ8ZTrnJ9DctmQsfSof1OKyOWqu/pv/B2yACfuPMikq8RpPxvVu7hhS0ztGP6ZvXz72Htq4Zg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260302.0': - resolution: {integrity: sha512-jK1L3ADkiWxFzlqZTq2iHW1Bd2Nzu1fmMWCGZw4sMZ2W1B2WCm2wHwO2SX/py4BgylyEN3wuF+5zagbkNKht9A==} + '@cloudflare/workerd-windows-64@1.20260305.0': + resolution: {integrity: sha512-BA0uaQPOaI2F6mJtBDqplGnQQhpXCzwEMI33p/TnDxtSk9u8CGIfBFuI6uqo8mJ6ijIaPjeBLGOn2CiRMET4qg==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -4563,8 +4563,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - miniflare@4.20260302.0: - resolution: {integrity: sha512-joGFywlo7HdfHXXGOkc6tDCVkwjEncM0mwEsMOLWcl+vDVJPj9HRV7JtEa0+lCpNOLdYw7mZNHYe12xz9KtJOw==} + miniflare@4.20260305.0: + resolution: {integrity: sha512-jVhtKJtiwaZa3rI+WgoLvSJmEazDsoUmAPYRUmEe2VO6VSbvkhbnDRm+dsPbYRatgNIExwrpqG1rv96jHiSb0w==} engines: {node: '>=18.0.0'} hasBin: true @@ -5989,17 +5989,17 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260302.0: - resolution: {integrity: sha512-FhNdC8cenMDllI6bTktFgxP5Bn5ZEnGtofgKipY6pW9jtq708D1DeGI6vGad78KQLBGaDwFy1eThjCoLYgFfog==} + workerd@1.20260305.0: + resolution: {integrity: sha512-JkhfCLU+w+KbQmZ9k49IcDYc78GBo7eG8Mir8E2+KVjR7otQAmpcLlsous09YLh8WQ3Bt3Mi6/WMStvMAPukeA==} engines: {node: '>=16'} hasBin: true - wrangler@4.68.1: - resolution: {integrity: sha512-G+TI3k/olEGBAVkPtUlhAX/DIbL/190fv3aK+r+45/wPclNEymjxCc35T8QGTDhc2fEMXiw51L5bH9aNsBg+yQ==} + wrangler@4.69.0: + resolution: {integrity: sha512-EmVfIM65I5b4ITHe3Y9R7zQyf4NUBQ1leStakMlWiVR9n6VlDwuEltyQI2l3i0JciDnWyR3uqe+T6C08ivniTQ==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260302.0 + '@cloudflare/workers-types': ^4.20260305.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -6273,7 +6273,7 @@ snapshots: '@types/tough-cookie': 4.0.5 tough-cookie: 4.1.4 - '@cloudflare/containers@0.1.0': {} + '@cloudflare/containers@0.1.1': {} '@cloudflare/kv-asset-handler@0.4.2': {} @@ -6291,25 +6291,25 @@ snapshots: - supports-color - utf-8-validate - '@cloudflare/unenv-preset@2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0)': + '@cloudflare/unenv-preset@2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260305.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260302.0 + workerd: 1.20260305.0 - '@cloudflare/workerd-darwin-64@1.20260302.0': + '@cloudflare/workerd-darwin-64@1.20260305.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260302.0': + '@cloudflare/workerd-darwin-arm64@1.20260305.0': optional: true - '@cloudflare/workerd-linux-64@1.20260302.0': + '@cloudflare/workerd-linux-64@1.20260305.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260302.0': + '@cloudflare/workerd-linux-arm64@1.20260305.0': optional: true - '@cloudflare/workerd-windows-64@1.20260302.0': + '@cloudflare/workerd-windows-64@1.20260305.0': optional: true '@cloudflare/workers-types@4.20260305.0': {} @@ -10381,12 +10381,12 @@ snapshots: mimic-response@4.0.0: {} - miniflare@4.20260302.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): + miniflare@4.20260305.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260302.0 + workerd: 1.20260305.0 ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -11990,24 +11990,24 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260302.0: + workerd@1.20260305.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260302.0 - '@cloudflare/workerd-darwin-arm64': 1.20260302.0 - '@cloudflare/workerd-linux-64': 1.20260302.0 - '@cloudflare/workerd-linux-arm64': 1.20260302.0 - '@cloudflare/workerd-windows-64': 1.20260302.0 + '@cloudflare/workerd-darwin-64': 1.20260305.0 + '@cloudflare/workerd-darwin-arm64': 1.20260305.0 + '@cloudflare/workerd-linux-64': 1.20260305.0 + '@cloudflare/workerd-linux-arm64': 1.20260305.0 + '@cloudflare/workerd-windows-64': 1.20260305.0 - wrangler@4.68.1(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): + wrangler@4.69.0(@cloudflare/workers-types@4.20260305.0)(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260302.0) + '@cloudflare/unenv-preset': 2.14.0(unenv@2.0.0-rc.24)(workerd@1.20260305.0) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260302.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) + miniflare: 4.20260305.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260302.0 + workerd: 1.20260305.0 optionalDependencies: '@cloudflare/workers-types': 4.20260305.0 fsevents: 2.3.3 From 1acb8057995a446574827b6e3e756de462e8f6be Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 28 Feb 2026 21:23:11 +0800 Subject: [PATCH 117/259] style: migrate eslint to oxlint (#21224) * chore: add oxlint support * style: apply autofix * style: apply autofix for toSorted * style: use alternative api for nsfw-flag jsPlugins * fix: git diff * fix: codeql * test: console.log * style: update lint workflow to use Checkstyle SARIF converter * style: remove debug log from extractDateFromURL function * chore: use oxlint-json-to-sarif * test: console.log * test: remove console.log * test: update cookie data expectation in getCookies test https://github.com/mccutchen/go-httpbin/pull/235 breaks this * style: type-aware linting * style: enable type-aware linting for oxlint --- .github/workflows/lint.yml | 18 +- .oxfmtrc.json | 6 +- .oxlintrc.json | 519 +++++++++ eslint-plugins/no-then.js | 45 + eslint-plugins/nsfw-flag.js | 20 +- eslint.config.mjs | 130 +-- lib/middleware/parameter.ts | 4 +- lib/routes/0x80/index.ts | 1 - lib/routes/2048/index.tsx | 2 +- lib/routes/abc/templates/description.tsx | 1 + lib/routes/arcteryx/regear-new-arrivals.tsx | 51 +- lib/routes/asmr-200/type.ts | 2 +- lib/routes/bilibili/api-interface.d.ts | 3 +- lib/routes/bilibili/utils.ts | 1 + lib/routes/bilibili/wasm-exec.ts | 2 + lib/routes/biquge/index.ts | 2 +- lib/routes/caixin/utils.ts | 2 +- lib/routes/capitalmind/utils.ts | 1 + lib/routes/cma/channel.tsx | 3 +- lib/routes/csu/utils.ts | 1 + lib/routes/curius/links.tsx | 2 +- lib/routes/cyzone/util.ts | 2 +- lib/routes/discuz/discuz.ts | 2 +- lib/routes/domp4/utils.ts | 1 + lib/routes/douban/book/rank.ts | 4 +- lib/routes/duozhuayu/search.tsx | 1 + lib/routes/esquirehk/tag.tsx | 1 + lib/routes/follow/profile.ts | 2 +- lib/routes/gov/cmse/index.ts | 2 +- lib/routes/gov/hebei/czt.ts | 2 +- lib/routes/gov/nmpa/generic.ts | 4 +- lib/routes/gov/nsfc/index.ts | 2 +- lib/routes/grainoil/category.ts | 1 + lib/routes/hkepc/index.ts | 1 + lib/routes/huxiu/util.ts | 2 +- lib/routes/javbus/index.tsx | 2 +- lib/routes/joneslanglasalle/index.ts | 2 +- lib/routes/linkedin/cn/renderer.ts | 2 + lib/routes/mangadex/_feed.ts | 2 +- lib/routes/misskey/types.ts | 2 +- lib/routes/my-formosa/index.ts | 2 +- lib/routes/natgeo/natgeo.ts | 7 +- lib/routes/radio/album.ts | 2 +- lib/routes/radio/zhibo.ts | 2 +- lib/routes/reuters/common.tsx | 1 + lib/routes/sciencedirect/cf-email.ts | 1 + lib/routes/scientificamerican/podcast.ts | 4 +- .../templates/description.tsx | 1 + lib/routes/telegram/channel-media.ts | 2 +- lib/routes/tingtingfm/utils.ts | 1 + lib/routes/tongli/news.ts | 2 +- lib/routes/toutiao/a-bogus.ts | 1 + lib/routes/twitter/utils.ts | 2 +- lib/routes/washingtonpost/app.tsx | 1 + lib/routes/zhihu/execlib/x-zse-96-v3.ts | 1 + lib/routes/zhubai/top20.tsx | 1 + lib/routes/zjol/paper.ts | 2 +- lib/setup.test.ts | 6 +- lib/shims/xxhash-wasm.ts | 1 + lib/utils/puppeteer-utils.test.ts | 2 +- package.json | 25 +- pnpm-lock.yaml | 1001 +++++------------ scripts/workflow/build-docs.ts | 2 +- 63 files changed, 1025 insertions(+), 898 deletions(-) create mode 100644 .oxlintrc.json create mode 100644 eslint-plugins/no-then.js diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 410c3f1b3798e4..6cd351a57ff6c7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: eslint-warning: name: Lint if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} - runs-on: ubuntu-slim + runs-on: ubuntu-latest timeout-minutes: 15 permissions: security-events: write @@ -27,25 +27,21 @@ jobs: node-version: lts/* cache: 'pnpm' - run: pnpm i - - name: Install ESLint SARIF formatter - # https://github.com/microsoft/sarif-js-sdk/issues/91 unncessary deps on eslint@8 - run: | - wget https://raw.githubusercontent.com/microsoft/sarif-js-sdk/refs/heads/main/packages/eslint-formatter-sarif/sarif.js -O node_modules/sarif.cjs - pnpm i -D utf8 lodash jschardet + - name: Install oxlint to SARIF converter + run: pnpm i -g oxlint-json-to-sarif - name: Lint - run: pnpm run lint - --format node_modules/sarif.cjs - --output-file eslint-results.sarif + run: pnpm exec oxlint --type-aware + --format=json | oxlint-json-to-sarif > oxlint-results.sarif continue-on-error: true - name: Upload analysis results to GitHub uses: github/codeql-action/upload-sarif@v4 with: - sarif_file: eslint-results.sarif + sarif_file: oxlint-results.sarif wait-for-processing: true - name: Upload Artifact uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: - path: eslint-results.sarif + path: oxlint-results.sarif # https://github.com/amannn/action-semantic-pull-request title-lint: diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 93705aa65c3675..0e90a74943fefc 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -6,7 +6,11 @@ "trailingComma": "es5", "arrowParens": "always", "ignorePatterns": ["lib/routes-deprecated", "lib/router.js", "babel.config.js", "scripts/docker/minify-docker.js", "dist", "pnpm-lock.yaml"], - "experimentalSortPackageJson": { + "sortPackageJson": { "sortScripts": true + }, + "sortImports": { + "groups": ["side_effect", "builtin", "external", ["internal", "subpath"], ["parent", "sibling", "index"], "style", "unknown"], + "order": "asc" } } diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 00000000000000..940b44731d7c91 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,519 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "categories": { + "correctness": "off" + }, + "ignorePatterns": ["**/coverage", "**/.vscode", "**/docker-compose.yml", "!.github", "assets/build", "lib/routes-deprecated", "lib/router.js", "dist", "dist-lib", "dist-worker"], + "env": { + "builtin": true, + "browser": true, + "es2026": true, + "node": true + }, + "plugins": ["eslint", "typescript", "node", "unicorn", "import"], + "jsPlugins": ["@stylistic/eslint-plugin", { "name": "js-import-x", "specifier": "eslint-plugin-import-x" }, { "name": "n", "specifier": "eslint-plugin-n" }, "./eslint-plugins/no-then.js", "./eslint-plugins/nsfw-flag.js"], + "rules": { + // #region --- ESLint js/recommended possible problems --- + "constructor-super": "error", + "for-direction": "error", + "getter-return": "error", + "no-async-promise-executor": "error", + "no-class-assign": "error", + "no-compare-neg-zero": "error", + "no-cond-assign": "error", + "no-const-assign": "error", + "no-constant-binary-expression": "error", + "no-constant-condition": "error", + // "no-control-regex": "error", -> off + "no-debugger": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-ex-assign": "error", + "no-fallthrough": "error", + "no-func-assign": "error", + "no-import-assign": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-misleading-character-class": "error", + "no-new-native-nonconstructor": "error", + "no-nonoctal-decimal-escape": "error", + "no-obj-calls": "error", + // "no-prototype-builtins": "error", -> off + "no-self-assign": "error", + "no-setter-return": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-unassigned-vars": "error", + // "no-undef": "error", + "no-unexpected-multiline": "error", + "no-unreachable": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-private-class-members": "error", + // "no-unused-vars": "error", -> off for @typescript-eslint/no-unused-vars + "no-useless-backreference": "error", + "use-isnan": "error", + "valid-typeof": "error", + // #endregion + + // #region --- ESLint js/recommended suggestions --- + "no-case-declarations": "error", + "no-delete-var": "error", + "no-empty": "error", + "no-empty-static-block": "error", + "no-extra-boolean-cast": "error", + "no-global-assign": "error", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-shadow-restricted-names": "error", + "no-unused-labels": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "preserve-caught-error": "error", + "require-yield": "error", + // #endregion + + // #region --- TypeScript flat/recommended --- + // "@typescript-eslint/ban-ts-comment": "error", + "no-array-constructor": "error", // equivalent to @typescript-eslint/no-array-constructor in oxlint + "@typescript-eslint/no-duplicate-enum-values": "error", + "@typescript-eslint/no-empty-object-type": "error", + // "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-extra-non-null-assertion": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-asserted-optional-chain": "error", + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-unnecessary-type-constraint": "error", + "@typescript-eslint/no-unsafe-declaration-merging": "error", + "@typescript-eslint/no-unsafe-function-type": "error", + // "no-unused-expressions": "off", + // "@typescript-eslint/no-unused-expressions": "error", + // "no-unused-vars": "off", + // "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/no-wrapper-object-types": "error", + "@typescript-eslint/prefer-as-const": "error", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/triple-slash-reference": "error", + // #endregion + + // #region --- TypeScript flat/stylistic --- + "@typescript-eslint/adjacent-overload-signatures": "error", + // "@typescript-eslint/array-type": "error", + "@typescript-eslint/ban-tslint-comment": "error", + "@typescript-eslint/class-literal-property-style": "error", + "@typescript-eslint/consistent-generic-constructors": "error", + // "@typescript-eslint/consistent-indexed-object-style": "error", + "@typescript-eslint/consistent-type-assertions": "error", + // "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/no-confusing-non-null-assertion": "error", + // "no-empty-function": "off", + // "@typescript-eslint/no-empty-function": "error", + // "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/prefer-for-of": "error", + "@typescript-eslint/prefer-function-type": "error", + // #endregion + + // #region --- n flat/recommended-script --- + "n/hashbang": "error", + // "n/no-deprecated-api": "error", + "node/no-exports-assign": "error", + "n/no-extraneous-import": "error", + // "n/no-extraneous-require": "error", + // "n/no-missing-import": "error", + // "n/no-missing-require": "error", + // "n/no-process-exit": "error", + "n/no-unpublished-bin": "error", + // "n/no-unpublished-import": "error", + // "n/no-unpublished-require": "error", + "n/no-unsupported-features/es-builtins": "error", + "n/no-unsupported-features/es-syntax": "error", + // "n/no-unsupported-features/node-builtins": "error", + "n/process-exit-as-throw": "error", + // #endregion + + // #region --- unicorn --- + "unicorn/catch-error-name": "error", + "unicorn/consistent-assert": "error", + "unicorn/consistent-date-clone": "error", + "unicorn/consistent-empty-array-spread": "error", + "unicorn/consistent-existence-index-check": "error", + // "unicorn/consistent-function-scoping": "error", + "unicorn/empty-brace-spaces": "error", + "unicorn/error-message": "error", + "unicorn/escape-case": "error", + // "unicorn/expiring-todo-comments": "error", // not yet implemented + // "unicorn/explicit-length-check": "error", + // "unicorn/filename-case": "error", + // "unicorn/import-style": "error", // not yet implemented + // "unicorn/isolated-functions": "error", // not yet implemented + "unicorn/new-for-builtins": "error", + "unicorn/no-abusive-eslint-disable": "error", + "unicorn/no-accessor-recursion": "error", + "unicorn/no-anonymous-default-export": "error", + // "unicorn/no-array-callback-reference": "error", + "unicorn/no-array-for-each": "error", + "unicorn/no-array-method-this-argument": "error", + // "unicorn/no-array-reduce": "error", + "unicorn/no-array-reverse": "error", + // "unicorn/no-array-sort": "error", + // "unicorn/no-await-expression-member": "error", + "unicorn/no-await-in-promise-methods": "error", + "unicorn/no-console-spaces": "error", + "unicorn/no-document-cookie": "error", + // "unicorn/no-empty-file": "error", + // "unicorn/no-for-loop": "error", // won't be implemented + // "unicorn/no-hex-escape": "error", + "unicorn/no-immediate-mutation": "error", + "unicorn/no-instanceof-builtins": "error", + "unicorn/no-invalid-fetch-options": "error", + "unicorn/no-invalid-remove-event-listener": "error", + "unicorn/no-lonely-if": "error", + "unicorn/no-magic-array-flat-depth": "error", + // "unicorn/no-named-default": "error", -> use import/no-named-default + "no-negated-condition": "off", + "unicorn/no-negated-condition": "error", + "unicorn/no-negation-in-equality-check": "error", + "no-nested-ternary": "off", + // "unicorn/no-nested-ternary": "error", + "unicorn/no-new-array": "error", + "unicorn/no-new-buffer": "error", + // "unicorn/no-null": "error", + // "unicorn/no-object-as-default-parameter": "error", + // "unicorn/no-process-exit": "error", + "unicorn/no-single-promise-in-promise-methods": "error", + "unicorn/no-static-only-class": "error", + "unicorn/no-thenable": "error", + "unicorn/no-this-assignment": "error", + "unicorn/no-typeof-undefined": "error", + "unicorn/no-unnecessary-array-flat-depth": "error", + "unicorn/no-unnecessary-array-splice-count": "error", + "unicorn/no-unnecessary-await": "error", + // "unicorn/no-unnecessary-polyfills": "error", // not yet implemented + "unicorn/no-unnecessary-slice-end": "error", + "unicorn/no-unreadable-array-destructuring": "error", + "unicorn/no-unreadable-iife": "error", + "unicorn/no-useless-collection-argument": "error", + "unicorn/no-useless-error-capture-stack-trace": "error", + "unicorn/no-useless-fallback-in-spread": "error", + "unicorn/no-useless-length-check": "error", + "unicorn/no-useless-promise-resolve-reject": "error", + "unicorn/no-useless-spread": "error", + // "unicorn/no-useless-switch-case": "error", + // "unicorn/no-useless-undefined": "error", + "unicorn/no-zero-fractions": "error", + // "unicorn/number-literal-case": "error", + // "unicorn/numeric-separators-style": "error", + "unicorn/prefer-add-event-listener": "error", + "unicorn/prefer-array-find": "error", + "unicorn/prefer-array-flat": "error", + "unicorn/prefer-array-flat-map": "error", + "unicorn/prefer-array-index-of": "error", + "unicorn/prefer-array-some": "error", + "unicorn/prefer-at": "error", + "unicorn/prefer-bigint-literals": "error", + "unicorn/prefer-blob-reading-methods": "error", + "unicorn/prefer-class-fields": "error", + "unicorn/prefer-classlist-toggle": "error", + // "unicorn/prefer-code-point": "error", + "unicorn/prefer-date-now": "error", + "unicorn/prefer-default-parameters": "error", + "unicorn/prefer-dom-node-append": "error", + "unicorn/prefer-dom-node-dataset": "error", + "unicorn/prefer-dom-node-remove": "error", + "unicorn/prefer-dom-node-text-content": "error", + "unicorn/prefer-event-target": "error", + // "unicorn/prefer-export-from": "error", // not yet implemented + // "unicorn/prefer-global-this": "error", + "unicorn/prefer-includes": "error", + "unicorn/prefer-keyboard-event-key": "error", + "unicorn/prefer-logical-operator-over-ternary": "error", + "unicorn/prefer-math-min-max": "error", + "unicorn/prefer-math-trunc": "error", + "unicorn/prefer-modern-dom-apis": "error", + "unicorn/prefer-modern-math-apis": "error", + // "unicorn/prefer-module": "error", + "unicorn/prefer-native-coercion-functions": "error", + "unicorn/prefer-negative-index": "error", + "unicorn/prefer-node-protocol": "error", + // "unicorn/prefer-number-properties": "error", + "unicorn/prefer-object-from-entries": "error", + "unicorn/prefer-optional-catch-binding": "error", + "unicorn/prefer-prototype-methods": "error", + "unicorn/prefer-query-selector": "error", + "unicorn/prefer-reflect-apply": "error", + "unicorn/prefer-regexp-test": "error", + "unicorn/prefer-response-static-json": "error", + "unicorn/prefer-set-has": "error", + "unicorn/prefer-set-size": "error", + // "unicorn/prefer-single-call": "error", // not yet implemented + // "unicorn/prefer-spread": "error", + "unicorn/prefer-string-raw": "error", + "unicorn/prefer-string-replace-all": "error", + // "unicorn/prefer-string-slice": "error", + "unicorn/prefer-string-starts-ends-with": "error", + "unicorn/prefer-string-trim-start-end": "error", + "unicorn/prefer-structured-clone": "error", + // "unicorn/prefer-switch": "error", // not yet implemented + "unicorn/prefer-ternary": "error", + // "unicorn/prefer-top-level-await": "error", + "unicorn/prefer-type-error": "error", + // "unicorn/prevent-abbreviations": "error", // not yet implemented + "unicorn/relative-url-style": "error", + "unicorn/require-array-join-separator": "error", + "unicorn/require-module-attributes": "error", + "unicorn/require-module-specifiers": "error", + "unicorn/require-number-to-fixed-digits-argument": "error", + // "unicorn/switch-case-braces": "error", + // "unicorn/template-indent": "error", // not yet implemented + // "unicorn/text-encoding-identifier-case": "error", + "unicorn/throw-new-error": "error", + // #endregion + + // --- custom rules --- + // #region --- possible problems --- + "array-callback-return": ["error", { "allowImplicit": true }], + + "no-await-in-loop": "error", + "no-control-regex": "off", + "no-prototype-builtins": "off", + "no-undef": "off", // typescript/eslint-recommended, ts(2552) + // #endregion + + // #region --- suggestions --- + "arrow-body-style": "error", + "block-scoped-var": "error", + "curly": "error", + // "dot-notation": "error", -> use @typescript-eslint/dot-notation + "eqeqeq": "error", + + "default-case": ["warn", { "commentPattern": "^no default$" }], + + "default-case-last": "error", + "no-console": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-label": "error", + + "no-implicit-coercion": [ + "error", + { + "boolean": false, + "number": false, + "string": false, + "disallowTemplateShorthand": true + } + ], + + // "no-implicit-globals": "error", // not yet implemented + "no-labels": "error", + "no-lonely-if": "error", + "no-multi-str": "error", + "no-new-func": "error", + "no-unneeded-ternary": "error", + "no-useless-computed-key": "error", + "no-useless-concat": "warn", + "no-useless-rename": "error", + "no-var": "error", + // "object-shorthand": "error", // not yet implemented + // "prefer-arrow-callback'": "error", // not yet implemented + "prefer-const": "error", + "prefer-object-has-own": "error", + "require-await": "error", + // "prefer-regex-literals": [ // not yet implemented + // "error", + // { + // "disallowRedundantWrapping": true + // } + // ], + // #endregion + + // #region --- TypeScript --- + "@typescript-eslint/array-type": ["error", { "default": "array-simple" }], + + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/consistent-indexed-object-style": "off", // stylistic + "@typescript-eslint/consistent-type-definitions": "off", // stylistic + "@typescript-eslint/no-empty-function": "off", // stylistic && tests + "@typescript-eslint/no-explicit-any": "off", + + "@typescript-eslint/no-inferrable-types": ["error", { "ignoreParameters": true, "ignoreProperties": true }], + + "@typescript-eslint/no-unnecessary-template-expression": "error", // type-aware + + "@typescript-eslint/no-unused-expressions": ["error", { "allowShortCircuit": true, "allowTernary": true }], + "@typescript-eslint/no-unused-vars": ["error", { "args": "after-used", "argsIgnorePattern": "^_" }], + + // type-aware + // "@typescript-eslint/await-thenable": "off", + // "@typescript-eslint/no-base-to-string": "off", + // "@typescript-eslint/no-floating-promises": "off", + // "@typescript-eslint/no-misused-spread": "off", + // "@typescript-eslint/no-redundant-type-constituents": "off", + // "@typescript-eslint/unbound-method": "off", + // "@typescript-eslint/restrict-template-expressions": "off", + // #endregion + + // #region --- unicorn --- + "unicorn/consistent-function-scoping": "warn", + "unicorn/explicit-length-check": "off", + + "unicorn/filename-case": [ + "error", + { + "case": "kebabCase", + "ignore": [".*\\.(yaml|yml)$", "RequestInProgress\\.js$"] + } + ], + + "unicorn/no-array-callback-reference": "warn", + "unicorn/no-array-reduce": "warn", + "unicorn/no-array-sort": "warn", + "unicorn/no-await-expression-member": "off", + "unicorn/no-empty-file": "warn", + // "unicorn/no-for-loop": "off", // won't be implemented + "unicorn/no-hex-escape": "warn", + "unicorn/no-nested-ternary": "off", + "unicorn/no-null": "off", + "unicorn/no-object-as-default-parameter": "warn", + "unicorn/no-process-exit": "off", + "unicorn/no-useless-switch-case": "off", + + "unicorn/no-useless-undefined": ["error", { "checkArguments": false }], + + "unicorn/number-literal-case": "off", + + "unicorn/numeric-separators-style": [ + "warn", + { + "onlyIfContainsSeparator": false, + "number": { + "minimumDigits": 7, + "groupLength": 3 + }, + "binary": { + "minimumDigits": 9, + "groupLength": 4 + }, + "octal": { + "minimumDigits": 9, + "groupLength": 4 + }, + "hexadecimal": { + "minimumDigits": 5, + "groupLength": 2 + } + } + ], + + "unicorn/prefer-code-point": "warn", + "unicorn/prefer-global-this": "off", + "unicorn/prefer-import-meta-properties": "warn", + "unicorn/prefer-module": "off", + + "unicorn/prefer-number-properties": ["error", { "checkInfinity": false, "checkNaN": false }], + + "unicorn/prefer-spread": "warn", + "unicorn/prefer-string-slice": "warn", + + // "unicorn/prefer-switch": [ // not yet implemented + // "warn", + // { + // "emptyDefaultCase": "do-nothing-comment" + // } + // ], + + "unicorn/prefer-top-level-await": "off", + "unicorn/prevent-abbreviations": "off", + "unicorn/switch-case-braces": ["error", "avoid"], + "unicorn/text-encoding-identifier-case": "off", + // #endregion + + // #region --- stylistic --- + "@stylistic/arrow-parens": "error", + "@stylistic/arrow-spacing": "error", + "@stylistic/comma-spacing": "error", + "@stylistic/comma-style": "error", + "@stylistic/function-call-spacing": "error", + "@stylistic/keyword-spacing": "off", + "@stylistic/linebreak-style": "error", + + "@stylistic/lines-around-comment": ["error", { "beforeBlockComment": false }], + + "@stylistic/no-multiple-empty-lines": "error", + "@stylistic/no-trailing-spaces": "error", + "@stylistic/rest-spread-spacing": "error", + "@stylistic/semi": "error", + "@stylistic/space-before-blocks": "error", + "@stylistic/space-in-parens": "error", + "@stylistic/space-infix-ops": "error", + "@stylistic/space-unary-ops": "error", + "@stylistic/spaced-comment": "error", + // #endregion + + // #region --- import sorting --- + // oxfmt also handles import sorting + "sort-imports": "off", + "import-x/order": "off", + // "simple-import-sort/imports": "error", + // "simple-import-sort/exports": "error", + + "import-x/first": "error", + "js-import-x/newline-after-import": "error", // oxc native not yet implemented + "no-duplicate-imports": "off", + "import-x/no-duplicates": "error", + + "@typescript-eslint/consistent-type-imports": "error", + // #endregion + + // #region --- n --- + "n/no-extraneous-require": "error", + "n/no-deprecated-api": "warn", + "n/no-missing-import": "off", + "n/no-missing-require": "off", + "n/no-process-exit": "off", + "n/no-unpublished-import": "off", + + "n/no-unpublished-require": ["error", { "allowModules": ["tosource"] }], + + "n/no-unsupported-features/node-builtins": [ + "error", + { + "version": "^22.20.0 || ^24", + "allowExperimental": true, + "ignores": [] + } + ], + // #endregion + + // github + "github/no-then": "warn", + + // rsshub + "@rsshub/nsfw-flag/add-nsfw-flag": "error" + }, + "overrides": [ + { + "files": [".puppeteerrc.cjs"], + "plugins": ["typescript"], + "rules": { + "@typescript-eslint/no-require-imports": "off" + } + }, + { + "files": ["**/*.test.ts"], + "plugins": ["typescript"], + "rules": { + "@typescript-eslint/no-unnecessary-template-expression": "off" + } + } + ] +} diff --git a/eslint-plugins/no-then.js b/eslint-plugins/no-then.js new file mode 100644 index 00000000000000..eef945cc34c94d --- /dev/null +++ b/eslint-plugins/no-then.js @@ -0,0 +1,45 @@ +import { eslintCompatPlugin } from '@oxlint/plugins'; + +const rule = { + meta: { + type: 'suggestion', + docs: { + description: 'enforce using `async/await` syntax over Promises', + url: 'https://github.com/github/eslint-plugin-github/blob/main/docs/rules/no-then.md', + recommended: true, + }, + schema: [], + messages: { + preferAsyncAwait: 'Prefer async/await to Promise.{{method}}()', + }, + }, + + createOnce(context) { + return { + MemberExpression(node) { + if (node.property && node.property.name === 'then') { + context.report({ + node: node.property, + messageId: 'preferAsyncAwait', + data: { method: 'then' }, + }); + } else if (node.property && node.property.name === 'catch') { + context.report({ + node: node.property, + messageId: 'preferAsyncAwait', + data: { method: 'catch' }, + }); + } + }, + }; + }, +}; + +export default eslintCompatPlugin({ + meta: { + name: 'github', + }, + rules: { + 'no-then': rule, + }, +}); diff --git a/eslint-plugins/nsfw-flag.js b/eslint-plugins/nsfw-flag.js index 7eff8f79d9bbb9..32c9397cd69046 100644 --- a/eslint-plugins/nsfw-flag.js +++ b/eslint-plugins/nsfw-flag.js @@ -1,6 +1,7 @@ /** * ESLint 9 plugin to automatically mark NSFW routes with the nsfw flag */ +import { eslintCompatPlugin } from '@oxlint/plugins'; const nsfwRoutes = [ '141jav', @@ -88,7 +89,7 @@ function isNsfwRoute(filePath) { }); } -export default { +export default eslintCompatPlugin({ meta: { name: '@rsshub/nsfw-flag', version: '1.0.0', @@ -118,15 +119,14 @@ export default { missingNsfwFlag: 'NSFW route is missing the nsfw flag in features', }, }, - create(context) { - const filename = context.filename || context.getFilename(); - - // 如果不是 NSFW 路由,跳过检查 - if (!isNsfwRoute(filename)) { - return {}; - } - + createOnce(context) { return { + before() { + // 如果不是 NSFW 路由,跳过检查 + if (!isNsfwRoute(context.filename)) { + return false; + } + }, ExportNamedDeclaration(node) { // 查找 export const route: Route = {...} if ( @@ -211,4 +211,4 @@ export default { }, }, }, -}; +}); diff --git a/eslint.config.mjs b/eslint.config.mjs index ee655c9eb7d5da..929c6d9cb288e1 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -2,15 +2,15 @@ import js from '@eslint/js'; import stylistic from '@stylistic/eslint-plugin'; import typescriptEslint from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; -import { defineConfig } from 'eslint/config'; -import github from 'eslint-plugin-github'; -import { importX } from 'eslint-plugin-import-x'; +// import { importX } from 'eslint-plugin-import-x'; import n from 'eslint-plugin-n'; -import simpleImportSort from 'eslint-plugin-simple-import-sort'; +// import simpleImportSort from 'eslint-plugin-simple-import-sort'; import unicorn from 'eslint-plugin-unicorn'; import eslintPluginYml from 'eslint-plugin-yml'; +import { defineConfig } from 'eslint/config'; import globals from 'globals'; +// import github from './eslint-plugins/no-then.js'; // import nsfwFlagPlugin from './eslint-plugins/nsfw-flag.js'; const SOURCE_FILES_GLOB = '**/*.?([cm])[jt]s?(x)'; @@ -32,12 +32,12 @@ export default defineConfig([ plugins: { '@stylistic': stylistic, '@typescript-eslint': typescriptEslint, - github, + // github, js, n, unicorn, }, - extends: [js.configs.recommended, typescriptEslint.configs['flat/recommended'], typescriptEslint.configs['flat/stylistic'], n.configs['flat/recommended-script'], unicorn.configs.recommended], + // extends: [js.configs.recommended, typescriptEslint.configs['flat/recommended'], typescriptEslint.configs['flat/stylistic'], n.configs['flat/recommended-script'], unicorn.configs.recommended], languageOptions: { globals: { @@ -50,33 +50,30 @@ export default defineConfig([ sourceType: 'module', }, + linterOptions: { + reportUnusedDisableDirectives: false, + }, + rules: { // #region possible problems - 'array-callback-return': [ - 'error', - { - allowImplicit: true, - }, - ], + /* + 'array-callback-return': ['error', { allowImplicit: true }], 'no-await-in-loop': 'error', 'no-control-regex': 'off', 'no-prototype-builtins': 'off', + */ // #endregion // #region suggestions + /* 'arrow-body-style': 'error', 'block-scoped-var': 'error', curly: 'error', 'dot-notation': 'error', eqeqeq: 'error', - 'default-case': [ - 'warn', - { - commentPattern: '^no default$', - }, - ], + 'default-case': ['warn', { commentPattern: '^no default$' }], 'default-case-last': 'error', 'no-console': 'error', @@ -99,7 +96,7 @@ export default defineConfig([ 'no-lonely-if': 'error', 'no-multi-str': 'error', 'no-new-func': 'error', - + */ 'no-restricted-syntax': [ 'error', { @@ -127,7 +124,7 @@ export default defineConfig([ message: 'Usage of .catch(() => {}) is not allowed. Please handle the error appropriately.', }, ], - + /* 'no-unneeded-ternary': 'error', 'no-useless-computed-key': 'error', 'no-useless-concat': 'warn', @@ -146,9 +143,11 @@ export default defineConfig([ ], 'require-await': 'error', + */ // #endregion // #region typescript + /* '@typescript-eslint/array-type': ['error', { default: 'array-simple' }], '@typescript-eslint/ban-ts-comment': 'off', @@ -158,29 +157,13 @@ export default defineConfig([ '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-inferrable-types': ['error', { ignoreParameters: true, ignoreProperties: true }], - - '@typescript-eslint/no-var-requires': 'off', - - '@typescript-eslint/no-unused-expressions': [ - 'error', - { - allowShortCircuit: true, - allowTernary: true, - }, - ], - - '@typescript-eslint/no-unused-vars': [ - 'error', - { - args: 'after-used', - argsIgnorePattern: '^_', - }, - ], - - '@typescript-eslint/prefer-for-of': 'error', + '@typescript-eslint/no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], + '@typescript-eslint/no-unused-vars': ['error', { args: 'after-used', argsIgnorePattern: '^_' }], + */ // #endregion // #region unicorn + /* 'unicorn/consistent-function-scoping': 'warn', 'unicorn/explicit-length-check': 'off', @@ -199,18 +182,15 @@ export default defineConfig([ 'unicorn/no-empty-file': 'warn', 'unicorn/no-for-loop': 'off', 'unicorn/no-hex-escape': 'warn', + 'unicorn/no-nested-ternary': 'off', 'unicorn/no-null': 'off', 'unicorn/no-object-as-default-parameter': 'warn', - 'unicorn/no-nested-ternary': 'off', 'unicorn/no-process-exit': 'off', 'unicorn/no-useless-switch-case': 'off', - 'unicorn/no-useless-undefined': [ - 'error', - { - checkArguments: false, - }, - ], + 'unicorn/no-useless-undefined': ['error', { checkArguments: false }], + + 'unicorn/number-literal-case': 'off', 'unicorn/numeric-separators-style': [ 'warn', @@ -244,13 +224,7 @@ export default defineConfig([ 'unicorn/prefer-import-meta-properties': 'warn', 'unicorn/prefer-module': 'off', - 'unicorn/prefer-number-properties': [ - 'error', - { - checkInfinity: false, - checkNaN: false, - }, - ], + 'unicorn/prefer-number-properties': ['error', { checkInfinity: false, checkNaN: false }], 'unicorn/prefer-spread': 'warn', 'unicorn/prefer-string-slice': 'warn', @@ -266,10 +240,11 @@ export default defineConfig([ 'unicorn/prevent-abbreviations': 'off', 'unicorn/switch-case-braces': ['error', 'avoid'], 'unicorn/text-encoding-identifier-case': 'off', - 'unicorn/number-literal-case': 'off', + */ // #endregion // #region stylistic + /* '@stylistic/arrow-parens': 'error', '@stylistic/arrow-spacing': 'error', '@stylistic/comma-spacing': 'error', @@ -278,12 +253,7 @@ export default defineConfig([ '@stylistic/keyword-spacing': 'off', '@stylistic/linebreak-style': 'error', - '@stylistic/lines-around-comment': [ - 'error', - { - beforeBlockComment: false, - }, - ], + '@stylistic/lines-around-comment': ['error', { beforeBlockComment: false }], '@stylistic/no-multiple-empty-lines': 'error', '@stylistic/no-trailing-spaces': 'error', @@ -294,23 +264,19 @@ export default defineConfig([ '@stylistic/space-infix-ops': 'error', '@stylistic/space-unary-ops': 'error', '@stylistic/spaced-comment': 'error', + */ // #endregion // #region node specific rules + /* 'n/no-extraneous-require': 'error', - 'n/no-deprecated-api': 'warn', 'n/no-missing-import': 'off', 'n/no-missing-require': 'off', 'n/no-process-exit': 'off', 'n/no-unpublished-import': 'off', - 'n/no-unpublished-require': [ - 'error', - { - allowModules: ['tosource'], - }, - ], + 'n/no-unpublished-require': ['error', { allowModules: ['tosource'] }], 'n/no-unsupported-features/node-builtins': [ 'error', @@ -320,10 +286,11 @@ export default defineConfig([ ignores: [], }, ], + */ // #endregion // github - 'github/no-then': 'warn', + // 'github/no-then': 'warn', }, }, { @@ -333,6 +300,7 @@ export default defineConfig([ }, }, { + /* files: [SOURCE_FILES_GLOB], plugins: { 'simple-import-sort': simpleImportSort, @@ -351,7 +319,7 @@ export default defineConfig([ '@typescript-eslint/consistent-type-imports': 'error', 'import-x/consistent-type-specifier-style': ['error', 'prefer-top-level'], - }, + },*/ }, { files: ['**/*.yaml', '**/*.yml'], @@ -361,29 +329,13 @@ export default defineConfig([ }, language: 'yml/yaml', rules: { - 'lines-around-comment': [ - 'error', - { - beforeBlockComment: false, - }, - ], + 'lines-around-comment': ['error', { beforeBlockComment: false }], - 'yml/indent': [ - 'error', - 4, - { - indicatorValueIndent: 2, - }, - ], + 'yml/indent': ['error', 4, { indicatorValueIndent: 2 }], 'yml/no-empty-mapping-value': 'off', - 'yml/quotes': [ - 'error', - { - prefer: 'single', - }, - ], + 'yml/quotes': ['error', { prefer: 'single' }], }, }, ]); diff --git a/lib/middleware/parameter.ts b/lib/middleware/parameter.ts index 821bd4d0769488..d3b31692c94f02 100644 --- a/lib/middleware/parameter.ts +++ b/lib/middleware/parameter.ts @@ -97,7 +97,7 @@ const middleware: MiddlewareHandler = async (ctx, next) => { if (item.link) { let baseUrl = data.link; if (baseUrl && !/^https?:\/\//.test(baseUrl)) { - baseUrl = /^\/\//.test(baseUrl) ? 'http:' + baseUrl : 'http://' + baseUrl; + baseUrl = baseUrl.startsWith('//') ? 'http:' + baseUrl : 'http://' + baseUrl; } item.link = new URL(item.link, baseUrl).href; @@ -109,7 +109,7 @@ const middleware: MiddlewareHandler = async (ctx, next) => { let baseUrl = item.link || data.link; if (baseUrl && !/^https?:\/\//.test(baseUrl)) { - baseUrl = /^\/\//.test(baseUrl) ? 'http:' + baseUrl : 'http://' + baseUrl; + baseUrl = baseUrl.startsWith('//') ? 'http:' + baseUrl : 'http://' + baseUrl; } $('script').remove(); diff --git a/lib/routes/0x80/index.ts b/lib/routes/0x80/index.ts index 2c5ed27a0260b1..c59a1cf0785c70 100644 --- a/lib/routes/0x80/index.ts +++ b/lib/routes/0x80/index.ts @@ -18,7 +18,6 @@ export const route: Route = { function extractDateFromURL(url: string) { const regex = /\d{4}-\d{2}-\d{2}/; const match = url.match(regex); - return match ? match[0] : null; } diff --git a/lib/routes/2048/index.tsx b/lib/routes/2048/index.tsx index be0410e22a4a2c..2c95599aaaa9af 100644 --- a/lib/routes/2048/index.tsx +++ b/lib/routes/2048/index.tsx @@ -169,7 +169,7 @@ async function handler(ctx) { const downloadLink = content('#read_tpc').first().find('a').last(); const copyLink = content('#copytext')?.first()?.text(); - if (downloadLink?.text()?.startsWith('http') && /bt\.azvmw\.com$/.test(new URL(downloadLink.text()).hostname)) { + if (new URL(downloadLink.text()).hostname === 'bt.azvmw.com') { const torrentResponse = await ofetch(downloadLink.text()); const torrent = load(torrentResponse); diff --git a/lib/routes/abc/templates/description.tsx b/lib/routes/abc/templates/description.tsx index ab5f1a14702556..334ec2e93c36f4 100644 --- a/lib/routes/abc/templates/description.tsx +++ b/lib/routes/abc/templates/description.tsx @@ -1,5 +1,6 @@ import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; type DescriptionData = { image?: { diff --git a/lib/routes/arcteryx/regear-new-arrivals.tsx b/lib/routes/arcteryx/regear-new-arrivals.tsx index 14219e87507af7..6785aa96c410e2 100644 --- a/lib/routes/arcteryx/regear-new-arrivals.tsx +++ b/lib/routes/arcteryx/regear-new-arrivals.tsx @@ -47,34 +47,31 @@ async function handler() { items = items.filter((item) => item.availableSizes.length !== 0); const list = items.map((item) => { + const imgUrl = JSON.parse(item.imageUrls).front; + const originalPrice = getUSDPrice(item.originalPrice); + const regearPrice = item.priceRange[0] === item.priceRange[1] ? getUSDPrice(item.priceRange[0]) : `${getUSDPrice(item.priceRange[0])} - ${getUSDPrice(item.priceRange[1])}`; const data = { title: item.displayTitle, link: item.pdpLink.url, - imgUrl: JSON.parse(item.imageUrls).front, - availableSizes: item.availableSizes, - color: item.color, - originalPrice: getUSDPrice(item.originalPrice), - regearPrice: item.priceRange[0] === item.priceRange[1] ? getUSDPrice(item.priceRange[0]) : `${getUSDPrice(item.priceRange[0])} - ${getUSDPrice(item.priceRange[1])}`, - description: '', + description: renderToString( +
    + Available Sizes:  + {item.availableSizes.map((size) => ( + <>{size}  + ))} +
    + Color: {item.color} +
    + Original Price: {originalPrice} +
    + Regear Price: {regearPrice} +
    + +
    +
    +
    + ), }; - data.description = renderToString( -
    - Available Sizes:  - {data.availableSizes.map((size) => ( - <>{size}  - ))} -
    - Color: {data.color} -
    - Original Price: {data.originalPrice} -
    - Regear Price: {data.regearPrice} -
    - -
    -
    -
    - ); return data; }); @@ -82,10 +79,6 @@ async function handler() { title: 'Arcteryx - Regear - New Arrivals', link: url, description: 'Arcteryx - Regear - New Arrivals', - item: list.map((item) => ({ - title: item.title, - link: item.link, - description: item.description, - })), + item: list, }; } diff --git a/lib/routes/asmr-200/type.ts b/lib/routes/asmr-200/type.ts index a9ebf6bc0ce56f..eda1a23be1bd2a 100644 --- a/lib/routes/asmr-200/type.ts +++ b/lib/routes/asmr-200/type.ts @@ -49,7 +49,7 @@ export interface Work { rank_date: string; term: string; }> | null; - rate_average_2dp: number | number; + rate_average_2dp: number; rate_count: number; rate_count_detail: Array<{ count: number; diff --git a/lib/routes/bilibili/api-interface.d.ts b/lib/routes/bilibili/api-interface.d.ts index 89b2038ee55741..40adbbc6425fa4 100644 --- a/lib/routes/bilibili/api-interface.d.ts +++ b/lib/routes/bilibili/api-interface.d.ts @@ -474,8 +474,7 @@ export type DynamicType = * 更多类型请参考:https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/dynamic/dynamic_enum.md#%E5%8A%A8%E6%80%81%E4%B8%BB%E4%BD%93%E7%B1%BB%E5%9E%8B */ export type MajorType = - | 'MAJOR_TYPE_NONE' // 动态失效, 示例: 716510857084796964 - | 'MAJOR_TYPE_NONE' // 转发动态, 示例: 866756840240709701 + | 'MAJOR_TYPE_NONE' // 动态失效, 示例: 716510857084796964 转发动态, 示例: 866756840240709701 | 'MAJOR_TYPE_OPUS' // 图文动态, 示例: 870176712256651305 | 'MAJOR_TYPE_ARCHIVE' // 视频, 示例: 716526237365829703 | 'MAJOR_TYPE_PGC' // 剧集更新, 示例: 645981661420322824 diff --git a/lib/routes/bilibili/utils.ts b/lib/routes/bilibili/utils.ts index 65bf087866b11f..ae3e7581519f67 100644 --- a/lib/routes/bilibili/utils.ts +++ b/lib/routes/bilibili/utils.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import CryptoJS from 'crypto-js'; import { config } from '@/config'; diff --git a/lib/routes/bilibili/wasm-exec.ts b/lib/routes/bilibili/wasm-exec.ts index 05dc96f70aa4ac..b4359a3da0fc7f 100644 --- a/lib/routes/bilibili/wasm-exec.ts +++ b/lib/routes/bilibili/wasm-exec.ts @@ -1,3 +1,5 @@ +// oxlint-disable unicorn/prefer-math-trunc +// oxlint-disable no-unused-vars /* eslint-disable prefer-rest-params */ /* eslint-disable default-case */ /* eslint-disable unicorn/consistent-function-scoping */ diff --git a/lib/routes/biquge/index.ts b/lib/routes/biquge/index.ts index 15985aee1def37..4da457d8e16400 100644 --- a/lib/routes/biquge/index.ts +++ b/lib/routes/biquge/index.ts @@ -64,7 +64,7 @@ async function handler(ctx) { const url = item.attr('href'); if (url.startsWith('http')) { link = url; - } else if (/^\//.test(url)) { + } else if (url.startsWith('/')) { link = `${rootUrl}${url}`; } else { link = `${currentUrl}/${url}`; diff --git a/lib/routes/caixin/utils.ts b/lib/routes/caixin/utils.ts index 4fb6f13d11cc84..fd9be6dee05c4c 100644 --- a/lib/routes/caixin/utils.ts +++ b/lib/routes/caixin/utils.ts @@ -5,7 +5,7 @@ import got from '@/utils/got'; import { renderArticle } from './templates/article'; const parseArticle = async (item) => { - if (/\.blog\.caixin\.com$/.test(new URL(item.link).hostname)) { + if (new URL(item.link).hostname.endsWith('.blog.caixin.com')) { return parseBlogArticle(item); } else { const { data: response } = await got(item.link); diff --git a/lib/routes/capitalmind/utils.ts b/lib/routes/capitalmind/utils.ts index 5f92b42769115a..dc04f8b14e288a 100644 --- a/lib/routes/capitalmind/utils.ts +++ b/lib/routes/capitalmind/utils.ts @@ -2,6 +2,7 @@ import { load } from 'cheerio'; import type { DataItem } from '@/types'; import cache from '@/utils/cache'; +import logger from '@/utils/logger'; import ofetch from '@/utils/ofetch'; export const baseUrl = 'https://www.capitalmind.in'; diff --git a/lib/routes/cma/channel.tsx b/lib/routes/cma/channel.tsx index a41b0784b3f564..59c9484bef6f37 100644 --- a/lib/routes/cma/channel.tsx +++ b/lib/routes/cma/channel.tsx @@ -104,8 +104,7 @@ async function handler(ctx) { $( $('div.col-xs-8 span') .toArray() - .filter((a) => $(a).text().startsWith('来源')) - ?.pop() + .findLast((a) => $(a).text().startsWith('来源')) ) ?.text() ?.split(/:/) diff --git a/lib/routes/csu/utils.ts b/lib/routes/csu/utils.ts index aefb50aee7ff73..7283a8d26a6bf9 100644 --- a/lib/routes/csu/utils.ts +++ b/lib/routes/csu/utils.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import { inflateSync } from 'node:zlib'; const unzip = (b64Data) => { diff --git a/lib/routes/curius/links.tsx b/lib/routes/curius/links.tsx index 56d08d6108e787..d2bccb9f33f7d4 100644 --- a/lib/routes/curius/links.tsx +++ b/lib/routes/curius/links.tsx @@ -66,7 +66,7 @@ async function handler(ctx) { } const renderDescription = (item): string => { - const fullText = item.metadata?.full_text ? item.metadata.full_text.replaceAll(/\n/gm, '
    ') : ''; + const fullText = item.metadata?.full_text ? item.metadata.full_text.replaceAll('\n', '
    ') : ''; const firstComment = item.comments?.length ? item.comments[0].text.slice(0, 100) : ''; return renderToString( diff --git a/lib/routes/cyzone/util.ts b/lib/routes/cyzone/util.ts index 6f1cc8f9e9c74f..95f4b83b2b65b2 100644 --- a/lib/routes/cyzone/util.ts +++ b/lib/routes/cyzone/util.ts @@ -65,7 +65,7 @@ const processItems = async (apiUrl, limit, tryGet, ...params) => { return { title: item.title, - link: /^\/\//.test(item.url) ? `https:${item.url}` : item.url, + link: item.url.startsWith('//') ? `https:${item.url}` : item.url, description: item.description, category: [item.category_name, ...(item.tags?.split(',') ?? [])], guid: item.content_id, diff --git a/lib/routes/discuz/discuz.ts b/lib/routes/discuz/discuz.ts index b3eedadc47d5b0..359dd9bf73cce3 100644 --- a/lib/routes/discuz/discuz.ts +++ b/lib/routes/discuz/discuz.ts @@ -13,7 +13,7 @@ function fixUrl(itemLink, baseUrl) { // 处理相对链接 if (itemLink) { if (baseUrl && !/^https?:\/\//.test(baseUrl)) { - baseUrl = /^\/\//.test(baseUrl) ? 'http:' + baseUrl : 'http://' + baseUrl; + baseUrl = baseUrl.startsWith('//') ? 'http:' + baseUrl : 'http://' + baseUrl; } itemLink = new URL(itemLink, baseUrl).href; } diff --git a/lib/routes/domp4/utils.ts b/lib/routes/domp4/utils.ts index 06f5d2dace4e57..c01cc48142c66e 100644 --- a/lib/routes/domp4/utils.ts +++ b/lib/routes/domp4/utils.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import { config } from '@/config'; import ConfigNotFoundError from '@/errors/types/config-not-found'; diff --git a/lib/routes/douban/book/rank.ts b/lib/routes/douban/book/rank.ts index b17915659b7742..a68a22abd10cfe 100644 --- a/lib/routes/douban/book/rank.ts +++ b/lib/routes/douban/book/rank.ts @@ -26,7 +26,7 @@ async function handler(ctx) { const { type = '' } = ctx.req.param(); const referer = `https://m.douban.com/book/${type}`; - const _ = async (type) => { + const requestItem = async (type) => { const response = await got({ url: `https://m.douban.com/rexxar/api/v2/subject_collection/book_${type}/items?start=0&count=10`, headers: { Referer: referer }, @@ -34,7 +34,7 @@ async function handler(ctx) { return response.data.subject_collection_items; }; - const items = type ? await _(type) : [...(await _('fiction')), ...(await _('nonfiction'))]; + const items = type ? await requestItem(type) : [...(await requestItem('fiction')), ...(await requestItem('nonfiction'))]; return { title: `豆瓣热门图书-${type ? (type === 'fiction' ? '虚构类' : '非虚构类') : '全部'}`, diff --git a/lib/routes/duozhuayu/search.tsx b/lib/routes/duozhuayu/search.tsx index 35fed22ec49f53..1a977755ba04ef 100644 --- a/lib/routes/duozhuayu/search.tsx +++ b/lib/routes/duozhuayu/search.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import aesjs from 'aes-js'; import { renderToString } from 'hono/jsx/dom/server'; diff --git a/lib/routes/esquirehk/tag.tsx b/lib/routes/esquirehk/tag.tsx index 15db4deaf13e2a..21dcda81de0bb0 100644 --- a/lib/routes/esquirehk/tag.tsx +++ b/lib/routes/esquirehk/tag.tsx @@ -2,6 +2,7 @@ import * as cheerio from 'cheerio'; import { destr } from 'destr'; import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; import type { Route } from '@/types'; import cache from '@/utils/cache'; diff --git a/lib/routes/follow/profile.ts b/lib/routes/follow/profile.ts index 79eaeb3937e5a4..6d67374a4205c9 100644 --- a/lib/routes/follow/profile.ts +++ b/lib/routes/follow/profile.ts @@ -74,7 +74,7 @@ async function handler(ctx: Context): Promise { }; } -const getUrlIcon = (url: string, fallback?: boolean | undefined) => { +const getUrlIcon = (url: string, fallback?: boolean) => { let src: string; let fallbackUrl = ''; diff --git a/lib/routes/gov/cmse/index.ts b/lib/routes/gov/cmse/index.ts index 56c5dd59b66b36..f5f88c0506111a 100644 --- a/lib/routes/gov/cmse/index.ts +++ b/lib/routes/gov/cmse/index.ts @@ -41,7 +41,7 @@ async function handler(ctx) { return { title: item.text(), pubDate: parseDate(pubDate), - link: /\.html$/.test(link) ? link : `${link}#${pubDate}`, + link: link.endsWith('.html') ? link : `${link}#${pubDate}`, }; }); diff --git a/lib/routes/gov/hebei/czt.ts b/lib/routes/gov/hebei/czt.ts index e5a56a30a2c3a6..b41485c42457fd 100644 --- a/lib/routes/gov/hebei/czt.ts +++ b/lib/routes/gov/hebei/czt.ts @@ -46,7 +46,7 @@ async function handler(ctx) { return { title: item.text(), - link: `${rootUrl}${/^\.\.\/\.\./.test(item.attr('href')) ? item.attr('href').replace(/^\.\.\/\.\./, '') : `/xwdt/${category}${item.attr('href').replace(/^\./, '')}`}`, + link: `${rootUrl}${item.attr('href').startsWith('../..') ? item.attr('href').replace(/^\.\.\/\.\./, '') : `/xwdt/${category}${item.attr('href').replace(/^\./, '')}`}`, }; }); diff --git a/lib/routes/gov/nmpa/generic.ts b/lib/routes/gov/nmpa/generic.ts index 99d06287718711..c8a6b8461593e8 100644 --- a/lib/routes/gov/nmpa/generic.ts +++ b/lib/routes/gov/nmpa/generic.ts @@ -47,7 +47,7 @@ async function handler(ctx) { const items = await Promise.all( data.items.map((item) => { - if (/^https:\/\/www\.nmpa\.gov\.cn\//.test(item.link)) { + if (item.link.startsWith('https://www.nmpa.gov.cn/')) { return cache.tryGet(item.link, async () => { const { data: html } = await got(item.link); const $ = load(html); @@ -55,7 +55,7 @@ async function handler(ctx) { item.pubDate = timezone(parseDate($('meta[name="PubDate"]').attr('content')), +8); return item; }); - } else if (/^https:\/\/mp\.weixin\.qq\.com\//.test(item.link)) { + } else if (item.link.startsWith('https://mp.weixin.qq.com/')) { return finishArticleItem(item); } else { return item; diff --git a/lib/routes/gov/nsfc/index.ts b/lib/routes/gov/nsfc/index.ts index 1c8415817b318d..92a4320430e3f6 100644 --- a/lib/routes/gov/nsfc/index.ts +++ b/lib/routes/gov/nsfc/index.ts @@ -30,7 +30,7 @@ async function handler(ctx) { } const rootUrl = 'https://www.nsfc.gov.cn'; - const currentUrl = new URL((/\/more$/.test(thePath) ? `${thePath}.htm` : thePath) || 'publish/portal0/tab442/', rootUrl).href; + const currentUrl = new URL((thePath.endsWith('/more') ? `${thePath}.htm` : thePath) || 'publish/portal0/tab442/', rootUrl).href; const { data: response } = await got(currentUrl); diff --git a/lib/routes/grainoil/category.ts b/lib/routes/grainoil/category.ts index 3e862b855c3f65..5e71abd97455b7 100644 --- a/lib/routes/grainoil/category.ts +++ b/lib/routes/grainoil/category.ts @@ -5,6 +5,7 @@ import type { Context } from 'hono'; import type { Data, DataItem, Route } from '@/types'; import { ViewType } from '@/types'; +import cache from '@/utils/cache'; import ofetch from '@/utils/ofetch'; import { parseDate } from '@/utils/parse-date'; import timezone from '@/utils/timezone'; diff --git a/lib/routes/hkepc/index.ts b/lib/routes/hkepc/index.ts index 677e3c0d9b2873..1883c02bf6d2b9 100644 --- a/lib/routes/hkepc/index.ts +++ b/lib/routes/hkepc/index.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import { load } from 'cheerio'; import type { Route } from '@/types'; diff --git a/lib/routes/huxiu/util.ts b/lib/routes/huxiu/util.ts index f4a758ac4dc4fb..ccfbb9c651992c 100644 --- a/lib/routes/huxiu/util.ts +++ b/lib/routes/huxiu/util.ts @@ -262,7 +262,7 @@ const generateSignature = () => { * @param {Set} visited - Set of visited indices to prevent infinite loops. * @returns {unknown} - The resolved value. */ -const resolveNuxtData = (arr: unknown[], index: number, visited: Set = new Set()): unknown => { +const resolveNuxtData = (arr: unknown[], index: number, visited = new Set()): unknown => { if (visited.has(index)) { return arr[index]; } diff --git a/lib/routes/javbus/index.tsx b/lib/routes/javbus/index.tsx index c29014a5c9ee76..f5070c88b95213 100644 --- a/lib/routes/javbus/index.tsx +++ b/lib/routes/javbus/index.tsx @@ -73,7 +73,7 @@ export const route: Route = { }; async function handler(ctx) { - const isWestern = /^\/western/.test(getSubPath(ctx)); + const isWestern = getSubPath(ctx).startsWith('/western'); const domain = ctx.req.query('domain') ?? 'javbus.com'; const westernDomain = ctx.req.query('western_domain') ?? 'javbus.org'; diff --git a/lib/routes/joneslanglasalle/index.ts b/lib/routes/joneslanglasalle/index.ts index 60f1c9b21a9709..1d9ca7c9c95adc 100644 --- a/lib/routes/joneslanglasalle/index.ts +++ b/lib/routes/joneslanglasalle/index.ts @@ -136,7 +136,7 @@ export const handler = async (ctx: Context): Promise => { content_html: $$el.find('div.content-card__body').html(), }; }) - .filter((link): link is { url: string; type: string; content_html: string } => true); + .filter((_link): _link is { url: string; type: string; content_html: string } => true); const description: string = renderDescription({ description: cleanHtml($$('div.page-section').eq(1).html() ?? $$('div.copy-block').html() ?? '', ['div.richtext p', 'h3', 'h4', 'h5', 'h6', 'figure', 'img', 'ul', 'li', 'span', 'b']), diff --git a/lib/routes/linkedin/cn/renderer.ts b/lib/routes/linkedin/cn/renderer.ts index d8fefd42fde665..6328531fb647b2 100644 --- a/lib/routes/linkedin/cn/renderer.ts +++ b/lib/routes/linkedin/cn/renderer.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ const text_tag = { LINE_BREAK: 0, INLINE_CODE: 1, @@ -68,6 +69,7 @@ class Ucs2Text { return new Ucs2Text(_start === _end ? '' : this.codePoints.slice(_start, _end)); } slice(a, b) { + // oxlint-disable-next-line unicorn/prefer-string-slice return this.substring(a, b).toString(); } toString() { diff --git a/lib/routes/mangadex/_feed.ts b/lib/routes/mangadex/_feed.ts index 02d87d080b008b..5cf42266bf4838 100644 --- a/lib/routes/mangadex/_feed.ts +++ b/lib/routes/mangadex/_feed.ts @@ -71,7 +71,7 @@ const getMangaMeta = async (id: string, needCover: boolean = true, lang?: string * @usage const mangaMetaMap = await getMangaMetaByIds(['f98660a1-d2e2-461c-960d-7bd13df8b76d']); */ export async function getMangaMetaByIds(ids: string[], needCover: boolean = true, lang?: string | string[]): Promise> { - const deDuplidatedIds = [...new Set(ids)].sort(); + const deDuplidatedIds = [...new Set(ids)].toSorted(); const includes = needCover ? ['cover_art'] : []; const rawMangaMetas = (await cache.tryGet( diff --git a/lib/routes/misskey/types.ts b/lib/routes/misskey/types.ts index 65ab43bed92ce9..efdd7948e62cc5 100644 --- a/lib/routes/misskey/types.ts +++ b/lib/routes/misskey/types.ts @@ -105,7 +105,7 @@ interface MisskeyFile { thumbnailUrl: string | null; comment: string | null; folderId: string | null; - folder?: unknown | null; + folder?: unknown; userId: string | null; user?: MisskeyUser | null; } diff --git a/lib/routes/my-formosa/index.ts b/lib/routes/my-formosa/index.ts index dcddb57944a8a5..22c12684303c74 100644 --- a/lib/routes/my-formosa/index.ts +++ b/lib/routes/my-formosa/index.ts @@ -57,7 +57,7 @@ async function handler() { const res = await fetch(link); const $ = load(res); - const isTV = /^\/TV/.test(new URL(link).pathname); + const isTV = new URL(link).pathname.startsWith('/TV'); return { title, diff --git a/lib/routes/natgeo/natgeo.ts b/lib/routes/natgeo/natgeo.ts index b2bd3811ab4379..5cd0bcc3fba4c8 100644 --- a/lib/routes/natgeo/natgeo.ts +++ b/lib/routes/natgeo/natgeo.ts @@ -10,12 +10,7 @@ import { parseDate } from '@/utils/parse-date'; async function loadContent(link) { const data = await ofetch(link); const $ = load(data); - const dtStr = $('.content-title-area') - .find('h6') - .first() - .text() - .replaceAll(/ /gi, ' ') - .trim(); + const dtStr = $('.content-title-area').find('h6').first().text().replaceAll(' ', ' ').trim(); $('.splide__arrows, .slide-control, [class^="ad-"], style').remove(); diff --git a/lib/routes/radio/album.ts b/lib/routes/radio/album.ts index 4d8113da95f8fa..bd0b6523ef8510 100644 --- a/lib/routes/radio/album.ts +++ b/lib/routes/radio/album.ts @@ -73,7 +73,7 @@ async function handler(ctx) { const items = response.con.map((item) => { let enclosure_url = item.playUrlHigh ?? item.playUrlMedium ?? item.playUrlLow ?? item.playUrl; - enclosure_url = /\.m3u8$/.test(enclosure_url) ? item.downloadUrl : enclosure_url; + enclosure_url = enclosure_url.endsWith('.m3u8') ? item.downloadUrl : enclosure_url; const fileExt = new URL(enclosure_url).pathname.split('.').pop(); const enclosure_type = fileExt ? `audio/${audio_types[fileExt]}` : ''; diff --git a/lib/routes/radio/zhibo.ts b/lib/routes/radio/zhibo.ts index 9f56c7a14aabea..eca55fe4b6c976 100644 --- a/lib/routes/radio/zhibo.ts +++ b/lib/routes/radio/zhibo.ts @@ -72,7 +72,7 @@ async function handler(ctx) { const items = data.map((item) => { let enclosure_url = item.playUrlHigh ?? item.playUrlLow; - enclosure_url = /\.m3u8$/.test(enclosure_url) ? item.downloadUrl : enclosure_url; + enclosure_url = enclosure_url.endsWith('.m3u8') ? item.downloadUrl : enclosure_url; const file_ext = new URL(enclosure_url).pathname.split('.').pop(); const enclosure_type = file_ext ? `audio/${audio_types[file_ext]}` : ''; diff --git a/lib/routes/reuters/common.tsx b/lib/routes/reuters/common.tsx index d114c08555682f..e1f6c085dad0ef 100644 --- a/lib/routes/reuters/common.tsx +++ b/lib/routes/reuters/common.tsx @@ -1,6 +1,7 @@ import { load } from 'cheerio'; import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; import type { Route } from '@/types'; import { ViewType } from '@/types'; diff --git a/lib/routes/sciencedirect/cf-email.ts b/lib/routes/sciencedirect/cf-email.ts index 21af4821b565a6..b193b6a55ead88 100644 --- a/lib/routes/sciencedirect/cf-email.ts +++ b/lib/routes/sciencedirect/cf-email.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ const decodeCFEmail = (encoded) => { const parseHex = (string, position) => Number.parseInt(string.slice(position, position + 2), 16); let decoded = ''; diff --git a/lib/routes/scientificamerican/podcast.ts b/lib/routes/scientificamerican/podcast.ts index b4d24e6c3a310f..313138f8d61110 100644 --- a/lib/routes/scientificamerican/podcast.ts +++ b/lib/routes/scientificamerican/podcast.ts @@ -22,7 +22,7 @@ export const handler = async (ctx: Context): Promise => { const $: CheerioAPI = load(response); const language: string = $('html').attr('lang') ?? 'en'; const data: string | undefined = response.match(/window\.__DATA__=JSON\.parse\(`(.*?)`\)/)?.[1]; - const parsedData = data ? JSON.parse(data.replaceAll('\\\\', '\\')) : undefined; + const parsedData = data ? JSON.parse(data.replaceAll(String.raw`\\`, '\\')) : undefined; let items: DataItem[] = parsedData ? parsedData.initialData.props.results.slice(0, limit).map((item): DataItem => { @@ -101,7 +101,7 @@ export const handler = async (ctx: Context): Promise => { const detailResponse = await ofetch(item.link); const detailData: string | undefined = detailResponse.match(/window\.__DATA__=JSON\.parse\(`(.*?)`\)/)?.[1]; - const parsedDetailData = detailData ? JSON.parse(detailData.replaceAll('\\\\', '\\')) : undefined; + const parsedDetailData = detailData ? JSON.parse(detailData.replaceAll(String.raw`\\`, '\\')) : undefined; if (!parsedDetailData) { return item; diff --git a/lib/routes/scientificamerican/templates/description.tsx b/lib/routes/scientificamerican/templates/description.tsx index bc1599bf307a04..1078746275584d 100644 --- a/lib/routes/scientificamerican/templates/description.tsx +++ b/lib/routes/scientificamerican/templates/description.tsx @@ -1,5 +1,6 @@ import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; type DescriptionImage = { src?: string; diff --git a/lib/routes/telegram/channel-media.ts b/lib/routes/telegram/channel-media.ts index a00edbe581c8f2..79867dbfe07828 100644 --- a/lib/routes/telegram/channel-media.ts +++ b/lib/routes/telegram/channel-media.ts @@ -68,7 +68,7 @@ function sortThumb(thumb: Api.TypePhotoSize) { } function chooseLargestThumb(thumbs: Api.TypePhotoSize[]) { - thumbs = [...thumbs].sort((a, b) => sortThumb(a) - sortThumb(b)); + thumbs = [...thumbs].toSorted((a, b) => sortThumb(a) - sortThumb(b)); return thumbs.pop(); } diff --git a/lib/routes/tingtingfm/utils.ts b/lib/routes/tingtingfm/utils.ts index 7c5a99792b6979..610dac8acab0c9 100644 --- a/lib/routes/tingtingfm/utils.ts +++ b/lib/routes/tingtingfm/utils.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ import md5 from '@/utils/md5'; const SALT = '1Ftjv0bfpVmqbE38'; diff --git a/lib/routes/tongli/news.ts b/lib/routes/tongli/news.ts index df3a59a4ab0f19..3ecc6a3644a729 100644 --- a/lib/routes/tongli/news.ts +++ b/lib/routes/tongli/news.ts @@ -53,7 +53,7 @@ async function handler(ctx) { const { data: res } = await got(item.link); const $ = cheerio.load(res); - if (/^https:\/\/tonglinv\.pixnet\.net/.test(item.link)) { + if (item.link.startsWith('https://tonglinv.pixnet.net/')) { item.description = $('.article-content-inner').html(); } else if (/^https?:\/\/blog\.xuite\.net\//.test(item.link)) { item.description = $('#content_all').html(); diff --git a/lib/routes/toutiao/a-bogus.ts b/lib/routes/toutiao/a-bogus.ts index 9d7b37c3c1ddb5..33f2353e7099de 100644 --- a/lib/routes/toutiao/a-bogus.ts +++ b/lib/routes/toutiao/a-bogus.ts @@ -1,3 +1,4 @@ +// oxlint-disable no-undef /* eslint-disable unicorn/prefer-spread */ /* eslint-disable unicorn/prefer-math-trunc */ // @ts-nocheck diff --git a/lib/routes/twitter/utils.ts b/lib/routes/twitter/utils.ts index 45b05d422b0e97..c9fef81ab2b55b 100644 --- a/lib/routes/twitter/utils.ts +++ b/lib/routes/twitter/utils.ts @@ -411,7 +411,7 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => { (isRetweet && { links: [ { - url: `https://x.com/${item.user?.screen_name || userScreenName}/status/${item.conversation_id_str}`, + url: `https://x.com/${item.user?.screen_name}/status/${item.conversation_id_str}`, type: 'repost', }, ], diff --git a/lib/routes/washingtonpost/app.tsx b/lib/routes/washingtonpost/app.tsx index 7fca7dbd18cd11..8de1bc06e26759 100644 --- a/lib/routes/washingtonpost/app.tsx +++ b/lib/routes/washingtonpost/app.tsx @@ -4,6 +4,7 @@ import timezone from 'dayjs/plugin/timezone.js'; import utc from 'dayjs/plugin/utc.js'; import { raw } from 'hono/html'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; import { FetchError } from 'ofetch'; import type { Route } from '@/types'; diff --git a/lib/routes/zhihu/execlib/x-zse-96-v3.ts b/lib/routes/zhihu/execlib/x-zse-96-v3.ts index d8bc3cf153c032..bc5660a18be593 100644 --- a/lib/routes/zhihu/execlib/x-zse-96-v3.ts +++ b/lib/routes/zhihu/execlib/x-zse-96-v3.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-code-point */ // Credit: // https://blog.csdn.net/zjq592767809/article/details/126512798 // https://blog.csdn.net/zhoumi_/article/details/126659351 diff --git a/lib/routes/zhubai/top20.tsx b/lib/routes/zhubai/top20.tsx index a9d46fdb7120b4..6ed178c1addb12 100644 --- a/lib/routes/zhubai/top20.tsx +++ b/lib/routes/zhubai/top20.tsx @@ -1,5 +1,6 @@ import { load } from 'cheerio'; import { renderToString } from 'hono/jsx/dom/server'; +import type { JSX } from 'hono/jsx/jsx-runtime'; import type { Route } from '@/types'; import cache from '@/utils/cache'; diff --git a/lib/routes/zjol/paper.ts b/lib/routes/zjol/paper.ts index 258c08116e07bb..05897e802e49e2 100644 --- a/lib/routes/zjol/paper.ts +++ b/lib/routes/zjol/paper.ts @@ -85,7 +85,7 @@ async function handler(ctx) { items = await Promise.all( items - .filter((a) => (id === 'jnyb' ? /\?div=1$/.test(a) : true)) + .filter((a) => (id === 'jnyb' ? a.endsWith('?div=1') : true)) .slice(0, limit) .map((link) => cache.tryGet(link, async () => { diff --git a/lib/setup.test.ts b/lib/setup.test.ts index 14a7822ba67c12..22ec8c29f71542 100644 --- a/lib/setup.test.ts +++ b/lib/setup.test.ts @@ -266,11 +266,7 @@ Unknown paragraph ), http.get(`https://mp.weixin.qq.com/s/rsshub_test_redirect_no_location`, () => HttpResponse.text('', { status: 302 })), http.get(`https://mp.weixin.qq.com/s/rsshub_test_recursive_redirect`, () => HttpResponse.redirect(`https://mp.weixin.qq.com/s/rsshub_test_recursive_redirect`)), - http.get(`http://rsshub.test/headers`, ({ request }) => - HttpResponse.json({ - ...Object.fromEntries(request.headers.entries()), - }) - ), + http.get(`http://rsshub.test/headers`, ({ request }) => HttpResponse.json(Object.fromEntries(request.headers.entries()))), http.post(`http://rsshub.test/form-post`, async ({ request }) => { const formData = await request.formData(); return HttpResponse.json({ diff --git a/lib/shims/xxhash-wasm.ts b/lib/shims/xxhash-wasm.ts index eb27a2c66c66eb..63158409a268ad 100644 --- a/lib/shims/xxhash-wasm.ts +++ b/lib/shims/xxhash-wasm.ts @@ -1,3 +1,4 @@ +// oxlint-disable unicorn/prefer-math-trunc // xxhash-wasm shim for Cloudflare Workers // Uses Web Crypto API instead of WebAssembly diff --git a/lib/utils/puppeteer-utils.test.ts b/lib/utils/puppeteer-utils.test.ts index a97424f8bcebc2..f41f3905cd0fa3 100644 --- a/lib/utils/puppeteer-utils.test.ts +++ b/lib/utils/puppeteer-utils.test.ts @@ -86,7 +86,7 @@ describe('puppeteer-utils', () => { waitUntil: 'domcontentloaded', }); const data = await page.evaluate(() => JSON.parse(document.body.textContent || '')); - expect(data).toEqual(Object.fromEntries(cookieArrayExampleCom.map(({ name, value }) => [name, value]))); + expect(data.cookies).toEqual(Object.fromEntries(cookieArrayExampleCom.map(({ name, value }) => [name, value]))); }, 45000); it('setCookies & getCookies example.org', async () => { diff --git a/package.json b/package.json index bdc925f4833168..9b860d4d57a658 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,11 @@ "container-deploy": "npm run container-build && wrangler deploy --config wrangler-container.toml --containers-rollout=immediate", "dev": "cross-env NODE_ENV=dev NODE_OPTIONS='--max-http-header-size=32768' tsx watch --inspect --clear-screen=false lib/index.ts", "dev:cache": "cross-env NODE_ENV=production NODE_OPTIONS='--max-http-header-size=32768' tsx watch --clear-screen=false lib/index.ts", - "format": "eslint --cache --fix \"**/*.{ts,tsx,js,yml}\" --concurrency auto && oxfmt .", - "format:check": "eslint --cache \"**/*.{ts,tsx,js,yml}\" --concurrency auto && oxfmt . --check", + "eslint": "eslint --cache . --concurrency auto", + "format": "oxlint --type-aware --fix \"**/*.{ts,tsx,js,yml}\" && oxfmt .", + "format:check": "oxlint --type-aware \"**/*.{ts,tsx,js,yml}\" && oxfmt . --check", "format:staged": "lint-staged", - "lint": "eslint --cache . --concurrency auto", + "lint": "oxlint --type-aware .", "prepare": "husky || true", "prepublishOnly": "npm run build:lib", "profiling": "cross-env NODE_ENV=production tsx --prof lib/index.ts", @@ -148,6 +149,7 @@ "@cloudflare/workers-types": "4.20260305.0", "@eslint/eslintrc": "3.3.4", "@eslint/js": "10.0.1", + "@oxlint/plugins": "1.50.0", "@stylistic/eslint-plugin": "5.9.0", "@types/aes-js": "3.1.4", "@types/babel__preset-env": "7.10.0", @@ -174,7 +176,6 @@ "domhandler": "5.0.3", "eslint": "10.0.2", "eslint-nibble": "9.1.1", - "eslint-plugin-github": "6.0.0", "eslint-plugin-import-x": "4.16.1", "eslint-plugin-n": "17.24.0", "eslint-plugin-simple-import-sort": "12.1.1", @@ -191,6 +192,8 @@ "msw": "2.4.3", "node-network-devtools": "1.0.29", "oxfmt": "0.35.0", + "oxlint": "1.50.0", + "oxlint-tsgolint": "0.15.0", "remark-parse": "11.0.0", "supertest": "7.2.2", "tsdown": "0.20.3", @@ -206,6 +209,7 @@ "oxfmt --no-error-on-unmatched-pattern" ], "*.{ts,tsx,js,yml}": [ + "oxlint --type-aware --fix", "eslint --cache --fix --concurrency auto", "oxfmt --no-error-on-unmatched-pattern" ] @@ -235,10 +239,6 @@ "wrangler" ], "overrides": { - "array-includes": "npm:@nolyfill/array-includes@^1", - "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@^1", - "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@^1", - "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@^1", "difflib": "https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed", "es-set-tostringtag": "npm:@nolyfill/es-set-tostringtag@^1", "google-play-scraper>got": "^14.6.4", @@ -246,19 +246,12 @@ "google-play-scraper>tough-cookie": "^6.0.0", "hasown": "npm:@nolyfill/hasown@^1", "is-core-module": "npm:@nolyfill/is-core-module@^1", - "object.assign": "npm:@nolyfill/object.assign@^1", - "object.fromentries": "npm:@nolyfill/object.fromentries@^1", - "object.groupby": "npm:@nolyfill/object.groupby@^1", - "object.values": "npm:@nolyfill/object.values@^1", "request>form-data": "^2.5.5", "rss-parser@3.13.0>entities": "^7.0.0", "rss-parser@3.13.0>xml2js": "^0.6.2", "safe-buffer": "npm:@nolyfill/safe-buffer@^1", - "safe-regex-test": "npm:@nolyfill/safe-regex-test@^1", "safer-buffer": "npm:@nolyfill/safer-buffer@^1", - "side-channel": "npm:@nolyfill/side-channel@^1", - "string.prototype.includes": "npm:@nolyfill/string.prototype.includes@^1", - "string.prototype.trimend": "npm:@nolyfill/string.prototype.trimend@^1" + "side-channel": "npm:@nolyfill/side-channel@^1" }, "patchedDependencies": { "rss-parser@3.13.0": "patches/rss-parser@3.13.0.patch" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5f87d059293e04..2109cab08f10b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,10 +5,6 @@ settings: excludeLinksFromLockfile: false overrides: - array-includes: npm:@nolyfill/array-includes@^1 - array.prototype.findlastindex: npm:@nolyfill/array.prototype.findlastindex@^1 - array.prototype.flat: npm:@nolyfill/array.prototype.flat@^1 - array.prototype.flatmap: npm:@nolyfill/array.prototype.flatmap@^1 difflib: https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed es-set-tostringtag: npm:@nolyfill/es-set-tostringtag@^1 google-play-scraper>got: ^14.6.4 @@ -16,19 +12,12 @@ overrides: google-play-scraper>tough-cookie: ^6.0.0 hasown: npm:@nolyfill/hasown@^1 is-core-module: npm:@nolyfill/is-core-module@^1 - object.assign: npm:@nolyfill/object.assign@^1 - object.fromentries: npm:@nolyfill/object.fromentries@^1 - object.groupby: npm:@nolyfill/object.groupby@^1 - object.values: npm:@nolyfill/object.values@^1 request>form-data: ^2.5.5 rss-parser@3.13.0>entities: ^7.0.0 rss-parser@3.13.0>xml2js: ^0.6.2 safe-buffer: npm:@nolyfill/safe-buffer@^1 - safe-regex-test: npm:@nolyfill/safe-regex-test@^1 safer-buffer: npm:@nolyfill/safer-buffer@^1 side-channel: npm:@nolyfill/side-channel@^1 - string.prototype.includes: npm:@nolyfill/string.prototype.includes@^1 - string.prototype.trimend: npm:@nolyfill/string.prototype.trimend@^1 patchedDependencies: rss-parser@3.13.0: @@ -313,6 +302,9 @@ importers: '@eslint/js': specifier: 10.0.1 version: 10.0.1(eslint@10.0.2(jiti@2.6.1)) + '@oxlint/plugins': + specifier: 1.50.0 + version: 1.50.0 '@stylistic/eslint-plugin': specifier: 5.9.0 version: 5.9.0(eslint@10.0.2(jiti@2.6.1)) @@ -391,9 +383,6 @@ importers: eslint-nibble: specifier: 9.1.1 version: 9.1.1(@types/node@25.3.2)(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-github: - specifier: 6.0.0 - version: 6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)) eslint-plugin-import-x: specifier: 4.16.1 version: 4.16.1(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) @@ -442,6 +431,12 @@ importers: oxfmt: specifier: 0.35.0 version: 0.35.0 + oxlint: + specifier: 1.50.0 + version: 1.50.0(oxlint-tsgolint@0.15.0) + oxlint-tsgolint: + specifier: 0.15.0 + version: 0.15.0 remark-parse: specifier: 11.0.0 version: 11.0.0 @@ -845,15 +840,6 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.4.1': - resolution: {integrity: sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.40 || 9 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.23.2': resolution: {integrity: sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -862,10 +848,6 @@ packages: resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@1.1.0': resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -883,10 +865,6 @@ packages: eslint: optional: true - '@eslint/js@9.39.3': - resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@3.0.2': resolution: {integrity: sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -900,9 +878,6 @@ packages: peerDependencies: '@opentelemetry/api': ^1.9.0 - '@github/browserslist-config@1.0.0': - resolution: {integrity: sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==} - '@hono/node-server@1.19.9': resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==} engines: {node: '>=18.14.1'} @@ -1238,22 +1213,6 @@ packages: resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} engines: {node: '>= 20.19.0'} - '@nolyfill/array-includes@1.0.44': - resolution: {integrity: sha512-IVEqpEgFbLaU0hUoMwJYXNSdi6lq+FxHdxd8xTKDLxh8k6u5YNGz4Bo6bT46l7p0x8PbJmHViBtngqhvE528fA==} - engines: {node: '>=12.4.0'} - - '@nolyfill/array.prototype.findlastindex@1.0.44': - resolution: {integrity: sha512-BLeHS3SulsR3iFxxETL9q21lArV2KS7lh2wcUnhue1ppx19xah1W7MdFxepyeGbM3Umk9S90snfboXAds5HkTg==} - engines: {node: '>=12.4.0'} - - '@nolyfill/array.prototype.flat@1.0.44': - resolution: {integrity: sha512-HnOqOT4te0l+XU9UKhy3ry+pc+ZRNsUJFR7omMEtjXf4+dq6oXmIBk7vR35+hSTk4ldjwm/27jwV3ZIGp3l4IQ==} - engines: {node: '>=12.4.0'} - - '@nolyfill/array.prototype.flatmap@1.0.44': - resolution: {integrity: sha512-P6OsaEUrpBJ9NdNekFDQVM9LOFHPDKSJzwOWRBaC6LqREX+4lkZT2Q+to78R6aG6atuOQsxBVqPjMGCKjWdvyQ==} - engines: {node: '>=12.4.0'} - '@nolyfill/es-set-tostringtag@1.0.44': resolution: {integrity: sha512-Qfiv/3wI+mKSPCgU8Fg/7Auu4os00St4GwyLqCCZ/oBD4W00itWUkl9Rq1MCGS+VXYDnTobvrc6AvPagwnT2pg==} engines: {node: '>=12.4.0'} @@ -1266,49 +1225,18 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@nolyfill/object.assign@1.0.44': - resolution: {integrity: sha512-cZoXq09YZXDgkxRMAP/TTb3kAsWm7p5OyBugWDe4fOfxf0XRI55mgDSkuyq41sV1qW1zVC5aSsKEh1hQo1KOvA==} - engines: {node: '>=12.4.0'} - - '@nolyfill/object.fromentries@1.0.44': - resolution: {integrity: sha512-/LrsCtpLmByZ6GwP/NeXULSgMyNsVr5d6FlgQy1HZatAiBc8c+WZ1VmFkK19ZLXCNNXBedXDultrp0x4Nz+QQw==} - engines: {node: '>=12.4.0'} - - '@nolyfill/object.groupby@1.0.44': - resolution: {integrity: sha512-jCt/8pN+10mlbeg0ZESpVVaqn5qqpv6kpjM+GDfEP7cXGDSPlIjtvfYWRZK4k4Gftkhhgqkzvcrr8z1wuNO1TQ==} - engines: {node: '>=12.4.0'} - - '@nolyfill/object.values@1.0.44': - resolution: {integrity: sha512-bwIpVzFMudUC0ofnvdSDB/OyGUizcU+r32ZZ0QTMbN03gUttMtdCFDekuSYT0XGFgufTQyZ4ONBnAeb3DFCPGQ==} - engines: {node: '>=12.4.0'} - '@nolyfill/safe-buffer@1.0.44': resolution: {integrity: sha512-SqlKXtlhNTDMeZKey9jnnuPhi8YTl1lJuEcY9zbm5i4Pqe79UJJ8IJ9oiD6DhgI8KjYc+HtLzpQJNRdNYqb/hw==} engines: {node: '>=12.4.0'} - '@nolyfill/safe-regex-test@1.0.44': - resolution: {integrity: sha512-Q6veatd1NebtD8Sre6zjvO35QzG21IskMVOOEbePFcNO9noanNJgsqHeOCr0c5yZz6Z0DAizLg2gIZWokJSkXw==} - engines: {node: '>=12.4.0'} - '@nolyfill/safer-buffer@1.0.44': resolution: {integrity: sha512-Ouw1fMwjAy1V4MpnDASfu1DCPgkP0nNFteiiWbFoEGSqa7Vnmkb6if2c522N2WcMk+RuaaabQbC1F1D4/kTXcg==} engines: {node: '>=12.4.0'} - '@nolyfill/shared@1.0.44': - resolution: {integrity: sha512-NI1zxDh4LYL7PYlKKCwojjuc5CEZslywrOTKBNyodjmWjRiZ4AlCMs3Gp+zDoPQPNkYCSQp/luNojHmJWWfCbw==} - '@nolyfill/side-channel@1.0.44': resolution: {integrity: sha512-y3SvzjuY1ygnzWA4Krwx/WaJAsTMP11DN+e21A8Fa8PW1oDtVB5NSRW7LWurAiS2oKRkuCgcjTYMkBuBkcPCRg==} engines: {node: '>=12.4.0'} - '@nolyfill/string.prototype.includes@1.0.44': - resolution: {integrity: sha512-d1t7rnoAYyoap0X3a/gCnusCvxzK6v7uMFzW8k0mI2WtAK8HiKuzaQUwAriyVPh63GsvQCqvXx8Y5gtdh4LjSA==} - engines: {node: '>=12.4.0'} - - '@nolyfill/string.prototype.trimend@1.0.44': - resolution: {integrity: sha512-3dsKlf4Ma7o+uxLIg5OI1Tgwfet2pE8WTbPjEGWvOe6CSjMtK0skJnnSVHaEVX4N4mYU81To0qDeZOPqjaUotg==} - engines: {node: '>=12.4.0'} - '@notionhq/client@5.11.0': resolution: {integrity: sha512-bBP3gZvf2yUzwWJ/oEPf/4DWR4wSrZln0ZtVx3mc3RQaQHjl1/cbqECcsUS6RjKc51PY9598s7WRItxd8X1MAw==} engines: {node: '>=18'} @@ -1722,6 +1650,162 @@ packages: cpu: [x64] os: [win32] + '@oxlint-tsgolint/darwin-arm64@0.15.0': + resolution: {integrity: sha512-d7Ch+A6hic+RYrm32+Gh1o4lOrQqnFsHi721ORdHUDBiQPea+dssKUEMwIbA6MKmCy6TVJ02sQyi24OEfCiGzw==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@0.15.0': + resolution: {integrity: sha512-Aoai2wAkaUJqp/uEs1gml6TbaPW4YmyO5Ai/vOSkiizgHqVctjhjKqmRiWTX2xuPY94VkwOLqp+Qr3y/0qSpWQ==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@0.15.0': + resolution: {integrity: sha512-4og13a7ec4Vku5t2Y7s3zx6YJP6IKadb1uA9fOoRH6lm/wHWoCnxjcfJmKHXRZJII81WmbdJMSPxaBfwN/S68Q==} + cpu: [arm64] + os: [linux] + + '@oxlint-tsgolint/linux-x64@0.15.0': + resolution: {integrity: sha512-9b9xzh/1Harn3a+XiKTK/8LrWw3VcqLfYp/vhV5/zAVR2Mt0d63WSp4FL+wG7DKnI2T/CbMFUFHwc7kCQjDMzQ==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@0.15.0': + resolution: {integrity: sha512-nNac5hewHdkk5mowOwTqB1ZD76zB/FsUiyUvdCyupq5cG54XyKqSLEp9QGbx7wFJkWCkeWmuwRed4sfpAlKaeA==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@0.15.0': + resolution: {integrity: sha512-ioAY2XLpy83E2EqOLH9p1cEgj0G2qB1lmAn0a3yFV1jHQB29LIPIKGNsu/tYCClpwmHN79pT5KZAHZOgWxxqNg==} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.50.0': + resolution: {integrity: sha512-G7MRGk/6NCe+L8ntonRdZP7IkBfEpiZ/he3buLK6JkLgMHgJShXZ+BeOwADmspXez7U7F7L1Anf4xLSkLHiGTg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.50.0': + resolution: {integrity: sha512-GeSuMoJWCVpovJi/e3xDSNgjeR8WEZ6MCXL6EtPiCIM2NTzv7LbflARINTXTJy2oFBYyvdf/l2PwHzYo6EdXvg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.50.0': + resolution: {integrity: sha512-w3SY5YtxGnxCHPJ8Twl3KmS9oja1gERYk3AMoZ7Hv8P43ZtB6HVfs02TxvarxfL214Tm3uzvc2vn+DhtUNeKnw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.50.0': + resolution: {integrity: sha512-hNfogDqy7tvmllXKBSlHo6k5x7dhTUVOHbMSE15CCAcXzmqf5883aPvBYPOq9AE7DpDUQUZ1kVE22YbiGW+tuw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.50.0': + resolution: {integrity: sha512-ykZevOWEyu0nsxolA911ucxpEv0ahw8jfEeGWOwwb/VPoE4xoexuTOAiPNlWZNJqANlJl7yp8OyzCtXTUAxotw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.50.0': + resolution: {integrity: sha512-hif3iDk7vo5GGJ4OLCCZAf2vjnU9FztGw4L0MbQL0M2iY9LKFtDMMiQAHmkF0PQGQMVbTYtPdXCLKVgdkiqWXQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.50.0': + resolution: {integrity: sha512-dVp9iSssiGAnTNey2Ruf6xUaQhdnvcFOJyRWd/mu5o2jVbFK15E5fbWGeFRfmuobu5QXuROtFga44+7DOS3PLg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.50.0': + resolution: {integrity: sha512-1cT7yz2HA910CKA9NkH1ZJo50vTtmND2fkoW1oyiSb0j6WvNtJ0Wx2zoySfXWc/c+7HFoqRK5AbEoL41LOn9oA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-musl@1.50.0': + resolution: {integrity: sha512-++B3k/HEPFVlj89cOz8kWfQccMZB/aWL9AhsW7jPIkG++63Mpwb2cE9XOEsd0PATbIan78k2Gky+09uWM1d/gQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-ppc64-gnu@1.50.0': + resolution: {integrity: sha512-Z9b/KpFMkx66w3gVBqjIC1AJBTZAGoI9+U+K5L4QM0CB/G0JSNC1es9b3Y0Vcrlvtdn8A+IQTkYjd/Q0uCSaZw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.50.0': + resolution: {integrity: sha512-jvmuIw8wRSohsQlFNIST5uUwkEtEJmOQYr33bf/K2FrFPXHhM4KqGekI3ShYJemFS/gARVacQFgBzzJKCAyJjg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-musl@1.50.0': + resolution: {integrity: sha512-x+UrN47oYNh90nmAAyql8eQaaRpHbDPu5guasDg10+OpszUQ3/1+1J6zFMmV4xfIEgTcUXG/oI5fxJhF4eWCNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-s390x-gnu@1.50.0': + resolution: {integrity: sha512-i/JLi2ljLUIVfekMj4ISmdt+Hn11wzYUdRRrkVUYsCWw7zAy5xV7X9iA+KMyM156LTFympa7s3oKBjuCLoTAUQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.50.0': + resolution: {integrity: sha512-/C7brhn6c6UUPccgSPCcpLQXcp+xKIW/3sji/5VZ8/OItL3tQ2U7KalHz887UxxSQeEOmd1kY6lrpuwFnmNqOA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-musl@1.50.0': + resolution: {integrity: sha512-oDR1f+bGOYU8LfgtEW8XtotWGB63ghtcxk5Jm6IDTCk++rTA/IRMsjOid2iMd+1bW+nP9Mdsmcdc7VbPD3+iyQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-openharmony-arm64@1.50.0': + resolution: {integrity: sha512-4CmRGPp5UpvXyu4jjP9Tey/SrXDQLRvZXm4pb4vdZBxAzbFZkCyh0KyRy4txld/kZKTJlW4TO8N1JKrNEk+mWw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.50.0': + resolution: {integrity: sha512-Fq0M6vsGcFsSfeuWAACDhd5KJrO85ckbEfe1EGuBj+KPyJz7KeWte2fSFrFGmNKNXyhEMyx4tbgxiWRujBM2KQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.50.0': + resolution: {integrity: sha512-qTdWR9KwY/vxJGhHVIZG2eBOhidOQvOwzDxnX+jhW/zIVacal1nAhR8GLkiywW8BIFDkQKXo/zOfT+/DY+ns/w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.50.0': + resolution: {integrity: sha512-682t7npLC4G2Ca+iNlI9fhAKTcFPYYXJjwoa88H4q+u5HHHlsnL/gHULapX3iqp+A8FIJbgdylL5KMYo2LaluQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint/plugins@1.50.0': + resolution: {integrity: sha512-tOuW9jI1Bj1tDt4k/a4MpuaDdkYRRFbGBCyeG4uBKSxc+tVVhwvmCl/20R5E0cXuUQV2eyg8h7XZlL4xzchxZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@paralleldrive/cuid2@2.3.1': resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} @@ -2049,9 +2133,6 @@ packages: '@rss3/sdk@0.0.25': resolution: {integrity: sha512-jyXT4YTwefxxRZ0tt5xjbnw8e7zPg2OGdo/0xb+h/7qWnMNhLtWpc95DsYs/1C/I0rIyiDpZBhLI2DieQ9y+tw==} - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@scalar/core@0.3.43': resolution: {integrity: sha512-id97ufmbFPXCGKLizx0pATqeVm0hJk6WVLX1IUPYZJBTvo4Bq4u/hUGeWZtdn+Drgc11zMkGHL3LADulgFFyNA==} engines: {node: '>=20'} @@ -2228,9 +2309,6 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} @@ -2315,14 +2393,6 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.56.0': - resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.56.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/eslint-plugin@8.56.1': resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2331,13 +2401,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.56.0': - resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.56.1': resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2345,45 +2408,22 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.56.0': - resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.56.1': resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.56.0': - resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.56.1': resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.56.0': - resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.56.1': resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.56.0': - resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.56.1': resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2391,33 +2431,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.56.0': - resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.56.1': resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.56.0': - resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.56.1': resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.56.0': - resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.56.1': resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2425,10 +2448,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.56.0': - resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.56.1': resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2653,10 +2672,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.3.2: - resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} - engines: {node: '>= 0.4'} - asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -2675,9 +2690,6 @@ packages: resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} engines: {node: '>=20.19.0'} - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -2707,14 +2719,6 @@ packages: aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - axe-core@4.11.1: - resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==} - engines: {node: '>=4'} - - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - b4a@1.8.0: resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} peerDependencies: @@ -3107,9 +3111,6 @@ packages: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -3239,10 +3240,6 @@ packages: discord-api-types@0.38.40: resolution: {integrity: sha512-P/His8cotqZgQqrt+hzrocp9L8RhQQz1GkrCnC9TMJ8Uw2q0tg8YyqJyGULxhXn/8kxHETN4IppmOv+P2m82lQ==} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -3414,12 +3411,6 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - eslint-filtered-fix@0.3.0: resolution: {integrity: sha512-UMHOza9epEn9T+yVT8RiCFf0JdALpVzmoH62Ez/zvxM540IyUNAkr7aH2Frkv6zlm9a/gbmq/sc7C4SvzZQXcA==} hasBin: true @@ -3438,27 +3429,6 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.12.1: - resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - eslint-nibble@9.1.1: resolution: {integrity: sha512-yXq9GsGE7hYuQ7D7b/hCvOmNVxQ9MmBkm3VKKIqbEYLicbcv/638jm3/m8pd33rERhZ0hnSDjTn3df9n6X6fPA==} engines: {node: '>=18.0.0'} @@ -3472,33 +3442,6 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-escompat@3.11.4: - resolution: {integrity: sha512-j0ywwNnIufshOzgAu+PfIig1c7VRClKSNKzpniMT2vXQ4leL5q+e/SpMFQU0nrdL2WFFM44XmhSuwmxb3G0CJg==} - peerDependencies: - eslint: '>=5.14.1' - - eslint-plugin-eslint-comments@3.2.0: - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' - - eslint-plugin-filenames@1.3.2: - resolution: {integrity: sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==} - peerDependencies: - eslint: '*' - - eslint-plugin-github@6.0.0: - resolution: {integrity: sha512-J8MvUoiR/TU/Y9NnEmg1AnbvMUj9R6IO260z47zymMLLvso7B4c80IKjd8diqmqtSmeXXlbIus4i0SvK84flag==} - hasBin: true - peerDependencies: - eslint: ^8 || ^9 - - eslint-plugin-i18n-text@1.0.1: - resolution: {integrity: sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==} - peerDependencies: - eslint: '>=5.0.0' - eslint-plugin-import-x@4.16.1: resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3512,46 +3455,12 @@ packages: eslint-import-resolver-node: optional: true - eslint-plugin-import@2.32.0: - resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - - eslint-plugin-jsx-a11y@6.10.2: - resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-n@17.24.0: resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' - eslint-plugin-no-only-tests@3.3.0: - resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} - engines: {node: '>=5.0.0'} - - eslint-plugin-prettier@5.5.5: - resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - eslint-plugin-simple-import-sort@12.1.1: resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: @@ -3569,10 +3478,6 @@ packages: peerDependencies: eslint: '>=9.38.0' - eslint-rule-documentation@1.0.23: - resolution: {integrity: sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==} - engines: {node: '>=4.0.0'} - eslint-scope@9.1.1: resolution: {integrity: sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -3681,9 +3586,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -4256,10 +4158,6 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} @@ -4279,10 +4177,6 @@ packages: jsrsasign@11.1.1: resolution: {integrity: sha512-6w95OOXH8DNeGxakqLndBEqqwQ6A70zGaky1oxfg8WVLWOnghTfJsc5Tknx+Z88MHSb1bGLcqQHImOF8Lk22XA==} - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -4302,13 +4196,6 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -4347,9 +4234,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} @@ -4360,15 +4244,6 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - lodash.kebabcase@4.1.1: - resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - - lodash.snakecase@4.1.1: - resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - - lodash.upperfirst@4.3.1: - resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -4579,13 +4454,10 @@ packages: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.8: - resolution: {integrity: sha512-reYkDYtj/b19TeqbNZCV4q9t+Yxylf/rYBsLb42SXJatTv4/ylq5lEiAmhA/IToxO7NI2UzNMghHoHuaqDkAjw==} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.3: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} @@ -4805,6 +4677,20 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + oxlint-tsgolint@0.15.0: + resolution: {integrity: sha512-iwvFmhKQVZzVTFygUVI4t2S/VKEm+Mqkw3jQRJwfDuTcUYI5LCIYzdO5Dbuv4mFOkXZCcXaRRh0m+uydB5xdqw==} + hasBin: true + + oxlint@1.50.0: + resolution: {integrity: sha512-iSJ4IZEICBma8cZX7kxIIz9PzsYLF2FaLAYN6RKu7VwRVKdu7RIgpP99bTZaGl//Yao7fsaGZLSEo5xBrI5ReQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.14.1' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + p-cancelable@4.0.1: resolution: {integrity: sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==} engines: {node: '>=14.16'} @@ -4968,15 +4854,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-linter-helpers@1.0.1: - resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} - engines: {node: '>=6.0.0'} - - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} - hasBin: true - process-warning@5.0.0: resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} @@ -5257,10 +5134,6 @@ packages: selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -5413,10 +5286,6 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -5452,9 +5321,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svg-element-attributes@1.3.1: - resolution: {integrity: sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==} - symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -5630,9 +5496,6 @@ packages: typescript: optional: true - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tsdown@0.20.3: resolution: {integrity: sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w==} engines: {node: '>=20.19.0'} @@ -5705,17 +5568,10 @@ packages: resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} typed-query-selector@2.12.0: - resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript-eslint@8.56.0: - resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -6453,12 +6309,6 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.4.1(eslint@10.0.2(jiti@2.6.1))': - dependencies: - '@eslint/core': 0.17.0 - optionalDependencies: - eslint: 10.0.2(jiti@2.6.1) - '@eslint/config-array@0.23.2': dependencies: '@eslint/object-schema': 3.0.2 @@ -6471,10 +6321,6 @@ snapshots: dependencies: '@eslint/core': 1.1.0 - '@eslint/core@0.17.0': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/core@1.1.0': dependencies: '@types/json-schema': 7.0.15 @@ -6497,8 +6343,6 @@ snapshots: optionalDependencies: eslint: 10.0.2(jiti@2.6.1) - '@eslint/js@9.39.3': {} - '@eslint/object-schema@3.0.2': {} '@eslint/plugin-kit@0.6.0': @@ -6516,8 +6360,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@github/browserslist-config@1.0.0': {} - '@hono/node-server@1.19.9(hono@4.12.3)': dependencies: hono: 4.12.3 @@ -6822,62 +6664,19 @@ snapshots: '@noble/hashes@2.0.1': {} - '@nolyfill/array-includes@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/array.prototype.findlastindex@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/array.prototype.flat@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/array.prototype.flatmap@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - '@nolyfill/es-set-tostringtag@1.0.44': {} '@nolyfill/hasown@1.0.44': {} - '@nolyfill/is-core-module@1.0.39': {} - - '@nolyfill/object.assign@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/object.fromentries@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/object.groupby@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/object.values@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 + '@nolyfill/is-core-module@1.0.39': + optional: true '@nolyfill/safe-buffer@1.0.44': {} - '@nolyfill/safe-regex-test@1.0.44': {} - '@nolyfill/safer-buffer@1.0.44': {} - '@nolyfill/shared@1.0.44': {} - '@nolyfill/side-channel@1.0.44': {} - '@nolyfill/string.prototype.includes@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - - '@nolyfill/string.prototype.trimend@1.0.44': - dependencies: - '@nolyfill/shared': 1.0.44 - '@notionhq/client@5.11.0': {} '@one-ini/wasm@0.1.1': {} @@ -7298,6 +7097,83 @@ snapshots: '@oxfmt/binding-win32-x64-msvc@0.35.0': optional: true + '@oxlint-tsgolint/darwin-arm64@0.15.0': + optional: true + + '@oxlint-tsgolint/darwin-x64@0.15.0': + optional: true + + '@oxlint-tsgolint/linux-arm64@0.15.0': + optional: true + + '@oxlint-tsgolint/linux-x64@0.15.0': + optional: true + + '@oxlint-tsgolint/win32-arm64@0.15.0': + optional: true + + '@oxlint-tsgolint/win32-x64@0.15.0': + optional: true + + '@oxlint/binding-android-arm-eabi@1.50.0': + optional: true + + '@oxlint/binding-android-arm64@1.50.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.50.0': + optional: true + + '@oxlint/binding-darwin-x64@1.50.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.50.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.50.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.50.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.50.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.50.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.50.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.50.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.50.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.50.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.50.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.50.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.50.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.50.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.50.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.50.0': + optional: true + + '@oxlint/plugins@1.50.0': {} + '@paralleldrive/cuid2@2.3.1': dependencies: '@noble/hashes': 1.8.0 @@ -7307,7 +7183,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.2.9': {} + '@pkgr/core@0.2.9': + optional: true '@poppinss/colors@4.1.6': dependencies: @@ -7560,8 +7437,6 @@ snapshots: '@rss3/api-core': 0.0.25 '@rss3/api-utils': 0.0.25 - '@rtsao/scc@1.1.0': {} - '@scalar/core@0.3.43': dependencies: '@scalar/types': 0.6.8 @@ -7753,8 +7628,6 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/jsonfile@6.1.4': dependencies: '@types/node': 25.3.2 @@ -7858,22 +7731,6 @@ snapshots: '@types/node': 25.3.2 optional: true - '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.56.0 - eslint: 10.0.2(jiti@2.6.1) - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -7890,18 +7747,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.56.0 - debug: 4.4.3 - eslint: 10.0.2(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.1 @@ -7914,15 +7759,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) - '@typescript-eslint/types': 8.56.1 - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) @@ -7932,36 +7768,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.56.0': - dependencies: - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 - '@typescript-eslint/scope-manager@8.56.1': dependencies: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': - dependencies: - typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.3 - eslint: 10.0.2(jiti@2.6.1) - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.56.1 @@ -7974,25 +7789,8 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.56.0': {} - '@typescript-eslint/types@8.56.1': {} - '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 - debug: 4.4.3 - minimatch: 9.0.8 - semver: 7.7.4 - tinyglobby: 0.2.15 - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) @@ -8008,17 +7806,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - eslint: 10.0.2(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) @@ -8030,11 +7817,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.56.0': - dependencies: - '@typescript-eslint/types': 8.56.0 - eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.56.1': dependencies: '@typescript-eslint/types': 8.56.1 @@ -8232,8 +8014,6 @@ snapshots: argparse@2.0.1: {} - aria-query@5.3.2: {} - asap@2.0.6: {} asn1@0.2.6: @@ -8250,8 +8030,6 @@ snapshots: estree-walker: 3.0.3 pathe: 2.0.3 - ast-types-flow@0.0.8: {} - ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -8278,10 +8056,6 @@ snapshots: aws4@1.13.2: {} - axe-core@4.11.1: {} - - axobject-query@4.1.0: {} - b4a@1.8.0: {} bail@2.0.2: {} @@ -8657,8 +8431,6 @@ snapshots: es5-ext: 0.10.64 type: 2.7.3 - damerau-levenshtein@1.0.8: {} - dashdash@1.14.1: dependencies: assert-plus: 1.0.0 @@ -8754,10 +8526,6 @@ snapshots: discord-api-types@0.38.40: {} - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -8947,10 +8715,6 @@ snapshots: eslint: 10.0.2(jiti@2.6.1) semver: 7.7.4 - eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)): - dependencies: - eslint: 10.0.2(jiti@2.6.1) - eslint-filtered-fix@0.3.0(eslint@10.0.2(jiti@2.6.1)): dependencies: eslint: 10.0.2(jiti@2.6.1) @@ -8970,16 +8734,7 @@ snapshots: resolve: 1.22.11 transitivePeerDependencies: - supports-color - - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.2(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color + optional: true eslint-nibble@9.1.1(@types/node@25.3.2)(eslint@10.0.2(jiti@2.6.1)): dependencies: @@ -9002,61 +8757,6 @@ snapshots: eslint: 10.0.2(jiti@2.6.1) eslint-compat-utils: 0.5.1(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-escompat@3.11.4(eslint@10.0.2(jiti@2.6.1)): - dependencies: - browserslist: 4.28.1 - eslint: 10.0.2(jiti@2.6.1) - - eslint-plugin-eslint-comments@3.2.0(eslint@10.0.2(jiti@2.6.1)): - dependencies: - escape-string-regexp: 1.0.5 - eslint: 10.0.2(jiti@2.6.1) - ignore: 5.3.2 - - eslint-plugin-filenames@1.3.2(eslint@10.0.2(jiti@2.6.1)): - dependencies: - eslint: 10.0.2(jiti@2.6.1) - lodash.camelcase: 4.3.0 - lodash.kebabcase: 4.1.1 - lodash.snakecase: 4.1.1 - lodash.upperfirst: 4.3.1 - - eslint-plugin-github@6.0.0(@types/eslint@9.6.1)(eslint@10.0.2(jiti@2.6.1)): - dependencies: - '@eslint/compat': 1.4.1(eslint@10.0.2(jiti@2.6.1)) - '@eslint/eslintrc': 3.3.4 - '@eslint/js': 9.39.3 - '@github/browserslist-config': 1.0.0 - '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - aria-query: 5.3.2 - eslint: 10.0.2(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-escompat: 3.11.4(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-eslint-comments: 3.2.0(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-filenames: 1.3.2(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-i18n-text: 1.0.1(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1) - eslint-rule-documentation: 1.0.23 - globals: 16.5.0 - jsx-ast-utils: 3.3.5 - prettier: 3.8.1 - svg-element-attributes: 1.3.1 - typescript: 5.9.3 - typescript-eslint: 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - '@types/eslint' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-i18n-text@1.0.1(eslint@10.0.2(jiti@2.6.1)): - dependencies: - eslint: 10.0.2(jiti@2.6.1) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.56.1 @@ -9075,54 +8775,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: '@nolyfill/array-includes@1.0.44' - array.prototype.findlastindex: '@nolyfill/array.prototype.findlastindex@1.0.44' - array.prototype.flat: '@nolyfill/array.prototype.flat@1.0.44' - array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 10.0.2(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1)) - hasown: '@nolyfill/hasown@1.0.44' - is-core-module: '@nolyfill/is-core-module@1.0.39' - is-glob: 4.0.3 - minimatch: 3.1.5 - object.fromentries: '@nolyfill/object.fromentries@1.0.44' - object.groupby: '@nolyfill/object.groupby@1.0.44' - object.values: '@nolyfill/object.values@1.0.44' - semver: 6.3.1 - string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44' - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-jsx-a11y@6.10.2(eslint@10.0.2(jiti@2.6.1)): - dependencies: - aria-query: 5.3.2 - array-includes: '@nolyfill/array-includes@1.0.44' - array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44' - ast-types-flow: 0.0.8 - axe-core: 4.11.1 - axobject-query: 4.1.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 10.0.2(jiti@2.6.1) - hasown: '@nolyfill/hasown@1.0.44' - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.5 - object.fromentries: '@nolyfill/object.fromentries@1.0.44' - safe-regex-test: '@nolyfill/safe-regex-test@1.0.44' - string.prototype.includes: '@nolyfill/string.prototype.includes@1.0.44' - eslint-plugin-n@17.24.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2(jiti@2.6.1)) @@ -9138,18 +8790,6 @@ snapshots: transitivePeerDependencies: - typescript - eslint-plugin-no-only-tests@3.3.0: {} - - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.2(jiti@2.6.1)))(eslint@10.0.2(jiti@2.6.1))(prettier@3.8.1): - dependencies: - eslint: 10.0.2(jiti@2.6.1) - prettier: 3.8.1 - prettier-linter-helpers: 1.0.1 - synckit: 0.11.12 - optionalDependencies: - '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.0.2(jiti@2.6.1)) - eslint-plugin-simple-import-sort@12.1.1(eslint@10.0.2(jiti@2.6.1)): dependencies: eslint: 10.0.2(jiti@2.6.1) @@ -9188,8 +8828,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-rule-documentation@1.0.23: {} - eslint-scope@9.1.1: dependencies: '@types/esrecurse': 4.3.1 @@ -9339,8 +8977,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-diff@1.3.0: {} - fast-fifo@1.3.2: {} fast-json-stable-stringify@2.1.0: {} @@ -9508,7 +9144,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.8 + minimatch: 9.0.9 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 @@ -9966,10 +9602,6 @@ snapshots: json-stringify-safe@5.0.1: {} - json5@1.0.2: - dependencies: - minimist: 1.2.8 - jsonfile@6.2.0: dependencies: universalify: 2.0.1 @@ -9998,13 +9630,6 @@ snapshots: jsrsasign@11.1.1: {} - jsx-ast-utils@3.3.5: - dependencies: - array-includes: '@nolyfill/array-includes@1.0.44' - array.prototype.flat: '@nolyfill/array.prototype.flat@1.0.44' - object.assign: '@nolyfill/object.assign@1.0.44' - object.values: '@nolyfill/object.values@1.0.44' - jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -10028,12 +9653,6 @@ snapshots: kuler@2.0.0: {} - language-subtag-registry@0.3.23: {} - - language-tags@1.0.9: - dependencies: - language-subtag-registry: 0.3.23 - leac@0.6.0: {} levn@0.4.1: @@ -10088,20 +9707,12 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.camelcase@4.3.0: {} - lodash.defaults@4.2.0: {} lodash.isarguments@3.1.0: {} lodash.isequal@4.5.0: {} - lodash.kebabcase@4.1.1: {} - - lodash.snakecase@4.1.1: {} - - lodash.upperfirst@4.3.1: {} - lodash@4.17.23: {} log-update@6.1.0: @@ -10405,11 +10016,9 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.8: + minimatch@9.0.9: dependencies: - brace-expansion: 5.0.3 - - minimist@1.2.8: {} + brace-expansion: 2.0.2 minipass@7.1.3: {} @@ -10641,6 +10250,38 @@ snapshots: '@oxfmt/binding-win32-ia32-msvc': 0.35.0 '@oxfmt/binding-win32-x64-msvc': 0.35.0 + oxlint-tsgolint@0.15.0: + optionalDependencies: + '@oxlint-tsgolint/darwin-arm64': 0.15.0 + '@oxlint-tsgolint/darwin-x64': 0.15.0 + '@oxlint-tsgolint/linux-arm64': 0.15.0 + '@oxlint-tsgolint/linux-x64': 0.15.0 + '@oxlint-tsgolint/win32-arm64': 0.15.0 + '@oxlint-tsgolint/win32-x64': 0.15.0 + + oxlint@1.50.0(oxlint-tsgolint@0.15.0): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.50.0 + '@oxlint/binding-android-arm64': 1.50.0 + '@oxlint/binding-darwin-arm64': 1.50.0 + '@oxlint/binding-darwin-x64': 1.50.0 + '@oxlint/binding-freebsd-x64': 1.50.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.50.0 + '@oxlint/binding-linux-arm-musleabihf': 1.50.0 + '@oxlint/binding-linux-arm64-gnu': 1.50.0 + '@oxlint/binding-linux-arm64-musl': 1.50.0 + '@oxlint/binding-linux-ppc64-gnu': 1.50.0 + '@oxlint/binding-linux-riscv64-gnu': 1.50.0 + '@oxlint/binding-linux-riscv64-musl': 1.50.0 + '@oxlint/binding-linux-s390x-gnu': 1.50.0 + '@oxlint/binding-linux-x64-gnu': 1.50.0 + '@oxlint/binding-linux-x64-musl': 1.50.0 + '@oxlint/binding-openharmony-arm64': 1.50.0 + '@oxlint/binding-win32-arm64-msvc': 1.50.0 + '@oxlint/binding-win32-ia32-msvc': 1.50.0 + '@oxlint/binding-win32-x64-msvc': 1.50.0 + oxlint-tsgolint: 0.15.0 + p-cancelable@4.0.1: {} p-limit@3.1.0: @@ -10714,7 +10355,8 @@ snapshots: path-key@4.0.0: {} - path-parse@1.0.7: {} + path-parse@1.0.7: + optional: true path-scurry@1.11.1: dependencies: @@ -10821,12 +10463,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier-linter-helpers@1.0.1: - dependencies: - fast-diff: 1.3.0 - - prettier@3.8.1: {} - process-warning@5.0.0: {} progress@2.0.3: {} @@ -11104,6 +10740,7 @@ snapshots: is-core-module: '@nolyfill/is-core-module@1.0.39' path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + optional: true responselike@4.0.2: dependencies: @@ -11221,8 +10858,6 @@ snapshots: dependencies: parseley: 0.12.1 - semver@6.3.1: {} - semver@7.7.4: {} sharp@0.34.5: @@ -11397,8 +11032,6 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} strip-indent@4.1.1: {} @@ -11435,15 +11068,15 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} - - svg-element-attributes@1.3.1: {} + supports-preserve-symlinks-flag@1.0.0: + optional: true symbol-tree@3.2.4: {} synckit@0.11.12: dependencies: '@pkgr/core': 0.2.9 + optional: true system-architecture@0.1.0: {} @@ -11625,13 +11258,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - tsdown@0.20.3(synckit@0.11.12)(typescript@5.9.3): dependencies: ansis: 4.2.0 @@ -11704,17 +11330,6 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.0(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.2(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - typescript@5.9.3: {} uc.micro@2.1.0: {} diff --git a/scripts/workflow/build-docs.ts b/scripts/workflow/build-docs.ts index f9b08c063dd40a..69fc1d2aaa01c3 100644 --- a/scripts/workflow/build-docs.ts +++ b/scripts/workflow/build-docs.ts @@ -18,7 +18,7 @@ const foloAnalysis = await ( ).json(); const foloAnalysisResult = foloAnalysis.data as Record; const foloAnalysisTop100 = Object.entries(foloAnalysisResult) - .sort((a, b) => b[1].subscriptionCount - a[1].subscriptionCount) + .toSorted((a, b) => b[1].subscriptionCount - a[1].subscriptionCount) .slice(0, 150); const __dirname = getCurrentPath(import.meta.url); From e935df5bc62cc49f699d2293c3e8c5b95a56ad47 Mon Sep 17 00:00:00 2001 From: heisenshark <46131664+heisenshark@users.noreply.github.com> Date: Sat, 28 Feb 2026 17:20:52 +0100 Subject: [PATCH 118/259] feat(route): add 4chan (#21249) * feat: added 4chan route * feat: renamed board to catalog * refactor(route/4chan): added util.ts for handling catalog processing * feat(route/4chan): added break after the reply count * refactor(route/4chan):functions to arrow functions * feat(route/4chan): utc pubdate, route params to parameters * fix(route/4chan): removed explicit category set, changed radar rules * fix(route/4chan): changed pubdate handling to timezone>parseDate * fix(route/4chan): added spoilers back, changed links to absolute URLs, changed html stripping in title, removed force timezone setting, removed referrerpolicy from img * fix(route/4chan): fix https typo * fix(route/4chan): radar route namespace prefix * Apply suggestions from code review --- lib/routes/4chan/catalog.tsx | 51 ++++++++++++++ lib/routes/4chan/namespace.ts | 9 +++ lib/routes/4chan/utils.tsx | 124 ++++++++++++++++++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 lib/routes/4chan/catalog.tsx create mode 100644 lib/routes/4chan/namespace.ts create mode 100644 lib/routes/4chan/utils.tsx diff --git a/lib/routes/4chan/catalog.tsx b/lib/routes/4chan/catalog.tsx new file mode 100644 index 00000000000000..ba04087e76feec --- /dev/null +++ b/lib/routes/4chan/catalog.tsx @@ -0,0 +1,51 @@ +import type { Context } from 'hono'; + +import type { Route } from '@/types'; +import got from '@/utils/got'; + +import type { CatalogApiReturn } from './utils'; +import { parseParams, processCatalog } from './utils'; + +const handler = async (ctx: Context) => { + const { board } = ctx.req.param(); + const viewOptions = parseParams(ctx.req.param('routeParams')); + const { data }: { data: CatalogApiReturn } = await got(`https://a.4cdn.org/${board}/catalog.json`); + + return { + title: `4chan's /${board}/`, + link: `https://boards.4chan.org/${board}/catalog`, + item: processCatalog({ data, board, viewOptions }), + }; +}; + +export const route: Route = { + path: '/:board/catalog/:routeParams?', + categories: ['bbs'], + example: '/4chan/g/catalog', + parameters: { + board: '4chan board', + routeParams: 'extra parameters, see the table above', + }, + features: { + requirePuppeteer: false, + antiCrawler: false, + supportBT: false, + supportPodcast: false, + supportScihub: false, + }, + name: "Board's catalog", + maintainers: ['heisenshark'], + radar: [ + { + source: ['boards.4chan.org/:board/'], + target: '/:board/catalog', + }, + ], + description: `Specify options (in the format of query string) in parameter \`routeParams\` to control some extra features for Tweets +| Key | Description | Accepts | Defaults to | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ----------------------------------------- | +| \`showReplyCount\` | Show number of replies of each thread in catalog | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` | +| \`showLastReplies\` | Show last 5 replies of each thread | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` | +| \`revealSpoilers\` | Don't wrap images tagged as spoilers | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` |`, + handler, +}; diff --git a/lib/routes/4chan/namespace.ts b/lib/routes/4chan/namespace.ts new file mode 100644 index 00000000000000..1c7e8172eddd6b --- /dev/null +++ b/lib/routes/4chan/namespace.ts @@ -0,0 +1,9 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: '4chan', + url: '4chan.org', + categories: ['bbs'], + lang: 'en', + description: '', +}; diff --git a/lib/routes/4chan/utils.tsx b/lib/routes/4chan/utils.tsx new file mode 100644 index 00000000000000..bc5b3631df82d5 --- /dev/null +++ b/lib/routes/4chan/utils.tsx @@ -0,0 +1,124 @@ +import { raw } from 'hono/html'; +import { renderToString } from 'hono/jsx/dom/server'; +import sanitizeHtml from 'sanitize-html'; + +import { parseDate } from '@/utils/parse-date'; +import { queryToBoolean } from '@/utils/readable-social'; + +const parseParams = (routeParams: string) => { + const parsed = new URLSearchParams(routeParams); + const viewOptions = { + includeLastReplies: !!queryToBoolean(parsed.get('showLastReplies')), + includeReplyCount: !!queryToBoolean(parsed.get('showReplyCount')), + revealSpoilers: !!queryToBoolean(parsed.get('revealSpoilers')), + }; + return viewOptions; +}; + +const processCatalog = ({ data, board, viewOptions }: { data: CatalogApiReturn; board: string; viewOptions: ViewOptions }) => { + const transformedData = data.flatMap((page) => page.threads); + return transformedData.map((thread) => ({ + author: `${thread.name} ${thread.trip ?? thread.no}`, + description: renderToString(renderPost({ post: thread, board, viewOptions })), + link: `https://boards.4chan.org/${board}/thread/${thread.no}`, + pubDate: parseDate(thread.time * 1000), + title: thread.sub ?? sanitizeHtml(thread.com?.split('
    ')[0] ?? '', { allowedTags: [] }), + })); +}; + +const renderPost = ({ post, board, viewOptions }: { post: ChanPost; board: string; viewOptions: ViewOptions }) => { + let media = <>; + switch (post.ext) { + case '.jpg': + case '.png': + case '.gif': + media = ; + break; + case '.pdf': + media = ; + break; + case '.swf': + media = ; + break; + case '.webm': + media = ; + break; + default: + break; + } + if (post.spoiler) { + media = ( +
    + Spoiler + {media} +
    + ); + } + media = ( + <> +
    {media}
    + + ); + const renderedPost = ( + <> + {post.last_replies && viewOptions.includeReplyCount && ( + <> + {post.replies} 💬 +
    + + )} + {raw(post.com ?? '')} + {media} + {viewOptions.includeLastReplies && post.last_replies?.map((n) =>
    {renderPost({ post: n, board, viewOptions })}
    )} + + ); + return renderedPost; +}; + +type CatalogApiReturn = Array<{ page: number; threads: ChanPost[] }>; +type ViewOptions = ReturnType; + +interface ChanPost { + no: number; + resto: number; + sticky?: number; + closed?: number; + now: string; + time: number; + name: string; + trip?: string; + id?: string; + capcode?: string; + country?: string; + country_name?: string; + sub?: string; + com?: string; + tim?: number; + filename: string; + ext: '.jpg' | '.png' | '.gif' | '.pdf' | '.swf' | '.webm'; + fsize: number; + md5: string; + w?: number; + h?: number; + tn_w?: number; + tn_h?: number; + filedeleted?: 1; + spoiler?: 1; + custom_spoiler?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + omitted_posts?: number; + omitted_images?: number; + replies?: number; + images?: number; + bumplimit?: 1; + imagelimit?: 1; + last_modified?: number; + tag?: string; + semantic_url?: string; + since4pass?: number; + unique_ips?: number; + m_img?: 1; + last_replies?: ChanPost[]; +} + +export type { CatalogApiReturn, ChanPost, ViewOptions }; +export { parseParams, processCatalog, renderPost }; From 7465febbdf5e0f14032167f0fd3be07ab6bc0dc8 Mon Sep 17 00:00:00 2001 From: Thomas <1688389+Rakambda@users.noreply.github.com> Date: Sat, 28 Feb 2026 17:28:45 +0100 Subject: [PATCH 119/259] feat(route/youtube): Allow configuring custom embed url (#21248) --- lib/config.ts | 3 +++ lib/routes/youtube/utils.tsx | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/config.ts b/lib/config.ts index b97c7bec78ca38..3ff0d7a2374e4c 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -236,6 +236,7 @@ type ConfigEnvKeys = | 'YOUTUBE_CLIENT_ID' | 'YOUTUBE_CLIENT_SECRET' | 'YOUTUBE_REFRESH_TOKEN' + | 'YOUTUBE_VIDEO_EMBED_URL' | 'ZHIHU_COOKIES' | 'ZODGAME_COOKIE' | 'ZSXQ_ACCESS_TOKEN' @@ -675,6 +676,7 @@ export type Config = { clientId?: string; clientSecret?: string; refreshToken?: string; + videoEmbedUrl?: string; }; zhihu: { cookies?: string; @@ -1164,6 +1166,7 @@ const calculateValue = () => { clientId: envs.YOUTUBE_CLIENT_ID, clientSecret: envs.YOUTUBE_CLIENT_SECRET, refreshToken: envs.YOUTUBE_REFRESH_TOKEN, + videoEmbedUrl: envs.YOUTUBE_VIDEO_EMBED_URL || 'https://www.youtube-nocookie.com/embed/', }, zhihu: { cookies: envs.ZHIHU_COOKIES, diff --git a/lib/routes/youtube/utils.tsx b/lib/routes/youtube/utils.tsx index 6da8bcf8162a32..4cb4c3171cdc09 100644 --- a/lib/routes/youtube/utils.tsx +++ b/lib/routes/youtube/utils.tsx @@ -68,7 +68,16 @@ export const renderDescription = (embed, videoId, img, description) => renderToString( <> {embed ? ( -